@helia/routers 3.0.0 → 3.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/dist/index.min.js +11 -81
  2. package/package.json +3 -3
package/dist/index.min.js CHANGED
@@ -1,49 +1,19 @@
1
1
  (function (root, factory) {(typeof module === 'object' && module.exports) ? module.exports = factory() : root.HeliaRouters = factory()}(typeof self !== 'undefined' ? self : this, function () {
2
- "use strict";var HeliaRouters=(()=>{var vh=Object.create;var Vn=Object.defineProperty;var Eh=Object.getOwnPropertyDescriptor;var Bh=Object.getOwnPropertyNames;var Ah=Object.getPrototypeOf,Sh=Object.prototype.hasOwnProperty;var Di=(r,t)=>()=>(t||r((t={exports:{}}).exports,t),t.exports),Ct=(r,t)=>{for(var e in t)Vn(r,e,{get:t[e],enumerable:!0})},tc=(r,t,e,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of Bh(t))!Sh.call(r,o)&&o!==e&&Vn(r,o,{get:()=>t[o],enumerable:!(n=Eh(t,o))||n.enumerable});return r};var _n=(r,t,e)=>(e=r!=null?vh(Ah(r)):{},tc(t||!r||!r.__esModule?Vn(e,"default",{value:r,enumerable:!0}):e,r)),Ih=r=>tc(Vn({},"__esModule",{value:!0}),r);var iu=Di(Rr=>{"use strict";var lp="[object ArrayBuffer]",Be=class r{static isArrayBuffer(t){return Object.prototype.toString.call(t)===lp}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),o=r.toUint8Array(e);if(n.length!==o.byteLength)return!1;for(let i=0;i<n.length;i++)if(n[i]!==o[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 s of e)n+=s.byteLength;let o=new Uint8Array(n),i=0;for(let s of e){let a=this.toUint8Array(s);o.set(a,i),i+=a.length}return t[t.length-1]instanceof Function?this.toView(o,t[t.length-1]):o.buffer}},Zs="string",fp=/^[0-9a-f\s]+$/i,hp=/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/,dp=/^[a-zA-Z0-9-_]+$/,so=class{static fromString(t){let e=unescape(encodeURIComponent(t)),n=new Uint8Array(e.length);for(let o=0;o<e.length;o++)n[o]=e.charCodeAt(o);return n.buffer}static toString(t){let e=Be.toUint8Array(t),n="";for(let i=0;i<e.length;i++)n+=String.fromCharCode(e[i]);return decodeURIComponent(escape(n))}},zt=class{static toString(t,e=!1){let n=Be.toArrayBuffer(t),o=new DataView(n),i="";for(let s=0;s<n.byteLength;s+=2){let a=o.getUint16(s,e);i+=String.fromCharCode(a)}return i}static fromString(t,e=!1){let n=new ArrayBuffer(t.length*2),o=new DataView(n);for(let i=0;i<t.length;i++)o.setUint16(i*2,t.charCodeAt(i),e);return n}},ao=class r{static isHex(t){return typeof t===Zs&&fp.test(t)}static isBase64(t){return typeof t===Zs&&hp.test(t)}static isBase64Url(t){return typeof t===Zs&&dp.test(t)}static ToString(t,e="utf8"){let n=Be.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 zt.toString(n,!0);case"utf16":case"utf16be":return zt.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 zt.fromString(t,!0);case"utf16":case"utf16be":return zt.fromString(t);default:throw new Error(`Unknown type of encoding '${e}'`)}}static ToBase64(t){let e=Be.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 so.fromString(t);case"utf16":case"utf16be":return zt.fromString(t);case"utf16le":case"usc2":return zt.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 so.toString(t);case"utf16":case"utf16be":return zt.toString(t);case"utf16le":case"usc2":return zt.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 o=0;o<e;o++)n[o]=t.charCodeAt(o);return n.buffer}static ToBinary(t){let e=Be.toUint8Array(t),n="";for(let o=0;o<e.length;o++)n+=String.fromCharCode(e[o]);return n}static ToHex(t){let e=Be.toUint8Array(t),n="",o=e.length;for(let i=0;i<o;i++){let s=e[i];s<16&&(n+="0"),n+=s.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 o=0;o<e.length;o=o+2){let i=e.slice(o,o+2);n[o/2]=parseInt(i,16)}return n.buffer}static ToUtf16String(t,e=!1){return zt.toString(t,e)}static FromUtf16String(t,e=!1){return zt.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,"")||""}};ao.DEFAULT_UTF8_ENCODING="utf8";function pp(r,...t){let e=arguments[0];for(let n=1;n<arguments.length;n++){let o=arguments[n];for(let i in o)e[i]=o[i]}return e}function gp(...r){let t=r.map(o=>o.byteLength).reduce((o,i)=>o+i),e=new Uint8Array(t),n=0;return r.map(o=>new Uint8Array(o)).forEach(o=>{for(let i of o)e[n++]=i}),e.buffer}function mp(r,t){if(!(r&&t)||r.byteLength!==t.byteLength)return!1;let e=new Uint8Array(r),n=new Uint8Array(t);for(let o=0;o<r.byteLength;o++)if(e[o]!==n[o])return!1;return!0}Rr.BufferSourceConverter=Be;Rr.Convert=ao;Rr.assign=pp;Rr.combine=gp;Rr.isEqual=mp});var Aa=Di((x2,Ba)=>{var w2=function(){typeof Ba<"u"&&(Ba.exports=w);var r=86400,t=3200,e=146097*t/400,n=r*e,o=1e3*n,i=864e13,s=4294967296,a=1e6,c="000000000",f=Math.trunc||function(b){var v=b-b%1;return v==0&&(b<0||b===0&&1/b!=1/0)?-0:v},u=w.prototype,l=(w.fromDate=function(b){return new w(+b)},w.fromInt64BE=U(0,1,2,3,0,4),w.fromInt64LE=U(3,2,1,0,4,0),w.fromString=function(L){var v,D=new w,L=(L+="").replace(/^\s*[+\-]?\d+/,function($){var $=+$,S=1970+($-1970)%400;return D.year=$-S,S}).replace(/(?:Z|([+\-]\d{2}):?(\d{2}))$/,function(C,$,S){return $<0&&(S*=-1),v=6e4*(60*+$+ +S),""}).replace(/\.\d+$/,function(C){return D.nano=+(C+c).substr(1,9),""}).split(/\D+/);if(1<L.length?L[1]--:L[1]=0,D.time=v=Date.UTC.apply(Date,L)-(v||0),isNaN(v))throw new TypeError("Invalid Date");return d(D)},w.fromTimeT=function(b){return T(b,0)},u.year=0,u.time=0,u.nano=0,u.addNano=function(b){return this.nano+=+b||0,this},u.getNano=function(){var b=d(this);return(b.time%1e3*a+ +b.nano+1e9)%1e9},u.getTimeT=function(){var v=d(this),b=Math.floor(v.time/1e3),v=v.year;return v&&(b+=v*e*r/t),b},u.getYear=function(){return this.toDate().getUTCFullYear()+this.year},u.toDate=function(){return A(d(this).time)},u.toJSON=function(){return this.toString().replace(/0{1,6}Z$/,"Z")},u.toString=function(b){var v=this,D=v.toDate(),L={H:function(){return P(D.getUTCHours())},L:function(){return R(D.getUTCMilliseconds(),3)},M:function(){return P(D.getUTCMinutes())},N:function(){return R(v.getNano(),9)},S:function(){return P(D.getUTCSeconds())},Y:function(){var C=v.getYear();return 999999<C?"+"+C:9999<C?"+"+R(C,6):0<=C?R(C,4):-999999<=C?"-"+R(-C,6):C},a:function(){return m[D.getUTCDay()]},b:function(){return h[D.getUTCMonth()]},d:function(){return P(D.getUTCDate())},e:function(){return function(C){return(9<C?"":" ")+(0|C)}(D.getUTCDate())},m:function(){return P(D.getUTCMonth()+1)}};return function C($){return $.replace(/%./g,function(S){var g=S[1],I=B[g],g=L[g];return I?C(I):g?g():S})}(b||l)},u.writeInt64BE=x(0,1,2,3,0,4),u.writeInt64LE=x(3,2,1,0,4,0),"%Y-%m-%dT%H:%M:%S.%NZ"),h=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],m=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],B={"%":"%",F:"%Y-%m-%d",n:`
3
- `,R:"%H:%M",T:"%H:%M:%S",t:" ",X:"%T",Z:"GMT",z:"+0000"};return w;function w(b,v,D){var L=this;if(!(L instanceof w))return new w(b,v,D);L.time=+b||0,L.nano=+v||0,L.year=+D||0,d(L)}function d(b){var v,D,L,C=b.year,$=b.time,S=b.nano,I=((S<0||a<=S)&&(S-=(D=Math.floor(S/a))*a,$+=D,D=1),C%t);return($<-i||i<$||I)&&((v=f($/o))&&(C+=v*t,$-=v*o),(L=A($)).setUTCFullYear(I+L.getUTCFullYear()),L=($=+L)+(v=f((C-=I)/t))*o,v&&-i<=L&&L<=i&&(C-=v*t,$=L),D=1),D&&(b.year=C,b.time=$,b.nano=S),b}function A(b){var v=new Date(0);return v.setTime(b),v}function T(C,L){C=+C||0;var D=f((L=(L|0)*s)/n)+f(C/n),L=L%n+C%n,C=f(L/n);return C&&(D+=C,L-=C*n),new w(1e3*L,0,D*t)}function x(b,v,D,L,C,$){return function(I,g){var E=d(this);I=I||new Array(8),F(I,g|=0);var N=Math.floor(E.time/1e3),E=E.year*(e*r/t),p=f(E/s)+f(N/s),E=E%s+N%s,N=Math.floor(E/s);return N&&(p+=N,E-=N*s),S(I,g+C,p),S(I,g+$,E),I};function S(I,g,p){I[g+b]=p>>24&255,I[g+v]=p>>16&255,I[g+D]=p>>8&255,I[g+L]=255&p}}function U(b,v,D,L,C,$){return function(I,g){F(I,g|=0);var p=S(I,g+C);return T(S(I,g+$),p)};function S(I,g){return 16777216*I[g+b]+(I[g+v]<<16|I[g+D]<<8|I[g+L])}}function F(b,v){if(b=b&&b.length,b==null)throw new TypeError("Invalid Buffer");if(b<v+8)throw new RangeError("Out of range")}function P(b){return(9<b?"":"0")+(0|b)}function R(b,v){return(c+(0|b)).substr(-v)}}()});var Zf=Di((pE,Ra)=>{"use strict";var Kg=Object.prototype.hasOwnProperty,Ut="~";function Nn(){}Object.create&&(Nn.prototype=Object.create(null),new Nn().__proto__||(Ut=!1));function qg(r,t,e){this.fn=r,this.context=t,this.once=e||!1}function Gf(r,t,e,n,o){if(typeof e!="function")throw new TypeError("The listener must be a function");var i=new qg(e,n||r,o),s=Ut?Ut+t:t;return r._events[s]?r._events[s].fn?r._events[s]=[r._events[s],i]:r._events[s].push(i):(r._events[s]=i,r._eventsCount++),r}function Ti(r,t){--r._eventsCount===0?r._events=new Nn:delete r._events[t]}function kt(){this._events=new Nn,this._eventsCount=0}kt.prototype.eventNames=function(){var t=[],e,n;if(this._eventsCount===0)return t;for(n in e=this._events)Kg.call(e,n)&&t.push(Ut?n.slice(1):n);return Object.getOwnPropertySymbols?t.concat(Object.getOwnPropertySymbols(e)):t};kt.prototype.listeners=function(t){var e=Ut?Ut+t:t,n=this._events[e];if(!n)return[];if(n.fn)return[n.fn];for(var o=0,i=n.length,s=new Array(i);o<i;o++)s[o]=n[o].fn;return s};kt.prototype.listenerCount=function(t){var e=Ut?Ut+t:t,n=this._events[e];return n?n.fn?1:n.length:0};kt.prototype.emit=function(t,e,n,o,i,s){var a=Ut?Ut+t:t;if(!this._events[a])return!1;var c=this._events[a],f=arguments.length,u,l;if(c.fn){switch(c.once&&this.removeListener(t,c.fn,void 0,!0),f){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,o),!0;case 5:return c.fn.call(c.context,e,n,o,i),!0;case 6:return c.fn.call(c.context,e,n,o,i,s),!0}for(l=1,u=new Array(f-1);l<f;l++)u[l-1]=arguments[l];c.fn.apply(c.context,u)}else{var h=c.length,m;for(l=0;l<h;l++)switch(c[l].once&&this.removeListener(t,c[l].fn,void 0,!0),f){case 1:c[l].fn.call(c[l].context);break;case 2:c[l].fn.call(c[l].context,e);break;case 3:c[l].fn.call(c[l].context,e,n);break;case 4:c[l].fn.call(c[l].context,e,n,o);break;default:if(!u)for(m=1,u=new Array(f-1);m<f;m++)u[m-1]=arguments[m];c[l].fn.apply(c[l].context,u)}}return!0};kt.prototype.on=function(t,e,n){return Gf(this,t,e,n,!1)};kt.prototype.once=function(t,e,n){return Gf(this,t,e,n,!0)};kt.prototype.removeListener=function(t,e,n,o){var i=Ut?Ut+t:t;if(!this._events[i])return this;if(!e)return Ti(this,i),this;var s=this._events[i];if(s.fn)s.fn===e&&(!o||s.once)&&(!n||s.context===n)&&Ti(this,i);else{for(var a=0,c=[],f=s.length;a<f;a++)(s[a].fn!==e||o&&!s[a].once||n&&s[a].context!==n)&&c.push(s[a]);c.length?this._events[i]=c.length===1?c[0]:c:Ti(this,i)}return this};kt.prototype.removeAllListeners=function(t){var e;return t?(e=Ut?Ut+t:t,this._events[e]&&Ti(this,e)):(this._events=new Nn,this._eventsCount=0),this};kt.prototype.off=kt.prototype.removeListener;kt.prototype.addListener=kt.prototype.on;kt.prefixed=Ut;kt.EventEmitter=kt;typeof Ra<"u"&&(Ra.exports=kt)});var fm={};Ct(fm,{delegatedHTTPRouting:()=>nh,delegatedHTTPRoutingDefaults:()=>_i,httpGatewayRouting:()=>fh,libp2pRouting:()=>hh});var ec=Symbol.for("@libp2p/content-routing");var Oi=Symbol.for("@libp2p/peer-id");var rc=Symbol.for("@libp2p/peer-routing");var Et=class extends Error{static name="InvalidParametersError";constructor(t="Invalid parameters"){super(t),this.name="InvalidParametersError"}},hr=class extends Error{static name="InvalidPublicKeyError";constructor(t="Invalid public key"){super(t),this.name="InvalidPublicKeyError"}};var Lt=class extends Error{static name="NotFoundError";constructor(t="Not found"){super(t),this.name="NotFoundError"}};var Pn=class extends Error{static name="InvalidCIDError";constructor(t="Invalid CID"){super(t),this.name="InvalidCIDError"}},dr=class extends Error{static name="InvalidMultihashError";constructor(t="Invalid Multihash"){super(t),this.name="InvalidMultihashError"}};var pr=class extends Error{static name="UnsupportedKeyTypeError";constructor(t="Unsupported key type"){super(t),this.name="UnsupportedKeyTypeError"}};var gr=(r,...t)=>{try{[...t]}catch{}};var qi={};Ct(qi,{base32:()=>Zt,base32hex:()=>_h,base32hexpad:()=>Fh,base32hexpadupper:()=>Dh,base32hexupper:()=>Ph,base32pad:()=>Lh,base32padupper:()=>Vh,base32upper:()=>Rh,base32z:()=>Oh});var wm=new Uint8Array(0);function nc(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 me(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 oc(r){return new TextEncoder().encode(r)}function ic(r){return new TextDecoder().decode(r)}function kh(r,t){if(r.length>=255)throw new TypeError("Alphabet too long");for(var e=new Uint8Array(256),n=0;n<e.length;n++)e[n]=255;for(var o=0;o<r.length;o++){var i=r.charAt(o),s=i.charCodeAt(0);if(e[s]!==255)throw new TypeError(i+" is ambiguous");e[s]=o}var a=r.length,c=r.charAt(0),f=Math.log(a)/Math.log(256),u=Math.log(256)/Math.log(a);function l(B){if(B instanceof Uint8Array||(ArrayBuffer.isView(B)?B=new Uint8Array(B.buffer,B.byteOffset,B.byteLength):Array.isArray(B)&&(B=Uint8Array.from(B))),!(B instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(B.length===0)return"";for(var w=0,d=0,A=0,T=B.length;A!==T&&B[A]===0;)A++,w++;for(var x=(T-A)*u+1>>>0,U=new Uint8Array(x);A!==T;){for(var F=B[A],P=0,R=x-1;(F!==0||P<d)&&R!==-1;R--,P++)F+=256*U[R]>>>0,U[R]=F%a>>>0,F=F/a>>>0;if(F!==0)throw new Error("Non-zero carry");d=P,A++}for(var b=x-d;b!==x&&U[b]===0;)b++;for(var v=c.repeat(w);b<x;++b)v+=r.charAt(U[b]);return v}function h(B){if(typeof B!="string")throw new TypeError("Expected String");if(B.length===0)return new Uint8Array;var w=0;if(B[w]!==" "){for(var d=0,A=0;B[w]===c;)d++,w++;for(var T=(B.length-w)*f+1>>>0,x=new Uint8Array(T);B[w];){var U=e[B.charCodeAt(w)];if(U===255)return;for(var F=0,P=T-1;(U!==0||F<A)&&P!==-1;P--,F++)U+=a*x[P]>>>0,x[P]=U%256>>>0,U=U/256>>>0;if(U!==0)throw new Error("Non-zero carry");A=F,w++}if(B[w]!==" "){for(var R=T-A;R!==T&&x[R]===0;)R++;for(var b=new Uint8Array(d+(T-R)),v=d;R!==T;)b[v++]=x[R++];return b}}}function m(B){var w=h(B);if(w)return w;throw new Error(`Non-${t} character`)}return{encode:l,decodeUnsafe:h,decode:m}}var Th=kh,Ch=Th,ac=Ch;var Mi=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")}},Hi=class{name;prefix;baseDecode;prefixCodePoint;constructor(t,e,n){this.name=t,this.prefix=e;let o=e.codePointAt(0);if(o===void 0)throw new Error("Invalid prefix character");this.prefixCodePoint=o,this.baseDecode=n}decode(t){if(typeof t=="string"){if(t.codePointAt(0)!==this.prefixCodePoint)throw Error(`Unable to decode multibase string ${JSON.stringify(t)}, ${this.name} decoder only supports inputs prefixed with ${this.prefix}`);return this.baseDecode(t.slice(this.prefix.length))}else throw Error("Can only multibase decode strings")}or(t){return cc(this,t)}},$i=class{decoders;constructor(t){this.decoders=t}or(t){return cc(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 cc(r,t){return new $i({...r.decoders??{[r.prefix]:r},...t.decoders??{[t.prefix]:t}})}var Ki=class{name;prefix;baseEncode;baseDecode;encoder;decoder;constructor(t,e,n,o){this.name=t,this.prefix=e,this.baseEncode=n,this.baseDecode=o,this.encoder=new Mi(t,e,n),this.decoder=new Hi(t,e,o)}encode(t){return this.encoder.encode(t)}decode(t){return this.decoder.decode(t)}};function mr({name:r,prefix:t,encode:e,decode:n}){return new Ki(r,t,e,n)}function Le({name:r,prefix:t,alphabet:e}){let{encode:n,decode:o}=ac(e,r);return mr({prefix:t,name:r,encode:n,decode:i=>me(o(i))})}function Nh(r,t,e,n){let o={};for(let u=0;u<t.length;++u)o[t[u]]=u;let i=r.length;for(;r[i-1]==="=";)--i;let s=new Uint8Array(i*e/8|0),a=0,c=0,f=0;for(let u=0;u<i;++u){let l=o[r[u]];if(l===void 0)throw new SyntaxError(`Non-${n} character`);c=c<<e|l,a+=e,a>=8&&(a-=8,s[f++]=255&c>>a)}if(a>=e||255&c<<8-a)throw new SyntaxError("Unexpected end of data");return s}function Uh(r,t,e){let n=t[t.length-1]==="=",o=(1<<e)-1,i="",s=0,a=0;for(let c=0;c<r.length;++c)for(a=a<<8|r[c],s+=8;s>e;)s-=e,i+=t[o&a>>s];if(s!==0&&(i+=t[o&a<<e-s]),n)for(;i.length*e&7;)i+="=";return i}function ct({name:r,prefix:t,bitsPerChar:e,alphabet:n}){return mr({prefix:t,name:r,encode(o){return Uh(o,n,e)},decode(o){return Nh(o,n,e,r)}})}var Zt=ct({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),Rh=ct({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),Lh=ct({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),Vh=ct({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),_h=ct({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),Ph=ct({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),Fh=ct({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),Dh=ct({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),Oh=ct({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var zi={};Ct(zi,{base58btc:()=>rt,base58flickr:()=>Mh});var rt=Le({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),Mh=Le({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var Gi={};Ct(Gi,{base64:()=>ji,base64pad:()=>Hh,base64url:()=>$h,base64urlpad:()=>Kh});var ji=ct({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),Hh=ct({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),$h=ct({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),Kh=ct({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});function qh(r,t){try{if(typeof r=="string"&&r.length>0)return zh(r);if(typeof r=="number"&&isFinite(r))return t?.long?Gh(r):jh(r);throw new Error("Value is not a string or number.")}catch(e){let n=Zh(e)?`${e.message}. value=${JSON.stringify(r)}`:"An unknown error has occured.";throw new Error(n)}}function zh(r){if(r=String(r),r.length>100)throw new Error("Value exceeds the maximum length of 100 characters.");let t=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(r);if(!t)return NaN;let e=parseFloat(t[1]),n=(t[2]||"ms").toLowerCase();switch(n){case"years":case"year":case"yrs":case"yr":case"y":return e*315576e5;case"weeks":case"week":case"w":return e*6048e5;case"days":case"day":case"d":return e*864e5;case"hours":case"hour":case"hrs":case"hr":case"h":return e*36e5;case"minutes":case"minute":case"mins":case"min":case"m":return e*6e4;case"seconds":case"second":case"secs":case"sec":case"s":return e*1e3;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return e;default:throw new Error(`The unit ${n} was matched, but no matching case exists.`)}}var Dn=qh;function jh(r){let t=Math.abs(r);return t>=864e5?`${Math.round(r/864e5)}d`:t>=36e5?`${Math.round(r/36e5)}h`:t>=6e4?`${Math.round(r/6e4)}m`:t>=1e3?`${Math.round(r/1e3)}s`:`${r}ms`}function Gh(r){let t=Math.abs(r);return t>=864e5?Fn(r,t,864e5,"day"):t>=36e5?Fn(r,t,36e5,"hour"):t>=6e4?Fn(r,t,6e4,"minute"):t>=1e3?Fn(r,t,1e3,"second"):`${r} ms`}function Fn(r,t,e,n){let o=t>=e*1.5;return`${Math.round(r/e)} ${n}${o?"s":""}`}function Zh(r){return typeof r=="object"&&r!==null&&"message"in r}function Zi(r){e.debug=e,e.default=e,e.coerce=c,e.disable=i,e.enable=o,e.enabled=s,e.humanize=Dn,e.destroy=f,Object.keys(r).forEach(u=>{e[u]=r[u]}),e.names=[],e.skips=[],e.formatters={};function t(u){let l=0;for(let h=0;h<u.length;h++)l=(l<<5)-l+u.charCodeAt(h),l|=0;return e.colors[Math.abs(l)%e.colors.length]}e.selectColor=t;function e(u){let l,h=null,m,B;function w(...d){if(!w.enabled)return;let A=w,T=Number(new Date),x=T-(l||T);A.diff=x,A.prev=l,A.curr=T,l=T,d[0]=e.coerce(d[0]),typeof d[0]!="string"&&d.unshift("%O");let U=0;d[0]=d[0].replace(/%([a-zA-Z%])/g,(P,R)=>{if(P==="%%")return"%";U++;let b=e.formatters[R];if(typeof b=="function"){let v=d[U];P=b.call(A,v),d.splice(U,1),U--}return P}),e.formatArgs.call(A,d),(A.log||e.log).apply(A,d)}return w.namespace=u,w.useColors=e.useColors(),w.color=e.selectColor(u),w.extend=n,w.destroy=e.destroy,Object.defineProperty(w,"enabled",{enumerable:!0,configurable:!1,get:()=>h!==null?h:(m!==e.namespaces&&(m=e.namespaces,B=e.enabled(u)),B),set:d=>{h=d}}),typeof e.init=="function"&&e.init(w),w}function n(u,l){let h=e(this.namespace+(typeof l>"u"?":":l)+u);return h.log=this.log,h}function o(u){e.save(u),e.namespaces=u,e.names=[],e.skips=[];let l,h=(typeof u=="string"?u:"").split(/[\s,]+/),m=h.length;for(l=0;l<m;l++)h[l]&&(u=h[l].replace(/\*/g,".*?"),u[0]==="-"?e.skips.push(new RegExp("^"+u.substr(1)+"$")):e.names.push(new RegExp("^"+u+"$")))}function i(){let u=[...e.names.map(a),...e.skips.map(a).map(l=>"-"+l)].join(",");return e.enable(""),u}function s(u){if(u[u.length-1]==="*")return!0;let l,h;for(l=0,h=e.skips.length;l<h;l++)if(e.skips[l].test(u))return!1;for(l=0,h=e.names.length;l<h;l++)if(e.names[l].test(u))return!0;return!1}function a(u){return u.toString().substring(2,u.toString().length-2).replace(/\.\*\?$/,"*")}function c(u){return u instanceof Error?u.stack??u.message:u}function f(){console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.")}return e.setupFormatters(e.formatters),e.enable(e.load()),e}var On=ed(),Wh=["#0000CC","#0000FF","#0033CC","#0033FF","#0066CC","#0066FF","#0099CC","#0099FF","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#3300CC","#3300FF","#3333CC","#3333FF","#3366CC","#3366FF","#3399CC","#3399FF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#6600CC","#6600FF","#6633CC","#6633FF","#66CC00","#66CC33","#9900CC","#9900FF","#9933CC","#9933FF","#99CC00","#99CC33","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#CC6600","#CC6633","#CC9900","#CC9933","#CCCC00","#CCCC33","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF6600","#FF6633","#FF9900","#FF9933","#FFCC00","#FFCC33"];function Yh(){return typeof window<"u"&&window.process&&(window.process.type==="renderer"||window.process.__nwjs)?!0:typeof navigator<"u"&&navigator.userAgent?.toLowerCase().match(/(edge|trident)\/(\d+)/)!=null?!1:typeof document<"u"&&document.documentElement?.style?.WebkitAppearance||typeof window<"u"&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||typeof navigator<"u"&&navigator.userAgent?.toLowerCase().match(/firefox\/(\d+)/)!=null&&parseInt(RegExp.$1,10)>=31||typeof navigator<"u"&&navigator.userAgent?.toLowerCase().match(/applewebkit\/(\d+)/)}function Jh(r){if(r[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+r[0]+(this.useColors?"%c ":" ")+"+"+Dn(this.diff),!this.useColors)return;let t="color: "+this.color;r.splice(1,0,t,"color: inherit");let e=0,n=0;r[0].replace(/%[a-zA-Z%]/g,o=>{o!=="%%"&&(e++,o==="%c"&&(n=e))}),r.splice(n,0,t)}var Xh=console.debug??console.log??(()=>{});function Qh(r){try{r?On?.setItem("debug",r):On?.removeItem("debug")}catch{}}function td(){let r;try{r=On?.getItem("debug")}catch{}return!r&&typeof globalThis.process<"u"&&"env"in globalThis.process&&(r=globalThis.process.env.DEBUG),r}function ed(){try{return localStorage}catch{}}function rd(r){r.j=function(t){try{return JSON.stringify(t)}catch(e){return"[UnexpectedJSONParseError]: "+e.message}}}var uc=Zi({formatArgs:Jh,save:Qh,load:td,useColors:Yh,setupFormatters:rd,colors:Wh,storage:On,log:Xh});var Vt=uc;Vt.formatters.b=r=>r==null?"undefined":rt.baseEncode(r);Vt.formatters.t=r=>r==null?"undefined":Zt.baseEncode(r);Vt.formatters.m=r=>r==null?"undefined":ji.baseEncode(r);Vt.formatters.p=r=>r==null?"undefined":r.toString();Vt.formatters.c=r=>r==null?"undefined":r.toString();Vt.formatters.k=r=>r==null?"undefined":r.toString();Vt.formatters.a=r=>r==null?"undefined":r.toString();Vt.formatters.e=r=>r==null?"undefined":lc(r.stack)??lc(r.message)??r.toString();function nd(r){let t=()=>{};return t.enabled=!1,t.color="",t.diff=0,t.log=()=>{},t.namespace=r,t.destroy=()=>!0,t.extend=()=>t,t}function Ve(r){let t=nd(`${r}:trace`);return Vt.enabled(`${r}:trace`)&&Vt.names.map(e=>e.toString()).find(e=>e.includes(":trace"))!=null&&(t=Vt(`${r}:trace`)),Object.assign(Vt(r),{error:Vt(`${r}:error`),trace:t})}function lc(r){if(r!=null&&(r=r.trim(),r.length!==0))return r}var Wi={};Ct(Wi,{base36:()=>yr,base36upper:()=>od});var yr=Le({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),od=Le({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var id=dc,fc=128,sd=127,ad=~sd,cd=Math.pow(2,31);function dc(r,t,e){t=t||[],e=e||0;for(var n=e;r>=cd;)t[e++]=r&255|fc,r/=128;for(;r&ad;)t[e++]=r&255|fc,r>>>=7;return t[e]=r|0,dc.bytes=e-n+1,t}var ud=Yi,ld=128,hc=127;function Yi(r,n){var e=0,n=n||0,o=0,i=n,s,a=r.length;do{if(i>=a)throw Yi.bytes=0,new RangeError("Could not decode varint");s=r[i++],e+=o<28?(s&hc)<<o:(s&hc)*Math.pow(2,o),o+=7}while(s>=ld);return Yi.bytes=i-n,e}var fd=Math.pow(2,7),hd=Math.pow(2,14),dd=Math.pow(2,21),pd=Math.pow(2,28),gd=Math.pow(2,35),md=Math.pow(2,42),yd=Math.pow(2,49),wd=Math.pow(2,56),xd=Math.pow(2,63),bd=function(r){return r<fd?1:r<hd?2:r<dd?3:r<pd?4:r<gd?5:r<md?6:r<yd?7:r<wd?8:r<xd?9:10},vd={encode:id,decode:ud,encodingLength:bd},Ed=vd,Yr=Ed;function Jr(r,t=0){return[Yr.decode(r,t),Yr.decode.bytes]}function wr(r,t,e=0){return Yr.encode(r,t,e),t}function xr(r){return Yr.encodingLength(r)}function Wt(r,t){let e=t.byteLength,n=xr(r),o=n+xr(e),i=new Uint8Array(o+e);return wr(r,i,0),wr(e,i,n),i.set(t,o),new br(r,e,t,i)}function ye(r){let t=me(r),[e,n]=Jr(t),[o,i]=Jr(t.subarray(n)),s=t.subarray(n+i);if(s.byteLength!==o)throw new Error("Incorrect length");return new br(e,o,s,t)}function pc(r,t){if(r===t)return!0;{let e=t;return r.code===e.code&&r.size===e.size&&e.bytes instanceof Uint8Array&&nc(r.bytes,e.bytes)}}var br=class{code;size;digest;bytes;constructor(t,e,n,o){this.code=t,this.size=e,this.digest=n,this.bytes=o}};function gc(r,t){let{bytes:e,version:n}=r;switch(n){case 0:return Ad(e,Ji(r),t??rt.encoder);default:return Sd(e,Ji(r),t??Zt.encoder)}}var mc=new WeakMap;function Ji(r){let t=mc.get(r);if(t==null){let e=new Map;return mc.set(r,e),e}return t}var X=class r{code;version;multihash;bytes;"/";constructor(t,e,n,o){this.code=e,this.version=t,this.multihash=n,this.bytes=o,this["/"]=o}get asCID(){return this}get byteOffset(){return this.bytes.byteOffset}get byteLength(){return this.bytes.byteLength}toV0(){switch(this.version){case 0:return this;case 1:{let{code:t,multihash:e}=this;if(t!==Xr)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(e.code!==Id)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=Wt(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&&pc(t.multihash,n.multihash)}toString(t){return gc(this,t)}toJSON(){return{"/":gc(this)}}link(){return this}[Symbol.toStringTag]="CID";[Symbol.for("nodejs.util.inspect.custom")](){return`CID(${this.toString()})`}static asCID(t){if(t==null)return null;let e=t;if(e instanceof r)return e;if(e["/"]!=null&&e["/"]===e.bytes||e.asCID===e){let{version:n,code:o,multihash:i,bytes:s}=e;return new r(n,o,i,s??yc(n,o,i.bytes))}else if(e[kd]===!0){let{version:n,multihash:o,code:i}=e,s=ye(o);return r.create(n,i,s)}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!==Xr)throw new Error(`Version 0 CID must use dag-pb (code: ${Xr}) block encoding`);return new r(t,e,n,n.bytes)}case 1:{let o=yc(t,e,n.bytes);return new r(t,e,n,o)}default:throw new Error("Invalid version")}}static createV0(t){return r.create(0,Xr,t)}static createV1(t,e){return r.create(1,t,e)}static decode(t){let[e,n]=r.decodeFirst(t);if(n.length!==0)throw new Error("Incorrect length");return e}static decodeFirst(t){let e=r.inspectBytes(t),n=e.size-e.multihashSize,o=me(t.subarray(n,n+e.multihashSize));if(o.byteLength!==e.multihashSize)throw new Error("Incorrect length");let i=o.subarray(e.multihashSize-e.digestSize),s=new br(e.multihashCode,e.digestSize,i,o);return[e.version===0?r.createV0(s):r.createV1(e.codec,s),t.subarray(e.size)]}static inspectBytes(t){let e=0,n=()=>{let[l,h]=Jr(t.subarray(e));return e+=h,l},o=n(),i=Xr;if(o===18?(o=0,e=0):i=n(),o!==0&&o!==1)throw new RangeError(`Invalid CID version ${o}`);let s=e,a=n(),c=n(),f=e+c,u=f-s;return{version:o,codec:i,multihashCode:a,digestSize:c,multihashSize:u,size:f}}static parse(t,e){let[n,o]=Bd(t,e),i=r.decode(o);if(i.version===0&&t[0]!=="Q")throw Error("Version 0 CID string must not include multibase prefix");return Ji(i).set(n,t),i}};function Bd(r,t){switch(r[0]){case"Q":{let e=t??rt;return[rt.prefix,e.decode(`${rt.prefix}${r}`)]}case rt.prefix:{let e=t??rt;return[rt.prefix,e.decode(r)]}case Zt.prefix:{let e=t??Zt;return[Zt.prefix,e.decode(r)]}case yr.prefix:{let e=t??yr;return[yr.prefix,e.decode(r)]}default:{if(t==null)throw Error("To parse non base32, base36 or base58btc encoded CID multibase decoder must be provided");return[r[0],t.decode(r)]}}}function Ad(r,t,e){let{prefix:n}=e;if(n!==rt.prefix)throw Error(`Cannot string encode V0 in ${e.name} encoding`);let o=t.get(n);if(o==null){let i=e.encode(r).slice(1);return t.set(n,i),i}else return o}function Sd(r,t,e){let{prefix:n}=e,o=t.get(n);if(o==null){let i=e.encode(r);return t.set(n,i),i}else return o}var Xr=112,Id=18;function yc(r,t,e){let n=xr(r),o=n+xr(t),i=new Uint8Array(o+e.byteLength);return wr(r,i,0),wr(t,i,n),i.set(e,o),i}var kd=Symbol.for("@ipld/js-cid/CID");var Xi={};Ct(Xi,{identity:()=>Yt});var wc=0,Td="identity",xc=me;function Cd(r){return Wt(wc,xc(r))}var Yt={code:wc,name:Td,encode:xc,digest:Cd};function st(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 bc(r){if(!Number.isSafeInteger(r)||r<0)throw new Error("positive integer expected, got "+r)}function Nd(r){return r instanceof Uint8Array||ArrayBuffer.isView(r)&&r.constructor.name==="Uint8Array"}function vr(r,...t){if(!Nd(r))throw new Error("Uint8Array expected");if(t.length>0&&!t.includes(r.length))throw new Error("Uint8Array expected of length "+t+", got length="+r.length)}function vc(r){if(typeof r!="function"||typeof r.create!="function")throw new Error("Hash should be wrapped by utils.wrapConstructor");bc(r.outputLen),bc(r.blockLen)}function Er(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 Ec(r,t){vr(r);let e=t.outputLen;if(r.length<e)throw new Error("digestInto() expects output buffer of length at least "+e)}var Je=typeof globalThis=="object"&&"crypto"in globalThis?globalThis.crypto:void 0;var Hn=r=>new DataView(r.buffer,r.byteOffset,r.byteLength),Jt=(r,t)=>r<<32-t|r>>>t;function Bc(r){if(typeof r!="string")throw new Error("utf8ToBytes expected string, got "+typeof r);return new Uint8Array(new TextEncoder().encode(r))}function Qr(r){return typeof r=="string"&&(r=Bc(r)),vr(r),r}function Qi(...r){let t=0;for(let n=0;n<r.length;n++){let o=r[n];vr(o),t+=o.length}let e=new Uint8Array(t);for(let n=0,o=0;n<r.length;n++){let i=r[n];e.set(i,o),o+=i.length}return e}var Br=class{clone(){return this._cloneInto()}};function $n(r){let t=n=>r().update(Qr(n)).digest(),e=r();return t.outputLen=e.outputLen,t.blockLen=e.blockLen,t.create=()=>r(),t}function Kn(r=32){if(Je&&typeof Je.getRandomValues=="function")return Je.getRandomValues(new Uint8Array(r));if(Je&&typeof Je.randomBytes=="function")return Je.randomBytes(r);throw new Error("crypto.getRandomValues must be defined")}function Ud(r,t,e,n){if(typeof r.setBigUint64=="function")return r.setBigUint64(t,e,n);let o=BigInt(32),i=BigInt(4294967295),s=Number(e>>o&i),a=Number(e&i),c=n?4:0,f=n?0:4;r.setUint32(t+c,s,n),r.setUint32(t+f,a,n)}var Ac=(r,t,e)=>r&t^~r&e,Sc=(r,t,e)=>r&t^r&e^t&e,Ar=class extends Br{constructor(t,e,n,o){super(),this.blockLen=t,this.outputLen=e,this.padOffset=n,this.isLE=o,this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.buffer=new Uint8Array(t),this.view=Hn(this.buffer)}update(t){Er(this);let{view:e,buffer:n,blockLen:o}=this;t=Qr(t);let i=t.length;for(let s=0;s<i;){let a=Math.min(o-this.pos,i-s);if(a===o){let c=Hn(t);for(;o<=i-s;s+=o)this.process(c,s);continue}n.set(t.subarray(s,s+a),this.pos),this.pos+=a,s+=a,this.pos===o&&(this.process(e,0),this.pos=0)}return this.length+=t.length,this.roundClean(),this}digestInto(t){Er(this),Ec(t,this),this.finished=!0;let{buffer:e,view:n,blockLen:o,isLE:i}=this,{pos:s}=this;e[s++]=128,this.buffer.subarray(s).fill(0),this.padOffset>o-s&&(this.process(n,0),s=0);for(let l=s;l<o;l++)e[l]=0;Ud(n,o-8,BigInt(this.length*8),i),this.process(n,0);let a=Hn(t),c=this.outputLen;if(c%4)throw new Error("_sha2: outputLen should be aligned to 32bit");let f=c/4,u=this.get();if(f>u.length)throw new Error("_sha2: outputLen bigger than state");for(let l=0;l<f;l++)a.setUint32(4*l,u[l],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:o,finished:i,destroyed:s,pos:a}=this;return t.length=o,t.pos=a,t.finished=i,t.destroyed=s,o%e&&t.buffer.set(n),t}};var qn=BigInt(4294967295),ts=BigInt(32);function Ic(r,t=!1){return t?{h:Number(r&qn),l:Number(r>>ts&qn)}:{h:Number(r>>ts&qn)|0,l:Number(r&qn)|0}}function Rd(r,t=!1){let e=new Uint32Array(r.length),n=new Uint32Array(r.length);for(let o=0;o<r.length;o++){let{h:i,l:s}=Ic(r[o],t);[e[o],n[o]]=[i,s]}return[e,n]}var Ld=(r,t)=>BigInt(r>>>0)<<ts|BigInt(t>>>0),Vd=(r,t,e)=>r>>>e,_d=(r,t,e)=>r<<32-e|t>>>e,Pd=(r,t,e)=>r>>>e|t<<32-e,Fd=(r,t,e)=>r<<32-e|t>>>e,Dd=(r,t,e)=>r<<64-e|t>>>e-32,Od=(r,t,e)=>r>>>e-32|t<<64-e,Md=(r,t)=>t,Hd=(r,t)=>r,$d=(r,t,e)=>r<<e|t>>>32-e,Kd=(r,t,e)=>t<<e|r>>>32-e,qd=(r,t,e)=>t<<e-32|r>>>64-e,zd=(r,t,e)=>r<<e-32|t>>>64-e;function jd(r,t,e,n){let o=(t>>>0)+(n>>>0);return{h:r+e+(o/2**32|0)|0,l:o|0}}var Gd=(r,t,e)=>(r>>>0)+(t>>>0)+(e>>>0),Zd=(r,t,e,n)=>t+e+n+(r/2**32|0)|0,Wd=(r,t,e,n)=>(r>>>0)+(t>>>0)+(e>>>0)+(n>>>0),Yd=(r,t,e,n,o)=>t+e+n+o+(r/2**32|0)|0,Jd=(r,t,e,n,o)=>(r>>>0)+(t>>>0)+(e>>>0)+(n>>>0)+(o>>>0),Xd=(r,t,e,n,o,i)=>t+e+n+o+i+(r/2**32|0)|0;var Qd={fromBig:Ic,split:Rd,toBig:Ld,shrSH:Vd,shrSL:_d,rotrSH:Pd,rotrSL:Fd,rotrBH:Dd,rotrBL:Od,rotr32H:Md,rotr32L:Hd,rotlSH:$d,rotlSL:Kd,rotlBH:qd,rotlBL:zd,add:jd,add3L:Gd,add3H:Zd,add4L:Wd,add4H:Yd,add5H:Xd,add5L:Jd},q=Qd;var[t0,e0]=q.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))),Pe=new Uint32Array(80),Fe=new Uint32Array(80),es=class extends Ar{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:o,Ch:i,Cl:s,Dh:a,Dl:c,Eh:f,El:u,Fh:l,Fl:h,Gh:m,Gl:B,Hh:w,Hl:d}=this;return[t,e,n,o,i,s,a,c,f,u,l,h,m,B,w,d]}set(t,e,n,o,i,s,a,c,f,u,l,h,m,B,w,d){this.Ah=t|0,this.Al=e|0,this.Bh=n|0,this.Bl=o|0,this.Ch=i|0,this.Cl=s|0,this.Dh=a|0,this.Dl=c|0,this.Eh=f|0,this.El=u|0,this.Fh=l|0,this.Fl=h|0,this.Gh=m|0,this.Gl=B|0,this.Hh=w|0,this.Hl=d|0}process(t,e){for(let x=0;x<16;x++,e+=4)Pe[x]=t.getUint32(e),Fe[x]=t.getUint32(e+=4);for(let x=16;x<80;x++){let U=Pe[x-15]|0,F=Fe[x-15]|0,P=q.rotrSH(U,F,1)^q.rotrSH(U,F,8)^q.shrSH(U,F,7),R=q.rotrSL(U,F,1)^q.rotrSL(U,F,8)^q.shrSL(U,F,7),b=Pe[x-2]|0,v=Fe[x-2]|0,D=q.rotrSH(b,v,19)^q.rotrBH(b,v,61)^q.shrSH(b,v,6),L=q.rotrSL(b,v,19)^q.rotrBL(b,v,61)^q.shrSL(b,v,6),C=q.add4L(R,L,Fe[x-7],Fe[x-16]),$=q.add4H(C,P,D,Pe[x-7],Pe[x-16]);Pe[x]=$|0,Fe[x]=C|0}let{Ah:n,Al:o,Bh:i,Bl:s,Ch:a,Cl:c,Dh:f,Dl:u,Eh:l,El:h,Fh:m,Fl:B,Gh:w,Gl:d,Hh:A,Hl:T}=this;for(let x=0;x<80;x++){let U=q.rotrSH(l,h,14)^q.rotrSH(l,h,18)^q.rotrBH(l,h,41),F=q.rotrSL(l,h,14)^q.rotrSL(l,h,18)^q.rotrBL(l,h,41),P=l&m^~l&w,R=h&B^~h&d,b=q.add5L(T,F,R,e0[x],Fe[x]),v=q.add5H(b,A,U,P,t0[x],Pe[x]),D=b|0,L=q.rotrSH(n,o,28)^q.rotrBH(n,o,34)^q.rotrBH(n,o,39),C=q.rotrSL(n,o,28)^q.rotrBL(n,o,34)^q.rotrBL(n,o,39),$=n&i^n&a^i&a,S=o&s^o&c^s&c;A=w|0,T=d|0,w=m|0,d=B|0,m=l|0,B=h|0,{h:l,l:h}=q.add(f|0,u|0,v|0,D|0),f=a|0,u=c|0,a=i|0,c=s|0,i=n|0,s=o|0;let I=q.add3L(D,C,S);n=q.add3H(I,v,L,$),o=I|0}({h:n,l:o}=q.add(this.Ah|0,this.Al|0,n|0,o|0)),{h:i,l:s}=q.add(this.Bh|0,this.Bl|0,i|0,s|0),{h:a,l:c}=q.add(this.Ch|0,this.Cl|0,a|0,c|0),{h:f,l:u}=q.add(this.Dh|0,this.Dl|0,f|0,u|0),{h:l,l:h}=q.add(this.Eh|0,this.El|0,l|0,h|0),{h:m,l:B}=q.add(this.Fh|0,this.Fl|0,m|0,B|0),{h:w,l:d}=q.add(this.Gh|0,this.Gl|0,w|0,d|0),{h:A,l:T}=q.add(this.Hh|0,this.Hl|0,A|0,T|0),this.set(n,o,i,s,a,c,f,u,l,h,m,B,w,d,A,T)}roundClean(){Pe.fill(0),Fe.fill(0)}destroy(){this.buffer.fill(0),this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)}};var kc=$n(()=>new es);var Gn={};Ct(Gn,{aInRange:()=>_t,abool:()=>Xt,abytes:()=>Sr,bitGet:()=>a0,bitLen:()=>is,bitMask:()=>en,bitSet:()=>c0,bytesToHex:()=>xe,bytesToNumberBE:()=>be,bytesToNumberLE:()=>Oe,concatBytes:()=>ve,createHmacDrbg:()=>ss,ensureBytes:()=>at,equalBytes:()=>i0,hexToBytes:()=>Qe,hexToNumber:()=>os,inRange:()=>tn,isBytes:()=>De,memoized:()=>er,notImplemented:()=>l0,numberToBytesBE:()=>Me,numberToBytesLE:()=>tr,numberToHexUnpadded:()=>Xe,numberToVarBytesBE:()=>o0,utf8ToBytes:()=>s0,validateObject:()=>ce});var zn=BigInt(0),jn=BigInt(1),r0=BigInt(2);function De(r){return r instanceof Uint8Array||ArrayBuffer.isView(r)&&r.constructor.name==="Uint8Array"}function Sr(r){if(!De(r))throw new Error("Uint8Array expected")}function Xt(r,t){if(typeof t!="boolean")throw new Error(r+" boolean expected, got "+t)}var n0=Array.from({length:256},(r,t)=>t.toString(16).padStart(2,"0"));function xe(r){Sr(r);let t="";for(let e=0;e<r.length;e++)t+=n0[r[e]];return t}function Xe(r){let t=r.toString(16);return t.length&1?"0"+t:t}function os(r){if(typeof r!="string")throw new Error("hex string expected, got "+typeof r);return r===""?zn:BigInt("0x"+r)}var we={_0:48,_9:57,A:65,F:70,a:97,f:102};function Tc(r){if(r>=we._0&&r<=we._9)return r-we._0;if(r>=we.A&&r<=we.F)return r-(we.A-10);if(r>=we.a&&r<=we.f)return r-(we.a-10)}function Qe(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("hex string expected, got unpadded hex of length "+t);let n=new Uint8Array(e);for(let o=0,i=0;o<e;o++,i+=2){let s=Tc(r.charCodeAt(i)),a=Tc(r.charCodeAt(i+1));if(s===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[o]=s*16+a}return n}function be(r){return os(xe(r))}function Oe(r){return Sr(r),os(xe(Uint8Array.from(r).reverse()))}function Me(r,t){return Qe(r.toString(16).padStart(t*2,"0"))}function tr(r,t){return Me(r,t).reverse()}function o0(r){return Qe(Xe(r))}function at(r,t,e){let n;if(typeof t=="string")try{n=Qe(t)}catch(i){throw new Error(r+" must be hex string or Uint8Array, cause: "+i)}else if(De(t))n=Uint8Array.from(t);else throw new Error(r+" must be hex string or Uint8Array");let o=n.length;if(typeof e=="number"&&o!==e)throw new Error(r+" of length "+e+" expected, got "+o);return n}function ve(...r){let t=0;for(let n=0;n<r.length;n++){let o=r[n];Sr(o),t+=o.length}let e=new Uint8Array(t);for(let n=0,o=0;n<r.length;n++){let i=r[n];e.set(i,o),o+=i.length}return e}function i0(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 s0(r){if(typeof r!="string")throw new Error("string expected");return new Uint8Array(new TextEncoder().encode(r))}var rs=r=>typeof r=="bigint"&&zn<=r;function tn(r,t,e){return rs(r)&&rs(t)&&rs(e)&&t<=r&&r<e}function _t(r,t,e,n){if(!tn(t,e,n))throw new Error("expected valid "+r+": "+e+" <= n < "+n+", got "+t)}function is(r){let t;for(t=0;r>zn;r>>=jn,t+=1);return t}function a0(r,t){return r>>BigInt(t)&jn}function c0(r,t,e){return r|(e?jn:zn)<<BigInt(t)}var en=r=>(r0<<BigInt(r-1))-jn,ns=r=>new Uint8Array(r),Cc=r=>Uint8Array.from(r);function ss(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=ns(r),o=ns(r),i=0,s=()=>{n.fill(1),o.fill(0),i=0},a=(...l)=>e(o,n,...l),c=(l=ns())=>{o=a(Cc([0]),l),n=a(),l.length!==0&&(o=a(Cc([1]),l),n=a())},f=()=>{if(i++>=1e3)throw new Error("drbg: tried 1000 values");let l=0,h=[];for(;l<t;){n=a();let m=n.slice();h.push(m),l+=n.length}return ve(...h)};return(l,h)=>{s(),c(l);let m;for(;!(m=h(f()));)c();return s(),m}}var u0={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"||De(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 ce(r,t,e={}){let n=(o,i,s)=>{let a=u0[i];if(typeof a!="function")throw new Error("invalid validator function");let c=r[o];if(!(s&&c===void 0)&&!a(c,r))throw new Error("param "+String(o)+" is invalid. Expected "+i+", got "+c)};for(let[o,i]of Object.entries(t))n(o,i,!1);for(let[o,i]of Object.entries(e))n(o,i,!0);return r}var l0=()=>{throw new Error("not implemented")};function er(r){let t=new WeakMap;return(e,...n)=>{let o=t.get(e);if(o!==void 0)return o;let i=r(e,...n);return t.set(e,i),i}}var lt=BigInt(0),ot=BigInt(1),rr=BigInt(2),f0=BigInt(3),as=BigInt(4),Nc=BigInt(5),Uc=BigInt(8),h0=BigInt(9),d0=BigInt(16);function Q(r,t){let e=r%t;return e>=lt?e:t+e}function p0(r,t,e){if(t<lt)throw new Error("invalid exponent, negatives unsupported");if(e<=lt)throw new Error("invalid modulus");if(e===ot)return lt;let n=ot;for(;t>lt;)t&ot&&(n=n*r%e),r=r*r%e,t>>=ot;return n}function it(r,t,e){let n=r;for(;t-- >lt;)n*=n,n%=e;return n}function Zn(r,t){if(r===lt)throw new Error("invert: expected non-zero number");if(t<=lt)throw new Error("invert: expected positive modulus, got "+t);let e=Q(r,t),n=t,o=lt,i=ot,s=ot,a=lt;for(;e!==lt;){let f=n/e,u=n%e,l=o-s*f,h=i-a*f;n=e,e=u,o=s,i=a,s=l,a=h}if(n!==ot)throw new Error("invert: does not exist");return Q(o,t)}function g0(r){let t=(r-ot)/rr,e,n,o;for(e=r-ot,n=0;e%rr===lt;e/=rr,n++);for(o=rr;o<r&&p0(o,t,r)!==r-ot;o++)if(o>1e3)throw new Error("Cannot find square root: likely non-prime P");if(n===1){let s=(r+ot)/as;return function(c,f){let u=c.pow(f,s);if(!c.eql(c.sqr(u),f))throw new Error("Cannot find square root");return u}}let i=(e+ot)/rr;return function(a,c){if(a.pow(c,t)===a.neg(a.ONE))throw new Error("Cannot find square root");let f=n,u=a.pow(a.mul(a.ONE,o),e),l=a.pow(c,i),h=a.pow(c,e);for(;!a.eql(h,a.ONE);){if(a.eql(h,a.ZERO))return a.ZERO;let m=1;for(let w=a.sqr(h);m<f&&!a.eql(w,a.ONE);m++)w=a.sqr(w);let B=a.pow(u,ot<<BigInt(f-m-1));u=a.sqr(B),l=a.mul(l,B),h=a.mul(h,u),f=m}return l}}function m0(r){if(r%as===f0){let t=(r+ot)/as;return function(n,o){let i=n.pow(o,t);if(!n.eql(n.sqr(i),o))throw new Error("Cannot find square root");return i}}if(r%Uc===Nc){let t=(r-Nc)/Uc;return function(n,o){let i=n.mul(o,rr),s=n.pow(i,t),a=n.mul(o,s),c=n.mul(n.mul(a,rr),s),f=n.mul(a,n.sub(c,n.ONE));if(!n.eql(n.sqr(f),o))throw new Error("Cannot find square root");return f}}return r%d0,g0(r)}var Rc=(r,t)=>(Q(r,t)&ot)===ot,y0=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"];function cs(r){let t={ORDER:"bigint",MASK:"bigint",BYTES:"isSafeInteger",BITS:"isSafeInteger"},e=y0.reduce((n,o)=>(n[o]="function",n),t);return ce(r,e)}function w0(r,t,e){if(e<lt)throw new Error("invalid exponent, negatives unsupported");if(e===lt)return r.ONE;if(e===ot)return t;let n=r.ONE,o=t;for(;e>lt;)e&ot&&(n=r.mul(n,o)),o=r.sqr(o),e>>=ot;return n}function x0(r,t){let e=new Array(t.length),n=t.reduce((i,s,a)=>r.is0(s)?i:(e[a]=i,r.mul(i,s)),r.ONE),o=r.inv(n);return t.reduceRight((i,s,a)=>r.is0(s)?i:(e[a]=r.mul(i,e[a]),r.mul(i,s)),o),e}function us(r,t){let e=t!==void 0?t:r.toString(2).length,n=Math.ceil(e/8);return{nBitLength:e,nByteLength:n}}function He(r,t,e=!1,n={}){if(r<=lt)throw new Error("invalid field: expected ORDER > 0, got "+r);let{nBitLength:o,nByteLength:i}=us(r,t);if(i>2048)throw new Error("invalid field: expected ORDER of <= 2048 bytes");let s,a=Object.freeze({ORDER:r,isLE:e,BITS:o,BYTES:i,MASK:en(o),ZERO:lt,ONE:ot,create:c=>Q(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&ot)===ot,neg:c=>Q(-c,r),eql:(c,f)=>c===f,sqr:c=>Q(c*c,r),add:(c,f)=>Q(c+f,r),sub:(c,f)=>Q(c-f,r),mul:(c,f)=>Q(c*f,r),pow:(c,f)=>w0(a,c,f),div:(c,f)=>Q(c*Zn(f,r),r),sqrN:c=>c*c,addN:(c,f)=>c+f,subN:(c,f)=>c-f,mulN:(c,f)=>c*f,inv:c=>Zn(c,r),sqrt:n.sqrt||(c=>(s||(s=m0(r)),s(a,c))),invertBatch:c=>x0(a,c),cmov:(c,f,u)=>u?f:c,toBytes:c=>e?tr(c,i):Me(c,i),fromBytes:c=>{if(c.length!==i)throw new Error("Field.fromBytes: expected "+i+" bytes, got "+c.length);return e?Oe(c):be(c)}});return Object.freeze(a)}function Lc(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 ls(r){let t=Lc(r);return t+Math.ceil(t/2)}function Vc(r,t,e=!1){let n=r.length,o=Lc(t),i=ls(t);if(n<16||n<i||n>1024)throw new Error("expected "+i+"-1024 bytes of input, got "+n);let s=e?Oe(r):be(r),a=Q(s,t-ot)+ot;return e?tr(a,o):Me(a,o)}var _c=BigInt(0),Wn=BigInt(1);function fs(r,t){let e=t.negate();return r?e:t}function Pc(r,t){if(!Number.isSafeInteger(r)||r<=0||r>t)throw new Error("invalid window size, expected [1.."+t+"], got W="+r)}function hs(r,t){Pc(r,t);let e=Math.ceil(t/r)+1,n=2**(r-1);return{windows:e,windowSize:n}}function v0(r,t){if(!Array.isArray(r))throw new Error("array expected");r.forEach((e,n)=>{if(!(e instanceof t))throw new Error("invalid point at index "+n)})}function E0(r,t){if(!Array.isArray(r))throw new Error("array of scalars expected");r.forEach((e,n)=>{if(!t.isValid(e))throw new Error("invalid scalar at index "+n)})}var ds=new WeakMap,Fc=new WeakMap;function ps(r){return Fc.get(r)||1}function Yn(r,t){return{constTimeNegate:fs,hasPrecomputes(e){return ps(e)!==1},unsafeLadder(e,n,o=r.ZERO){let i=e;for(;n>_c;)n&Wn&&(o=o.add(i)),i=i.double(),n>>=Wn;return o},precomputeWindow(e,n){let{windows:o,windowSize:i}=hs(n,t),s=[],a=e,c=a;for(let f=0;f<o;f++){c=a,s.push(c);for(let u=1;u<i;u++)c=c.add(a),s.push(c);a=c.double()}return s},wNAF(e,n,o){let{windows:i,windowSize:s}=hs(e,t),a=r.ZERO,c=r.BASE,f=BigInt(2**e-1),u=2**e,l=BigInt(e);for(let h=0;h<i;h++){let m=h*s,B=Number(o&f);o>>=l,B>s&&(B-=u,o+=Wn);let w=m,d=m+Math.abs(B)-1,A=h%2!==0,T=B<0;B===0?c=c.add(fs(A,n[w])):a=a.add(fs(T,n[d]))}return{p:a,f:c}},wNAFUnsafe(e,n,o,i=r.ZERO){let{windows:s,windowSize:a}=hs(e,t),c=BigInt(2**e-1),f=2**e,u=BigInt(e);for(let l=0;l<s;l++){let h=l*a;if(o===_c)break;let m=Number(o&c);if(o>>=u,m>a&&(m-=f,o+=Wn),m===0)continue;let B=n[h+Math.abs(m)-1];m<0&&(B=B.negate()),i=i.add(B)}return i},getPrecomputes(e,n,o){let i=ds.get(n);return i||(i=this.precomputeWindow(n,e),e!==1&&ds.set(n,o(i))),i},wNAFCached(e,n,o){let i=ps(e);return this.wNAF(i,this.getPrecomputes(i,e,o),n)},wNAFCachedUnsafe(e,n,o,i){let s=ps(e);return s===1?this.unsafeLadder(e,n,i):this.wNAFUnsafe(s,this.getPrecomputes(s,e,o),n,i)},setWindowSize(e,n){Pc(n,t),Fc.set(e,n),ds.delete(e)}}}function Jn(r,t,e,n){if(v0(e,r),E0(n,t),e.length!==n.length)throw new Error("arrays of points and scalars must have equal length");let o=r.ZERO,i=is(BigInt(e.length)),s=i>12?i-3:i>4?i-2:i?2:1,a=(1<<s)-1,c=new Array(a+1).fill(o),f=Math.floor((t.BITS-1)/s)*s,u=o;for(let l=f;l>=0;l-=s){c.fill(o);for(let m=0;m<n.length;m++){let B=n[m],w=Number(B>>BigInt(l)&BigInt(a));c[w]=c[w].add(e[m])}let h=o;for(let m=c.length-1,B=o;m>0;m--)B=B.add(c[m]),h=h.add(B);if(u=u.add(h),l!==0)for(let m=0;m<s;m++)u=u.double()}return u}function rn(r){return cs(r.Fp),ce(r,{n:"bigint",h:"bigint",Gx:"field",Gy:"field"},{nBitLength:"isSafeInteger",nByteLength:"isSafeInteger"}),Object.freeze({...us(r.n,r.nBitLength),...r,p:r.Fp.ORDER})}var Qt=BigInt(0),Pt=BigInt(1),Xn=BigInt(2),B0=BigInt(8),A0={zip215:!0};function S0(r){let t=rn(r);return ce(r,{hash:"function",a:"bigint",d:"bigint",randomBytes:"function"},{adjustScalarBytes:"function",domain:"function",uvRatio:"function",mapToCurve:"function"}),Object.freeze({...t})}function Dc(r){let t=S0(r),{Fp:e,n,prehash:o,hash:i,randomBytes:s,nByteLength:a,h:c}=t,f=Xn<<BigInt(a*8)-Pt,u=e.create,l=He(t.n,t.nBitLength),h=t.uvRatio||((g,p)=>{try{return{isValid:!0,value:e.sqrt(g*e.inv(p))}}catch{return{isValid:!1,value:Qt}}}),m=t.adjustScalarBytes||(g=>g),B=t.domain||((g,p,E)=>{if(Xt("phflag",E),p.length||E)throw new Error("Contexts/pre-hash are not supported");return g});function w(g,p){_t("coordinate "+g,p,Qt,f)}function d(g){if(!(g instanceof x))throw new Error("ExtendedPoint expected")}let A=er((g,p)=>{let{ex:E,ey:N,ez:O}=g,M=g.is0();p==null&&(p=M?B0:e.inv(O));let z=u(E*p),Z=u(N*p),K=u(O*p);if(M)return{x:Qt,y:Pt};if(K!==Pt)throw new Error("invZ was invalid");return{x:z,y:Z}}),T=er(g=>{let{a:p,d:E}=t;if(g.is0())throw new Error("bad point: ZERO");let{ex:N,ey:O,ez:M,et:z}=g,Z=u(N*N),K=u(O*O),J=u(M*M),et=u(J*J),ht=u(Z*p),dt=u(J*u(ht+K)),yt=u(et+u(E*u(Z*K)));if(dt!==yt)throw new Error("bad point: equation left != right (1)");let vt=u(N*O),Rt=u(M*z);if(vt!==Rt)throw new Error("bad point: equation left != right (2)");return!0});class x{constructor(p,E,N,O){this.ex=p,this.ey=E,this.ez=N,this.et=O,w("x",p),w("y",E),w("z",N),w("t",O),Object.freeze(this)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static fromAffine(p){if(p instanceof x)throw new Error("extended point not allowed");let{x:E,y:N}=p||{};return w("x",E),w("y",N),new x(E,N,Pt,u(E*N))}static normalizeZ(p){let E=e.invertBatch(p.map(N=>N.ez));return p.map((N,O)=>N.toAffine(E[O])).map(x.fromAffine)}static msm(p,E){return Jn(x,l,p,E)}_setWindowSize(p){P.setWindowSize(this,p)}assertValidity(){T(this)}equals(p){d(p);let{ex:E,ey:N,ez:O}=this,{ex:M,ey:z,ez:Z}=p,K=u(E*Z),J=u(M*O),et=u(N*Z),ht=u(z*O);return K===J&&et===ht}is0(){return this.equals(x.ZERO)}negate(){return new x(u(-this.ex),this.ey,this.ez,u(-this.et))}double(){let{a:p}=t,{ex:E,ey:N,ez:O}=this,M=u(E*E),z=u(N*N),Z=u(Xn*u(O*O)),K=u(p*M),J=E+N,et=u(u(J*J)-M-z),ht=K+z,dt=ht-Z,yt=K-z,vt=u(et*dt),Rt=u(ht*yt),Tt=u(et*yt),ae=u(dt*ht);return new x(vt,Rt,ae,Tt)}add(p){d(p);let{a:E,d:N}=t,{ex:O,ey:M,ez:z,et:Z}=this,{ex:K,ey:J,ez:et,et:ht}=p;if(E===BigInt(-1)){let Ga=u((M-O)*(J+K)),Za=u((M+O)*(J-K)),Fi=u(Za-Ga);if(Fi===Qt)return this.double();let Wa=u(z*Xn*ht),Ya=u(Z*Xn*et),Ja=Ya+Wa,Xa=Za+Ga,Qa=Ya-Wa,yh=u(Ja*Fi),wh=u(Xa*Qa),xh=u(Ja*Qa),bh=u(Fi*Xa);return new x(yh,wh,bh,xh)}let dt=u(O*K),yt=u(M*J),vt=u(Z*N*ht),Rt=u(z*et),Tt=u((O+M)*(K+J)-dt-yt),ae=Rt-vt,ge=Rt+vt,Wr=u(yt-E*dt),dh=u(Tt*ae),ph=u(ge*Wr),gh=u(Tt*Wr),mh=u(ae*ge);return new x(dh,ph,mh,gh)}subtract(p){return this.add(p.negate())}wNAF(p){return P.wNAFCached(this,p,x.normalizeZ)}multiply(p){let E=p;_t("scalar",E,Pt,n);let{p:N,f:O}=this.wNAF(E);return x.normalizeZ([N,O])[0]}multiplyUnsafe(p,E=x.ZERO){let N=p;return _t("scalar",N,Qt,n),N===Qt?F:this.is0()||N===Pt?this:P.wNAFCachedUnsafe(this,N,x.normalizeZ,E)}isSmallOrder(){return this.multiplyUnsafe(c).is0()}isTorsionFree(){return P.unsafeLadder(this,n).is0()}toAffine(p){return A(this,p)}clearCofactor(){let{h:p}=t;return p===Pt?this:this.multiplyUnsafe(p)}static fromHex(p,E=!1){let{d:N,a:O}=t,M=e.BYTES;p=at("pointHex",p,M),Xt("zip215",E);let z=p.slice(),Z=p[M-1];z[M-1]=Z&-129;let K=Oe(z),J=E?f:e.ORDER;_t("pointHex.y",K,Qt,J);let et=u(K*K),ht=u(et-Pt),dt=u(N*et-O),{isValid:yt,value:vt}=h(ht,dt);if(!yt)throw new Error("Point.fromHex: invalid y coordinate");let Rt=(vt&Pt)===Pt,Tt=(Z&128)!==0;if(!E&&vt===Qt&&Tt)throw new Error("Point.fromHex: x=0 and x_0=1");return Tt!==Rt&&(vt=u(-vt)),x.fromAffine({x:vt,y:K})}static fromPrivateKey(p){return v(p).point}toRawBytes(){let{x:p,y:E}=this.toAffine(),N=tr(E,e.BYTES);return N[N.length-1]|=p&Pt?128:0,N}toHex(){return xe(this.toRawBytes())}}x.BASE=new x(t.Gx,t.Gy,Pt,u(t.Gx*t.Gy)),x.ZERO=new x(Qt,Pt,Pt,Qt);let{BASE:U,ZERO:F}=x,P=Yn(x,a*8);function R(g){return Q(g,n)}function b(g){return R(Oe(g))}function v(g){let p=e.BYTES;g=at("private key",g,p);let E=at("hashed private key",i(g),2*p),N=m(E.slice(0,p)),O=E.slice(p,2*p),M=b(N),z=U.multiply(M),Z=z.toRawBytes();return{head:N,prefix:O,scalar:M,point:z,pointBytes:Z}}function D(g){return v(g).pointBytes}function L(g=new Uint8Array,...p){let E=ve(...p);return b(i(B(E,at("context",g),!!o)))}function C(g,p,E={}){g=at("message",g),o&&(g=o(g));let{prefix:N,scalar:O,pointBytes:M}=v(p),z=L(E.context,N,g),Z=U.multiply(z).toRawBytes(),K=L(E.context,Z,M,g),J=R(z+K*O);_t("signature.s",J,Qt,n);let et=ve(Z,tr(J,e.BYTES));return at("result",et,e.BYTES*2)}let $=A0;function S(g,p,E,N=$){let{context:O,zip215:M}=N,z=e.BYTES;g=at("signature",g,2*z),p=at("message",p),E=at("publicKey",E,z),M!==void 0&&Xt("zip215",M),o&&(p=o(p));let Z=Oe(g.slice(z,2*z)),K,J,et;try{K=x.fromHex(E,M),J=x.fromHex(g.slice(0,z),M),et=U.multiplyUnsafe(Z)}catch{return!1}if(!M&&K.isSmallOrder())return!1;let ht=L(O,J.toRawBytes(),K.toRawBytes(),p);return J.add(K.multiplyUnsafe(ht)).subtract(et).clearCofactor().equals(x.ZERO)}return U._setWindowSize(8),{CURVE:t,getPublicKey:D,sign:C,verify:S,ExtendedPoint:x,utils:{getExtendedPublicKey:v,randomPrivateKey:()=>s(e.BYTES),precompute(g=8,p=x.BASE){return p._setWindowSize(g),p.multiply(BigInt(3)),p}}}}var gs=BigInt("57896044618658097711785492504343953926634992332820282019728792003956564819949"),Oc=BigInt("19681161376707505956807079304988542015446066515923890162744021073123829784752"),By=BigInt(0),I0=BigInt(1),Mc=BigInt(2),Ay=BigInt(3),k0=BigInt(5),T0=BigInt(8);function C0(r){let t=BigInt(10),e=BigInt(20),n=BigInt(40),o=BigInt(80),i=gs,a=r*r%i*r%i,c=it(a,Mc,i)*a%i,f=it(c,I0,i)*r%i,u=it(f,k0,i)*f%i,l=it(u,t,i)*u%i,h=it(l,e,i)*l%i,m=it(h,n,i)*h%i,B=it(m,o,i)*m%i,w=it(B,o,i)*m%i,d=it(w,t,i)*u%i;return{pow_p_5_8:it(d,Mc,i)*r%i,b2:a}}function N0(r){return r[0]&=248,r[31]&=127,r[31]|=64,r}function U0(r,t){let e=gs,n=Q(t*t*t,e),o=Q(n*n*t,e),i=C0(r*o).pow_p_5_8,s=Q(r*n*i,e),a=Q(t*s*s,e),c=s,f=Q(s*Oc,e),u=a===r,l=a===Q(-r,e),h=a===Q(-r*Oc,e);return u&&(s=c),(l||h)&&(s=f),Rc(s,e)&&(s=Q(-s,e)),{isValid:u||l,value:s}}var R0=He(gs,void 0,!0),L0={a:BigInt(-1),d:BigInt("37095705934669439343138083508754565189542113879843219016388785533085940283555"),Fp:R0,n:BigInt("7237005577332262213973186563042994240857116359379907606001950938285454250989"),h:T0,Gx:BigInt("15112221349535400772501151409588531511454012693041857206046113283949847762202"),Gy:BigInt("46316835694926478169428394003475163141307993866256225615783033603165251855960"),hash:kc,randomBytes:Kn,adjustScalarBytes:N0,uvRatio:U0},Hc=Dc(L0);var Qn=32;function $c(r,t,e){return Hc.verify(t,e instanceof Uint8Array?e:e.subarray(),r)}var to=class{type="Ed25519";raw;constructor(t){this.raw=ms(t,Qn)}toMultihash(){return Yt.digest(eo(this))}toCID(){return X.createV1(114,this.toMultihash())}toString(){return rt.encode(this.toMultihash().bytes).substring(1)}equals(t){return t==null||!(t.raw instanceof Uint8Array)?!1:st(this.raw,t.raw)}verify(t,e){return $c(this.raw,e,t)}};function ys(r){return r=ms(r,Qn),new to(r)}function ms(r,t){if(r=Uint8Array.from(r??[]),r.length!==t)throw new Et(`Key must be a Uint8Array of length ${t}, got ${r.length}`);return r}function Ee(r=0){return new Uint8Array(r)}function Ft(r=0){return new Uint8Array(r)}var _0=Math.pow(2,7),P0=Math.pow(2,14),F0=Math.pow(2,21),ws=Math.pow(2,28),xs=Math.pow(2,35),bs=Math.pow(2,42),vs=Math.pow(2,49),Y=128,Bt=127;function Dt(r){if(r<_0)return 1;if(r<P0)return 2;if(r<F0)return 3;if(r<ws)return 4;if(r<xs)return 5;if(r<bs)return 6;if(r<vs)return 7;if(Number.MAX_SAFE_INTEGER!=null&&r>Number.MAX_SAFE_INTEGER)throw new RangeError("Could not encode varint");return 8}function Es(r,t,e=0){switch(Dt(r)){case 8:t[e++]=r&255|Y,r/=128;case 7:t[e++]=r&255|Y,r/=128;case 6:t[e++]=r&255|Y,r/=128;case 5:t[e++]=r&255|Y,r/=128;case 4:t[e++]=r&255|Y,r>>>=7;case 3:t[e++]=r&255|Y,r>>>=7;case 2:t[e++]=r&255|Y,r>>>=7;case 1:{t[e++]=r&255,r>>>=7;break}default:throw new Error("unreachable")}return t}function D0(r,t,e=0){switch(Dt(r)){case 8:t.set(e++,r&255|Y),r/=128;case 7:t.set(e++,r&255|Y),r/=128;case 6:t.set(e++,r&255|Y),r/=128;case 5:t.set(e++,r&255|Y),r/=128;case 4:t.set(e++,r&255|Y),r>>>=7;case 3:t.set(e++,r&255|Y),r>>>=7;case 2:t.set(e++,r&255|Y),r>>>=7;case 1:{t.set(e++,r&255),r>>>=7;break}default:throw new Error("unreachable")}return t}function Bs(r,t){let e=r[t],n=0;if(n+=e&Bt,e<Y||(e=r[t+1],n+=(e&Bt)<<7,e<Y)||(e=r[t+2],n+=(e&Bt)<<14,e<Y)||(e=r[t+3],n+=(e&Bt)<<21,e<Y)||(e=r[t+4],n+=(e&Bt)*ws,e<Y)||(e=r[t+5],n+=(e&Bt)*xs,e<Y)||(e=r[t+6],n+=(e&Bt)*bs,e<Y)||(e=r[t+7],n+=(e&Bt)*vs,e<Y))return n;throw new RangeError("Could not decode varint")}function O0(r,t){let e=r.get(t),n=0;if(n+=e&Bt,e<Y||(e=r.get(t+1),n+=(e&Bt)<<7,e<Y)||(e=r.get(t+2),n+=(e&Bt)<<14,e<Y)||(e=r.get(t+3),n+=(e&Bt)<<21,e<Y)||(e=r.get(t+4),n+=(e&Bt)*ws,e<Y)||(e=r.get(t+5),n+=(e&Bt)*xs,e<Y)||(e=r.get(t+6),n+=(e&Bt)*bs,e<Y)||(e=r.get(t+7),n+=(e&Bt)*vs,e<Y))return n;throw new RangeError("Could not decode varint")}function Ir(r,t,e=0){return t==null&&(t=Ft(Dt(r))),t instanceof Uint8Array?Es(r,t,e):D0(r,t,e)}function nr(r,t=0){return r instanceof Uint8Array?Bs(r,t):O0(r,t)}var As=new Float32Array([-0]),$e=new Uint8Array(As.buffer);function zc(r,t,e){As[0]=r,t[e]=$e[0],t[e+1]=$e[1],t[e+2]=$e[2],t[e+3]=$e[3]}function jc(r,t){return $e[0]=r[t],$e[1]=r[t+1],$e[2]=r[t+2],$e[3]=r[t+3],As[0]}var Ss=new Float64Array([-0]),At=new Uint8Array(Ss.buffer);function Gc(r,t,e){Ss[0]=r,t[e]=At[0],t[e+1]=At[1],t[e+2]=At[2],t[e+3]=At[3],t[e+4]=At[4],t[e+5]=At[5],t[e+6]=At[6],t[e+7]=At[7]}function Zc(r,t){return At[0]=r[t],At[1]=r[t+1],At[2]=r[t+2],At[3]=r[t+3],At[4]=r[t+4],At[5]=r[t+5],At[6]=r[t+6],At[7]=r[t+7],Ss[0]}var M0=BigInt(Number.MAX_SAFE_INTEGER),H0=BigInt(Number.MIN_SAFE_INTEGER),Mt=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 or;if(t<M0&&t>H0)return this.fromNumber(Number(t));let e=t<0n;e&&(t=-t);let n=t>>32n,o=t-(n<<32n);return e&&(n=~n|0n,o=~o|0n,++o>Wc&&(o=0n,++n>Wc&&(n=0n))),new r(Number(o),Number(n))}static fromNumber(t){if(t===0)return or;let e=t<0;e&&(t=-t);let n=t>>>0,o=(t-n)/4294967296>>>0;return e&&(o=~o>>>0,n=~n>>>0,++n>4294967295&&(n=0,++o>4294967295&&(o=0))),new r(n,o)}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):or}},or=new Mt(0,0);or.toBigInt=function(){return 0n};or.zzEncode=or.zzDecode=function(){return this};or.length=function(){return 1};var Wc=4294967296n;function Yc(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 Jc(r,t,e){if(e-t<1)return"";let o,i=[],s=0,a;for(;t<e;)a=r[t++],a<128?i[s++]=a:a>191&&a<224?i[s++]=(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[s++]=55296+(a>>10),i[s++]=56320+(a&1023)):i[s++]=(a&15)<<12|(r[t++]&63)<<6|r[t++]&63,s>8191&&((o??(o=[])).push(String.fromCharCode.apply(String,i)),s=0);return o!=null?(s>0&&o.push(String.fromCharCode.apply(String,i.slice(0,s))),o.join("")):String.fromCharCode.apply(String,i.slice(0,s))}function Is(r,t,e){let n=e,o,i;for(let s=0;s<r.length;++s)o=r.charCodeAt(s),o<128?t[e++]=o:o<2048?(t[e++]=o>>6|192,t[e++]=o&63|128):(o&64512)===55296&&((i=r.charCodeAt(s+1))&64512)===56320?(o=65536+((o&1023)<<10)+(i&1023),++s,t[e++]=o>>18|240,t[e++]=o>>12&63|128,t[e++]=o>>6&63|128,t[e++]=o&63|128):(t[e++]=o>>12|224,t[e++]=o>>6&63|128,t[e++]=o&63|128);return e-n}function te(r,t){return RangeError(`index out of range: ${r.pos} + ${t??1} > ${r.len}`)}function ro(r,t){return(r[t-4]|r[t-3]<<8|r[t-2]<<16|r[t-1]<<24)>>>0}var ks=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,te(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 te(this,4);return ro(this.buf,this.pos+=4)}sfixed32(){if(this.pos+4>this.len)throw te(this,4);return ro(this.buf,this.pos+=4)|0}float(){if(this.pos+4>this.len)throw te(this,4);let t=jc(this.buf,this.pos);return this.pos+=4,t}double(){if(this.pos+8>this.len)throw te(this,4);let t=Zc(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 te(this,t);return this.pos+=t,e===n?new Uint8Array(0):this.buf.subarray(e,n)}string(){let t=this.bytes();return Jc(t,0,t.length)}skip(t){if(typeof t=="number"){if(this.pos+t>this.len)throw te(this,t);this.pos+=t}else do if(this.pos>=this.len)throw te(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 Mt(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 te(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 te(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 te(this,8);let t=ro(this.buf,this.pos+=4),e=ro(this.buf,this.pos+=4);return new Mt(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=Bs(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 Ts(r){return new ks(r instanceof Uint8Array?r:r.subarray())}function kr(r,t,e){let n=Ts(r);return t.decode(n,void 0,e)}var Cs={};Ct(Cs,{base10:()=>$0});var $0=Le({prefix:"9",name:"base10",alphabet:"0123456789"});var Ns={};Ct(Ns,{base16:()=>K0,base16upper:()=>q0});var K0=ct({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),q0=ct({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var Us={};Ct(Us,{base2:()=>z0});var z0=ct({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var Rs={};Ct(Rs,{base256emoji:()=>Y0});var Qc=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}"),j0=Qc.reduce((r,t,e)=>(r[e]=t,r),[]),G0=Qc.reduce((r,t,e)=>{let n=t.codePointAt(0);if(n==null)throw new Error(`Invalid character: ${t}`);return r[n]=e,r},[]);function Z0(r){return r.reduce((t,e)=>(t+=j0[e],t),"")}function W0(r){let t=[];for(let e of r){let n=e.codePointAt(0);if(n==null)throw new Error(`Invalid character: ${e}`);let o=G0[n];if(o==null)throw new Error(`Non-base256emoji character: ${e}`);t.push(o)}return new Uint8Array(t)}var Y0=mr({prefix:"\u{1F680}",name:"base256emoji",encode:Z0,decode:W0});var Ls={};Ct(Ls,{base8:()=>J0});var J0=ct({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var Vs={};Ct(Vs,{identity:()=>X0});var X0=mr({prefix:"\0",name:"identity",encode:r=>ic(r),decode:r=>oc(r)});var iw=new TextEncoder,sw=new TextDecoder;var Fs={};Ct(Fs,{sha256:()=>nn,sha512:()=>ep});function Ps({name:r,code:t,encode:e}){return new _s(r,t,e)}var _s=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?Wt(this.code,e):e.then(n=>Wt(this.code,n))}else throw Error("Unknown type, must be binary type")}};function eu(r){return async t=>new Uint8Array(await crypto.subtle.digest(r,t))}var nn=Ps({name:"sha2-256",code:18,encode:eu("SHA-256")}),ep=Ps({name:"sha2-512",code:19,encode:eu("SHA-512")});var on={...Vs,...Us,...Ls,...Cs,...Ns,...qi,...Wi,...zi,...Gi,...Rs},ww={...Fs,...Xi};function nu(r,t,e,n){return{name:r,prefix:t,encoder:{name:r,prefix:t,encode:e},decoder:{decode:n}}}var ru=nu("utf8","u",r=>"u"+new TextDecoder("utf8").decode(r),r=>new TextEncoder().encode(r.substring(1))),Ds=nu("ascii","a",r=>{let t="a";for(let e=0;e<r.length;e++)t+=String.fromCharCode(r[e]);return t},r=>{r=r.substring(1);let t=Ft(r.length);for(let e=0;e<r.length;e++)t[e]=r.charCodeAt(e);return t}),rp={utf8:ru,"utf-8":ru,hex:on.base16,latin1:Ds,ascii:Ds,binary:Ds,...on},no=rp;function j(r,t="utf8"){let e=no[t];if(e==null)throw new Error(`Unsupported encoding "${t}"`);return e.decoder.decode(`${e.prefix}${r}`)}function Os(r){let t=r??8192,e=t>>>1,n,o=t;return function(s){if(s<1||s>e)return Ft(s);o+s>t&&(n=Ft(t),o=0);let a=n.subarray(o,o+=s);return o&7&&(o=(o|7)+1),a}}var ir=class{fn;len;next;val;constructor(t,e,n){this.fn=t,this.len=e,this.next=void 0,this.val=n}};function Ms(){}var $s=class{head;tail;len;next;constructor(t){this.head=t.head,this.tail=t.tail,this.len=t.len,this.next=t.states}},np=Os();function op(r){return globalThis.Buffer!=null?Ft(r):np(r)}var an=class{len;head;tail;states;constructor(){this.len=0,this.head=new ir(Ms,0,0),this.tail=this.head,this.states=null}_push(t,e,n){return this.tail=this.tail.next=new ir(t,e,n),this.len+=e,this}uint32(t){return this.len+=(this.tail=this.tail.next=new Ks((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(oo,10,Mt.fromNumber(t)):this.uint32(t)}sint32(t){return this.uint32((t<<1^t>>31)>>>0)}uint64(t){let e=Mt.fromBigInt(t);return this._push(oo,e.length(),e)}uint64Number(t){return this._push(Es,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=Mt.fromBigInt(t).zzEncode();return this._push(oo,e.length(),e)}sint64Number(t){let e=Mt.fromNumber(t).zzEncode();return this._push(oo,e.length(),e)}sint64String(t){return this.sint64(BigInt(t))}bool(t){return this._push(Hs,1,t?1:0)}fixed32(t){return this._push(sn,4,t>>>0)}sfixed32(t){return this.fixed32(t)}fixed64(t){let e=Mt.fromBigInt(t);return this._push(sn,4,e.lo)._push(sn,4,e.hi)}fixed64Number(t){let e=Mt.fromNumber(t);return this._push(sn,4,e.lo)._push(sn,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(zc,4,t)}double(t){return this._push(Gc,8,t)}bytes(t){let e=t.length>>>0;return e===0?this._push(Hs,1,0):this.uint32(e)._push(sp,e,t)}string(t){let e=Yc(t);return e!==0?this.uint32(e)._push(Is,e,t):this._push(Hs,1,0)}fork(){return this.states=new $s(this),this.head=this.tail=new ir(Ms,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 ir(Ms,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=op(this.len),n=0;for(;t!=null;)t.fn(t.val,e,n),n+=t.len,t=t.next;return e}};function Hs(r,t,e){t[e]=r&255}function ip(r,t,e){for(;r>127;)t[e++]=r&127|128,r>>>=7;t[e]=r}var Ks=class extends ir{next;constructor(t,e){super(ip,t,e),this.next=void 0}};function oo(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 sn(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 sp(r,t,e){t.set(r,e)}globalThis.Buffer!=null&&(an.prototype.bytes=function(r){let t=r.length>>>0;return this.uint32(t),t>0&&this._push(ap,t,r),this},an.prototype.string=function(r){let t=globalThis.Buffer.byteLength(r);return this.uint32(t),t>0&&this._push(cp,t,r),this});function ap(r,t,e){t.set(r,e)}function cp(r,t,e){r.length<40?Is(r,t,e):t.utf8Write!=null?t.utf8Write(r,e):t.set(j(r),e)}function qs(){return new an}function Tr(r,t){let e=qs();return t.encode(r,e,{lengthDelimited:!1}),e.finish()}var Cr;(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"})(Cr||(Cr={}));function io(r,t,e,n){return{name:r,type:t,encode:e,decode:n}}function cn(r){function t(o){if(r[o.toString()]==null)throw new Error("Invalid enum value");return r[o]}let e=function(i,s){let a=t(i);s.int32(a)},n=function(i){let s=i.int32();return t(s)};return io("enum",Cr.VARINT,e,n)}function Nr(r,t){return io("message",Cr.LENGTH_DELIMITED,r,t)}var ft;(function(r){r.RSA="RSA",r.Ed25519="Ed25519",r.secp256k1="secp256k1"})(ft||(ft={}));var zs;(function(r){r[r.RSA=0]="RSA",r[r.Ed25519=1]="Ed25519",r[r.secp256k1=2]="secp256k1"})(zs||(zs={}));(function(r){r.codec=()=>cn(zs)})(ft||(ft={}));var ue;(function(r){let t;r.codec=()=>(t==null&&(t=Nr((e,n,o={})=>{o.lengthDelimited!==!1&&n.fork(),e.Type!=null&&(n.uint32(8),ft.codec().encode(e.Type,n)),e.Data!=null&&(n.uint32(18),n.bytes(e.Data)),o.lengthDelimited!==!1&&n.ldelim()},(e,n,o={})=>{let i={},s=n==null?e.len:e.pos+n;for(;e.pos<s;){let a=e.uint32();switch(a>>>3){case 1:{i.Type=ft.codec().decode(e);break}case 2:{i.Data=e.bytes();break}default:{e.skipType(a&7);break}}}return i})),t),r.encode=e=>Tr(e,r.codec()),r.decode=(e,n)=>kr(e,r.codec(),n)})(ue||(ue={}));var js;(function(r){let t;r.codec=()=>(t==null&&(t=Nr((e,n,o={})=>{o.lengthDelimited!==!1&&n.fork(),e.Type!=null&&(n.uint32(8),ft.codec().encode(e.Type,n)),e.Data!=null&&(n.uint32(18),n.bytes(e.Data)),o.lengthDelimited!==!1&&n.ldelim()},(e,n,o={})=>{let i={},s=n==null?e.len:e.pos+n;for(;e.pos<s;){let a=e.uint32();switch(a>>>3){case 1:{i.Type=ft.codec().decode(e);break}case 2:{i.Data=e.bytes();break}default:{e.skipType(a&7);break}}}return i})),t),r.encode=e=>Tr(e,r.codec()),r.decode=(e,n)=>kr(e,r.codec(),n)})(js||(js={}));var wn={};Ct(wn,{MAX_RSA_KEY_SIZE:()=>Jo,generateRSAKeyPair:()=>tl,jwkToJWKKeyPair:()=>el,jwkToPkcs1:()=>Ap,jwkToPkix:()=>ea,jwkToRSAPrivateKey:()=>Qu,pkcs1ToJwk:()=>Yu,pkcs1ToRSAPrivateKey:()=>Xu,pkixToJwk:()=>Ju,pkixToRSAPublicKey:()=>ra});var up=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]),Ke=new Uint32Array([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),qe=new Uint32Array(64),Gs=class extends Ar{constructor(){super(64,32,8,!1),this.A=Ke[0]|0,this.B=Ke[1]|0,this.C=Ke[2]|0,this.D=Ke[3]|0,this.E=Ke[4]|0,this.F=Ke[5]|0,this.G=Ke[6]|0,this.H=Ke[7]|0}get(){let{A:t,B:e,C:n,D:o,E:i,F:s,G:a,H:c}=this;return[t,e,n,o,i,s,a,c]}set(t,e,n,o,i,s,a,c){this.A=t|0,this.B=e|0,this.C=n|0,this.D=o|0,this.E=i|0,this.F=s|0,this.G=a|0,this.H=c|0}process(t,e){for(let l=0;l<16;l++,e+=4)qe[l]=t.getUint32(e,!1);for(let l=16;l<64;l++){let h=qe[l-15],m=qe[l-2],B=Jt(h,7)^Jt(h,18)^h>>>3,w=Jt(m,17)^Jt(m,19)^m>>>10;qe[l]=w+qe[l-7]+B+qe[l-16]|0}let{A:n,B:o,C:i,D:s,E:a,F:c,G:f,H:u}=this;for(let l=0;l<64;l++){let h=Jt(a,6)^Jt(a,11)^Jt(a,25),m=u+h+Ac(a,c,f)+up[l]+qe[l]|0,w=(Jt(n,2)^Jt(n,13)^Jt(n,22))+Sc(n,o,i)|0;u=f,f=c,c=a,a=s+m|0,s=i,i=o,o=n,n=m+w|0}n=n+this.A|0,o=o+this.B|0,i=i+this.C|0,s=s+this.D|0,a=a+this.E|0,c=c+this.F|0,f=f+this.G|0,u=u+this.H|0,this.set(n,o,i,s,a,c,f,u)}roundClean(){qe.fill(0)}destroy(){this.set(0,0,0,0,0,0,0,0),this.buffer.fill(0)}};var Ur=$n(()=>new Gs);var G=_n(iu());function sr(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 ze(r,t,e=-1){let n=e,o=r,i=0,s=Math.pow(2,t);for(let a=1;a<8;a++){if(r<s){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 f=new Uint8Array(c);for(let u=a-1;u>=0;u--){let l=Math.pow(2,u*t);f[i-u-1]=Math.floor(o/l),o-=f[i-u-1]*l}return c}s*=Math.pow(2,t)}return new ArrayBuffer(0)}function co(...r){let t=0,e=0;for(let i of r)t+=i.length;let n=new ArrayBuffer(t),o=new Uint8Array(n);for(let i of r)o.set(i,e),e+=i.length;return o}function Ws(){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=sr(e,8),o=new ArrayBuffer(this.valueHex.byteLength),i=new Uint8Array(o);for(let a=0;a<this.valueHex.byteLength;a++)i[a]=r[a];return i[0]&=127,sr(i,8)-n}function su(r){let t=r<0?r*-1:r,e=128;for(let n=1;n<8;n++){if(t<=e){if(r<0){let s=e-t,a=ze(s,8,n),c=new Uint8Array(a);return c[0]|=128,a}let o=ze(t,8,n),i=new Uint8Array(o);if(i[0]&128){let s=o.slice(0),a=new Uint8Array(s);o=new ArrayBuffer(o.byteLength+1),i=new Uint8Array(o);for(let c=0;c<s.byteLength;c++)i[c+1]=a[c];i[0]=0}return o}e*=Math.pow(2,8)}return new ArrayBuffer(0)}function au(r,t){if(r.byteLength!==t.byteLength)return!1;let e=new Uint8Array(r),n=new Uint8Array(t);for(let o=0;o<e.length;o++)if(e[o]!==n[o])return!1;return!0}function Ot(r,t){let e=r.toString(10);if(t<e.length)return"";let n=t-e.length,o=new Array(n);for(let s=0;s<n;s++)o[s]="0";return o.join("").concat(e)}var Qw=Math.log(2);function uo(){if(typeof BigInt>"u")throw new Error("BigInt is not defined. Your environment doesn't implement BigInt.")}function Ys(r){let t=0,e=0;for(let o=0;o<r.length;o++){let i=r[o];t+=i.byteLength}let n=new Uint8Array(t);for(let o=0;o<r.length;o++){let i=r[o];n.set(new Uint8Array(i),e),e+=i.byteLength}return n.buffer}function ke(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 ln=class{constructor(){this.items=[]}write(t){this.items.push(t)}final(){return Ys(this.items)}},un=[new Uint8Array([1])],cu="0123456789";var Pr="",ee=new ArrayBuffer(0),Js=new Uint8Array(0),fn="EndOfContent",lu="OCTET STRING",fu="BIT STRING";function Te(r){var t;return t=class extends r{constructor(...n){var o;super(...n);let i=n[0]||{};this.isHexOnly=(o=i.isHexOnly)!==null&&o!==void 0?o:!1,this.valueHexView=i.valueHex?G.BufferSourceConverter.toUint8Array(i.valueHex):Js}get valueHex(){return this.valueHexView.slice().buffer}set valueHex(n){this.valueHexView=new Uint8Array(n)}fromBER(n,o,i){let s=n instanceof ArrayBuffer?new Uint8Array(n):n;if(!ke(this,s,o,i))return-1;let a=o+i;return this.valueHexView=s.subarray(o,a),this.valueHexView.length?(this.blockLength=i,a):(this.warnings.push("Zero buffer length"),o)}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",ee)}toJSON(){return{...super.toJSON(),isHexOnly:this.isHexOnly,valueHex:G.Convert.ToHex(this.valueHexView)}}},t.NAME="hexBlock",t}var Ae=class{constructor({blockLength:t=0,error:e=Pr,warnings:n=[],valueBeforeDecode:o=Js}={}){this.blockLength=t,this.error=e,this.warnings=n,this.valueBeforeDecodeView=G.BufferSourceConverter.toUint8Array(o)}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:G.Convert.ToHex(this.valueBeforeDecodeView)}}};Ae.NAME="baseBlock";var St=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'")}};St.NAME="valueBlock";var lo=class extends Te(Ae){constructor({idBlock:t={}}={}){var e,n,o,i;super(),t?(this.isHexOnly=(e=t.isHexOnly)!==null&&e!==void 0?e:!1,this.valueHexView=t.valueHex?G.BufferSourceConverter.toUint8Array(t.valueHex):Js,this.tagClass=(n=t.tagClass)!==null&&n!==void 0?n:-1,this.tagNumber=(o=t.tagNumber)!==null&&o!==void 0?o:-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",ee}if(this.isConstructed&&(e|=32),this.tagNumber<31&&!this.isHexOnly){let o=new Uint8Array(1);if(!t){let i=this.tagNumber;i&=31,e|=i,o[0]=e}return o.buffer}if(!this.isHexOnly){let o=ze(this.tagNumber,7),i=new Uint8Array(o),s=o.byteLength,a=new Uint8Array(s+1);if(a[0]=e|31,!t){for(let c=0;c<s-1;c++)a[c+1]=i[c]|128;a[s]=i[s-1]}return a.buffer}let n=new Uint8Array(this.valueHexView.byteLength+1);if(n[0]=e|31,!t){let o=this.valueHexView;for(let i=0;i<o.length-1;i++)n[i+1]=o[i]|128;n[this.valueHexView.byteLength]=o[o.length-1]}return n.buffer}fromBER(t,e,n){let o=G.BufferSourceConverter.toUint8Array(t);if(!ke(this,o,e,n))return-1;let i=o.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,f=this.valueHexView=new Uint8Array(255),u=255;for(;i[c]&128;){if(f[c-1]=i[c]&127,c++,c>=i.length)return this.error="End of input reached before message was fully decoded",-1;if(c===u){u+=255;let h=new Uint8Array(u);for(let m=0;m<f.length;m++)h[m]=f[m];f=this.valueHexView=new Uint8Array(u)}}this.blockLength=c+1,f[c-1]=i[c]&127;let l=new Uint8Array(c);for(let h=0;h<c;h++)l[h]=f[h];f=this.valueHexView=new Uint8Array(c),f.set(l),this.blockLength<=9?this.tagNumber=sr(f,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}}};lo.NAME="identificationBlock";var fo=class extends Ae{constructor({lenBlock:t={}}={}){var e,n,o;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=(o=t.length)!==null&&o!==void 0?o:0}fromBER(t,e,n){let o=G.BufferSourceConverter.toUint8Array(t);if(!ke(this,o,e,n))return-1;let i=o.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 s=i[0]&127;if(s>8)return this.error="Too big integer",-1;if(s+1>i.length)return this.error="End of input reached before message was fully decoded",-1;let a=e+1,c=o.subarray(a,a+s);return c[s-1]===0&&this.warnings.push("Needlessly long encoded length"),this.length=sr(c,8),this.longFormUsed&&this.length<=127&&this.warnings.push("Unnecessary usage of long length form"),this.blockLength=s+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 o=ze(this.length,8);if(o.byteLength>127)return this.error="Too big length",ee;if(e=new ArrayBuffer(o.byteLength+1),t)return e;let i=new Uint8Array(o);n=new Uint8Array(e),n[0]=o.byteLength|128;for(let s=0;s<o.byteLength;s++)n[s+1]=i[s];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}}};fo.NAME="lengthBlock";var V={},wt=class extends Ae{constructor({name:t=Pr,optional:e=!1,primitiveSchema:n,...o}={},i){super(o),this.name=t,this.optional=e,n&&(this.primitiveSchema=n),this.idBlock=new lo(o),this.lenBlock=new fo(o),this.valueBlock=i?new i(o):new St(o)}fromBER(t,e,n){let o=this.valueBlock.fromBER(t,e,this.lenBlock.isIndefiniteForm?n:this.lenBlock.length);return o===-1?(this.error=this.valueBlock.error,o):(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),o)}toBER(t,e){let n=e||new ln;e||hu(this);let o=this.idBlock.toBER(t);if(n.write(o),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 s=this.lenBlock.toBER(t);n.write(s),n.write(i)}return e?ee: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():G.Convert.ToHex(this.toBER())}onAsciiEncoding(){return`${this.constructor.NAME} : ${G.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 au(e,n)}};wt.NAME="BaseBlock";function hu(r){if(r instanceof V.Constructed)for(let t of r.valueBlock.value)hu(t)&&(r.lenBlock.isIndefiniteForm=!0);return!!r.lenBlock.isIndefiniteForm}var ho=class extends wt{constructor({value:t=Pr,...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 o=this.valueBlock.fromBER(t,e,this.lenBlock.isIndefiniteForm?n:this.lenBlock.length);return o===-1?(this.error=this.valueBlock.error,o):(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),o)}onAsciiEncoding(){return`${this.constructor.NAME} : '${this.valueBlock.value}'`}};ho.NAME="BaseStringBlock";var po=class extends Te(St){constructor({isHexOnly:t=!0,...e}={}){super(e),this.isHexOnly=t}};po.NAME="PrimitiveValueBlock";var du,go=class extends wt{constructor(t={}){super(t,po),this.idBlock.isConstructed=!1}};du=go;V.Primitive=du;go.NAME="PRIMITIVE";function wp(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 Wo(r,t=0,e=r.length){let n=t,o=new wt({},St),i=new Ae;if(!ke(i,r,t,e))return o.error=i.error,{offset:-1,result:o};if(!r.subarray(t,t+e).length)return o.error="Zero buffer length",{offset:-1,result:o};let a=o.idBlock.fromBER(r,t,e);if(o.idBlock.warnings.length&&o.warnings.concat(o.idBlock.warnings),a===-1)return o.error=o.idBlock.error,{offset:-1,result:o};if(t=a,e-=o.idBlock.blockLength,a=o.lenBlock.fromBER(r,t,e),o.lenBlock.warnings.length&&o.warnings.concat(o.lenBlock.warnings),a===-1)return o.error=o.lenBlock.error,{offset:-1,result:o};if(t=a,e-=o.lenBlock.blockLength,!o.idBlock.isConstructed&&o.lenBlock.isIndefiniteForm)return o.error="Indefinite length form used for primitive encoding form",{offset:-1,result:o};let c=wt;switch(o.idBlock.tagClass){case 1:if(o.idBlock.tagNumber>=37&&o.idBlock.isHexOnly===!1)return o.error="UNIVERSAL 37 and upper tags are reserved by ASN.1 standard",{offset:-1,result:o};switch(o.idBlock.tagNumber){case 0:if(o.idBlock.isConstructed&&o.lenBlock.length>0)return o.error="Type [UNIVERSAL 0] is reserved",{offset:-1,result:o};c=V.EndOfContent;break;case 1:c=V.Boolean;break;case 2:c=V.Integer;break;case 3:c=V.BitString;break;case 4:c=V.OctetString;break;case 5:c=V.Null;break;case 6:c=V.ObjectIdentifier;break;case 10:c=V.Enumerated;break;case 12:c=V.Utf8String;break;case 13:c=V.RelativeObjectIdentifier;break;case 14:c=V.TIME;break;case 15:return o.error="[UNIVERSAL 15] is reserved by ASN.1 standard",{offset:-1,result:o};case 16:c=V.Sequence;break;case 17:c=V.Set;break;case 18:c=V.NumericString;break;case 19:c=V.PrintableString;break;case 20:c=V.TeletexString;break;case 21:c=V.VideotexString;break;case 22:c=V.IA5String;break;case 23:c=V.UTCTime;break;case 24:c=V.GeneralizedTime;break;case 25:c=V.GraphicString;break;case 26:c=V.VisibleString;break;case 27:c=V.GeneralString;break;case 28:c=V.UniversalString;break;case 29:c=V.CharacterString;break;case 30:c=V.BmpString;break;case 31:c=V.DATE;break;case 32:c=V.TimeOfDay;break;case 33:c=V.DateTime;break;case 34:c=V.Duration;break;default:{let f=o.idBlock.isConstructed?new V.Constructed:new V.Primitive;f.idBlock=o.idBlock,f.lenBlock=o.lenBlock,f.warnings=o.warnings,o=f}}break;case 2:case 3:case 4:default:c=o.idBlock.isConstructed?V.Constructed:V.Primitive}return o=wp(o,c),a=o.fromBER(r,t,o.lenBlock.isIndefiniteForm?e:o.lenBlock.length),o.valueBeforeDecodeView=r.subarray(n,n+o.blockLength),{offset:a,result:o}}function Xs(r){if(!r.byteLength){let t=new wt({},St);return t.error="Input buffer has zero length",{offset:-1,result:t}}return Wo(G.BufferSourceConverter.toUint8Array(r).slice(),0,r.byteLength)}function xp(r,t){return r?1:t}var le=class extends St{constructor({value:t=[],isIndefiniteForm:e=!1,...n}={}){super(n),this.value=t,this.isIndefiniteForm=e}fromBER(t,e,n){let o=G.BufferSourceConverter.toUint8Array(t);if(!ke(this,o,e,n))return-1;if(this.valueBeforeDecodeView=o.subarray(e,e+n),this.valueBeforeDecodeView.length===0)return this.warnings.push("Zero buffer length"),e;let i=e;for(;xp(this.isIndefiniteForm,n)>0;){let s=Wo(o,i,n);if(s.offset===-1)return this.error=s.result.error,this.warnings.concat(s.result.warnings),-1;if(i=s.offset,this.blockLength+=s.result.blockLength,n-=s.result.blockLength,this.value.push(s.result),this.isIndefiniteForm&&s.result.constructor.NAME===fn)break}return this.isIndefiniteForm&&(this.value[this.value.length-1].constructor.NAME===fn?this.value.pop():this.warnings.push("No EndOfContent block encoded")),i}toBER(t,e){let n=e||new ln;for(let o=0;o<this.value.length;o++)this.value[o].toBER(t,n);return e?ee:n.final()}toJSON(){let t={...super.toJSON(),isIndefiniteForm:this.isIndefiniteForm,value:[]};for(let e of this.value)t.value.push(e.toJSON());return t}};le.NAME="ConstructedValueBlock";var pu,je=class extends wt{constructor(t={}){super(t,le),this.idBlock.isConstructed=!0}fromBER(t,e,n){this.valueBlock.isIndefiniteForm=this.lenBlock.isIndefiniteForm;let o=this.valueBlock.fromBER(t,e,this.lenBlock.isIndefiniteForm?n:this.lenBlock.length);return o===-1?(this.error=this.valueBlock.error,o):(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),o)}onAsciiEncoding(){let t=[];for(let n of this.valueBlock.value)t.push(n.toString("ascii").split(`
4
- `).map(o=>` ${o}`).join(`
5
- `));let e=this.idBlock.tagClass===3?`[${this.idBlock.tagNumber}]`:this.constructor.NAME;return t.length?`${e} :
6
- ${t.join(`
7
- `)}`:`${e} :`}};pu=je;V.Constructed=pu;je.NAME="CONSTRUCTED";var mo=class extends St{fromBER(t,e,n){return e}toBER(t){return ee}};mo.override="EndOfContentValueBlock";var gu,yo=class extends wt{constructor(t={}){super(t,mo),this.idBlock.tagClass=1,this.idBlock.tagNumber=0}};gu=yo;V.EndOfContent=gu;yo.NAME=fn;var mu,Lr=class extends wt{constructor(t={}){super(t,St),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 o=new Uint8Array(n);o[0]=5,o[1]=0}return e&&e.write(n),n}onAsciiEncoding(){return`${this.constructor.NAME}`}};mu=Lr;V.Null=mu;Lr.NAME="NULL";var wo=class extends Te(St){constructor({value:t,...e}={}){super(e),e.valueHex?this.valueHexView=G.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 o=G.BufferSourceConverter.toUint8Array(t);return ke(this,o,e,n)?(this.valueHexView=o.subarray(e,e+n),n>1&&this.warnings.push("Boolean value encoded in more then 1 octet"),this.isHexOnly=!0,Ws.call(this),this.blockLength=n,e+n):-1}toBER(){return this.valueHexView.slice()}toJSON(){return{...super.toJSON(),value:this.value}}};wo.NAME="BooleanValueBlock";var yu,xo=class extends wt{constructor(t={}){super(t,wo),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}`}};yu=xo;V.Boolean=yu;xo.NAME="BOOLEAN";var bo=class extends Te(le){constructor({isConstructed:t=!1,...e}={}){super(e),this.isConstructed=t}fromBER(t,e,n){let o=0;if(this.isConstructed){if(this.isHexOnly=!1,o=le.prototype.fromBER.call(this,t,e,n),o===-1)return o;for(let i=0;i<this.value.length;i++){let s=this.value[i].constructor.NAME;if(s===fn){if(this.isIndefiniteForm)break;return this.error="EndOfContent is unexpected, OCTET STRING may consists of OCTET STRINGs only",-1}if(s!==lu)return this.error="OCTET STRING may consists of OCTET STRINGs only",-1}}else this.isHexOnly=!0,o=super.fromBER(t,e,n),this.blockLength=n;return o}toBER(t,e){return this.isConstructed?le.prototype.toBER.call(this,t,e):t?new ArrayBuffer(this.valueHexView.byteLength):this.valueHexView.slice().buffer}toJSON(){return{...super.toJSON(),isConstructed:this.isConstructed}}};bo.NAME="OctetStringValueBlock";var wu,vo=class r extends wt{constructor({idBlock:t={},lenBlock:e={},...n}={}){var o,i;(o=n.isConstructed)!==null&&o!==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},bo),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 s=Wo(i,0,i.byteLength);s.offset!==-1&&s.offset===n&&(this.valueBlock.value=[s.result])}}catch{}}return super.fromBER(t,e,n)}onAsciiEncoding(){return this.valueBlock.isConstructed||this.valueBlock.value&&this.valueBlock.value.length?je.prototype.onAsciiEncoding.call(this):`${this.constructor.NAME} : ${G.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 G.BufferSourceConverter.concat(t)}};wu=vo;V.OctetString=wu;vo.NAME=lu;var Eo=class extends Te(le){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 o=-1;if(this.isConstructed){if(o=le.prototype.fromBER.call(this,t,e,n),o===-1)return o;for(let a of this.value){let c=a.constructor.NAME;if(c===fn){if(this.isIndefiniteForm)break;return this.error="EndOfContent is unexpected, BIT STRING may consists of BIT STRINGs only",-1}if(c!==fu)return this.error="BIT STRING may consists of BIT STRINGs only",-1;let f=a.valueBlock;if(this.unusedBits>0&&f.unusedBits>0)return this.error='Using of "unused bits" inside constructive BIT STRING allowed for least one only',-1;this.unusedBits=f.unusedBits}return o}let i=G.BufferSourceConverter.toUint8Array(t);if(!ke(this,i,e,n))return-1;let s=i.subarray(e,e+n);if(this.unusedBits=s[0],this.unusedBits>7)return this.error="Unused bits for BitString must be in range 0-7",-1;if(!this.unusedBits){let a=s.subarray(1);try{if(a.byteLength){let c=Wo(a,0,a.byteLength);c.offset!==-1&&c.offset===n-1&&(this.value=[c.result])}}catch{}}return this.valueHexView=s.subarray(1),this.blockLength=s.length,e+n}toBER(t,e){if(this.isConstructed)return le.prototype.toBER.call(this,t,e);if(t)return new ArrayBuffer(this.valueHexView.byteLength+1);if(!this.valueHexView.byteLength)return ee;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}}};Eo.NAME="BitStringValueBlock";var xu,Vr=class extends wt{constructor({idBlock:t={},lenBlock:e={},...n}={}){var o,i;(o=n.isConstructed)!==null&&o!==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},Eo),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 je.prototype.onAsciiEncoding.call(this);{let t=[],e=this.valueBlock.valueHexView;for(let o of e)t.push(o.toString(2).padStart(8,"0"));let n=t.join("");return`${this.constructor.NAME} : ${n.substring(0,n.length-this.valueBlock.unusedBits)}`}}};xu=Vr;V.BitString=xu;Vr.NAME=fu;var bu;function bp(r,t){let e=new Uint8Array([0]),n=new Uint8Array(r),o=new Uint8Array(t),i=n.slice(0),s=i.length-1,a=o.slice(0),c=a.length-1,f=0,u=c<s?s:c,l=0;for(let h=u;h>=0;h--,l++){switch(!0){case l<a.length:f=i[s-l]+a[c-l]+e[0];break;default:f=i[s-l]+e[0]}switch(e[0]=f/10,!0){case l>=i.length:i=co(new Uint8Array([f%10]),i);break;default:i[s-l]=f%10}}return e[0]>0&&(i=co(e,i)),i}function uu(r){if(r>=un.length)for(let t=un.length;t<=r;t++){let e=new Uint8Array([0]),n=un[t-1].slice(0);for(let o=n.length-1;o>=0;o--){let i=new Uint8Array([(n[o]<<1)+e[0]]);e[0]=i[0]/10,n[o]=i[0]%10}e[0]>0&&(n=co(e,n)),un.push(n)}return un[r]}function vp(r,t){let e=0,n=new Uint8Array(r),o=new Uint8Array(t),i=n.slice(0),s=i.length-1,a=o.slice(0),c=a.length-1,f,u=0;for(let l=c;l>=0;l--,u++)switch(f=i[s-u]-a[c-u]-e,!0){case f<0:e=1,i[s-u]=f+10;break;default:e=0,i[s-u]=f}if(e>0)for(let l=s-c+1;l>=0;l--,u++)if(f=i[s-u]-e,f<0)e=1,i[s-u]=f+10;else{e=0,i[s-u]=f;break}return i.slice()}var hn=class extends Te(St){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=Ws.call(this)))}set valueDec(t){this._valueDec=t,this.isHexOnly=!1,this.valueHexView=new Uint8Array(su(t))}get valueDec(){return this._valueDec}fromDER(t,e,n,o=0){let i=this.fromBER(t,e,n);if(i===-1)return i;let s=this.valueHexView;return s[0]===0&&s[1]&128?this.valueHexView=s.subarray(1):o!==0&&s.length<o&&(o-s.length>1&&(o=s.length+1),this.valueHexView=s.subarray(o-s.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 o=super.fromBER(t,e,n);return o===-1||this.setValueHex(),o}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,o,i=this.valueHexView,s="",a=!1;for(let c=i.byteLength-1;c>=0;c--){o=i[c];for(let f=0;f<8;f++){if((o&1)===1)switch(n){case t:e=vp(uu(n),e),s="-";break;default:e=bp(e,uu(n))}n++,o>>=1}}for(let c=0;c<e.length;c++)e[c]&&(a=!0),a&&(s+=cu.charAt(e[c]));return a===!1&&(s+=cu.charAt(0)),s}};bu=hn;hn.NAME="IntegerValueBlock";Object.defineProperty(bu.prototype,"valueHex",{set:function(r){this.valueHexView=new Uint8Array(r),this.setValueHex()},get:function(){return this.valueHexView.slice().buffer}});var vu,xt=class r extends wt{constructor(t={}){super(t,hn),this.idBlock.tagClass=1,this.idBlock.tagNumber=2}toBigInt(){return uo(),BigInt(this.valueBlock.toString())}static fromBigInt(t){uo();let e=BigInt(t),n=new ln,o=e.toString(16).replace(/^-/,""),i=new Uint8Array(G.Convert.FromHex(o));if(e<0){let a=new Uint8Array(i.length+(i[0]&128?1:0));a[0]|=128;let f=BigInt(`0x${G.Convert.ToHex(a)}`)+e,u=G.BufferSourceConverter.toUint8Array(G.Convert.FromHex(f.toString(16)));u[0]|=128,n.write(u)}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()}`}};vu=xt;V.Integer=vu;xt.NAME="INTEGER";var Eu,Bo=class extends xt{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=10}};Eu=Bo;V.Enumerated=Eu;Bo.NAME="ENUMERATED";var dn=class extends Te(St){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 o=G.BufferSourceConverter.toUint8Array(t);if(!ke(this,o,e,n))return-1;let i=o.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 s=new Uint8Array(this.blockLength);for(let a=0;a<this.blockLength;a++)s[a]=this.valueHexView[a];return this.valueHexView=s,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=sr(this.valueHexView,7):(this.isHexOnly=!0,this.warnings.push("Too big SID for decoding, hex only")),e+this.blockLength)}set valueBigInt(t){uo();let e=BigInt(t).toString(2);for(;e.length%7;)e="0"+e;let n=new Uint8Array(e.length/7);for(let o=0;o<n.length;o++)n[o]=parseInt(e.slice(o*7,o*7+7),2)+(o+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 o=this.valueHexView,i=new Uint8Array(this.blockLength);for(let s=0;s<this.blockLength-1;s++)i[s]=o[s]|128;return i[this.blockLength-1]=o[this.blockLength-1],i.buffer}let e=ze(this.valueDec,7);if(e.byteLength===0)return this.error="Error during encoding SID value",ee;let n=new Uint8Array(e.byteLength);if(!t){let o=new Uint8Array(e),i=e.byteLength-1;for(let s=0;s<i;s++)n[s]=o[s]|128;n[i]=o[i]}return n}toString(){let t="";if(this.isHexOnly)t=G.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}}};dn.NAME="sidBlock";var Ao=class extends St{constructor({value:t=Pr,...e}={}){super(e),this.value=[],t&&this.fromString(t)}fromBER(t,e,n){let o=e;for(;n>0;){let i=new dn;if(o=i.fromBER(t,o,n),o===-1)return this.blockLength=0,this.error=i.error,o;this.value.length===0&&(i.isFirstSid=!0),this.blockLength+=i.blockLength,n-=i.blockLength,this.value.push(i)}return o}toBER(t){let e=[];for(let n=0;n<this.value.length;n++){let o=this.value[n].toBER(t);if(o.byteLength===0)return this.error=this.value[n].error,ee;e.push(o)}return Ys(e)}fromString(t){this.value=[];let e=0,n=0,o="",i=!1;do if(n=t.indexOf(".",e),n===-1?o=t.substring(e):o=t.substring(e,n),e=n+1,i){let s=this.value[0],a=0;switch(s.valueDec){case 0:break;case 1:a=40;break;case 2:a=80;break;default:this.value=[];return}let c=parseInt(o,10);if(isNaN(c))return;s.valueDec=c+a,i=!1}else{let s=new dn;if(o>Number.MAX_SAFE_INTEGER){uo();let a=BigInt(o);s.valueBigInt=a}else if(s.valueDec=parseInt(o,10),isNaN(s.valueDec))return;this.value.length||(s.isFirstSid=!0,i=!0),this.value.push(s)}while(n!==-1)}toString(){let t="",e=!1;for(let n=0;n<this.value.length;n++){e=this.value[n].isHexOnly;let o=this.value[n].toString();n!==0&&(t=`${t}.`),e?(o=`{${o}}`,this.value[n].isFirstSid?t=`2.{${o} - 80}`:t+=o):t+=o}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}};Ao.NAME="ObjectIdentifierValueBlock";var Bu,_r=class extends wt{constructor(t={}){super(t,Ao),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()}}};Bu=_r;V.ObjectIdentifier=Bu;_r.NAME="OBJECT IDENTIFIER";var pn=class extends Te(Ae){constructor({valueDec:t=0,...e}={}){super(e),this.valueDec=t}fromBER(t,e,n){if(n===0)return e;let o=G.BufferSourceConverter.toUint8Array(t);if(!ke(this,o,e,n))return-1;let i=o.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 s=new Uint8Array(this.blockLength);for(let a=0;a<this.blockLength;a++)s[a]=this.valueHexView[a];return this.valueHexView=s,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=sr(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 o=this.valueHexView,i=new Uint8Array(this.blockLength);for(let s=0;s<this.blockLength-1;s++)i[s]=o[s]|128;return i[this.blockLength-1]=o[this.blockLength-1],i.buffer}let e=ze(this.valueDec,7);if(e.byteLength===0)return this.error="Error during encoding SID value",ee;let n=new Uint8Array(e.byteLength);if(!t){let o=new Uint8Array(e),i=e.byteLength-1;for(let s=0;s<i;s++)n[s]=o[s]|128;n[i]=o[i]}return n.buffer}toString(){let t="";return this.isHexOnly?t=G.Convert.ToHex(this.valueHexView):t=this.valueDec.toString(),t}toJSON(){return{...super.toJSON(),valueDec:this.valueDec}}};pn.NAME="relativeSidBlock";var So=class extends St{constructor({value:t=Pr,...e}={}){super(e),this.value=[],t&&this.fromString(t)}fromBER(t,e,n){let o=e;for(;n>0;){let i=new pn;if(o=i.fromBER(t,o,n),o===-1)return this.blockLength=0,this.error=i.error,o;this.blockLength+=i.blockLength,n-=i.blockLength,this.value.push(i)}return o}toBER(t,e){let n=[];for(let o=0;o<this.value.length;o++){let i=this.value[o].toBER(t);if(i.byteLength===0)return this.error=this.value[o].error,ee;n.push(i)}return Ys(n)}fromString(t){this.value=[];let e=0,n=0,o="";do{n=t.indexOf(".",e),n===-1?o=t.substring(e):o=t.substring(e,n),e=n+1;let i=new pn;if(i.valueDec=parseInt(o,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 o=this.value[n].toString();n!==0&&(t=`${t}.`),e&&(o=`{${o}}`),t+=o}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}};So.NAME="RelativeObjectIdentifierValueBlock";var Au,Io=class extends wt{constructor(t={}){super(t,So),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()}}};Au=Io;V.RelativeObjectIdentifier=Au;Io.NAME="RelativeObjectIdentifier";var Su,Se=class extends je{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=16}};Su=Se;V.Sequence=Su;Se.NAME="SEQUENCE";var Iu,ko=class extends je{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=17}};Iu=ko;V.Set=Iu;ko.NAME="SET";var To=class extends Te(St){constructor({...t}={}){super(t),this.isHexOnly=!0,this.value=Pr}toJSON(){return{...super.toJSON(),value:this.value}}};To.NAME="StringValueBlock";var Co=class extends To{};Co.NAME="SimpleStringValueBlock";var Nt=class extends ho{constructor({...t}={}){super(t,Co)}fromBuffer(t){this.valueBlock.value=String.fromCharCode.apply(null,G.BufferSourceConverter.toUint8Array(t))}fromString(t){let e=t.length,n=this.valueBlock.valueHexView=new Uint8Array(e);for(let o=0;o<e;o++)n[o]=t.charCodeAt(o);this.valueBlock.value=t}};Nt.NAME="SIMPLE STRING";var No=class extends Nt{fromBuffer(t){this.valueBlock.valueHexView=G.BufferSourceConverter.toUint8Array(t);try{this.valueBlock.value=G.Convert.ToUtf8String(t)}catch(e){this.warnings.push(`Error during "decodeURIComponent": ${e}, using raw string`),this.valueBlock.value=G.Convert.ToBinary(t)}}fromString(t){this.valueBlock.valueHexView=new Uint8Array(G.Convert.FromUtf8String(t)),this.valueBlock.value=t}};No.NAME="Utf8StringValueBlock";var ku,Ie=class extends No{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=12}};ku=Ie;V.Utf8String=ku;Ie.NAME="UTF8String";var Uo=class extends Nt{fromBuffer(t){this.valueBlock.value=G.Convert.ToUtf16String(t),this.valueBlock.valueHexView=G.BufferSourceConverter.toUint8Array(t)}fromString(t){this.valueBlock.value=t,this.valueBlock.valueHexView=new Uint8Array(G.Convert.FromUtf16String(t))}};Uo.NAME="BmpStringValueBlock";var Tu,Ro=class extends Uo{constructor({...t}={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=30}};Tu=Ro;V.BmpString=Tu;Ro.NAME="BMPString";var Lo=class extends Nt{fromBuffer(t){let e=ArrayBuffer.isView(t)?t.slice().buffer:t.slice(0),n=new Uint8Array(e);for(let o=0;o<n.length;o+=4)n[o]=n[o+3],n[o+1]=n[o+2],n[o+2]=0,n[o+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 o=0;o<e;o++){let i=ze(t.charCodeAt(o),8),s=new Uint8Array(i);if(s.length>4)continue;let a=4-s.length;for(let c=s.length-1;c>=0;c--)n[o*4+c+a]=s[c]}this.valueBlock.value=t}};Lo.NAME="UniversalStringValueBlock";var Cu,Vo=class extends Lo{constructor({...t}={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=28}};Cu=Vo;V.UniversalString=Cu;Vo.NAME="UniversalString";var Nu,_o=class extends Nt{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=18}};Nu=_o;V.NumericString=Nu;_o.NAME="NumericString";var Uu,Po=class extends Nt{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=19}};Uu=Po;V.PrintableString=Uu;Po.NAME="PrintableString";var Ru,Fo=class extends Nt{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=20}};Ru=Fo;V.TeletexString=Ru;Fo.NAME="TeletexString";var Lu,Do=class extends Nt{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=21}};Lu=Do;V.VideotexString=Lu;Do.NAME="VideotexString";var Vu,Oo=class extends Nt{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=22}};Vu=Oo;V.IA5String=Vu;Oo.NAME="IA5String";var _u,Mo=class extends Nt{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=25}};_u=Mo;V.GraphicString=_u;Mo.NAME="GraphicString";var Pu,gn=class extends Nt{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=26}};Pu=gn;V.VisibleString=Pu;gn.NAME="VisibleString";var Fu,Ho=class extends Nt{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=27}};Fu=Ho;V.GeneralString=Fu;Ho.NAME="GeneralString";var Du,$o=class extends Nt{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=29}};Du=$o;V.CharacterString=Du;$o.NAME="CharacterString";var Ou,mn=class extends gn{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 o=0;o<t.length;o++)this.valueBlock.valueHexView[o]=t.charCodeAt(o)}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,G.BufferSourceConverter.toUint8Array(t)))}toBuffer(){let t=this.toString(),e=new ArrayBuffer(t.length),n=new Uint8Array(e);for(let o=0;o<t.length;o++)n[o]=t.charCodeAt(o);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 o=parseInt(n[1],10);o>=50?this.year=1900+o:this.year=2e3+o,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]=Ot(this.year<2e3?this.year-1900:this.year-2e3,2),e[1]=Ot(this.month,2),e[2]=Ot(this.day,2),e[3]=Ot(this.hour,2),e[4]=Ot(this.minute,2),e[5]=Ot(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}}};Ou=mn;V.UTCTime=Ou;mn.NAME="UTCTime";var Mu,Ko=class extends mn{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="",o="",i=0,s,a=0,c=0;if(t[t.length-1]==="Z")n=t.substring(0,t.length-1),e=!0;else{let l=new Number(t[t.length-1]);if(isNaN(l.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 l=1,h=n.indexOf("+"),m="";if(h===-1&&(h=n.indexOf("-"),l=-1),h!==-1){if(m=n.substring(h+1),n=n.substring(0,h),m.length!==2&&m.length!==4)throw new Error("Wrong input string for conversion");let B=parseInt(m.substring(0,2),10);if(isNaN(B.valueOf()))throw new Error("Wrong input string for conversion");if(a=l*B,m.length===4){if(B=parseInt(m.substring(2,4),10),isNaN(B.valueOf()))throw new Error("Wrong input string for conversion");c=l*B}}}let f=n.indexOf(".");if(f===-1&&(f=n.indexOf(",")),f!==-1){let l=new Number(`0${n.substring(f)}`);if(isNaN(l.valueOf()))throw new Error("Wrong input string for conversion");i=l.valueOf(),o=n.substring(0,f)}else o=n;switch(!0){case o.length===8:if(s=/(\d{4})(\d{2})(\d{2})/ig,f!==-1)throw new Error("Wrong input string for conversion");break;case o.length===10:if(s=/(\d{4})(\d{2})(\d{2})(\d{2})/ig,f!==-1){let l=60*i;this.minute=Math.floor(l),l=60*(l-this.minute),this.second=Math.floor(l),l=1e3*(l-this.second),this.millisecond=Math.floor(l)}break;case o.length===12:if(s=/(\d{4})(\d{2})(\d{2})(\d{2})(\d{2})/ig,f!==-1){let l=60*i;this.second=Math.floor(l),l=1e3*(l-this.second),this.millisecond=Math.floor(l)}break;case o.length===14:if(s=/(\d{4})(\d{2})(\d{2})(\d{2})(\d{2})(\d{2})/ig,f!==-1){let l=1e3*i;this.millisecond=Math.floor(l)}break;default:throw new Error("Wrong input string for conversion")}let u=s.exec(o);if(u===null)throw new Error("Wrong input string for conversion");for(let l=1;l<u.length;l++)switch(l){case 1:this.year=parseInt(u[l],10);break;case 2:this.month=parseInt(u[l],10);break;case 3:this.day=parseInt(u[l],10);break;case 4:this.hour=parseInt(u[l],10)+a;break;case 5:this.minute=parseInt(u[l],10)+c;break;case 6:this.second=parseInt(u[l],10);break;default:throw new Error("Wrong input string for conversion")}if(e===!1){let l=new Date(this.year,this.month,this.day,this.hour,this.minute,this.second,this.millisecond);this.year=l.getUTCFullYear(),this.month=l.getUTCMonth(),this.day=l.getUTCDay(),this.hour=l.getUTCHours(),this.minute=l.getUTCMinutes(),this.second=l.getUTCSeconds(),this.millisecond=l.getUTCMilliseconds()}}toString(t="iso"){if(t==="iso"){let e=[];return e.push(Ot(this.year,4)),e.push(Ot(this.month,2)),e.push(Ot(this.day,2)),e.push(Ot(this.hour,2)),e.push(Ot(this.minute,2)),e.push(Ot(this.second,2)),this.millisecond!==0&&(e.push("."),e.push(Ot(this.millisecond,3))),e.push("Z"),e.join("")}return super.toString(t)}toJSON(){return{...super.toJSON(),millisecond:this.millisecond}}};Mu=Ko;V.GeneralizedTime=Mu;Ko.NAME="GeneralizedTime";var Hu,qo=class extends Ie{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=31}};Hu=qo;V.DATE=Hu;qo.NAME="DATE";var $u,zo=class extends Ie{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=32}};$u=zo;V.TimeOfDay=$u;zo.NAME="TimeOfDay";var Ku,jo=class extends Ie{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=33}};Ku=jo;V.DateTime=Ku;jo.NAME="DateTime";var qu,Go=class extends Ie{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=34}};qu=Go;V.Duration=qu;Go.NAME="Duration";var zu,Zo=class extends Ie{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=14}};zu=Zo;V.TIME=zu;Zo.NAME="TIME";function nt(r,t="utf8"){let e=no[t];if(e==null)throw new Error(`Unsupported encoding "${t}"`);return e.encoder.encode(r).substring(1)}var yn=class extends Error{constructor(t="An error occurred while verifying a message"){super(t),this.name="VerificationError"}},Yo=class extends Error{constructor(t="Missing Web Crypto API"){super(t),this.name="WebCryptoMissingError"}};var ju={get(r=globalThis){let t=r.crypto;if(t?.subtle==null)throw new Yo("Missing Web Crypto API. The most likely cause of this error is that this page is being accessed from an insecure context (i.e. not HTTPS). For more information and possible resolutions see https://github.com/libp2p/js-libp2p/blob/main/packages/crypto/README.md#web-crypto-api");return t}};var Ge=ju;async function Gu(r){let t=await Ge.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 Bp(t);return{privateKey:e[0],publicKey:e[1]}}async function Zu(r,t){let e=await Ge.get().subtle.importKey("jwk",r,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!1,["sign"]),n=await Ge.get().subtle.sign({name:"RSASSA-PKCS1-v1_5"},e,t instanceof Uint8Array?t:t.subarray());return new Uint8Array(n,0,n.byteLength)}async function Wu(r,t,e){let n=await Ge.get().subtle.importKey("jwk",r,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!1,["verify"]);return Ge.get().subtle.verify({name:"RSASSA-PKCS1-v1_5"},n,t,e instanceof Uint8Array?e:e.subarray())}async function Bp(r){if(r.privateKey==null||r.publicKey==null)throw new Et("Private and public key are required");return Promise.all([Ge.get().subtle.exportKey("jwk",r.privateKey),Ge.get().subtle.exportKey("jwk",r.publicKey)])}function Qs(r){if(r.kty!=="RSA")throw new Et("invalid key type");if(r.n==null)throw new Et("invalid key modulus");return j(r.n,"base64url").length*8}var Fr=class{type="RSA";_key;_raw;_multihash;constructor(t,e){this._key=t,this._multihash=e}get raw(){return this._raw==null&&(this._raw=wn.jwkToPkix(this._key)),this._raw}toMultihash(){return this._multihash}toCID(){return X.createV1(114,this._multihash)}toString(){return rt.encode(this.toMultihash().bytes).substring(1)}equals(t){return t==null||!(t.raw instanceof Uint8Array)?!1:st(this.raw,t.raw)}verify(t,e){return Wu(this._key,e,t)}},xn=class{type="RSA";_key;_raw;publicKey;constructor(t,e){this._key=t,this.publicKey=e}get raw(){return this._raw==null&&(this._raw=wn.jwkToPkcs1(this._key)),this._raw}equals(t){return t==null||!(t.raw instanceof Uint8Array)?!1:st(this.raw,t.raw)}sign(t){return Zu(this._key,t)}};var Jo=8192,ta=18;function Yu(r){let{result:t}=Xs(r),e=t.valueBlock.value;return{n:fe(e[1]),e:fe(e[2]),d:fe(e[3]),p:fe(e[4]),q:fe(e[5]),dp:fe(e[6]),dq:fe(e[7]),qi:fe(e[8]),kty:"RSA",alg:"RS256"}}function Ap(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 Et("JWK was missing components");let e=new Se({value:[new xt({value:0}),xt.fromBigInt(he(j(r.n,"base64url"))),xt.fromBigInt(he(j(r.e,"base64url"))),xt.fromBigInt(he(j(r.d,"base64url"))),xt.fromBigInt(he(j(r.p,"base64url"))),xt.fromBigInt(he(j(r.q,"base64url"))),xt.fromBigInt(he(j(r.dp,"base64url"))),xt.fromBigInt(he(j(r.dq,"base64url"))),xt.fromBigInt(he(j(r.qi,"base64url")))]}).toBER();return new Uint8Array(e,0,e.byteLength)}function Ju(r){let{result:t}=Xs(r),e=t.valueBlock.value[1].valueBlock.value[0].valueBlock.value;return{kty:"RSA",n:fe(e[0]),e:fe(e[1])}}function ea(r){if(r.n==null||r.e==null)throw new Et("JWK was missing components");let e=new Se({value:[new Se({value:[new _r({value:"1.2.840.113549.1.1.1"}),new Lr]}),new Vr({valueHex:new Se({value:[xt.fromBigInt(he(j(r.n,"base64url"))),xt.fromBigInt(he(j(r.e,"base64url")))]}).toBER()})]}).toBER();return new Uint8Array(e,0,e.byteLength)}function fe(r){let t=r.valueBlock.valueHexView;for(;t[0]===0;)t=t.subarray(1);return nt(t,"base64url")}function he(r){let t=[];return r.forEach(function(e){let n=e.toString(16);n.length%2>0&&(n=`0${n}`),t.push(n)}),BigInt("0x"+t.join(""))}function Xu(r){let t=Yu(r);return Qu(t)}function ra(r){let t=Ju(r);if(Qs(t)>Jo)throw new hr("Key size is too large");let e=Ur(ue.encode({Type:ft.RSA,Data:r})),n=Wt(ta,e);return new Fr(t,n)}function Qu(r){if(Qs(r)>Jo)throw new Et("Key size is too large");let t=el(r),e=Ur(ue.encode({Type:ft.RSA,Data:ea(t.publicKey)})),n=Wt(ta,e);return new xn(t.privateKey,new Fr(t.publicKey,n))}async function tl(r){if(r>Jo)throw new Et("Key size is too large");let t=await Gu(r),e=Ur(ue.encode({Type:ft.RSA,Data:ea(t.publicKey)})),n=Wt(ta,e);return new xn(t.privateKey,new Fr(t.publicKey,n))}function el(r){if(r==null)throw new Et("Missing key parameter");return{privateKey:r,publicKey:{kty:r.kty,n:r.n,e:r.e}}}var Xo=class extends Br{constructor(t,e){super(),this.finished=!1,this.destroyed=!1,vc(t);let n=Qr(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 o=this.blockLen,i=new Uint8Array(o);i.set(n.length>o?t.create().update(n).digest():n);for(let s=0;s<i.length;s++)i[s]^=54;this.iHash.update(i),this.oHash=t.create();for(let s=0;s<i.length;s++)i[s]^=106;this.oHash.update(i),i.fill(0)}update(t){return Er(this),this.iHash.update(t),this}digestInto(t){Er(this),vr(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:o,destroyed:i,blockLen:s,outputLen:a}=this;return t=t,t.finished=o,t.destroyed=i,t.blockLen=s,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()}},na=(r,t,e)=>new Xo(r,t).update(e).digest();na.create=(r,t)=>new Xo(r,t);function rl(r){r.lowS!==void 0&&Xt("lowS",r.lowS),r.prehash!==void 0&&Xt("prehash",r.prehash)}function Sp(r){let t=rn(r);ce(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:o}=t;if(e){if(!n.eql(o,n.ZERO))throw new Error("invalid 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("invalid endomorphism, expected beta: bigint and splitScalar: function")}return Object.freeze({...t})}var{bytesToNumberBE:Ip,hexToBytes:kp}=Gn,oa=class extends Error{constructor(t=""){super(t)}},Ce={Err:oa,_tlv:{encode:(r,t)=>{let{Err:e}=Ce;if(r<0||r>256)throw new e("tlv.encode: wrong tag");if(t.length&1)throw new e("tlv.encode: unpadded data");let n=t.length/2,o=Xe(n);if(o.length/2&128)throw new e("tlv.encode: long form length too big");let i=n>127?Xe(o.length/2|128):"";return Xe(r)+i+o+t},decode(r,t){let{Err:e}=Ce,n=0;if(r<0||r>256)throw new e("tlv.encode: wrong tag");if(t.length<2||t[n++]!==r)throw new e("tlv.decode: wrong tlv");let o=t[n++],i=!!(o&128),s=0;if(!i)s=o;else{let c=o&127;if(!c)throw new e("tlv.decode(long): indefinite length not supported");if(c>4)throw new e("tlv.decode(long): byte length is too big");let f=t.subarray(n,n+c);if(f.length!==c)throw new e("tlv.decode: length bytes not complete");if(f[0]===0)throw new e("tlv.decode(long): zero leftmost byte");for(let u of f)s=s<<8|u;if(n+=c,s<128)throw new e("tlv.decode(long): not minimal encoding")}let a=t.subarray(n,n+s);if(a.length!==s)throw new e("tlv.decode: wrong value length");return{v:a,l:t.subarray(n+s)}}},_int:{encode(r){let{Err:t}=Ce;if(r<Ne)throw new t("integer: negative integers are not allowed");let e=Xe(r);if(Number.parseInt(e[0],16)&8&&(e="00"+e),e.length&1)throw new t("unexpected DER parsing assertion: unpadded hex");return e},decode(r){let{Err:t}=Ce;if(r[0]&128)throw new t("invalid signature integer: negative");if(r[0]===0&&!(r[1]&128))throw new t("invalid signature integer: unnecessary leading zero");return Ip(r)}},toSig(r){let{Err:t,_int:e,_tlv:n}=Ce,o=typeof r=="string"?kp(r):r;Sr(o);let{v:i,l:s}=n.decode(48,o);if(s.length)throw new t("invalid signature: left bytes after parsing");let{v:a,l:c}=n.decode(2,i),{v:f,l:u}=n.decode(2,c);if(u.length)throw new t("invalid signature: left bytes after parsing");return{r:e.decode(a),s:e.decode(f)}},hexFromSig(r){let{_tlv:t,_int:e}=Ce,n=t.encode(2,e.encode(r.r)),o=t.encode(2,e.encode(r.s)),i=n+o;return t.encode(48,i)}},Ne=BigInt(0),pt=BigInt(1),Nx=BigInt(2),nl=BigInt(3),Ux=BigInt(4);function Tp(r){let t=Sp(r),{Fp:e}=t,n=He(t.n,t.nBitLength),o=t.toBytes||((w,d,A)=>{let T=d.toAffine();return ve(Uint8Array.from([4]),e.toBytes(T.x),e.toBytes(T.y))}),i=t.fromBytes||(w=>{let d=w.subarray(1),A=e.fromBytes(d.subarray(0,e.BYTES)),T=e.fromBytes(d.subarray(e.BYTES,2*e.BYTES));return{x:A,y:T}});function s(w){let{a:d,b:A}=t,T=e.sqr(w),x=e.mul(T,w);return e.add(e.add(x,e.mul(w,d)),A)}if(!e.eql(e.sqr(t.Gy),s(t.Gx)))throw new Error("bad generator point: equation left != right");function a(w){return tn(w,pt,t.n)}function c(w){let{allowedPrivateKeyLengths:d,nByteLength:A,wrapPrivateKey:T,n:x}=t;if(d&&typeof w!="bigint"){if(De(w)&&(w=xe(w)),typeof w!="string"||!d.includes(w.length))throw new Error("invalid private key");w=w.padStart(A*2,"0")}let U;try{U=typeof w=="bigint"?w:be(at("private key",w,A))}catch{throw new Error("invalid private key, expected hex or "+A+" bytes, got "+typeof w)}return T&&(U=Q(U,x)),_t("private key",U,pt,x),U}function f(w){if(!(w instanceof h))throw new Error("ProjectivePoint expected")}let u=er((w,d)=>{let{px:A,py:T,pz:x}=w;if(e.eql(x,e.ONE))return{x:A,y:T};let U=w.is0();d==null&&(d=U?e.ONE:e.inv(x));let F=e.mul(A,d),P=e.mul(T,d),R=e.mul(x,d);if(U)return{x:e.ZERO,y:e.ZERO};if(!e.eql(R,e.ONE))throw new Error("invZ was invalid");return{x:F,y:P}}),l=er(w=>{if(w.is0()){if(t.allowInfinityPoint&&!e.is0(w.py))return;throw new Error("bad point: ZERO")}let{x:d,y:A}=w.toAffine();if(!e.isValid(d)||!e.isValid(A))throw new Error("bad point: x or y not FE");let T=e.sqr(A),x=s(d);if(!e.eql(T,x))throw new Error("bad point: equation left != right");if(!w.isTorsionFree())throw new Error("bad point: not in prime-order subgroup");return!0});class h{constructor(d,A,T){if(this.px=d,this.py=A,this.pz=T,d==null||!e.isValid(d))throw new Error("x required");if(A==null||!e.isValid(A))throw new Error("y required");if(T==null||!e.isValid(T))throw new Error("z required");Object.freeze(this)}static fromAffine(d){let{x:A,y:T}=d||{};if(!d||!e.isValid(A)||!e.isValid(T))throw new Error("invalid affine point");if(d instanceof h)throw new Error("projective point not allowed");let x=U=>e.eql(U,e.ZERO);return x(A)&&x(T)?h.ZERO:new h(A,T,e.ONE)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static normalizeZ(d){let A=e.invertBatch(d.map(T=>T.pz));return d.map((T,x)=>T.toAffine(A[x])).map(h.fromAffine)}static fromHex(d){let A=h.fromAffine(i(at("pointHex",d)));return A.assertValidity(),A}static fromPrivateKey(d){return h.BASE.multiply(c(d))}static msm(d,A){return Jn(h,n,d,A)}_setWindowSize(d){B.setWindowSize(this,d)}assertValidity(){l(this)}hasEvenY(){let{y:d}=this.toAffine();if(e.isOdd)return!e.isOdd(d);throw new Error("Field doesn't support isOdd")}equals(d){f(d);let{px:A,py:T,pz:x}=this,{px:U,py:F,pz:P}=d,R=e.eql(e.mul(A,P),e.mul(U,x)),b=e.eql(e.mul(T,P),e.mul(F,x));return R&&b}negate(){return new h(this.px,e.neg(this.py),this.pz)}double(){let{a:d,b:A}=t,T=e.mul(A,nl),{px:x,py:U,pz:F}=this,P=e.ZERO,R=e.ZERO,b=e.ZERO,v=e.mul(x,x),D=e.mul(U,U),L=e.mul(F,F),C=e.mul(x,U);return C=e.add(C,C),b=e.mul(x,F),b=e.add(b,b),P=e.mul(d,b),R=e.mul(T,L),R=e.add(P,R),P=e.sub(D,R),R=e.add(D,R),R=e.mul(P,R),P=e.mul(C,P),b=e.mul(T,b),L=e.mul(d,L),C=e.sub(v,L),C=e.mul(d,C),C=e.add(C,b),b=e.add(v,v),v=e.add(b,v),v=e.add(v,L),v=e.mul(v,C),R=e.add(R,v),L=e.mul(U,F),L=e.add(L,L),v=e.mul(L,C),P=e.sub(P,v),b=e.mul(L,D),b=e.add(b,b),b=e.add(b,b),new h(P,R,b)}add(d){f(d);let{px:A,py:T,pz:x}=this,{px:U,py:F,pz:P}=d,R=e.ZERO,b=e.ZERO,v=e.ZERO,D=t.a,L=e.mul(t.b,nl),C=e.mul(A,U),$=e.mul(T,F),S=e.mul(x,P),I=e.add(A,T),g=e.add(U,F);I=e.mul(I,g),g=e.add(C,$),I=e.sub(I,g),g=e.add(A,x);let p=e.add(U,P);return g=e.mul(g,p),p=e.add(C,S),g=e.sub(g,p),p=e.add(T,x),R=e.add(F,P),p=e.mul(p,R),R=e.add($,S),p=e.sub(p,R),v=e.mul(D,g),R=e.mul(L,S),v=e.add(R,v),R=e.sub($,v),v=e.add($,v),b=e.mul(R,v),$=e.add(C,C),$=e.add($,C),S=e.mul(D,S),g=e.mul(L,g),$=e.add($,S),S=e.sub(C,S),S=e.mul(D,S),g=e.add(g,S),C=e.mul($,g),b=e.add(b,C),C=e.mul(p,g),R=e.mul(I,R),R=e.sub(R,C),C=e.mul(I,$),v=e.mul(p,v),v=e.add(v,C),new h(R,b,v)}subtract(d){return this.add(d.negate())}is0(){return this.equals(h.ZERO)}wNAF(d){return B.wNAFCached(this,d,h.normalizeZ)}multiplyUnsafe(d){let{endo:A,n:T}=t;_t("scalar",d,Ne,T);let x=h.ZERO;if(d===Ne)return x;if(this.is0()||d===pt)return this;if(!A||B.hasPrecomputes(this))return B.wNAFCachedUnsafe(this,d,h.normalizeZ);let{k1neg:U,k1:F,k2neg:P,k2:R}=A.splitScalar(d),b=x,v=x,D=this;for(;F>Ne||R>Ne;)F&pt&&(b=b.add(D)),R&pt&&(v=v.add(D)),D=D.double(),F>>=pt,R>>=pt;return U&&(b=b.negate()),P&&(v=v.negate()),v=new h(e.mul(v.px,A.beta),v.py,v.pz),b.add(v)}multiply(d){let{endo:A,n:T}=t;_t("scalar",d,pt,T);let x,U;if(A){let{k1neg:F,k1:P,k2neg:R,k2:b}=A.splitScalar(d),{p:v,f:D}=this.wNAF(P),{p:L,f:C}=this.wNAF(b);v=B.constTimeNegate(F,v),L=B.constTimeNegate(R,L),L=new h(e.mul(L.px,A.beta),L.py,L.pz),x=v.add(L),U=D.add(C)}else{let{p:F,f:P}=this.wNAF(d);x=F,U=P}return h.normalizeZ([x,U])[0]}multiplyAndAddUnsafe(d,A,T){let x=h.BASE,U=(P,R)=>R===Ne||R===pt||!P.equals(x)?P.multiplyUnsafe(R):P.multiply(R),F=U(this,A).add(U(d,T));return F.is0()?void 0:F}toAffine(d){return u(this,d)}isTorsionFree(){let{h:d,isTorsionFree:A}=t;if(d===pt)return!0;if(A)return A(h,this);throw new Error("isTorsionFree() has not been declared for the elliptic curve")}clearCofactor(){let{h:d,clearCofactor:A}=t;return d===pt?this:A?A(h,this):this.multiplyUnsafe(t.h)}toRawBytes(d=!0){return Xt("isCompressed",d),this.assertValidity(),o(h,this,d)}toHex(d=!0){return Xt("isCompressed",d),xe(this.toRawBytes(d))}}h.BASE=new h(t.Gx,t.Gy,e.ONE),h.ZERO=new h(e.ZERO,e.ONE,e.ZERO);let m=t.nBitLength,B=Yn(h,t.endo?Math.ceil(m/2):m);return{CURVE:t,ProjectivePoint:h,normPrivateKeyToScalar:c,weierstrassEquation:s,isWithinCurveOrder:a}}function Cp(r){let t=rn(r);return ce(t,{hash:"hash",hmac:"function",randomBytes:"function"},{bits2int:"function",bits2int_modN:"function",lowS:"boolean"}),Object.freeze({lowS:!0,...t})}function ol(r){let t=Cp(r),{Fp:e,n}=t,o=e.BYTES+1,i=2*e.BYTES+1;function s(S){return Q(S,n)}function a(S){return Zn(S,n)}let{ProjectivePoint:c,normPrivateKeyToScalar:f,weierstrassEquation:u,isWithinCurveOrder:l}=Tp({...t,toBytes(S,I,g){let p=I.toAffine(),E=e.toBytes(p.x),N=ve;return Xt("isCompressed",g),g?N(Uint8Array.from([I.hasEvenY()?2:3]),E):N(Uint8Array.from([4]),E,e.toBytes(p.y))},fromBytes(S){let I=S.length,g=S[0],p=S.subarray(1);if(I===o&&(g===2||g===3)){let E=be(p);if(!tn(E,pt,e.ORDER))throw new Error("Point is not on curve");let N=u(E),O;try{O=e.sqrt(N)}catch(Z){let K=Z instanceof Error?": "+Z.message:"";throw new Error("Point is not on curve"+K)}let M=(O&pt)===pt;return(g&1)===1!==M&&(O=e.neg(O)),{x:E,y:O}}else if(I===i&&g===4){let E=e.fromBytes(p.subarray(0,e.BYTES)),N=e.fromBytes(p.subarray(e.BYTES,2*e.BYTES));return{x:E,y:N}}else{let E=o,N=i;throw new Error("invalid Point, expected length of "+E+", or uncompressed "+N+", got "+I)}}}),h=S=>xe(Me(S,t.nByteLength));function m(S){let I=n>>pt;return S>I}function B(S){return m(S)?s(-S):S}let w=(S,I,g)=>be(S.slice(I,g));class d{constructor(I,g,p){this.r=I,this.s=g,this.recovery=p,this.assertValidity()}static fromCompact(I){let g=t.nByteLength;return I=at("compactSignature",I,g*2),new d(w(I,0,g),w(I,g,2*g))}static fromDER(I){let{r:g,s:p}=Ce.toSig(at("DER",I));return new d(g,p)}assertValidity(){_t("r",this.r,pt,n),_t("s",this.s,pt,n)}addRecoveryBit(I){return new d(this.r,this.s,I)}recoverPublicKey(I){let{r:g,s:p,recovery:E}=this,N=P(at("msgHash",I));if(E==null||![0,1,2,3].includes(E))throw new Error("recovery id invalid");let O=E===2||E===3?g+t.n:g;if(O>=e.ORDER)throw new Error("recovery id 2 or 3 invalid");let M=E&1?"03":"02",z=c.fromHex(M+h(O)),Z=a(O),K=s(-N*Z),J=s(p*Z),et=c.BASE.multiplyAndAddUnsafe(z,K,J);if(!et)throw new Error("point at infinify");return et.assertValidity(),et}hasHighS(){return m(this.s)}normalizeS(){return this.hasHighS()?new d(this.r,s(-this.s),this.recovery):this}toDERRawBytes(){return Qe(this.toDERHex())}toDERHex(){return Ce.hexFromSig({r:this.r,s:this.s})}toCompactRawBytes(){return Qe(this.toCompactHex())}toCompactHex(){return h(this.r)+h(this.s)}}let A={isValidPrivateKey(S){try{return f(S),!0}catch{return!1}},normPrivateKeyToScalar:f,randomPrivateKey:()=>{let S=ls(t.n);return Vc(t.randomBytes(S),t.n)},precompute(S=8,I=c.BASE){return I._setWindowSize(S),I.multiply(BigInt(3)),I}};function T(S,I=!0){return c.fromPrivateKey(S).toRawBytes(I)}function x(S){let I=De(S),g=typeof S=="string",p=(I||g)&&S.length;return I?p===o||p===i:g?p===2*o||p===2*i:S instanceof c}function U(S,I,g=!0){if(x(S))throw new Error("first arg must be private key");if(!x(I))throw new Error("second arg must be public key");return c.fromHex(I).multiply(f(S)).toRawBytes(g)}let F=t.bits2int||function(S){if(S.length>8192)throw new Error("input is too large");let I=be(S),g=S.length*8-t.nBitLength;return g>0?I>>BigInt(g):I},P=t.bits2int_modN||function(S){return s(F(S))},R=en(t.nBitLength);function b(S){return _t("num < 2^"+t.nBitLength,S,Ne,R),Me(S,t.nByteLength)}function v(S,I,g=D){if(["recovered","canonical"].some(dt=>dt in g))throw new Error("sign() legacy options not supported");let{hash:p,randomBytes:E}=t,{lowS:N,prehash:O,extraEntropy:M}=g;N==null&&(N=!0),S=at("msgHash",S),rl(g),O&&(S=at("prehashed msgHash",p(S)));let z=P(S),Z=f(I),K=[b(Z),b(z)];if(M!=null&&M!==!1){let dt=M===!0?E(e.BYTES):M;K.push(at("extraEntropy",dt))}let J=ve(...K),et=z;function ht(dt){let yt=F(dt);if(!l(yt))return;let vt=a(yt),Rt=c.BASE.multiply(yt).toAffine(),Tt=s(Rt.x);if(Tt===Ne)return;let ae=s(vt*s(et+Tt*Z));if(ae===Ne)return;let ge=(Rt.x===Tt?0:2)|Number(Rt.y&pt),Wr=ae;return N&&m(ae)&&(Wr=B(ae),ge^=1),new d(Tt,Wr,ge)}return{seed:J,k2sig:ht}}let D={lowS:t.lowS,prehash:!1},L={lowS:t.lowS,prehash:!1};function C(S,I,g=D){let{seed:p,k2sig:E}=v(S,I,g),N=t;return ss(N.hash.outputLen,N.nByteLength,N.hmac)(p,E)}c.BASE._setWindowSize(8);function $(S,I,g,p=L){let E=S;I=at("msgHash",I),g=at("publicKey",g);let{lowS:N,prehash:O,format:M}=p;if(rl(p),"strict"in p)throw new Error("options.strict was renamed to lowS");if(M!==void 0&&M!=="compact"&&M!=="der")throw new Error("format must be compact or der");let z=typeof E=="string"||De(E),Z=!z&&!M&&typeof E=="object"&&E!==null&&typeof E.r=="bigint"&&typeof E.s=="bigint";if(!z&&!Z)throw new Error("invalid signature, expected Uint8Array, hex string or Signature instance");let K,J;try{if(Z&&(K=new d(E.r,E.s)),z){try{M!=="compact"&&(K=d.fromDER(E))}catch(ge){if(!(ge instanceof Ce.Err))throw ge}!K&&M!=="der"&&(K=d.fromCompact(E))}J=c.fromHex(g)}catch{return!1}if(!K||N&&K.hasHighS())return!1;O&&(I=t.hash(I));let{r:et,s:ht}=K,dt=P(I),yt=a(ht),vt=s(dt*yt),Rt=s(et*yt),Tt=c.BASE.multiplyAndAddUnsafe(J,vt,Rt)?.toAffine();return Tt?s(Tt.x)===et:!1}return{CURVE:t,getPublicKey:T,getSharedSecret:U,sign:C,verify:$,ProjectivePoint:c,Signature:d,utils:A}}function Np(r){return{hash:r,hmac:(t,...e)=>na(r,t,Qi(...e)),randomBytes:Kn}}function il(r,t){let e=n=>ol({...r,...Np(n)});return{...e(t),create:e}}var cl=BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"),sl=BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),Up=BigInt(1),ia=BigInt(2),al=(r,t)=>(r+t/ia)/t;function Rp(r){let t=cl,e=BigInt(3),n=BigInt(6),o=BigInt(11),i=BigInt(22),s=BigInt(23),a=BigInt(44),c=BigInt(88),f=r*r*r%t,u=f*f*r%t,l=it(u,e,t)*u%t,h=it(l,e,t)*u%t,m=it(h,ia,t)*f%t,B=it(m,o,t)*m%t,w=it(B,i,t)*B%t,d=it(w,a,t)*w%t,A=it(d,c,t)*d%t,T=it(A,a,t)*w%t,x=it(T,e,t)*u%t,U=it(x,s,t)*B%t,F=it(U,n,t)*f%t,P=it(F,ia,t);if(!sa.eql(sa.sqr(P),r))throw new Error("Cannot find square root");return P}var sa=He(cl,void 0,void 0,{sqrt:Rp}),ar=il({a:BigInt(0),b:BigInt(7),Fp:sa,n:sl,Gx:BigInt("55066263022277343669578718895168534326250603453777594175500187360389116729240"),Gy:BigInt("32670510020758816978083085130507043184471273380659243275938904335757337482424"),h:BigInt(1),lowS:!0,endo:{beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee"),splitScalar:r=>{let t=sl,e=BigInt("0x3086d221a7d46bcde86c90e49284eb15"),n=-Up*BigInt("0xe4437ed6010e88286f547fa90abfe4c3"),o=BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"),i=e,s=BigInt("0x100000000000000000000000000000000"),a=al(i*r,t),c=al(-n*r,t),f=Q(r-a*e-c*o,t),u=Q(-a*n-c*i,t),l=f>s,h=u>s;if(l&&(f=t-f),h&&(u=t-u),f>s||u>s)throw new Error("splitScalar: Endomorphism failed, k="+r);return{k1neg:l,k1:f,k2neg:h,k2:u}}}},Ur),Mx=BigInt(0);var Hx=ar.ProjectivePoint;function It(r,t){t==null&&(t=r.reduce((o,i)=>o+i.length,0));let e=Ft(t),n=0;for(let o of r)e.set(o,n),n+=o.length;return e}function ul(r){return r==null?!1:typeof r.then=="function"&&typeof r.catch=="function"&&typeof r.finally=="function"}function ll(r,t,e){let n=nn.digest(e instanceof Uint8Array?e:e.subarray());if(ul(n))return n.then(({digest:o})=>ar.verify(t,o,r)).catch(o=>{throw new yn(String(o))});try{return ar.verify(t,n.digest,r)}catch(o){throw new yn(String(o))}}var Qo=class{type="secp256k1";raw;_key;constructor(t){this._key=hl(t),this.raw=fl(this._key)}toMultihash(){return Yt.digest(eo(this))}toCID(){return X.createV1(114,this.toMultihash())}toString(){return rt.encode(this.toMultihash().bytes).substring(1)}equals(t){return t==null||!(t.raw instanceof Uint8Array)?!1:st(this.raw,t.raw)}verify(t,e){return ll(this._key,e,t)}};function aa(r){return new Qo(r)}function fl(r){return ar.ProjectivePoint.fromHex(r).toRawBytes(!0)}function hl(r){try{return ar.ProjectivePoint.fromHex(r),r}catch(t){throw new hr(String(t))}}function dl(r){let{Type:t,Data:e}=ue.decode(r),n=e??new Uint8Array;switch(t){case ft.RSA:return ra(n);case ft.Ed25519:return ys(n);case ft.secp256k1:return aa(n);default:throw new pr}}function ti(r){let{Type:t,Data:e}=ue.decode(r.digest),n=e??new Uint8Array;switch(t){case ft.Ed25519:return ys(n);case ft.secp256k1:return aa(n);default:throw new pr}}function eo(r){return ue.encode({Type:ft[r.type],Data:r.raw})}var pl=Symbol.for("nodejs.util.inspect.custom"),Lp=114,bn=class{type;multihash;publicKey;string;constructor(t){this.type=t.type,this.multihash=t.multihash,Object.defineProperty(this,"string",{enumerable:!1,writable:!0})}get[Symbol.toStringTag](){return`PeerId(${this.toString()})`}[Oi]=!0;toString(){return this.string==null&&(this.string=rt.encode(this.multihash.bytes).slice(1)),this.string}toMultihash(){return this.multihash}toCID(){return X.createV1(Lp,this.multihash)}toJSON(){return this.toString()}equals(t){if(t==null)return!1;if(t instanceof Uint8Array)return st(this.multihash.bytes,t);if(typeof t=="string")return this.toString()===t;if(t?.toMultihash()?.bytes!=null)return st(this.multihash.bytes,t.toMultihash().bytes);throw new Error("not valid Id")}[pl](){return`PeerId(${this.toString()})`}},ei=class extends bn{type="RSA";publicKey;constructor(t){super({...t,type:"RSA"}),this.publicKey=t.publicKey}},ri=class extends bn{type="Ed25519";publicKey;constructor(t){super({...t,type:"Ed25519"}),this.publicKey=t.publicKey}},ni=class extends bn{type="secp256k1";publicKey;constructor(t){super({...t,type:"secp256k1"}),this.publicKey=t.publicKey}},Vp=2336,vn=class{type="url";multihash;publicKey;url;constructor(t){this.url=t.toString(),this.multihash=Yt.digest(j(this.url))}[pl](){return`PeerId(${this.url})`}[Oi]=!0;toString(){return this.toCID().toString()}toMultihash(){return this.multihash}toCID(){return X.createV1(Vp,this.toMultihash())}toJSON(){return this.toString()}equals(t){return t==null?!1:(t instanceof Uint8Array&&(t=nt(t)),t.toString()===this.toString())}};var _p=114,gl=2336;function ml(r,t){let e;if(r.charAt(0)==="1"||r.charAt(0)==="Q")e=ye(rt.decode(`z${r}`));else{if(t==null)throw new Et('Please pass a multibase decoder for strings that do not start with "1" or "Q"');e=ye(t.decode(r))}return yl(e)}function yl(r){if(Fp(r))return new ei({multihash:r});if(Pp(r))try{let t=ti(r);if(t.type==="Ed25519")return new ri({multihash:r,publicKey:t});if(t.type==="secp256k1")return new ni({multihash:r,publicKey:t})}catch{let e=nt(r.digest);return new vn(new URL(e))}throw new dr("Supplied PeerID Multihash is invalid")}function wl(r){if(r?.multihash==null||r.version==null||r.version===1&&r.code!==_p&&r.code!==gl)throw new Pn("Supplied PeerID CID is invalid");if(r.code===gl){let t=nt(r.multihash.digest);return new vn(new URL(t))}return yl(r.multihash)}function Pp(r){return r.code===Yt.code}function Fp(r){return r.code===nn.code}var oi=class{index=0;input="";new(t){return this.index=0,this.input=t,this}readAtomically(t){let e=this.index,n=t();return n===void 0&&(this.index=e),n}parseWith(t){let e=t();if(this.index===this.input.length)return e}peekChar(){if(!(this.index>=this.input.length))return this.input[this.index]}readChar(){if(!(this.index>=this.input.length))return this.input[this.index++]}readGivenChar(t){return this.readAtomically(()=>{let e=this.readChar();if(e===t)return e})}readSeparator(t,e,n){return this.readAtomically(()=>{if(!(e>0&&this.readGivenChar(t)===void 0))return n()})}readNumber(t,e,n,o){return this.readAtomically(()=>{let i=0,s=0,a=this.peekChar();if(a===void 0)return;let c=a==="0",f=2**(8*o)-1;for(;;){let u=this.readAtomically(()=>{let l=this.readChar();if(l===void 0)return;let h=Number.parseInt(l,t);if(!Number.isNaN(h))return h});if(u===void 0)break;if(i*=t,i+=u,i>f||(s+=1,e!==void 0&&s>e))return}if(s!==0)return!n&&c&&s>1?void 0:i})}readIPv4Addr(){return this.readAtomically(()=>{let t=new Uint8Array(4);for(let e=0;e<t.length;e++){let n=this.readSeparator(".",e,()=>this.readNumber(10,3,!1,1));if(n===void 0)return;t[e]=n}return t})}readIPv6Addr(){let t=e=>{for(let n=0;n<e.length/2;n++){let o=n*2;if(n<e.length-3){let s=this.readSeparator(":",n,()=>this.readIPv4Addr());if(s!==void 0)return e[o]=s[0],e[o+1]=s[1],e[o+2]=s[2],e[o+3]=s[3],[o+4,!0]}let i=this.readSeparator(":",n,()=>this.readNumber(16,4,!0,2));if(i===void 0)return[o,!1];e[o]=i>>8,e[o+1]=i&255}return[e.length,!1]};return this.readAtomically(()=>{let e=new Uint8Array(16),[n,o]=t(e);if(n===16)return e;if(o||this.readGivenChar(":")===void 0||this.readGivenChar(":")===void 0)return;let i=new Uint8Array(14),s=16-(n+2),[a]=t(i.subarray(0,s));return e.set(i.subarray(0,a),16-a),e})}readIPAddr(){return this.readIPv4Addr()??this.readIPv6Addr()}};var xl=45,Dp=15,Dr=new oi;function ca(r){if(!(r.length>Dp))return Dr.new(r).parseWith(()=>Dr.readIPv4Addr())}function ua(r){if(r.includes("%")&&(r=r.split("%")[0]),!(r.length>xl))return Dr.new(r).parseWith(()=>Dr.readIPv6Addr())}function ii(r){if(r.includes("%")&&(r=r.split("%")[0]),!(r.length>xl))return Dr.new(r).parseWith(()=>Dr.readIPAddr())}var r1=parseInt("0xFFFF",16),n1=new Uint8Array([0,0,0,0,0,0,0,0,0,0,255,255]);function El(r){return!!ca(r)}function Bl(r){return!!ua(r)}function si(r){return!!ii(r)}var Al=El,Kp=Bl,la=function(r){let t=0;if(r=r.toString().trim(),Al(r)){let e=new Uint8Array(t+4);return r.split(/\./g).forEach(n=>{e[t++]=parseInt(n,10)&255}),e}if(Kp(r)){let e=r.split(":",8),n;for(n=0;n<e.length;n++){let i=Al(e[n]),s;i&&(s=la(e[n]),e[n]=nt(s.slice(0,2),"base16")),s!=null&&++n<8&&e.splice(n,0,nt(s.slice(2,4),"base16"))}if(e[0]==="")for(;e.length<8;)e.unshift("0");else if(e[e.length-1]==="")for(;e.length<8;)e.push("0");else if(e.length<8){for(n=0;n<e.length&&e[n]!=="";n++);let i=[n,1];for(n=9-e.length;n>0;n--)i.push("0");e.splice.apply(e,i)}let o=new Uint8Array(t+16);for(n=0;n<e.length;n++){let i=parseInt(e[n],16);o[t++]=i>>8&255,o[t++]=i&255}return o}throw new Error("invalid ip address")},Sl=function(r,t=0,e){t=~~t,e=e??r.length-t;let n=new DataView(r.buffer);if(e===4){let o=[];for(let i=0;i<e;i++)o.push(r[t+i]);return o.join(".")}if(e===16){let o=[];for(let i=0;i<e;i+=2)o.push(n.getUint16(t+i).toString(16));return o.join(":").replace(/(^|:)0(:0)*:0(:|$)/,"$1::$3").replace(/:{3,4}/,"::")}return""};var Or={},fa={},zp=[[4,32,"ip4"],[6,16,"tcp"],[33,16,"dccp"],[41,128,"ip6"],[42,-1,"ip6zone"],[43,8,"ipcidr"],[53,-1,"dns",!0],[54,-1,"dns4",!0],[55,-1,"dns6",!0],[56,-1,"dnsaddr",!0],[132,16,"sctp"],[273,16,"udp"],[275,0,"p2p-webrtc-star"],[276,0,"p2p-webrtc-direct"],[277,0,"p2p-stardust"],[280,0,"webrtc-direct"],[281,0,"webrtc"],[290,0,"p2p-circuit"],[301,0,"udt"],[302,0,"utp"],[400,-1,"unix",!1,!0],[421,-1,"ipfs"],[421,-1,"p2p"],[443,0,"https"],[444,96,"onion"],[445,296,"onion3"],[446,-1,"garlic64"],[448,0,"tls"],[449,-1,"sni"],[460,0,"quic"],[461,0,"quic-v1"],[465,0,"webtransport"],[466,-1,"certhash"],[477,0,"ws"],[478,0,"wss"],[479,0,"p2p-websocket-star"],[480,0,"http"],[481,-1,"http-path"],[777,-1,"memory"]];zp.forEach(r=>{let t=jp(...r);fa[t.code]=t,Or[t.name]=t});function jp(r,t,e,n,o){return{code:r,size:t,name:e,resolvable:!!n,path:!!o}}function tt(r){if(typeof r=="number"){if(fa[r]!=null)return fa[r];throw new Error(`no protocol with code: ${r}`)}else if(typeof r=="string"){if(Or[r]!=null)return Or[r];throw new Error(`no protocol with name: ${r}`)}throw new Error(`invalid protocol id type: ${typeof r}`)}var M1=tt("ip4"),H1=tt("ip6"),$1=tt("ipcidr");function ga(r,t){switch(tt(r).code){case 4:case 41:return Zp(t);case 42:return pa(t);case 43:return nt(t,"base10");case 6:case 273:case 33:case 132:return Tl(t).toString();case 53:case 54:case 55:case 56:case 400:case 449:case 777:return pa(t);case 421:return Xp(t);case 444:return kl(t);case 445:return kl(t);case 466:return Jp(t);case 481:return globalThis.encodeURIComponent(pa(t));default:return nt(t,"base16")}}function ma(r,t){switch(tt(r).code){case 4:return Il(t);case 41:return Il(t);case 42:return da(t);case 43:return j(t,"base10");case 6:case 273:case 33:case 132:return ya(parseInt(t,10));case 53:case 54:case 55:case 56:case 400:case 449:case 777:return da(t);case 421:return Wp(t);case 444:return Qp(t);case 445:return tg(t);case 466:return Yp(t);case 481:return da(globalThis.decodeURIComponent(t));default:return j(t,"base16")}}var ha=Object.values(on).map(r=>r.decoder),Gp=function(){let r=ha[0].or(ha[1]);return ha.slice(2).forEach(t=>r=r.or(t)),r}();function Il(r){if(!si(r))throw new Error("invalid ip address");return la(r)}function Zp(r){let t=Sl(r,0,r.length);if(t==null)throw new Error("ipBuff is required");if(!si(t))throw new Error("invalid ip address");return t}function ya(r){let t=new ArrayBuffer(2);return new DataView(t).setUint16(0,r),new Uint8Array(t)}function Tl(r){return new DataView(r.buffer).getUint16(r.byteOffset)}function da(r){let t=j(r),e=Uint8Array.from(Ir(t.length));return It([e,t],e.length+t.length)}function pa(r){let t=nr(r);if(r=r.slice(Dt(t)),r.length!==t)throw new Error("inconsistent lengths");return nt(r)}function Wp(r){let t;r[0]==="Q"||r[0]==="1"?t=ye(rt.decode(`z${r}`)).bytes:t=X.parse(r).multihash.bytes;let e=Uint8Array.from(Ir(t.length));return It([e,t],e.length+t.length)}function Yp(r){let t=Gp.decode(r),e=Uint8Array.from(Ir(t.length));return It([e,t],e.length+t.length)}function Jp(r){let t=nr(r),e=r.slice(Dt(t));if(e.length!==t)throw new Error("inconsistent lengths");return"u"+nt(e,"base64url")}function Xp(r){let t=nr(r),e=r.slice(Dt(t));if(e.length!==t)throw new Error("inconsistent lengths");return nt(e,"base58btc")}function Qp(r){let t=r.split(":");if(t.length!==2)throw new Error(`failed to parse onion addr: ["'${t.join('", "')}'"]' does not contain a port number`);if(t[0].length!==16)throw new Error(`failed to parse onion addr: ${t[0]} not a Tor onion address.`);let e=Zt.decode("b"+t[0]),n=parseInt(t[1],10);if(n<1||n>65536)throw new Error("Port number is not in range(1, 65536)");let o=ya(n);return It([e,o],e.length+o.length)}function tg(r){let t=r.split(":");if(t.length!==2)throw new Error(`failed to parse onion addr: ["'${t.join('", "')}'"]' does not contain a port number`);if(t[0].length!==56)throw new Error(`failed to parse onion addr: ${t[0]} not a Tor onion3 address.`);let e=Zt.decode(`b${t[0]}`),n=parseInt(t[1],10);if(n<1||n>65536)throw new Error("Port number is not in range(1, 65536)");let o=ya(n);return It([e,o],e.length+o.length)}function kl(r){let t=r.slice(0,r.length-2),e=r.slice(r.length-2),n=nt(t,"base32"),o=Tl(e);return`${n}:${o}`}function Cl(r){r=wa(r);let t=[],e=[],n=null,o=r.split("/").slice(1);if(o.length===1&&o[0]==="")return{bytes:new Uint8Array,string:"/",tuples:[],stringTuples:[],path:null};for(let i=0;i<o.length;i++){let s=o[i],a=tt(s);if(a.size===0){t.push([a.code]),e.push([a.code]);continue}if(i++,i>=o.length)throw Ul("invalid address: "+r);if(a.path===!0){n=wa(o.slice(i).join("/")),t.push([a.code,ma(a.code,n)]),e.push([a.code,n]);break}let c=ma(a.code,o[i]);t.push([a.code,c]),e.push([a.code,ga(a.code,c)])}return{string:Nl(e),bytes:ba(t),tuples:t,stringTuples:e,path:n}}function xa(r){let t=[],e=[],n=null,o=0;for(;o<r.length;){let i=nr(r,o),s=Dt(i),a=tt(i),c=eg(a,r.slice(o+s));if(c===0){t.push([i]),e.push([i]),o+=s;continue}let f=r.slice(o+s,o+s+c);if(o+=c+s,o>r.length)throw Ul("Invalid address Uint8Array: "+nt(r,"base16"));t.push([i,f]);let u=ga(i,f);if(e.push([i,u]),a.path===!0){n=u;break}}return{bytes:Uint8Array.from(r),string:Nl(e),tuples:t,stringTuples:e,path:n}}function Nl(r){let t=[];return r.map(e=>{let n=tt(e[0]);return t.push(n.name),e.length>1&&e[1]!=null&&t.push(e[1]),null}),wa(t.join("/"))}function ba(r){return It(r.map(t=>{let e=tt(t[0]),n=Uint8Array.from(Ir(e.code));return t.length>1&&t[1]!=null&&(n=It([n,t[1]])),n}))}function eg(r,t){if(r.size>0)return r.size/8;if(r.size===0)return 0;{let e=nr(t instanceof Uint8Array?t:Uint8Array.from(t));return e+Dt(e)}}function wa(r){return"/"+r.trim().split("/").filter(t=>t).join("/")}function Ul(r){return new Error("Error parsing address: "+r)}var rg=Symbol.for("nodejs.util.inspect.custom"),Ea=Symbol.for("@multiformats/js-multiaddr/multiaddr"),ng=[tt("dns").code,tt("dns4").code,tt("dns6").code,tt("dnsaddr").code],va=class extends Error{constructor(t="No available resolver"){super(t),this.name="NoAvailableResolverError"}},ai=class r{bytes;#t;#r;#e;#a;[Ea]=!0;constructor(t){t==null&&(t="");let e;if(t instanceof Uint8Array)e=xa(t);else if(typeof t=="string"){if(t.length>0&&t.charAt(0)!=="/")throw new Error(`multiaddr "${t}" must start with a "/"`);e=Cl(t)}else if(Ll(t))e=xa(t.bytes);else throw new Error("addr must be a string, Buffer, or another Multiaddr");this.bytes=e.bytes,this.#t=e.string,this.#r=e.tuples,this.#e=e.stringTuples,this.#a=e.path}toString(){return this.#t}toJSON(){return this.toString()}toOptions(){let t,e,n,o,i="",s=tt("tcp"),a=tt("udp"),c=tt("ip4"),f=tt("ip6"),u=tt("dns6"),l=tt("ip6zone");for(let[m,B]of this.stringTuples())m===l.code&&(i=`%${B??""}`),ng.includes(m)&&(e=s.name,o=443,n=`${B??""}${i}`,t=m===u.code?6:4),(m===s.code||m===a.code)&&(e=tt(m).name,o=parseInt(B??"")),(m===c.code||m===f.code)&&(e=tt(m).name,n=`${B??""}${i}`,t=m===f.code?6:4);if(t==null||e==null||n==null||o==null)throw new Error('multiaddr must have a valid format: "/{ip4, ip6, dns4, dns6, dnsaddr}/{address}/{tcp, udp}/{port}".');return{family:t,host:n,transport:e,port:o}}protos(){return this.#r.map(([t])=>Object.assign({},tt(t)))}protoCodes(){return this.#r.map(([t])=>t)}protoNames(){return this.#r.map(([t])=>tt(t).name)}tuples(){return this.#r.map(([t,e])=>e==null?[t]:[t,e])}stringTuples(){return this.#e.map(([t,e])=>e==null?[t]:[t,e])}encapsulate(t){return t=new r(t),new r(this.toString()+t.toString())}decapsulate(t){let e=t.toString(),n=this.toString(),o=n.lastIndexOf(e);if(o<0)throw new Error(`Address ${this.toString()} does not contain subaddress: ${t.toString()}`);return new r(n.slice(0,o))}decapsulateCode(t){let e=this.tuples();for(let n=e.length-1;n>=0;n--)if(e[n][0]===t)return new r(ba(e.slice(0,n)));return this}getPeerId(){try{let t=[];this.stringTuples().forEach(([n,o])=>{n===Or.p2p.code&&t.push([n,o]),n===Or["p2p-circuit"].code&&(t=[])});let e=t.pop();if(e?.[1]!=null){let n=e[1];return n[0]==="Q"||n[0]==="1"?nt(rt.decode(`z${n}`),"base58btc"):nt(X.parse(n).multihash.bytes,"base58btc")}return null}catch{return null}}getPath(){return this.#a}equals(t){return st(this.bytes,t.bytes)}async resolve(t){let e=this.protos().find(i=>i.resolvable);if(e==null)return[this];let n=Rl.get(e.name);if(n==null)throw new va(`no available resolver for ${e.name}`);return(await n(this,t)).map(i=>cr(i))}nodeAddress(){let t=this.toOptions();if(t.transport!=="tcp"&&t.transport!=="udp")throw new Error(`multiaddr must have a valid format - no protocol with name: "${t.transport}". Must have a valid transport protocol: "{tcp, udp}"`);return{family:t.family,address:t.host,port:t.port}}isThinWaistAddress(t){let e=(t??this).protos();return!(e.length!==2||e[0].code!==4&&e[0].code!==41||e[1].code!==6&&e[1].code!==273)}[rg](){return`Multiaddr(${this.#t})`}};var Rl=new Map;function Ll(r){return!!r?.[Ea]}function cr(r){return new ai(r)}function En(r){let t=new globalThis.AbortController;function e(){t.abort();for(let i of r)i?.removeEventListener!=null&&i.removeEventListener("abort",e)}for(let i of r){if(i?.aborted===!0){e();break}i?.addEventListener!=null&&i.addEventListener("abort",e)}function n(){for(let i of r)i?.removeEventListener!=null&&i.removeEventListener("abort",e)}let o=t.signal;return o.clear=n,o}async function*ci(r,t={}){let e=r.getReader();try{for(;;){let n=await e.read();if(n.done)return;yield n.value}}finally{t.preventCancel!==!0&&await e.cancel(),e.releaseLock()}}var og="/",ig=new TextEncoder().encode(og),m2=ig[0];var Og=_n(Aa(),1);var re=class extends Error{static name="SignatureVerificationError";constructor(t="Record signature verification failed"){super(t),this.name="SignatureVerificationError"}},ui=class extends Error{static name="RecordExpiredError";constructor(t="Record has expired"){super(t),this.name="RecordExpiredError"}},Mr=class extends Error{static name="UnsupportedValidityError";constructor(t="The validity type is unsupported"){super(t),this.name="UnsupportedValidityError"}},li=class extends Error{static name="RecordTooLargeError";constructor(t="The record is too large"){super(t),this.name="RecordTooLargeError"}},fi=class extends Error{static name="InvalidValueError";constructor(t="Value must be a valid content path starting with /"){super(t),this.name="InvalidValueError"}},hi=class extends Error{static name="InvalidRecordDataError";constructor(t="Invalid record data"){super(t),this.name="InvalidRecordDataError"}},Bn=class extends Error{static name="InvalidEmbeddedPublicKeyError";constructor(t="Invalid embedded public key"){super(t),this.name="InvalidEmbeddedPublicKeyError"}};var ne;(function(r){let t;(function(o){o.EOL="EOL"})(t=r.ValidityType||(r.ValidityType={}));let e;(function(o){o[o.EOL=0]="EOL"})(e||(e={})),function(o){o.codec=()=>cn(e)}(t=r.ValidityType||(r.ValidityType={}));let n;r.codec=()=>(n==null&&(n=Nr((o,i,s={})=>{s.lengthDelimited!==!1&&i.fork(),o.value!=null&&(i.uint32(10),i.bytes(o.value)),o.signatureV1!=null&&(i.uint32(18),i.bytes(o.signatureV1)),o.validityType!=null&&(i.uint32(24),r.ValidityType.codec().encode(o.validityType,i)),o.validity!=null&&(i.uint32(34),i.bytes(o.validity)),o.sequence!=null&&(i.uint32(40),i.uint64(o.sequence)),o.ttl!=null&&(i.uint32(48),i.uint64(o.ttl)),o.pubKey!=null&&(i.uint32(58),i.bytes(o.pubKey)),o.signatureV2!=null&&(i.uint32(66),i.bytes(o.signatureV2)),o.data!=null&&(i.uint32(74),i.bytes(o.data)),s.lengthDelimited!==!1&&i.ldelim()},(o,i,s={})=>{let a={},c=i==null?o.len:o.pos+i;for(;o.pos<c;){let f=o.uint32();switch(f>>>3){case 1:{a.value=o.bytes();break}case 2:{a.signatureV1=o.bytes();break}case 3:{a.validityType=r.ValidityType.codec().decode(o);break}case 4:{a.validity=o.bytes();break}case 5:{a.sequence=o.uint64();break}case 6:{a.ttl=o.uint64();break}case 7:{a.pubKey=o.bytes();break}case 8:{a.signatureV2=o.bytes();break}case 9:{a.data=o.bytes();break}default:{o.skipType(f&7);break}}}return a})),n),r.encode=o=>Tr(o,r.codec()),r.decode=(o,i)=>kr(o,r.codec(),i)})(ne||(ne={}));var sg=["string","number","bigint","symbol"],ag=["Function","Generator","AsyncGenerator","GeneratorFunction","AsyncGeneratorFunction","AsyncFunction","Observable","Array","Buffer","Object","RegExp","Date","Error","Map","Set","WeakMap","WeakSet","ArrayBuffer","SharedArrayBuffer","DataView","Promise","URL","HTMLElement","Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Uint16Array","Int32Array","Uint32Array","Float32Array","Float64Array","BigInt64Array","BigUint64Array"];function Vl(r){if(r===null)return"null";if(r===void 0)return"undefined";if(r===!0||r===!1)return"boolean";let t=typeof r;if(sg.includes(t))return t;if(t==="function")return"Function";if(Array.isArray(r))return"Array";if(cg(r))return"Buffer";let e=ug(r);return e||"Object"}function cg(r){return r&&r.constructor&&r.constructor.isBuffer&&r.constructor.isBuffer.call(null,r)}function ug(r){let t=Object.prototype.toString.call(r).slice(8,-1);if(ag.includes(t))return t}var y=class{constructor(t,e,n){this.major=t,this.majorEncoded=t<<5,this.name=e,this.terminal=n}toString(){return`Type[${this.major}].${this.name}`}compare(t){return this.major<t.major?-1:this.major>t.major?1:0}};y.uint=new y(0,"uint",!0);y.negint=new y(1,"negint",!0);y.bytes=new y(2,"bytes",!0);y.string=new y(3,"string",!0);y.array=new y(4,"array",!1);y.map=new y(5,"map",!1);y.tag=new y(6,"tag",!1);y.float=new y(7,"float",!0);y.false=new y(7,"false",!0);y.true=new y(7,"true",!0);y.null=new y(7,"null",!0);y.undefined=new y(7,"undefined",!0);y.break=new y(7,"break",!0);var _=class{constructor(t,e,n){this.type=t,this.value=e,this.encodedLength=n,this.encodedBytes=void 0,this.byteValue=void 0}toString(){return`Token[${this.type}].${this.value}`}};var Hr=globalThis.process&&!globalThis.process.browser&&globalThis.Buffer&&typeof globalThis.Buffer.isBuffer=="function",lg=new TextDecoder,fg=new TextEncoder;function di(r){return Hr&&globalThis.Buffer.isBuffer(r)}function Dl(r){return r instanceof Uint8Array?di(r)?new Uint8Array(r.buffer,r.byteOffset,r.byteLength):r:Uint8Array.from(r)}var Ol=Hr?(r,t,e)=>e-t>64?globalThis.Buffer.from(r.subarray(t,e)).toString("utf8"):Pl(r,t,e):(r,t,e)=>e-t>64?lg.decode(r.subarray(t,e)):Pl(r,t,e),Ml=Hr?r=>r.length>64?globalThis.Buffer.from(r):_l(r):r=>r.length>64?fg.encode(r):_l(r);var $r=Hr?(r,t,e)=>di(r)?new Uint8Array(r.subarray(t,e)):r.slice(t,e):(r,t,e)=>r.slice(t,e),Hl=Hr?(r,t)=>(r=r.map(e=>e instanceof Uint8Array?e:globalThis.Buffer.from(e)),Dl(globalThis.Buffer.concat(r,t))):(r,t)=>{let e=new Uint8Array(t),n=0;for(let o of r)n+o.length>e.length&&(o=o.subarray(0,e.length-n)),e.set(o,n),n+=o.length;return e},$l=Hr?r=>globalThis.Buffer.allocUnsafe(r):r=>new Uint8Array(r);function Kl(r,t){if(di(r)&&di(t))return r.compare(t);for(let e=0;e<r.length;e++)if(r[e]!==t[e])return r[e]<t[e]?-1:1;return 0}function _l(r){let t=[],e=0;for(let n=0;n<r.length;n++){let o=r.charCodeAt(n);o<128?t[e++]=o:o<2048?(t[e++]=o>>6|192,t[e++]=o&63|128):(o&64512)===55296&&n+1<r.length&&(r.charCodeAt(n+1)&64512)===56320?(o=65536+((o&1023)<<10)+(r.charCodeAt(++n)&1023),t[e++]=o>>18|240,t[e++]=o>>12&63|128,t[e++]=o>>6&63|128,t[e++]=o&63|128):(t[e++]=o>>12|224,t[e++]=o>>6&63|128,t[e++]=o&63|128)}return t}function Pl(r,t,e){let n=[];for(;t<e;){let o=r[t],i=null,s=o>239?4:o>223?3:o>191?2:1;if(t+s<=e){let a,c,f,u;switch(s){case 1:o<128&&(i=o);break;case 2:a=r[t+1],(a&192)===128&&(u=(o&31)<<6|a&63,u>127&&(i=u));break;case 3:a=r[t+1],c=r[t+2],(a&192)===128&&(c&192)===128&&(u=(o&15)<<12|(a&63)<<6|c&63,u>2047&&(u<55296||u>57343)&&(i=u));break;case 4:a=r[t+1],c=r[t+2],f=r[t+3],(a&192)===128&&(c&192)===128&&(f&192)===128&&(u=(o&15)<<18|(a&63)<<12|(c&63)<<6|f&63,u>65535&&u<1114112&&(i=u))}}i===null?(i=65533,s=1):i>65535&&(i-=65536,n.push(i>>>10&1023|55296),i=56320|i&1023),n.push(i),t+=s}return hg(n)}var Fl=4096;function hg(r){let t=r.length;if(t<=Fl)return String.fromCharCode.apply(String,r);let e="",n=0;for(;n<t;)e+=String.fromCharCode.apply(String,r.slice(n,n+=Fl));return e}var dg=256,pi=class{constructor(t=dg){this.chunkSize=t,this.cursor=0,this.maxCursor=-1,this.chunks=[],this._initReuseChunk=null}reset(){this.cursor=0,this.maxCursor=-1,this.chunks.length&&(this.chunks=[]),this._initReuseChunk!==null&&(this.chunks.push(this._initReuseChunk),this.maxCursor=this._initReuseChunk.length-1)}push(t){let e=this.chunks[this.chunks.length-1];if(this.cursor+t.length<=this.maxCursor+1){let o=e.length-(this.maxCursor-this.cursor)-1;e.set(t,o)}else{if(e){let o=e.length-(this.maxCursor-this.cursor)-1;o<e.length&&(this.chunks[this.chunks.length-1]=e.subarray(0,o),this.maxCursor=this.cursor-1)}t.length<64&&t.length<this.chunkSize?(e=$l(this.chunkSize),this.chunks.push(e),this.maxCursor+=e.length,this._initReuseChunk===null&&(this._initReuseChunk=e),e.set(t,0)):(this.chunks.push(t),this.maxCursor+=t.length)}this.cursor+=t.length}toBytes(t=!1){let e;if(this.chunks.length===1){let n=this.chunks[0];t&&this.cursor>n.length/2?(e=this.cursor===n.length?n:n.subarray(0,this.cursor),this._initReuseChunk=null,this.chunks=[]):e=$r(n,0,this.cursor)}else e=Hl(this.chunks,this.cursor);return t&&this.reset(),e}};var H="CBOR decode error:",Sa="CBOR encode error:",An=[];An[23]=1;An[24]=2;An[25]=3;An[26]=5;An[27]=9;function Ue(r,t,e){if(r.length-t<e)throw new Error(`${H} not enough data for type`)}var gt=[24,256,65536,4294967296,BigInt("18446744073709551616")];function Ht(r,t,e){Ue(r,t,1);let n=r[t];if(e.strict===!0&&n<gt[0])throw new Error(`${H} integer encoded in more bytes than necessary (strict decode)`);return n}function $t(r,t,e){Ue(r,t,2);let n=r[t]<<8|r[t+1];if(e.strict===!0&&n<gt[1])throw new Error(`${H} integer encoded in more bytes than necessary (strict decode)`);return n}function Kt(r,t,e){Ue(r,t,4);let n=r[t]*16777216+(r[t+1]<<16)+(r[t+2]<<8)+r[t+3];if(e.strict===!0&&n<gt[2])throw new Error(`${H} integer encoded in more bytes than necessary (strict decode)`);return n}function qt(r,t,e){Ue(r,t,8);let n=r[t]*16777216+(r[t+1]<<16)+(r[t+2]<<8)+r[t+3],o=r[t+4]*16777216+(r[t+5]<<16)+(r[t+6]<<8)+r[t+7],i=(BigInt(n)<<BigInt(32))+BigInt(o);if(e.strict===!0&&i<gt[3])throw new Error(`${H} integer encoded in more bytes than necessary (strict decode)`);if(i<=Number.MAX_SAFE_INTEGER)return Number(i);if(e.allowBigInt===!0)return i;throw new Error(`${H} integers outside of the safe integer range are not supported`)}function ql(r,t,e,n){return new _(y.uint,Ht(r,t+1,n),2)}function zl(r,t,e,n){return new _(y.uint,$t(r,t+1,n),3)}function jl(r,t,e,n){return new _(y.uint,Kt(r,t+1,n),5)}function Gl(r,t,e,n){return new _(y.uint,qt(r,t+1,n),9)}function jt(r,t){return bt(r,0,t.value)}function bt(r,t,e){if(e<gt[0]){let n=Number(e);r.push([t|n])}else if(e<gt[1]){let n=Number(e);r.push([t|24,n])}else if(e<gt[2]){let n=Number(e);r.push([t|25,n>>>8,n&255])}else if(e<gt[3]){let n=Number(e);r.push([t|26,n>>>24&255,n>>>16&255,n>>>8&255,n&255])}else{let n=BigInt(e);if(n<gt[4]){let o=[t|27,0,0,0,0,0,0,0],i=Number(n&BigInt(4294967295)),s=Number(n>>BigInt(32)&BigInt(4294967295));o[8]=i&255,i=i>>8,o[7]=i&255,i=i>>8,o[6]=i&255,i=i>>8,o[5]=i&255,o[4]=s&255,s=s>>8,o[3]=s&255,s=s>>8,o[2]=s&255,s=s>>8,o[1]=s&255,r.push(o)}else throw new Error(`${H} encountered BigInt larger than allowable range`)}}jt.encodedSize=function(t){return bt.encodedSize(t.value)};bt.encodedSize=function(t){return t<gt[0]?1:t<gt[1]?2:t<gt[2]?3:t<gt[3]?5:9};jt.compareTokens=function(t,e){return t.value<e.value?-1:t.value>e.value?1:0};function Zl(r,t,e,n){return new _(y.negint,-1-Ht(r,t+1,n),2)}function Wl(r,t,e,n){return new _(y.negint,-1-$t(r,t+1,n),3)}function Yl(r,t,e,n){return new _(y.negint,-1-Kt(r,t+1,n),5)}var Ia=BigInt(-1),Jl=BigInt(1);function Xl(r,t,e,n){let o=qt(r,t+1,n);if(typeof o!="bigint"){let i=-1-o;if(i>=Number.MIN_SAFE_INTEGER)return new _(y.negint,i,9)}if(n.allowBigInt!==!0)throw new Error(`${H} integers outside of the safe integer range are not supported`);return new _(y.negint,Ia-BigInt(o),9)}function gi(r,t){let e=t.value,n=typeof e=="bigint"?e*Ia-Jl:e*-1-1;bt(r,t.type.majorEncoded,n)}gi.encodedSize=function(t){let e=t.value,n=typeof e=="bigint"?e*Ia-Jl:e*-1-1;return n<gt[0]?1:n<gt[1]?2:n<gt[2]?3:n<gt[3]?5:9};gi.compareTokens=function(t,e){return t.value<e.value?1:t.value>e.value?-1:0};function Sn(r,t,e,n){Ue(r,t,e+n);let o=$r(r,t+e,t+e+n);return new _(y.bytes,o,e+n)}function Ql(r,t,e,n){return Sn(r,t,1,e)}function tf(r,t,e,n){return Sn(r,t,2,Ht(r,t+1,n))}function ef(r,t,e,n){return Sn(r,t,3,$t(r,t+1,n))}function rf(r,t,e,n){return Sn(r,t,5,Kt(r,t+1,n))}function nf(r,t,e,n){let o=qt(r,t+1,n);if(typeof o=="bigint")throw new Error(`${H} 64-bit integer bytes lengths not supported`);return Sn(r,t,9,o)}function mi(r){return r.encodedBytes===void 0&&(r.encodedBytes=r.type===y.string?Ml(r.value):r.value),r.encodedBytes}function Kr(r,t){let e=mi(t);bt(r,t.type.majorEncoded,e.length),r.push(e)}Kr.encodedSize=function(t){let e=mi(t);return bt.encodedSize(e.length)+e.length};Kr.compareTokens=function(t,e){return gg(mi(t),mi(e))};function gg(r,t){return r.length<t.length?-1:r.length>t.length?1:Kl(r,t)}function In(r,t,e,n,o){let i=e+n;Ue(r,t,i);let s=new _(y.string,Ol(r,t+e,t+i),i);return o.retainStringBytes===!0&&(s.byteValue=$r(r,t+e,t+i)),s}function of(r,t,e,n){return In(r,t,1,e,n)}function sf(r,t,e,n){return In(r,t,2,Ht(r,t+1,n),n)}function af(r,t,e,n){return In(r,t,3,$t(r,t+1,n),n)}function cf(r,t,e,n){return In(r,t,5,Kt(r,t+1,n),n)}function uf(r,t,e,n){let o=qt(r,t+1,n);if(typeof o=="bigint")throw new Error(`${H} 64-bit integer string lengths not supported`);return In(r,t,9,o,n)}var lf=Kr;function qr(r,t,e,n){return new _(y.array,n,e)}function ff(r,t,e,n){return qr(r,t,1,e)}function hf(r,t,e,n){return qr(r,t,2,Ht(r,t+1,n))}function df(r,t,e,n){return qr(r,t,3,$t(r,t+1,n))}function pf(r,t,e,n){return qr(r,t,5,Kt(r,t+1,n))}function gf(r,t,e,n){let o=qt(r,t+1,n);if(typeof o=="bigint")throw new Error(`${H} 64-bit integer array lengths not supported`);return qr(r,t,9,o)}function mf(r,t,e,n){if(n.allowIndefinite===!1)throw new Error(`${H} indefinite length items not allowed`);return qr(r,t,1,1/0)}function yi(r,t){bt(r,y.array.majorEncoded,t.value)}yi.compareTokens=jt.compareTokens;yi.encodedSize=function(t){return bt.encodedSize(t.value)};function zr(r,t,e,n){return new _(y.map,n,e)}function yf(r,t,e,n){return zr(r,t,1,e)}function wf(r,t,e,n){return zr(r,t,2,Ht(r,t+1,n))}function xf(r,t,e,n){return zr(r,t,3,$t(r,t+1,n))}function bf(r,t,e,n){return zr(r,t,5,Kt(r,t+1,n))}function vf(r,t,e,n){let o=qt(r,t+1,n);if(typeof o=="bigint")throw new Error(`${H} 64-bit integer map lengths not supported`);return zr(r,t,9,o)}function Ef(r,t,e,n){if(n.allowIndefinite===!1)throw new Error(`${H} indefinite length items not allowed`);return zr(r,t,1,1/0)}function wi(r,t){bt(r,y.map.majorEncoded,t.value)}wi.compareTokens=jt.compareTokens;wi.encodedSize=function(t){return bt.encodedSize(t.value)};function Bf(r,t,e,n){return new _(y.tag,e,1)}function Af(r,t,e,n){return new _(y.tag,Ht(r,t+1,n),2)}function Sf(r,t,e,n){return new _(y.tag,$t(r,t+1,n),3)}function If(r,t,e,n){return new _(y.tag,Kt(r,t+1,n),5)}function kf(r,t,e,n){return new _(y.tag,qt(r,t+1,n),9)}function xi(r,t){bt(r,y.tag.majorEncoded,t.value)}xi.compareTokens=jt.compareTokens;xi.encodedSize=function(t){return bt.encodedSize(t.value)};var vg=20,Eg=21,Bg=22,Ag=23;function Tf(r,t,e,n){if(n.allowUndefined===!1)throw new Error(`${H} undefined values are not supported`);return n.coerceUndefinedToNull===!0?new _(y.null,null,1):new _(y.undefined,void 0,1)}function Cf(r,t,e,n){if(n.allowIndefinite===!1)throw new Error(`${H} indefinite length items not allowed`);return new _(y.break,void 0,1)}function ka(r,t,e){if(e){if(e.allowNaN===!1&&Number.isNaN(r))throw new Error(`${H} NaN values are not supported`);if(e.allowInfinity===!1&&(r===1/0||r===-1/0))throw new Error(`${H} Infinity values are not supported`)}return new _(y.float,r,t)}function Nf(r,t,e,n){return ka(Ta(r,t+1),3,n)}function Uf(r,t,e,n){return ka(Ca(r,t+1),5,n)}function Rf(r,t,e,n){return ka(Pf(r,t+1),9,n)}function bi(r,t,e){let n=t.value;if(n===!1)r.push([y.float.majorEncoded|vg]);else if(n===!0)r.push([y.float.majorEncoded|Eg]);else if(n===null)r.push([y.float.majorEncoded|Bg]);else if(n===void 0)r.push([y.float.majorEncoded|Ag]);else{let o,i=!1;(!e||e.float64!==!0)&&(Vf(n),o=Ta(oe,1),n===o||Number.isNaN(n)?(oe[0]=249,r.push(oe.slice(0,3)),i=!0):(_f(n),o=Ca(oe,1),n===o&&(oe[0]=250,r.push(oe.slice(0,5)),i=!0))),i||(Sg(n),o=Pf(oe,1),oe[0]=251,r.push(oe.slice(0,9)))}}bi.encodedSize=function(t,e){let n=t.value;if(n===!1||n===!0||n===null||n===void 0)return 1;if(!e||e.float64!==!0){Vf(n);let o=Ta(oe,1);if(n===o||Number.isNaN(n))return 3;if(_f(n),o=Ca(oe,1),n===o)return 5}return 9};var Lf=new ArrayBuffer(9),Gt=new DataView(Lf,1),oe=new Uint8Array(Lf,0);function Vf(r){if(r===1/0)Gt.setUint16(0,31744,!1);else if(r===-1/0)Gt.setUint16(0,64512,!1);else if(Number.isNaN(r))Gt.setUint16(0,32256,!1);else{Gt.setFloat32(0,r);let t=Gt.getUint32(0),e=(t&2139095040)>>23,n=t&8388607;if(e===255)Gt.setUint16(0,31744,!1);else if(e===0)Gt.setUint16(0,(r&2147483648)>>16|n>>13,!1);else{let o=e-127;o<-24?Gt.setUint16(0,0):o<-14?Gt.setUint16(0,(t&2147483648)>>16|1<<24+o,!1):Gt.setUint16(0,(t&2147483648)>>16|o+15<<10|n>>13,!1)}}}function Ta(r,t){if(r.length-t<2)throw new Error(`${H} not enough data for float16`);let e=(r[t]<<8)+r[t+1];if(e===31744)return 1/0;if(e===64512)return-1/0;if(e===32256)return NaN;let n=e>>10&31,o=e&1023,i;return n===0?i=o*2**-24:n!==31?i=(o+1024)*2**(n-25):i=o===0?1/0:NaN,e&32768?-i:i}function _f(r){Gt.setFloat32(0,r,!1)}function Ca(r,t){if(r.length-t<4)throw new Error(`${H} not enough data for float32`);let e=(r.byteOffset||0)+t;return new DataView(r.buffer,e,4).getFloat32(0,!1)}function Sg(r){Gt.setFloat64(0,r,!1)}function Pf(r,t){if(r.length-t<8)throw new Error(`${H} not enough data for float64`);let e=(r.byteOffset||0)+t;return new DataView(r.buffer,e,8).getFloat64(0,!1)}bi.compareTokens=jt.compareTokens;function W(r,t,e){throw new Error(`${H} encountered invalid minor (${e}) for major ${r[t]>>>5}`)}function vi(r){return()=>{throw new Error(`${H} ${r}`)}}var k=[];for(let r=0;r<=23;r++)k[r]=W;k[24]=ql;k[25]=zl;k[26]=jl;k[27]=Gl;k[28]=W;k[29]=W;k[30]=W;k[31]=W;for(let r=32;r<=55;r++)k[r]=W;k[56]=Zl;k[57]=Wl;k[58]=Yl;k[59]=Xl;k[60]=W;k[61]=W;k[62]=W;k[63]=W;for(let r=64;r<=87;r++)k[r]=Ql;k[88]=tf;k[89]=ef;k[90]=rf;k[91]=nf;k[92]=W;k[93]=W;k[94]=W;k[95]=vi("indefinite length bytes/strings are not supported");for(let r=96;r<=119;r++)k[r]=of;k[120]=sf;k[121]=af;k[122]=cf;k[123]=uf;k[124]=W;k[125]=W;k[126]=W;k[127]=vi("indefinite length bytes/strings are not supported");for(let r=128;r<=151;r++)k[r]=ff;k[152]=hf;k[153]=df;k[154]=pf;k[155]=gf;k[156]=W;k[157]=W;k[158]=W;k[159]=mf;for(let r=160;r<=183;r++)k[r]=yf;k[184]=wf;k[185]=xf;k[186]=bf;k[187]=vf;k[188]=W;k[189]=W;k[190]=W;k[191]=Ef;for(let r=192;r<=215;r++)k[r]=Bf;k[216]=Af;k[217]=Sf;k[218]=If;k[219]=kf;k[220]=W;k[221]=W;k[222]=W;k[223]=W;for(let r=224;r<=243;r++)k[r]=vi("simple values are not supported");k[244]=W;k[245]=W;k[246]=W;k[247]=Tf;k[248]=vi("simple values are not supported");k[249]=Nf;k[250]=Uf;k[251]=Rf;k[252]=W;k[253]=W;k[254]=W;k[255]=Cf;var ie=[];for(let r=0;r<24;r++)ie[r]=new _(y.uint,r,1);for(let r=-1;r>=-24;r--)ie[31-r]=new _(y.negint,r,1);ie[64]=new _(y.bytes,new Uint8Array(0),1);ie[96]=new _(y.string,"",1);ie[128]=new _(y.array,0,1);ie[160]=new _(y.map,0,1);ie[244]=new _(y.false,!1,1);ie[245]=new _(y.true,!0,1);ie[246]=new _(y.null,null,1);function kg(){let r=[];return r[y.uint.major]=jt,r[y.negint.major]=gi,r[y.bytes.major]=Kr,r[y.string.major]=lf,r[y.array.major]=yi,r[y.map.major]=wi,r[y.tag.major]=xi,r[y.float.major]=bi,r}var pv=kg(),gv=new pi,Ei=class r{constructor(t,e){this.obj=t,this.parent=e}includes(t){let e=this;do if(e.obj===t)return!0;while(e=e.parent);return!1}static createCheck(t,e){if(t&&t.includes(e))throw new Error(`${Sa} object contains circular references`);return new r(e,t)}},Ze={null:new _(y.null,null),undefined:new _(y.undefined,void 0),true:new _(y.true,!0),false:new _(y.false,!1),emptyArray:new _(y.array,0),emptyMap:new _(y.map,0)},We={number(r,t,e,n){return!Number.isInteger(r)||!Number.isSafeInteger(r)?new _(y.float,r):r>=0?new _(y.uint,r):new _(y.negint,r)},bigint(r,t,e,n){return r>=BigInt(0)?new _(y.uint,r):new _(y.negint,r)},Uint8Array(r,t,e,n){return new _(y.bytes,r)},string(r,t,e,n){return new _(y.string,r)},boolean(r,t,e,n){return r?Ze.true:Ze.false},null(r,t,e,n){return Ze.null},undefined(r,t,e,n){return Ze.undefined},ArrayBuffer(r,t,e,n){return new _(y.bytes,new Uint8Array(r))},DataView(r,t,e,n){return new _(y.bytes,new Uint8Array(r.buffer,r.byteOffset,r.byteLength))},Array(r,t,e,n){if(!r.length)return e.addBreakTokens===!0?[Ze.emptyArray,new _(y.break)]:Ze.emptyArray;n=Ei.createCheck(n,r);let o=[],i=0;for(let s of r)o[i++]=Na(s,e,n);return e.addBreakTokens?[new _(y.array,r.length),o,new _(y.break)]:[new _(y.array,r.length),o]},Object(r,t,e,n){let o=t!=="Object",i=o?r.keys():Object.keys(r),s=o?r.size:i.length;if(!s)return e.addBreakTokens===!0?[Ze.emptyMap,new _(y.break)]:Ze.emptyMap;n=Ei.createCheck(n,r);let a=[],c=0;for(let f of i)a[c++]=[Na(f,e,n),Na(o?r.get(f):r[f],e,n)];return Tg(a,e),e.addBreakTokens?[new _(y.map,s),a,new _(y.break)]:[new _(y.map,s),a]}};We.Map=We.Object;We.Buffer=We.Uint8Array;for(let r of"Uint8Clamped Uint16 Uint32 Int8 Int16 Int32 BigUint64 BigInt64 Float32 Float64".split(" "))We[`${r}Array`]=We.DataView;function Na(r,t={},e){let n=Vl(r),o=t&&t.typeEncoders&&t.typeEncoders[n]||We[n];if(typeof o=="function"){let s=o(r,n,t,e);if(s!=null)return s}let i=We[n];if(!i)throw new Error(`${Sa} unsupported type: ${n}`);return i(r,n,t,e)}function Tg(r,t){t.mapSorter&&r.sort(t.mapSorter)}var Cg={strict:!1,allowIndefinite:!0,allowUndefined:!0,allowBigInt:!0},Bi=class{constructor(t,e={}){this._pos=0,this.data=t,this.options=e}pos(){return this._pos}done(){return this._pos>=this.data.length}next(){let t=this.data[this._pos],e=ie[t];if(e===void 0){let n=k[t];if(!n)throw new Error(`${H} no decoder for major type ${t>>>5} (byte 0x${t.toString(16).padStart(2,"0")})`);let o=t&31;e=n(this.data,this._pos,o,this.options)}return this._pos+=e.encodedLength,e}},kn=Symbol.for("DONE"),Ai=Symbol.for("BREAK");function Ng(r,t,e){let n=[];for(let o=0;o<r.value;o++){let i=jr(t,e);if(i===Ai){if(r.value===1/0)break;throw new Error(`${H} got unexpected break to lengthed array`)}if(i===kn)throw new Error(`${H} found array but not enough entries (got ${o}, expected ${r.value})`);n[o]=i}return n}function Ug(r,t,e){let n=e.useMaps===!0,o=n?void 0:{},i=n?new Map:void 0;for(let s=0;s<r.value;s++){let a=jr(t,e);if(a===Ai){if(r.value===1/0)break;throw new Error(`${H} got unexpected break to lengthed map`)}if(a===kn)throw new Error(`${H} found map but not enough entries (got ${s} [no key], expected ${r.value})`);if(n!==!0&&typeof a!="string")throw new Error(`${H} non-string keys not supported (got ${typeof a})`);if(e.rejectDuplicateMapKeys===!0&&(n&&i.has(a)||!n&&a in o))throw new Error(`${H} found repeat map key "${a}"`);let c=jr(t,e);if(c===kn)throw new Error(`${H} found map but not enough entries (got ${s} [no value], expected ${r.value})`);n?i.set(a,c):o[a]=c}return n?i:o}function jr(r,t){if(r.done())return kn;let e=r.next();if(e.type===y.break)return Ai;if(e.type.terminal)return e.value;if(e.type===y.array)return Ng(e,r,t);if(e.type===y.map)return Ug(e,r,t);if(e.type===y.tag){if(t.tags&&typeof t.tags[e.value]=="function"){let n=jr(r,t);return t.tags[e.value](n)}throw new Error(`${H} tag not supported (${e.value})`)}throw new Error("unsupported")}function Ff(r,t){if(!(r instanceof Uint8Array))throw new Error(`${H} data to decode must be a Uint8Array`);t=Object.assign({},Cg,t);let e=t.tokenizer||new Bi(r,t),n=jr(e,t);if(n===kn)throw new Error(`${H} did not find any content to decode`);if(n===Ai)throw new Error(`${H} got unexpected break`);return[n,r.subarray(e.pos())]}function Ua(r,t){let[e,n]=Ff(r,t);if(n.length>0)throw new Error(`${H} too many terminals, data makes no sense`);return e}var Vg=Ve("ipns:utils"),Df=j("/ipns/");var _g=0,Pg=18;function Of(r){let t;if(r.pubKey!=null)try{t=dl(r.pubKey)}catch(e){throw Vg.error(e),e}if(t!=null)return t}function Mf(r){let t=j("ipns-signature:");return It([t,r])}function lr(r){return"signatureV1"in r?ne.encode({value:j(r.value),signatureV1:r.signatureV1,validityType:r.validityType,validity:j(r.validity),sequence:r.sequence,ttl:r.ttl,pubKey:r.pubKey,signatureV2:r.signatureV2,data:r.data}):ne.encode({pubKey:r.pubKey,signatureV2:r.signatureV2,data:r.data})}function de(r){let t=ne.decode(r);if(t.sequence!=null&&(t.sequence=BigInt(t.sequence)),t.ttl!=null&&(t.ttl=BigInt(t.ttl)),t.signatureV2==null||t.data==null)throw new re("Missing data or signatureV2");let e=Hf(t.data),n=Fg(e.Value),o=nt(e.Validity);if(t.value!=null&&t.signatureV1!=null)return Dg(t),{value:n,validityType:ne.ValidityType.EOL,validity:o,sequence:e.Sequence,ttl:e.TTL,pubKey:t.pubKey,signatureV1:t.signatureV1,signatureV2:t.signatureV2,data:t.data};if(t.signatureV2!=null)return{value:n,validityType:ne.ValidityType.EOL,validity:o,sequence:e.Sequence,ttl:e.TTL,pubKey:t.pubKey,signatureV2:t.signatureV2,data:t.data};throw new Error("invalid record: does not include signatureV1 or signatureV2")}function Tn(r){return It([Df,r.bytes])}function Re(r){let t=ye(r.slice(Df.length));if(!Si(t,_g)&&!Si(t,Pg))throw new dr("Multihash in IPNS key was not identity or sha2-256");return t}function Hf(r){let t=Ua(r);if(t.ValidityType===0)t.ValidityType=ne.ValidityType.EOL;else throw new Mr("The validity type is unsupported");return Number.isInteger(t.Sequence)&&(t.Sequence=BigInt(t.Sequence)),Number.isInteger(t.TTL)&&(t.TTL=BigInt(t.TTL)),t}function Fg(r){let t=nt(r).trim();if(t.startsWith("/"))return t;try{return`/ipfs/${X.decode(r).toV1().toString()}`}catch{}try{return`/ipfs/${X.parse(t).toV1().toString()}`}catch{}throw new fi("Value must be a valid content path starting with /")}function Dg(r){if(r.data==null)throw new hi("Record data is missing");let t=Hf(r.data);if(!st(t.Value,r.value??new Uint8Array(0)))throw new re('Field "value" did not match between protobuf and CBOR');if(!st(t.Validity,r.validity??new Uint8Array(0)))throw new re('Field "validity" did not match between protobuf and CBOR');if(t.ValidityType!==r.validityType)throw new re('Field "validityType" did not match between protobuf and CBOR');if(t.Sequence!==r.sequence)throw new re('Field "sequence" did not match between protobuf and CBOR');if(t.TTL!==r.ttl)throw new re('Field "ttl" did not match between protobuf and CBOR')}function Si(r,t){return r.code===t}var Ov=Ve("ipns"),Mv=60*60*1e9,Mg="/ipns/",Hv=Mg.length;var $f=_n(Aa(),1);var Ii=Ve("ipns:validator"),Hg=1024*10,$g=async(r,t)=>{let e=de(t),n;try{let o=Mf(e.data);n=await r.verify(o,e.signatureV2)}catch{n=!1}if(!n)throw Ii.error("record signature verification failed"),new re("Record signature verification failed");if(e.validityType===ne.ValidityType.EOL){if($f.default.fromString(e.validity).toDate().getTime()<Date.now())throw Ii.error("record has expired"),new ui("record has expired")}else if(e.validityType!=null)throw Ii.error("the validity type is unsupported"),new Mr("The validity type is unsupported");Ii("ipns record for %s is valid",e.value)};async function Kf(r,t){if(t.byteLength>Hg)throw new li("The record is too large");let e=Re(r),n;Si(e,0)&&(n=ti(e));let o=de(t),i=Of(o)??n;if(i==null)throw new Bn("Could not extract public key from IPNS record or routing key");let s=Tn(i.toMultihash());if(!st(r,s))throw new Bn("Embedded public key did not match routing key");await $g(i,t)}var jf=Symbol.for("@achingbrain/uint8arraylist");function qf(r,t){if(t==null||t<0)throw new RangeError("index is out of bounds");let e=0;for(let n of r){let o=e+n.byteLength;if(t<o)return{buf:n,index:t-e};e=o}throw new RangeError("index is out of bounds")}function Gr(r){return!!r?.[jf]}var zf=class r{bufs;length;[jf]=!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(Gr(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(Gr(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=qf(this.bufs,t);return e.buf[e.index]}set(t,e){let n=qf(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(Gr(t))for(let n=0;n<t.length;n++)this.set(e+n,t.get(n));else throw new Error("Could not write value, must be an Uint8Array or a Uint8ArrayList")}consume(t){if(t=Math.trunc(t),!(Number.isNaN(t)||t<=0)){if(t===this.byteLength){this.bufs=[],this.length=0;return}for(;this.bufs.length>0;)if(t>=this.bufs[0].byteLength)t-=this.bufs[0].byteLength,this.length-=this.bufs[0].byteLength,this.bufs.shift();else{this.bufs[0]=this.bufs[0].subarray(t),this.length-=t;break}}}slice(t,e){let{bufs:n,length:o}=this._subList(t,e);return It(n,o)}subarray(t,e){let{bufs:n,length:o}=this._subList(t,e);return n.length===1?n[0]:It(n,o)}sublist(t,e){let{bufs:n,length:o}=this._subList(t,e),i=new r;return i.length=o,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=[],o=0;for(let i=0;i<this.bufs.length;i++){let s=this.bufs[i],a=o,c=a+s.byteLength;if(o=c,t>=c)continue;let f=t>=a&&t<c,u=e>a&&e<=c;if(f&&u){if(t===a&&e===c){n.push(s);break}let l=t-a;n.push(s.subarray(l,l+(e-t)));break}if(f){if(t===0){n.push(s);continue}n.push(s.subarray(t-a));continue}if(u){if(e===c){n.push(s);break}n.push(s.subarray(0,e-a));break}n.push(s)}return{bufs:n,length:e-t}}indexOf(t,e=0){if(!Gr(t)&&!(t instanceof Uint8Array))throw new TypeError('The "value" argument must be a Uint8ArrayList or Uint8Array');let n=t instanceof Uint8Array?t:t.subarray();if(e=Number(e??0),isNaN(e)&&(e=0),e<0&&(e=this.length+e),e<0&&(e=0),t.length===0)return e>this.length?this.length:e;let o=n.byteLength;if(o===0)throw new TypeError("search must be at least 1 byte long");let i=256,s=new Int32Array(i);for(let l=0;l<i;l++)s[l]=-1;for(let l=0;l<o;l++)s[n[l]]=l;let a=s,c=this.byteLength-n.byteLength,f=n.byteLength-1,u;for(let l=e;l<=c;l+=u){u=0;for(let h=f;h>=0;h--){let m=this.get(l+h);if(n[h]!==m){u=Math.max(1,h-a[m]);break}}if(u===0)return l}return-1}getInt8(t){let e=this.subarray(t,t+1);return new DataView(e.buffer,e.byteOffset,e.byteLength).getInt8(0)}setInt8(t,e){let n=Ft(1);new DataView(n.buffer,n.byteOffset,n.byteLength).setInt8(0,e),this.write(n,t)}getInt16(t,e){let n=this.subarray(t,t+2);return new DataView(n.buffer,n.byteOffset,n.byteLength).getInt16(0,e)}setInt16(t,e,n){let o=Ee(2);new DataView(o.buffer,o.byteOffset,o.byteLength).setInt16(0,e,n),this.write(o,t)}getInt32(t,e){let n=this.subarray(t,t+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getInt32(0,e)}setInt32(t,e,n){let o=Ee(4);new DataView(o.buffer,o.byteOffset,o.byteLength).setInt32(0,e,n),this.write(o,t)}getBigInt64(t,e){let n=this.subarray(t,t+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getBigInt64(0,e)}setBigInt64(t,e,n){let o=Ee(8);new DataView(o.buffer,o.byteOffset,o.byteLength).setBigInt64(0,e,n),this.write(o,t)}getUint8(t){let e=this.subarray(t,t+1);return new DataView(e.buffer,e.byteOffset,e.byteLength).getUint8(0)}setUint8(t,e){let n=Ft(1);new DataView(n.buffer,n.byteOffset,n.byteLength).setUint8(0,e),this.write(n,t)}getUint16(t,e){let n=this.subarray(t,t+2);return new DataView(n.buffer,n.byteOffset,n.byteLength).getUint16(0,e)}setUint16(t,e,n){let o=Ee(2);new DataView(o.buffer,o.byteOffset,o.byteLength).setUint16(0,e,n),this.write(o,t)}getUint32(t,e){let n=this.subarray(t,t+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getUint32(0,e)}setUint32(t,e,n){let o=Ee(4);new DataView(o.buffer,o.byteOffset,o.byteLength).setUint32(0,e,n),this.write(o,t)}getBigUint64(t,e){let n=this.subarray(t,t+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getBigUint64(0,e)}setBigUint64(t,e,n){let o=Ee(8);new DataView(o.buffer,o.byteOffset,o.byteLength).setBigUint64(0,e,n),this.write(o,t)}getFloat32(t,e){let n=this.subarray(t,t+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getFloat32(0,e)}setFloat32(t,e,n){let o=Ee(4);new DataView(o.buffer,o.byteOffset,o.byteLength).setFloat32(0,e,n),this.write(o,t)}getFloat64(t,e){let n=this.subarray(t,t+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getFloat64(0,e)}setFloat64(t,e,n){let o=Ee(8);new DataView(o.buffer,o.byteOffset,o.byteLength).setFloat64(0,e,n),this.write(o,t)}equals(t){if(t==null||!(t instanceof r)||t.bufs.length!==this.bufs.length)return!1;for(let e=0;e<this.bufs.length;e++)if(!st(this.bufs[e],t.bufs[e]))return!1;return!0}static fromUint8Arrays(t,e){let n=new r;return n.bufs=t,e==null&&(e=t.reduce((o,i)=>o+i.byteLength,0)),n.length=e,n}};var ki=class extends Error{name="InvalidMessageLengthError";code="ERR_INVALID_MESSAGE_LENGTH"};async function*Cn(r,t={}){let e=/\r?\n/,n=new TextDecoder("utf8"),o="";for await(let i of r){if(typeof i=="string"&&(i=new TextEncoder().encode(i)),Gr(i)&&(i=i.subarray()),o+=n.decode(i,{stream:!0}),o.length>(t?.maxMessageLength??o.length))throw new ki("Incoming message too long");let s=o.split(e);o=s.pop()??"";for(let a=0;a<s.length;a++)yield JSON.parse(s[a])}o+=n.decode(),o!==""&&(yield JSON.parse(o))}function pe(){let r={};return r.promise=new Promise((t,e)=>{r.resolve=t,r.reject=e}),r}var La=_n(Zf(),1);var Un=class extends Error{constructor(t){super(t),this.name="TimeoutError"}},Va=class extends Error{constructor(t){super(),this.name="AbortError",this.message=t}},Wf=r=>globalThis.DOMException===void 0?new Va(r):new DOMException(r),Yf=r=>{let t=r.reason===void 0?Wf("This operation was aborted."):r.reason;return t instanceof Error?t:Wf(t)};function _a(r,t){let{milliseconds:e,fallback:n,message:o,customTimers:i={setTimeout,clearTimeout}}=t,s,a,f=new Promise((u,l)=>{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:m}=t;m.aborted&&l(Yf(m)),a=()=>{l(Yf(m))},m.addEventListener("abort",a,{once:!0})}if(e===Number.POSITIVE_INFINITY){r.then(u,l);return}let h=new Un;s=i.setTimeout.call(void 0,()=>{if(n){try{u(n())}catch(m){l(m)}return}typeof r.cancel=="function"&&r.cancel(),o===!1?u():o instanceof Error?l(o):(h.message=o??`Promise timed out after ${e} milliseconds`,l(h))},e),(async()=>{try{u(await r)}catch(m){l(m)}})()}).finally(()=>{f.clear(),a&&t.signal&&t.signal.removeEventListener("abort",a)});return f.clear=()=>{i.clearTimeout.call(void 0,s),s=void 0},f}function Pa(r,t,e){let n=0,o=r.length;for(;o>0;){let i=Math.trunc(o/2),s=n+i;e(r[s],t)<=0?(n=++s,o-=i+1):o=i}return n}var Rn=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 o=Pa(this.#t,n,(i,s)=>s.priority-i.priority);this.#t.splice(o,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 Ln=class extends La.default{#t;#r;#e=0;#a;#c;#p=0;#o;#u;#n;#g;#i=0;#l;#s;#m;timeout;constructor(t){if(super(),t={carryoverConcurrencyCount:!1,intervalCap:Number.POSITIVE_INFINITY,interval:0,concurrency:Number.POSITIVE_INFINITY,autoStart:!0,queueClass:Rn,...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.#r=t.intervalCap===Number.POSITIVE_INFINITY||t.interval===0,this.#a=t.intervalCap,this.#c=t.interval,this.#n=new t.queueClass,this.#g=t.queueClass,this.concurrency=t.concurrency,this.timeout=t.timeout,this.#m=t.throwOnTimeout===!0,this.#s=t.autoStart===!1}get#x(){return this.#r||this.#e<this.#a}get#b(){return this.#i<this.#l}#v(){this.#i--,this.#f(),this.emit("next")}#E(){this.#w(),this.#y(),this.#u=void 0}get#B(){let t=Date.now();if(this.#o===void 0){let e=this.#p-t;if(e<0)this.#e=this.#t?this.#i:0;else return this.#u===void 0&&(this.#u=setTimeout(()=>{this.#E()},e)),!0}return!1}#f(){if(this.#n.size===0)return this.#o&&clearInterval(this.#o),this.#o=void 0,this.emit("empty"),this.#i===0&&this.emit("idle"),!1;if(!this.#s){let t=!this.#B;if(this.#x&&this.#b){let e=this.#n.dequeue();return e?(this.emit("active"),e(),t&&this.#y(),!0):!1}}return!1}#y(){this.#r||this.#o!==void 0||(this.#o=setInterval(()=>{this.#w()},this.#c),this.#p=Date.now()+this.#c)}#w(){this.#e===0&&this.#i===0&&this.#o&&(clearInterval(this.#o),this.#o=void 0),this.#e=this.#t?this.#i:0,this.#h()}#h(){for(;this.#f(););}get concurrency(){return this.#l}set concurrency(t){if(!(typeof t=="number"&&t>=1))throw new TypeError(`Expected \`concurrency\` to be a number from 1 and up, got \`${t}\` (${typeof t})`);this.#l=t,this.#h()}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.#m,...e},new Promise((n,o)=>{this.#n.enqueue(async()=>{this.#i++,this.#e++;try{e.signal?.throwIfAborted();let i=t({signal:e.signal});e.timeout&&(i=_a(Promise.resolve(i),{milliseconds:e.timeout})),e.signal&&(i=Promise.race([i,this.#A(e.signal)]));let s=await i;n(s),this.emit("completed",s)}catch(i){if(i instanceof Un&&!e.throwOnTimeout){n();return}o(i),this.emit("error",i)}finally{this.#v()}},e),this.emit("add"),this.#f()})}async addAll(t,e){return Promise.all(t.map(async n=>this.add(n,e)))}start(){return this.#s?(this.#s=!1,this.#h(),this):this}pause(){this.#s=!0}clear(){this.#n=new this.#g}async onEmpty(){this.#n.size!==0&&await this.#d("empty")}async onSizeLessThan(t){this.#n.size<t||await this.#d("next",()=>this.#n.size<t)}async onIdle(){this.#i===0&&this.#n.size===0||await this.#d("idle")}async#d(t,e){return new Promise(n=>{let o=()=>{e&&!e()||(this.off(t,o),n())};this.on(t,o)})}get size(){return this.#n.size}sizeBy(t){return this.#n.filter(t).length}get pending(){return this.#i}get isPaused(){return this.#s}};var Zr=class extends Error{static name="InvalidRequestError";constructor(t="Invalid request"){super(t),this.name="InvalidRequestError"}},fr=class extends Error{static name="BadResponseError";constructor(t="Bad response"){super(t),this.name="BadResponseError"}};function zg(r){return r[Symbol.asyncIterator]!=null}function jg(r){if(zg(r))return(async()=>{for await(let t of r)return t})();for(let t of r)return t}var Ci=jg;function Gg(r){let[t,e]=r[Symbol.asyncIterator]!=null?[r[Symbol.asyncIterator](),Symbol.asyncIterator]:[r[Symbol.iterator](),Symbol.iterator],n=[];return{peek:()=>t.next(),push:o=>{n.push(o)},next:()=>n.length>0?{done:!1,value:n.shift()}:t.next(),[e](){return this}}}var Jf=Gg;function Zg(r){return r[Symbol.asyncIterator]!=null}function Wg(r,t){let e=0;if(Zg(r))return async function*(){for await(let c of r)yield t(c,e++)}();let n=Jf(r),{value:o,done:i}=n.next();if(i===!0)return function*(){}();let s=t(o,e++);if(typeof s.then=="function")return async function*(){yield await s;for await(let c of n)yield t(c,e++)}();let a=t;return function*(){yield s;for(let c of n)yield a(c,e++)}()}var Ni=Wg;var Xf=j("/ipns/");function Qf(r){return st(r.subarray(0,Xf.byteLength),Xf)}var Ui=class{client;constructor(t){this.client=t}async*findProviders(t,e={}){yield*Ni(this.client.getProviders(t,e),n=>({id:n.ID,multiaddrs:n.Addrs??[]}))}async provide(){}async cancelReprovide(){}async put(t,e,n){if(!Qf(t))return;let o=Re(t),i=X.createV1(114,o),s=de(e);await this.client.putIPNS(i,s,n)}async get(t,e){if(!Qf(t))throw new Lt("Not found");let n=Re(t),o=X.createV1(114,n);try{let i=await this.client.getIPNS(o,e);return lr(i)}catch(i){throw i.name==="BadResponseError"?new Lt("Not found"):i}}},Ri=class{client;constructor(t){this.client=t}async findPeer(t,e={}){let n=await Ci(this.client.getPeers(t,e));if(n!=null)return{id:n.ID,multiaddrs:n.Addrs??[]};throw new Lt("Not found")}async*getClosestPeers(t,e={}){}};var mt=Ve("delegated-routing-v1-http-api-client"),Li={concurrentRequests:4,timeout:3e4,cacheTTL:5*60*1e3,cacheName:"delegated-routing-v1-cache"},Vi=class{started;httpQueue;shutDownController;clientUrl;timeout;contentRouting;peerRouting;filterAddrs;filterProtocols;inFlightRequests;cacheName;cache;cacheTTL;constructor(t,e={}){this.started=!1,this.shutDownController=new AbortController,gr(1/0,this.shutDownController.signal),this.httpQueue=new Ln({concurrency:e.concurrentRequests??Li.concurrentRequests}),this.inFlightRequests=new Map,this.clientUrl=t instanceof URL?t:new URL(t),this.timeout=e.timeout??Li.timeout,this.filterAddrs=e.filterAddrs,this.filterProtocols=e.filterProtocols,this.contentRouting=new Ui(this),this.peerRouting=new Ri(this),this.cacheName=e.cacheName??Li.cacheName,this.cacheTTL=e.cacheTTL??Li.cacheTTL}get[ec](){return this.contentRouting}get[rc](){return this.peerRouting}isStarted(){return this.started}async start(){this.started||(this.started=!0,this.cacheTTL>0&&(this.cache=await globalThis.caches?.open(this.cacheName),this.cache!=null&&mt("cache enabled with ttl %d",this.cacheTTL)))}async stop(){this.httpQueue.clear(),this.shutDownController.abort(),await globalThis.caches?.delete(this.cacheName),this.started=!1}async*getProviders(t,e={}){mt("getProviders starts: %c",t);let n=AbortSignal.timeout(this.timeout),o=En([this.shutDownController.signal,n,e.signal]);gr(1/0,n,o);let i=pe(),s=pe();this.httpQueue.add(async()=>(i.resolve(),s.promise));try{await i.promise;let a=new URL(`${this.clientUrl}routing/v1/providers/${t.toString()}`);this.#r(a,e.filterAddrs,e.filterProtocols);let c={headers:{Accept:"application/x-ndjson"},signal:o},f=await this.#e(a.toString(),c);if(f.status===404)throw new Lt("No matching records found");if(f.status===422)throw new Zr("Request does not conform to schema or semantic constraints");if(f.body==null)throw new fr("Routing response had no body");if(f.headers.get("Content-Type")==="application/json"){let l=await f.json();for(let h of l.Providers){let m=this.#t(h);m!=null&&(yield m)}}else for await(let l of Cn(ci(f.body))){let h=this.#t(l);h!=null&&(yield h)}}catch(a){mt.error("getProviders errored:",a)}finally{o.clear(),s.resolve(),mt("getProviders finished: %c",t)}}async*getPeers(t,e={}){mt("getPeers starts: %c",t);let n=AbortSignal.timeout(this.timeout),o=En([this.shutDownController.signal,n,e.signal]);gr(1/0,n,o);let i=pe(),s=pe();this.httpQueue.add(async()=>(i.resolve(),s.promise));try{await i.promise;let a=new URL(`${this.clientUrl}routing/v1/peers/${t.toCID().toString()}`);this.#r(a,e.filterAddrs,e.filterProtocols);let c={headers:{Accept:"application/x-ndjson"},signal:o},f=await this.#e(a.toString(),c);if(f.status===404)throw new Lt("No matching records found");if(f.status===422)throw new Zr("Request does not conform to schema or semantic constraints");if(f.body==null)throw new fr("Routing response had no body");if(f.headers.get("Content-Type")==="application/json"){let l=await f.json();for(let h of l.Peers){let m=this.#t(h);m!=null&&(yield m)}}else for await(let l of Cn(ci(f.body))){let h=this.#t(l);h!=null&&(yield h)}}catch(a){mt.error("getPeers errored:",a)}finally{o.clear(),s.resolve(),mt("getPeers finished: %c",t)}}async getIPNS(t,e={}){mt("getIPNS starts: %s",t);let n=AbortSignal.timeout(this.timeout),o=En([this.shutDownController.signal,n,e.signal]);gr(1/0,n,o);let i=pe(),s=pe();this.httpQueue.add(async()=>(i.resolve(),s.promise));let a=`${this.clientUrl}routing/v1/ipns/${t}`;try{await i.promise;let c={headers:{Accept:"application/vnd.ipfs.ipns-record"},signal:o},f=await this.#e(a,c);if(mt("getIPNS GET %s %d",a,f.status),f.status===404)throw new Lt("No matching records found");if(f.status===422)throw new Zr("Request does not conform to schema or semantic constraints");if(f.body==null)throw new fr("GET ipns response had no body");let u=await f.arrayBuffer(),l=new Uint8Array(u,0,u.byteLength);return e.validate!==!1&&await Kf(Tn(t.multihash),l),de(l)}catch(c){throw mt.error("getIPNS GET %s error:",a,c),c}finally{o.clear(),s.resolve(),mt("getIPNS finished: %s",t)}}async putIPNS(t,e,n={}){mt("putIPNS starts: %c",t);let o=AbortSignal.timeout(this.timeout),i=En([this.shutDownController.signal,o,n.signal]);gr(1/0,o,i);let s=pe(),a=pe();this.httpQueue.add(async()=>(s.resolve(),a.promise));let c=`${this.clientUrl}routing/v1/ipns/${t}`;try{await s.promise;let f=lr(e),u={method:"PUT",headers:{"Content-Type":"application/vnd.ipfs.ipns-record"},body:f,signal:i},l=await this.#e(c,u);if(mt("putIPNS PUT %s %d",c,l.status),l.status!==200)throw new fr("PUT ipns response had status other than 200")}catch(f){throw mt.error("putIPNS PUT %s error:",c,f.stack),f}finally{i.clear(),a.resolve(),mt("putIPNS finished: %c",t)}}#t(t){try{let e=[],n=t.Addrs?.map(cr)??[];return t.Protocols!=null&&e.push(...t.Protocols),t.Protocol!=null&&(e.push(t.Protocol),delete t.Protocol),{...t,Schema:"peer",ID:ml(t.ID),Addrs:n,Protocols:e}}catch(e){mt.error("could not conform record to peer schema",e)}}#r(t,e,n){if(e!=null||this.filterAddrs!=null){let o=e?.join(",")??this.filterAddrs?.join(",")??"";o!==""&&t.searchParams.set("filter-addrs",o)}if(n!=null||this.filterProtocols!=null){let o=n?.join(",")??this.filterProtocols?.join(",")??"";o!==""&&t.searchParams.set("filter-protocols",o)}}async#e(t,e){let n=e.method??"GET",o=`${n}-${t}`;if(n==="GET"){let c=await this.cache?.match(t);if(c!=null){if(parseInt(c.headers.get("x-cache-expires")??"0",10)>Date.now())return mt("returning cached response for %s",o),c;await this.cache?.delete(t)}}let i=this.inFlightRequests.get(o);if(i!=null){let c=await i;return mt("deduplicating outgoing request for %s",o),c.clone()}let s=fetch(t,e).then(async c=>{if(this.cache!=null&&c.ok&&n==="GET"){let f=Date.now()+this.cacheTTL,u=new Headers(c.headers);u.set("x-cache-expires",f.toString());let l=new Response(c.clone().body,{status:c.status,statusText:c.statusText,headers:u});await this.cache.put(t,l)}return c}).finally(()=>{this.inFlightRequests.delete(o)});return this.inFlightRequests.set(o,s),await s}};function th(r,t={}){return new Vi(new URL(r),t)}function _i(){return{filterProtocols:["unknown","transport-bitswap","transport-ipfs-gateway-http"],filterAddrs:["https","webtransport","webrtc","webrtc-direct","wss","tls"]}}var eh=j("/ipns/");function rh(r){return st(r.subarray(0,eh.byteLength),eh)}var Fa=class{client;constructor(t,e={}){this.client=th(t,e)}async provide(t,e){}async cancelReprovide(t,e){}async*findProviders(t,e){yield*Ni(this.client.getProviders(t,e),n=>({id:n.ID,multiaddrs:n.Addrs,protocols:n.Protocols}))}async put(t,e,n){if(!rh(t))return;let o=Re(t),i=X.createV1(114,o),s=de(e);await this.client.putIPNS(i,s,n)}async get(t,e){if(!rh(t))throw new Lt("Not found");let n=Re(t),o=X.createV1(114,n);try{let i=await this.client.getIPNS(o,e);return lr(i)}catch(i){throw i.name==="BadResponseError"?new Lt("Not found"):i}}async findPeer(t,e){let n=await Ci(this.client.getPeers(t,e));if(n!=null)return{id:n.ID,multiaddrs:n.Addrs??[]};throw new Lt("Not found")}async*getClosestPeers(t,e){}};function nh(r,t){let e=t??_i();return new Fa(new URL(r),e)}var oh="[a-fA-F\\d:]",Ye=r=>r&&r.includeBoundaries?`(?:(?<=\\s|^)(?=${oh})|(?<=${oh})(?=\\s|$))`:"",se="(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)(?:\\.(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)){3}",ut="[a-fA-F\\d]{1,4}",Pi=`
2
+ "use strict";var HeliaRouters=(()=>{var pf=Object.create;var en=Object.defineProperty;var mf=Object.getOwnPropertyDescriptor;var gf=Object.getOwnPropertyNames;var yf=Object.getPrototypeOf,xf=Object.prototype.hasOwnProperty;var _s=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),At=(e,t)=>{for(var r in t)en(e,r,{get:t[r],enumerable:!0})},Ls=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of gf(t))!xf.call(e,o)&&o!==r&&en(e,o,{get:()=>t[o],enumerable:!(n=mf(t,o))||n.enumerable});return e};var wo=(e,t,r)=>(r=e!=null?pf(yf(e)):{},Ls(t||!e||!e.__esModule?en(r,"default",{value:e,enumerable:!0}):r,e)),wf=e=>Ls(en({},"__esModule",{value:!0}),e);var ns=_s((pb,rs)=>{var hb=function(){typeof rs<"u"&&(rs.exports=y);var e=86400,t=3200,r=146097*t/400,n=e*r,o=1e3*n,i=864e13,s=4294967296,a=1e6,c="000000000",l=Math.trunc||function(w){var E=w-w%1;return E==0&&(w<0||w===0&&1/w!=1/0)?-0:E},u=y.prototype,f=(y.fromDate=function(w){return new y(+w)},y.fromInt64BE=P(0,1,2,3,0,4),y.fromInt64LE=P(3,2,1,0,4,0),y.fromString=function(_){var E,F=new y,_=(_+="").replace(/^\s*[+\-]?\d+/,function(K){var K=+K,A=1970+(K-1970)%400;return F.year=K-A,A}).replace(/(?:Z|([+\-]\d{2}):?(\d{2}))$/,function(U,K,A){return K<0&&(A*=-1),E=6e4*(60*+K+ +A),""}).replace(/\.\d+$/,function(U){return F.nano=+(U+c).substr(1,9),""}).split(/\D+/);if(1<_.length?_[1]--:_[1]=0,F.time=E=Date.UTC.apply(Date,_)-(E||0),isNaN(E))throw new TypeError("Invalid Date");return h(F)},y.fromTimeT=function(w){return C(w,0)},u.year=0,u.time=0,u.nano=0,u.addNano=function(w){return this.nano+=+w||0,this},u.getNano=function(){var w=h(this);return(w.time%1e3*a+ +w.nano+1e9)%1e9},u.getTimeT=function(){var E=h(this),w=Math.floor(E.time/1e3),E=E.year;return E&&(w+=E*r*e/t),w},u.getYear=function(){return this.toDate().getUTCFullYear()+this.year},u.toDate=function(){return v(h(this).time)},u.toJSON=function(){return this.toString().replace(/0{1,6}Z$/,"Z")},u.toString=function(w){var E=this,F=E.toDate(),_={H:function(){return k(F.getUTCHours())},L:function(){return R(F.getUTCMilliseconds(),3)},M:function(){return k(F.getUTCMinutes())},N:function(){return R(E.getNano(),9)},S:function(){return k(F.getUTCSeconds())},Y:function(){var U=E.getYear();return 999999<U?"+"+U:9999<U?"+"+R(U,6):0<=U?R(U,4):-999999<=U?"-"+R(-U,6):U},a:function(){return b[F.getUTCDay()]},b:function(){return d[F.getUTCMonth()]},d:function(){return k(F.getUTCDate())},e:function(){return function(U){return(9<U?"":" ")+(0|U)}(F.getUTCDate())},m:function(){return k(F.getUTCMonth()+1)}};return function U(K){return K.replace(/%./g,function(A){var m=A[1],I=T[m],m=_[m];return I?U(I):m?m():A})}(w||f)},u.writeInt64BE=x(0,1,2,3,0,4),u.writeInt64LE=x(3,2,1,0,4,0),"%Y-%m-%dT%H:%M:%S.%NZ"),d=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],b=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],T={"%":"%",F:"%Y-%m-%d",n:`
3
+ `,R:"%H:%M",T:"%H:%M:%S",t:" ",X:"%T",Z:"GMT",z:"+0000"};return y;function y(w,E,F){var _=this;if(!(_ instanceof y))return new y(w,E,F);_.time=+w||0,_.nano=+E||0,_.year=+F||0,h(_)}function h(w){var E,F,_,U=w.year,K=w.time,A=w.nano,I=((A<0||a<=A)&&(A-=(F=Math.floor(A/a))*a,K+=F,F=1),U%t);return(K<-i||i<K||I)&&((E=l(K/o))&&(U+=E*t,K-=E*o),(_=v(K)).setUTCFullYear(I+_.getUTCFullYear()),_=(K=+_)+(E=l((U-=I)/t))*o,E&&-i<=_&&_<=i&&(U-=E*t,K=_),F=1),F&&(w.year=U,w.time=K,w.nano=A),w}function v(w){var E=new Date(0);return E.setTime(w),E}function C(U,_){U=+U||0;var F=l((_=(_|0)*s)/n)+l(U/n),_=_%n+U%n,U=l(_/n);return U&&(F+=U,_-=U*n),new y(1e3*_,0,F*t)}function x(w,E,F,_,U,K){return function(I,m){var S=h(this);I=I||new Array(8),D(I,m|=0);var N=Math.floor(S.time/1e3),S=S.year*(r*e/t),p=l(S/s)+l(N/s),S=S%s+N%s,N=Math.floor(S/s);return N&&(p+=N,S-=N*s),A(I,m+U,p),A(I,m+K,S),I};function A(I,m,p){I[m+w]=p>>24&255,I[m+E]=p>>16&255,I[m+F]=p>>8&255,I[m+_]=255&p}}function P(w,E,F,_,U,K){return function(I,m){D(I,m|=0);var p=A(I,m+U);return C(A(I,m+K),p)};function A(I,m){return 16777216*I[m+w]+(I[m+E]<<16|I[m+F]<<8|I[m+_])}}function D(w,E){if(w=w&&w.length,w==null)throw new TypeError("Invalid Buffer");if(w<E+8)throw new RangeError("Out of range")}function k(w){return(9<w?"":"0")+(0|w)}function R(w,E){return(c+(0|w)).substr(-E)}}()});var Vu=_s((i2,ls)=>{"use strict";var Pp=Object.prototype.hasOwnProperty,It="~";function Xr(){}Object.create&&(Xr.prototype=Object.create(null),new Xr().__proto__||(It=!1));function Rp(e,t,r){this.fn=e,this.context=t,this.once=r||!1}function Mu(e,t,r,n,o){if(typeof r!="function")throw new TypeError("The listener must be a function");var i=new Rp(r,n||e,o),s=It?It+t:t;return e._events[s]?e._events[s].fn?e._events[s]=[e._events[s],i]:e._events[s].push(i):(e._events[s]=i,e._eventsCount++),e}function co(e,t){--e._eventsCount===0?e._events=new Xr:delete e._events[t]}function St(){this._events=new Xr,this._eventsCount=0}St.prototype.eventNames=function(){var t=[],r,n;if(this._eventsCount===0)return t;for(n in r=this._events)Pp.call(r,n)&&t.push(It?n.slice(1):n);return Object.getOwnPropertySymbols?t.concat(Object.getOwnPropertySymbols(r)):t};St.prototype.listeners=function(t){var r=It?It+t:t,n=this._events[r];if(!n)return[];if(n.fn)return[n.fn];for(var o=0,i=n.length,s=new Array(i);o<i;o++)s[o]=n[o].fn;return s};St.prototype.listenerCount=function(t){var r=It?It+t:t,n=this._events[r];return n?n.fn?1:n.length:0};St.prototype.emit=function(t,r,n,o,i,s){var a=It?It+t:t;if(!this._events[a])return!1;var c=this._events[a],l=arguments.length,u,f;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,r),!0;case 3:return c.fn.call(c.context,r,n),!0;case 4:return c.fn.call(c.context,r,n,o),!0;case 5:return c.fn.call(c.context,r,n,o,i),!0;case 6:return c.fn.call(c.context,r,n,o,i,s),!0}for(f=1,u=new Array(l-1);f<l;f++)u[f-1]=arguments[f];c.fn.apply(c.context,u)}else{var d=c.length,b;for(f=0;f<d;f++)switch(c[f].once&&this.removeListener(t,c[f].fn,void 0,!0),l){case 1:c[f].fn.call(c[f].context);break;case 2:c[f].fn.call(c[f].context,r);break;case 3:c[f].fn.call(c[f].context,r,n);break;case 4:c[f].fn.call(c[f].context,r,n,o);break;default:if(!u)for(b=1,u=new Array(l-1);b<l;b++)u[b-1]=arguments[b];c[f].fn.apply(c[f].context,u)}}return!0};St.prototype.on=function(t,r,n){return Mu(this,t,r,n,!1)};St.prototype.once=function(t,r,n){return Mu(this,t,r,n,!0)};St.prototype.removeListener=function(t,r,n,o){var i=It?It+t:t;if(!this._events[i])return this;if(!r)return co(this,i),this;var s=this._events[i];if(s.fn)s.fn===r&&(!o||s.once)&&(!n||s.context===n)&&co(this,i);else{for(var a=0,c=[],l=s.length;a<l;a++)(s[a].fn!==r||o&&!s[a].once||n&&s[a].context!==n)&&c.push(s[a]);c.length?this._events[i]=c.length===1?c[0]:c:co(this,i)}return this};St.prototype.removeAllListeners=function(t){var r;return t?(r=It?It+t:t,this._events[r]&&co(this,r)):(this._events=new Xr,this._eventsCount=0),this};St.prototype.off=St.prototype.removeListener;St.prototype.addListener=St.prototype.on;St.prefixed=It;St.EventEmitter=St;typeof ls<"u"&&(ls.exports=St)});var Qp={};At(Qp,{delegatedHTTPRouting:()=>Wu,delegatedHTTPRoutingDefaults:()=>go,httpGatewayRouting:()=>nf,libp2pRouting:()=>of});var ks=Symbol.for("@libp2p/content-routing");var bo=Symbol.for("@libp2p/peer-id");var Ds=Symbol.for("@libp2p/peer-routing");var xt=class extends Error{static name="InvalidParametersError";constructor(t="Invalid parameters"){super(t),this.name="InvalidParametersError"}},je=class extends Error{static name="InvalidPublicKeyError";constructor(t="Invalid public key"){super(t),this.name="InvalidPublicKeyError"}};var Bt=class extends Error{static name="NotFoundError";constructor(t="Not found"){super(t),this.name="NotFoundError"}};var rn=class extends Error{static name="InvalidCIDError";constructor(t="Invalid CID"){super(t),this.name="InvalidCIDError"}},Ze=class extends Error{static name="InvalidMultihashError";constructor(t="Invalid Multihash"){super(t),this.name="InvalidMultihashError"}};var We=class extends Error{static name="UnsupportedKeyTypeError";constructor(t="Unsupported key type"){super(t),this.name="UnsupportedKeyTypeError"}};var Io={};At(Io,{base32:()=>Kt,base32hex:()=>Cf,base32hexpad:()=>Nf,base32hexpadupper:()=>Pf,base32hexupper:()=>Uf,base32pad:()=>Tf,base32padupper:()=>Bf,base32upper:()=>If,base32z:()=>Rf});var i0=new Uint8Array(0);function Fs(e,t){if(e===t)return!0;if(e.byteLength!==t.byteLength)return!1;for(let r=0;r<e.byteLength;r++)if(e[r]!==t[r])return!1;return!0}function ae(e){if(e instanceof Uint8Array&&e.constructor.name==="Uint8Array")return e;if(e instanceof ArrayBuffer)return new Uint8Array(e);if(ArrayBuffer.isView(e))return new Uint8Array(e.buffer,e.byteOffset,e.byteLength);throw new Error("Unknown type, must be binary type")}function Os(e){return new TextEncoder().encode(e)}function Ms(e){return new TextDecoder().decode(e)}function bf(e,t){if(e.length>=255)throw new TypeError("Alphabet too long");for(var r=new Uint8Array(256),n=0;n<r.length;n++)r[n]=255;for(var o=0;o<e.length;o++){var i=e.charAt(o),s=i.charCodeAt(0);if(r[s]!==255)throw new TypeError(i+" is ambiguous");r[s]=o}var a=e.length,c=e.charAt(0),l=Math.log(a)/Math.log(256),u=Math.log(256)/Math.log(a);function f(T){if(T instanceof Uint8Array||(ArrayBuffer.isView(T)?T=new Uint8Array(T.buffer,T.byteOffset,T.byteLength):Array.isArray(T)&&(T=Uint8Array.from(T))),!(T instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(T.length===0)return"";for(var y=0,h=0,v=0,C=T.length;v!==C&&T[v]===0;)v++,y++;for(var x=(C-v)*u+1>>>0,P=new Uint8Array(x);v!==C;){for(var D=T[v],k=0,R=x-1;(D!==0||k<h)&&R!==-1;R--,k++)D+=256*P[R]>>>0,P[R]=D%a>>>0,D=D/a>>>0;if(D!==0)throw new Error("Non-zero carry");h=k,v++}for(var w=x-h;w!==x&&P[w]===0;)w++;for(var E=c.repeat(y);w<x;++w)E+=e.charAt(P[w]);return E}function d(T){if(typeof T!="string")throw new TypeError("Expected String");if(T.length===0)return new Uint8Array;var y=0;if(T[y]!==" "){for(var h=0,v=0;T[y]===c;)h++,y++;for(var C=(T.length-y)*l+1>>>0,x=new Uint8Array(C);T[y];){var P=r[T.charCodeAt(y)];if(P===255)return;for(var D=0,k=C-1;(P!==0||D<v)&&k!==-1;k--,D++)P+=a*x[k]>>>0,x[k]=P%256>>>0,P=P/256>>>0;if(P!==0)throw new Error("Non-zero carry");v=D,y++}if(T[y]!==" "){for(var R=C-v;R!==C&&x[R]===0;)R++;for(var w=new Uint8Array(h+(C-R)),E=h;R!==C;)w[E++]=x[R++];return w}}}function b(T){var y=d(T);if(y)return y;throw new Error(`Non-${t} character`)}return{encode:f,decodeUnsafe:d,decode:b}}var Ef=bf,Sf=Ef,Ks=Sf;var Eo=class{name;prefix;baseEncode;constructor(t,r,n){this.name=t,this.prefix=r,this.baseEncode=n}encode(t){if(t instanceof Uint8Array)return`${this.prefix}${this.baseEncode(t)}`;throw Error("Unknown type, must be binary type")}},So=class{name;prefix;baseDecode;prefixCodePoint;constructor(t,r,n){this.name=t,this.prefix=r;let o=r.codePointAt(0);if(o===void 0)throw new Error("Invalid prefix character");this.prefixCodePoint=o,this.baseDecode=n}decode(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 qs(this,t)}},vo=class{decoders;constructor(t){this.decoders=t}or(t){return qs(this,t)}decode(t){let r=t[0],n=this.decoders[r];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 qs(e,t){return new vo({...e.decoders??{[e.prefix]:e},...t.decoders??{[t.prefix]:t}})}var Ao=class{name;prefix;baseEncode;baseDecode;encoder;decoder;constructor(t,r,n,o){this.name=t,this.prefix=r,this.baseEncode=n,this.baseDecode=o,this.encoder=new Eo(t,r,n),this.decoder=new So(t,r,o)}encode(t){return this.encoder.encode(t)}decode(t){return this.decoder.decode(t)}};function Ye({name:e,prefix:t,encode:r,decode:n}){return new Ao(e,t,r,n)}function xe({name:e,prefix:t,alphabet:r}){let{encode:n,decode:o}=Ks(r,e);return Ye({prefix:t,name:e,encode:n,decode:i=>ae(o(i))})}function vf(e,t,r,n){let o={};for(let u=0;u<t.length;++u)o[t[u]]=u;let i=e.length;for(;e[i-1]==="=";)--i;let s=new Uint8Array(i*r/8|0),a=0,c=0,l=0;for(let u=0;u<i;++u){let f=o[e[u]];if(f===void 0)throw new SyntaxError(`Non-${n} character`);c=c<<r|f,a+=r,a>=8&&(a-=8,s[l++]=255&c>>a)}if(a>=r||(255&c<<8-a)!==0)throw new SyntaxError("Unexpected end of data");return s}function Af(e,t,r){let n=t[t.length-1]==="=",o=(1<<r)-1,i="",s=0,a=0;for(let c=0;c<e.length;++c)for(a=a<<8|e[c],s+=8;s>r;)s-=r,i+=t[o&a>>s];if(s!==0&&(i+=t[o&a<<r-s]),n)for(;(i.length*r&7)!==0;)i+="=";return i}function st({name:e,prefix:t,bitsPerChar:r,alphabet:n}){return Ye({prefix:t,name:e,encode(o){return Af(o,n,r)},decode(o){return vf(o,n,r,e)}})}var Kt=st({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),If=st({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),Tf=st({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),Bf=st({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),Cf=st({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),Uf=st({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),Nf=st({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),Pf=st({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),Rf=st({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var To={};At(To,{base58btc:()=>et,base58flickr:()=>_f});var et=xe({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),_f=xe({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var Co={};At(Co,{base64:()=>Bo,base64pad:()=>Lf,base64url:()=>kf,base64urlpad:()=>Df});var Bo=st({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),Lf=st({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),kf=st({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),Df=st({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});function Ff(e,t){try{if(typeof e=="string"&&e.length>0)return Of(e);if(typeof e=="number"&&isFinite(e))return t?.long?Vf(e):Mf(e);throw new Error("Value is not a string or number.")}catch(r){let n=Kf(r)?`${r.message}. value=${JSON.stringify(e)}`:"An unknown error has occured.";throw new Error(n)}}function Of(e){if(e=String(e),e.length>100)throw new Error("Value exceeds the maximum length of 100 characters.");let t=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(e);if(!t)return NaN;let r=parseFloat(t[1]),n=(t[2]||"ms").toLowerCase();switch(n){case"years":case"year":case"yrs":case"yr":case"y":return r*315576e5;case"weeks":case"week":case"w":return r*6048e5;case"days":case"day":case"d":return r*864e5;case"hours":case"hour":case"hrs":case"hr":case"h":return r*36e5;case"minutes":case"minute":case"mins":case"min":case"m":return r*6e4;case"seconds":case"second":case"secs":case"sec":case"s":return r*1e3;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return r;default:throw new Error(`The unit ${n} was matched, but no matching case exists.`)}}var on=Ff;function Mf(e){let t=Math.abs(e);return t>=864e5?`${Math.round(e/864e5)}d`:t>=36e5?`${Math.round(e/36e5)}h`:t>=6e4?`${Math.round(e/6e4)}m`:t>=1e3?`${Math.round(e/1e3)}s`:`${e}ms`}function Vf(e){let t=Math.abs(e);return t>=864e5?nn(e,t,864e5,"day"):t>=36e5?nn(e,t,36e5,"hour"):t>=6e4?nn(e,t,6e4,"minute"):t>=1e3?nn(e,t,1e3,"second"):`${e} ms`}function nn(e,t,r,n){let o=t>=r*1.5;return`${Math.round(e/r)} ${n}${o?"s":""}`}function Kf(e){return typeof e=="object"&&e!==null&&"message"in e}function Uo(e){r.debug=r,r.default=r,r.coerce=c,r.disable=i,r.enable=o,r.enabled=s,r.humanize=on,r.destroy=l,Object.keys(e).forEach(u=>{r[u]=e[u]}),r.names=[],r.skips=[],r.formatters={};function t(u){let f=0;for(let d=0;d<u.length;d++)f=(f<<5)-f+u.charCodeAt(d),f|=0;return r.colors[Math.abs(f)%r.colors.length]}r.selectColor=t;function r(u){let f,d=null,b,T;function y(...h){if(!y.enabled)return;let v=y,C=Number(new Date),x=C-(f||C);v.diff=x,v.prev=f,v.curr=C,f=C,h[0]=r.coerce(h[0]),typeof h[0]!="string"&&h.unshift("%O");let P=0;h[0]=h[0].replace(/%([a-zA-Z%])/g,(k,R)=>{if(k==="%%")return"%";P++;let w=r.formatters[R];if(typeof w=="function"){let E=h[P];k=w.call(v,E),h.splice(P,1),P--}return k}),r.formatArgs.call(v,h),(v.log||r.log).apply(v,h)}return y.namespace=u,y.useColors=r.useColors(),y.color=r.selectColor(u),y.extend=n,y.destroy=r.destroy,Object.defineProperty(y,"enabled",{enumerable:!0,configurable:!1,get:()=>d!==null?d:(b!==r.namespaces&&(b=r.namespaces,T=r.enabled(u)),T),set:h=>{d=h}}),typeof r.init=="function"&&r.init(y),y}function n(u,f){let d=r(this.namespace+(typeof f>"u"?":":f)+u);return d.log=this.log,d}function o(u){r.save(u),r.namespaces=u,r.names=[],r.skips=[];let f,d=(typeof u=="string"?u:"").split(/[\s,]+/),b=d.length;for(f=0;f<b;f++)d[f]&&(u=d[f].replace(/\*/g,".*?"),u[0]==="-"?r.skips.push(new RegExp("^"+u.substr(1)+"$")):r.names.push(new RegExp("^"+u+"$")))}function i(){let u=[...r.names.map(a),...r.skips.map(a).map(f=>"-"+f)].join(",");return r.enable(""),u}function s(u){if(u[u.length-1]==="*")return!0;let f,d;for(f=0,d=r.skips.length;f<d;f++)if(r.skips[f].test(u))return!1;for(f=0,d=r.names.length;f<d;f++)if(r.names[f].test(u))return!0;return!1}function a(u){return u.toString().substring(2,u.toString().length-2).replace(/\.\*\?$/,"*")}function c(u){return u instanceof Error?u.stack??u.message:u}function l(){console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.")}return r.setupFormatters(r.formatters),r.enable(r.load()),r}var sn=Zf(),qf=["#0000CC","#0000FF","#0033CC","#0033FF","#0066CC","#0066FF","#0099CC","#0099FF","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#3300CC","#3300FF","#3333CC","#3333FF","#3366CC","#3366FF","#3399CC","#3399FF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#6600CC","#6600FF","#6633CC","#6633FF","#66CC00","#66CC33","#9900CC","#9900FF","#9933CC","#9933FF","#99CC00","#99CC33","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#CC6600","#CC6633","#CC9900","#CC9933","#CCCC00","#CCCC33","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF6600","#FF6633","#FF9900","#FF9933","#FFCC00","#FFCC33"];function $f(){return typeof window<"u"&&window.process&&(window.process.type==="renderer"||window.process.__nwjs)?!0:typeof navigator<"u"&&navigator.userAgent?.toLowerCase().match(/(edge|trident)\/(\d+)/)!=null?!1:typeof document<"u"&&document.documentElement?.style?.WebkitAppearance||typeof window<"u"&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||typeof navigator<"u"&&navigator.userAgent?.toLowerCase().match(/firefox\/(\d+)/)!=null&&parseInt(RegExp.$1,10)>=31||typeof navigator<"u"&&navigator.userAgent?.toLowerCase().match(/applewebkit\/(\d+)/)}function zf(e){if(e[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+e[0]+(this.useColors?"%c ":" ")+"+"+on(this.diff),!this.useColors)return;let t="color: "+this.color;e.splice(1,0,t,"color: inherit");let r=0,n=0;e[0].replace(/%[a-zA-Z%]/g,o=>{o!=="%%"&&(r++,o==="%c"&&(n=r))}),e.splice(n,0,t)}var Hf=console.debug??console.log??(()=>{});function Gf(e){try{e?sn?.setItem("debug",e):sn?.removeItem("debug")}catch{}}function jf(){let e;try{e=sn?.getItem("debug")}catch{}return!e&&typeof globalThis.process<"u"&&"env"in globalThis.process&&(e=globalThis.process.env.DEBUG),e}function Zf(){try{return localStorage}catch{}}function Wf(e){e.j=function(t){try{return JSON.stringify(t)}catch(r){return"[UnexpectedJSONParseError]: "+r.message}}}var $s=Uo({formatArgs:zf,save:Gf,load:jf,useColors:$f,setupFormatters:Wf,colors:qf,storage:sn,log:Hf});var Ct=$s;Ct.formatters.b=e=>e==null?"undefined":et.baseEncode(e);Ct.formatters.t=e=>e==null?"undefined":Kt.baseEncode(e);Ct.formatters.m=e=>e==null?"undefined":Bo.baseEncode(e);Ct.formatters.p=e=>e==null?"undefined":e.toString();Ct.formatters.c=e=>e==null?"undefined":e.toString();Ct.formatters.k=e=>e==null?"undefined":e.toString();Ct.formatters.a=e=>e==null?"undefined":e.toString();Ct.formatters.e=e=>e==null?"undefined":zs(e.stack)??zs(e.message)??e.toString();function Yf(e){let t=()=>{};return t.enabled=!1,t.color="",t.diff=0,t.log=()=>{},t.namespace=e,t.destroy=()=>!0,t.extend=()=>t,t}function we(e){let t=Yf(`${e}:trace`);return Ct.enabled(`${e}:trace`)&&Ct.names.map(r=>r.toString()).find(r=>r.includes(":trace"))!=null&&(t=Ct(`${e}:trace`)),Object.assign(Ct(e),{error:Ct(`${e}:error`),trace:t})}function zs(e){if(e!=null&&(e=e.trim(),e.length!==0))return e}var No={};At(No,{base36:()=>Xe,base36upper:()=>Xf});var Xe=xe({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),Xf=xe({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var Jf=js,Hs=128,Qf=127,tl=~Qf,el=Math.pow(2,31);function js(e,t,r){t=t||[],r=r||0;for(var n=r;e>=el;)t[r++]=e&255|Hs,e/=128;for(;e&tl;)t[r++]=e&255|Hs,e>>>=7;return t[r]=e|0,js.bytes=r-n+1,t}var rl=Po,nl=128,Gs=127;function Po(e,n){var r=0,n=n||0,o=0,i=n,s,a=e.length;do{if(i>=a)throw Po.bytes=0,new RangeError("Could not decode varint");s=e[i++],r+=o<28?(s&Gs)<<o:(s&Gs)*Math.pow(2,o),o+=7}while(s>=nl);return Po.bytes=i-n,r}var ol=Math.pow(2,7),il=Math.pow(2,14),sl=Math.pow(2,21),al=Math.pow(2,28),cl=Math.pow(2,35),ul=Math.pow(2,42),fl=Math.pow(2,49),ll=Math.pow(2,56),dl=Math.pow(2,63),hl=function(e){return e<ol?1:e<il?2:e<sl?3:e<al?4:e<cl?5:e<ul?6:e<fl?7:e<ll?8:e<dl?9:10},pl={encode:Jf,decode:rl,encodingLength:hl},ml=pl,Ir=ml;function Tr(e,t=0){return[Ir.decode(e,t),Ir.decode.bytes]}function Je(e,t,r=0){return Ir.encode(e,t,r),t}function Qe(e){return Ir.encodingLength(e)}function qt(e,t){let r=t.byteLength,n=Qe(e),o=n+Qe(r),i=new Uint8Array(o+r);return Je(e,i,0),Je(r,i,n),i.set(t,o),new tr(e,r,t,i)}function ce(e){let t=ae(e),[r,n]=Tr(t),[o,i]=Tr(t.subarray(n)),s=t.subarray(n+i);if(s.byteLength!==o)throw new Error("Incorrect length");return new tr(r,o,s,t)}function Zs(e,t){if(e===t)return!0;{let r=t;return e.code===r.code&&e.size===r.size&&r.bytes instanceof Uint8Array&&Fs(e.bytes,r.bytes)}}var tr=class{code;size;digest;bytes;constructor(t,r,n,o){this.code=t,this.size=r,this.digest=n,this.bytes=o}};function Ws(e,t){let{bytes:r,version:n}=e;switch(n){case 0:return yl(r,Ro(e),t??et.encoder);default:return xl(r,Ro(e),t??Kt.encoder)}}var Ys=new WeakMap;function Ro(e){let t=Ys.get(e);if(t==null){let r=new Map;return Ys.set(e,r),r}return t}var W=class e{code;version;multihash;bytes;"/";constructor(t,r,n,o){this.code=r,this.version=t,this.multihash=n,this.bytes=o,this["/"]=o}get asCID(){return this}get byteOffset(){return this.bytes.byteOffset}get byteLength(){return this.bytes.byteLength}toV0(){switch(this.version){case 0:return this;case 1:{let{code:t,multihash:r}=this;if(t!==Br)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(r.code!==wl)throw new Error("Cannot convert non sha2-256 multihash CID to CIDv0");return e.createV0(r)}default:throw Error(`Can not convert CID version ${this.version} to version 0. This is a bug please report`)}}toV1(){switch(this.version){case 0:{let{code:t,digest:r}=this.multihash,n=qt(t,r);return e.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 e.equals(this,t)}static equals(t,r){let n=r;return n!=null&&t.code===n.code&&t.version===n.version&&Zs(t.multihash,n.multihash)}toString(t){return Ws(this,t)}toJSON(){return{"/":Ws(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 r=t;if(r instanceof e)return r;if(r["/"]!=null&&r["/"]===r.bytes||r.asCID===r){let{version:n,code:o,multihash:i,bytes:s}=r;return new e(n,o,i,s??Xs(n,o,i.bytes))}else if(r[bl]===!0){let{version:n,multihash:o,code:i}=r,s=ce(o);return e.create(n,i,s)}else return null}static create(t,r,n){if(typeof r!="number")throw new Error("String codecs are no longer supported");if(!(n.bytes instanceof Uint8Array))throw new Error("Invalid digest");switch(t){case 0:{if(r!==Br)throw new Error(`Version 0 CID must use dag-pb (code: ${Br}) block encoding`);return new e(t,r,n,n.bytes)}case 1:{let o=Xs(t,r,n.bytes);return new e(t,r,n,o)}default:throw new Error("Invalid version")}}static createV0(t){return e.create(0,Br,t)}static createV1(t,r){return e.create(1,t,r)}static decode(t){let[r,n]=e.decodeFirst(t);if(n.length!==0)throw new Error("Incorrect length");return r}static decodeFirst(t){let r=e.inspectBytes(t),n=r.size-r.multihashSize,o=ae(t.subarray(n,n+r.multihashSize));if(o.byteLength!==r.multihashSize)throw new Error("Incorrect length");let i=o.subarray(r.multihashSize-r.digestSize),s=new tr(r.multihashCode,r.digestSize,i,o);return[r.version===0?e.createV0(s):e.createV1(r.codec,s),t.subarray(r.size)]}static inspectBytes(t){let r=0,n=()=>{let[f,d]=Tr(t.subarray(r));return r+=d,f},o=n(),i=Br;if(o===18?(o=0,r=0):i=n(),o!==0&&o!==1)throw new RangeError(`Invalid CID version ${o}`);let s=r,a=n(),c=n(),l=r+c,u=l-s;return{version:o,codec:i,multihashCode:a,digestSize:c,multihashSize:u,size:l}}static parse(t,r){let[n,o]=gl(t,r),i=e.decode(o);if(i.version===0&&t[0]!=="Q")throw Error("Version 0 CID string must not include multibase prefix");return Ro(i).set(n,t),i}};function gl(e,t){switch(e[0]){case"Q":{let r=t??et;return[et.prefix,r.decode(`${et.prefix}${e}`)]}case et.prefix:{let r=t??et;return[et.prefix,r.decode(e)]}case Kt.prefix:{let r=t??Kt;return[Kt.prefix,r.decode(e)]}case Xe.prefix:{let r=t??Xe;return[Xe.prefix,r.decode(e)]}default:{if(t==null)throw Error("To parse non base32, base36 or base58btc encoded CID multibase decoder must be provided");return[e[0],t.decode(e)]}}}function yl(e,t,r){let{prefix:n}=r;if(n!==et.prefix)throw Error(`Cannot string encode V0 in ${r.name} encoding`);let o=t.get(n);if(o==null){let i=r.encode(e).slice(1);return t.set(n,i),i}else return o}function xl(e,t,r){let{prefix:n}=r,o=t.get(n);if(o==null){let i=r.encode(e);return t.set(n,i),i}else return o}var Br=112,wl=18;function Xs(e,t,r){let n=Qe(e),o=n+Qe(t),i=new Uint8Array(o+r.byteLength);return Je(e,i,0),Je(t,i,n),i.set(r,o),i}var bl=Symbol.for("@ipld/js-cid/CID");var _o={};At(_o,{identity:()=>$t});var Js=0,El="identity",Qs=ae;function Sl(e){return qt(Js,Qs(e))}var $t={code:Js,name:El,encode:Qs,digest:Sl};function ot(e,t){if(e===t)return!0;if(e.byteLength!==t.byteLength)return!1;for(let r=0;r<e.byteLength;r++)if(e[r]!==t[r])return!1;return!0}function ta(e){if(!Number.isSafeInteger(e)||e<0)throw new Error("positive integer expected, got "+e)}function vl(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&e.constructor.name==="Uint8Array"}function er(e,...t){if(!vl(e))throw new Error("Uint8Array expected");if(t.length>0&&!t.includes(e.length))throw new Error("Uint8Array expected of length "+t+", got length="+e.length)}function ea(e){if(typeof e!="function"||typeof e.create!="function")throw new Error("Hash should be wrapped by utils.wrapConstructor");ta(e.outputLen),ta(e.blockLen)}function rr(e,t=!0){if(e.destroyed)throw new Error("Hash instance has been destroyed");if(t&&e.finished)throw new Error("Hash#digest() has already been called")}function ra(e,t){er(e);let r=t.outputLen;if(e.length<r)throw new Error("digestInto() expects output buffer of length at least "+r)}var Le=typeof globalThis=="object"&&"crypto"in globalThis?globalThis.crypto:void 0;function cn(e){return new DataView(e.buffer,e.byteOffset,e.byteLength)}function zt(e,t){return e<<32-t|e>>>t}function na(e){if(typeof e!="string")throw new Error("utf8ToBytes expected string, got "+typeof e);return new Uint8Array(new TextEncoder().encode(e))}function Cr(e){return typeof e=="string"&&(e=na(e)),er(e),e}function Lo(...e){let t=0;for(let n=0;n<e.length;n++){let o=e[n];er(o),t+=o.length}let r=new Uint8Array(t);for(let n=0,o=0;n<e.length;n++){let i=e[n];r.set(i,o),o+=i.length}return r}var nr=class{clone(){return this._cloneInto()}};function un(e){let t=n=>e().update(Cr(n)).digest(),r=e();return t.outputLen=r.outputLen,t.blockLen=r.blockLen,t.create=()=>e(),t}function fn(e=32){if(Le&&typeof Le.getRandomValues=="function")return Le.getRandomValues(new Uint8Array(e));if(Le&&typeof Le.randomBytes=="function")return Le.randomBytes(e);throw new Error("crypto.getRandomValues must be defined")}function Al(e,t,r,n){if(typeof e.setBigUint64=="function")return e.setBigUint64(t,r,n);let o=BigInt(32),i=BigInt(4294967295),s=Number(r>>o&i),a=Number(r&i),c=n?4:0,l=n?0:4;e.setUint32(t+c,s,n),e.setUint32(t+l,a,n)}function oa(e,t,r){return e&t^~e&r}function ia(e,t,r){return e&t^e&r^t&r}var or=class extends nr{constructor(t,r,n,o){super(),this.blockLen=t,this.outputLen=r,this.padOffset=n,this.isLE=o,this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.buffer=new Uint8Array(t),this.view=cn(this.buffer)}update(t){rr(this);let{view:r,buffer:n,blockLen:o}=this;t=Cr(t);let i=t.length;for(let s=0;s<i;){let a=Math.min(o-this.pos,i-s);if(a===o){let c=cn(t);for(;o<=i-s;s+=o)this.process(c,s);continue}n.set(t.subarray(s,s+a),this.pos),this.pos+=a,s+=a,this.pos===o&&(this.process(r,0),this.pos=0)}return this.length+=t.length,this.roundClean(),this}digestInto(t){rr(this),ra(t,this),this.finished=!0;let{buffer:r,view:n,blockLen:o,isLE:i}=this,{pos:s}=this;r[s++]=128,this.buffer.subarray(s).fill(0),this.padOffset>o-s&&(this.process(n,0),s=0);for(let f=s;f<o;f++)r[f]=0;Al(n,o-8,BigInt(this.length*8),i),this.process(n,0);let a=cn(t),c=this.outputLen;if(c%4)throw new Error("_sha2: outputLen should be aligned to 32bit");let l=c/4,u=this.get();if(l>u.length)throw new Error("_sha2: outputLen bigger than state");for(let f=0;f<l;f++)a.setUint32(4*f,u[f],i)}digest(){let{buffer:t,outputLen:r}=this;this.digestInto(t);let n=t.slice(0,r);return this.destroy(),n}_cloneInto(t){t||(t=new this.constructor),t.set(...this.get());let{blockLen:r,buffer:n,length:o,finished:i,destroyed:s,pos:a}=this;return t.length=o,t.pos=a,t.finished=i,t.destroyed=s,o%r&&t.buffer.set(n),t}};var ln=BigInt(4294967295),ko=BigInt(32);function sa(e,t=!1){return t?{h:Number(e&ln),l:Number(e>>ko&ln)}:{h:Number(e>>ko&ln)|0,l:Number(e&ln)|0}}function Il(e,t=!1){let r=new Uint32Array(e.length),n=new Uint32Array(e.length);for(let o=0;o<e.length;o++){let{h:i,l:s}=sa(e[o],t);[r[o],n[o]]=[i,s]}return[r,n]}var Tl=(e,t)=>BigInt(e>>>0)<<ko|BigInt(t>>>0),Bl=(e,t,r)=>e>>>r,Cl=(e,t,r)=>e<<32-r|t>>>r,Ul=(e,t,r)=>e>>>r|t<<32-r,Nl=(e,t,r)=>e<<32-r|t>>>r,Pl=(e,t,r)=>e<<64-r|t>>>r-32,Rl=(e,t,r)=>e>>>r-32|t<<64-r,_l=(e,t)=>t,Ll=(e,t)=>e,kl=(e,t,r)=>e<<r|t>>>32-r,Dl=(e,t,r)=>t<<r|e>>>32-r,Fl=(e,t,r)=>t<<r-32|e>>>64-r,Ol=(e,t,r)=>e<<r-32|t>>>64-r;function Ml(e,t,r,n){let o=(t>>>0)+(n>>>0);return{h:e+r+(o/2**32|0)|0,l:o|0}}var Vl=(e,t,r)=>(e>>>0)+(t>>>0)+(r>>>0),Kl=(e,t,r,n)=>t+r+n+(e/2**32|0)|0,ql=(e,t,r,n)=>(e>>>0)+(t>>>0)+(r>>>0)+(n>>>0),$l=(e,t,r,n,o)=>t+r+n+o+(e/2**32|0)|0,zl=(e,t,r,n,o)=>(e>>>0)+(t>>>0)+(r>>>0)+(n>>>0)+(o>>>0),Hl=(e,t,r,n,o,i)=>t+r+n+o+i+(e/2**32|0)|0;var Gl={fromBig:sa,split:Il,toBig:Tl,shrSH:Bl,shrSL:Cl,rotrSH:Ul,rotrSL:Nl,rotrBH:Pl,rotrBL:Rl,rotr32H:_l,rotr32L:Ll,rotlSH:kl,rotlSL:Dl,rotlBH:Fl,rotlBL:Ol,add:Ml,add3L:Vl,add3H:Kl,add4L:ql,add4H:$l,add5H:Hl,add5L:zl},$=Gl;var[jl,Zl]=$.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(e=>BigInt(e))),Ee=new Uint32Array(80),Se=new Uint32Array(80),Do=class extends or{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:r,Bh:n,Bl:o,Ch:i,Cl:s,Dh:a,Dl:c,Eh:l,El:u,Fh:f,Fl:d,Gh:b,Gl:T,Hh:y,Hl:h}=this;return[t,r,n,o,i,s,a,c,l,u,f,d,b,T,y,h]}set(t,r,n,o,i,s,a,c,l,u,f,d,b,T,y,h){this.Ah=t|0,this.Al=r|0,this.Bh=n|0,this.Bl=o|0,this.Ch=i|0,this.Cl=s|0,this.Dh=a|0,this.Dl=c|0,this.Eh=l|0,this.El=u|0,this.Fh=f|0,this.Fl=d|0,this.Gh=b|0,this.Gl=T|0,this.Hh=y|0,this.Hl=h|0}process(t,r){for(let x=0;x<16;x++,r+=4)Ee[x]=t.getUint32(r),Se[x]=t.getUint32(r+=4);for(let x=16;x<80;x++){let P=Ee[x-15]|0,D=Se[x-15]|0,k=$.rotrSH(P,D,1)^$.rotrSH(P,D,8)^$.shrSH(P,D,7),R=$.rotrSL(P,D,1)^$.rotrSL(P,D,8)^$.shrSL(P,D,7),w=Ee[x-2]|0,E=Se[x-2]|0,F=$.rotrSH(w,E,19)^$.rotrBH(w,E,61)^$.shrSH(w,E,6),_=$.rotrSL(w,E,19)^$.rotrBL(w,E,61)^$.shrSL(w,E,6),U=$.add4L(R,_,Se[x-7],Se[x-16]),K=$.add4H(U,k,F,Ee[x-7],Ee[x-16]);Ee[x]=K|0,Se[x]=U|0}let{Ah:n,Al:o,Bh:i,Bl:s,Ch:a,Cl:c,Dh:l,Dl:u,Eh:f,El:d,Fh:b,Fl:T,Gh:y,Gl:h,Hh:v,Hl:C}=this;for(let x=0;x<80;x++){let P=$.rotrSH(f,d,14)^$.rotrSH(f,d,18)^$.rotrBH(f,d,41),D=$.rotrSL(f,d,14)^$.rotrSL(f,d,18)^$.rotrBL(f,d,41),k=f&b^~f&y,R=d&T^~d&h,w=$.add5L(C,D,R,Zl[x],Se[x]),E=$.add5H(w,v,P,k,jl[x],Ee[x]),F=w|0,_=$.rotrSH(n,o,28)^$.rotrBH(n,o,34)^$.rotrBH(n,o,39),U=$.rotrSL(n,o,28)^$.rotrBL(n,o,34)^$.rotrBL(n,o,39),K=n&i^n&a^i&a,A=o&s^o&c^s&c;v=y|0,C=h|0,y=b|0,h=T|0,b=f|0,T=d|0,{h:f,l:d}=$.add(l|0,u|0,E|0,F|0),l=a|0,u=c|0,a=i|0,c=s|0,i=n|0,s=o|0;let I=$.add3L(F,U,A);n=$.add3H(I,E,_,K),o=I|0}({h:n,l:o}=$.add(this.Ah|0,this.Al|0,n|0,o|0)),{h:i,l:s}=$.add(this.Bh|0,this.Bl|0,i|0,s|0),{h:a,l:c}=$.add(this.Ch|0,this.Cl|0,a|0,c|0),{h:l,l:u}=$.add(this.Dh|0,this.Dl|0,l|0,u|0),{h:f,l:d}=$.add(this.Eh|0,this.El|0,f|0,d|0),{h:b,l:T}=$.add(this.Fh|0,this.Fl|0,b|0,T|0),{h:y,l:h}=$.add(this.Gh|0,this.Gl|0,y|0,h|0),{h:v,l:C}=$.add(this.Hh|0,this.Hl|0,v|0,C|0),this.set(n,o,i,s,a,c,l,u,f,d,b,T,y,h,v,C)}roundClean(){Ee.fill(0),Se.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 aa=un(()=>new Do);var pn={};At(pn,{aInRange:()=>Ut,abool:()=>Ht,abytes:()=>ir,bitGet:()=>td,bitLen:()=>Vo,bitMask:()=>Nr,bitSet:()=>ed,bytesToHex:()=>fe,bytesToNumberBE:()=>le,bytesToNumberLE:()=>Ae,concatBytes:()=>de,createHmacDrbg:()=>Ko,ensureBytes:()=>it,equalBytes:()=>Jl,hexToBytes:()=>De,hexToNumber:()=>Mo,inRange:()=>Ur,isBytes:()=>ve,memoized:()=>Oe,notImplemented:()=>nd,numberToBytesBE:()=>Ie,numberToBytesLE:()=>Fe,numberToHexUnpadded:()=>ke,numberToVarBytesBE:()=>Xl,utf8ToBytes:()=>Ql,validateObject:()=>re});var dn=BigInt(0),hn=BigInt(1),Wl=BigInt(2);function ve(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&e.constructor.name==="Uint8Array"}function ir(e){if(!ve(e))throw new Error("Uint8Array expected")}function Ht(e,t){if(typeof t!="boolean")throw new Error(e+" boolean expected, got "+t)}var Yl=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,"0"));function fe(e){ir(e);let t="";for(let r=0;r<e.length;r++)t+=Yl[e[r]];return t}function ke(e){let t=e.toString(16);return t.length&1?"0"+t:t}function Mo(e){if(typeof e!="string")throw new Error("hex string expected, got "+typeof e);return e===""?dn:BigInt("0x"+e)}var ue={_0:48,_9:57,A:65,F:70,a:97,f:102};function ca(e){if(e>=ue._0&&e<=ue._9)return e-ue._0;if(e>=ue.A&&e<=ue.F)return e-(ue.A-10);if(e>=ue.a&&e<=ue.f)return e-(ue.a-10)}function De(e){if(typeof e!="string")throw new Error("hex string expected, got "+typeof e);let t=e.length,r=t/2;if(t%2)throw new Error("hex string expected, got unpadded hex of length "+t);let n=new Uint8Array(r);for(let o=0,i=0;o<r;o++,i+=2){let s=ca(e.charCodeAt(i)),a=ca(e.charCodeAt(i+1));if(s===void 0||a===void 0){let c=e[i]+e[i+1];throw new Error('hex string expected, got non-hex character "'+c+'" at index '+i)}n[o]=s*16+a}return n}function le(e){return Mo(fe(e))}function Ae(e){return ir(e),Mo(fe(Uint8Array.from(e).reverse()))}function Ie(e,t){return De(e.toString(16).padStart(t*2,"0"))}function Fe(e,t){return Ie(e,t).reverse()}function Xl(e){return De(ke(e))}function it(e,t,r){let n;if(typeof t=="string")try{n=De(t)}catch(i){throw new Error(e+" must be hex string or Uint8Array, cause: "+i)}else if(ve(t))n=Uint8Array.from(t);else throw new Error(e+" must be hex string or Uint8Array");let o=n.length;if(typeof r=="number"&&o!==r)throw new Error(e+" of length "+r+" expected, got "+o);return n}function de(...e){let t=0;for(let n=0;n<e.length;n++){let o=e[n];ir(o),t+=o.length}let r=new Uint8Array(t);for(let n=0,o=0;n<e.length;n++){let i=e[n];r.set(i,o),o+=i.length}return r}function Jl(e,t){if(e.length!==t.length)return!1;let r=0;for(let n=0;n<e.length;n++)r|=e[n]^t[n];return r===0}function Ql(e){if(typeof e!="string")throw new Error("string expected");return new Uint8Array(new TextEncoder().encode(e))}var Fo=e=>typeof e=="bigint"&&dn<=e;function Ur(e,t,r){return Fo(e)&&Fo(t)&&Fo(r)&&t<=e&&e<r}function Ut(e,t,r,n){if(!Ur(t,r,n))throw new Error("expected valid "+e+": "+r+" <= n < "+n+", got "+t)}function Vo(e){let t;for(t=0;e>dn;e>>=hn,t+=1);return t}function td(e,t){return e>>BigInt(t)&hn}function ed(e,t,r){return e|(r?hn:dn)<<BigInt(t)}var Nr=e=>(Wl<<BigInt(e-1))-hn,Oo=e=>new Uint8Array(e),ua=e=>Uint8Array.from(e);function Ko(e,t,r){if(typeof e!="number"||e<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 r!="function")throw new Error("hmacFn must be a function");let n=Oo(e),o=Oo(e),i=0,s=()=>{n.fill(1),o.fill(0),i=0},a=(...f)=>r(o,n,...f),c=(f=Oo())=>{o=a(ua([0]),f),n=a(),f.length!==0&&(o=a(ua([1]),f),n=a())},l=()=>{if(i++>=1e3)throw new Error("drbg: tried 1000 values");let f=0,d=[];for(;f<t;){n=a();let b=n.slice();d.push(b),f+=n.length}return de(...d)};return(f,d)=>{s(),c(f);let b;for(;!(b=d(l()));)c();return s(),b}}var rd={bigint:e=>typeof e=="bigint",function:e=>typeof e=="function",boolean:e=>typeof e=="boolean",string:e=>typeof e=="string",stringOrUint8Array:e=>typeof e=="string"||ve(e),isSafeInteger:e=>Number.isSafeInteger(e),array:e=>Array.isArray(e),field:(e,t)=>t.Fp.isValid(e),hash:e=>typeof e=="function"&&Number.isSafeInteger(e.outputLen)};function re(e,t,r={}){let n=(o,i,s)=>{let a=rd[i];if(typeof a!="function")throw new Error("invalid validator function");let c=e[o];if(!(s&&c===void 0)&&!a(c,e))throw new Error("param "+String(o)+" is invalid. Expected "+i+", got "+c)};for(let[o,i]of Object.entries(t))n(o,i,!1);for(let[o,i]of Object.entries(r))n(o,i,!0);return e}var nd=()=>{throw new Error("not implemented")};function Oe(e){let t=new WeakMap;return(r,...n)=>{let o=t.get(r);if(o!==void 0)return o;let i=e(r,...n);return t.set(r,i),i}}var ct=BigInt(0),rt=BigInt(1),Me=BigInt(2),od=BigInt(3),qo=BigInt(4),fa=BigInt(5),la=BigInt(8),id=BigInt(9),sd=BigInt(16);function J(e,t){let r=e%t;return r>=ct?r:t+r}function ad(e,t,r){if(t<ct)throw new Error("invalid exponent, negatives unsupported");if(r<=ct)throw new Error("invalid modulus");if(r===rt)return ct;let n=rt;for(;t>ct;)t&rt&&(n=n*e%r),e=e*e%r,t>>=rt;return n}function nt(e,t,r){let n=e;for(;t-- >ct;)n*=n,n%=r;return n}function mn(e,t){if(e===ct)throw new Error("invert: expected non-zero number");if(t<=ct)throw new Error("invert: expected positive modulus, got "+t);let r=J(e,t),n=t,o=ct,i=rt,s=rt,a=ct;for(;r!==ct;){let l=n/r,u=n%r,f=o-s*l,d=i-a*l;n=r,r=u,o=s,i=a,s=f,a=d}if(n!==rt)throw new Error("invert: does not exist");return J(o,t)}function cd(e){let t=(e-rt)/Me,r,n,o;for(r=e-rt,n=0;r%Me===ct;r/=Me,n++);for(o=Me;o<e&&ad(o,t,e)!==e-rt;o++)if(o>1e3)throw new Error("Cannot find square root: likely non-prime P");if(n===1){let s=(e+rt)/qo;return function(c,l){let u=c.pow(l,s);if(!c.eql(c.sqr(u),l))throw new Error("Cannot find square root");return u}}let i=(r+rt)/Me;return function(a,c){if(a.pow(c,t)===a.neg(a.ONE))throw new Error("Cannot find square root");let l=n,u=a.pow(a.mul(a.ONE,o),r),f=a.pow(c,i),d=a.pow(c,r);for(;!a.eql(d,a.ONE);){if(a.eql(d,a.ZERO))return a.ZERO;let b=1;for(let y=a.sqr(d);b<l&&!a.eql(y,a.ONE);b++)y=a.sqr(y);let T=a.pow(u,rt<<BigInt(l-b-1));u=a.sqr(T),f=a.mul(f,T),d=a.mul(d,u),l=b}return f}}function ud(e){if(e%qo===od){let t=(e+rt)/qo;return function(n,o){let i=n.pow(o,t);if(!n.eql(n.sqr(i),o))throw new Error("Cannot find square root");return i}}if(e%la===fa){let t=(e-fa)/la;return function(n,o){let i=n.mul(o,Me),s=n.pow(i,t),a=n.mul(o,s),c=n.mul(n.mul(a,Me),s),l=n.mul(a,n.sub(c,n.ONE));if(!n.eql(n.sqr(l),o))throw new Error("Cannot find square root");return l}}return e%sd,cd(e)}var da=(e,t)=>(J(e,t)&rt)===rt,fd=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"];function $o(e){let t={ORDER:"bigint",MASK:"bigint",BYTES:"isSafeInteger",BITS:"isSafeInteger"},r=fd.reduce((n,o)=>(n[o]="function",n),t);return re(e,r)}function ld(e,t,r){if(r<ct)throw new Error("invalid exponent, negatives unsupported");if(r===ct)return e.ONE;if(r===rt)return t;let n=e.ONE,o=t;for(;r>ct;)r&rt&&(n=e.mul(n,o)),o=e.sqr(o),r>>=rt;return n}function dd(e,t){let r=new Array(t.length),n=t.reduce((i,s,a)=>e.is0(s)?i:(r[a]=i,e.mul(i,s)),e.ONE),o=e.inv(n);return t.reduceRight((i,s,a)=>e.is0(s)?i:(r[a]=e.mul(i,r[a]),e.mul(i,s)),o),r}function zo(e,t){let r=t!==void 0?t:e.toString(2).length,n=Math.ceil(r/8);return{nBitLength:r,nByteLength:n}}function Te(e,t,r=!1,n={}){if(e<=ct)throw new Error("invalid field: expected ORDER > 0, got "+e);let{nBitLength:o,nByteLength:i}=zo(e,t);if(i>2048)throw new Error("invalid field: expected ORDER of <= 2048 bytes");let s,a=Object.freeze({ORDER:e,isLE:r,BITS:o,BYTES:i,MASK:Nr(o),ZERO:ct,ONE:rt,create:c=>J(c,e),isValid:c=>{if(typeof c!="bigint")throw new Error("invalid field element: expected bigint, got "+typeof c);return ct<=c&&c<e},is0:c=>c===ct,isOdd:c=>(c&rt)===rt,neg:c=>J(-c,e),eql:(c,l)=>c===l,sqr:c=>J(c*c,e),add:(c,l)=>J(c+l,e),sub:(c,l)=>J(c-l,e),mul:(c,l)=>J(c*l,e),pow:(c,l)=>ld(a,c,l),div:(c,l)=>J(c*mn(l,e),e),sqrN:c=>c*c,addN:(c,l)=>c+l,subN:(c,l)=>c-l,mulN:(c,l)=>c*l,inv:c=>mn(c,e),sqrt:n.sqrt||(c=>(s||(s=ud(e)),s(a,c))),invertBatch:c=>dd(a,c),cmov:(c,l,u)=>u?l:c,toBytes:c=>r?Fe(c,i):Ie(c,i),fromBytes:c=>{if(c.length!==i)throw new Error("Field.fromBytes: expected "+i+" bytes, got "+c.length);return r?Ae(c):le(c)}});return Object.freeze(a)}function ha(e){if(typeof e!="bigint")throw new Error("field order must be bigint");let t=e.toString(2).length;return Math.ceil(t/8)}function Ho(e){let t=ha(e);return t+Math.ceil(t/2)}function pa(e,t,r=!1){let n=e.length,o=ha(t),i=Ho(t);if(n<16||n<i||n>1024)throw new Error("expected "+i+"-1024 bytes of input, got "+n);let s=r?Ae(e):le(e),a=J(s,t-rt)+rt;return r?Fe(a,o):Ie(a,o)}var ma=BigInt(0),gn=BigInt(1);function Go(e,t){let r=t.negate();return e?r:t}function ga(e,t){if(!Number.isSafeInteger(e)||e<=0||e>t)throw new Error("invalid window size, expected [1.."+t+"], got W="+e)}function jo(e,t){ga(e,t);let r=Math.ceil(t/e)+1,n=2**(e-1);return{windows:r,windowSize:n}}function hd(e,t){if(!Array.isArray(e))throw new Error("array expected");e.forEach((r,n)=>{if(!(r instanceof t))throw new Error("invalid point at index "+n)})}function pd(e,t){if(!Array.isArray(e))throw new Error("array of scalars expected");e.forEach((r,n)=>{if(!t.isValid(r))throw new Error("invalid scalar at index "+n)})}var Zo=new WeakMap,ya=new WeakMap;function Wo(e){return ya.get(e)||1}function yn(e,t){return{constTimeNegate:Go,hasPrecomputes(r){return Wo(r)!==1},unsafeLadder(r,n,o=e.ZERO){let i=r;for(;n>ma;)n&gn&&(o=o.add(i)),i=i.double(),n>>=gn;return o},precomputeWindow(r,n){let{windows:o,windowSize:i}=jo(n,t),s=[],a=r,c=a;for(let l=0;l<o;l++){c=a,s.push(c);for(let u=1;u<i;u++)c=c.add(a),s.push(c);a=c.double()}return s},wNAF(r,n,o){let{windows:i,windowSize:s}=jo(r,t),a=e.ZERO,c=e.BASE,l=BigInt(2**r-1),u=2**r,f=BigInt(r);for(let d=0;d<i;d++){let b=d*s,T=Number(o&l);o>>=f,T>s&&(T-=u,o+=gn);let y=b,h=b+Math.abs(T)-1,v=d%2!==0,C=T<0;T===0?c=c.add(Go(v,n[y])):a=a.add(Go(C,n[h]))}return{p:a,f:c}},wNAFUnsafe(r,n,o,i=e.ZERO){let{windows:s,windowSize:a}=jo(r,t),c=BigInt(2**r-1),l=2**r,u=BigInt(r);for(let f=0;f<s;f++){let d=f*a;if(o===ma)break;let b=Number(o&c);if(o>>=u,b>a&&(b-=l,o+=gn),b===0)continue;let T=n[d+Math.abs(b)-1];b<0&&(T=T.negate()),i=i.add(T)}return i},getPrecomputes(r,n,o){let i=Zo.get(n);return i||(i=this.precomputeWindow(n,r),r!==1&&Zo.set(n,o(i))),i},wNAFCached(r,n,o){let i=Wo(r);return this.wNAF(i,this.getPrecomputes(i,r,o),n)},wNAFCachedUnsafe(r,n,o,i){let s=Wo(r);return s===1?this.unsafeLadder(r,n,i):this.wNAFUnsafe(s,this.getPrecomputes(s,r,o),n,i)},setWindowSize(r,n){ga(n,t),ya.set(r,n),Zo.delete(r)}}}function xn(e,t,r,n){if(hd(r,e),pd(n,t),r.length!==n.length)throw new Error("arrays of points and scalars must have equal length");let o=e.ZERO,i=Vo(BigInt(r.length)),s=i>12?i-3:i>4?i-2:i?2:1,a=(1<<s)-1,c=new Array(a+1).fill(o),l=Math.floor((t.BITS-1)/s)*s,u=o;for(let f=l;f>=0;f-=s){c.fill(o);for(let b=0;b<n.length;b++){let T=n[b],y=Number(T>>BigInt(f)&BigInt(a));c[y]=c[y].add(r[b])}let d=o;for(let b=c.length-1,T=o;b>0;b--)T=T.add(c[b]),d=d.add(T);if(u=u.add(d),f!==0)for(let b=0;b<s;b++)u=u.double()}return u}function Pr(e){return $o(e.Fp),re(e,{n:"bigint",h:"bigint",Gx:"field",Gy:"field"},{nBitLength:"isSafeInteger",nByteLength:"isSafeInteger"}),Object.freeze({...zo(e.n,e.nBitLength),...e,p:e.Fp.ORDER})}var Gt=BigInt(0),Nt=BigInt(1),wn=BigInt(2),md=BigInt(8),gd={zip215:!0};function yd(e){let t=Pr(e);return re(e,{hash:"function",a:"bigint",d:"bigint",randomBytes:"function"},{adjustScalarBytes:"function",domain:"function",uvRatio:"function",mapToCurve:"function"}),Object.freeze({...t})}function xa(e){let t=yd(e),{Fp:r,n,prehash:o,hash:i,randomBytes:s,nByteLength:a,h:c}=t,l=wn<<BigInt(a*8)-Nt,u=r.create,f=Te(t.n,t.nBitLength),d=t.uvRatio||((m,p)=>{try{return{isValid:!0,value:r.sqrt(m*r.inv(p))}}catch{return{isValid:!1,value:Gt}}}),b=t.adjustScalarBytes||(m=>m),T=t.domain||((m,p,S)=>{if(Ht("phflag",S),p.length||S)throw new Error("Contexts/pre-hash are not supported");return m});function y(m,p){Ut("coordinate "+m,p,Gt,l)}function h(m){if(!(m instanceof x))throw new Error("ExtendedPoint expected")}let v=Oe((m,p)=>{let{ex:S,ey:N,ez:O}=m,M=m.is0();p==null&&(p=M?md:r.inv(O));let z=u(S*p),j=u(N*p),q=u(O*p);if(M)return{x:Gt,y:Nt};if(q!==Nt)throw new Error("invZ was invalid");return{x:z,y:j}}),C=Oe(m=>{let{a:p,d:S}=t;if(m.is0())throw new Error("bad point: ZERO");let{ex:N,ey:O,ez:M,et:z}=m,j=u(N*N),q=u(O*O),X=u(M*M),tt=u(X*X),ft=u(j*p),lt=u(X*u(ft+q)),mt=u(tt+u(S*u(j*q)));if(lt!==mt)throw new Error("bad point: equation left != right (1)");let yt=u(N*O),Tt=u(M*z);if(yt!==Tt)throw new Error("bad point: equation left != right (2)");return!0});class x{constructor(p,S,N,O){this.ex=p,this.ey=S,this.ez=N,this.et=O,y("x",p),y("y",S),y("z",N),y("t",O),Object.freeze(this)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static fromAffine(p){if(p instanceof x)throw new Error("extended point not allowed");let{x:S,y:N}=p||{};return y("x",S),y("y",N),new x(S,N,Nt,u(S*N))}static normalizeZ(p){let S=r.invertBatch(p.map(N=>N.ez));return p.map((N,O)=>N.toAffine(S[O])).map(x.fromAffine)}static msm(p,S){return xn(x,f,p,S)}_setWindowSize(p){k.setWindowSize(this,p)}assertValidity(){C(this)}equals(p){h(p);let{ex:S,ey:N,ez:O}=this,{ex:M,ey:z,ez:j}=p,q=u(S*j),X=u(M*O),tt=u(N*j),ft=u(z*O);return q===X&&tt===ft}is0(){return this.equals(x.ZERO)}negate(){return new x(u(-this.ex),this.ey,this.ez,u(-this.et))}double(){let{a:p}=t,{ex:S,ey:N,ez:O}=this,M=u(S*S),z=u(N*N),j=u(wn*u(O*O)),q=u(p*M),X=S+N,tt=u(u(X*X)-M-z),ft=q+z,lt=ft-j,mt=q-z,yt=u(tt*lt),Tt=u(ft*mt),vt=u(tt*mt),ee=u(lt*ft);return new x(yt,Tt,ee,vt)}add(p){h(p);let{a:S,d:N}=t,{ex:O,ey:M,ez:z,et:j}=this,{ex:q,ey:X,ez:tt,et:ft}=p;if(S===BigInt(-1)){let Ts=u((M-O)*(X+q)),Bs=u((M+O)*(X-q)),xo=u(Bs-Ts);if(xo===Gt)return this.double();let Cs=u(z*wn*ft),Us=u(j*wn*tt),Ns=Us+Cs,Ps=Bs+Ts,Rs=Us-Cs,ff=u(Ns*xo),lf=u(Ps*Rs),df=u(Ns*Rs),hf=u(xo*Ps);return new x(ff,lf,hf,df)}let lt=u(O*q),mt=u(M*X),yt=u(j*N*ft),Tt=u(z*tt),vt=u((O+M)*(q+X)-lt-mt),ee=Tt-yt,se=Tt+yt,Ar=u(mt-S*lt),sf=u(vt*ee),af=u(se*Ar),cf=u(vt*Ar),uf=u(ee*se);return new x(sf,af,uf,cf)}subtract(p){return this.add(p.negate())}wNAF(p){return k.wNAFCached(this,p,x.normalizeZ)}multiply(p){let S=p;Ut("scalar",S,Nt,n);let{p:N,f:O}=this.wNAF(S);return x.normalizeZ([N,O])[0]}multiplyUnsafe(p,S=x.ZERO){let N=p;return Ut("scalar",N,Gt,n),N===Gt?D:this.is0()||N===Nt?this:k.wNAFCachedUnsafe(this,N,x.normalizeZ,S)}isSmallOrder(){return this.multiplyUnsafe(c).is0()}isTorsionFree(){return k.unsafeLadder(this,n).is0()}toAffine(p){return v(this,p)}clearCofactor(){let{h:p}=t;return p===Nt?this:this.multiplyUnsafe(p)}static fromHex(p,S=!1){let{d:N,a:O}=t,M=r.BYTES;p=it("pointHex",p,M),Ht("zip215",S);let z=p.slice(),j=p[M-1];z[M-1]=j&-129;let q=Ae(z),X=S?l:r.ORDER;Ut("pointHex.y",q,Gt,X);let tt=u(q*q),ft=u(tt-Nt),lt=u(N*tt-O),{isValid:mt,value:yt}=d(ft,lt);if(!mt)throw new Error("Point.fromHex: invalid y coordinate");let Tt=(yt&Nt)===Nt,vt=(j&128)!==0;if(!S&&yt===Gt&&vt)throw new Error("Point.fromHex: x=0 and x_0=1");return vt!==Tt&&(yt=u(-yt)),x.fromAffine({x:yt,y:q})}static fromPrivateKey(p){return E(p).point}toRawBytes(){let{x:p,y:S}=this.toAffine(),N=Fe(S,r.BYTES);return N[N.length-1]|=p&Nt?128:0,N}toHex(){return fe(this.toRawBytes())}}x.BASE=new x(t.Gx,t.Gy,Nt,u(t.Gx*t.Gy)),x.ZERO=new x(Gt,Nt,Nt,Gt);let{BASE:P,ZERO:D}=x,k=yn(x,a*8);function R(m){return J(m,n)}function w(m){return R(Ae(m))}function E(m){let p=r.BYTES;m=it("private key",m,p);let S=it("hashed private key",i(m),2*p),N=b(S.slice(0,p)),O=S.slice(p,2*p),M=w(N),z=P.multiply(M),j=z.toRawBytes();return{head:N,prefix:O,scalar:M,point:z,pointBytes:j}}function F(m){return E(m).pointBytes}function _(m=new Uint8Array,...p){let S=de(...p);return w(i(T(S,it("context",m),!!o)))}function U(m,p,S={}){m=it("message",m),o&&(m=o(m));let{prefix:N,scalar:O,pointBytes:M}=E(p),z=_(S.context,N,m),j=P.multiply(z).toRawBytes(),q=_(S.context,j,M,m),X=R(z+q*O);Ut("signature.s",X,Gt,n);let tt=de(j,Fe(X,r.BYTES));return it("result",tt,r.BYTES*2)}let K=gd;function A(m,p,S,N=K){let{context:O,zip215:M}=N,z=r.BYTES;m=it("signature",m,2*z),p=it("message",p),S=it("publicKey",S,z),M!==void 0&&Ht("zip215",M),o&&(p=o(p));let j=Ae(m.slice(z,2*z)),q,X,tt;try{q=x.fromHex(S,M),X=x.fromHex(m.slice(0,z),M),tt=P.multiplyUnsafe(j)}catch{return!1}if(!M&&q.isSmallOrder())return!1;let ft=_(O,X.toRawBytes(),q.toRawBytes(),p);return X.add(q.multiplyUnsafe(ft)).subtract(tt).clearCofactor().equals(x.ZERO)}return P._setWindowSize(8),{CURVE:t,getPublicKey:F,sign:U,verify:A,ExtendedPoint:x,utils:{getExtendedPublicKey:E,randomPrivateKey:()=>s(r.BYTES),precompute(m=8,p=x.BASE){return p._setWindowSize(m),p.multiply(BigInt(3)),p}}}}var Yo=BigInt("57896044618658097711785492504343953926634992332820282019728792003956564819949"),wa=BigInt("19681161376707505956807079304988542015446066515923890162744021073123829784752"),lm=BigInt(0),xd=BigInt(1),ba=BigInt(2),dm=BigInt(3),wd=BigInt(5),bd=BigInt(8);function Ed(e){let t=BigInt(10),r=BigInt(20),n=BigInt(40),o=BigInt(80),i=Yo,a=e*e%i*e%i,c=nt(a,ba,i)*a%i,l=nt(c,xd,i)*e%i,u=nt(l,wd,i)*l%i,f=nt(u,t,i)*u%i,d=nt(f,r,i)*f%i,b=nt(d,n,i)*d%i,T=nt(b,o,i)*b%i,y=nt(T,o,i)*b%i,h=nt(y,t,i)*u%i;return{pow_p_5_8:nt(h,ba,i)*e%i,b2:a}}function Sd(e){return e[0]&=248,e[31]&=127,e[31]|=64,e}function vd(e,t){let r=Yo,n=J(t*t*t,r),o=J(n*n*t,r),i=Ed(e*o).pow_p_5_8,s=J(e*n*i,r),a=J(t*s*s,r),c=s,l=J(s*wa,r),u=a===e,f=a===J(-e,r),d=a===J(-e*wa,r);return u&&(s=c),(f||d)&&(s=l),da(s,r)&&(s=J(-s,r)),{isValid:u||f,value:s}}var Ad=Te(Yo,void 0,!0),Id={a:BigInt(-1),d:BigInt("37095705934669439343138083508754565189542113879843219016388785533085940283555"),Fp:Ad,n:BigInt("7237005577332262213973186563042994240857116359379907606001950938285454250989"),h:bd,Gx:BigInt("15112221349535400772501151409588531511454012693041857206046113283949847762202"),Gy:BigInt("46316835694926478169428394003475163141307993866256225615783033603165251855960"),hash:aa,randomBytes:fn,adjustScalarBytes:Sd,uvRatio:vd},Ea=xa(Id);var bn=32;function Sa(e,t,r){return Ea.verify(t,r instanceof Uint8Array?r:r.subarray(),e)}var En=class{type="Ed25519";raw;constructor(t){this.raw=Xo(t,bn)}toMultihash(){return $t.digest(Sn(this))}toCID(){return W.createV1(114,this.toMultihash())}toString(){return et.encode(this.toMultihash().bytes).substring(1)}equals(t){return t==null||!(t.raw instanceof Uint8Array)?!1:ot(this.raw,t.raw)}verify(t,r){return Sa(this.raw,r,t)}};function Jo(e){return e=Xo(e,bn),new En(e)}function Xo(e,t){if(e=Uint8Array.from(e??[]),e.length!==t)throw new xt(`Key must be a Uint8Array of length ${t}, got ${e.length}`);return e}function he(e=0){return new Uint8Array(e)}function Pt(e=0){return new Uint8Array(e)}var Bd=Math.pow(2,7),Cd=Math.pow(2,14),Ud=Math.pow(2,21),Qo=Math.pow(2,28),ti=Math.pow(2,35),ei=Math.pow(2,42),ri=Math.pow(2,49),Y=128,wt=127;function Rt(e){if(e<Bd)return 1;if(e<Cd)return 2;if(e<Ud)return 3;if(e<Qo)return 4;if(e<ti)return 5;if(e<ei)return 6;if(e<ri)return 7;if(Number.MAX_SAFE_INTEGER!=null&&e>Number.MAX_SAFE_INTEGER)throw new RangeError("Could not encode varint");return 8}function ni(e,t,r=0){switch(Rt(e)){case 8:t[r++]=e&255|Y,e/=128;case 7:t[r++]=e&255|Y,e/=128;case 6:t[r++]=e&255|Y,e/=128;case 5:t[r++]=e&255|Y,e/=128;case 4:t[r++]=e&255|Y,e>>>=7;case 3:t[r++]=e&255|Y,e>>>=7;case 2:t[r++]=e&255|Y,e>>>=7;case 1:{t[r++]=e&255,e>>>=7;break}default:throw new Error("unreachable")}return t}function Nd(e,t,r=0){switch(Rt(e)){case 8:t.set(r++,e&255|Y),e/=128;case 7:t.set(r++,e&255|Y),e/=128;case 6:t.set(r++,e&255|Y),e/=128;case 5:t.set(r++,e&255|Y),e/=128;case 4:t.set(r++,e&255|Y),e>>>=7;case 3:t.set(r++,e&255|Y),e>>>=7;case 2:t.set(r++,e&255|Y),e>>>=7;case 1:{t.set(r++,e&255),e>>>=7;break}default:throw new Error("unreachable")}return t}function oi(e,t){let r=e[t],n=0;if(n+=r&wt,r<Y||(r=e[t+1],n+=(r&wt)<<7,r<Y)||(r=e[t+2],n+=(r&wt)<<14,r<Y)||(r=e[t+3],n+=(r&wt)<<21,r<Y)||(r=e[t+4],n+=(r&wt)*Qo,r<Y)||(r=e[t+5],n+=(r&wt)*ti,r<Y)||(r=e[t+6],n+=(r&wt)*ei,r<Y)||(r=e[t+7],n+=(r&wt)*ri,r<Y))return n;throw new RangeError("Could not decode varint")}function Pd(e,t){let r=e.get(t),n=0;if(n+=r&wt,r<Y||(r=e.get(t+1),n+=(r&wt)<<7,r<Y)||(r=e.get(t+2),n+=(r&wt)<<14,r<Y)||(r=e.get(t+3),n+=(r&wt)<<21,r<Y)||(r=e.get(t+4),n+=(r&wt)*Qo,r<Y)||(r=e.get(t+5),n+=(r&wt)*ti,r<Y)||(r=e.get(t+6),n+=(r&wt)*ei,r<Y)||(r=e.get(t+7),n+=(r&wt)*ri,r<Y))return n;throw new RangeError("Could not decode varint")}function sr(e,t,r=0){return t==null&&(t=Pt(Rt(e))),t instanceof Uint8Array?ni(e,t,r):Nd(e,t,r)}function Ve(e,t=0){return e instanceof Uint8Array?oi(e,t):Pd(e,t)}var ii=new Float32Array([-0]),Be=new Uint8Array(ii.buffer);function Ia(e,t,r){ii[0]=e,t[r]=Be[0],t[r+1]=Be[1],t[r+2]=Be[2],t[r+3]=Be[3]}function Ta(e,t){return Be[0]=e[t],Be[1]=e[t+1],Be[2]=e[t+2],Be[3]=e[t+3],ii[0]}var si=new Float64Array([-0]),bt=new Uint8Array(si.buffer);function Ba(e,t,r){si[0]=e,t[r]=bt[0],t[r+1]=bt[1],t[r+2]=bt[2],t[r+3]=bt[3],t[r+4]=bt[4],t[r+5]=bt[5],t[r+6]=bt[6],t[r+7]=bt[7]}function Ca(e,t){return bt[0]=e[t],bt[1]=e[t+1],bt[2]=e[t+2],bt[3]=e[t+3],bt[4]=e[t+4],bt[5]=e[t+5],bt[6]=e[t+6],bt[7]=e[t+7],si[0]}var Rd=BigInt(Number.MAX_SAFE_INTEGER),_d=BigInt(Number.MIN_SAFE_INTEGER),_t=class e{lo;hi;constructor(t,r){this.lo=t|0,this.hi=r|0}toNumber(t=!1){if(!t&&this.hi>>>31>0){let r=~this.lo+1>>>0,n=~this.hi>>>0;return r===0&&(n=n+1>>>0),-(r+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 r=~this.lo+1>>>0,n=~this.hi>>>0;return r===0&&(n=n+1>>>0),-(BigInt(r)+(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,r=(this.lo>>>28|this.hi<<4)>>>0,n=this.hi>>>24;return n===0?r===0?t<16384?t<128?1:2:t<2097152?3:4:r<16384?r<128?5:6:r<2097152?7:8:n<128?9:10}static fromBigInt(t){if(t===0n)return Ke;if(t<Rd&&t>_d)return this.fromNumber(Number(t));let r=t<0n;r&&(t=-t);let n=t>>32n,o=t-(n<<32n);return r&&(n=~n|0n,o=~o|0n,++o>Ua&&(o=0n,++n>Ua&&(n=0n))),new e(Number(o),Number(n))}static fromNumber(t){if(t===0)return Ke;let r=t<0;r&&(t=-t);let n=t>>>0,o=(t-n)/4294967296>>>0;return r&&(o=~o>>>0,n=~n>>>0,++n>4294967295&&(n=0,++o>4294967295&&(o=0))),new e(n,o)}static from(t){return typeof t=="number"?e.fromNumber(t):typeof t=="bigint"?e.fromBigInt(t):typeof t=="string"?e.fromBigInt(BigInt(t)):t.low!=null||t.high!=null?new e(t.low>>>0,t.high>>>0):Ke}},Ke=new _t(0,0);Ke.toBigInt=function(){return 0n};Ke.zzEncode=Ke.zzDecode=function(){return this};Ke.length=function(){return 1};var Ua=4294967296n;function Na(e){let t=0,r=0;for(let n=0;n<e.length;++n)r=e.charCodeAt(n),r<128?t+=1:r<2048?t+=2:(r&64512)===55296&&(e.charCodeAt(n+1)&64512)===56320?(++n,t+=4):t+=3;return t}function Pa(e,t,r){if(r-t<1)return"";let o,i=[],s=0,a;for(;t<r;)a=e[t++],a<128?i[s++]=a:a>191&&a<224?i[s++]=(a&31)<<6|e[t++]&63:a>239&&a<365?(a=((a&7)<<18|(e[t++]&63)<<12|(e[t++]&63)<<6|e[t++]&63)-65536,i[s++]=55296+(a>>10),i[s++]=56320+(a&1023)):i[s++]=(a&15)<<12|(e[t++]&63)<<6|e[t++]&63,s>8191&&((o??(o=[])).push(String.fromCharCode.apply(String,i)),s=0);return o!=null?(s>0&&o.push(String.fromCharCode.apply(String,i.slice(0,s))),o.join("")):String.fromCharCode.apply(String,i.slice(0,s))}function ai(e,t,r){let n=r,o,i;for(let s=0;s<e.length;++s)o=e.charCodeAt(s),o<128?t[r++]=o:o<2048?(t[r++]=o>>6|192,t[r++]=o&63|128):(o&64512)===55296&&((i=e.charCodeAt(s+1))&64512)===56320?(o=65536+((o&1023)<<10)+(i&1023),++s,t[r++]=o>>18|240,t[r++]=o>>12&63|128,t[r++]=o>>6&63|128,t[r++]=o&63|128):(t[r++]=o>>12|224,t[r++]=o>>6&63|128,t[r++]=o&63|128);return r-n}function jt(e,t){return RangeError(`index out of range: ${e.pos} + ${t??1} > ${e.len}`)}function vn(e,t){return(e[t-4]|e[t-3]<<8|e[t-2]<<16|e[t-1]<<24)>>>0}var ci=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,jt(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 jt(this,4);return vn(this.buf,this.pos+=4)}sfixed32(){if(this.pos+4>this.len)throw jt(this,4);return vn(this.buf,this.pos+=4)|0}float(){if(this.pos+4>this.len)throw jt(this,4);let t=Ta(this.buf,this.pos);return this.pos+=4,t}double(){if(this.pos+8>this.len)throw jt(this,4);let t=Ca(this.buf,this.pos);return this.pos+=8,t}bytes(){let t=this.uint32(),r=this.pos,n=this.pos+t;if(n>this.len)throw jt(this,t);return this.pos+=t,r===n?new Uint8Array(0):this.buf.subarray(r,n)}string(){let t=this.bytes();return Pa(t,0,t.length)}skip(t){if(typeof t=="number"){if(this.pos+t>this.len)throw jt(this,t);this.pos+=t}else do if(this.pos>=this.len)throw jt(this);while((this.buf[this.pos++]&128)!==0);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 _t(0,0),r=0;if(this.len-this.pos>4){for(;r<4;++r)if(t.lo=(t.lo|(this.buf[this.pos]&127)<<r*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;r=0}else{for(;r<3;++r){if(this.pos>=this.len)throw jt(this);if(t.lo=(t.lo|(this.buf[this.pos]&127)<<r*7)>>>0,this.buf[this.pos++]<128)return t}return t.lo=(t.lo|(this.buf[this.pos++]&127)<<r*7)>>>0,t}if(this.len-this.pos>4){for(;r<5;++r)if(t.hi=(t.hi|(this.buf[this.pos]&127)<<r*7+3)>>>0,this.buf[this.pos++]<128)return t}else for(;r<5;++r){if(this.pos>=this.len)throw jt(this);if(t.hi=(t.hi|(this.buf[this.pos]&127)<<r*7+3)>>>0,this.buf[this.pos++]<128)return t}throw Error("invalid varint encoding")}readFixed64(){if(this.pos+8>this.len)throw jt(this,8);let t=vn(this.buf,this.pos+=4),r=vn(this.buf,this.pos+=4);return new _t(t,r)}int64(){return this.readLongVarint().toBigInt()}int64Number(){return this.readLongVarint().toNumber()}int64String(){return this.readLongVarint().toString()}uint64(){return this.readLongVarint().toBigInt(!0)}uint64Number(){let t=oi(this.buf,this.pos);return this.pos+=Rt(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 ui(e){return new ci(e instanceof Uint8Array?e:e.subarray())}function ar(e,t,r){let n=ui(e);return t.decode(n,void 0,r)}var fi={};At(fi,{base10:()=>Ld});var Ld=xe({prefix:"9",name:"base10",alphabet:"0123456789"});var li={};At(li,{base16:()=>kd,base16upper:()=>Dd});var kd=st({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),Dd=st({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var di={};At(di,{base2:()=>Fd});var Fd=st({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var hi={};At(hi,{base256emoji:()=>qd});var _a=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}"),Od=_a.reduce((e,t,r)=>(e[r]=t,e),[]),Md=_a.reduce((e,t,r)=>{let n=t.codePointAt(0);if(n==null)throw new Error(`Invalid character: ${t}`);return e[n]=r,e},[]);function Vd(e){return e.reduce((t,r)=>(t+=Od[r],t),"")}function Kd(e){let t=[];for(let r of e){let n=r.codePointAt(0);if(n==null)throw new Error(`Invalid character: ${r}`);let o=Md[n];if(o==null)throw new Error(`Non-base256emoji character: ${r}`);t.push(o)}return new Uint8Array(t)}var qd=Ye({prefix:"\u{1F680}",name:"base256emoji",encode:Vd,decode:Kd});var pi={};At(pi,{base8:()=>$d});var $d=st({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var mi={};At(mi,{identity:()=>zd});var zd=Ye({prefix:"\0",name:"identity",encode:e=>Ms(e),decode:e=>Os(e)});var jm=new TextEncoder,Zm=new TextDecoder;var xi={};At(xi,{sha256:()=>Rr,sha512:()=>jd});function yi({name:e,code:t,encode:r}){return new gi(e,t,r)}var gi=class{name;code;encode;constructor(t,r,n){this.name=t,this.code=r,this.encode=n}digest(t){if(t instanceof Uint8Array){let r=this.encode(t);return r instanceof Uint8Array?qt(this.code,r):r.then(n=>qt(this.code,n))}else throw Error("Unknown type, must be binary type")}};function ka(e){return async t=>new Uint8Array(await crypto.subtle.digest(e,t))}var Rr=yi({name:"sha2-256",code:18,encode:ka("SHA-256")}),jd=yi({name:"sha2-512",code:19,encode:ka("SHA-512")});var _r={...mi,...di,...pi,...fi,...li,...Io,...No,...To,...Co,...hi},sg={...xi,..._o};function Fa(e,t,r,n){return{name:e,prefix:t,encoder:{name:e,prefix:t,encode:r},decoder:{decode:n}}}var Da=Fa("utf8","u",e=>"u"+new TextDecoder("utf8").decode(e),e=>new TextEncoder().encode(e.substring(1))),wi=Fa("ascii","a",e=>{let t="a";for(let r=0;r<e.length;r++)t+=String.fromCharCode(e[r]);return t},e=>{e=e.substring(1);let t=Pt(e.length);for(let r=0;r<e.length;r++)t[r]=e.charCodeAt(r);return t}),Zd={utf8:Da,"utf-8":Da,hex:_r.base16,latin1:wi,ascii:wi,binary:wi,..._r},An=Zd;function H(e,t="utf8"){let r=An[t];if(r==null)throw new Error(`Unsupported encoding "${t}"`);return r.decoder.decode(`${r.prefix}${e}`)}function bi(e){let t=e??8192,r=t>>>1,n,o=t;return function(s){if(s<1||s>r)return Pt(s);o+s>t&&(n=Pt(t),o=0);let a=n.subarray(o,o+=s);return(o&7)!==0&&(o=(o|7)+1),a}}var qe=class{fn;len;next;val;constructor(t,r,n){this.fn=t,this.len=r,this.next=void 0,this.val=n}};function Ei(){}var vi=class{head;tail;len;next;constructor(t){this.head=t.head,this.tail=t.tail,this.len=t.len,this.next=t.states}},Wd=bi();function Yd(e){return globalThis.Buffer!=null?Pt(e):Wd(e)}var kr=class{len;head;tail;states;constructor(){this.len=0,this.head=new qe(Ei,0,0),this.tail=this.head,this.states=null}_push(t,r,n){return this.tail=this.tail.next=new qe(t,r,n),this.len+=r,this}uint32(t){return this.len+=(this.tail=this.tail.next=new Ai((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,_t.fromNumber(t)):this.uint32(t)}sint32(t){return this.uint32((t<<1^t>>31)>>>0)}uint64(t){let r=_t.fromBigInt(t);return this._push(In,r.length(),r)}uint64Number(t){return this._push(ni,Rt(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 r=_t.fromBigInt(t).zzEncode();return this._push(In,r.length(),r)}sint64Number(t){let r=_t.fromNumber(t).zzEncode();return this._push(In,r.length(),r)}sint64String(t){return this.sint64(BigInt(t))}bool(t){return this._push(Si,1,t?1:0)}fixed32(t){return this._push(Lr,4,t>>>0)}sfixed32(t){return this.fixed32(t)}fixed64(t){let r=_t.fromBigInt(t);return this._push(Lr,4,r.lo)._push(Lr,4,r.hi)}fixed64Number(t){let r=_t.fromNumber(t);return this._push(Lr,4,r.lo)._push(Lr,4,r.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(Ia,4,t)}double(t){return this._push(Ba,8,t)}bytes(t){let r=t.length>>>0;return r===0?this._push(Si,1,0):this.uint32(r)._push(Jd,r,t)}string(t){let r=Na(t);return r!==0?this.uint32(r)._push(ai,r,t):this._push(Si,1,0)}fork(){return this.states=new vi(this),this.head=this.tail=new qe(Ei,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 qe(Ei,0,0),this.len=0),this}ldelim(){let t=this.head,r=this.tail,n=this.len;return this.reset().uint32(n),n!==0&&(this.tail.next=t.next,this.tail=r,this.len+=n),this}finish(){let t=this.head.next,r=Yd(this.len),n=0;for(;t!=null;)t.fn(t.val,r,n),n+=t.len,t=t.next;return r}};function Si(e,t,r){t[r]=e&255}function Xd(e,t,r){for(;e>127;)t[r++]=e&127|128,e>>>=7;t[r]=e}var Ai=class extends qe{next;constructor(t,r){super(Xd,t,r),this.next=void 0}};function In(e,t,r){for(;e.hi!==0;)t[r++]=e.lo&127|128,e.lo=(e.lo>>>7|e.hi<<25)>>>0,e.hi>>>=7;for(;e.lo>127;)t[r++]=e.lo&127|128,e.lo=e.lo>>>7;t[r++]=e.lo}function Lr(e,t,r){t[r]=e&255,t[r+1]=e>>>8&255,t[r+2]=e>>>16&255,t[r+3]=e>>>24}function Jd(e,t,r){t.set(e,r)}globalThis.Buffer!=null&&(kr.prototype.bytes=function(e){let t=e.length>>>0;return this.uint32(t),t>0&&this._push(Qd,t,e),this},kr.prototype.string=function(e){let t=globalThis.Buffer.byteLength(e);return this.uint32(t),t>0&&this._push(th,t,e),this});function Qd(e,t,r){t.set(e,r)}function th(e,t,r){e.length<40?ai(e,t,r):t.utf8Write!=null?t.utf8Write(e,r):t.set(H(e),r)}function Ii(){return new kr}function cr(e,t){let r=Ii();return t.encode(e,r,{lengthDelimited:!1}),r.finish()}var ur;(function(e){e[e.VARINT=0]="VARINT",e[e.BIT64=1]="BIT64",e[e.LENGTH_DELIMITED=2]="LENGTH_DELIMITED",e[e.START_GROUP=3]="START_GROUP",e[e.END_GROUP=4]="END_GROUP",e[e.BIT32=5]="BIT32"})(ur||(ur={}));function Tn(e,t,r,n){return{name:e,type:t,encode:r,decode:n}}function Dr(e){function t(o){if(e[o.toString()]==null)throw new Error("Invalid enum value");return e[o]}let r=function(i,s){let a=t(i);s.int32(a)},n=function(i){let s=i.int32();return t(s)};return Tn("enum",ur.VARINT,r,n)}function fr(e,t){return Tn("message",ur.LENGTH_DELIMITED,e,t)}var ut;(function(e){e.RSA="RSA",e.Ed25519="Ed25519",e.secp256k1="secp256k1"})(ut||(ut={}));var Ti;(function(e){e[e.RSA=0]="RSA",e[e.Ed25519=1]="Ed25519",e[e.secp256k1=2]="secp256k1"})(Ti||(Ti={}));(function(e){e.codec=()=>Dr(Ti)})(ut||(ut={}));var ne;(function(e){let t;e.codec=()=>(t==null&&(t=fr((r,n,o={})=>{o.lengthDelimited!==!1&&n.fork(),r.Type!=null&&(n.uint32(8),ut.codec().encode(r.Type,n)),r.Data!=null&&(n.uint32(18),n.bytes(r.Data)),o.lengthDelimited!==!1&&n.ldelim()},(r,n,o={})=>{let i={},s=n==null?r.len:r.pos+n;for(;r.pos<s;){let a=r.uint32();switch(a>>>3){case 1:{i.Type=ut.codec().decode(r);break}case 2:{i.Data=r.bytes();break}default:{r.skipType(a&7);break}}}return i})),t),e.encode=r=>cr(r,e.codec()),e.decode=(r,n)=>ar(r,e.codec(),n)})(ne||(ne={}));var Bi;(function(e){let t;e.codec=()=>(t==null&&(t=fr((r,n,o={})=>{o.lengthDelimited!==!1&&n.fork(),r.Type!=null&&(n.uint32(8),ut.codec().encode(r.Type,n)),r.Data!=null&&(n.uint32(18),n.bytes(r.Data)),o.lengthDelimited!==!1&&n.ldelim()},(r,n,o={})=>{let i={},s=n==null?r.len:r.pos+n;for(;r.pos<s;){let a=r.uint32();switch(a>>>3){case 1:{i.Type=ut.codec().decode(r);break}case 2:{i.Data=r.bytes();break}default:{r.skipType(a&7);break}}}return i})),t),e.encode=r=>cr(r,e.codec()),e.decode=(r,n)=>ar(r,e.codec(),n)})(Bi||(Bi={}));var Mr={};At(Mr,{MAX_RSA_KEY_SIZE:()=>Ri,generateRSAKeyPair:()=>Ja,jwkToJWKKeyPair:()=>Qa,jwkToPkcs1:()=>dh,jwkToPkix:()=>Li,jwkToRSAPrivateKey:()=>Xa,pkcs1ToJwk:()=>Za,pkcs1ToRSAPrivateKey:()=>Ya,pkixToJwk:()=>Wa,pkixToRSAPublicKey:()=>ki});var eh=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]),Ce=new Uint32Array([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),Ue=new Uint32Array(64),Ci=class extends or{constructor(){super(64,32,8,!1),this.A=Ce[0]|0,this.B=Ce[1]|0,this.C=Ce[2]|0,this.D=Ce[3]|0,this.E=Ce[4]|0,this.F=Ce[5]|0,this.G=Ce[6]|0,this.H=Ce[7]|0}get(){let{A:t,B:r,C:n,D:o,E:i,F:s,G:a,H:c}=this;return[t,r,n,o,i,s,a,c]}set(t,r,n,o,i,s,a,c){this.A=t|0,this.B=r|0,this.C=n|0,this.D=o|0,this.E=i|0,this.F=s|0,this.G=a|0,this.H=c|0}process(t,r){for(let f=0;f<16;f++,r+=4)Ue[f]=t.getUint32(r,!1);for(let f=16;f<64;f++){let d=Ue[f-15],b=Ue[f-2],T=zt(d,7)^zt(d,18)^d>>>3,y=zt(b,17)^zt(b,19)^b>>>10;Ue[f]=y+Ue[f-7]+T+Ue[f-16]|0}let{A:n,B:o,C:i,D:s,E:a,F:c,G:l,H:u}=this;for(let f=0;f<64;f++){let d=zt(a,6)^zt(a,11)^zt(a,25),b=u+d+oa(a,c,l)+eh[f]+Ue[f]|0,y=(zt(n,2)^zt(n,13)^zt(n,22))+ia(n,o,i)|0;u=l,l=c,c=a,a=s+b|0,s=i,i=o,o=n,n=b+y|0}n=n+this.A|0,o=o+this.B|0,i=i+this.C|0,s=s+this.D|0,a=a+this.E|0,c=c+this.F|0,l=l+this.G|0,u=u+this.H|0,this.set(n,o,i,s,a,c,l,u)}roundClean(){Ue.fill(0)}destroy(){this.set(0,0,0,0,0,0,0,0),this.buffer.fill(0)}};var lr=un(()=>new Ci);function G(e,t="utf8"){let r=An[t];if(r==null)throw new Error(`Unsupported encoding "${t}"`);return r.encoder.encode(e).substring(1)}function Et(e,t){t==null&&(t=e.reduce((o,i)=>o+i.length,0));let r=Pt(t),n=0;for(let o of e)r.set(o,n),n+=o.length;return r}var Va=Symbol.for("@achingbrain/uint8arraylist");function Ma(e,t){if(t==null||t<0)throw new RangeError("index is out of bounds");let r=0;for(let n of e){let o=r+n.byteLength;if(t<o)return{buf:n,index:t-r};r=o}throw new RangeError("index is out of bounds")}function dr(e){return!!e?.[Va]}var Zt=class e{bufs;length;[Va]=!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 r=0;for(let n of t)if(n instanceof Uint8Array)r+=n.byteLength,this.bufs.push(n);else if(dr(n))r+=n.byteLength,this.bufs.push(...n.bufs);else throw new Error("Could not append value, must be an Uint8Array or a Uint8ArrayList");this.length+=r}prepend(...t){this.prependAll(t)}prependAll(t){let r=0;for(let n of t.reverse())if(n instanceof Uint8Array)r+=n.byteLength,this.bufs.unshift(n);else if(dr(n))r+=n.byteLength,this.bufs.unshift(...n.bufs);else throw new Error("Could not prepend value, must be an Uint8Array or a Uint8ArrayList");this.length+=r}get(t){let r=Ma(this.bufs,t);return r.buf[r.index]}set(t,r){let n=Ma(this.bufs,t);n.buf[n.index]=r}write(t,r=0){if(t instanceof Uint8Array)for(let n=0;n<t.length;n++)this.set(r+n,t[n]);else if(dr(t))for(let n=0;n<t.length;n++)this.set(r+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,r){let{bufs:n,length:o}=this._subList(t,r);return Et(n,o)}subarray(t,r){let{bufs:n,length:o}=this._subList(t,r);return n.length===1?n[0]:Et(n,o)}sublist(t,r){let{bufs:n,length:o}=this._subList(t,r),i=new e;return i.length=o,i.bufs=[...n],i}_subList(t,r){if(t=t??0,r=r??this.length,t<0&&(t=this.length+t),r<0&&(r=this.length+r),t<0||r>this.length)throw new RangeError("index is out of bounds");if(t===r)return{bufs:[],length:0};if(t===0&&r===this.length)return{bufs:this.bufs,length:this.length};let n=[],o=0;for(let i=0;i<this.bufs.length;i++){let s=this.bufs[i],a=o,c=a+s.byteLength;if(o=c,t>=c)continue;let l=t>=a&&t<c,u=r>a&&r<=c;if(l&&u){if(t===a&&r===c){n.push(s);break}let f=t-a;n.push(s.subarray(f,f+(r-t)));break}if(l){if(t===0){n.push(s);continue}n.push(s.subarray(t-a));continue}if(u){if(r===c){n.push(s);break}n.push(s.subarray(0,r-a));break}n.push(s)}return{bufs:n,length:r-t}}indexOf(t,r=0){if(!dr(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(r=Number(r??0),isNaN(r)&&(r=0),r<0&&(r=this.length+r),r<0&&(r=0),t.length===0)return r>this.length?this.length:r;let o=n.byteLength;if(o===0)throw new TypeError("search must be at least 1 byte long");let i=256,s=new Int32Array(i);for(let f=0;f<i;f++)s[f]=-1;for(let f=0;f<o;f++)s[n[f]]=f;let a=s,c=this.byteLength-n.byteLength,l=n.byteLength-1,u;for(let f=r;f<=c;f+=u){u=0;for(let d=l;d>=0;d--){let b=this.get(f+d);if(n[d]!==b){u=Math.max(1,d-a[b]);break}}if(u===0)return f}return-1}getInt8(t){let r=this.subarray(t,t+1);return new DataView(r.buffer,r.byteOffset,r.byteLength).getInt8(0)}setInt8(t,r){let n=Pt(1);new DataView(n.buffer,n.byteOffset,n.byteLength).setInt8(0,r),this.write(n,t)}getInt16(t,r){let n=this.subarray(t,t+2);return new DataView(n.buffer,n.byteOffset,n.byteLength).getInt16(0,r)}setInt16(t,r,n){let o=he(2);new DataView(o.buffer,o.byteOffset,o.byteLength).setInt16(0,r,n),this.write(o,t)}getInt32(t,r){let n=this.subarray(t,t+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getInt32(0,r)}setInt32(t,r,n){let o=he(4);new DataView(o.buffer,o.byteOffset,o.byteLength).setInt32(0,r,n),this.write(o,t)}getBigInt64(t,r){let n=this.subarray(t,t+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getBigInt64(0,r)}setBigInt64(t,r,n){let o=he(8);new DataView(o.buffer,o.byteOffset,o.byteLength).setBigInt64(0,r,n),this.write(o,t)}getUint8(t){let r=this.subarray(t,t+1);return new DataView(r.buffer,r.byteOffset,r.byteLength).getUint8(0)}setUint8(t,r){let n=Pt(1);new DataView(n.buffer,n.byteOffset,n.byteLength).setUint8(0,r),this.write(n,t)}getUint16(t,r){let n=this.subarray(t,t+2);return new DataView(n.buffer,n.byteOffset,n.byteLength).getUint16(0,r)}setUint16(t,r,n){let o=he(2);new DataView(o.buffer,o.byteOffset,o.byteLength).setUint16(0,r,n),this.write(o,t)}getUint32(t,r){let n=this.subarray(t,t+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getUint32(0,r)}setUint32(t,r,n){let o=he(4);new DataView(o.buffer,o.byteOffset,o.byteLength).setUint32(0,r,n),this.write(o,t)}getBigUint64(t,r){let n=this.subarray(t,t+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getBigUint64(0,r)}setBigUint64(t,r,n){let o=he(8);new DataView(o.buffer,o.byteOffset,o.byteLength).setBigUint64(0,r,n),this.write(o,t)}getFloat32(t,r){let n=this.subarray(t,t+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getFloat32(0,r)}setFloat32(t,r,n){let o=he(4);new DataView(o.buffer,o.byteOffset,o.byteLength).setFloat32(0,r,n),this.write(o,t)}getFloat64(t,r){let n=this.subarray(t,t+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getFloat64(0,r)}setFloat64(t,r,n){let o=he(8);new DataView(o.buffer,o.byteOffset,o.byteLength).setFloat64(0,r,n),this.write(o,t)}equals(t){if(t==null||!(t instanceof e)||t.bufs.length!==this.bufs.length)return!1;for(let r=0;r<this.bufs.length;r++)if(!ot(this.bufs[r],t.bufs[r]))return!1;return!0}static fromUint8Arrays(t,r){let n=new e;return n.bufs=t,r==null&&(r=t.reduce((o,i)=>o+i.byteLength,0)),n.length=r,n}};var rh=parseInt("11111",2),Ni=parseInt("10000000",2),nh=parseInt("01111111",2),Ka={2:oh,3:ah,5:sh,6:ih,16:Ui,22:Ui,48:Ui};function Fr(e,t={offset:0}){let r=e[t.offset]&rh;if(t.offset++,Ka[r]!=null)return Ka[r](e,t);throw new Error("No decoder for tag "+r)}function Bn(e,t){let r=0;if((e[t.offset]&Ni)===Ni){let n=e[t.offset]&nh,o="0x";t.offset++;for(let i=0;i<n;i++,t.offset++)o+=e[t.offset].toString(16).padStart(2,"0");r=parseInt(o,16)}else r=e[t.offset],t.offset++;return r}function Ui(e,t){Bn(e,t);let r=[];for(;!(t.offset>=e.byteLength);){let n=Fr(e,t);if(n===null)break;r.push(n)}return r}function oh(e,t){let r=Bn(e,t),n=t.offset,o=t.offset+r,i=[];for(let s=n;s<o;s++)s===n&&e[s]===0||i.push(e[s]);return t.offset+=r,Uint8Array.from(i)}function ih(e,t){let r=Bn(e,t);return t.offset+=r,["oid-unimplemented"]}function sh(e,t){return t.offset++,null}function ah(e,t){let r=Bn(e,t),n=e[t.offset];t.offset++;let o=e.subarray(t.offset,t.offset+r);if(t.offset+=r,n!==0)throw new Error("Unused bits in bit string is unimplemented");return Fr(o,{offset:0})}function ch(e){let t=e.toString(16);t.length%2===1&&(t="0"+t);let r=new Zt;for(let n=0;n<t.length;n+=2)r.append(Uint8Array.from([parseInt(`${t[n]}${t[n+1]}`,16)]));return r}function Pi(e){if(e.byteLength<128)return Uint8Array.from([e.byteLength]);let t=ch(e.byteLength);return new Zt(Uint8Array.from([t.byteLength|Ni]),t)}function Ot(e){let t=new Zt,r=parseInt("10000000",2);return(e.subarray()[0]&r)===r&&t.append(Uint8Array.from([0])),t.append(e),new Zt(Uint8Array.from([2]),Pi(t),t)}function qa(e){let t=Uint8Array.from([0]),r=new Zt(t,e);return new Zt(Uint8Array.from([3]),Pi(r),r)}function Cn(e){let t=new Zt;for(let r of e)t.append(r);return new Zt(Uint8Array.from([48]),Pi(t),t)}var Or=class extends Error{constructor(t="An error occurred while verifying a message"){super(t),this.name="VerificationError"}},Un=class extends Error{constructor(t="Missing Web Crypto API"){super(t),this.name="WebCryptoMissingError"}};var $a={get(e=globalThis){let t=e.crypto;if(t?.subtle==null)throw new Un("Missing Web Crypto API. The most likely cause of this error is that this page is being accessed from an insecure context (i.e. not HTTPS). For more information and possible resolutions see https://github.com/libp2p/js-libp2p/blob/main/packages/crypto/README.md#web-crypto-api");return t}};var Ne=$a;async function za(e){let t=await Ne.get().subtle.generateKey({name:"RSASSA-PKCS1-v1_5",modulusLength:e,publicExponent:new Uint8Array([1,0,1]),hash:{name:"SHA-256"}},!0,["sign","verify"]),r=await uh(t);return{privateKey:r[0],publicKey:r[1]}}async function Ha(e,t){let r=await Ne.get().subtle.importKey("jwk",e,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!1,["sign"]),n=await Ne.get().subtle.sign({name:"RSASSA-PKCS1-v1_5"},r,t instanceof Uint8Array?t:t.subarray());return new Uint8Array(n,0,n.byteLength)}async function Ga(e,t,r){let n=await Ne.get().subtle.importKey("jwk",e,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!1,["verify"]);return Ne.get().subtle.verify({name:"RSASSA-PKCS1-v1_5"},n,t,r instanceof Uint8Array?r:r.subarray())}async function uh(e){if(e.privateKey==null||e.publicKey==null)throw new xt("Private and public key are required");return Promise.all([Ne.get().subtle.exportKey("jwk",e.privateKey),Ne.get().subtle.exportKey("jwk",e.publicKey)])}function ja(e){if(e.kty!=="RSA")throw new xt("invalid key type");if(e.n==null)throw new xt("invalid key modulus");return H(e.n,"base64url").length*8}var hr=class{type="RSA";_key;_raw;_multihash;constructor(t,r){this._key=t,this._multihash=r}get raw(){return this._raw==null&&(this._raw=Mr.jwkToPkix(this._key)),this._raw}toMultihash(){return this._multihash}toCID(){return W.createV1(114,this._multihash)}toString(){return et.encode(this.toMultihash().bytes).substring(1)}equals(t){return t==null||!(t.raw instanceof Uint8Array)?!1:ot(this.raw,t.raw)}verify(t,r){return Ga(this._key,r,t)}},Vr=class{type="RSA";_key;_raw;publicKey;constructor(t,r){this._key=t,this.publicKey=r}get raw(){return this._raw==null&&(this._raw=Mr.jwkToPkcs1(this._key)),this._raw}equals(t){return t==null||!(t.raw instanceof Uint8Array)?!1:ot(this.raw,t.raw)}sign(t){return Ha(this._key,t)}};var Ri=8192,_i=18,fh=1062,lh=Uint8Array.from([48,13,6,9,42,134,72,134,247,13,1,1,1,5,0]);function Za(e){let t=Fr(e);return{n:G(t[1],"base64url"),e:G(t[2],"base64url"),d:G(t[3],"base64url"),p:G(t[4],"base64url"),q:G(t[5],"base64url"),dp:G(t[6],"base64url"),dq:G(t[7],"base64url"),qi:G(t[8],"base64url"),kty:"RSA"}}function dh(e){if(e.n==null||e.e==null||e.d==null||e.p==null||e.q==null||e.dp==null||e.dq==null||e.qi==null)throw new xt("JWK was missing components");return Cn([Ot(Uint8Array.from([0])),Ot(H(e.n,"base64url")),Ot(H(e.e,"base64url")),Ot(H(e.d,"base64url")),Ot(H(e.p,"base64url")),Ot(H(e.q,"base64url")),Ot(H(e.dp,"base64url")),Ot(H(e.dq,"base64url")),Ot(H(e.qi,"base64url"))]).subarray()}function Wa(e){let t=Fr(e,{offset:0});return{kty:"RSA",n:G(t[1][0],"base64url"),e:G(t[1][1],"base64url")}}function Li(e){if(e.n==null||e.e==null)throw new xt("JWK was missing components");return Cn([lh,qa(Cn([Ot(H(e.n,"base64url")),Ot(H(e.e,"base64url"))]))]).subarray()}function Ya(e){let t=Za(e);return Xa(t)}function ki(e,t){if(e.byteLength>=fh)throw new je("Key size is too large");let r=Wa(e);if(t==null){let n=lr(ne.encode({Type:ut.RSA,Data:e}));t=qt(_i,n)}return new hr(r,t)}function Xa(e){if(ja(e)>Ri)throw new xt("Key size is too large");let t=Qa(e),r=lr(ne.encode({Type:ut.RSA,Data:Li(t.publicKey)})),n=qt(_i,r);return new Vr(t.privateKey,new hr(t.publicKey,n))}async function Ja(e){if(e>Ri)throw new xt("Key size is too large");let t=await za(e),r=lr(ne.encode({Type:ut.RSA,Data:Li(t.publicKey)})),n=qt(_i,r);return new Vr(t.privateKey,new hr(t.publicKey,n))}function Qa(e){if(e==null)throw new xt("Missing key parameter");return{privateKey:e,publicKey:{kty:e.kty,n:e.n,e:e.e}}}var Nn=class extends nr{constructor(t,r){super(),this.finished=!1,this.destroyed=!1,ea(t);let n=Cr(r);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 o=this.blockLen,i=new Uint8Array(o);i.set(n.length>o?t.create().update(n).digest():n);for(let s=0;s<i.length;s++)i[s]^=54;this.iHash.update(i),this.oHash=t.create();for(let s=0;s<i.length;s++)i[s]^=106;this.oHash.update(i),i.fill(0)}update(t){return rr(this),this.iHash.update(t),this}digestInto(t){rr(this),er(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:r,iHash:n,finished:o,destroyed:i,blockLen:s,outputLen:a}=this;return t=t,t.finished=o,t.destroyed=i,t.blockLen=s,t.outputLen=a,t.oHash=r._cloneInto(t.oHash),t.iHash=n._cloneInto(t.iHash),t}destroy(){this.destroyed=!0,this.oHash.destroy(),this.iHash.destroy()}},Di=(e,t,r)=>new Nn(e,t).update(r).digest();Di.create=(e,t)=>new Nn(e,t);function tc(e){e.lowS!==void 0&&Ht("lowS",e.lowS),e.prehash!==void 0&&Ht("prehash",e.prehash)}function hh(e){let t=Pr(e);re(t,{a:"field",b:"field"},{allowedPrivateKeyLengths:"array",wrapPrivateKey:"boolean",isTorsionFree:"function",clearCofactor:"function",allowInfinityPoint:"boolean",fromBytes:"function",toBytes:"function"});let{endo:r,Fp:n,a:o}=t;if(r){if(!n.eql(o,n.ZERO))throw new Error("invalid endomorphism, can only be defined for Koblitz curves that have a=0");if(typeof r!="object"||typeof r.beta!="bigint"||typeof r.splitScalar!="function")throw new Error("invalid endomorphism, expected beta: bigint and splitScalar: function")}return Object.freeze({...t})}var{bytesToNumberBE:ph,hexToBytes:mh}=pn,Fi=class extends Error{constructor(t=""){super(t)}},pe={Err:Fi,_tlv:{encode:(e,t)=>{let{Err:r}=pe;if(e<0||e>256)throw new r("tlv.encode: wrong tag");if(t.length&1)throw new r("tlv.encode: unpadded data");let n=t.length/2,o=ke(n);if(o.length/2&128)throw new r("tlv.encode: long form length too big");let i=n>127?ke(o.length/2|128):"";return ke(e)+i+o+t},decode(e,t){let{Err:r}=pe,n=0;if(e<0||e>256)throw new r("tlv.encode: wrong tag");if(t.length<2||t[n++]!==e)throw new r("tlv.decode: wrong tlv");let o=t[n++],i=!!(o&128),s=0;if(!i)s=o;else{let c=o&127;if(!c)throw new r("tlv.decode(long): indefinite length not supported");if(c>4)throw new r("tlv.decode(long): byte length is too big");let l=t.subarray(n,n+c);if(l.length!==c)throw new r("tlv.decode: length bytes not complete");if(l[0]===0)throw new r("tlv.decode(long): zero leftmost byte");for(let u of l)s=s<<8|u;if(n+=c,s<128)throw new r("tlv.decode(long): not minimal encoding")}let a=t.subarray(n,n+s);if(a.length!==s)throw new r("tlv.decode: wrong value length");return{v:a,l:t.subarray(n+s)}}},_int:{encode(e){let{Err:t}=pe;if(e<me)throw new t("integer: negative integers are not allowed");let r=ke(e);if(Number.parseInt(r[0],16)&8&&(r="00"+r),r.length&1)throw new t("unexpected DER parsing assertion: unpadded hex");return r},decode(e){let{Err:t}=pe;if(e[0]&128)throw new t("invalid signature integer: negative");if(e[0]===0&&!(e[1]&128))throw new t("invalid signature integer: unnecessary leading zero");return ph(e)}},toSig(e){let{Err:t,_int:r,_tlv:n}=pe,o=typeof e=="string"?mh(e):e;ir(o);let{v:i,l:s}=n.decode(48,o);if(s.length)throw new t("invalid signature: left bytes after parsing");let{v:a,l:c}=n.decode(2,i),{v:l,l:u}=n.decode(2,c);if(u.length)throw new t("invalid signature: left bytes after parsing");return{r:r.decode(a),s:r.decode(l)}},hexFromSig(e){let{_tlv:t,_int:r}=pe,n=t.encode(2,r.encode(e.r)),o=t.encode(2,r.encode(e.s)),i=n+o;return t.encode(48,i)}},me=BigInt(0),dt=BigInt(1),Cy=BigInt(2),ec=BigInt(3),Uy=BigInt(4);function gh(e){let t=hh(e),{Fp:r}=t,n=Te(t.n,t.nBitLength),o=t.toBytes||((y,h,v)=>{let C=h.toAffine();return de(Uint8Array.from([4]),r.toBytes(C.x),r.toBytes(C.y))}),i=t.fromBytes||(y=>{let h=y.subarray(1),v=r.fromBytes(h.subarray(0,r.BYTES)),C=r.fromBytes(h.subarray(r.BYTES,2*r.BYTES));return{x:v,y:C}});function s(y){let{a:h,b:v}=t,C=r.sqr(y),x=r.mul(C,y);return r.add(r.add(x,r.mul(y,h)),v)}if(!r.eql(r.sqr(t.Gy),s(t.Gx)))throw new Error("bad generator point: equation left != right");function a(y){return Ur(y,dt,t.n)}function c(y){let{allowedPrivateKeyLengths:h,nByteLength:v,wrapPrivateKey:C,n:x}=t;if(h&&typeof y!="bigint"){if(ve(y)&&(y=fe(y)),typeof y!="string"||!h.includes(y.length))throw new Error("invalid private key");y=y.padStart(v*2,"0")}let P;try{P=typeof y=="bigint"?y:le(it("private key",y,v))}catch{throw new Error("invalid private key, expected hex or "+v+" bytes, got "+typeof y)}return C&&(P=J(P,x)),Ut("private key",P,dt,x),P}function l(y){if(!(y instanceof d))throw new Error("ProjectivePoint expected")}let u=Oe((y,h)=>{let{px:v,py:C,pz:x}=y;if(r.eql(x,r.ONE))return{x:v,y:C};let P=y.is0();h==null&&(h=P?r.ONE:r.inv(x));let D=r.mul(v,h),k=r.mul(C,h),R=r.mul(x,h);if(P)return{x:r.ZERO,y:r.ZERO};if(!r.eql(R,r.ONE))throw new Error("invZ was invalid");return{x:D,y:k}}),f=Oe(y=>{if(y.is0()){if(t.allowInfinityPoint&&!r.is0(y.py))return;throw new Error("bad point: ZERO")}let{x:h,y:v}=y.toAffine();if(!r.isValid(h)||!r.isValid(v))throw new Error("bad point: x or y not FE");let C=r.sqr(v),x=s(h);if(!r.eql(C,x))throw new Error("bad point: equation left != right");if(!y.isTorsionFree())throw new Error("bad point: not in prime-order subgroup");return!0});class d{constructor(h,v,C){if(this.px=h,this.py=v,this.pz=C,h==null||!r.isValid(h))throw new Error("x required");if(v==null||!r.isValid(v))throw new Error("y required");if(C==null||!r.isValid(C))throw new Error("z required");Object.freeze(this)}static fromAffine(h){let{x:v,y:C}=h||{};if(!h||!r.isValid(v)||!r.isValid(C))throw new Error("invalid affine point");if(h instanceof d)throw new Error("projective point not allowed");let x=P=>r.eql(P,r.ZERO);return x(v)&&x(C)?d.ZERO:new d(v,C,r.ONE)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static normalizeZ(h){let v=r.invertBatch(h.map(C=>C.pz));return h.map((C,x)=>C.toAffine(v[x])).map(d.fromAffine)}static fromHex(h){let v=d.fromAffine(i(it("pointHex",h)));return v.assertValidity(),v}static fromPrivateKey(h){return d.BASE.multiply(c(h))}static msm(h,v){return xn(d,n,h,v)}_setWindowSize(h){T.setWindowSize(this,h)}assertValidity(){f(this)}hasEvenY(){let{y:h}=this.toAffine();if(r.isOdd)return!r.isOdd(h);throw new Error("Field doesn't support isOdd")}equals(h){l(h);let{px:v,py:C,pz:x}=this,{px:P,py:D,pz:k}=h,R=r.eql(r.mul(v,k),r.mul(P,x)),w=r.eql(r.mul(C,k),r.mul(D,x));return R&&w}negate(){return new d(this.px,r.neg(this.py),this.pz)}double(){let{a:h,b:v}=t,C=r.mul(v,ec),{px:x,py:P,pz:D}=this,k=r.ZERO,R=r.ZERO,w=r.ZERO,E=r.mul(x,x),F=r.mul(P,P),_=r.mul(D,D),U=r.mul(x,P);return U=r.add(U,U),w=r.mul(x,D),w=r.add(w,w),k=r.mul(h,w),R=r.mul(C,_),R=r.add(k,R),k=r.sub(F,R),R=r.add(F,R),R=r.mul(k,R),k=r.mul(U,k),w=r.mul(C,w),_=r.mul(h,_),U=r.sub(E,_),U=r.mul(h,U),U=r.add(U,w),w=r.add(E,E),E=r.add(w,E),E=r.add(E,_),E=r.mul(E,U),R=r.add(R,E),_=r.mul(P,D),_=r.add(_,_),E=r.mul(_,U),k=r.sub(k,E),w=r.mul(_,F),w=r.add(w,w),w=r.add(w,w),new d(k,R,w)}add(h){l(h);let{px:v,py:C,pz:x}=this,{px:P,py:D,pz:k}=h,R=r.ZERO,w=r.ZERO,E=r.ZERO,F=t.a,_=r.mul(t.b,ec),U=r.mul(v,P),K=r.mul(C,D),A=r.mul(x,k),I=r.add(v,C),m=r.add(P,D);I=r.mul(I,m),m=r.add(U,K),I=r.sub(I,m),m=r.add(v,x);let p=r.add(P,k);return m=r.mul(m,p),p=r.add(U,A),m=r.sub(m,p),p=r.add(C,x),R=r.add(D,k),p=r.mul(p,R),R=r.add(K,A),p=r.sub(p,R),E=r.mul(F,m),R=r.mul(_,A),E=r.add(R,E),R=r.sub(K,E),E=r.add(K,E),w=r.mul(R,E),K=r.add(U,U),K=r.add(K,U),A=r.mul(F,A),m=r.mul(_,m),K=r.add(K,A),A=r.sub(U,A),A=r.mul(F,A),m=r.add(m,A),U=r.mul(K,m),w=r.add(w,U),U=r.mul(p,m),R=r.mul(I,R),R=r.sub(R,U),U=r.mul(I,K),E=r.mul(p,E),E=r.add(E,U),new d(R,w,E)}subtract(h){return this.add(h.negate())}is0(){return this.equals(d.ZERO)}wNAF(h){return T.wNAFCached(this,h,d.normalizeZ)}multiplyUnsafe(h){let{endo:v,n:C}=t;Ut("scalar",h,me,C);let x=d.ZERO;if(h===me)return x;if(this.is0()||h===dt)return this;if(!v||T.hasPrecomputes(this))return T.wNAFCachedUnsafe(this,h,d.normalizeZ);let{k1neg:P,k1:D,k2neg:k,k2:R}=v.splitScalar(h),w=x,E=x,F=this;for(;D>me||R>me;)D&dt&&(w=w.add(F)),R&dt&&(E=E.add(F)),F=F.double(),D>>=dt,R>>=dt;return P&&(w=w.negate()),k&&(E=E.negate()),E=new d(r.mul(E.px,v.beta),E.py,E.pz),w.add(E)}multiply(h){let{endo:v,n:C}=t;Ut("scalar",h,dt,C);let x,P;if(v){let{k1neg:D,k1:k,k2neg:R,k2:w}=v.splitScalar(h),{p:E,f:F}=this.wNAF(k),{p:_,f:U}=this.wNAF(w);E=T.constTimeNegate(D,E),_=T.constTimeNegate(R,_),_=new d(r.mul(_.px,v.beta),_.py,_.pz),x=E.add(_),P=F.add(U)}else{let{p:D,f:k}=this.wNAF(h);x=D,P=k}return d.normalizeZ([x,P])[0]}multiplyAndAddUnsafe(h,v,C){let x=d.BASE,P=(k,R)=>R===me||R===dt||!k.equals(x)?k.multiplyUnsafe(R):k.multiply(R),D=P(this,v).add(P(h,C));return D.is0()?void 0:D}toAffine(h){return u(this,h)}isTorsionFree(){let{h,isTorsionFree:v}=t;if(h===dt)return!0;if(v)return v(d,this);throw new Error("isTorsionFree() has not been declared for the elliptic curve")}clearCofactor(){let{h,clearCofactor:v}=t;return h===dt?this:v?v(d,this):this.multiplyUnsafe(t.h)}toRawBytes(h=!0){return Ht("isCompressed",h),this.assertValidity(),o(d,this,h)}toHex(h=!0){return Ht("isCompressed",h),fe(this.toRawBytes(h))}}d.BASE=new d(t.Gx,t.Gy,r.ONE),d.ZERO=new d(r.ZERO,r.ONE,r.ZERO);let b=t.nBitLength,T=yn(d,t.endo?Math.ceil(b/2):b);return{CURVE:t,ProjectivePoint:d,normPrivateKeyToScalar:c,weierstrassEquation:s,isWithinCurveOrder:a}}function yh(e){let t=Pr(e);return re(t,{hash:"hash",hmac:"function",randomBytes:"function"},{bits2int:"function",bits2int_modN:"function",lowS:"boolean"}),Object.freeze({lowS:!0,...t})}function rc(e){let t=yh(e),{Fp:r,n}=t,o=r.BYTES+1,i=2*r.BYTES+1;function s(A){return J(A,n)}function a(A){return mn(A,n)}let{ProjectivePoint:c,normPrivateKeyToScalar:l,weierstrassEquation:u,isWithinCurveOrder:f}=gh({...t,toBytes(A,I,m){let p=I.toAffine(),S=r.toBytes(p.x),N=de;return Ht("isCompressed",m),m?N(Uint8Array.from([I.hasEvenY()?2:3]),S):N(Uint8Array.from([4]),S,r.toBytes(p.y))},fromBytes(A){let I=A.length,m=A[0],p=A.subarray(1);if(I===o&&(m===2||m===3)){let S=le(p);if(!Ur(S,dt,r.ORDER))throw new Error("Point is not on curve");let N=u(S),O;try{O=r.sqrt(N)}catch(j){let q=j instanceof Error?": "+j.message:"";throw new Error("Point is not on curve"+q)}let M=(O&dt)===dt;return(m&1)===1!==M&&(O=r.neg(O)),{x:S,y:O}}else if(I===i&&m===4){let S=r.fromBytes(p.subarray(0,r.BYTES)),N=r.fromBytes(p.subarray(r.BYTES,2*r.BYTES));return{x:S,y:N}}else{let S=o,N=i;throw new Error("invalid Point, expected length of "+S+", or uncompressed "+N+", got "+I)}}}),d=A=>fe(Ie(A,t.nByteLength));function b(A){let I=n>>dt;return A>I}function T(A){return b(A)?s(-A):A}let y=(A,I,m)=>le(A.slice(I,m));class h{constructor(I,m,p){this.r=I,this.s=m,this.recovery=p,this.assertValidity()}static fromCompact(I){let m=t.nByteLength;return I=it("compactSignature",I,m*2),new h(y(I,0,m),y(I,m,2*m))}static fromDER(I){let{r:m,s:p}=pe.toSig(it("DER",I));return new h(m,p)}assertValidity(){Ut("r",this.r,dt,n),Ut("s",this.s,dt,n)}addRecoveryBit(I){return new h(this.r,this.s,I)}recoverPublicKey(I){let{r:m,s:p,recovery:S}=this,N=k(it("msgHash",I));if(S==null||![0,1,2,3].includes(S))throw new Error("recovery id invalid");let O=S===2||S===3?m+t.n:m;if(O>=r.ORDER)throw new Error("recovery id 2 or 3 invalid");let M=(S&1)===0?"02":"03",z=c.fromHex(M+d(O)),j=a(O),q=s(-N*j),X=s(p*j),tt=c.BASE.multiplyAndAddUnsafe(z,q,X);if(!tt)throw new Error("point at infinify");return tt.assertValidity(),tt}hasHighS(){return b(this.s)}normalizeS(){return this.hasHighS()?new h(this.r,s(-this.s),this.recovery):this}toDERRawBytes(){return De(this.toDERHex())}toDERHex(){return pe.hexFromSig({r:this.r,s:this.s})}toCompactRawBytes(){return De(this.toCompactHex())}toCompactHex(){return d(this.r)+d(this.s)}}let v={isValidPrivateKey(A){try{return l(A),!0}catch{return!1}},normPrivateKeyToScalar:l,randomPrivateKey:()=>{let A=Ho(t.n);return pa(t.randomBytes(A),t.n)},precompute(A=8,I=c.BASE){return I._setWindowSize(A),I.multiply(BigInt(3)),I}};function C(A,I=!0){return c.fromPrivateKey(A).toRawBytes(I)}function x(A){let I=ve(A),m=typeof A=="string",p=(I||m)&&A.length;return I?p===o||p===i:m?p===2*o||p===2*i:A instanceof c}function P(A,I,m=!0){if(x(A))throw new Error("first arg must be private key");if(!x(I))throw new Error("second arg must be public key");return c.fromHex(I).multiply(l(A)).toRawBytes(m)}let D=t.bits2int||function(A){if(A.length>8192)throw new Error("input is too large");let I=le(A),m=A.length*8-t.nBitLength;return m>0?I>>BigInt(m):I},k=t.bits2int_modN||function(A){return s(D(A))},R=Nr(t.nBitLength);function w(A){return Ut("num < 2^"+t.nBitLength,A,me,R),Ie(A,t.nByteLength)}function E(A,I,m=F){if(["recovered","canonical"].some(lt=>lt in m))throw new Error("sign() legacy options not supported");let{hash:p,randomBytes:S}=t,{lowS:N,prehash:O,extraEntropy:M}=m;N==null&&(N=!0),A=it("msgHash",A),tc(m),O&&(A=it("prehashed msgHash",p(A)));let z=k(A),j=l(I),q=[w(j),w(z)];if(M!=null&&M!==!1){let lt=M===!0?S(r.BYTES):M;q.push(it("extraEntropy",lt))}let X=de(...q),tt=z;function ft(lt){let mt=D(lt);if(!f(mt))return;let yt=a(mt),Tt=c.BASE.multiply(mt).toAffine(),vt=s(Tt.x);if(vt===me)return;let ee=s(yt*s(tt+vt*j));if(ee===me)return;let se=(Tt.x===vt?0:2)|Number(Tt.y&dt),Ar=ee;return N&&b(ee)&&(Ar=T(ee),se^=1),new h(vt,Ar,se)}return{seed:X,k2sig:ft}}let F={lowS:t.lowS,prehash:!1},_={lowS:t.lowS,prehash:!1};function U(A,I,m=F){let{seed:p,k2sig:S}=E(A,I,m),N=t;return Ko(N.hash.outputLen,N.nByteLength,N.hmac)(p,S)}c.BASE._setWindowSize(8);function K(A,I,m,p=_){let S=A;I=it("msgHash",I),m=it("publicKey",m);let{lowS:N,prehash:O,format:M}=p;if(tc(p),"strict"in p)throw new Error("options.strict was renamed to lowS");if(M!==void 0&&M!=="compact"&&M!=="der")throw new Error("format must be compact or der");let z=typeof S=="string"||ve(S),j=!z&&!M&&typeof S=="object"&&S!==null&&typeof S.r=="bigint"&&typeof S.s=="bigint";if(!z&&!j)throw new Error("invalid signature, expected Uint8Array, hex string or Signature instance");let q,X;try{if(j&&(q=new h(S.r,S.s)),z){try{M!=="compact"&&(q=h.fromDER(S))}catch(se){if(!(se instanceof pe.Err))throw se}!q&&M!=="der"&&(q=h.fromCompact(S))}X=c.fromHex(m)}catch{return!1}if(!q||N&&q.hasHighS())return!1;O&&(I=t.hash(I));let{r:tt,s:ft}=q,lt=k(I),mt=a(ft),yt=s(lt*mt),Tt=s(tt*mt),vt=c.BASE.multiplyAndAddUnsafe(X,yt,Tt)?.toAffine();return vt?s(vt.x)===tt:!1}return{CURVE:t,getPublicKey:C,getSharedSecret:P,sign:U,verify:K,ProjectivePoint:c,Signature:h,utils:v}}function xh(e){return{hash:e,hmac:(t,...r)=>Di(e,t,Lo(...r)),randomBytes:fn}}function nc(e,t){let r=n=>rc({...e,...xh(n)});return{...r(t),create:r}}var sc=BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"),oc=BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),wh=BigInt(1),Oi=BigInt(2),ic=(e,t)=>(e+t/Oi)/t;function bh(e){let t=sc,r=BigInt(3),n=BigInt(6),o=BigInt(11),i=BigInt(22),s=BigInt(23),a=BigInt(44),c=BigInt(88),l=e*e*e%t,u=l*l*e%t,f=nt(u,r,t)*u%t,d=nt(f,r,t)*u%t,b=nt(d,Oi,t)*l%t,T=nt(b,o,t)*b%t,y=nt(T,i,t)*T%t,h=nt(y,a,t)*y%t,v=nt(h,c,t)*h%t,C=nt(v,a,t)*y%t,x=nt(C,r,t)*u%t,P=nt(x,s,t)*T%t,D=nt(P,n,t)*l%t,k=nt(D,Oi,t);if(!Mi.eql(Mi.sqr(k),e))throw new Error("Cannot find square root");return k}var Mi=Te(sc,void 0,void 0,{sqrt:bh}),$e=nc({a:BigInt(0),b:BigInt(7),Fp:Mi,n:oc,Gx:BigInt("55066263022277343669578718895168534326250603453777594175500187360389116729240"),Gy:BigInt("32670510020758816978083085130507043184471273380659243275938904335757337482424"),h:BigInt(1),lowS:!0,endo:{beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee"),splitScalar:e=>{let t=oc,r=BigInt("0x3086d221a7d46bcde86c90e49284eb15"),n=-wh*BigInt("0xe4437ed6010e88286f547fa90abfe4c3"),o=BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"),i=r,s=BigInt("0x100000000000000000000000000000000"),a=ic(i*e,t),c=ic(-n*e,t),l=J(e-a*r-c*o,t),u=J(-a*n-c*i,t),f=l>s,d=u>s;if(f&&(l=t-l),d&&(u=t-u),l>s||u>s)throw new Error("splitScalar: Endomorphism failed, k="+e);return{k1neg:f,k1:l,k2neg:d,k2:u}}}},lr),Oy=BigInt(0);var My=$e.ProjectivePoint;function ac(e){return e==null?!1:typeof e.then=="function"&&typeof e.catch=="function"&&typeof e.finally=="function"}function cc(e,t,r){let n=Rr.digest(r instanceof Uint8Array?r:r.subarray());if(ac(n))return n.then(({digest:o})=>$e.verify(t,o,e)).catch(o=>{throw new Or(String(o))});try{return $e.verify(t,n.digest,e)}catch(o){throw new Or(String(o))}}var Pn=class{type="secp256k1";raw;_key;constructor(t){this._key=fc(t),this.raw=uc(this._key)}toMultihash(){return $t.digest(Sn(this))}toCID(){return W.createV1(114,this.toMultihash())}toString(){return et.encode(this.toMultihash().bytes).substring(1)}equals(t){return t==null||!(t.raw instanceof Uint8Array)?!1:ot(this.raw,t.raw)}verify(t,r){return cc(this._key,r,t)}};function Vi(e){return new Pn(e)}function uc(e){return $e.ProjectivePoint.fromHex(e).toRawBytes(!0)}function fc(e){try{return $e.ProjectivePoint.fromHex(e),e}catch(t){throw new je(String(t))}}function lc(e,t){let{Type:r,Data:n}=ne.decode(e),o=n??new Uint8Array;switch(r){case ut.RSA:return ki(o,t);case ut.Ed25519:return Jo(o);case ut.secp256k1:return Vi(o);default:throw new We}}function Rn(e){let{Type:t,Data:r}=ne.decode(e.digest),n=r??new Uint8Array;switch(t){case ut.Ed25519:return Jo(n);case ut.secp256k1:return Vi(n);default:throw new We}}function Sn(e){return ne.encode({Type:ut[e.type],Data:e.raw})}var dc=Symbol.for("nodejs.util.inspect.custom"),Eh=114,Kr=class{type;multihash;publicKey;string;constructor(t){this.type=t.type,this.multihash=t.multihash,Object.defineProperty(this,"string",{enumerable:!1,writable:!0})}get[Symbol.toStringTag](){return`PeerId(${this.toString()})`}[bo]=!0;toString(){return this.string==null&&(this.string=et.encode(this.multihash.bytes).slice(1)),this.string}toMultihash(){return this.multihash}toCID(){return W.createV1(Eh,this.multihash)}toJSON(){return this.toString()}equals(t){if(t==null)return!1;if(t instanceof Uint8Array)return ot(this.multihash.bytes,t);if(typeof t=="string")return this.toString()===t;if(t?.toMultihash()?.bytes!=null)return ot(this.multihash.bytes,t.toMultihash().bytes);throw new Error("not valid Id")}[dc](){return`PeerId(${this.toString()})`}},_n=class extends Kr{type="RSA";publicKey;constructor(t){super({...t,type:"RSA"}),this.publicKey=t.publicKey}},Ln=class extends Kr{type="Ed25519";publicKey;constructor(t){super({...t,type:"Ed25519"}),this.publicKey=t.publicKey}},kn=class extends Kr{type="secp256k1";publicKey;constructor(t){super({...t,type:"secp256k1"}),this.publicKey=t.publicKey}},Sh=2336,qr=class{type="url";multihash;publicKey;url;constructor(t){this.url=t.toString(),this.multihash=$t.digest(H(this.url))}[dc](){return`PeerId(${this.url})`}[bo]=!0;toString(){return this.toCID().toString()}toMultihash(){return this.multihash}toCID(){return W.createV1(Sh,this.toMultihash())}toJSON(){return this.toString()}equals(t){return t==null?!1:(t instanceof Uint8Array&&(t=G(t)),t.toString()===this.toString())}};var vh=114,hc=2336;function pc(e,t){let r;if(e.charAt(0)==="1"||e.charAt(0)==="Q")r=ce(et.decode(`z${e}`));else{if(e.startsWith("k51qzi5uqu5")||e.startsWith("kzwfwjn5ji4")||e.startsWith("k2k4r8")||e.startsWith("bafz"))return Ki(W.parse(e));if(t==null)throw new xt('Please pass a multibase decoder for strings that do not start with "1" or "Q"');r=ce(t.decode(e))}return mc(r)}function mc(e){if(Ih(e))return new _n({multihash:e});if(Ah(e))try{let t=Rn(e);if(t.type==="Ed25519")return new Ln({multihash:e,publicKey:t});if(t.type==="secp256k1")return new kn({multihash:e,publicKey:t})}catch{let r=G(e.digest);return new qr(new URL(r))}throw new Ze("Supplied PeerID Multihash is invalid")}function Ki(e){if(e?.multihash==null||e.version==null||e.version===1&&e.code!==vh&&e.code!==hc)throw new rn("Supplied PeerID CID is invalid");if(e.code===hc){let t=G(e.multihash.digest);return new qr(new URL(t))}return mc(e.multihash)}function Ah(e){return e.code===$t.code}function Ih(e){return e.code===Rr.code}var Dn=class{index=0;input="";new(t){return this.index=0,this.input=t,this}readAtomically(t){let r=this.index,n=t();return n===void 0&&(this.index=r),n}parseWith(t){let r=t();if(this.index===this.input.length)return r}peekChar(){if(!(this.index>=this.input.length))return this.input[this.index]}readChar(){if(!(this.index>=this.input.length))return this.input[this.index++]}readGivenChar(t){return this.readAtomically(()=>{let r=this.readChar();if(r===t)return r})}readSeparator(t,r,n){return this.readAtomically(()=>{if(!(r>0&&this.readGivenChar(t)===void 0))return n()})}readNumber(t,r,n,o){return this.readAtomically(()=>{let i=0,s=0,a=this.peekChar();if(a===void 0)return;let c=a==="0",l=2**(8*o)-1;for(;;){let u=this.readAtomically(()=>{let f=this.readChar();if(f===void 0)return;let d=Number.parseInt(f,t);if(!Number.isNaN(d))return d});if(u===void 0)break;if(i*=t,i+=u,i>l||(s+=1,r!==void 0&&s>r))return}if(s!==0)return!n&&c&&s>1?void 0:i})}readIPv4Addr(){return this.readAtomically(()=>{let t=new Uint8Array(4);for(let r=0;r<t.length;r++){let n=this.readSeparator(".",r,()=>this.readNumber(10,3,!1,1));if(n===void 0)return;t[r]=n}return t})}readIPv6Addr(){let t=r=>{for(let n=0;n<r.length/2;n++){let o=n*2;if(n<r.length-3){let s=this.readSeparator(":",n,()=>this.readIPv4Addr());if(s!==void 0)return r[o]=s[0],r[o+1]=s[1],r[o+2]=s[2],r[o+3]=s[3],[o+4,!0]}let i=this.readSeparator(":",n,()=>this.readNumber(16,4,!0,2));if(i===void 0)return[o,!1];r[o]=i>>8,r[o+1]=i&255}return[r.length,!1]};return this.readAtomically(()=>{let r=new Uint8Array(16),[n,o]=t(r);if(n===16)return r;if(o||this.readGivenChar(":")===void 0||this.readGivenChar(":")===void 0)return;let i=new Uint8Array(14),s=16-(n+2),[a]=t(i.subarray(0,s));return r.set(i.subarray(0,a),16-a),r})}readIPAddr(){return this.readIPv4Addr()??this.readIPv6Addr()}};var gc=45,Th=15,pr=new Dn;function qi(e){if(!(e.length>Th))return pr.new(e).parseWith(()=>pr.readIPv4Addr())}function $i(e){if(e.includes("%")&&(e=e.split("%")[0]),!(e.length>gc))return pr.new(e).parseWith(()=>pr.readIPv6Addr())}function Fn(e,t=!1){if(e.includes("%")&&(e=e.split("%")[0]),e.length>gc)return;let r=pr.new(e).parseWith(()=>pr.readIPAddr());if(r)return t&&r.length===4?Uint8Array.from([0,0,0,0,0,0,0,0,0,0,255,255,r[0],r[1],r[2],r[3]]):r}var Wx=parseInt("0xFFFF",16),Yx=new Uint8Array([0,0,0,0,0,0,0,0,0,0,255,255]);function wc(e){return!!qi(e)}function bc(e){return!!$i(e)}function On(e){return!!Fn(e)}var Ec=wc,Ph=bc,zi=function(e){let t=0;if(e=e.toString().trim(),Ec(e)){let r=new Uint8Array(t+4);return e.split(/\./g).forEach(n=>{r[t++]=parseInt(n,10)&255}),r}if(Ph(e)){let r=e.split(":",8),n;for(n=0;n<r.length;n++){let i=Ec(r[n]),s;i&&(s=zi(r[n]),r[n]=G(s.slice(0,2),"base16")),s!=null&&++n<8&&r.splice(n,0,G(s.slice(2,4),"base16"))}if(r[0]==="")for(;r.length<8;)r.unshift("0");else if(r[r.length-1]==="")for(;r.length<8;)r.push("0");else if(r.length<8){for(n=0;n<r.length&&r[n]!=="";n++);let i=[n,1];for(n=9-r.length;n>0;n--)i.push("0");r.splice.apply(r,i)}let o=new Uint8Array(t+16);for(n=0;n<r.length;n++){let i=parseInt(r[n],16);o[t++]=i>>8&255,o[t++]=i&255}return o}throw new Error("invalid ip address")},Sc=function(e,t=0,r){t=~~t,r=r??e.length-t;let n=new DataView(e.buffer);if(r===4){let o=[];for(let i=0;i<r;i++)o.push(e[t+i]);return o.join(".")}if(r===16){let o=[];for(let i=0;i<r;i+=2)o.push(n.getUint16(t+i).toString(16));return o.join(":").replace(/(^|:)0(:0)*:0(:|$)/,"$1::$3").replace(/:{3,4}/,"::")}return""};var mr={},Hi={},_h=[[4,32,"ip4"],[6,16,"tcp"],[33,16,"dccp"],[41,128,"ip6"],[42,-1,"ip6zone"],[43,8,"ipcidr"],[53,-1,"dns",!0],[54,-1,"dns4",!0],[55,-1,"dns6",!0],[56,-1,"dnsaddr",!0],[132,16,"sctp"],[273,16,"udp"],[275,0,"p2p-webrtc-star"],[276,0,"p2p-webrtc-direct"],[277,0,"p2p-stardust"],[280,0,"webrtc-direct"],[281,0,"webrtc"],[290,0,"p2p-circuit"],[301,0,"udt"],[302,0,"utp"],[400,-1,"unix",!1,!0],[421,-1,"ipfs"],[421,-1,"p2p"],[443,0,"https"],[444,96,"onion"],[445,296,"onion3"],[446,-1,"garlic64"],[448,0,"tls"],[449,-1,"sni"],[460,0,"quic"],[461,0,"quic-v1"],[465,0,"webtransport"],[466,-1,"certhash"],[477,0,"ws"],[478,0,"wss"],[479,0,"p2p-websocket-star"],[480,0,"http"],[481,-1,"http-path"],[777,-1,"memory"]];_h.forEach(e=>{let t=Lh(...e);Hi[t.code]=t,mr[t.name]=t});function Lh(e,t,r,n,o){return{code:e,size:t,name:r,resolvable:!!n,path:!!o}}function Q(e){if(typeof e=="number"){if(Hi[e]!=null)return Hi[e];throw new Error(`no protocol with code: ${e}`)}else if(typeof e=="string"){if(mr[e]!=null)return mr[e];throw new Error(`no protocol with name: ${e}`)}throw new Error(`invalid protocol id type: ${typeof e}`)}var _w=Q("ip4"),Lw=Q("ip6"),kw=Q("ipcidr");function Wi(e,t){switch(Q(e).code){case 4:case 41:return Dh(t);case 42:return Zi(t);case 43:return G(t,"base10");case 6:case 273:case 33:case 132:return Ic(t).toString();case 53:case 54:case 55:case 56:case 400:case 449:case 777:return Zi(t);case 421:return Vh(t);case 444:return Ac(t);case 445:return Ac(t);case 466:return Mh(t);case 481:return globalThis.encodeURIComponent(Zi(t));default:return G(t,"base16")}}function Yi(e,t){switch(Q(e).code){case 4:return vc(t);case 41:return vc(t);case 42:return ji(t);case 43:return H(t,"base10");case 6:case 273:case 33:case 132:return Xi(parseInt(t,10));case 53:case 54:case 55:case 56:case 400:case 449:case 777:return ji(t);case 421:return Fh(t);case 444:return Kh(t);case 445:return qh(t);case 466:return Oh(t);case 481:return ji(globalThis.decodeURIComponent(t));default:return H(t,"base16")}}var Gi=Object.values(_r).map(e=>e.decoder),kh=function(){let e=Gi[0].or(Gi[1]);return Gi.slice(2).forEach(t=>e=e.or(t)),e}();function vc(e){if(!On(e))throw new Error("invalid ip address");return zi(e)}function Dh(e){let t=Sc(e,0,e.length);if(t==null)throw new Error("ipBuff is required");if(!On(t))throw new Error("invalid ip address");return t}function Xi(e){let t=new ArrayBuffer(2);return new DataView(t).setUint16(0,e),new Uint8Array(t)}function Ic(e){return new DataView(e.buffer).getUint16(e.byteOffset)}function ji(e){let t=H(e),r=Uint8Array.from(sr(t.length));return Et([r,t],r.length+t.length)}function Zi(e){let t=Ve(e);if(e=e.slice(Rt(t)),e.length!==t)throw new Error("inconsistent lengths");return G(e)}function Fh(e){let t;e[0]==="Q"||e[0]==="1"?t=ce(et.decode(`z${e}`)).bytes:t=W.parse(e).multihash.bytes;let r=Uint8Array.from(sr(t.length));return Et([r,t],r.length+t.length)}function Oh(e){let t=kh.decode(e),r=Uint8Array.from(sr(t.length));return Et([r,t],r.length+t.length)}function Mh(e){let t=Ve(e),r=e.slice(Rt(t));if(r.length!==t)throw new Error("inconsistent lengths");return"u"+G(r,"base64url")}function Vh(e){let t=Ve(e),r=e.slice(Rt(t));if(r.length!==t)throw new Error("inconsistent lengths");return G(r,"base58btc")}function Kh(e){let t=e.split(":");if(t.length!==2)throw new Error(`failed to parse onion addr: ["'${t.join('", "')}'"]' does not contain a port number`);if(t[0].length!==16)throw new Error(`failed to parse onion addr: ${t[0]} not a Tor onion address.`);let r=Kt.decode("b"+t[0]),n=parseInt(t[1],10);if(n<1||n>65536)throw new Error("Port number is not in range(1, 65536)");let o=Xi(n);return Et([r,o],r.length+o.length)}function qh(e){let t=e.split(":");if(t.length!==2)throw new Error(`failed to parse onion addr: ["'${t.join('", "')}'"]' does not contain a port number`);if(t[0].length!==56)throw new Error(`failed to parse onion addr: ${t[0]} not a Tor onion3 address.`);let r=Kt.decode(`b${t[0]}`),n=parseInt(t[1],10);if(n<1||n>65536)throw new Error("Port number is not in range(1, 65536)");let o=Xi(n);return Et([r,o],r.length+o.length)}function Ac(e){let t=e.slice(0,e.length-2),r=e.slice(e.length-2),n=G(t,"base32"),o=Ic(r);return`${n}:${o}`}function Tc(e){e=Ji(e);let t=[],r=[],n=null,o=e.split("/").slice(1);if(o.length===1&&o[0]==="")return{bytes:new Uint8Array,string:"/",tuples:[],stringTuples:[],path:null};for(let i=0;i<o.length;i++){let s=o[i],a=Q(s);if(a.size===0){t.push([a.code]),r.push([a.code]);continue}if(i++,i>=o.length)throw new Mn("invalid address: "+e);if(a.path===!0){n=Ji(o.slice(i).join("/")),t.push([a.code,Yi(a.code,n)]),r.push([a.code,n]);break}let c=Yi(a.code,o[i]);t.push([a.code,c]),r.push([a.code,Wi(a.code,c)])}return{string:Bc(r),bytes:Vn(t),tuples:t,stringTuples:r,path:n}}function Qi(e){let t=[],r=[],n=null,o=0;for(;o<e.length;){let i=Ve(e,o),s=Rt(i),a=Q(i),c=$h(a,e.slice(o+s));if(c===0){t.push([i]),r.push([i]),o+=s;continue}let l=e.slice(o+s,o+s+c);if(o+=c+s,o>e.length)throw new Mn("Invalid address Uint8Array: "+G(e,"base16"));t.push([i,l]);let u=Wi(i,l);if(r.push([i,u]),a.path===!0){n=u;break}}return{bytes:Uint8Array.from(e),string:Bc(r),tuples:t,stringTuples:r,path:n}}function Bc(e){let t=[];return e.map(r=>{let n=Q(r[0]);return t.push(n.name),r.length>1&&r[1]!=null&&t.push(r[1]),null}),Ji(t.join("/"))}function Vn(e){return Et(e.map(t=>{let r=Q(t[0]),n=Uint8Array.from(sr(r.code));return t.length>1&&t[1]!=null&&(n=Et([n,t[1]])),n}))}function $h(e,t){if(e.size>0)return e.size/8;if(e.size===0)return 0;{let r=Ve(t instanceof Uint8Array?t:Uint8Array.from(t));return r+Rt(r)}}function Ji(e){return"/"+e.trim().split("/").filter(t=>t).join("/")}var Mn=class extends Error{static name="ParseError";name="ParseError";constructor(t){super(`Error parsing address: ${t}`)}};var zh=Symbol.for("nodejs.util.inspect.custom"),es=Symbol.for("@multiformats/js-multiaddr/multiaddr"),Hh=[Q("dns").code,Q("dns4").code,Q("dns6").code,Q("dnsaddr").code],ts=class extends Error{constructor(t="No available resolver"){super(t),this.name="NoAvailableResolverError"}},Kn=class e{bytes;#t;#r;#e;#a;[es]=!0;constructor(t){t==null&&(t="");let r;if(t instanceof Uint8Array)r=Qi(t);else if(typeof t=="string"){if(t.length>0&&t.charAt(0)!=="/")throw new Error(`multiaddr "${t}" must start with a "/"`);r=Tc(t)}else if(Uc(t))r=Qi(t.bytes);else throw new Error("addr must be a string, Buffer, or another Multiaddr");this.bytes=r.bytes,this.#t=r.string,this.#r=r.tuples,this.#e=r.stringTuples,this.#a=r.path}toString(){return this.#t}toJSON(){return this.toString()}toOptions(){let t,r,n,o,i="",s=Q("tcp"),a=Q("udp"),c=Q("ip4"),l=Q("ip6"),u=Q("dns6"),f=Q("ip6zone");for(let[b,T]of this.stringTuples())b===f.code&&(i=`%${T??""}`),Hh.includes(b)&&(r=s.name==="tcp"?"tcp":"udp",o=443,n=`${T??""}${i}`,t=b===u.code?6:4),(b===s.code||b===a.code)&&(r=Q(b).name==="tcp"?"tcp":"udp",o=parseInt(T??"")),(b===c.code||b===l.code)&&(r=Q(b).name==="tcp"?"tcp":"udp",n=`${T??""}${i}`,t=b===l.code?6:4);if(t==null||r==null||n==null||o==null)throw new Error('multiaddr must have a valid format: "/{ip4, ip6, dns4, dns6, dnsaddr}/{address}/{tcp, udp}/{port}".');return{family:t,host:n,transport:r,port:o}}protos(){return this.#r.map(([t])=>Object.assign({},Q(t)))}protoCodes(){return this.#r.map(([t])=>t)}protoNames(){return this.#r.map(([t])=>Q(t).name)}tuples(){return this.#r.map(([t,r])=>r==null?[t]:[t,r])}stringTuples(){return this.#e.map(([t,r])=>r==null?[t]:[t,r])}encapsulate(t){return t=new e(t),new e(this.toString()+t.toString())}decapsulate(t){let r=t.toString(),n=this.toString(),o=n.lastIndexOf(r);if(o<0)throw new Error(`Address ${this.toString()} does not contain subaddress: ${t.toString()}`);return new e(n.slice(0,o))}decapsulateCode(t){let r=this.tuples();for(let n=r.length-1;n>=0;n--)if(r[n][0]===t)return new e(Vn(r.slice(0,n)));return this}getPeerId(){try{let t=[];this.stringTuples().forEach(([n,o])=>{n===mr.p2p.code&&t.push([n,o]),n===mr["p2p-circuit"].code&&(t=[])});let r=t.pop();if(r?.[1]!=null){let n=r[1];return n[0]==="Q"||n[0]==="1"?G(et.decode(`z${n}`),"base58btc"):G(W.parse(n).multihash.bytes,"base58btc")}return null}catch{return null}}getPath(){return this.#a}equals(t){return ot(this.bytes,t.bytes)}async resolve(t){let r=this.protos().find(i=>i.resolvable);if(r==null)return[this];let n=Cc.get(r.name);if(n==null)throw new ts(`no available resolver for ${r.name}`);return(await n(this,t)).map(i=>ze(i))}nodeAddress(){let t=this.toOptions();if(t.transport!=="tcp"&&t.transport!=="udp")throw new Error(`multiaddr must have a valid format - no protocol with name: "${t.transport}". Must have a valid transport protocol: "{tcp, udp}"`);return{family:t.family,address:t.host,port:t.port}}isThinWaistAddress(t){let r=(t??this).protos();return!(r.length!==2||r[0].code!==4&&r[0].code!==41||r[1].code!==6&&r[1].code!==273)}[zh](){return`Multiaddr(${this.#t})`}};var Cc=new Map;function Uc(e){return!!e?.[es]}function ze(e){return new Kn(e)}function $r(e){let t=new globalThis.AbortController;function r(){t.abort();for(let i of e)i?.removeEventListener!=null&&i.removeEventListener("abort",r)}for(let i of e){if(i?.aborted===!0){r();break}i?.addEventListener!=null&&i.addEventListener("abort",r)}function n(){for(let i of e)i?.removeEventListener!=null&&i.removeEventListener("abort",r)}let o=t.signal;return o.clear=n,o}async function*qn(e,t={}){let r=e.getReader();try{for(;;){let n=await r.read();if(n.done)return;yield n.value}}finally{t.preventCancel!==!0&&await r.cancel(),r.releaseLock()}}var Gh="/",jh=new TextEncoder().encode(Gh),lb=jh[0];var Bp=wo(ns(),1);var Wt=class extends Error{static name="SignatureVerificationError";constructor(t="Record signature verification failed"){super(t),this.name="SignatureVerificationError"}},$n=class extends Error{static name="RecordExpiredError";constructor(t="Record has expired"){super(t),this.name="RecordExpiredError"}},gr=class extends Error{static name="UnsupportedValidityError";constructor(t="The validity type is unsupported"){super(t),this.name="UnsupportedValidityError"}},zn=class extends Error{static name="RecordTooLargeError";constructor(t="The record is too large"){super(t),this.name="RecordTooLargeError"}},Hn=class extends Error{static name="InvalidValueError";constructor(t="Value must be a valid content path starting with /"){super(t),this.name="InvalidValueError"}},Gn=class extends Error{static name="InvalidRecordDataError";constructor(t="Invalid record data"){super(t),this.name="InvalidRecordDataError"}},zr=class extends Error{static name="InvalidEmbeddedPublicKeyError";constructor(t="Invalid embedded public key"){super(t),this.name="InvalidEmbeddedPublicKeyError"}};var Yt;(function(e){let t;(function(o){o.EOL="EOL"})(t=e.ValidityType||(e.ValidityType={}));let r;(function(o){o[o.EOL=0]="EOL"})(r||(r={})),function(o){o.codec=()=>Dr(r)}(t=e.ValidityType||(e.ValidityType={}));let n;e.codec=()=>(n==null&&(n=fr((o,i,s={})=>{s.lengthDelimited!==!1&&i.fork(),o.value!=null&&(i.uint32(10),i.bytes(o.value)),o.signatureV1!=null&&(i.uint32(18),i.bytes(o.signatureV1)),o.validityType!=null&&(i.uint32(24),e.ValidityType.codec().encode(o.validityType,i)),o.validity!=null&&(i.uint32(34),i.bytes(o.validity)),o.sequence!=null&&(i.uint32(40),i.uint64(o.sequence)),o.ttl!=null&&(i.uint32(48),i.uint64(o.ttl)),o.pubKey!=null&&(i.uint32(58),i.bytes(o.pubKey)),o.signatureV2!=null&&(i.uint32(66),i.bytes(o.signatureV2)),o.data!=null&&(i.uint32(74),i.bytes(o.data)),s.lengthDelimited!==!1&&i.ldelim()},(o,i,s={})=>{let a={},c=i==null?o.len:o.pos+i;for(;o.pos<c;){let l=o.uint32();switch(l>>>3){case 1:{a.value=o.bytes();break}case 2:{a.signatureV1=o.bytes();break}case 3:{a.validityType=e.ValidityType.codec().decode(o);break}case 4:{a.validity=o.bytes();break}case 5:{a.sequence=o.uint64();break}case 6:{a.ttl=o.uint64();break}case 7:{a.pubKey=o.bytes();break}case 8:{a.signatureV2=o.bytes();break}case 9:{a.data=o.bytes();break}default:{o.skipType(l&7);break}}}return a})),n),e.encode=o=>cr(o,e.codec()),e.decode=(o,i)=>ar(o,e.codec(),i)})(Yt||(Yt={}));var Zh=["string","number","bigint","symbol"],Wh=["Function","Generator","AsyncGenerator","GeneratorFunction","AsyncGeneratorFunction","AsyncFunction","Observable","Array","Buffer","Object","RegExp","Date","Error","Map","Set","WeakMap","WeakSet","ArrayBuffer","SharedArrayBuffer","DataView","Promise","URL","HTMLElement","Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Uint16Array","Int32Array","Uint32Array","Float32Array","Float64Array","BigInt64Array","BigUint64Array"];function Nc(e){if(e===null)return"null";if(e===void 0)return"undefined";if(e===!0||e===!1)return"boolean";let t=typeof e;if(Zh.includes(t))return t;if(t==="function")return"Function";if(Array.isArray(e))return"Array";if(Yh(e))return"Buffer";let r=Xh(e);return r||"Object"}function Yh(e){return e&&e.constructor&&e.constructor.isBuffer&&e.constructor.isBuffer.call(null,e)}function Xh(e){let t=Object.prototype.toString.call(e).slice(8,-1);if(Wh.includes(t))return t}var g=class{constructor(t,r,n){this.major=t,this.majorEncoded=t<<5,this.name=r,this.terminal=n}toString(){return`Type[${this.major}].${this.name}`}compare(t){return this.major<t.major?-1:this.major>t.major?1:0}};g.uint=new g(0,"uint",!0);g.negint=new g(1,"negint",!0);g.bytes=new g(2,"bytes",!0);g.string=new g(3,"string",!0);g.array=new g(4,"array",!1);g.map=new g(5,"map",!1);g.tag=new g(6,"tag",!1);g.float=new g(7,"float",!0);g.false=new g(7,"false",!0);g.true=new g(7,"true",!0);g.null=new g(7,"null",!0);g.undefined=new g(7,"undefined",!0);g.break=new g(7,"break",!0);var L=class{constructor(t,r,n){this.type=t,this.value=r,this.encodedLength=n,this.encodedBytes=void 0,this.byteValue=void 0}toString(){return`Token[${this.type}].${this.value}`}};var yr=globalThis.process&&!globalThis.process.browser&&globalThis.Buffer&&typeof globalThis.Buffer.isBuffer=="function",Jh=new TextDecoder,Qh=new TextEncoder;function jn(e){return yr&&globalThis.Buffer.isBuffer(e)}function Lc(e){return e instanceof Uint8Array?jn(e)?new Uint8Array(e.buffer,e.byteOffset,e.byteLength):e:Uint8Array.from(e)}var kc=yr?(e,t,r)=>r-t>64?globalThis.Buffer.from(e.subarray(t,r)).toString("utf8"):Rc(e,t,r):(e,t,r)=>r-t>64?Jh.decode(e.subarray(t,r)):Rc(e,t,r),Dc=yr?e=>e.length>64?globalThis.Buffer.from(e):Pc(e):e=>e.length>64?Qh.encode(e):Pc(e);var xr=yr?(e,t,r)=>jn(e)?new Uint8Array(e.subarray(t,r)):e.slice(t,r):(e,t,r)=>e.slice(t,r),Fc=yr?(e,t)=>(e=e.map(r=>r instanceof Uint8Array?r:globalThis.Buffer.from(r)),Lc(globalThis.Buffer.concat(e,t))):(e,t)=>{let r=new Uint8Array(t),n=0;for(let o of e)n+o.length>r.length&&(o=o.subarray(0,r.length-n)),r.set(o,n),n+=o.length;return r},Oc=yr?e=>globalThis.Buffer.allocUnsafe(e):e=>new Uint8Array(e);function Mc(e,t){if(jn(e)&&jn(t))return e.compare(t);for(let r=0;r<e.length;r++)if(e[r]!==t[r])return e[r]<t[r]?-1:1;return 0}function Pc(e){let t=[],r=0;for(let n=0;n<e.length;n++){let o=e.charCodeAt(n);o<128?t[r++]=o:o<2048?(t[r++]=o>>6|192,t[r++]=o&63|128):(o&64512)===55296&&n+1<e.length&&(e.charCodeAt(n+1)&64512)===56320?(o=65536+((o&1023)<<10)+(e.charCodeAt(++n)&1023),t[r++]=o>>18|240,t[r++]=o>>12&63|128,t[r++]=o>>6&63|128,t[r++]=o&63|128):(t[r++]=o>>12|224,t[r++]=o>>6&63|128,t[r++]=o&63|128)}return t}function Rc(e,t,r){let n=[];for(;t<r;){let o=e[t],i=null,s=o>239?4:o>223?3:o>191?2:1;if(t+s<=r){let a,c,l,u;switch(s){case 1:o<128&&(i=o);break;case 2:a=e[t+1],(a&192)===128&&(u=(o&31)<<6|a&63,u>127&&(i=u));break;case 3:a=e[t+1],c=e[t+2],(a&192)===128&&(c&192)===128&&(u=(o&15)<<12|(a&63)<<6|c&63,u>2047&&(u<55296||u>57343)&&(i=u));break;case 4:a=e[t+1],c=e[t+2],l=e[t+3],(a&192)===128&&(c&192)===128&&(l&192)===128&&(u=(o&15)<<18|(a&63)<<12|(c&63)<<6|l&63,u>65535&&u<1114112&&(i=u))}}i===null?(i=65533,s=1):i>65535&&(i-=65536,n.push(i>>>10&1023|55296),i=56320|i&1023),n.push(i),t+=s}return tp(n)}var _c=4096;function tp(e){let t=e.length;if(t<=_c)return String.fromCharCode.apply(String,e);let r="",n=0;for(;n<t;)r+=String.fromCharCode.apply(String,e.slice(n,n+=_c));return r}var ep=256,Zn=class{constructor(t=ep){this.chunkSize=t,this.cursor=0,this.maxCursor=-1,this.chunks=[],this._initReuseChunk=null}reset(){this.cursor=0,this.maxCursor=-1,this.chunks.length&&(this.chunks=[]),this._initReuseChunk!==null&&(this.chunks.push(this._initReuseChunk),this.maxCursor=this._initReuseChunk.length-1)}push(t){let r=this.chunks[this.chunks.length-1];if(this.cursor+t.length<=this.maxCursor+1){let o=r.length-(this.maxCursor-this.cursor)-1;r.set(t,o)}else{if(r){let o=r.length-(this.maxCursor-this.cursor)-1;o<r.length&&(this.chunks[this.chunks.length-1]=r.subarray(0,o),this.maxCursor=this.cursor-1)}t.length<64&&t.length<this.chunkSize?(r=Oc(this.chunkSize),this.chunks.push(r),this.maxCursor+=r.length,this._initReuseChunk===null&&(this._initReuseChunk=r),r.set(t,0)):(this.chunks.push(t),this.maxCursor+=t.length)}this.cursor+=t.length}toBytes(t=!1){let r;if(this.chunks.length===1){let n=this.chunks[0];t&&this.cursor>n.length/2?(r=this.cursor===n.length?n:n.subarray(0,this.cursor),this._initReuseChunk=null,this.chunks=[]):r=xr(n,0,this.cursor)}else r=Fc(this.chunks,this.cursor);return t&&this.reset(),r}};var V="CBOR decode error:",os="CBOR encode error:",Hr=[];Hr[23]=1;Hr[24]=2;Hr[25]=3;Hr[26]=5;Hr[27]=9;function ge(e,t,r){if(e.length-t<r)throw new Error(`${V} not enough data for type`)}var ht=[24,256,65536,4294967296,BigInt("18446744073709551616")];function Lt(e,t,r){ge(e,t,1);let n=e[t];if(r.strict===!0&&n<ht[0])throw new Error(`${V} integer encoded in more bytes than necessary (strict decode)`);return n}function kt(e,t,r){ge(e,t,2);let n=e[t]<<8|e[t+1];if(r.strict===!0&&n<ht[1])throw new Error(`${V} integer encoded in more bytes than necessary (strict decode)`);return n}function Dt(e,t,r){ge(e,t,4);let n=e[t]*16777216+(e[t+1]<<16)+(e[t+2]<<8)+e[t+3];if(r.strict===!0&&n<ht[2])throw new Error(`${V} integer encoded in more bytes than necessary (strict decode)`);return n}function Ft(e,t,r){ge(e,t,8);let n=e[t]*16777216+(e[t+1]<<16)+(e[t+2]<<8)+e[t+3],o=e[t+4]*16777216+(e[t+5]<<16)+(e[t+6]<<8)+e[t+7],i=(BigInt(n)<<BigInt(32))+BigInt(o);if(r.strict===!0&&i<ht[3])throw new Error(`${V} integer encoded in more bytes than necessary (strict decode)`);if(i<=Number.MAX_SAFE_INTEGER)return Number(i);if(r.allowBigInt===!0)return i;throw new Error(`${V} integers outside of the safe integer range are not supported`)}function Vc(e,t,r,n){return new L(g.uint,Lt(e,t+1,n),2)}function Kc(e,t,r,n){return new L(g.uint,kt(e,t+1,n),3)}function qc(e,t,r,n){return new L(g.uint,Dt(e,t+1,n),5)}function $c(e,t,r,n){return new L(g.uint,Ft(e,t+1,n),9)}function Mt(e,t){return gt(e,0,t.value)}function gt(e,t,r){if(r<ht[0]){let n=Number(r);e.push([t|n])}else if(r<ht[1]){let n=Number(r);e.push([t|24,n])}else if(r<ht[2]){let n=Number(r);e.push([t|25,n>>>8,n&255])}else if(r<ht[3]){let n=Number(r);e.push([t|26,n>>>24&255,n>>>16&255,n>>>8&255,n&255])}else{let n=BigInt(r);if(n<ht[4]){let o=[t|27,0,0,0,0,0,0,0],i=Number(n&BigInt(4294967295)),s=Number(n>>BigInt(32)&BigInt(4294967295));o[8]=i&255,i=i>>8,o[7]=i&255,i=i>>8,o[6]=i&255,i=i>>8,o[5]=i&255,o[4]=s&255,s=s>>8,o[3]=s&255,s=s>>8,o[2]=s&255,s=s>>8,o[1]=s&255,e.push(o)}else throw new Error(`${V} encountered BigInt larger than allowable range`)}}Mt.encodedSize=function(t){return gt.encodedSize(t.value)};gt.encodedSize=function(t){return t<ht[0]?1:t<ht[1]?2:t<ht[2]?3:t<ht[3]?5:9};Mt.compareTokens=function(t,r){return t.value<r.value?-1:t.value>r.value?1:0};function zc(e,t,r,n){return new L(g.negint,-1-Lt(e,t+1,n),2)}function Hc(e,t,r,n){return new L(g.negint,-1-kt(e,t+1,n),3)}function Gc(e,t,r,n){return new L(g.negint,-1-Dt(e,t+1,n),5)}var is=BigInt(-1),jc=BigInt(1);function Zc(e,t,r,n){let o=Ft(e,t+1,n);if(typeof o!="bigint"){let i=-1-o;if(i>=Number.MIN_SAFE_INTEGER)return new L(g.negint,i,9)}if(n.allowBigInt!==!0)throw new Error(`${V} integers outside of the safe integer range are not supported`);return new L(g.negint,is-BigInt(o),9)}function Wn(e,t){let r=t.value,n=typeof r=="bigint"?r*is-jc:r*-1-1;gt(e,t.type.majorEncoded,n)}Wn.encodedSize=function(t){let r=t.value,n=typeof r=="bigint"?r*is-jc:r*-1-1;return n<ht[0]?1:n<ht[1]?2:n<ht[2]?3:n<ht[3]?5:9};Wn.compareTokens=function(t,r){return t.value<r.value?1:t.value>r.value?-1:0};function Gr(e,t,r,n){ge(e,t,r+n);let o=xr(e,t+r,t+r+n);return new L(g.bytes,o,r+n)}function Wc(e,t,r,n){return Gr(e,t,1,r)}function Yc(e,t,r,n){return Gr(e,t,2,Lt(e,t+1,n))}function Xc(e,t,r,n){return Gr(e,t,3,kt(e,t+1,n))}function Jc(e,t,r,n){return Gr(e,t,5,Dt(e,t+1,n))}function Qc(e,t,r,n){let o=Ft(e,t+1,n);if(typeof o=="bigint")throw new Error(`${V} 64-bit integer bytes lengths not supported`);return Gr(e,t,9,o)}function Yn(e){return e.encodedBytes===void 0&&(e.encodedBytes=e.type===g.string?Dc(e.value):e.value),e.encodedBytes}function wr(e,t){let r=Yn(t);gt(e,t.type.majorEncoded,r.length),e.push(r)}wr.encodedSize=function(t){let r=Yn(t);return gt.encodedSize(r.length)+r.length};wr.compareTokens=function(t,r){return np(Yn(t),Yn(r))};function np(e,t){return e.length<t.length?-1:e.length>t.length?1:Mc(e,t)}function jr(e,t,r,n,o){let i=r+n;ge(e,t,i);let s=new L(g.string,kc(e,t+r,t+i),i);return o.retainStringBytes===!0&&(s.byteValue=xr(e,t+r,t+i)),s}function tu(e,t,r,n){return jr(e,t,1,r,n)}function eu(e,t,r,n){return jr(e,t,2,Lt(e,t+1,n),n)}function ru(e,t,r,n){return jr(e,t,3,kt(e,t+1,n),n)}function nu(e,t,r,n){return jr(e,t,5,Dt(e,t+1,n),n)}function ou(e,t,r,n){let o=Ft(e,t+1,n);if(typeof o=="bigint")throw new Error(`${V} 64-bit integer string lengths not supported`);return jr(e,t,9,o,n)}var iu=wr;function br(e,t,r,n){return new L(g.array,n,r)}function su(e,t,r,n){return br(e,t,1,r)}function au(e,t,r,n){return br(e,t,2,Lt(e,t+1,n))}function cu(e,t,r,n){return br(e,t,3,kt(e,t+1,n))}function uu(e,t,r,n){return br(e,t,5,Dt(e,t+1,n))}function fu(e,t,r,n){let o=Ft(e,t+1,n);if(typeof o=="bigint")throw new Error(`${V} 64-bit integer array lengths not supported`);return br(e,t,9,o)}function lu(e,t,r,n){if(n.allowIndefinite===!1)throw new Error(`${V} indefinite length items not allowed`);return br(e,t,1,1/0)}function Xn(e,t){gt(e,g.array.majorEncoded,t.value)}Xn.compareTokens=Mt.compareTokens;Xn.encodedSize=function(t){return gt.encodedSize(t.value)};function Er(e,t,r,n){return new L(g.map,n,r)}function du(e,t,r,n){return Er(e,t,1,r)}function hu(e,t,r,n){return Er(e,t,2,Lt(e,t+1,n))}function pu(e,t,r,n){return Er(e,t,3,kt(e,t+1,n))}function mu(e,t,r,n){return Er(e,t,5,Dt(e,t+1,n))}function gu(e,t,r,n){let o=Ft(e,t+1,n);if(typeof o=="bigint")throw new Error(`${V} 64-bit integer map lengths not supported`);return Er(e,t,9,o)}function yu(e,t,r,n){if(n.allowIndefinite===!1)throw new Error(`${V} indefinite length items not allowed`);return Er(e,t,1,1/0)}function Jn(e,t){gt(e,g.map.majorEncoded,t.value)}Jn.compareTokens=Mt.compareTokens;Jn.encodedSize=function(t){return gt.encodedSize(t.value)};function xu(e,t,r,n){return new L(g.tag,r,1)}function wu(e,t,r,n){return new L(g.tag,Lt(e,t+1,n),2)}function bu(e,t,r,n){return new L(g.tag,kt(e,t+1,n),3)}function Eu(e,t,r,n){return new L(g.tag,Dt(e,t+1,n),5)}function Su(e,t,r,n){return new L(g.tag,Ft(e,t+1,n),9)}function Qn(e,t){gt(e,g.tag.majorEncoded,t.value)}Qn.compareTokens=Mt.compareTokens;Qn.encodedSize=function(t){return gt.encodedSize(t.value)};var up=20,fp=21,lp=22,dp=23;function vu(e,t,r,n){if(n.allowUndefined===!1)throw new Error(`${V} undefined values are not supported`);return n.coerceUndefinedToNull===!0?new L(g.null,null,1):new L(g.undefined,void 0,1)}function Au(e,t,r,n){if(n.allowIndefinite===!1)throw new Error(`${V} indefinite length items not allowed`);return new L(g.break,void 0,1)}function ss(e,t,r){if(r){if(r.allowNaN===!1&&Number.isNaN(e))throw new Error(`${V} NaN values are not supported`);if(r.allowInfinity===!1&&(e===1/0||e===-1/0))throw new Error(`${V} Infinity values are not supported`)}return new L(g.float,e,t)}function Iu(e,t,r,n){return ss(as(e,t+1),3,n)}function Tu(e,t,r,n){return ss(cs(e,t+1),5,n)}function Bu(e,t,r,n){return ss(Pu(e,t+1),9,n)}function to(e,t,r){let n=t.value;if(n===!1)e.push([g.float.majorEncoded|up]);else if(n===!0)e.push([g.float.majorEncoded|fp]);else if(n===null)e.push([g.float.majorEncoded|lp]);else if(n===void 0)e.push([g.float.majorEncoded|dp]);else{let o,i=!1;(!r||r.float64!==!0)&&(Uu(n),o=as(Xt,1),n===o||Number.isNaN(n)?(Xt[0]=249,e.push(Xt.slice(0,3)),i=!0):(Nu(n),o=cs(Xt,1),n===o&&(Xt[0]=250,e.push(Xt.slice(0,5)),i=!0))),i||(hp(n),o=Pu(Xt,1),Xt[0]=251,e.push(Xt.slice(0,9)))}}to.encodedSize=function(t,r){let n=t.value;if(n===!1||n===!0||n===null||n===void 0)return 1;if(!r||r.float64!==!0){Uu(n);let o=as(Xt,1);if(n===o||Number.isNaN(n))return 3;if(Nu(n),o=cs(Xt,1),n===o)return 5}return 9};var Cu=new ArrayBuffer(9),Vt=new DataView(Cu,1),Xt=new Uint8Array(Cu,0);function Uu(e){if(e===1/0)Vt.setUint16(0,31744,!1);else if(e===-1/0)Vt.setUint16(0,64512,!1);else if(Number.isNaN(e))Vt.setUint16(0,32256,!1);else{Vt.setFloat32(0,e);let t=Vt.getUint32(0),r=(t&2139095040)>>23,n=t&8388607;if(r===255)Vt.setUint16(0,31744,!1);else if(r===0)Vt.setUint16(0,(e&2147483648)>>16|n>>13,!1);else{let o=r-127;o<-24?Vt.setUint16(0,0):o<-14?Vt.setUint16(0,(t&2147483648)>>16|1<<24+o,!1):Vt.setUint16(0,(t&2147483648)>>16|o+15<<10|n>>13,!1)}}}function as(e,t){if(e.length-t<2)throw new Error(`${V} not enough data for float16`);let r=(e[t]<<8)+e[t+1];if(r===31744)return 1/0;if(r===64512)return-1/0;if(r===32256)return NaN;let n=r>>10&31,o=r&1023,i;return n===0?i=o*2**-24:n!==31?i=(o+1024)*2**(n-25):i=o===0?1/0:NaN,r&32768?-i:i}function Nu(e){Vt.setFloat32(0,e,!1)}function cs(e,t){if(e.length-t<4)throw new Error(`${V} not enough data for float32`);let r=(e.byteOffset||0)+t;return new DataView(e.buffer,r,4).getFloat32(0,!1)}function hp(e){Vt.setFloat64(0,e,!1)}function Pu(e,t){if(e.length-t<8)throw new Error(`${V} not enough data for float64`);let r=(e.byteOffset||0)+t;return new DataView(e.buffer,r,8).getFloat64(0,!1)}to.compareTokens=Mt.compareTokens;function Z(e,t,r){throw new Error(`${V} encountered invalid minor (${r}) for major ${e[t]>>>5}`)}function eo(e){return()=>{throw new Error(`${V} ${e}`)}}var B=[];for(let e=0;e<=23;e++)B[e]=Z;B[24]=Vc;B[25]=Kc;B[26]=qc;B[27]=$c;B[28]=Z;B[29]=Z;B[30]=Z;B[31]=Z;for(let e=32;e<=55;e++)B[e]=Z;B[56]=zc;B[57]=Hc;B[58]=Gc;B[59]=Zc;B[60]=Z;B[61]=Z;B[62]=Z;B[63]=Z;for(let e=64;e<=87;e++)B[e]=Wc;B[88]=Yc;B[89]=Xc;B[90]=Jc;B[91]=Qc;B[92]=Z;B[93]=Z;B[94]=Z;B[95]=eo("indefinite length bytes/strings are not supported");for(let e=96;e<=119;e++)B[e]=tu;B[120]=eu;B[121]=ru;B[122]=nu;B[123]=ou;B[124]=Z;B[125]=Z;B[126]=Z;B[127]=eo("indefinite length bytes/strings are not supported");for(let e=128;e<=151;e++)B[e]=su;B[152]=au;B[153]=cu;B[154]=uu;B[155]=fu;B[156]=Z;B[157]=Z;B[158]=Z;B[159]=lu;for(let e=160;e<=183;e++)B[e]=du;B[184]=hu;B[185]=pu;B[186]=mu;B[187]=gu;B[188]=Z;B[189]=Z;B[190]=Z;B[191]=yu;for(let e=192;e<=215;e++)B[e]=xu;B[216]=wu;B[217]=bu;B[218]=Eu;B[219]=Su;B[220]=Z;B[221]=Z;B[222]=Z;B[223]=Z;for(let e=224;e<=243;e++)B[e]=eo("simple values are not supported");B[244]=Z;B[245]=Z;B[246]=Z;B[247]=vu;B[248]=eo("simple values are not supported");B[249]=Iu;B[250]=Tu;B[251]=Bu;B[252]=Z;B[253]=Z;B[254]=Z;B[255]=Au;var Jt=[];for(let e=0;e<24;e++)Jt[e]=new L(g.uint,e,1);for(let e=-1;e>=-24;e--)Jt[31-e]=new L(g.negint,e,1);Jt[64]=new L(g.bytes,new Uint8Array(0),1);Jt[96]=new L(g.string,"",1);Jt[128]=new L(g.array,0,1);Jt[160]=new L(g.map,0,1);Jt[244]=new L(g.false,!1,1);Jt[245]=new L(g.true,!0,1);Jt[246]=new L(g.null,null,1);function mp(){let e=[];return e[g.uint.major]=Mt,e[g.negint.major]=Wn,e[g.bytes.major]=wr,e[g.string.major]=iu,e[g.array.major]=Xn,e[g.map.major]=Jn,e[g.tag.major]=Qn,e[g.float.major]=to,e}var u1=mp(),f1=new Zn,ro=class e{constructor(t,r){this.obj=t,this.parent=r}includes(t){let r=this;do if(r.obj===t)return!0;while(r=r.parent);return!1}static createCheck(t,r){if(t&&t.includes(r))throw new Error(`${os} object contains circular references`);return new e(r,t)}},Pe={null:new L(g.null,null),undefined:new L(g.undefined,void 0),true:new L(g.true,!0),false:new L(g.false,!1),emptyArray:new L(g.array,0),emptyMap:new L(g.map,0)},Re={number(e,t,r,n){return!Number.isInteger(e)||!Number.isSafeInteger(e)?new L(g.float,e):e>=0?new L(g.uint,e):new L(g.negint,e)},bigint(e,t,r,n){return e>=BigInt(0)?new L(g.uint,e):new L(g.negint,e)},Uint8Array(e,t,r,n){return new L(g.bytes,e)},string(e,t,r,n){return new L(g.string,e)},boolean(e,t,r,n){return e?Pe.true:Pe.false},null(e,t,r,n){return Pe.null},undefined(e,t,r,n){return Pe.undefined},ArrayBuffer(e,t,r,n){return new L(g.bytes,new Uint8Array(e))},DataView(e,t,r,n){return new L(g.bytes,new Uint8Array(e.buffer,e.byteOffset,e.byteLength))},Array(e,t,r,n){if(!e.length)return r.addBreakTokens===!0?[Pe.emptyArray,new L(g.break)]:Pe.emptyArray;n=ro.createCheck(n,e);let o=[],i=0;for(let s of e)o[i++]=us(s,r,n);return r.addBreakTokens?[new L(g.array,e.length),o,new L(g.break)]:[new L(g.array,e.length),o]},Object(e,t,r,n){let o=t!=="Object",i=o?e.keys():Object.keys(e),s=o?e.size:i.length;if(!s)return r.addBreakTokens===!0?[Pe.emptyMap,new L(g.break)]:Pe.emptyMap;n=ro.createCheck(n,e);let a=[],c=0;for(let l of i)a[c++]=[us(l,r,n),us(o?e.get(l):e[l],r,n)];return gp(a,r),r.addBreakTokens?[new L(g.map,s),a,new L(g.break)]:[new L(g.map,s),a]}};Re.Map=Re.Object;Re.Buffer=Re.Uint8Array;for(let e of"Uint8Clamped Uint16 Uint32 Int8 Int16 Int32 BigUint64 BigInt64 Float32 Float64".split(" "))Re[`${e}Array`]=Re.DataView;function us(e,t={},r){let n=Nc(e),o=t&&t.typeEncoders&&t.typeEncoders[n]||Re[n];if(typeof o=="function"){let s=o(e,n,t,r);if(s!=null)return s}let i=Re[n];if(!i)throw new Error(`${os} unsupported type: ${n}`);return i(e,n,t,r)}function gp(e,t){t.mapSorter&&e.sort(t.mapSorter)}var yp={strict:!1,allowIndefinite:!0,allowUndefined:!0,allowBigInt:!0},no=class{constructor(t,r={}){this._pos=0,this.data=t,this.options=r}pos(){return this._pos}done(){return this._pos>=this.data.length}next(){let t=this.data[this._pos],r=Jt[t];if(r===void 0){let n=B[t];if(!n)throw new Error(`${V} no decoder for major type ${t>>>5} (byte 0x${t.toString(16).padStart(2,"0")})`);let o=t&31;r=n(this.data,this._pos,o,this.options)}return this._pos+=r.encodedLength,r}},Zr=Symbol.for("DONE"),oo=Symbol.for("BREAK");function xp(e,t,r){let n=[];for(let o=0;o<e.value;o++){let i=Sr(t,r);if(i===oo){if(e.value===1/0)break;throw new Error(`${V} got unexpected break to lengthed array`)}if(i===Zr)throw new Error(`${V} found array but not enough entries (got ${o}, expected ${e.value})`);n[o]=i}return n}function wp(e,t,r){let n=r.useMaps===!0,o=n?void 0:{},i=n?new Map:void 0;for(let s=0;s<e.value;s++){let a=Sr(t,r);if(a===oo){if(e.value===1/0)break;throw new Error(`${V} got unexpected break to lengthed map`)}if(a===Zr)throw new Error(`${V} found map but not enough entries (got ${s} [no key], expected ${e.value})`);if(n!==!0&&typeof a!="string")throw new Error(`${V} non-string keys not supported (got ${typeof a})`);if(r.rejectDuplicateMapKeys===!0&&(n&&i.has(a)||!n&&a in o))throw new Error(`${V} found repeat map key "${a}"`);let c=Sr(t,r);if(c===Zr)throw new Error(`${V} found map but not enough entries (got ${s} [no value], expected ${e.value})`);n?i.set(a,c):o[a]=c}return n?i:o}function Sr(e,t){if(e.done())return Zr;let r=e.next();if(r.type===g.break)return oo;if(r.type.terminal)return r.value;if(r.type===g.array)return xp(r,e,t);if(r.type===g.map)return wp(r,e,t);if(r.type===g.tag){if(t.tags&&typeof t.tags[r.value]=="function"){let n=Sr(e,t);return t.tags[r.value](n)}throw new Error(`${V} tag not supported (${r.value})`)}throw new Error("unsupported")}function Ru(e,t){if(!(e instanceof Uint8Array))throw new Error(`${V} data to decode must be a Uint8Array`);t=Object.assign({},yp,t);let r=t.tokenizer||new no(e,t),n=Sr(r,t);if(n===Zr)throw new Error(`${V} did not find any content to decode`);if(n===oo)throw new Error(`${V} got unexpected break`);return[n,e.subarray(r.pos())]}function fs(e,t){let[r,n]=Ru(e,t);if(n.length>0)throw new Error(`${V} too many terminals, data makes no sense`);return r}var Sp=we("ipns:utils"),_u=H("/ipns/");var vp=0,Ap=18;function Lu(e){let t;if(e.pubKey!=null)try{t=lc(e.pubKey)}catch(r){throw Sp.error(r),r}if(t!=null)return t}function ku(e){let t=H("ipns-signature:");return Et([t,e])}function Ge(e){return"signatureV1"in e?Yt.encode({value:H(e.value),signatureV1:e.signatureV1,validityType:e.validityType,validity:H(e.validity),sequence:e.sequence,ttl:e.ttl,pubKey:e.pubKey,signatureV2:e.signatureV2,data:e.data}):Yt.encode({pubKey:e.pubKey,signatureV2:e.signatureV2,data:e.data})}function oe(e){let t=Yt.decode(e);if(t.sequence!=null&&(t.sequence=BigInt(t.sequence)),t.ttl!=null&&(t.ttl=BigInt(t.ttl)),t.signatureV2==null||t.data==null)throw new Wt("Missing data or signatureV2");let r=Du(t.data),n=Ip(r.Value),o=G(r.Validity);if(t.value!=null&&t.signatureV1!=null)return Tp(t),{value:n,validityType:Yt.ValidityType.EOL,validity:o,sequence:r.Sequence,ttl:r.TTL,pubKey:t.pubKey,signatureV1:t.signatureV1,signatureV2:t.signatureV2,data:t.data};if(t.signatureV2!=null)return{value:n,validityType:Yt.ValidityType.EOL,validity:o,sequence:r.Sequence,ttl:r.TTL,pubKey:t.pubKey,signatureV2:t.signatureV2,data:t.data};throw new Error("invalid record: does not include signatureV1 or signatureV2")}function Wr(e){return Et([_u,e.bytes])}function ye(e){let t=ce(e.slice(_u.length));if(!io(t,vp)&&!io(t,Ap))throw new Ze("Multihash in IPNS key was not identity or sha2-256");return t}function Du(e){let t=fs(e);if(t.ValidityType===0)t.ValidityType=Yt.ValidityType.EOL;else throw new gr("The validity type is unsupported");return Number.isInteger(t.Sequence)&&(t.Sequence=BigInt(t.Sequence)),Number.isInteger(t.TTL)&&(t.TTL=BigInt(t.TTL)),t}function Ip(e){let t=G(e).trim();if(t.startsWith("/"))return t;try{return`/ipfs/${W.decode(e).toV1().toString()}`}catch{}try{return`/ipfs/${W.parse(t).toV1().toString()}`}catch{}throw new Hn("Value must be a valid content path starting with /")}function Tp(e){if(e.data==null)throw new Gn("Record data is missing");let t=Du(e.data);if(!ot(t.Value,e.value??new Uint8Array(0)))throw new Wt('Field "value" did not match between protobuf and CBOR');if(!ot(t.Validity,e.validity??new Uint8Array(0)))throw new Wt('Field "validity" did not match between protobuf and CBOR');if(t.ValidityType!==e.validityType)throw new Wt('Field "validityType" did not match between protobuf and CBOR');if(t.Sequence!==e.sequence)throw new Wt('Field "sequence" did not match between protobuf and CBOR');if(t.TTL!==e.ttl)throw new Wt('Field "ttl" did not match between protobuf and CBOR')}function io(e,t){return e.code===t}var L1=we("ipns"),k1=60*60*1e9,Cp="/ipns/",D1=Cp.length;var Fu=wo(ns(),1);var so=we("ipns:validator"),Up=1024*10,Np=async(e,t)=>{let r=oe(t),n;try{let o=ku(r.data);n=await e.verify(o,r.signatureV2)}catch{n=!1}if(!n)throw so.error("record signature verification failed"),new Wt("Record signature verification failed");if(r.validityType===Yt.ValidityType.EOL){if(Fu.default.fromString(r.validity).toDate().getTime()<Date.now())throw so.error("record has expired"),new $n("record has expired")}else if(r.validityType!=null)throw so.error("the validity type is unsupported"),new gr("The validity type is unsupported");so("ipns record for %s is valid",r.value)};async function Ou(e,t){if(t.byteLength>Up)throw new zn("The record is too large");let r=ye(e),n;io(r,0)&&(n=Rn(r));let o=oe(t),i=Lu(o)??n;if(i==null)throw new zr("Could not extract public key from IPNS record or routing key");let s=Wr(i.toMultihash());if(!ot(s,e))throw new zr("Embedded public key did not match routing key");await Np(i,t)}var ao=class extends Error{name="InvalidMessageLengthError";code="ERR_INVALID_MESSAGE_LENGTH"};async function*Yr(e,t={}){let r=/\r?\n/,n=new TextDecoder("utf8"),o="";for await(let i of e){if(typeof i=="string"&&(i=new TextEncoder().encode(i)),dr(i)&&(i=i.subarray()),o+=n.decode(i,{stream:!0}),o.length>(t?.maxMessageLength??o.length))throw new ao("Incoming message too long");let s=o.split(r);o=s.pop()??"";for(let a=0;a<s.length;a++)yield JSON.parse(s[a])}o+=n.decode(),o!==""&&(yield JSON.parse(o))}function ie(){let e={};return e.promise=new Promise((t,r)=>{e.resolve=t,e.reject=r}),e}var ds=wo(Vu(),1);var Jr=class extends Error{constructor(t){super(t),this.name="TimeoutError"}},hs=class extends Error{constructor(t){super(),this.name="AbortError",this.message=t}},Ku=e=>globalThis.DOMException===void 0?new hs(e):new DOMException(e),qu=e=>{let t=e.reason===void 0?Ku("This operation was aborted."):e.reason;return t instanceof Error?t:Ku(t)};function ps(e,t){let{milliseconds:r,fallback:n,message:o,customTimers:i={setTimeout,clearTimeout}}=t,s,a,l=new Promise((u,f)=>{if(typeof r!="number"||Math.sign(r)!==1)throw new TypeError(`Expected \`milliseconds\` to be a positive number, got \`${r}\``);if(t.signal){let{signal:b}=t;b.aborted&&f(qu(b)),a=()=>{f(qu(b))},b.addEventListener("abort",a,{once:!0})}if(r===Number.POSITIVE_INFINITY){e.then(u,f);return}let d=new Jr;s=i.setTimeout.call(void 0,()=>{if(n){try{u(n())}catch(b){f(b)}return}typeof e.cancel=="function"&&e.cancel(),o===!1?u():o instanceof Error?f(o):(d.message=o??`Promise timed out after ${r} milliseconds`,f(d))},r),(async()=>{try{u(await e)}catch(b){f(b)}})()}).finally(()=>{l.clear(),a&&t.signal&&t.signal.removeEventListener("abort",a)});return l.clear=()=>{i.clearTimeout.call(void 0,s),s=void 0},l}function ms(e,t,r){let n=0,o=e.length;for(;o>0;){let i=Math.trunc(o/2),s=n+i;r(e[s],t)<=0?(n=++s,o-=i+1):o=i}return n}var Qr=class{#t=[];enqueue(t,r){r={priority:0,...r};let n={priority:r.priority,id:r.id,run:t};if(this.size===0||this.#t[this.size-1].priority>=r.priority){this.#t.push(n);return}let o=ms(this.#t,n,(i,s)=>s.priority-i.priority);this.#t.splice(o,0,n)}setPriority(t,r){let n=this.#t.findIndex(i=>i.id===t);if(n===-1)throw new ReferenceError(`No promise function with the id "${t}" exists in the queue.`);let[o]=this.#t.splice(n,1);this.enqueue(o.run,{priority:r,id:t})}dequeue(){return this.#t.shift()?.run}filter(t){return this.#t.filter(r=>r.priority===t.priority).map(r=>r.run)}get size(){return this.#t.length}};var tn=class extends ds.default{#t;#r;#e=0;#a;#c;#p=0;#o;#u;#n;#m;#i=0;#f;#s;#g;#w=1n;timeout;constructor(t){if(super(),t={carryoverConcurrencyCount:!1,intervalCap:Number.POSITIVE_INFINITY,interval:0,concurrency:Number.POSITIVE_INFINITY,autoStart:!0,queueClass:Qr,...t},!(typeof t.intervalCap=="number"&&t.intervalCap>=1))throw new TypeError(`Expected \`intervalCap\` to be a number from 1 and up, got \`${t.intervalCap?.toString()??""}\` (${typeof t.intervalCap})`);if(t.interval===void 0||!(Number.isFinite(t.interval)&&t.interval>=0))throw new TypeError(`Expected \`interval\` to be a finite number >= 0, got \`${t.interval?.toString()??""}\` (${typeof t.interval})`);this.#t=t.carryoverConcurrencyCount,this.#r=t.intervalCap===Number.POSITIVE_INFINITY||t.interval===0,this.#a=t.intervalCap,this.#c=t.interval,this.#n=new t.queueClass,this.#m=t.queueClass,this.concurrency=t.concurrency,this.timeout=t.timeout,this.#g=t.throwOnTimeout===!0,this.#s=t.autoStart===!1}get#b(){return this.#r||this.#e<this.#a}get#E(){return this.#i<this.#f}#S(){this.#i--,this.#l(),this.emit("next")}#v(){this.#x(),this.#y(),this.#u=void 0}get#A(){let t=Date.now();if(this.#o===void 0){let r=this.#p-t;if(r<0)this.#e=this.#t?this.#i:0;else return this.#u===void 0&&(this.#u=setTimeout(()=>{this.#v()},r)),!0}return!1}#l(){if(this.#n.size===0)return this.#o&&clearInterval(this.#o),this.#o=void 0,this.emit("empty"),this.#i===0&&this.emit("idle"),!1;if(!this.#s){let t=!this.#A;if(this.#b&&this.#E){let r=this.#n.dequeue();return r?(this.emit("active"),r(),t&&this.#y(),!0):!1}}return!1}#y(){this.#r||this.#o!==void 0||(this.#o=setInterval(()=>{this.#x()},this.#c),this.#p=Date.now()+this.#c)}#x(){this.#e===0&&this.#i===0&&this.#o&&(clearInterval(this.#o),this.#o=void 0),this.#e=this.#t?this.#i:0,this.#d()}#d(){for(;this.#l(););}get concurrency(){return this.#f}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.#f=t,this.#d()}async#I(t){return new Promise((r,n)=>{t.addEventListener("abort",()=>{n(t.reason)},{once:!0})})}setPriority(t,r){this.#n.setPriority(t,r)}async add(t,r={}){return r.id??=(this.#w++).toString(),r={timeout:this.timeout,throwOnTimeout:this.#g,...r},new Promise((n,o)=>{this.#n.enqueue(async()=>{this.#i++,this.#e++;try{r.signal?.throwIfAborted();let i=t({signal:r.signal});r.timeout&&(i=ps(Promise.resolve(i),{milliseconds:r.timeout})),r.signal&&(i=Promise.race([i,this.#I(r.signal)]));let s=await i;n(s),this.emit("completed",s)}catch(i){if(i instanceof Jr&&!r.throwOnTimeout){n();return}o(i),this.emit("error",i)}finally{this.#S()}},r),this.emit("add"),this.#l()})}async addAll(t,r){return Promise.all(t.map(async n=>this.add(n,r)))}start(){return this.#s?(this.#s=!1,this.#d(),this):this}pause(){this.#s=!0}clear(){this.#n=new this.#m}async onEmpty(){this.#n.size!==0&&await this.#h("empty")}async onSizeLessThan(t){this.#n.size<t||await this.#h("next",()=>this.#n.size<t)}async onIdle(){this.#i===0&&this.#n.size===0||await this.#h("idle")}async#h(t,r){return new Promise(n=>{let o=()=>{r&&!r()||(this.off(t,o),n())};this.on(t,o)})}get size(){return this.#n.size}sizeBy(t){return this.#n.filter(t).length}get pending(){return this.#i}get isPaused(){return this.#s}};var vr=class extends Error{static name="InvalidRequestError";constructor(t="Invalid request"){super(t),this.name="InvalidRequestError"}},Qt=class extends Error{static name="BadResponseError";constructor(t="Bad response"){super(t),this.name="BadResponseError"}};function _p(e){return e[Symbol.asyncIterator]!=null}function Lp(e){if(_p(e))return(async()=>{for await(let t of e)return t})();for(let t of e)return t}var uo=Lp;function kp(e){let[t,r]=e[Symbol.asyncIterator]!=null?[e[Symbol.asyncIterator](),Symbol.asyncIterator]:[e[Symbol.iterator](),Symbol.iterator],n=[];return{peek:()=>t.next(),push:o=>{n.push(o)},next:()=>n.length>0?{done:!1,value:n.shift()}:t.next(),[r](){return this}}}var $u=kp;function Dp(e){return e[Symbol.asyncIterator]!=null}function Fp(e,t){let r=0;if(Dp(e))return async function*(){for await(let c of e)yield t(c,r++)}();let n=$u(e),{value:o,done:i}=n.next();if(i===!0)return function*(){}();let s=t(o,r++);if(typeof s.then=="function")return async function*(){yield await s;for await(let c of n)yield t(c,r++)}();let a=t;return function*(){yield s;for(let c of n)yield a(c,r++)}()}var fo=Fp;var zu=H("/ipns/");function Hu(e){return ot(e.subarray(0,zu.byteLength),zu)}var lo=class{client;constructor(t){this.client=t}async*findProviders(t,r={}){yield*fo(this.client.getProviders(t,r),n=>({id:n.ID,multiaddrs:n.Addrs??[]}))}async provide(){}async cancelReprovide(){}async put(t,r,n){if(!Hu(t))return;let o=ye(t),i=W.createV1(114,o),s=oe(r);await this.client.putIPNS(i,s,n)}async get(t,r){if(!Hu(t))throw new Bt("Not found");let n=ye(t),o=W.createV1(114,n);try{let i=await this.client.getIPNS(o,r);return Ge(i)}catch(i){throw i.name==="BadResponseError"?new Bt("Not found"):i}}},ho=class{client;constructor(t){this.client=t}async findPeer(t,r={}){let n=await uo(this.client.getPeers(t,r));if(n!=null)return{id:n.ID,multiaddrs:n.Addrs??[]};throw new Bt("Not found")}async*getClosestPeers(t,r={}){}};var pt=we("delegated-routing-v1-http-api-client"),po={concurrentRequests:4,timeout:3e4,cacheTTL:5*60*1e3,cacheName:"delegated-routing-v1-cache"},mo=class{started;httpQueue;shutDownController;clientUrl;timeout;contentRouting;peerRouting;filterAddrs;filterProtocols;inFlightRequests;cacheName;cache;cacheTTL;constructor(t,r={}){this.started=!1,this.shutDownController=new AbortController,this.shutDownController.signal,this.httpQueue=new tn({concurrency:r.concurrentRequests??po.concurrentRequests}),this.inFlightRequests=new Map,this.clientUrl=t instanceof URL?t:new URL(t),this.timeout=r.timeout??po.timeout,this.filterAddrs=r.filterAddrs,this.filterProtocols=r.filterProtocols,this.contentRouting=new lo(this),this.peerRouting=new ho(this),this.cacheName=r.cacheName??po.cacheName,this.cacheTTL=r.cacheTTL??po.cacheTTL}get[ks](){return this.contentRouting}get[Ds](){return this.peerRouting}isStarted(){return this.started}async start(){this.started||(this.started=!0,this.cacheTTL>0&&(this.cache=await globalThis.caches?.open(this.cacheName),this.cache!=null&&pt("cache enabled with ttl %d",this.cacheTTL)))}async stop(){this.httpQueue.clear(),this.shutDownController.abort(),await globalThis.caches?.delete(this.cacheName),this.started=!1}async*getProviders(t,r={}){pt("getProviders starts: %c",t);let n=AbortSignal.timeout(this.timeout),o=$r([this.shutDownController.signal,n,r.signal]);let i=ie(),s=ie();this.httpQueue.add(async()=>(i.resolve(),s.promise));try{await i.promise;let a=new URL(`${this.clientUrl}routing/v1/providers/${t.toString()}`);this.#r(a,r.filterAddrs,r.filterProtocols);let c={headers:{Accept:"application/x-ndjson"},signal:o},l=await this.#e(a.toString(),c);if(l==null)throw new Qt("No response received");if(!l.ok)throw l.status===404?new Bt("No matching records found"):l.status===422?new vr("Request does not conform to schema or semantic constraints"):new Qt(`Unexpected status code: ${l.status}`);if(l.body==null)throw new Qt("Routing response had no body");let u=l.headers.get("Content-Type");if(u==null)throw new Qt("No Content-Type header received");if(u?.startsWith("application/json")){let f=await l.json();for(let d of f.Providers){let b=this.#t(d);b!=null&&(yield b)}}else if(u.includes("application/x-ndjson"))for await(let f of Yr(qn(l.body))){let d=this.#t(f);d!=null&&(yield d)}else throw new Qt(`Unsupported Content-Type: ${u}`)}catch(a){pt.error("getProviders errored:",a)}finally{o.clear(),s.resolve(),pt("getProviders finished: %c",t)}}async*getPeers(t,r={}){pt("getPeers starts: %c",t);let n=AbortSignal.timeout(this.timeout),o=$r([this.shutDownController.signal,n,r.signal]);let i=ie(),s=ie();this.httpQueue.add(async()=>(i.resolve(),s.promise));try{await i.promise;let a=new URL(`${this.clientUrl}routing/v1/peers/${t.toCID().toString()}`);this.#r(a,r.filterAddrs,r.filterProtocols);let c={headers:{Accept:"application/x-ndjson"},signal:o},l=await this.#e(a.toString(),c);if(l.status===404)throw new Bt("No matching records found");if(l.status===422)throw new vr("Request does not conform to schema or semantic constraints");if(l.body==null)throw new Qt("Routing response had no body");if(l.headers.get("Content-Type")==="application/json"){let f=await l.json();for(let d of f.Peers){let b=this.#t(d);b!=null&&(yield b)}}else for await(let f of Yr(qn(l.body))){let d=this.#t(f);d!=null&&(yield d)}}catch(a){pt.error("getPeers errored:",a)}finally{o.clear(),s.resolve(),pt("getPeers finished: %c",t)}}async getIPNS(t,r={}){pt("getIPNS starts: %s",t);let n=AbortSignal.timeout(this.timeout),o=$r([this.shutDownController.signal,n,r.signal]);let i=ie(),s=ie();this.httpQueue.add(async()=>(i.resolve(),s.promise));let a=`${this.clientUrl}routing/v1/ipns/${t}`;try{await i.promise;let c={headers:{Accept:"application/vnd.ipfs.ipns-record"},signal:o},l=await this.#e(a,c);if(pt("getIPNS GET %s %d",a,l.status),l.status===404)throw new Bt("No matching records found");if(l.status===422)throw new vr("Request does not conform to schema or semantic constraints");if(l.body==null)throw new Qt("GET ipns response had no body");let u=await l.arrayBuffer(),f=new Uint8Array(u,0,u.byteLength);return r.validate!==!1&&await Ou(Wr(t.multihash),f),oe(f)}catch(c){throw pt.error("getIPNS GET %s error:",a,c),c}finally{o.clear(),s.resolve(),pt("getIPNS finished: %s",t)}}async putIPNS(t,r,n={}){pt("putIPNS starts: %c",t);let o=AbortSignal.timeout(this.timeout),i=$r([this.shutDownController.signal,o,n.signal]);let s=ie(),a=ie();this.httpQueue.add(async()=>(s.resolve(),a.promise));let c=`${this.clientUrl}routing/v1/ipns/${t}`;try{await s.promise;let l=Ge(r),u={method:"PUT",headers:{"Content-Type":"application/vnd.ipfs.ipns-record"},body:l,signal:i},f=await this.#e(c,u);if(pt("putIPNS PUT %s %d",c,f.status),f.status!==200)throw new Qt("PUT ipns response had status other than 200")}catch(l){throw pt.error("putIPNS PUT %s error:",c,l.stack),l}finally{i.clear(),a.resolve(),pt("putIPNS finished: %c",t)}}#t(t){try{let r=[],n=t.Addrs?.map(ze)??[];return t.Protocols!=null&&r.push(...t.Protocols),t.Protocol!=null&&(r.push(t.Protocol),delete t.Protocol),{...t,Schema:"peer",ID:pc(t.ID),Addrs:n,Protocols:r}}catch(r){pt.error("could not conform record to peer schema",r)}}#r(t,r,n){if(r!=null||this.filterAddrs!=null){let o=r?.join(",")??this.filterAddrs?.join(",")??"";o!==""&&t.searchParams.set("filter-addrs",o)}if(n!=null||this.filterProtocols!=null){let o=n?.join(",")??this.filterProtocols?.join(",")??"";o!==""&&t.searchParams.set("filter-protocols",o)}}async#e(t,r){let n=r.method??"GET",o=`${n}-${t}`;if(n==="GET"){let c=await this.cache?.match(t);if(c!=null){if(parseInt(c.headers.get("x-cache-expires")??"0",10)>Date.now())return pt("returning cached response for %s",o),c;await this.cache?.delete(t)}}let i=this.inFlightRequests.get(o);if(i!=null){let c=await i;return pt("deduplicating outgoing request for %s",o),c.clone()}let s=fetch(t,r).then(async c=>{if(this.cache!=null&&c.ok&&n==="GET"){let l=Date.now()+this.cacheTTL,u=new Headers(c.headers);u.set("x-cache-expires",l.toString());let f=new Response(c.clone().body,{status:c.status,statusText:c.statusText,headers:u});await this.cache.put(t,f)}return c}).finally(()=>{this.inFlightRequests.delete(o)});return this.inFlightRequests.set(o,s),await s}};function Gu(e,t={}){return new mo(new URL(e),t)}function go(){return{filterProtocols:["unknown","transport-bitswap","transport-ipfs-gateway-http"],filterAddrs:["https","webtransport","webrtc","webrtc-direct","wss","tls"]}}var ju=H("/ipns/");function Zu(e){return ot(e.subarray(0,ju.byteLength),ju)}var gs=class{client;constructor(t,r={}){this.client=Gu(t,r)}async provide(t,r){}async cancelReprovide(t,r){}async*findProviders(t,r){yield*fo(this.client.getProviders(t,r),n=>({id:n.ID,multiaddrs:n.Addrs,protocols:n.Protocols}))}async put(t,r,n){if(!Zu(t))return;let o=ye(t),i=W.createV1(114,o),s=oe(r);await this.client.putIPNS(i,s,n)}async get(t,r){if(!Zu(t))throw new Bt("Not found");let n=ye(t),o=W.createV1(114,n);try{let i=await this.client.getIPNS(o,r);return Ge(i)}catch(i){throw i.name==="BadResponseError"?new Bt("Not found"):i}}async findPeer(t,r){let n=await uo(this.client.getPeers(t,r));if(n!=null)return{id:n.ID,multiaddrs:n.Addrs??[]};throw new Bt("Not found")}async*getClosestPeers(t,r){}};function Wu(e,t){let r=t??go();return new gs(new URL(e),r)}var Yu="[a-fA-F\\d:]",_e=e=>e&&e.includeBoundaries?`(?:(?<=\\s|^)(?=${Yu})|(?<=${Yu})(?=\\s|$))`:"",te="(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)(?:\\.(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)){3}",at="[a-fA-F\\d]{1,4}",yo=`
8
4
  (?:
9
- (?:${ut}:){7}(?:${ut}|:)| // 1:2:3:4:5:6:7:: 1:2:3:4:5:6:7:8
10
- (?:${ut}:){6}(?:${se}|:${ut}|:)| // 1:2:3:4:5:6:: 1:2:3:4:5:6::8 1:2:3:4:5:6::8 1:2:3:4:5:6::1.2.3.4
11
- (?:${ut}:){5}(?::${se}|(?::${ut}){1,2}|:)| // 1:2:3:4:5:: 1:2:3:4:5::7:8 1:2:3:4:5::8 1:2:3:4:5::7:1.2.3.4
12
- (?:${ut}:){4}(?:(?::${ut}){0,1}:${se}|(?::${ut}){1,3}|:)| // 1:2:3:4:: 1:2:3:4::6:7:8 1:2:3:4::8 1:2:3:4::6:7:1.2.3.4
13
- (?:${ut}:){3}(?:(?::${ut}){0,2}:${se}|(?::${ut}){1,4}|:)| // 1:2:3:: 1:2:3::5:6:7:8 1:2:3::8 1:2:3::5:6:7:1.2.3.4
14
- (?:${ut}:){2}(?:(?::${ut}){0,3}:${se}|(?::${ut}){1,5}|:)| // 1:2:: 1:2::4:5:6:7:8 1:2::8 1:2::4:5:6:7:1.2.3.4
15
- (?:${ut}:){1}(?:(?::${ut}){0,4}:${se}|(?::${ut}){1,6}|:)| // 1:: 1::3:4:5:6:7:8 1::8 1::3:4:5:6:7:1.2.3.4
16
- (?::(?:(?::${ut}){0,5}:${se}|(?::${ut}){1,7}|:)) // ::2:3:4:5:6:7:8 ::2:3:4:5:6:7:8 ::8 ::1.2.3.4
5
+ (?:${at}:){7}(?:${at}|:)| // 1:2:3:4:5:6:7:: 1:2:3:4:5:6:7:8
6
+ (?:${at}:){6}(?:${te}|:${at}|:)| // 1:2:3:4:5:6:: 1:2:3:4:5:6::8 1:2:3:4:5:6::8 1:2:3:4:5:6::1.2.3.4
7
+ (?:${at}:){5}(?::${te}|(?::${at}){1,2}|:)| // 1:2:3:4:5:: 1:2:3:4:5::7:8 1:2:3:4:5::8 1:2:3:4:5::7:1.2.3.4
8
+ (?:${at}:){4}(?:(?::${at}){0,1}:${te}|(?::${at}){1,3}|:)| // 1:2:3:4:: 1:2:3:4::6:7:8 1:2:3:4::8 1:2:3:4::6:7:1.2.3.4
9
+ (?:${at}:){3}(?:(?::${at}){0,2}:${te}|(?::${at}){1,4}|:)| // 1:2:3:: 1:2:3::5:6:7:8 1:2:3::8 1:2:3::5:6:7:1.2.3.4
10
+ (?:${at}:){2}(?:(?::${at}){0,3}:${te}|(?::${at}){1,5}|:)| // 1:2:: 1:2::4:5:6:7:8 1:2::8 1:2::4:5:6:7:1.2.3.4
11
+ (?:${at}:){1}(?:(?::${at}){0,4}:${te}|(?::${at}){1,6}|:)| // 1:: 1::3:4:5:6:7:8 1::8 1::3:4:5:6:7:1.2.3.4
12
+ (?::(?:(?::${at}){0,5}:${te}|(?::${at}){1,7}|:)) // ::2:3:4:5:6:7:8 ::2:3:4:5:6:7:8 ::8 ::1.2.3.4
17
13
  )(?:%[0-9a-zA-Z]{1,})? // %eth0 %1
18
- `.replace(/\s*\/\/.*$/gm,"").replace(/\n/g,"").trim(),Yg=new RegExp(`(?:^${se}$)|(?:^${Pi}$)`),Jg=new RegExp(`^${se}$`),Xg=new RegExp(`^${Pi}$`),Da=r=>r&&r.exact?Yg:new RegExp(`(?:${Ye(r)}${se}${Ye(r)})|(?:${Ye(r)}${Pi}${Ye(r)})`,"g");Da.v4=r=>r&&r.exact?Jg:new RegExp(`${Ye(r)}${se}${Ye(r)}`,"g");Da.v6=r=>r&&r.exact?Xg:new RegExp(`${Ye(r)}${Pi}${Ye(r)}`,"g");var Oa=Da;function Ma(r){let t=(...e)=>r(...e);return Object.defineProperty(t,"name",{value:`functionTimeout(${r.name||"<anonymous>"})`,configurable:!0}),t}function ih(){return!1}var{toString:Qg}=Object.prototype;function Ha(r){return Qg.call(r)==="[object RegExp]"}var sh={global:"g",ignoreCase:"i",multiline:"m",dotAll:"s",sticky:"y",unicode:"u"};function $a(r,t={}){if(!Ha(r))throw new TypeError("Expected a RegExp instance");let e=Object.keys(sh).map(o=>(typeof t[o]=="boolean"?t[o]:r[o])?sh[o]:"").join(""),n=new RegExp(t.source||r.source,e);return n.lastIndex=typeof t.lastIndex=="number"?t.lastIndex:r.lastIndex,n}function Ka(r,t,{timeout:e}={}){try{return Ma(()=>$a(r).test(t),{timeout:e})()}catch(n){if(ih(n))return!1;throw n}}var tm=15,em=45,ah={timeout:400};function qa(r){return r.length>em?!1:Ka(Oa.v6({exact:!0}),r,ah)}function ch(r){return r.length>tm?!1:Ka(Oa.v4({exact:!0}),r,ah)}var uh={http:"80",https:"443",ws:"80",wss:"443"},rm=["http","https","ws","wss"];function lh(r,t){t=t??{};let e=t.defaultDnsType??"dns4",{scheme:n,hostname:o,port:i}=nm(r),a="/"+[om(o,e),im(i,n),sm(n)].filter(c=>!!c).reduce((c,f)=>c.concat(f),[]).join("/");return cr(a)}function nm(r){let[t]=r.split(":");rm.includes(t)||(r="http"+r.substring(t.length));let{protocol:e,hostname:n,port:o}=new URL(r);if(o==null||o===""){let i=am(t);i!=null&&(o=i),i==null&&e==="http:"&&(o="80")}return{scheme:t,hostname:n,port:o}}function om(r,t){if(!(r==null||r==="")){if(ch(r))return["ip4",r];if(qa(r))return["ip6",r];if(r[0]==="["){let e=r.substring(1,r.length-1);if(qa(e))return["ip6",e]}return[t,r]}}function im(r,t){if(!(r==null||r===""))return t==="udp"?["udp",r]:["tcp",r]}function sm(r){if(r.match(/^tcp$|^udp$/)==null)return[r]}function am(r){if(!(r==null||r===""||uh[r]==null))return uh[r]}var cm=["https://trustless-gateway.link","https://4everland.io"],um=2336;function lm(r){return r=r.toString(),{id:wl(X.createV1(um,Yt.digest(j(r)))),multiaddrs:[lh(r)]}}var za=class{gateways;constructor(t={}){this.gateways=(t.gateways??cm).map(e=>lm(e))}async*findProviders(t,e){yield*this.gateways.toSorted(()=>Math.random()>.5?1:-1).map(n=>({...n,protocols:["transport-ipfs-gateway-http"]}))}};function fh(r={}){return new za(r)}var ja=class{libp2p;constructor(t){this.libp2p=t}async provide(t,e){await this.libp2p.contentRouting.provide(t,e)}async cancelReprovide(t,e){await this.libp2p.contentRouting.cancelReprovide(t,e)}async*findProviders(t,e){yield*this.libp2p.contentRouting.findProviders(t,e)}async put(t,e,n){await this.libp2p.contentRouting.put(t,e,n)}async get(t,e){return this.libp2p.contentRouting.get(t,e)}async findPeer(t,e){return this.libp2p.peerRouting.findPeer(t,e)}async*getClosestPeers(t,e){yield*this.libp2p.peerRouting.getClosestPeers(t,e)}};function hh(r){return new ja(r)}return Ih(fm);})();
14
+ `.replace(/\s*\/\/.*$/gm,"").replace(/\n/g,"").trim(),Op=new RegExp(`(?:^${te}$)|(?:^${yo}$)`),Mp=new RegExp(`^${te}$`),Vp=new RegExp(`^${yo}$`),ys=e=>e&&e.exact?Op:new RegExp(`(?:${_e(e)}${te}${_e(e)})|(?:${_e(e)}${yo}${_e(e)})`,"g");ys.v4=e=>e&&e.exact?Mp:new RegExp(`${_e(e)}${te}${_e(e)}`,"g");ys.v6=e=>e&&e.exact?Vp:new RegExp(`${_e(e)}${yo}${_e(e)}`,"g");var xs=ys;function ws(e){let t=(...r)=>e(...r);return Object.defineProperty(t,"name",{value:`functionTimeout(${e.name||"<anonymous>"})`,configurable:!0}),t}function Xu(){return!1}var{toString:Kp}=Object.prototype;function bs(e){return Kp.call(e)==="[object RegExp]"}var Ju={global:"g",ignoreCase:"i",multiline:"m",dotAll:"s",sticky:"y",unicode:"u"};function Es(e,t={}){if(!bs(e))throw new TypeError("Expected a RegExp instance");let r=Object.keys(Ju).map(o=>(typeof t[o]=="boolean"?t[o]:e[o])?Ju[o]:"").join(""),n=new RegExp(t.source||e.source,r);return n.lastIndex=typeof t.lastIndex=="number"?t.lastIndex:e.lastIndex,n}function Ss(e,t,{timeout:r}={}){try{return ws(()=>Es(e).test(t),{timeout:r})()}catch(n){if(Xu(n))return!1;throw n}}var qp=15,$p=45,Qu={timeout:400};function vs(e){return e.length>$p?!1:Ss(xs.v6({exact:!0}),e,Qu)}function tf(e){return e.length>qp?!1:Ss(xs.v4({exact:!0}),e,Qu)}var ef={http:"80",https:"443",ws:"80",wss:"443"},zp=["http","https","ws","wss"];function rf(e,t){t=t??{};let r=t.defaultDnsType??"dns4",{scheme:n,hostname:o,port:i}=Hp(e),a="/"+[Gp(o,r),jp(i,n),Zp(n)].filter(c=>!!c).reduce((c,l)=>c.concat(l),[]).join("/");return ze(a)}function Hp(e){let[t]=e.split(":");zp.includes(t)||(e="http"+e.substring(t.length));let{protocol:r,hostname:n,port:o}=new URL(e);if(o==null||o===""){let i=Wp(t);i!=null&&(o=i),i==null&&r==="http:"&&(o="80")}return{scheme:t,hostname:n,port:o}}function Gp(e,t){if(!(e==null||e==="")){if(tf(e))return["ip4",e];if(vs(e))return["ip6",e];if(e[0]==="["){let r=e.substring(1,e.length-1);if(vs(r))return["ip6",r]}return[t,e]}}function jp(e,t){if(!(e==null||e===""))return t==="udp"?["udp",e]:["tcp",e]}function Zp(e){if(e.match(/^tcp$|^udp$/)==null)return[e]}function Wp(e){if(!(e==null||e===""||ef[e]==null))return ef[e]}var Yp=["https://trustless-gateway.link","https://4everland.io"],Xp=2336;function Jp(e){return e=e.toString(),{id:Ki(W.createV1(Xp,$t.digest(H(e)))),multiaddrs:[rf(e)]}}var As=class{gateways;constructor(t={}){this.gateways=(t.gateways??Yp).map(r=>Jp(r))}async*findProviders(t,r){yield*this.gateways.toSorted(()=>Math.random()>.5?1:-1).map(n=>({...n,protocols:["transport-ipfs-gateway-http"]}))}};function nf(e={}){return new As(e)}var Is=class{libp2p;constructor(t){this.libp2p=t}async provide(t,r){await this.libp2p.contentRouting.provide(t,r)}async cancelReprovide(t,r){await this.libp2p.contentRouting.cancelReprovide(t,r)}async*findProviders(t,r){yield*this.libp2p.contentRouting.findProviders(t,r)}async put(t,r,n){await this.libp2p.contentRouting.put(t,r,n)}async get(t,r){return this.libp2p.contentRouting.get(t,r)}async findPeer(t,r){return this.libp2p.peerRouting.findPeer(t,r)}async*getClosestPeers(t,r){yield*this.libp2p.peerRouting.getClosestPeers(t,r)}};function of(e){return new Is(e)}return wf(Qp);})();
19
15
  /*! Bundled license information:
20
16
 
21
- pvtsutils/build/index.js:
22
- (*!
23
- * MIT License
24
- *
25
- * Copyright (c) 2017-2024 Peculiar Ventures, LLC
26
- *
27
- * Permission is hereby granted, free of charge, to any person obtaining a copy
28
- * of this software and associated documentation files (the "Software"), to deal
29
- * in the Software without restriction, including without limitation the rights
30
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
31
- * copies of the Software, and to permit persons to whom the Software is
32
- * furnished to do so, subject to the following conditions:
33
- *
34
- * The above copyright notice and this permission notice shall be included in all
35
- * copies or substantial portions of the Software.
36
- *
37
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
38
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
39
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
40
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
41
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
42
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
43
- * SOFTWARE.
44
- *
45
- *)
46
-
47
17
  @noble/hashes/esm/utils.js:
48
18
  (*! noble-hashes - MIT License (c) 2022 Paul Miller (paulmillr.com) *)
49
19
 
@@ -62,46 +32,6 @@ pvtsutils/build/index.js:
62
32
  @noble/curves/esm/ed25519.js:
63
33
  (*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) *)
64
34
 
65
- pvutils/build/utils.es.js:
66
- (*!
67
- Copyright (c) Peculiar Ventures, LLC
68
- *)
69
-
70
- asn1js/build/index.es.js:
71
- (*!
72
- * Copyright (c) 2014, GMO GlobalSign
73
- * Copyright (c) 2015-2022, Peculiar Ventures
74
- * All rights reserved.
75
- *
76
- * Author 2014-2019, Yury Strozhevsky
77
- *
78
- * Redistribution and use in source and binary forms, with or without modification,
79
- * are permitted provided that the following conditions are met:
80
- *
81
- * * Redistributions of source code must retain the above copyright notice, this
82
- * list of conditions and the following disclaimer.
83
- *
84
- * * Redistributions in binary form must reproduce the above copyright notice, this
85
- * list of conditions and the following disclaimer in the documentation and/or
86
- * other materials provided with the distribution.
87
- *
88
- * * Neither the name of the copyright holder nor the names of its
89
- * contributors may be used to endorse or promote products derived from
90
- * this software without specific prior written permission.
91
- *
92
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
93
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
94
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
95
- * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
96
- * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
97
- * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
98
- * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
99
- * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
100
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
101
- * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
102
- *
103
- *)
104
-
105
35
  @noble/curves/esm/abstract/weierstrass.js:
106
36
  (*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) *)
107
37
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@helia/routers",
3
- "version": "3.0.0",
3
+ "version": "3.0.1",
4
4
  "description": "Routers for Helia",
5
5
  "license": "Apache-2.0 OR MIT",
6
6
  "homepage": "https://github.com/ipfs/helia/tree/main/packages/routers#readme",
@@ -55,7 +55,7 @@
55
55
  },
56
56
  "dependencies": {
57
57
  "@helia/delegated-routing-v1-http-api-client": "^4.2.1",
58
- "@helia/interface": "^5.2.0",
58
+ "@helia/interface": "^5.2.1",
59
59
  "@libp2p/interface": "^2.2.1",
60
60
  "@libp2p/peer-id": "^5.0.8",
61
61
  "@multiformats/uri-to-multiaddr": "^8.0.0",
@@ -67,7 +67,7 @@
67
67
  },
68
68
  "devDependencies": {
69
69
  "@libp2p/crypto": "^5.0.7",
70
- "aegir": "^45.0.6",
70
+ "aegir": "^45.1.1",
71
71
  "it-all": "^3.0.6",
72
72
  "it-drain": "^3.0.7",
73
73
  "sinon-ts": "^2.0.0"