libp2p 3.3.7 → 3.3.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.min.js CHANGED
@@ -1,5 +1,5 @@
1
1
  (function (root, factory) {(typeof module === 'object' && module.exports) ? module.exports = factory() : root.Libp2P = factory()}(typeof self !== 'undefined' ? self : this, function () {
2
- "use strict";var Libp2P=(()=>{var Lm=Object.create;var Jo=Object.defineProperty;var Pm=Object.getOwnPropertyDescriptor;var Dm=Object.getOwnPropertyNames;var km=Object.getPrototypeOf,Rm=Object.prototype.hasOwnProperty;var Nn=(r,e)=>()=>{try{return e||r((e={exports:{}}).exports,e),e.exports}catch(t){throw e=0,t}},Ue=(r,e)=>{for(var t in e)Jo(r,t,{get:e[t],enumerable:!0})},Af=(r,e,t,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of Dm(e))!Rm.call(r,o)&&o!==t&&Jo(r,o,{get:()=>e[o],enumerable:!(n=Pm(e,o))||n.enumerable});return r};var Ka=(r,e,t)=>(t=r!=null?Lm(km(r)):{},Af(e||!r||!r.__esModule?Jo(t,"default",{value:r,enumerable:!0}):t,r)),Om=r=>Af(Jo({},"__esModule",{value:!0}),r);var ql=Nn(fn=>{"use strict";Object.defineProperty(fn,"__esModule",{value:!0});fn.Netmask4Impl=void 0;fn.ip2long=un;fn.long2ip=bt;function bt(r){let e=(r&-16777216)>>>24,t=(r&255<<16)>>>16,n=(r&65280)>>>8,o=r&255;return[e,t,n,o].join(".")}var $y=48,zy=97,Vy=65;function Hy(r){let e=0,t=10,n="9",o=0;r.length>1&&r[o]==="0"&&(r[o+1]==="x"||r[o+1]==="X"?(o+=2,t=16):"0"<=r[o+1]&&r[o+1]<="9"&&(o++,t=8,n="7"));let s=o;for(;o<r.length;){if("0"<=r[o]&&r[o]<=n)e=e*t+(r.charCodeAt(o)-$y)>>>0;else if(t===16)if("a"<=r[o]&&r[o]<="f")e=e*t+(10+r.charCodeAt(o)-zy)>>>0;else if("A"<=r[o]&&r[o]<="F")e=e*t+(10+r.charCodeAt(o)-Vy)>>>0;else break;else break;if(e>4294967295)throw new Error("too large");o++}if(o===s)throw new Error("empty octet");return[e,o]}function un(r){let e=[];for(let t=0;t<=3&&r.length!==0;t++){if(t>0){if(r[0]!==".")throw new Error("Invalid IP");r=r.substring(1)}let[n,o]=Hy(r);r=r.substring(o),e.push(n)}if(r.length!==0)throw new Error("Invalid IP");switch(e.length){case 1:if(e[0]>4294967295)throw new Error("Invalid IP");return e[0]>>>0;case 2:if(e[0]>255||e[1]>16777215)throw new Error("Invalid IP");return(e[0]<<24|e[1])>>>0;case 3:if(e[0]>255||e[1]>255||e[2]>65535)throw new Error("Invalid IP");return(e[0]<<24|e[1]<<16|e[2])>>>0;case 4:if(e[0]>255||e[1]>255||e[2]>255||e[3]>255)throw new Error("Invalid IP");return(e[0]<<24|e[1]<<16|e[2]<<8|e[3])>>>0;default:throw new Error("Invalid IP")}}var Kl=class r{constructor(e,t){if(typeof e!="string")throw new Error("Missing `net' parameter");let n=t;if(!n){let o=e.split("/",2);e=o[0],n=o[1]}if(n||(n=32),typeof n=="string"&&n.indexOf(".")>-1){try{this.maskLong=un(n)}catch{throw new Error("Invalid mask: "+n)}this.bitmask=NaN;for(let o=32;o>=0;o--)if(this.maskLong===4294967295<<32-o>>>0){this.bitmask=o;break}}else if(n||n===0)this.bitmask=parseInt(n,10),this.maskLong=0,this.bitmask>0&&(this.maskLong=4294967295<<32-this.bitmask>>>0);else throw new Error("Invalid mask: empty");try{this.netLong=(un(e)&this.maskLong)>>>0}catch{throw new Error("Invalid net address: "+e)}if(!(this.bitmask<=32))throw new Error("Invalid mask for ip4: "+n);this.size=Math.pow(2,32-this.bitmask),this.base=bt(this.netLong),this.mask=bt(this.maskLong),this.hostmask=bt(~this.maskLong),this.first=this.bitmask<=30?bt(this.netLong+1):this.base,this.last=this.bitmask<=30?bt(this.netLong+this.size-2):bt(this.netLong+this.size-1),this.broadcast=this.bitmask<=30?bt(this.netLong+this.size-1):void 0}contains(e){return typeof e=="string"&&(e.indexOf("/")>0||e.split(".").length!==4)&&(e=new r(e)),e instanceof r?this.contains(e.base)&&this.contains(e.broadcast||e.last):(un(e)&this.maskLong)>>>0===(this.netLong&this.maskLong)>>>0}next(e=1){return new r(bt(this.netLong+this.size*e),this.mask)}forEach(e){let t=un(this.first),n=un(this.last),o=0;for(;t<=n;)e(bt(t),t,o),o++,t++}toString(){return this.base+"/"+this.bitmask}};fn.Netmask4Impl=Kl});var ep=Nn(dn=>{"use strict";Object.defineProperty(dn,"__esModule",{value:!0});dn.Netmask6Impl=void 0;dn.ip6bigint=zl;dn.bigint2ip6=Sr;var Wy=ql(),$l=(1n<<128n)-1n;function zl(r){let e=r.indexOf("%");e!==-1&&(r=r.substring(0,e));let t=r.lastIndexOf(":");if(t!==-1&&r.indexOf(".",t)!==-1){let n=r.substring(t+1),o=(0,Wy.ip2long)(n),s=r.substring(0,t+1)+"0:0";return Jh(s)&~0xffffffffn|BigInt(o)}return Jh(r)}function Jh(r){let e=r.indexOf("::"),t;if(e!==-1){let o=r.substring(0,e),s=r.substring(e+2),i=o===""?[]:o.split(":"),a=s===""?[]:s.split(":"),c=8-i.length-a.length;if(c<0)throw new Error("Invalid IPv6: too many groups");t=[...i,...Array(c).fill("0"),...a]}else t=r.split(":");if(t.length!==8)throw new Error("Invalid IPv6: expected 8 groups, got "+t.length);let n=0n;for(let o=0;o<8;o++){let s=t[o];if(s.length===0||s.length>4)throw new Error('Invalid IPv6: bad group "'+s+'"');let i=parseInt(s,16);if(isNaN(i)||i<0||i>65535)throw new Error('Invalid IPv6: bad group "'+s+'"');n=n<<16n|BigInt(i)}return n}function Sr(r){if(r<0n||r>$l)throw new Error("Invalid IPv6 address value");let e=[];for(let i=0;i<8;i++)e.unshift(Number(r&0xffffn)),r>>=16n;let t=-1,n=0,o=-1,s=0;for(let i=0;i<8;i++)e[i]===0?o===-1?(o=i,s=1):s++:(s>n&&s>=2&&(t=o,n=s),o=-1,s=0);if(s>n&&s>=2&&(t=o,n=s),t!==-1&&t+n===8&&t>0)return e.slice(0,t).map(a=>a.toString(16)).join(":")+"::";if(t===0)return"::"+e.slice(n).map(a=>a.toString(16)).join(":");if(t>0){let i=e.slice(0,t).map(c=>c.toString(16)),a=e.slice(t+n).map(c=>c.toString(16));return i.join(":")+"::"+a.join(":")}else return e.map(i=>i.toString(16)).join(":")}var Vl=class r{constructor(e,t){if(typeof e!="string")throw new Error("Missing `net' parameter");let n=t;if(n==null){let o=e.indexOf("/");o!==-1?(n=parseInt(e.substring(o+1),10),e=e.substring(0,o)):n=128}if(isNaN(n)||n<0||n>128)throw new Error("Invalid mask for IPv6: "+n);this.bitmask=n,this.bitmask===0?this.maskBigint=0n:this.maskBigint=$l>>BigInt(128-this.bitmask)<<BigInt(128-this.bitmask);try{this.netBigint=zl(e)&this.maskBigint}catch{throw new Error("Invalid IPv6 net address: "+e)}this.size=Number(1n<<BigInt(128-this.bitmask)),this.base=Sr(this.netBigint),this.mask=Sr(this.maskBigint),this.hostmask=Sr(~this.maskBigint&$l),this.first=this.base,this.last=Sr(this.netBigint+(1n<<BigInt(128-this.bitmask))-1n),this.broadcast=void 0}contains(e){return typeof e=="string"&&e.indexOf("/")>0&&(e=new r(e)),e instanceof r?this.contains(e.base)&&this.contains(e.last):(zl(e)&this.maskBigint)===this.netBigint}next(e=1){let t=1n<<BigInt(128-this.bitmask);return new r(Sr(this.netBigint+t*BigInt(e)),this.bitmask)}forEach(e){let t=this.netBigint,n=1n<<BigInt(128-this.bitmask),o=this.netBigint+n-1n,s=0;for(;t<=o;)e(Sr(t),Number(t),s),s++,t++}toString(){return this.base+"/"+this.bitmask}};dn.Netmask6Impl=Vl});var tp=Nn(Qt=>{"use strict";Object.defineProperty(Qt,"__esModule",{value:!0});Qt.long2ip=Qt.ip2long=Qt.Netmask=void 0;var Xs=ql();Object.defineProperty(Qt,"ip2long",{enumerable:!0,get:function(){return Xs.ip2long}});Object.defineProperty(Qt,"long2ip",{enumerable:!0,get:function(){return Xs.long2ip}});var Gy=ep(),Hl=class r{constructor(e,t){if(typeof e!="string")throw new Error("Missing `net' parameter");(e.indexOf("/")!==-1?e.substring(0,e.indexOf("/")):e).indexOf(":")!==-1?this._impl=new Gy.Netmask6Impl(e,t):this._impl=new Xs.Netmask4Impl(e,t),this.base=this._impl.base,this.mask=this._impl.mask,this.hostmask=this._impl.hostmask,this.bitmask=this._impl.bitmask,this.size=this._impl.size,this.first=this._impl.first,this.last=this._impl.last,this.broadcast=this._impl.broadcast,this._impl instanceof Xs.Netmask4Impl?(this.maskLong=this._impl.maskLong,this.netLong=this._impl.netLong):(this.maskLong=0,this.netLong=0)}contains(e){return typeof e=="string"&&(e.indexOf("/")>0?e=new r(e):e.indexOf(":")===-1&&e.split(".").length!==4&&(e=new r(e))),e instanceof r?this.contains(e.base)&&this.contains(e.broadcast||e.last):this._impl.contains(e)}next(e=1){let t=this._impl.next(e);return new r(t.base,t.bitmask)}forEach(e){this._impl.forEach(e)}toString(){return this._impl.toString()}};Qt.Netmask=Hl});var hm=Nn((y4,Qu)=>{"use strict";var Rw=Object.prototype.hasOwnProperty,Fe="~";function jo(){}Object.create&&(jo.prototype=Object.create(null),new jo().__proto__||(Fe=!1));function Ow(r,e,t){this.fn=r,this.context=e,this.once=t||!1}function dm(r,e,t,n,o){if(typeof t!="function")throw new TypeError("The listener must be a function");var s=new Ow(t,n||r,o),i=Fe?Fe+e:e;return r._events[i]?r._events[i].fn?r._events[i]=[r._events[i],s]:r._events[i].push(s):(r._events[i]=s,r._eventsCount++),r}function Ea(r,e){--r._eventsCount===0?r._events=new jo:delete r._events[e]}function Pe(){this._events=new jo,this._eventsCount=0}Pe.prototype.eventNames=function(){var e=[],t,n;if(this._eventsCount===0)return e;for(n in t=this._events)Rw.call(t,n)&&e.push(Fe?n.slice(1):n);return Object.getOwnPropertySymbols?e.concat(Object.getOwnPropertySymbols(t)):e};Pe.prototype.listeners=function(e){var t=Fe?Fe+e:e,n=this._events[t];if(!n)return[];if(n.fn)return[n.fn];for(var o=0,s=n.length,i=new Array(s);o<s;o++)i[o]=n[o].fn;return i};Pe.prototype.listenerCount=function(e){var t=Fe?Fe+e:e,n=this._events[t];return n?n.fn?1:n.length:0};Pe.prototype.emit=function(e,t,n,o,s,i){var a=Fe?Fe+e:e;if(!this._events[a])return!1;var c=this._events[a],l=arguments.length,u,f;if(c.fn){switch(c.once&&this.removeListener(e,c.fn,void 0,!0),l){case 1:return c.fn.call(c.context),!0;case 2:return c.fn.call(c.context,t),!0;case 3:return c.fn.call(c.context,t,n),!0;case 4:return c.fn.call(c.context,t,n,o),!0;case 5:return c.fn.call(c.context,t,n,o,s),!0;case 6:return c.fn.call(c.context,t,n,o,s,i),!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,h;for(f=0;f<d;f++)switch(c[f].once&&this.removeListener(e,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,t);break;case 3:c[f].fn.call(c[f].context,t,n);break;case 4:c[f].fn.call(c[f].context,t,n,o);break;default:if(!u)for(h=1,u=new Array(l-1);h<l;h++)u[h-1]=arguments[h];c[f].fn.apply(c[f].context,u)}}return!0};Pe.prototype.on=function(e,t,n){return dm(this,e,t,n,!1)};Pe.prototype.once=function(e,t,n){return dm(this,e,t,n,!0)};Pe.prototype.removeListener=function(e,t,n,o){var s=Fe?Fe+e:e;if(!this._events[s])return this;if(!t)return Ea(this,s),this;var i=this._events[s];if(i.fn)i.fn===t&&(!o||i.once)&&(!n||i.context===n)&&Ea(this,s);else{for(var a=0,c=[],l=i.length;a<l;a++)(i[a].fn!==t||o&&!i[a].once||n&&i[a].context!==n)&&c.push(i[a]);c.length?this._events[s]=c.length===1?c[0]:c:Ea(this,s)}return this};Pe.prototype.removeAllListeners=function(e){var t;return e?(t=Fe?Fe+e:e,this._events[t]&&Ea(this,t)):(this._events=new jo,this._eventsCount=0),this};Pe.prototype.off=Pe.prototype.removeListener;Pe.prototype.addListener=Pe.prototype.on;Pe.prefixed=Fe;Pe.EventEmitter=Pe;typeof Qu<"u"&&(Qu.exports=Pe)});var gm=Nn((U4,mm)=>{mm.exports=function(r){if(!r)throw Error("hashlru must have a max value, of type number, greater than 0");var e=0,t=Object.create(null),n=Object.create(null);function o(s,i){t[s]=i,e++,e>=r&&(e=0,n=t,t=Object.create(null))}return{has:function(s){return t[s]!==void 0||n[s]!==void 0},remove:function(s){t[s]!==void 0&&(t[s]=void 0),n[s]!==void 0&&(n[s]=void 0)},get:function(s){var i=t[s];if(i!==void 0)return i;if((i=n[s])!==void 0)return o(s,i),i},set:function(s,i){t[s]!==void 0?t[s]=i:o(s,i)},clear:function(){t=Object.create(null),n=Object.create(null)}}}});var cx={};Ue(cx,{createLibp2p:()=>sx,dnsaddrResolver:()=>Nr,isLibp2p:()=>ax});var _f=Symbol.for("@libp2p/connection");var qa=Symbol.for("@libp2p/content-routing");var Je=class extends Error{static name="AbortError";constructor(e="The operation was aborted"){super(e),this.name="AbortError"}};var D=class extends Error{static name="InvalidParametersError";constructor(e="Invalid parameters"){super(e),this.name="InvalidParametersError"}},Nt=class extends Error{static name="InvalidPublicKeyError";constructor(e="Invalid public key"){super(e),this.name="InvalidPublicKeyError"}},Mn=class extends Error{static name="InvalidPrivateKeyError";constructor(e="Invalid private key"){super(e),this.name="InvalidPrivateKeyError"}};var rr=class extends Error{static name="ConnectionClosedError";constructor(e="The connection is closed"){super(e),this.name="ConnectionClosedError"}};var nr=class extends Error{static name="NotFoundError";constructor(e="Not found"){super(e),this.name="NotFoundError"}},Fr=class extends Error{static name="InvalidPeerIdError";constructor(e="Invalid PeerID"){super(e),this.name="InvalidPeerIdError"}},Mt=class extends Error{static name="InvalidMultiaddrError";constructor(e="Invalid multiaddr"){super(e),this.name="InvalidMultiaddrError"}},es=class extends Error{static name="InvalidCIDError";constructor(e="Invalid CID"){super(e),this.name="InvalidCIDError"}},ts=class extends Error{static name="InvalidMultihashError";constructor(e="Invalid Multihash"){super(e),this.name="InvalidMultihashError"}},rs=class extends Error{static name="UnsupportedProtocolError";constructor(e="Unsupported protocol error"){super(e),this.name="UnsupportedProtocolError"}},ns=class extends Error{static name="InvalidMessageError";constructor(e="Invalid message"){super(e),this.name="InvalidMessageError"}};var os=class extends Error{static name="TimeoutError";constructor(e="Timed out"){super(e),this.name="TimeoutError"}},Et=class extends Error{static name="NotStartedError";constructor(e="Not started"){super(e),this.name="NotStartedError"}};var Br=class extends Error{static name="DialError";constructor(e="Dial error"){super(e),this.name="DialError"}};var Fn=class extends Error{static name="LimitedConnectionError";constructor(e="Limited connection"){super(e),this.name="LimitedConnectionError"}},ss=class extends Error{static name="TooManyInboundProtocolStreamsError";constructor(e="Too many inbound protocol streams"){super(e),this.name="TooManyInboundProtocolStreamsError"}},is=class extends Error{static name="TooManyOutboundProtocolStreamsError";constructor(e="Too many outbound protocol streams"){super(e),this.name="TooManyOutboundProtocolStreamsError"}},Ft=class extends Error{static name="UnsupportedKeyTypeError";constructor(e="Unsupported key type"){super(e),this.name="UnsupportedKeyTypeError"}};var as=class extends Event{error;local;constructor(e,t,n){super("close",n),this.error=t,this.local=e}};var $a=Symbol.for("@libp2p/peer-discovery");var cs=Symbol.for("@libp2p/peer-id");function Bt(r){return!!r?.[cs]}var za=Symbol.for("@libp2p/peer-routing");var Va="keep-alive";function ls(r){return r!=null&&typeof r.start=="function"&&typeof r.stop=="function"}async function If(...r){let e=[];for(let t of r)ls(t)&&e.push(t);await Promise.all(e.map(async t=>{t.beforeStart!=null&&await t.beforeStart()})),await Promise.all(e.map(async t=>{await t.start()})),await Promise.all(e.map(async t=>{t.afterStart!=null&&await t.afterStart()}))}async function Cf(...r){let e=[];for(let t of r)ls(t)&&e.push(t);await Promise.all(e.map(async t=>{t.beforeStop!=null&&await t.beforeStop()})),await Promise.all(e.map(async t=>{await t.stop()})),await Promise.all(e.map(async t=>{t.afterStop!=null&&await t.afterStop()}))}var Bn;(function(r){r[r.FATAL_ALL=0]="FATAL_ALL",r[r.NO_FATAL=1]="NO_FATAL"})(Bn||(Bn={}));function Nm(r){return typeof r?.handleEvent=="function"}function Mm(r){return(r!==!0&&r!==!1&&r?.once)??!1}var De=class extends EventTarget{#e=new Map;constructor(){super()}listenerCount(e){let t=this.#e.get(e);return t==null?0:t.length}addEventListener(e,t,n){let o=Mm(n);super.addEventListener(e,i=>{if(o){let a=this.#e.get(i.type);a!=null&&(a=a.filter(({callback:c})=>c!==t),this.#e.set(i.type,a))}Nm(t)?t.handleEvent(i):t(i)},n);let s=this.#e.get(e);s==null&&(s=[],this.#e.set(e,s)),s.push({callback:t,once:o})}removeEventListener(e,t,n){super.removeEventListener(e.toString(),t??null,n);let o=this.#e.get(e);o!=null&&(o=o.filter(({callback:s})=>s!==t),this.#e.set(e,o))}safeDispatchEvent(e,t={}){return this.dispatchEvent(new CustomEvent(e,t))}};var Un=Symbol.for("@libp2p/service-capabilities"),Ha=Symbol.for("@libp2p/service-dependencies");var Xa={};Ue(Xa,{base58btc:()=>te,base58flickr:()=>Vm});var Wx=new Uint8Array(0);function Lf(r,e){if(r===e)return!0;if(r.byteLength!==e.byteLength)return!1;for(let t=0;t<r.byteLength;t++)if(r[t]!==e[t])return!1;return!0}function Ge(r){if(r instanceof Uint8Array&&r.constructor.name==="Uint8Array")return or(r);if(r instanceof ArrayBuffer)return new Uint8Array(r);if(ArrayBuffer.isView(r))return or(new Uint8Array(r.buffer,r.byteOffset,r.byteLength));throw new Error("Unknown type, must be binary type")}function Pf(r){let e=new Uint8Array(r.length);for(let t=0;t<r.length;t++)e[t]=r.charCodeAt(t);return e}var Tf=4096;function Df(r){let e=r.length;if(e<=Tf)return String.fromCharCode.apply(String,r);let t="",n=0;for(;n<e;)t+=String.fromCharCode.apply(String,r.subarray(n,n+=Tf));return t}function Fm(r){return r?.buffer instanceof ArrayBuffer}function or(r){return Fm(r)?r:r.slice()}function Bm(r,e,t){if(r.length>=255)throw new TypeError("Alphabet too long");for(var n=new Uint8Array(256),o=0;o<n.length;o++)n[o]=255;for(var s=0;s<r.length;s++){var i=r.charAt(s),a=i.charCodeAt(0);if(n[a]!==255)throw new TypeError(i+" is ambiguous");if(n[a]=s,t){var c=i.toLowerCase().charCodeAt(0),l=i.toUpperCase().charCodeAt(0);c!==a&&(n[c]=s),l!==a&&(n[l]=s)}}var u=r.length,f=r.charAt(0),d=Math.log(u)/Math.log(256),h=Math.log(256)/Math.log(u);function b(m){if(m instanceof Uint8Array||(ArrayBuffer.isView(m)?m=new Uint8Array(m.buffer,m.byteOffset,m.byteLength):Array.isArray(m)&&(m=Uint8Array.from(m))),!(m instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(m.length===0)return"";for(var E=0,S=0,O=0,L=m.length;O!==L&&m[O]===0;)O++,E++;for(var q=(L-O)*h+1>>>0,k=new Uint8Array(q);O!==L;){for(var I=m[O],B=0,$=q-1;(I!==0||B<S)&&$!==-1;$--,B++)I+=256*k[$]>>>0,k[$]=I%u>>>0,I=I/u>>>0;if(I!==0)throw new Error("Non-zero carry");S=B,O++}for(var F=q-S;F!==q&&k[F]===0;)F++;for(var g=f.repeat(E);F<q;++F)g+=r.charAt(k[F]);return g}function y(m){if(typeof m!="string")throw new TypeError("Expected String");if(m.length===0)return new Uint8Array;var E=0;if(m[E]!==" "){for(var S=0,O=0;m[E]===f;)S++,E++;for(var L=(m.length-E)*d+1>>>0,q=new Uint8Array(L);m[E];){var k=n[m.charCodeAt(E)];if(k===255)return;for(var I=0,B=L-1;(k!==0||I<O)&&B!==-1;B--,I++)k+=u*q[B]>>>0,q[B]=k%256>>>0,k=k/256>>>0;if(k!==0)throw new Error("Non-zero carry");O=I,E++}if(m[E]!==" "){for(var $=L-O;$!==L&&q[$]===0;)$++;for(var F=new Uint8Array(S+(L-$)),g=S;$!==L;)F[g++]=q[$++];return F}}}function p(m){var E=y(m);if(E)return E;throw new Error(`Non-${e} character`)}return{encode:b,decodeUnsafe:y,decode:p}}var Um=Bm,Km=Um,Rf=Km;var Wa=class{name;prefix;baseEncode;constructor(e,t,n){this.name=e,this.prefix=t,this.baseEncode=n}encode(e){if(e instanceof Uint8Array)return`${this.prefix}${this.baseEncode(e)}`;throw Error("Unknown type, must be binary type")}},Ga=class{name;prefix;baseDecode;prefixCodePoint;constructor(e,t,n){this.name=e,this.prefix=t;let o=t.codePointAt(0);if(o===void 0)throw new Error("Invalid prefix character");this.prefixCodePoint=o,this.baseDecode=n}decode(e){if(typeof e=="string"){if(e.codePointAt(0)!==this.prefixCodePoint)throw Error(`Unable to decode multibase string ${JSON.stringify(e)}, ${this.name} decoder only supports inputs prefixed with ${this.prefix}`);return this.baseDecode(e.slice(this.prefix.length))}else throw Error("Can only multibase decode strings")}or(e){return Of(this,e)}},ja=class{decoders;constructor(e){this.decoders=e}or(e){return Of(this,e)}decode(e){let t=e[0],n=this.decoders[t];if(n!=null)return n.decode(e);throw RangeError(`Unable to decode multibase string ${JSON.stringify(e)}, only inputs prefixed with ${Object.keys(this.decoders)} are supported`)}};function Of(r,e){return new ja({...r.decoders??{[r.prefix]:r},...e.decoders??{[e.prefix]:e}})}var Ya=class{name;prefix;baseEncode;baseDecode;encoder;decoder;constructor(e,t,n,o){this.name=e,this.prefix=t,this.baseEncode=n,this.baseDecode=o,this.encoder=new Wa(e,t,n),this.decoder=new Ga(e,t,o)}encode(e){return this.encoder.encode(e)}decode(e){return this.decoder.decode(e)}};function Ur({name:r,prefix:e,encode:t,decode:n}){return new Ya(r,e,t,n)}function Ut({name:r,prefix:e,alphabet:t,caseInsensitive:n=!1}){let{encode:o,decode:s}=Rf(t,r,n);return Ur({prefix:e,name:r,encode:o,decode:i=>Ge(s(i))})}function qm(r,e,t,n){let o=r.length;for(;r[o-1]==="=";)--o;let s=new Uint8Array(o*t/8|0),i=0,a=0,c=0;for(let l=0;l<o;++l){let u=e[r[l]];if(u===void 0)throw new SyntaxError(`Non-${n} character`);a=a<<t|u,i+=t,i>=8&&(i-=8,s[c++]=255&a>>i)}if(i>=t||(255&a<<8-i)!==0)throw new SyntaxError("Unexpected end of data");return s}function $m(r,e,t){let n=e[e.length-1]==="=",o=(1<<t)-1,s="",i=0,a=0;for(let c=0;c<r.length;++c)for(a=a<<8|r[c],i+=8;i>t;)i-=t,s+=e[o&a>>i];if(i!==0&&(s+=e[o&a<<t-i]),n)for(;(s.length*t&7)!==0;)s+="=";return s}function zm(r,e){let t={};for(let n=0;n<r.length;++n)if(t[r[n]]=n,e){let o=r[n].toLowerCase(),s=r[n].toUpperCase();o!==r[n]&&(t[o]=n),s!==r[n]&&(t[s]=n)}return t}function ae({name:r,prefix:e,bitsPerChar:t,alphabet:n,caseInsensitive:o=!1}){let s=zm(n,o);return Ur({prefix:e,name:r,encode(i){return $m(i,n,t)},decode(i){return qm(i,s,t,r)}})}var te=Ut({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),Vm=Ut({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var Za={};Ue(Za,{base32:()=>je,base32hex:()=>jm,base32hexpad:()=>Xm,base32hexpadupper:()=>Zm,base32hexupper:()=>Ym,base32pad:()=>Wm,base32padupper:()=>Gm,base32upper:()=>Hm,base32z:()=>Qm});var je=ae({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5,caseInsensitive:!0}),Hm=ae({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5,caseInsensitive:!0}),Wm=ae({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5,caseInsensitive:!0}),Gm=ae({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5,caseInsensitive:!0}),jm=ae({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5,caseInsensitive:!0}),Ym=ae({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5,caseInsensitive:!0}),Xm=ae({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5,caseInsensitive:!0}),Zm=ae({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5,caseInsensitive:!0}),Qm=ae({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var Qa={};Ue(Qa,{base36:()=>Kn,base36upper:()=>Jm});var Kn=Ut({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz",caseInsensitive:!0}),Jm=Ut({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ",caseInsensitive:!0});var eg=Ff,Nf=128,tg=127,rg=~tg,ng=Math.pow(2,31);function Ff(r,e,t){e=e||[],t=t||0;for(var n=t;r>=ng;)e[t++]=r&255|Nf,r/=128;for(;r&rg;)e[t++]=r&255|Nf,r>>>=7;return e[t]=r|0,Ff.bytes=t-n+1,e}var og=Ja,sg=128,Mf=127;function Ja(r,n){var t=0,n=n||0,o=0,s=n,i,a=r.length;do{if(s>=a)throw Ja.bytes=0,new RangeError("Could not decode varint");i=r[s++],t+=o<28?(i&Mf)<<o:(i&Mf)*Math.pow(2,o),o+=7}while(i>=sg);return Ja.bytes=s-n,t}var ig=Math.pow(2,7),ag=Math.pow(2,14),cg=Math.pow(2,21),lg=Math.pow(2,28),ug=Math.pow(2,35),fg=Math.pow(2,42),dg=Math.pow(2,49),hg=Math.pow(2,56),pg=Math.pow(2,63),mg=function(r){return r<ig?1:r<ag?2:r<cg?3:r<lg?4:r<ug?5:r<fg?6:r<dg?7:r<hg?8:r<pg?9:10},gg={encode:eg,decode:og,encodingLength:mg},yg=gg,qn=yg;function $n(r,e=0){let t=qn.decode(r,e),n=qn.decode.bytes;if(n>9)throw new RangeError("Invalid varint: too long");if(n>1&&r[e+n-1]===0)throw new RangeError("Invalid varint: not minimally encoded");return[t,n]}function Kr(r,e,t=0){return qn.encode(r,e,t),e}function qr(r){return qn.encodingLength(r)}function dt(r,e){let t=e.byteLength,n=qr(r),o=n+qr(t),s=new Uint8Array(o+t);return Kr(r,s,0),Kr(t,s,n),s.set(e,o),new $r(r,t,e,s)}function vt(r){let e=Ge(r),[t,n]=$n(e),[o,s]=$n(e.subarray(n)),i=e.subarray(n+s);if(i.byteLength!==o)throw new Error("Incorrect length");return new $r(t,o,i,e)}function Bf(r,e){if(r===e)return!0;{let t=e;return r.code===t.code&&r.size===t.size&&t.bytes instanceof Uint8Array&&Lf(r.bytes,t.bytes)}}var $r=class{code;size;digest;bytes;constructor(e,t,n,o){this.code=e,this.size=t,this.digest=or(n),this.bytes=or(o)}};function Uf(r,e){let{bytes:t,version:n}=r;return n===0?wg(t,ec(r),e??te.encoder):xg(t,ec(r),e??je.encoder)}var Kf=new WeakMap;function ec(r){let e=Kf.get(r);if(e==null){let t=new Map;return Kf.set(r,t),t}return e}var ue=class r{code;version;multihash;bytes;"/";constructor(e,t,n,o){this.code=t,this.version=e,this.multihash=n,this.bytes=or(o),this["/"]=this.bytes}get asCID(){return this}get byteOffset(){return this.bytes.byteOffset}get byteLength(){return this.bytes.byteLength}toV0(){switch(this.version){case 0:return this;case 1:{let{code:e,multihash:t}=this;if(e!==zn)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(t.code!==Eg)throw new Error("Cannot convert non sha2-256 multihash CID to CIDv0");return r.createV0(t)}default:throw Error(`Can not convert CID version ${this.version} to version 0. This is a bug please report`)}}toV1(){switch(this.version){case 0:{let{code:e,digest:t}=this.multihash,n=dt(e,t);return r.createV1(this.code,n)}case 1:return this;default:throw Error(`Can not convert CID version ${this.version} to version 1. This is a bug please report`)}}equals(e){return r.equals(this,e)}static equals(e,t){let n=t;return n!=null&&e.code===n.code&&e.version===n.version&&Bf(e.multihash,n.multihash)}toString(e){return Uf(this,e)}toJSON(){return{"/":Uf(this)}}link(){return this}[Symbol.toStringTag]="CID";[Symbol.for("nodejs.util.inspect.custom")](){return`CID(${this.toString()})`}static asCID(e){if(e==null)return null;let t=e;if(t instanceof r)return t;if(t["/"]!=null&&t["/"]===t.bytes||t.asCID===t){let{version:n,code:o,multihash:s,bytes:i}=t;return new r(n,o,s,i??qf(n,o,s.bytes))}else if(t[vg]===!0){let{version:n,multihash:o,code:s}=t,i=vt(o);return r.create(n,s,i)}else return null}static create(e,t,n){if(typeof t!="number")throw new Error("String codecs are no longer supported");if(!(n.bytes instanceof Uint8Array))throw new Error("Invalid digest");switch(e){case 0:{if(t!==zn)throw new Error(`Version 0 CID must use dag-pb (code: ${zn}) block encoding`);return new r(e,t,n,n.bytes)}case 1:{let o=qf(e,t,n.bytes);return new r(e,t,n,o)}default:throw new Error("Invalid version")}}static createV0(e){return r.create(0,zn,e)}static createV1(e,t){return r.create(1,e,t)}static decode(e){let[t,n]=r.decodeFirst(e);if(n.length!==0)throw new Error("Incorrect length");return t}static decodeFirst(e){let t=r.inspectBytes(e),n=t.size-t.multihashSize,o=Ge(e.subarray(n,n+t.multihashSize));if(o.byteLength!==t.multihashSize)throw new Error("Incorrect length");let s=o.subarray(t.multihashSize-t.digestSize),i=new $r(t.multihashCode,t.digestSize,s,o);return[t.version===0?r.createV0(i):r.createV1(t.codec,i),e.subarray(t.size)]}static inspectBytes(e){let t=0,n=()=>{let[f,d]=$n(e.subarray(t));return t+=d,f},o=n(),s=zn;if(o===18?(o=0,t=0):s=n(),o!==0&&o!==1)throw new RangeError(`Invalid CID version ${o}`);let i=t,a=n(),c=n(),l=t+c,u=l-i;return{version:o,codec:s,multihashCode:a,digestSize:c,multihashSize:u,size:l}}static parse(e,t){let[n,o]=bg(e,t),s=r.decode(o);if(s.version===0&&e[0]!=="Q")throw Error("Version 0 CID string must not include multibase prefix");return ec(s).set(n,e),s}};function bg(r,e){switch(r[0]){case"Q":{let t=e??te;return[te.prefix,t.decode(`${te.prefix}${r}`)]}case te.prefix:{let t=e??te;return[te.prefix,t.decode(r)]}case je.prefix:{let t=e??je;return[je.prefix,t.decode(r)]}case Kn.prefix:{let t=e??Kn;return[Kn.prefix,t.decode(r)]}default:{if(e==null)throw Error("To parse non base32, base36 or base58btc encoded CID multibase decoder must be provided");return[r[0],e.decode(r)]}}}function wg(r,e,t){let{prefix:n}=t;if(n!==te.prefix)throw Error(`Cannot string encode V0 in ${t.name} encoding`);let o=e.get(n);if(o==null){let s=t.encode(r).slice(1);return e.set(n,s),s}else return o}function xg(r,e,t){let{prefix:n}=t,o=e.get(n);if(o==null){let s=t.encode(r);return e.set(n,s),s}else return o}var zn=112,Eg=18;function qf(r,e,t){let n=qr(r),o=n+qr(e),s=new Uint8Array(o+t.byteLength);return Kr(r,s,0),Kr(e,s,n),s.set(t,o),s}var vg=Symbol.for("@ipld/js-cid/CID");var tc={};Ue(tc,{identity:()=>et});var $f=0,Sg="identity",zf=Ge;function Ag(r,e){if(e?.truncate!=null&&e.truncate!==r.byteLength){if(e.truncate<0||e.truncate>r.byteLength)throw new Error(`Invalid truncate option, must be less than or equal to ${r.byteLength}`);r=r.subarray(0,e.truncate)}return dt($f,zf(r))}var et={code:$f,name:Sg,encode:zf,digest:Ag};function X(r,e){if(r===e)return!0;if(r.byteLength!==e.byteLength)return!1;for(let t=0;t<r.byteLength;t++)if(r[t]!==e[t])return!1;return!0}function _g(r){return r.buffer instanceof ArrayBuffer}function Ee(r){return _g(r)?r:r.slice()}async function Vf(r="P-256"){let e=await crypto.subtle.generateKey({name:"ECDSA",namedCurve:r},!0,["sign","verify"]);return{publicKey:await crypto.subtle.exportKey("jwk",e.publicKey),privateKey:await crypto.subtle.exportKey("jwk",e.privateKey)}}async function Hf(r,e,t){let n=await crypto.subtle.importKey("jwk",r,{name:"ECDSA",namedCurve:r.crv??"P-256"},!1,["sign"]);t?.signal?.throwIfAborted();let o=await crypto.subtle.sign({name:"ECDSA",hash:{name:"SHA-256"}},n,Ee(e.subarray()));return t?.signal?.throwIfAborted(),new Uint8Array(o,0,o.byteLength)}async function Wf(r,e,t,n){let o=await crypto.subtle.importKey("jwk",r,{name:"ECDSA",namedCurve:r.crv??"P-256"},!1,["verify"]);n?.signal?.throwIfAborted();let s=await crypto.subtle.verify({name:"ECDSA",hash:{name:"SHA-256"}},o,Ee(e),Ee(t.subarray()));return n?.signal?.throwIfAborted(),s}function se(r=0){return new Uint8Array(r)}function ge(r=0){return new Uint8Array(r)}function Ig(r){return r?.buffer instanceof ArrayBuffer}function rc(r){if(Ig(r))return r;let e=r.slice();return new Uint8Array(e.buffer,0,e.byteLength)}function Ye(r,e){e==null&&(e=r.reduce((o,s)=>o+s.length,0));let t=ge(e),n=0;for(let o of r)t.set(o,n),n+=o.length;return rc(t)}var jf=Symbol.for("@achingbrain/uint8arraylist");function Gf(r,e){if(e==null||e<0)throw new RangeError("index is out of bounds");let t=0;for(let n of r){let o=t+n.byteLength;if(e<o)return{buf:n,index:e-t};t=o}throw new RangeError("index is out of bounds")}function fs(r){return!!r?.[jf]}var J=class r{bufs;length;[jf]=!0;constructor(...e){this.bufs=[],this.length=0,e.length>0&&this.appendAll(e)}*[Symbol.iterator](){yield*this.bufs}get byteLength(){return this.length}append(...e){this.appendAll(e)}appendAll(e){let t=0;for(let n of e)if(n instanceof Uint8Array)t+=n.byteLength,this.bufs.push(n);else if(fs(n)){t+=n.byteLength;for(let o of n.bufs)this.bufs.push(o)}else throw new Error("Could not append value, must be an Uint8Array or a Uint8ArrayList");this.length+=t}prepend(...e){this.prependAll(e)}prependAll(e){let t=0;for(let n of e.reverse())if(n instanceof Uint8Array)t+=n.byteLength,this.bufs.unshift(n);else if(fs(n))t+=n.byteLength,this.bufs.unshift(...n.bufs);else throw new Error("Could not prepend value, must be an Uint8Array or a Uint8ArrayList");this.length+=t}get(e){let t=Gf(this.bufs,e);return t.buf[t.index]}set(e,t){let n=Gf(this.bufs,e);n.buf[n.index]=t}write(e,t=0){if(e instanceof Uint8Array)for(let n=0;n<e.length;n++)this.set(t+n,e[n]);else if(fs(e))for(let n=0;n<e.length;n++)this.set(t+n,e.get(n));else throw new Error("Could not write value, must be an Uint8Array or a Uint8ArrayList")}consume(e){if(e=Math.trunc(e),!(Number.isNaN(e)||e<=0)){if(e===this.byteLength){this.bufs=[],this.length=0;return}for(;this.bufs.length>0;)if(e>=this.bufs[0].byteLength)e-=this.bufs[0].byteLength,this.length-=this.bufs[0].byteLength,this.bufs.shift();else{this.bufs[0]=this.bufs[0].subarray(e),this.length-=e;break}}}slice(e,t){let{bufs:n,length:o}=this._subList(e,t);return Ye(n,o)}subarray(e,t){let{bufs:n,length:o}=this._subList(e,t);return n.length===1?n[0]:Ye(n,o)}sublist(e,t){let{bufs:n,length:o}=this._subList(e,t),s=new r;return s.length=o,s.bufs=n,s}_subList(e,t){if(e=e??0,t=t??this.length,e<0&&(e=this.length+e),t<0&&(t=this.length+t),e<0||t>this.length)throw new RangeError("index is out of bounds");if(e===t)return{bufs:[],length:0};if(e===0&&t===this.length)return{bufs:[...this.bufs],length:this.length};let n=[],o=0;for(let s=0;s<this.bufs.length;s++){let i=this.bufs[s],a=o,c=a+i.byteLength;if(o=c,e>=c)continue;let l=e>=a&&e<c,u=t>a&&t<=c;if(l&&u){if(e===a&&t===c){n.push(i);break}let f=e-a;n.push(i.subarray(f,f+(t-e)));break}if(l){if(e===0){n.push(i);continue}n.push(i.subarray(e-a));continue}if(u){if(t===c){n.push(i);break}n.push(i.subarray(0,t-a));break}n.push(i)}return{bufs:n,length:t-e}}indexOf(e,t=0){if(!fs(e)&&!(e instanceof Uint8Array))throw new TypeError('The "value" argument must be a Uint8ArrayList or Uint8Array');let n=e instanceof Uint8Array?e:e.subarray();if(t=Number(t??0),isNaN(t)&&(t=0),t<0&&(t=this.length+t),t<0&&(t=0),e.length===0)return t>this.length?this.length:t;let o=n.byteLength;if(o===0)throw new TypeError("search must be at least 1 byte long");let s=256,i=new Int32Array(s);for(let f=0;f<s;f++)i[f]=-1;for(let f=0;f<o;f++)i[n[f]]=f;let a=i,c=this.byteLength-n.byteLength,l=n.byteLength-1,u;for(let f=t;f<=c;f+=u){u=0;for(let d=l;d>=0;d--){let h=this.get(f+d);if(n[d]!==h){u=Math.max(1,d-a[h]);break}}if(u===0)return f}return-1}getInt8(e){let t=this.subarray(e,e+1);return new DataView(t.buffer,t.byteOffset,t.byteLength).getInt8(0)}setInt8(e,t){let n=ge(1);new DataView(n.buffer,n.byteOffset,n.byteLength).setInt8(0,t),this.write(n,e)}getInt16(e,t){let n=this.subarray(e,e+2);return new DataView(n.buffer,n.byteOffset,n.byteLength).getInt16(0,t)}setInt16(e,t,n){let o=se(2);new DataView(o.buffer,o.byteOffset,o.byteLength).setInt16(0,t,n),this.write(o,e)}getInt32(e,t){let n=this.subarray(e,e+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getInt32(0,t)}setInt32(e,t,n){let o=se(4);new DataView(o.buffer,o.byteOffset,o.byteLength).setInt32(0,t,n),this.write(o,e)}getBigInt64(e,t){let n=this.subarray(e,e+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getBigInt64(0,t)}setBigInt64(e,t,n){let o=se(8);new DataView(o.buffer,o.byteOffset,o.byteLength).setBigInt64(0,t,n),this.write(o,e)}getUint8(e){let t=this.subarray(e,e+1);return new DataView(t.buffer,t.byteOffset,t.byteLength).getUint8(0)}setUint8(e,t){let n=ge(1);new DataView(n.buffer,n.byteOffset,n.byteLength).setUint8(0,t),this.write(n,e)}getUint16(e,t){let n=this.subarray(e,e+2);return new DataView(n.buffer,n.byteOffset,n.byteLength).getUint16(0,t)}setUint16(e,t,n){let o=se(2);new DataView(o.buffer,o.byteOffset,o.byteLength).setUint16(0,t,n),this.write(o,e)}getUint32(e,t){let n=this.subarray(e,e+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getUint32(0,t)}setUint32(e,t,n){let o=se(4);new DataView(o.buffer,o.byteOffset,o.byteLength).setUint32(0,t,n),this.write(o,e)}getBigUint64(e,t){let n=this.subarray(e,e+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getBigUint64(0,t)}setBigUint64(e,t,n){let o=se(8);new DataView(o.buffer,o.byteOffset,o.byteLength).setBigUint64(0,t,n),this.write(o,e)}getFloat32(e,t){let n=this.subarray(e,e+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getFloat32(0,t)}setFloat32(e,t,n){let o=se(4);new DataView(o.buffer,o.byteOffset,o.byteLength).setFloat32(0,t,n),this.write(o,e)}getFloat64(e,t){let n=this.subarray(e,e+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getFloat64(0,t)}setFloat64(e,t,n){let o=se(8);new DataView(o.buffer,o.byteOffset,o.byteLength).setFloat64(0,t,n),this.write(o,e)}equals(e){if(e==null||!(e instanceof r)||e.bufs.length!==this.bufs.length)return!1;for(let t=0;t<this.bufs.length;t++)if(!X(this.bufs[t],e.bufs[t]))return!1;return!0}static fromUint8Arrays(e,t){let n=new r;return n.bufs=e,t==null&&(t=e.reduce((o,s)=>o+s.byteLength,0)),n.length=t,n}};var nc={};Ue(nc,{base10:()=>Cg});var Cg=Ut({prefix:"9",name:"base10",alphabet:"0123456789"});var oc={};Ue(oc,{base16:()=>Tg,base16upper:()=>Lg});var Tg=ae({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4,caseInsensitive:!0}),Lg=ae({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4,caseInsensitive:!0});var sc={};Ue(sc,{base2:()=>Pg});var Pg=ae({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var ic={};Ue(ic,{base256emoji:()=>Ng});var Yf=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}"),Dg=Yf.reduce((r,e,t)=>(r[t]=e,r),[]),kg=Yf.reduce((r,e,t)=>{let n=e.codePointAt(0);if(n==null)throw new Error(`Invalid character: ${e}`);return r[n]=t,r},[]);function Rg(r){return r.reduce((e,t)=>(e+=Dg[t],e),"")}function Og(r){let e=[];for(let t of r){let n=t.codePointAt(0);if(n==null)throw new Error(`Invalid character: ${t}`);let o=kg[n];if(o==null)throw new Error(`Non-base256emoji character: ${t}`);e.push(o)}return new Uint8Array(e)}var Ng=Ur({prefix:"\u{1F680}",name:"base256emoji",encode:Rg,decode:Og});var lc={};Ue(lc,{base64:()=>ac,base64pad:()=>Mg,base64url:()=>cc,base64urlpad:()=>Fg});var ac=ae({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),Mg=ae({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),cc=ae({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),Fg=ae({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});var uc={};Ue(uc,{base8:()=>Bg});var Bg=ae({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var fc={};Ue(fc,{identity:()=>Ug});var Ug=Ur({prefix:"\0",name:"identity",encode:r=>Df(Ge(r)),decode:r=>Ge(Pf(r))});var DE=new TextEncoder,kE=new TextDecoder;var pc={};Ue(pc,{sha256:()=>zr,sha512:()=>zg});var $g=20;function hc({name:r,code:e,encode:t,minDigestLength:n,maxDigestLength:o}){return new dc(r,e,t,n,o)}var dc=class{name;code;encode;minDigestLength;maxDigestLength;constructor(e,t,n,o,s){this.name=e,this.code=t,this.encode=n,this.minDigestLength=o??$g,this.maxDigestLength=s}digest(e,t){if(t?.truncate!=null){if(t.truncate<this.minDigestLength)throw new Error(`Invalid truncate option, must be greater than or equal to ${this.minDigestLength}`);if(this.maxDigestLength!=null&&t.truncate>this.maxDigestLength)throw new Error(`Invalid truncate option, must be less than or equal to ${this.maxDigestLength}`)}if(e instanceof Uint8Array){let n=this.encode(e);return n instanceof Uint8Array?Xf(n,this.code,t?.truncate):n.then(o=>Xf(o,this.code,t?.truncate))}else throw Error("Unknown type, must be binary type")}};function Xf(r,e,t){if(t!=null&&t!==r.byteLength){if(t>r.byteLength)throw new Error(`Invalid truncate option, must be less than or equal to ${r.byteLength}`);r=r.subarray(0,t)}return dt(e,r)}function Qf(r){return async e=>new Uint8Array(await crypto.subtle.digest(r,e))}var zr=hc({name:"sha2-256",code:18,encode:Qf("SHA-256")}),zg=hc({name:"sha2-512",code:19,encode:Qf("SHA-512")});var Vn={...fc,...sc,...uc,...nc,...oc,...Za,...Qa,...Xa,...lc,...ic},VE={...pc,...tc};function ed(r,e,t,n){return{name:r,prefix:e,encoder:{name:r,prefix:e,encode:t},decoder:{decode:n}}}var Jf=ed("utf8","u",r=>"u"+new TextDecoder("utf8").decode(r),r=>new TextEncoder().encode(r.substring(1))),mc=ed("ascii","a",r=>{let e="a";for(let t=0;t<r.length;t++)e+=String.fromCharCode(r[t]);return e},r=>{r=r.substring(1);let e=ge(r.length);for(let t=0;t<r.length;t++)e[t]=r.charCodeAt(t);return e}),Vg={utf8:Jf,"utf-8":Jf,hex:Vn.base16,latin1:mc,ascii:mc,binary:mc,...Vn},ds=Vg;function P(r,e="utf8"){let t=ds[e];if(t==null)throw new Error(`Unsupported encoding "${e}"`);return t.decoder.decode(`${t.prefix}${r}`)}function U(r,e="utf8"){let t=ds[e];if(t==null)throw new Error(`Unsupported encoding "${e}"`);return t.encoder.encode(r).substring(1)}var Hg=parseInt("11111",2),gc=parseInt("10000000",2),Wg=parseInt("01111111",2),td={0:Hn,1:Hn,2:Gg,3:Xg,4:Zg,5:Yg,6:jg,16:Hn,22:Hn,48:Hn};function St(r,e={offset:0}){let t=r[e.offset]&Hg;if(e.offset++,td[t]!=null)return td[t](r,e);throw new Error("No decoder for tag "+t)}function Wn(r,e){let t=0;if((r[e.offset]&gc)===gc){let n=r[e.offset]&Wg,o="0x";e.offset++;for(let s=0;s<n;s++,e.offset++)o+=r[e.offset].toString(16).padStart(2,"0");t=parseInt(o,16)}else t=r[e.offset],e.offset++;return t}function Hn(r,e){Wn(r,e);let t=[];for(;!(e.offset>=r.byteLength);){let n=St(r,e);if(n===null)break;t.push(n)}return t}function Gg(r,e){let t=Wn(r,e),n=e.offset,o=e.offset+t,s=[];for(let i=n;i<o;i++)i===n&&r[i]===0||s.push(r[i]);return e.offset+=t,Uint8Array.from(s)}function jg(r,e){let t=Wn(r,e),n=e.offset+t,o=r[e.offset];e.offset++;let s=0,i=0;o<40?(s=0,i=o):o<80?(s=1,i=o-40):(s=2,i=o-80);let a=`${s}.${i}`,c=[];for(;e.offset<n;){let l=r[e.offset];if(e.offset++,c.push(l&127),l<128){c.reverse();let u=0;for(let f=0;f<c.length;f++)u+=c[f]<<f*7;a+=`.${u}`,c=[]}}return a}function Yg(r,e){return e.offset++,null}function Xg(r,e){let t=Wn(r,e),n=r[e.offset];e.offset++;let o=r.subarray(e.offset,e.offset+t-1);if(e.offset+=t,n!==0)throw new Error("Unused bits in bit string is unimplemented");return o}function Zg(r,e){let t=Wn(r,e),n=r.subarray(e.offset,e.offset+t);return e.offset+=t,n}function Qg(r){let e=r.toString(16);e.length%2===1&&(e="0"+e);let t=new J;for(let n=0;n<e.length;n+=2)t.append(Uint8Array.from([parseInt(`${e[n]}${e[n+1]}`,16)]));return t}function hs(r){if(r.byteLength<128)return Uint8Array.from([r.byteLength]);let e=Qg(r.byteLength);return new J(Uint8Array.from([e.byteLength|gc]),e)}function ke(r){let e=new J,t=128;return(r.subarray()[0]&t)===t&&e.append(Uint8Array.from([0])),e.append(r),new J(Uint8Array.from([2]),hs(e),e)}function Gn(r){let e=Uint8Array.from([0]),t=new J(e,r);return new J(Uint8Array.from([3]),hs(t),t)}function rd(r){return new J(Uint8Array.from([4]),hs(r),r)}function tt(r,e=48){let t=new J;for(let n of r)t.append(n);return new J(Uint8Array.from([e]),hs(t),t)}var Jg=Uint8Array.from([6,8,42,134,72,206,61,3,1,7]),e0=Uint8Array.from([6,5,43,129,4,0,34]),t0=Uint8Array.from([6,5,43,129,4,0,35]),r0={ext:!0,kty:"EC",crv:"P-256"},n0={ext:!0,kty:"EC",crv:"P-384"},o0={ext:!0,kty:"EC",crv:"P-521"},yc=32,bc=48,wc=66;function xc(r){let e=St(r);return nd(e)}function nd(r){let e=r[1][1][0],t=1,n,o;if(e.byteLength===yc*2+1)return n=U(e.subarray(t,t+yc),"base64url"),o=U(e.subarray(t+yc),"base64url"),new sr({...r0,key_ops:["verify"],x:n,y:o});if(e.byteLength===bc*2+1)return n=U(e.subarray(t,t+bc),"base64url"),o=U(e.subarray(t+bc),"base64url"),new sr({...n0,key_ops:["verify"],x:n,y:o});if(e.byteLength===wc*2+1)return n=U(e.subarray(t,t+wc),"base64url"),o=U(e.subarray(t+wc),"base64url"),new sr({...o0,key_ops:["verify"],x:n,y:o});throw new D(`coordinates were wrong length, got ${e.byteLength}, expected 65, 97 or 133`)}function od(r){return tt([ke(Uint8Array.from([1])),rd(P(r.d??"","base64url")),tt([id(r.crv)],160),tt([Gn(new J(Uint8Array.from([4]),P(r.x??"","base64url"),P(r.y??"","base64url")))],161)]).subarray()}function sd(r){return tt([ke(Uint8Array.from([1])),tt([id(r.crv)],160),tt([Gn(new J(Uint8Array.from([4]),P(r.x??"","base64url"),P(r.y??"","base64url")))],161)]).subarray()}function id(r){if(r==="P-256")return Jg;if(r==="P-384")return e0;if(r==="P-521")return t0;throw new D(`Invalid curve ${r}`)}async function ad(r="P-256"){let e=await Vf(r);return new ps(e.privateKey)}var sr=class{type="ECDSA";jwk;_raw;constructor(e){this.jwk=e}get raw(){return this._raw==null&&(this._raw=sd(this.jwk)),this._raw}toMultihash(){return et.digest(Xe(this))}toCID(){return ue.createV1(114,this.toMultihash())}toString(){return te.encode(this.toMultihash().bytes).substring(1)}equals(e){return e==null||!(e.raw instanceof Uint8Array)?!1:X(this.raw,e.raw)}async verify(e,t,n){return Wf(this.jwk,t,e,n)}},ps=class{type="ECDSA";jwk;publicKey;_raw;constructor(e){this.jwk=e,this.publicKey=new sr({crv:e.crv,ext:e.ext,key_ops:["verify"],kty:"EC",x:e.x,y:e.y})}get raw(){return this._raw==null&&(this._raw=od(this.jwk)),this._raw}equals(e){return e==null||!(e.raw instanceof Uint8Array)?!1:X(this.raw,e.raw)}async sign(e,t){return Hf(this.jwk,e,t)}};function Ec(r){return r instanceof Uint8Array||ArrayBuffer.isView(r)&&r.constructor.name==="Uint8Array"&&"BYTES_PER_ELEMENT"in r&&r.BYTES_PER_ELEMENT===1}function qt(r,e=""){if(typeof r!="number"){let t=e&&`"${e}" `;throw new TypeError(`${t}expected number, got ${typeof r}`)}if(!Number.isSafeInteger(r)||r<0){let t=e&&`"${e}" `;throw new RangeError(`${t}expected integer >= 0, got ${r}`)}}function $e(r,e,t=""){let n=Ec(r),o=r?.length,s=e!==void 0;if(!n||s&&o!==e){let i=t&&`"${t}" `,a=s?` of length ${e}`:"",c=n?`length=${o}`:`type=${typeof r}`,l=i+"expected Uint8Array"+a+", got "+c;throw n?new RangeError(l):new TypeError(l)}return r}function ms(r){if(typeof r!="function"||typeof r.create!="function")throw new TypeError("Hash must wrapped by utils.createHasher");if(qt(r.outputLen),qt(r.blockLen),r.outputLen<1)throw new Error('"outputLen" must be >= 1');if(r.blockLen<1)throw new Error('"blockLen" must be >= 1')}function Vr(r,e=!0){if(r.destroyed)throw new Error("Hash instance has been destroyed");if(e&&r.finished)throw new Error("Hash#digest() has already been called")}function gs(r,e){$e(r,void 0,"digestInto() output");let t=e.outputLen;if(r.length<t)throw new RangeError('"digestInto() output" expected to be of length >='+t)}function _t(...r){for(let e=0;e<r.length;e++)r[e].fill(0)}function ys(r){return new DataView(r.buffer,r.byteOffset,r.byteLength)}function rt(r,e){return r<<32-e|r>>>e}var ld=typeof Uint8Array.from([]).toHex=="function"&&typeof Uint8Array.fromHex=="function",s0=Array.from({length:256},(r,e)=>e.toString(16).padStart(2,"0"));function bs(r){if($e(r),ld)return r.toHex();let e="";for(let t=0;t<r.length;t++)e+=s0[r[t]];return e}var At={_0:48,_9:57,A:65,F:70,a:97,f:102};function cd(r){if(r>=At._0&&r<=At._9)return r-At._0;if(r>=At.A&&r<=At.F)return r-(At.A-10);if(r>=At.a&&r<=At.f)return r-(At.a-10)}function jn(r){if(typeof r!="string")throw new TypeError("hex string expected, got "+typeof r);if(ld)try{return Uint8Array.fromHex(r)}catch(o){throw o instanceof SyntaxError?new RangeError(o.message):o}let e=r.length,t=e/2;if(e%2)throw new RangeError("hex string expected, got unpadded hex of length "+e);let n=new Uint8Array(t);for(let o=0,s=0;o<t;o++,s+=2){let i=cd(r.charCodeAt(s)),a=cd(r.charCodeAt(s+1));if(i===void 0||a===void 0){let c=r[s]+r[s+1];throw new RangeError('hex string expected, got non-hex character "'+c+'" at index '+s)}n[o]=i*16+a}return n}function vc(...r){let e=0;for(let n=0;n<r.length;n++){let o=r[n];$e(o),e+=o.length}let t=new Uint8Array(e);for(let n=0,o=0;n<r.length;n++){let s=r[n];t.set(s,o),o+=s.length}return t}function Sc(r,e={}){let t=(o,s)=>r(s).update(o).digest(),n=r(void 0);return t.outputLen=n.outputLen,t.blockLen=n.blockLen,t.canXOF=n.canXOF,t.create=o=>r(o),Object.assign(t,e),Object.freeze(t)}function ud(r=32){qt(r,"bytesLength");let e=typeof globalThis=="object"?globalThis.crypto:null;if(typeof e?.getRandomValues!="function")throw new Error("crypto.getRandomValues must be defined");if(r>65536)throw new RangeError(`"bytesLength" expected <= 65536, got ${r}`);return e.getRandomValues(new Uint8Array(r))}var Ac=r=>({oid:Uint8Array.from([6,9,96,134,72,1,101,3,4,2,r])});function fd(r,e,t){return r&e^~r&t}function dd(r,e,t){return r&e^r&t^e&t}var Yn=class{blockLen;outputLen;canXOF=!1;padOffset;isLE;buffer;view;finished=!1;length=0;pos=0;destroyed=!1;constructor(e,t,n,o){this.blockLen=e,this.outputLen=t,this.padOffset=n,this.isLE=o,this.buffer=new Uint8Array(e),this.view=ys(this.buffer)}update(e){Vr(this),$e(e);let{view:t,buffer:n,blockLen:o}=this,s=e.length;for(let i=0;i<s;){let a=Math.min(o-this.pos,s-i);if(a===o){let c=ys(e);for(;o<=s-i;i+=o)this.process(c,i);continue}n.set(e.subarray(i,i+a),this.pos),this.pos+=a,i+=a,this.pos===o&&(this.process(t,0),this.pos=0)}return this.length+=e.length,this.roundClean(),this}digestInto(e){Vr(this),gs(e,this),this.finished=!0;let{buffer:t,view:n,blockLen:o,isLE:s}=this,{pos:i}=this;t[i++]=128,_t(this.buffer.subarray(i)),this.padOffset>o-i&&(this.process(n,0),i=0);for(let f=i;f<o;f++)t[f]=0;n.setBigUint64(o-8,BigInt(this.length*8),s),this.process(n,0);let a=ys(e),c=this.outputLen;if(c%4)throw new Error("_sha2: outputLen must 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],s)}digest(){let{buffer:e,outputLen:t}=this;this.digestInto(e);let n=e.slice(0,t);return this.destroy(),n}_cloneInto(e){e||=new this.constructor,e.set(...this.get());let{blockLen:t,buffer:n,length:o,finished:s,destroyed:i,pos:a}=this;return e.destroyed=i,e.finished=s,e.length=o,e.pos=a,o%t&&e.buffer.set(n),e}clone(){return this._cloneInto()}},It=Uint32Array.from([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]);var ve=Uint32Array.from([1779033703,4089235720,3144134277,2227873595,1013904242,4271175723,2773480762,1595750129,1359893119,2917565137,2600822924,725511199,528734635,4215389547,1541459225,327033209]);var ws=BigInt(4294967295),hd=BigInt(32);function i0(r,e=!1){return e?{h:Number(r&ws),l:Number(r>>hd&ws)}:{h:Number(r>>hd&ws)|0,l:Number(r&ws)|0}}function pd(r,e=!1){let t=r.length,n=new Uint32Array(t),o=new Uint32Array(t);for(let s=0;s<t;s++){let{h:i,l:a}=i0(r[s],e);[n[s],o[s]]=[i,a]}return[n,o]}var _c=(r,e,t)=>r>>>t,Ic=(r,e,t)=>r<<32-t|e>>>t,ir=(r,e,t)=>r>>>t|e<<32-t,ar=(r,e,t)=>r<<32-t|e>>>t,Xn=(r,e,t)=>r<<64-t|e>>>t-32,Zn=(r,e,t)=>r>>>t-32|e<<64-t;function ht(r,e,t,n){let o=(e>>>0)+(n>>>0);return{h:r+t+(o/2**32|0)|0,l:o|0}}var md=(r,e,t)=>(r>>>0)+(e>>>0)+(t>>>0),gd=(r,e,t,n)=>e+t+n+(r/2**32|0)|0,yd=(r,e,t,n)=>(r>>>0)+(e>>>0)+(t>>>0)+(n>>>0),bd=(r,e,t,n,o)=>e+t+n+o+(r/2**32|0)|0,wd=(r,e,t,n,o)=>(r>>>0)+(e>>>0)+(t>>>0)+(n>>>0)+(o>>>0),xd=(r,e,t,n,o,s)=>e+t+n+o+s+(r/2**32|0)|0;var c0=Uint32Array.from([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]),$t=new Uint32Array(64),Cc=class extends Yn{constructor(e){super(64,e,8,!1)}get(){let{A:e,B:t,C:n,D:o,E:s,F:i,G:a,H:c}=this;return[e,t,n,o,s,i,a,c]}set(e,t,n,o,s,i,a,c){this.A=e|0,this.B=t|0,this.C=n|0,this.D=o|0,this.E=s|0,this.F=i|0,this.G=a|0,this.H=c|0}process(e,t){for(let f=0;f<16;f++,t+=4)$t[f]=e.getUint32(t,!1);for(let f=16;f<64;f++){let d=$t[f-15],h=$t[f-2],b=rt(d,7)^rt(d,18)^d>>>3,y=rt(h,17)^rt(h,19)^h>>>10;$t[f]=y+$t[f-7]+b+$t[f-16]|0}let{A:n,B:o,C:s,D:i,E:a,F:c,G:l,H:u}=this;for(let f=0;f<64;f++){let d=rt(a,6)^rt(a,11)^rt(a,25),h=u+d+fd(a,c,l)+c0[f]+$t[f]|0,y=(rt(n,2)^rt(n,13)^rt(n,22))+dd(n,o,s)|0;u=l,l=c,c=a,a=i+h|0,i=s,s=o,o=n,n=h+y|0}n=n+this.A|0,o=o+this.B|0,s=s+this.C|0,i=i+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,s,i,a,c,l,u)}roundClean(){_t($t)}destroy(){this.destroyed=!0,this.set(0,0,0,0,0,0,0,0),_t(this.buffer)}},Tc=class extends Cc{A=It[0]|0;B=It[1]|0;C=It[2]|0;D=It[3]|0;E=It[4]|0;F=It[5]|0;G=It[6]|0;H=It[7]|0;constructor(){super(32)}};var Ed=pd(["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))),l0=Ed[0],u0=Ed[1],zt=new Uint32Array(80),Vt=new Uint32Array(80),Lc=class extends Yn{constructor(e){super(128,e,16,!1)}get(){let{Ah:e,Al:t,Bh:n,Bl:o,Ch:s,Cl:i,Dh:a,Dl:c,Eh:l,El:u,Fh:f,Fl:d,Gh:h,Gl:b,Hh:y,Hl:p}=this;return[e,t,n,o,s,i,a,c,l,u,f,d,h,b,y,p]}set(e,t,n,o,s,i,a,c,l,u,f,d,h,b,y,p){this.Ah=e|0,this.Al=t|0,this.Bh=n|0,this.Bl=o|0,this.Ch=s|0,this.Cl=i|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=h|0,this.Gl=b|0,this.Hh=y|0,this.Hl=p|0}process(e,t){for(let S=0;S<16;S++,t+=4)zt[S]=e.getUint32(t),Vt[S]=e.getUint32(t+=4);for(let S=16;S<80;S++){let O=zt[S-15]|0,L=Vt[S-15]|0,q=ir(O,L,1)^ir(O,L,8)^_c(O,L,7),k=ar(O,L,1)^ar(O,L,8)^Ic(O,L,7),I=zt[S-2]|0,B=Vt[S-2]|0,$=ir(I,B,19)^Xn(I,B,61)^_c(I,B,6),F=ar(I,B,19)^Zn(I,B,61)^Ic(I,B,6),g=yd(k,F,Vt[S-7],Vt[S-16]),w=bd(g,q,$,zt[S-7],zt[S-16]);zt[S]=w|0,Vt[S]=g|0}let{Ah:n,Al:o,Bh:s,Bl:i,Ch:a,Cl:c,Dh:l,Dl:u,Eh:f,El:d,Fh:h,Fl:b,Gh:y,Gl:p,Hh:m,Hl:E}=this;for(let S=0;S<80;S++){let O=ir(f,d,14)^ir(f,d,18)^Xn(f,d,41),L=ar(f,d,14)^ar(f,d,18)^Zn(f,d,41),q=f&h^~f&y,k=d&b^~d&p,I=wd(E,L,k,u0[S],Vt[S]),B=xd(I,m,O,q,l0[S],zt[S]),$=I|0,F=ir(n,o,28)^Xn(n,o,34)^Xn(n,o,39),g=ar(n,o,28)^Zn(n,o,34)^Zn(n,o,39),w=n&s^n&a^s&a,A=o&i^o&c^i&c;m=y|0,E=p|0,y=h|0,p=b|0,h=f|0,b=d|0,{h:f,l:d}=ht(l|0,u|0,B|0,$|0),l=a|0,u=c|0,a=s|0,c=i|0,s=n|0,i=o|0;let v=md($,g,A);n=gd(v,B,F,w),o=v|0}({h:n,l:o}=ht(this.Ah|0,this.Al|0,n|0,o|0)),{h:s,l:i}=ht(this.Bh|0,this.Bl|0,s|0,i|0),{h:a,l:c}=ht(this.Ch|0,this.Cl|0,a|0,c|0),{h:l,l:u}=ht(this.Dh|0,this.Dl|0,l|0,u|0),{h:f,l:d}=ht(this.Eh|0,this.El|0,f|0,d|0),{h,l:b}=ht(this.Fh|0,this.Fl|0,h|0,b|0),{h:y,l:p}=ht(this.Gh|0,this.Gl|0,y|0,p|0),{h:m,l:E}=ht(this.Hh|0,this.Hl|0,m|0,E|0),this.set(n,o,s,i,a,c,l,u,f,d,h,b,y,p,m,E)}roundClean(){_t(zt,Vt)}destroy(){this.destroyed=!0,_t(this.buffer),this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)}},Pc=class extends Lc{Ah=ve[0]|0;Al=ve[1]|0;Bh=ve[2]|0;Bl=ve[3]|0;Ch=ve[4]|0;Cl=ve[5]|0;Dh=ve[6]|0;Dl=ve[7]|0;Eh=ve[8]|0;El=ve[9]|0;Fh=ve[10]|0;Fl=ve[11]|0;Gh=ve[12]|0;Gl=ve[13]|0;Hh=ve[14]|0;Hl=ve[15]|0;constructor(){super(64)}};var Hr=Sc(()=>new Tc,Ac(1));var xs=Sc(()=>new Pc,Ac(3));var W=(r,e,t)=>$e(r,e,t),kc=qt,Wr=bs,he=(...r)=>vc(...r),Gr=r=>jn(r),cr=Ec,Qn=r=>ud(r),vs=BigInt(0),Dc=BigInt(1);function nt(r,e=""){if(typeof r!="boolean"){let t=e&&`"${e}" `;throw new TypeError(t+"expected boolean, got type="+typeof r)}return r}function Ss(r){if(typeof r=="bigint"){if(!Es(r))throw new RangeError("positive bigint expected, got "+r)}else kc(r);return r}function ot(r,e=""){if(typeof r!="number"){let t=e&&`"${e}" `;throw new TypeError(t+"expected number, got type="+typeof r)}if(!Number.isSafeInteger(r)){let t=e&&`"${e}" `;throw new RangeError(t+"expected safe integer, got "+r)}}function Jn(r){let e=Ss(r).toString(16);return e.length&1?"0"+e:e}function vd(r){if(typeof r!="string")throw new TypeError("hex string expected, got "+typeof r);return r===""?vs:BigInt("0x"+r)}function lr(r){return vd(bs(r))}function pt(r){return vd(bs(eo($e(r)).reverse()))}function As(r,e){if(qt(e),e===0)throw new RangeError("zero length");r=Ss(r);let t=r.toString(16);if(t.length>e*2)throw new RangeError("number too large");return jn(t.padStart(e*2,"0"))}function Rc(r,e){return As(r,e).reverse()}function Sd(r,e){if(r=W(r),e=W(e),r.length!==e.length)return!1;let t=0;for(let n=0;n<r.length;n++)t|=r[n]^e[n];return t===0}function eo(r){return Uint8Array.from(W(r))}function _s(r){if(typeof r!="string")throw new TypeError("ascii string expected, got "+typeof r);return Uint8Array.from(r,(e,t)=>{let n=e.charCodeAt(0);if(e.length!==1||n>127)throw new RangeError(`string contains non-ASCII character "${r[t]}" with code ${n} at position ${t}`);return n})}var Es=r=>typeof r=="bigint"&&vs<=r;function f0(r,e,t){return Es(r)&&Es(e)&&Es(t)&&e<=r&&r<t}function jr(r,e,t,n){if(!f0(e,t,n))throw new RangeError("expected valid "+r+": "+t+" <= n < "+n+", got "+e)}function Yr(r){if(r<vs)throw new Error("expected non-negative bigint, got "+r);let e;for(e=0;r>vs;r>>=Dc,e+=1);return e}var to=r=>(Dc<<BigInt(r))-Dc;function Ad(r,e,t){if(qt(r,"hashLen"),qt(e,"qByteLen"),typeof t!="function")throw new TypeError("hmacFn must be a function");let n=p=>new Uint8Array(p),o=Uint8Array.of(),s=Uint8Array.of(0),i=Uint8Array.of(1),a=1e3,c=n(r),l=n(r),u=0,f=()=>{c.fill(1),l.fill(0),u=0},d=(...p)=>t(l,he(c,...p)),h=(p=o)=>{l=d(s,p),c=d(),p.length!==0&&(l=d(i,p),c=d())},b=()=>{if(u++>=a)throw new Error("drbg: tried max amount of iterations");let p=0,m=[];for(;p<e;){c=d();let E=c.slice();m.push(E),p+=c.length}return he(...m)};return(p,m)=>{f(),h(p);let E;for(;(E=m(b()))===void 0;)h();return f(),E}}function st(r,e={},t={}){if(Object.prototype.toString.call(r)!=="[object Object]")throw new TypeError("expected valid options object");function n(s,i,a){if(!a&&i!=="function"&&!Object.hasOwn(r,s))throw new TypeError(`param "${s}" is invalid: expected own property`);let c=r[s];if(a&&c===void 0)return;let l=typeof c;if(l!==i||c===null)throw new TypeError(`param "${s}" is invalid: expected ${i}, got ${l}`)}let o=(s,i)=>Object.entries(s).forEach(([a,c])=>n(a,c,i));o(e,!1),o(t,!0)}var Oc=()=>{throw new Error("not implemented")};var Se=BigInt(0),ce=BigInt(1),ur=BigInt(2),Td=BigInt(3),Ld=BigInt(4),Pd=BigInt(5),d0=BigInt(7),Dd=BigInt(8),h0=BigInt(9),kd=BigInt(16);function fe(r,e){if(e<=Se)throw new Error("mod: expected positive modulus, got "+e);let t=r%e;return t>=Se?t:e+t}function oe(r,e,t){if(e<Se)throw new Error("pow2: expected non-negative exponent, got "+e);let n=r;for(;e-- >Se;)n*=n,n%=t;return n}function _d(r,e){if(r===Se)throw new Error("invert: expected non-zero number");if(e<=Se)throw new Error("invert: expected positive modulus, got "+e);let t=fe(r,e),n=e,o=Se,s=ce,i=ce,a=Se;for(;t!==Se;){let l=n/t,u=n-t*l,f=o-i*l,d=s-a*l;n=t,t=u,o=i,s=a,i=f,a=d}if(n!==ce)throw new Error("invert: does not exist");return fe(o,e)}function Nc(r,e,t){let n=r;if(!n.eql(n.sqr(e),t))throw new Error("Cannot find square root")}function Rd(r,e){let t=r,n=(t.ORDER+ce)/Ld,o=t.pow(e,n);return Nc(t,o,e),o}function p0(r,e){let t=r,n=(t.ORDER-Pd)/Dd,o=t.mul(e,ur),s=t.pow(o,n),i=t.mul(e,s),a=t.mul(t.mul(i,ur),s),c=t.mul(i,t.sub(a,t.ONE));return Nc(t,c,e),c}function m0(r){let e=Xr(r),t=Od(r),n=t(e,e.neg(e.ONE)),o=t(e,n),s=t(e,e.neg(n)),i=(r+d0)/kd;return((a,c)=>{let l=a,u=l.pow(c,i),f=l.mul(u,n),d=l.mul(u,o),h=l.mul(u,s),b=l.eql(l.sqr(f),c),y=l.eql(l.sqr(d),c);u=l.cmov(u,f,b),f=l.cmov(h,d,y);let p=l.eql(l.sqr(f),c),m=l.cmov(u,f,p);return Nc(l,m,c),m})}function Od(r){if(r<Td)throw new Error("sqrt is not defined for small field");let e=r-ce,t=0;for(;e%ur===Se;)e/=ur,t++;let n=ur,o=Xr(r);for(;Id(o,n)===1;)if(n++>1e3)throw new Error("Cannot find square root: probably non-prime P");if(t===1)return Rd;let s=o.pow(n,e),i=(e+ce)/ur;return function(c,l){let u=c;if(u.is0(l))return l;if(Id(u,l)!==1)throw new Error("Cannot find square root");let f=t,d=u.mul(u.ONE,s),h=u.pow(l,e),b=u.pow(l,i);for(;!u.eql(h,u.ONE);){if(u.is0(h))return u.ZERO;let y=1,p=u.sqr(h);for(;!u.eql(p,u.ONE);)if(y++,p=u.sqr(p),y===f)throw new Error("Cannot find square root");let m=ce<<BigInt(f-y-1),E=u.pow(d,m);f=y,d=u.sqr(E),h=u.mul(h,d),b=u.mul(b,E)}return b}}function g0(r){return r%Ld===Td?Rd:r%Dd===Pd?p0:r%kd===h0?m0(r):Od(r)}var Ct=(r,e)=>(fe(r,e)&ce)===ce,y0=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"];function Mc(r){let e={ORDER:"bigint",BYTES:"number",BITS:"number"},t=y0.reduce((n,o)=>(n[o]="function",n),e);if(st(r,t),ot(r.BYTES,"BYTES"),ot(r.BITS,"BITS"),r.BYTES<1||r.BITS<1)throw new Error("invalid field: expected BYTES/BITS > 0");if(r.ORDER<=ce)throw new Error("invalid field: expected ORDER > 1, got "+r.ORDER);return r}function b0(r,e,t){let n=r;if(t<Se)throw new Error("invalid exponent, negatives unsupported");if(t===Se)return n.ONE;if(t===ce)return e;let o=n.ONE,s=e;for(;t>Se;)t&ce&&(o=n.mul(o,s)),s=n.sqr(s),t>>=ce;return o}function ro(r,e,t=!1){let n=r,o=new Array(e.length).fill(t?n.ZERO:void 0),s=e.reduce((a,c,l)=>n.is0(c)?a:(o[l]=a,n.mul(a,c)),n.ONE),i=n.inv(s);return e.reduceRight((a,c,l)=>n.is0(c)?a:(o[l]=n.mul(a,o[l]),n.mul(a,c)),i),o}function Id(r,e){let t=r,n=(t.ORDER-ce)/ur,o=t.pow(e,n),s=t.eql(o,t.ONE),i=t.eql(o,t.ZERO),a=t.eql(o,t.neg(t.ONE));if(!s&&!i&&!a)throw new Error("invalid Legendre symbol result");return s?1:i?0:-1}function w0(r,e){if(e!==void 0&&kc(e),r<=Se)throw new Error("invalid n length: expected positive n, got "+r);if(e!==void 0&&e<1)throw new Error("invalid n length: expected positive bit length, got "+e);let t=Yr(r);if(e!==void 0&&e<t)throw new Error(`invalid n length: expected bit length (${t}) >= n.length (${e})`);let n=e!==void 0?e:t,o=Math.ceil(n/8);return{nBitLength:n,nByteLength:o}}var Cd=new WeakMap,Is=class{ORDER;BITS;BYTES;isLE;ZERO=Se;ONE=ce;_lengths;_mod;constructor(e,t={}){if(e<=ce)throw new Error("invalid field: expected ORDER > 1, got "+e);let n;this.isLE=!1,t!=null&&typeof t=="object"&&(typeof t.BITS=="number"&&(n=t.BITS),typeof t.sqrt=="function"&&Object.defineProperty(this,"sqrt",{value:t.sqrt,enumerable:!0}),typeof t.isLE=="boolean"&&(this.isLE=t.isLE),t.allowedLengths&&(this._lengths=Object.freeze(t.allowedLengths.slice())),typeof t.modFromBytes=="boolean"&&(this._mod=t.modFromBytes));let{nBitLength:o,nByteLength:s}=w0(e,n);if(s>2048)throw new Error("invalid field: expected ORDER of <= 2048 bytes");this.ORDER=e,this.BITS=o,this.BYTES=s,Object.freeze(this)}create(e){return fe(e,this.ORDER)}isValid(e){if(typeof e!="bigint")throw new TypeError("invalid field element: expected bigint, got "+typeof e);return Se<=e&&e<this.ORDER}is0(e){return e===Se}isValidNot0(e){return!this.is0(e)&&this.isValid(e)}isOdd(e){return(e&ce)===ce}neg(e){return fe(-e,this.ORDER)}eql(e,t){return e===t}sqr(e){return fe(e*e,this.ORDER)}add(e,t){return fe(e+t,this.ORDER)}sub(e,t){return fe(e-t,this.ORDER)}mul(e,t){return fe(e*t,this.ORDER)}pow(e,t){return b0(this,e,t)}div(e,t){return fe(e*_d(t,this.ORDER),this.ORDER)}sqrN(e){return e*e}addN(e,t){return e+t}subN(e,t){return e-t}mulN(e,t){return e*t}inv(e){return _d(e,this.ORDER)}sqrt(e){let t=Cd.get(this);return t||Cd.set(this,t=g0(this.ORDER)),t(this,e)}toBytes(e){return this.isLE?Rc(e,this.BYTES):As(e,this.BYTES)}fromBytes(e,t=!1){W(e);let{_lengths:n,BYTES:o,isLE:s,ORDER:i,_mod:a}=this;if(n){if(e.length<1||!n.includes(e.length)||e.length>o)throw new Error("Field.fromBytes: expected "+n+" bytes, got "+e.length);let l=new Uint8Array(o);l.set(e,s?0:l.length-e.length),e=l}if(e.length!==o)throw new Error("Field.fromBytes: expected "+o+" bytes, got "+e.length);let c=s?pt(e):lr(e);if(a&&(c=fe(c,i)),!t&&!this.isValid(c))throw new Error("invalid field element: outside of range 0..ORDER");return c}invertBatch(e){return ro(this,e)}cmov(e,t,n){return nt(n,"condition"),n?t:e}};Object.freeze(Is.prototype);function Xr(r,e={}){return new Is(r,e)}function Nd(r){if(typeof r!="bigint")throw new Error("field order must be bigint");if(r<=ce)throw new Error("field order must be greater than 1");let e=Yr(r-ce);return Math.ceil(e/8)}function Fc(r){let e=Nd(r);return e+Math.ceil(e/2)}function Bc(r,e,t=!1){W(r);let n=r.length,o=Nd(e),s=Math.max(Fc(e),16);if(n<s||n>1024)throw new Error("expected "+s+"-1024 bytes of input, got "+n);let i=t?pt(r):lr(r),a=fe(i,e-ce)+ce;return t?Rc(a,o):As(a,o)}var Zr=BigInt(0),fr=BigInt(1);function no(r,e){let t=e.negate();return r?t:e}function dr(r,e){let t=ro(r.Fp,e.map(n=>n.Z));return e.map((n,o)=>r.fromAffine(n.toAffine(t[o])))}function Ud(r,e){if(!Number.isSafeInteger(r)||r<=0||r>e)throw new Error("invalid window size, expected [1.."+e+"], got W="+r)}function Uc(r,e){Ud(r,e);let t=Math.ceil(e/r)+1,n=2**(r-1),o=2**r,s=to(r),i=BigInt(r);return{windows:t,windowSize:n,mask:s,maxNumber:o,shiftBy:i}}function Md(r,e,t){let{windowSize:n,mask:o,maxNumber:s,shiftBy:i}=t,a=Number(r&o),c=r>>i;a>n&&(a-=s,c+=fr);let l=e*n,u=l+Math.abs(a)-1,f=a===0,d=a<0,h=e%2!==0;return{nextN:c,offset:u,isZero:f,isNeg:d,isNegF:h,offsetF:l}}var Kc=new WeakMap,Kd=new WeakMap;function qc(r){return Kd.get(r)||1}function Fd(r){if(r!==Zr)throw new Error("invalid wNAF")}var Qr=class{BASE;ZERO;Fn;bits;constructor(e,t){this.BASE=e.BASE,this.ZERO=e.ZERO,this.Fn=e.Fn,this.bits=t}_unsafeLadder(e,t,n=this.ZERO){let o=e;for(;t>Zr;)t&fr&&(n=n.add(o)),o=o.double(),t>>=fr;return n}precomputeWindow(e,t){let{windows:n,windowSize:o}=Uc(t,this.bits),s=[],i=e,a=i;for(let c=0;c<n;c++){a=i,s.push(a);for(let l=1;l<o;l++)a=a.add(i),s.push(a);i=a.double()}return s}wNAF(e,t,n){if(!this.Fn.isValid(n))throw new Error("invalid scalar");let o=this.ZERO,s=this.BASE,i=Uc(e,this.bits);for(let a=0;a<i.windows;a++){let{nextN:c,offset:l,isZero:u,isNeg:f,isNegF:d,offsetF:h}=Md(n,a,i);n=c,u?s=s.add(no(d,t[h])):o=o.add(no(f,t[l]))}return Fd(n),{p:o,f:s}}wNAFUnsafe(e,t,n,o=this.ZERO){let s=Uc(e,this.bits);for(let i=0;i<s.windows&&n!==Zr;i++){let{nextN:a,offset:c,isZero:l,isNeg:u}=Md(n,i,s);if(n=a,!l){let f=t[c];o=o.add(u?f.negate():f)}}return Fd(n),o}getPrecomputes(e,t,n){let o=Kc.get(t);return o||(o=this.precomputeWindow(t,e),e!==1&&(typeof n=="function"&&(o=n(o)),Kc.set(t,o))),o}cached(e,t,n){let o=qc(e);return this.wNAF(o,this.getPrecomputes(o,e,n),t)}unsafe(e,t,n,o){let s=qc(e);return s===1?this._unsafeLadder(e,t,o):this.wNAFUnsafe(s,this.getPrecomputes(s,e,n),t,o)}createCache(e,t){Ud(t,this.bits),Kd.set(e,t),Kc.delete(e)}hasCache(e){return qc(e)!==1}};function qd(r,e,t,n){let o=e,s=r.ZERO,i=r.ZERO;for(;t>Zr||n>Zr;)t&fr&&(s=s.add(o)),n&fr&&(i=i.add(o)),o=o.double(),t>>=fr,n>>=fr;return{p1:s,p2:i}}function Bd(r,e,t){if(e){if(e.ORDER!==r)throw new Error("Field.ORDER must match order: Fp == p, Fn == n");return Mc(e),e}else return Xr(r,{isLE:t})}function Cs(r,e,t={},n){if(n===void 0&&(n=r==="edwards"),!e||typeof e!="object")throw new Error(`expected valid ${r} CURVE object`);for(let c of["p","n","h"]){let l=e[c];if(!(typeof l=="bigint"&&l>Zr))throw new Error(`CURVE.${c} must be positive bigint`)}let o=Bd(e.p,t.Fp,n),s=Bd(e.n,t.Fn,n),a=["Gx","Gy","a",r==="weierstrass"?"b":"d"];for(let c of a)if(!o.isValid(e[c]))throw new Error(`CURVE.${c} must be valid field element of CURVE.Fp`);return e=Object.freeze(Object.assign({},e)),{CURVE:e,Fp:o,Fn:s}}function Ts(r,e){return function(n){let o=r(n);return{secretKey:o,publicKey:e(o)}}}var Ht=BigInt(0),ye=BigInt(1),$c=BigInt(2),x0=BigInt(8);function E0(r,e,t,n){let o=r.sqr(t),s=r.sqr(n),i=r.add(r.mul(e.a,o),s),a=r.add(r.ONE,r.mul(e.d,r.mul(o,s)));return r.eql(i,a)}function $d(r,e={}){let t=e,n=Cs("edwards",r,t,t.FpFnLE),{Fp:o,Fn:s}=n,i=n.CURVE,{h:a}=i;st(t,{},{uvRatio:"function"});let c=$c<<BigInt(s.BYTES*8)-ye,l=y=>o.create(y),u=t.uvRatio===void 0?(y,p)=>{try{return{isValid:!0,value:o.sqrt(o.div(y,p))}}catch{return{isValid:!1,value:Ht}}}:t.uvRatio;if(!E0(o,i,i.Gx,i.Gy))throw new Error("bad curve params: generator point");function f(y,p,m=!1){let E=m?ye:Ht;return jr("coordinate "+y,p,E,c),p}function d(y){if(!(y instanceof h))throw new Error("EdwardsPoint expected")}class h{static BASE=new h(i.Gx,i.Gy,ye,l(i.Gx*i.Gy));static ZERO=new h(Ht,ye,ye,Ht);static Fp=o;static Fn=s;X;Y;Z;T;constructor(p,m,E,S){this.X=f("x",p),this.Y=f("y",m),this.Z=f("z",E,!0),this.T=f("t",S),Object.freeze(this)}static CURVE(){return i}static fromAffine(p){if(p instanceof h)throw new Error("extended point not allowed");let{x:m,y:E}=p||{};return f("x",m),f("y",E),new h(m,E,ye,l(m*E))}static fromBytes(p,m=!1){let E=o.BYTES,{a:S,d:O}=i;p=eo(W(p,E,"point")),nt(m,"zip215");let L=eo(p),q=p[E-1];L[E-1]=q&-129;let k=pt(L),I=m?c:o.ORDER;jr("point.y",k,Ht,I);let B=l(k*k),$=l(B-ye),F=l(O*B-S),{isValid:g,value:w}=u($,F);if(!g)throw new Error("bad point: invalid y coordinate");let A=(w&ye)===ye,v=(q&128)!==0;if(!m&&w===Ht&&v)throw new Error("bad point: x=0 and x_0=1");return v!==A&&(w=l(-w)),h.fromAffine({x:w,y:k})}static fromHex(p,m=!1){return h.fromBytes(Gr(p),m)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}precompute(p=8,m=!0){return b.createCache(this,p),m||this.multiply($c),this}assertValidity(){let p=this,{a:m,d:E}=i;if(p.is0())throw new Error("bad point: ZERO");let{X:S,Y:O,Z:L,T:q}=p,k=l(S*S),I=l(O*O),B=l(L*L),$=l(B*B),F=l(k*m),g=l(B*l(F+I)),w=l($+l(E*l(k*I)));if(g!==w)throw new Error("bad point: equation left != right (1)");let A=l(S*O),v=l(L*q);if(A!==v)throw new Error("bad point: equation left != right (2)")}equals(p){d(p);let{X:m,Y:E,Z:S}=this,{X:O,Y:L,Z:q}=p,k=l(m*q),I=l(O*S),B=l(E*q),$=l(L*S);return k===I&&B===$}is0(){return this.equals(h.ZERO)}negate(){return new h(l(-this.X),this.Y,this.Z,l(-this.T))}double(){let{a:p}=i,{X:m,Y:E,Z:S}=this,O=l(m*m),L=l(E*E),q=l($c*l(S*S)),k=l(p*O),I=m+E,B=l(l(I*I)-O-L),$=k+L,F=$-q,g=k-L,w=l(B*F),A=l($*g),v=l(B*g),x=l(F*$);return new h(w,A,x,v)}add(p){d(p);let{a:m,d:E}=i,{X:S,Y:O,Z:L,T:q}=this,{X:k,Y:I,Z:B,T:$}=p,F=l(S*k),g=l(O*I),w=l(q*E*$),A=l(L*B),v=l((S+O)*(k+I)-F-g),x=A-w,_=A+w,T=l(g-m*F),C=l(v*x),R=l(_*T),M=l(v*T),H=l(x*_);return new h(C,R,H,M)}subtract(p){return d(p),this.add(p.negate())}multiply(p){if(!s.isValidNot0(p))throw new RangeError("invalid scalar: expected 1 <= sc < curve.n");let{p:m,f:E}=b.cached(this,p,S=>dr(h,S));return dr(h,[m,E])[0]}multiplyUnsafe(p){if(!s.isValid(p))throw new RangeError("invalid scalar: expected 0 <= sc < curve.n");return p===Ht?h.ZERO:this.is0()||p===ye?this:b.unsafe(this,p,m=>dr(h,m))}isSmallOrder(){return this.clearCofactor().is0()}isTorsionFree(){return b.unsafe(this,i.n).is0()}toAffine(p){let m=this,E=p,{X:S,Y:O,Z:L}=m,q=m.is0();E==null&&(E=q?x0:o.inv(L));let k=l(S*E),I=l(O*E),B=o.mul(L,E);if(q)return{x:Ht,y:ye};if(B!==ye)throw new Error("invZ was invalid");return{x:k,y:I}}clearCofactor(){return a===ye?this:this.multiplyUnsafe(a)}toBytes(){let{x:p,y:m}=this.toAffine(),E=o.toBytes(m);return E[E.length-1]|=p&ye?128:0,E}toHex(){return Wr(this.toBytes())}toString(){return`<Point ${this.is0()?"ZERO":this.toHex()}>`}}let b=new Qr(h,s.BITS);return s.BITS>=8&&h.BASE.precompute(8),Object.freeze(h.prototype),Object.freeze(h),h}var Ls=class{static BASE;static ZERO;static Fp;static Fn;ep;constructor(e){this.ep=e}static fromBytes(e){Oc()}static fromHex(e){Oc()}get x(){return this.toAffine().x}get y(){return this.toAffine().y}clearCofactor(){return this}assertValidity(){this.ep.assertValidity()}toAffine(e){return this.ep.toAffine(e)}toHex(){return Wr(this.toBytes())}toString(){return this.toHex()}isTorsionFree(){return!0}isSmallOrder(){return!1}add(e){return this.assertSame(e),this.init(this.ep.add(e.ep))}subtract(e){return this.assertSame(e),this.init(this.ep.subtract(e.ep))}multiply(e){return this.init(this.ep.multiply(e))}multiplyUnsafe(e){return this.init(this.ep.multiplyUnsafe(e))}double(){return this.init(this.ep.double())}negate(){return this.init(this.ep.negate())}precompute(e,t){return this.ep.precompute(e,t),this}};function zd(r,e,t={}){if(typeof e!="function")throw new Error('"hash" function param is required');let n=e,o=t;st(o,{},{adjustScalarBytes:"function",randomBytes:"function",domain:"function",prehash:"function",zip215:"boolean",mapToCurve:"function"});let{prehash:s}=o,{BASE:i,Fp:a,Fn:c}=r,l=n.outputLen,u=2*a.BYTES;if(l!==void 0&&(ot(l,"hash.outputLen"),l!==u))throw new Error(`hash.outputLen must be ${u}, got ${l}`);let f=o.randomBytes===void 0?Qn:o.randomBytes,d=o.adjustScalarBytes===void 0?g=>g:o.adjustScalarBytes,h=o.domain===void 0?(g,w,A)=>{if(nt(A,"phflag"),w.length||A)throw new Error("Contexts/pre-hash are not supported");return g}:o.domain;function b(g){return c.create(pt(g))}function y(g){let w=k.secretKey;W(g,k.secretKey,"secretKey");let A=W(n(g),2*w,"hashedSecretKey"),v=d(A.slice(0,w)),x=A.slice(w,2*w),_=b(v);return{head:v,prefix:x,scalar:_}}function p(g){let{head:w,prefix:A,scalar:v}=y(g),x=i.multiply(v),_=x.toBytes();return{head:w,prefix:A,scalar:v,point:x,pointBytes:_}}function m(g){return p(g).pointBytes}function E(g=Uint8Array.of(),...w){let A=he(...w);return b(n(h(A,W(g,void 0,"context"),!!s)))}function S(g,w,A={}){g=W(g,void 0,"message"),s&&(g=s(g));let{prefix:v,scalar:x,pointBytes:_}=p(w),T=E(A.context,v,g),C=i.multiply(T).toBytes(),R=E(A.context,C,_,g),M=c.create(T+R*x);if(!c.isValid(M))throw new Error("sign failed: invalid s");let H=he(C,c.toBytes(M));return W(H,k.signature,"result")}let O={zip215:o.zip215};function L(g,w,A,v=O){let{context:x}=v,_=v.zip215===void 0?!!O.zip215:v.zip215,T=k.signature;g=W(g,T,"signature"),w=W(w,void 0,"message"),A=W(A,k.publicKey,"publicKey"),_!==void 0&&nt(_,"zip215"),s&&(w=s(w));let C=T/2,R=g.subarray(0,C),M=pt(g.subarray(C,T)),H,Y,z;try{H=r.fromBytes(A,_),Y=r.fromBytes(R,_),z=i.multiplyUnsafe(M)}catch{return!1}if(!_&&H.isSmallOrder())return!1;let de=E(x,R,A,w);return Y.add(H.multiplyUnsafe(de)).subtract(z).clearCofactor().is0()}let q=a.BYTES,k={secretKey:q,publicKey:q,signature:2*q,seed:q};function I(g){return g=g===void 0?f(k.seed):g,W(g,k.seed,"seed")}function B(g){return cr(g)&&g.length===k.secretKey}function $(g,w){try{return!!r.fromBytes(g,w===void 0?O.zip215:w)}catch{return!1}}let F={getExtendedPublicKey:p,randomSecretKey:I,isValidSecretKey:B,isValidPublicKey:$,toMontgomery(g){let{y:w}=r.fromBytes(g),A=k.publicKey,v=A===32;if(!v&&A!==57)throw new Error("only defined for 25519 and 448");let x=v?a.div(ye+w,ye-w):a.div(w-ye,w+ye);return a.toBytes(x)},toMontgomerySecret(g){let w=k.secretKey;W(g,w);let A=n(g.subarray(0,w));return d(A).subarray(0,w)}};return Object.freeze(k),Object.freeze(F),Object.freeze({keygen:Ts(I,m),getPublicKey:m,sign:S,verify:L,utils:F,Point:r,lengths:k})}function oo(r,e){if(ot(r),ot(e),e<0||e>4)throw new Error("invalid I2OSP length: "+e);if(r<0||r>2**(8*e)-1)throw new Error("invalid I2OSP input: "+r);let t=Array.from({length:e}).fill(0);for(let n=e-1;n>=0;n--)t[n]=r&255,r>>>=8;return new Uint8Array(t)}function v0(r,e){let t=new Uint8Array(r.length);for(let n=0;n<r.length;n++)t[n]=r[n]^e[n];return t}function S0(r){if(!cr(r)&&typeof r!="string")throw new Error("DST must be Uint8Array or ascii string");let e=typeof r=="string"?_s(r):r;if(e.length===0)throw new Error("DST must be non-empty");return e}function zc(r,e,t,n){W(r),ot(t),e=S0(e),e.length>255&&(e=n(he(_s("H2C-OVERSIZE-DST-"),e)));let{outputLen:o,blockLen:s}=n,i=Math.ceil(t/o);if(t>65535||i>255)throw new Error("expand_message_xmd: invalid lenInBytes");let a=he(e,oo(e.length,1)),c=new Uint8Array(s),l=oo(t,2),u=new Array(i),f=n(he(c,r,l,oo(0,1),a));u[0]=n(he(f,oo(1,1),a));for(let h=1;h<i;h++){let b=[v0(f,u[h-1]),oo(h+1,1),a];u[h]=n(he(...b))}return he(...u).slice(0,t)}var Vd="HashToScalar-";var A0=BigInt(0),Tt=BigInt(1),Hd=BigInt(2);var _0=BigInt(5),I0=BigInt(8),Jr=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffed"),Gc={p:Jr,n:BigInt("0x1000000000000000000000000000000014def9dea2f79cd65812631a5cf5d3ed"),h:I0,a:BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec"),d:BigInt("0x52036cee2b6ffe738cc740797779e89800700a4d4141d8ab75eb4dca135978a3"),Gx:BigInt("0x216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51a"),Gy:BigInt("0x6666666666666666666666666666666666666666666666666666666666666658")};function C0(r){let e=BigInt(10),t=BigInt(20),n=BigInt(40),o=BigInt(80),s=Jr,a=r*r%s*r%s,c=oe(a,Hd,s)*a%s,l=oe(c,Tt,s)*r%s,u=oe(l,_0,s)*l%s,f=oe(u,e,s)*u%s,d=oe(f,t,s)*f%s,h=oe(d,n,s)*d%s,b=oe(h,o,s)*h%s,y=oe(b,o,s)*h%s,p=oe(y,e,s)*u%s;return{pow_p_5_8:oe(p,Hd,s)*r%s,b2:a}}function T0(r){return r[0]&=248,r[31]&=127,r[31]|=64,r}var Vc=BigInt("19681161376707505956807079304988542015446066515923890162744021073123829784752");function jc(r,e){let t=Jr,n=fe(e*e*e,t),o=fe(n*n*e,t),s=C0(r*o).pow_p_5_8,i=fe(r*n*s,t),a=fe(e*i*i,t),c=i,l=fe(i*Vc,t),u=a===r,f=a===fe(-r,t),d=a===fe(-r*Vc,t);return u&&(i=c),(f||d)&&(i=l),Ct(i,t)&&(i=fe(-i,t)),{isValid:u||f,value:i}}var Gt=$d(Gc,{uvRatio:jc}),Wt=Gt.Fp,jd=Gt.Fn;function L0(r){return zd(Gt,xs,Object.assign({adjustScalarBytes:T0,zip215:!0},r))}var so=L0({});var Hc=Vc,P0=BigInt("25063068953384623474111414158702152701244531502492656460079210482610430750235"),D0=BigInt("54469307008909316920995813868745141605393597292927456921205312896311721017578"),k0=BigInt("1159843021668779879193775521855586647937357759715417654439879720876111806838"),R0=BigInt("40440834346308536858101042469323190826248399146238708352240133220865137265952"),Wd=r=>jc(Tt,r),O0=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"),Wc=r=>Wt.create(pt(r)&O0);function Gd(r){let{d:e}=Gc,t=Jr,n=m=>Wt.create(m),o=n(Hc*r*r),s=n((o+Tt)*k0),i=BigInt(-1),a=n((i-e*o)*n(o+e)),{isValid:c,value:l}=jc(s,a),u=n(l*r);Ct(u,t)||(u=n(-u)),c||(l=u),c||(i=o);let f=n(i*(o-Tt)*R0-a),d=l*l,h=n((l+l)*a),b=n(f*P0),y=n(Tt-d),p=n(Tt+d);return new Gt(n(h*p),n(y*b),n(b*p),n(h*y))}var jt=class r extends Ls{static BASE=new r(Gt.BASE);static ZERO=new r(Gt.ZERO);static Fp=Wt;static Fn=jd;constructor(e){super(e)}static fromAffine(e){return new r(Gt.fromAffine(e))}assertSame(e){if(!(e instanceof r))throw new Error("RistrettoPoint expected")}init(e){return new r(e)}static fromBytes(e){$e(e,32);let{a:t,d:n}=Gc,o=Jr,s=O=>Wt.create(O),i=Wc(e);if(!Sd(Wt.toBytes(i),e)||Ct(i,o))throw new Error("invalid ristretto255 encoding 1");let a=s(i*i),c=s(Tt+t*a),l=s(Tt-t*a),u=s(c*c),f=s(l*l),d=s(t*n*u-f),{isValid:h,value:b}=Wd(s(d*f)),y=s(b*l),p=s(b*y*d),m=s((i+i)*y);Ct(m,o)&&(m=s(-m));let E=s(c*p),S=s(m*E);if(!h||Ct(S,o)||E===A0)throw new Error("invalid ristretto255 encoding 2");return new r(new Gt(m,E,Tt,S))}static fromHex(e){return r.fromBytes(jn(e))}toBytes(){let{X:e,Y:t,Z:n,T:o}=this.ep,s=Jr,i=p=>Wt.create(p),a=i(i(n+t)*i(n-t)),c=i(e*t),l=i(c*c),{value:u}=Wd(i(a*l)),f=i(u*a),d=i(u*c),h=i(f*d*o),b;if(Ct(o*h,s)){let p=i(t*Hc),m=i(e*Hc);e=p,t=m,b=i(f*D0)}else b=d;Ct(e*h,s)&&(t=i(-t));let y=i((n-t)*b);return Ct(y,s)&&(y=i(-y)),Wt.toBytes(y)}equals(e){this.assertSame(e);let{X:t,Y:n}=this.ep,{X:o,Y:s}=e.ep,i=l=>Wt.create(l),a=i(t*s)===i(n*o),c=i(n*s)===i(t*o);return a||c}is0(){return this.equals(r.ZERO)}};Object.freeze(jt.BASE);Object.freeze(jt.ZERO);Object.freeze(jt.prototype);Object.freeze(jt);var N0=Object.freeze({Point:jt,hashToCurve(r,e){let t=e?.DST===void 0?"ristretto255_XMD:SHA-512_R255MAP_RO_":e.DST,n=zc(r,t,64,xs);return N0.deriveToCurve(n)},hashToScalar(r,e={DST:Vd}){let t=zc(r,e.DST,64,xs);return jd.create(pt(t))},deriveToCurve(r){$e(r,64);let e=Wc(r.subarray(0,32)),t=Gd(e),n=Wc(r.subarray(32,64)),o=Gd(n);return new jt(t.add(o))}});var io=class extends Error{constructor(e="An error occurred while signing a message"){super(e),this.name="SigningError"}},ao=class extends Error{constructor(e="An error occurred while verifying a message"){super(e),this.name="VerificationError"}},Ps=class extends Error{constructor(e="Missing Web Crypto API"){super(e),this.name="WebCryptoMissingError"}};var Ke={get(r=globalThis){let e=r.crypto;if(e?.subtle==null)throw new Ps("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 e}};var Ds=32,co=64,Yc=32;var en,Yd=(async()=>{try{return await Ke.get().subtle.generateKey({name:"Ed25519"},!0,["sign","verify"]),!0}catch{return!1}})();function Xd(){let r=so.utils.randomSecretKey(),e=so.getPublicKey(r);return{privateKey:K0(r,e),publicKey:e}}async function M0(r,e){let t;r.length===co?t=r.subarray(0,32):t=r;let n={crv:"Ed25519",kty:"OKP",x:U(r.subarray(32),"base64url"),d:U(t,"base64url"),ext:!0,key_ops:["sign"]},o=await Ke.get().subtle.importKey("jwk",n,{name:"Ed25519"},!0,["sign"]),s=await Ke.get().subtle.sign({name:"Ed25519"},o,Ee(e instanceof Uint8Array?e:e.subarray()));return new Uint8Array(s,0,s.byteLength)}function F0(r,e){let t=r.subarray(0,Yc);return so.sign(e instanceof Uint8Array?e:e.subarray(),t)}async function Zd(r,e){return en==null&&(en=await Yd),en?M0(r,e):F0(r,e)}async function B0(r,e,t){if(r.buffer instanceof ArrayBuffer){let n=await Ke.get().subtle.importKey("raw",r.buffer,{name:"Ed25519"},!1,["verify"]);return await Ke.get().subtle.verify({name:"Ed25519"},n,Ee(e),Ee(t instanceof Uint8Array?t:t.subarray()))}throw new TypeError("WebCrypto does not support SharedArrayBuffer for Ed25519 keys")}function U0(r,e,t){return so.verify(e,t instanceof Uint8Array?t:t.subarray(),r)}async function Qd(r,e,t){return en==null&&(en=await Yd),en?B0(r,e,t):U0(r,e,t)}function K0(r,e){let t=new Uint8Array(co);for(let n=0;n<Yc;n++)t[n]=r[n],t[Yc+n]=e[n];return t}function tn(r){return r==null?!1:typeof r.then=="function"&&typeof r.catch=="function"&&typeof r.finally=="function"}var lo=class{type="Ed25519";raw;constructor(e){this.raw=Rs(e,Ds)}toMultihash(){return et.digest(Xe(this))}toCID(){return ue.createV1(114,this.toMultihash())}toString(){return te.encode(this.toMultihash().bytes).substring(1)}equals(e){return e==null||!(e.raw instanceof Uint8Array)?!1:X(this.raw,e.raw)}verify(e,t,n){n?.signal?.throwIfAborted();let o=Qd(this.raw,t,e);return tn(o)?o.then(s=>(n?.signal?.throwIfAborted(),s)):o}},ks=class{type="Ed25519";raw;publicKey;constructor(e,t){this.raw=Rs(e,co),this.publicKey=new lo(t)}equals(e){return e==null||!(e.raw instanceof Uint8Array)?!1:X(this.raw,e.raw)}sign(e,t){t?.signal?.throwIfAborted();let n=Zd(this.raw,e);return tn(n)?n.then(o=>(t?.signal?.throwIfAborted(),o)):(t?.signal?.throwIfAborted(),n)}};function Xc(r){return r=Rs(r,Ds),new lo(r)}async function eh(){let{privateKey:r,publicKey:e}=Xd();return new ks(r,e)}function Rs(r,e){if(r=Uint8Array.from(r??[]),r.length!==e)throw new D(`Key must be a Uint8Array of length ${e}, got ${r.length}`);return r}var q0=Math.pow(2,7),$0=Math.pow(2,14),z0=Math.pow(2,21),Zc=Math.pow(2,28),Qc=Math.pow(2,35),Jc=Math.pow(2,42),el=Math.pow(2,49),Z=128,Ie=127;function be(r){if(r<q0)return 1;if(r<$0)return 2;if(r<z0)return 3;if(r<Zc)return 4;if(r<Qc)return 5;if(r<Jc)return 6;if(r<el)return 7;if(Number.MAX_SAFE_INTEGER!=null&&r>Number.MAX_SAFE_INTEGER)throw new RangeError("Could not encode varint");return 8}function rn(r,e,t=0){switch(be(r)){case 8:e[t++]=r&255|Z,r/=128;case 7:e[t++]=r&255|Z,r/=128;case 6:e[t++]=r&255|Z,r/=128;case 5:e[t++]=r&255|Z,r/=128;case 4:e[t++]=r&255|Z,r>>>=7;case 3:e[t++]=r&255|Z,r>>>=7;case 2:e[t++]=r&255|Z,r>>>=7;case 1:{e[t++]=r&255,r>>>=7;break}default:throw new Error("unreachable")}return e}function V0(r,e,t=0){switch(be(r)){case 8:e.set(t++,r&255|Z),r/=128;case 7:e.set(t++,r&255|Z),r/=128;case 6:e.set(t++,r&255|Z),r/=128;case 5:e.set(t++,r&255|Z),r/=128;case 4:e.set(t++,r&255|Z),r>>>=7;case 3:e.set(t++,r&255|Z),r>>>=7;case 2:e.set(t++,r&255|Z),r>>>=7;case 1:{e.set(t++,r&255),r>>>=7;break}default:throw new Error("unreachable")}return e}function tl(r,e){let t=r[e],n=0;if(n+=t&Ie,t<Z||(t=r[e+1],n+=(t&Ie)<<7,t<Z)||(t=r[e+2],n+=(t&Ie)<<14,t<Z)||(t=r[e+3],n+=(t&Ie)<<21,t<Z)||(t=r[e+4],n+=(t&Ie)*Zc,t<Z)||(t=r[e+5],n+=(t&Ie)*Qc,t<Z)||(t=r[e+6],n+=(t&Ie)*Jc,t<Z)||(t=r[e+7],n+=(t&Ie)*el,t<Z))return n;throw new RangeError("Could not decode varint")}function H0(r,e){let t=r.get(e),n=0;if(n+=t&Ie,t<Z||(t=r.get(e+1),n+=(t&Ie)<<7,t<Z)||(t=r.get(e+2),n+=(t&Ie)<<14,t<Z)||(t=r.get(e+3),n+=(t&Ie)<<21,t<Z)||(t=r.get(e+4),n+=(t&Ie)*Zc,t<Z)||(t=r.get(e+5),n+=(t&Ie)*Qc,t<Z)||(t=r.get(e+6),n+=(t&Ie)*Jc,t<Z)||(t=r.get(e+7),n+=(t&Ie)*el,t<Z))return n;throw new RangeError("Could not decode varint")}function Yt(r,e,t=0){return e==null&&(e=ge(be(r))),e instanceof Uint8Array?rn(r,e,t):V0(r,e,t)}function hr(r,e=0){return r instanceof Uint8Array?tl(r,e):H0(r,e)}var rl=new Float32Array([-0]),Xt=new Uint8Array(rl.buffer);function th(r,e,t){rl[0]=r,e[t]=Xt[0],e[t+1]=Xt[1],e[t+2]=Xt[2],e[t+3]=Xt[3]}function rh(r,e){return Xt[0]=r[e],Xt[1]=r[e+1],Xt[2]=r[e+2],Xt[3]=r[e+3],rl[0]}var nl=new Float64Array([-0]),Ce=new Uint8Array(nl.buffer);function nh(r,e,t){nl[0]=r,e[t]=Ce[0],e[t+1]=Ce[1],e[t+2]=Ce[2],e[t+3]=Ce[3],e[t+4]=Ce[4],e[t+5]=Ce[5],e[t+6]=Ce[6],e[t+7]=Ce[7]}function oh(r,e){return Ce[0]=r[e],Ce[1]=r[e+1],Ce[2]=r[e+2],Ce[3]=r[e+3],Ce[4]=r[e+4],Ce[5]=r[e+5],Ce[6]=r[e+6],Ce[7]=r[e+7],nl[0]}var W0=BigInt(Number.MAX_SAFE_INTEGER),G0=BigInt(Number.MIN_SAFE_INTEGER),ze=class r{lo;hi;constructor(e,t){this.lo=e|0,this.hi=t|0}toNumber(e=!1){if(!e&&this.hi>>>31>0){let t=~this.lo+1>>>0,n=~this.hi>>>0;return t===0&&(n=n+1>>>0),-(t+n*4294967296)}return this.lo+this.hi*4294967296}toBigInt(e=!1){if(e)return BigInt(this.lo>>>0)+(BigInt(this.hi>>>0)<<32n);if(this.hi>>>31){let t=~this.lo+1>>>0,n=~this.hi>>>0;return t===0&&(n=n+1>>>0),-(BigInt(t)+(BigInt(n)<<32n))}return BigInt(this.lo>>>0)+(BigInt(this.hi>>>0)<<32n)}toString(e=!1){return this.toBigInt(e).toString()}zzEncode(){let e=this.hi>>31;return this.hi=((this.hi<<1|this.lo>>>31)^e)>>>0,this.lo=(this.lo<<1^e)>>>0,this}zzDecode(){let e=-(this.lo&1);return this.lo=((this.lo>>>1|this.hi<<31)^e)>>>0,this.hi=(this.hi>>>1^e)>>>0,this}length(){let e=this.lo,t=(this.lo>>>28|this.hi<<4)>>>0,n=this.hi>>>24;return n===0?t===0?e<16384?e<128?1:2:e<2097152?3:4:t<16384?t<128?5:6:t<2097152?7:8:n<128?9:10}static fromBigInt(e){if(e===0n)return pr;if(e<W0&&e>G0)return this.fromNumber(Number(e));let t=e<0n;t&&(e=-e);let n=e>>32n,o=e-(n<<32n);return t&&(n=~n|0n,o=~o|0n,++o>sh&&(o=0n,++n>sh&&(n=0n))),new r(Number(o),Number(n))}static fromNumber(e){if(e===0)return pr;let t=e<0;t&&(e=-e);let n=e>>>0,o=(e-n)/4294967296>>>0;return t&&(o=~o>>>0,n=~n>>>0,++n>4294967295&&(n=0,++o>4294967295&&(o=0))),new r(n,o)}static from(e){return typeof e=="number"?r.fromNumber(e):typeof e=="bigint"?r.fromBigInt(e):typeof e=="string"?r.fromBigInt(BigInt(e)):e.low!=null||e.high!=null?new r(e.low>>>0,e.high>>>0):pr}},pr=new ze(0,0);pr.toBigInt=function(){return 0n};pr.zzEncode=pr.zzDecode=function(){return this};pr.length=function(){return 1};var sh=4294967296n;function ih(r){let e=0,t=0;for(let n=0;n<r.length;++n)t=r.charCodeAt(n),t<128?e+=1:t<2048?e+=2:(t&64512)===55296&&(r.charCodeAt(n+1)&64512)===56320?(++n,e+=4):e+=3;return e}function ah(r,e,t){if(t-e<1)return"";let o,s=[],i=0,a;for(;e<t;)a=r[e++],a<128?s[i++]=a:a>191&&a<224?s[i++]=(a&31)<<6|r[e++]&63:a>239&&a<365?(a=((a&7)<<18|(r[e++]&63)<<12|(r[e++]&63)<<6|r[e++]&63)-65536,s[i++]=55296+(a>>10),s[i++]=56320+(a&1023)):s[i++]=(a&15)<<12|(r[e++]&63)<<6|r[e++]&63,i>8191&&((o??(o=[])).push(String.fromCharCode.apply(String,s)),i=0);return o!=null?(i>0&&o.push(String.fromCharCode.apply(String,s.slice(0,i))),o.join("")):String.fromCharCode.apply(String,s.slice(0,i))}function ol(r,e,t){let n=t,o,s;for(let i=0;i<r.length;++i)o=r.charCodeAt(i),o<128?e[t++]=o:o<2048?(e[t++]=o>>6|192,e[t++]=o&63|128):(o&64512)===55296&&((s=r.charCodeAt(i+1))&64512)===56320?(o=65536+((o&1023)<<10)+(s&1023),++i,e[t++]=o>>18|240,e[t++]=o>>12&63|128,e[t++]=o>>6&63|128,e[t++]=o&63|128):(e[t++]=o>>12|224,e[t++]=o>>6&63|128,e[t++]=o&63|128);return t-n}function it(r,e){return RangeError(`index out of range: ${r.pos} + ${e??1} > ${r.len}`)}function Os(r,e){return(r[e-4]|r[e-3]<<8|r[e-2]<<16|r[e-1]<<24)>>>0}var sl=class{buf;pos;len;_slice=Uint8Array.prototype.subarray;constructor(e){this.buf=Ee(e),this.pos=0,this.len=e.length}uint32(){let e=4294967295;if(e=(this.buf[this.pos]&127)>>>0,this.buf[this.pos++]<128||(e=(e|(this.buf[this.pos]&127)<<7)>>>0,this.buf[this.pos++]<128)||(e=(e|(this.buf[this.pos]&127)<<14)>>>0,this.buf[this.pos++]<128)||(e=(e|(this.buf[this.pos]&127)<<21)>>>0,this.buf[this.pos++]<128)||(e=(e|(this.buf[this.pos]&15)<<28)>>>0,this.buf[this.pos++]<128))return e;if((this.pos+=5)>this.len)throw this.pos=this.len,it(this,10);return e}int32(){return this.uint32()|0}sint32(){let e=this.uint32();return e>>>1^-(e&1)|0}bool(){return this.uint32()!==0}fixed32(){if(this.pos+4>this.len)throw it(this,4);return Os(this.buf,this.pos+=4)}sfixed32(){if(this.pos+4>this.len)throw it(this,4);return Os(this.buf,this.pos+=4)|0}float(){if(this.pos+4>this.len)throw it(this,4);let e=rh(this.buf,this.pos);return this.pos+=4,e}double(){if(this.pos+8>this.len)throw it(this,4);let e=oh(this.buf,this.pos);return this.pos+=8,e}bytes(){let e=this.uint32(),t=this.pos,n=this.pos+e;if(n>this.len)throw it(this,e);return this.pos+=e,t===n?new Uint8Array(0):this.buf.subarray(t,n)}string(){let e=this.bytes();return ah(e,0,e.length)}skip(e){if(typeof e=="number"){if(this.pos+e>this.len)throw it(this,e);this.pos+=e}else do if(this.pos>=this.len)throw it(this);while((this.buf[this.pos++]&128)!==0);return this}skipType(e){switch(e){case 0:this.skip();break;case 1:this.skip(8);break;case 2:this.skip(this.uint32());break;case 3:for(;(e=this.uint32()&7)!==4;)this.skipType(e);break;case 5:this.skip(4);break;default:throw Error(`invalid wire type ${e} at offset ${this.pos}`)}return this}readLongVarint(){let e=new ze(0,0),t=0;if(this.len-this.pos>4){for(;t<4;++t)if(e.lo=(e.lo|(this.buf[this.pos]&127)<<t*7)>>>0,this.buf[this.pos++]<128)return e;if(e.lo=(e.lo|(this.buf[this.pos]&127)<<28)>>>0,e.hi=(e.hi|(this.buf[this.pos]&127)>>4)>>>0,this.buf[this.pos++]<128)return e;t=0}else{for(;t<3;++t){if(this.pos>=this.len)throw it(this);if(e.lo=(e.lo|(this.buf[this.pos]&127)<<t*7)>>>0,this.buf[this.pos++]<128)return e}return e.lo=(e.lo|(this.buf[this.pos++]&127)<<t*7)>>>0,e}if(this.len-this.pos>4){for(;t<5;++t)if(e.hi=(e.hi|(this.buf[this.pos]&127)<<t*7+3)>>>0,this.buf[this.pos++]<128)return e}else for(;t<5;++t){if(this.pos>=this.len)throw it(this);if(e.hi=(e.hi|(this.buf[this.pos]&127)<<t*7+3)>>>0,this.buf[this.pos++]<128)return e}throw Error("invalid varint encoding")}readFixed64(){if(this.pos+8>this.len)throw it(this,8);let e=Os(this.buf,this.pos+=4),t=Os(this.buf,this.pos+=4);return new ze(e,t)}int64(){return this.readLongVarint().toBigInt()}int64Number(){return this.readLongVarint().toNumber()}int64String(){return this.readLongVarint().toString()}uint64(){return this.readLongVarint().toBigInt(!0)}uint64Number(){let e=tl(this.buf,this.pos);return this.pos+=be(e),e}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 fo(r){return new sl(r instanceof Uint8Array?r:r.subarray())}function Re(r,e,t){let n=fo(r);return e.decode(n,void 0,t)}function il(r){let e=r??8192,t=e>>>1,n,o=e;return function(i){if(i<1||i>t)return ge(i);o+i>e&&(n=ge(e),o=0);let a=n.subarray(o,o+=i);return(o&7)!==0&&(o=(o|7)+1),a}}var mr=class{fn;len;next;val;constructor(e,t,n){this.fn=e,this.len=t,this.next=void 0,this.val=n}};function al(){}var ll=class{head;tail;len;next;constructor(e){this.head=e.head,this.tail=e.tail,this.len=e.len,this.next=e.states}},j0=il();function Y0(r){return globalThis.Buffer!=null?ge(r):j0(r)}var po=class{len;head;tail;states;constructor(){this.len=0,this.head=new mr(al,0,0),this.tail=this.head,this.states=null}_push(e,t,n){return this.tail=this.tail.next=new mr(e,t,n),this.len+=t,this}uint32(e){return this.len+=(this.tail=this.tail.next=new ul((e=e>>>0)<128?1:e<16384?2:e<2097152?3:e<268435456?4:5,e)).len,this}int32(e){return e<0?this._push(Ns,10,ze.fromNumber(e)):this.uint32(e)}sint32(e){return this.uint32((e<<1^e>>31)>>>0)}uint64(e){let t=ze.fromBigInt(e);return this._push(Ns,t.length(),t)}uint64Number(e){return this._push(rn,be(e),e)}uint64String(e){return this.uint64(BigInt(e))}int64(e){return this.uint64(e)}int64Number(e){return this.uint64Number(e)}int64String(e){return this.uint64String(e)}sint64(e){let t=ze.fromBigInt(e).zzEncode();return this._push(Ns,t.length(),t)}sint64Number(e){let t=ze.fromNumber(e).zzEncode();return this._push(Ns,t.length(),t)}sint64String(e){return this.sint64(BigInt(e))}bool(e){return this._push(cl,1,e?1:0)}fixed32(e){return this._push(ho,4,e>>>0)}sfixed32(e){return this.fixed32(e)}fixed64(e){let t=ze.fromBigInt(e);return this._push(ho,4,t.lo)._push(ho,4,t.hi)}fixed64Number(e){let t=ze.fromNumber(e);return this._push(ho,4,t.lo)._push(ho,4,t.hi)}fixed64String(e){return this.fixed64(BigInt(e))}sfixed64(e){return this.fixed64(e)}sfixed64Number(e){return this.fixed64Number(e)}sfixed64String(e){return this.fixed64String(e)}float(e){return this._push(th,4,e)}double(e){return this._push(nh,8,e)}bytes(e){let t=e.length>>>0;return t===0?this._push(cl,1,0):this.uint32(t)._push(Z0,t,e)}string(e){let t=ih(e);return t!==0?this.uint32(t)._push(ol,t,e):this._push(cl,1,0)}fork(){return this.states=new ll(this),this.head=this.tail=new mr(al,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 mr(al,0,0),this.len=0),this}ldelim(){let e=this.head,t=this.tail,n=this.len;return this.reset().uint32(n),n!==0&&(this.tail.next=e.next,this.tail=t,this.len+=n),this}finish(){let e=this.head.next,t=Y0(this.len),n=0;for(;e!=null;)e.fn(e.val,t,n),n+=e.len,e=e.next;return t}};function cl(r,e,t){e[t]=r&255}function X0(r,e,t){for(;r>127;)e[t++]=r&127|128,r>>>=7;e[t]=r}var ul=class extends mr{next;constructor(e,t){super(X0,e,t),this.next=void 0}};function Ns(r,e,t){for(;r.hi!==0;)e[t++]=r.lo&127|128,r.lo=(r.lo>>>7|r.hi<<25)>>>0,r.hi>>>=7;for(;r.lo>127;)e[t++]=r.lo&127|128,r.lo=r.lo>>>7;e[t++]=r.lo}function ho(r,e,t){e[t]=r&255,e[t+1]=r>>>8&255,e[t+2]=r>>>16&255,e[t+3]=r>>>24}function Z0(r,e,t){e.set(r,t)}globalThis.Buffer!=null&&(po.prototype.bytes=function(r){let e=r.length>>>0;return this.uint32(e),e>0&&this._push(Q0,e,r),this},po.prototype.string=function(r){let e=globalThis.Buffer.byteLength(r);return this.uint32(e),e>0&&this._push(J0,e,r),this});function Q0(r,e,t){e.set(r,t)}function J0(r,e,t){r.length<40?ol(r,e,t):e.utf8Write!=null?e.utf8Write(r,t):e.set(P(r),t)}function fl(){return new po}function Oe(r,e){let t=fl();return e.encode(r,t,{lengthDelimited:!1}),t.finish()}function*Ne(r,e,t){let n=fo(r);yield*e.stream(n,void 0,"$",t)}var Ms={VARINT:0,BIT64:1,LENGTH_DELIMITED:2,START_GROUP:3,END_GROUP:4,BIT32:5};function Fs(r,e,t,n,o){return{name:r,type:e,encode:t,decode:n,stream:o}}function dl(r){function e(s){if(r[s.toString()]==null)throw new Error("Invalid enum value");return r[s]}let t=function(i,a){let c=e(i);a.int32(c)},n=function(i){let a=i.int32();return e(a)},o=function*(i){let a=i.int32();yield e(a)};return Fs("enum",Ms.VARINT,t,n,o)}function Me(r,e,t){return Fs("message",Ms.LENGTH_DELIMITED,r,e,t)}var Ze=class extends Error{code="ERR_MAX_LENGTH";name="MaxLengthError"},mo=class extends Error{code="ERR_MAX_SIZE";name="MaxSizeError"};var ie;(function(r){r.RSA="RSA",r.Ed25519="Ed25519",r.secp256k1="secp256k1",r.ECDSA="ECDSA"})(ie||(ie={}));var hl;(function(r){r[r.RSA=0]="RSA",r[r.Ed25519=1]="Ed25519",r[r.secp256k1=2]="secp256k1",r[r.ECDSA=3]="ECDSA"})(hl||(hl={}));(function(r){r.codec=()=>dl(hl)})(ie||(ie={}));var mt;(function(r){let e;r.codec=()=>(e==null&&(e=Me((s,i,a={})=>{a.lengthDelimited!==!1&&i.fork(),s.Type!=null&&(i.uint32(8),ie.codec().encode(s.Type,i)),s.Data!=null&&(i.uint32(18),i.bytes(s.Data)),a.lengthDelimited!==!1&&i.ldelim()},(s,i,a={})=>{let c={},l=i==null?s.len:s.pos+i;for(;s.pos<l;){let u=s.uint32();switch(u>>>3){case 1:{c.Type=ie.codec().decode(s);break}case 2:{c.Data=s.bytes();break}default:{s.skipType(u&7);break}}}return c},function*(s,i,a,c={}){let l=i==null?s.len:s.pos+i;for(;s.pos<l;){let u=s.uint32();switch(u>>>3){case 1:{yield{field:`${a}.Type`,value:ie.codec().decode(s)};break}case 2:{yield{field:`${a}.Data`,value:s.bytes()};break}default:{s.skipType(u&7);break}}}})),e);function t(s){return Oe(s,r.codec())}r.encode=t;function n(s,i){return Re(s,r.codec(),i)}r.decode=n;function o(s,i){return Ne(s,r.codec(),i)}r.stream=o})(mt||(mt={}));var pl;(function(r){let e;r.codec=()=>(e==null&&(e=Me((s,i,a={})=>{a.lengthDelimited!==!1&&i.fork(),s.Type!=null&&(i.uint32(8),ie.codec().encode(s.Type,i)),s.Data!=null&&(i.uint32(18),i.bytes(s.Data)),a.lengthDelimited!==!1&&i.ldelim()},(s,i,a={})=>{let c={},l=i==null?s.len:s.pos+i;for(;s.pos<l;){let u=s.uint32();switch(u>>>3){case 1:{c.Type=ie.codec().decode(s);break}case 2:{c.Data=s.bytes();break}default:{s.skipType(u&7);break}}}return c},function*(s,i,a,c={}){let l=i==null?s.len:s.pos+i;for(;s.pos<l;){let u=s.uint32();switch(u>>>3){case 1:{yield{field:`${a}.Type`,value:ie.codec().decode(s)};break}case 2:{yield{field:`${a}.Data`,value:s.bytes()};break}default:{s.skipType(u&7);break}}}})),e);function t(s){return Oe(s,r.codec())}r.encode=t;function n(s,i){return Re(s,r.codec(),i)}r.decode=n;function o(s,i){return Ne(s,r.codec(),i)}r.stream=o})(pl||(pl={}));var yo={};Ue(yo,{MAX_RSA_KEY_SIZE:()=>ml,generateRSAKeyPair:()=>Al,jwkToJWKKeyPair:()=>hh,jwkToPkcs1:()=>ny,jwkToPkix:()=>wl,jwkToRSAPrivateKey:()=>Sl,pkcs1MessageToJwk:()=>yl,pkcs1MessageToRSAPrivateKey:()=>xl,pkcs1ToJwk:()=>ry,pkcs1ToRSAPrivateKey:()=>dh,pkixMessageToJwk:()=>bl,pkixMessageToRSAPublicKey:()=>vl,pkixToJwk:()=>oy,pkixToRSAPublicKey:()=>El});var nn=class{type="RSA";jwk;_raw;_multihash;constructor(e,t){this.jwk=e,this._multihash=t}get raw(){return this._raw==null&&(this._raw=yo.jwkToPkix(this.jwk)),this._raw}toMultihash(){return this._multihash}toCID(){return ue.createV1(114,this._multihash)}toString(){return te.encode(this.toMultihash().bytes).substring(1)}equals(e){return e==null||!(e.raw instanceof Uint8Array)?!1:X(this.raw,e.raw)}verify(e,t,n){return fh(this.jwk,t,e,n)}},go=class{type="RSA";jwk;_raw;publicKey;constructor(e,t){this.jwk=e,this.publicKey=t}get raw(){return this._raw==null&&(this._raw=yo.jwkToPkcs1(this.jwk)),this._raw}equals(e){return e==null||!(e.raw instanceof Uint8Array)?!1:X(this.raw,e.raw)}sign(e,t){return uh(this.jwk,e,t)}};var ml=8192,gl=18,ey=1062,ty=Uint8Array.from([48,13,6,9,42,134,72,134,247,13,1,1,1,5,0]);function ry(r){let e=St(r);return yl(e)}function yl(r){return{n:U(r[1],"base64url"),e:U(r[2],"base64url"),d:U(r[3],"base64url"),p:U(r[4],"base64url"),q:U(r[5],"base64url"),dp:U(r[6],"base64url"),dq:U(r[7],"base64url"),qi:U(r[8],"base64url"),kty:"RSA"}}function ny(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 D("JWK was missing components");return tt([ke(Uint8Array.from([0])),ke(P(r.n,"base64url")),ke(P(r.e,"base64url")),ke(P(r.d,"base64url")),ke(P(r.p,"base64url")),ke(P(r.q,"base64url")),ke(P(r.dp,"base64url")),ke(P(r.dq,"base64url")),ke(P(r.qi,"base64url"))]).subarray()}function oy(r){let e=St(r,{offset:0});return bl(e)}function bl(r){let e=St(r[1],{offset:0});return{kty:"RSA",n:U(e[0],"base64url"),e:U(e[1],"base64url")}}function wl(r){if(r.n==null||r.e==null)throw new D("JWK was missing components");return tt([ty,Gn(tt([ke(P(r.n,"base64url")),ke(P(r.e,"base64url"))]))]).subarray()}function dh(r){let e=St(r);return xl(e)}function xl(r){let e=yl(r);return Sl(e)}function El(r,e){if(r.byteLength>=ey)throw new Nt("Key size is too large");let t=St(r,{offset:0});return vl(t,r,e)}function vl(r,e,t){let n=bl(r);if(t==null){let o=Hr(mt.encode({Type:ie.RSA,Data:e}));t=dt(gl,o)}return new nn(n,t)}function Sl(r){if(mh(r)>ml)throw new D("Key size is too large");let e=hh(r),t=Hr(mt.encode({Type:ie.RSA,Data:wl(e.publicKey)})),n=dt(gl,t);return new go(e.privateKey,new nn(e.publicKey,n))}async function Al(r){if(r>ml)throw new D("Key size is too large");let e=await ph(r),t=Hr(mt.encode({Type:ie.RSA,Data:wl(e.publicKey)})),n=dt(gl,t);return new go(e.privateKey,new nn(e.publicKey,n))}function hh(r){if(r==null)throw new D("Missing key parameter");return{privateKey:r,publicKey:{kty:r.kty,n:r.n,e:r.e}}}async function ph(r,e){let t=await Ke.get().subtle.generateKey({name:"RSASSA-PKCS1-v1_5",modulusLength:r,publicExponent:new Uint8Array([1,0,1]),hash:{name:"SHA-256"}},!0,["sign","verify"]);e?.signal?.throwIfAborted();let n=await sy(t,e);return{privateKey:n[0],publicKey:n[1]}}async function uh(r,e,t){let n=await Ke.get().subtle.importKey("jwk",r,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!1,["sign"]);t?.signal?.throwIfAborted();let o=await Ke.get().subtle.sign({name:"RSASSA-PKCS1-v1_5"},n,Ee(e instanceof Uint8Array?e:e.subarray()));return t?.signal?.throwIfAborted(),new Uint8Array(o,0,o.byteLength)}async function fh(r,e,t,n){let o=await Ke.get().subtle.importKey("jwk",r,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!1,["verify"]);n?.signal?.throwIfAborted();let s=await Ke.get().subtle.verify({name:"RSASSA-PKCS1-v1_5"},o,Ee(e),Ee(t instanceof Uint8Array?t:t.subarray()));return n?.signal?.throwIfAborted(),s}async function sy(r,e){if(r.privateKey==null||r.publicKey==null)throw new D("Private and public key are required");let t=await Promise.all([Ke.get().subtle.exportKey("jwk",r.privateKey),Ke.get().subtle.exportKey("jwk",r.publicKey)]);return e?.signal?.throwIfAborted(),t}function mh(r){if(r.kty!=="RSA")throw new D("invalid key type");if(r.n==null)throw new D("invalid key modulus");return P(r.n,"base64url").length*8}var Bs=class{oHash;iHash;blockLen;outputLen;canXOF=!1;finished=!1;destroyed=!1;constructor(e,t){if(ms(e),$e(t,void 0,"key"),this.iHash=e.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 n=this.blockLen,o=new Uint8Array(n);o.set(t.length>n?e.create().update(t).digest():t);for(let s=0;s<o.length;s++)o[s]^=54;this.iHash.update(o),this.oHash=e.create();for(let s=0;s<o.length;s++)o[s]^=106;this.oHash.update(o),_t(o)}update(e){return Vr(this),this.iHash.update(e),this}digestInto(e){Vr(this),gs(e,this),this.finished=!0;let t=e.subarray(0,this.outputLen);this.iHash.digestInto(t),this.oHash.update(t),this.oHash.digestInto(t),this.destroy()}digest(){let e=new Uint8Array(this.oHash.outputLen);return this.digestInto(e),e}_cloneInto(e){e||=Object.create(Object.getPrototypeOf(this),{});let{oHash:t,iHash:n,finished:o,destroyed:s,blockLen:i,outputLen:a}=this;return e=e,e.finished=o,e.destroyed=s,e.blockLen=i,e.outputLen=a,e.oHash=t._cloneInto(e.oHash),e.iHash=n._cloneInto(e.iHash),e}clone(){return this._cloneInto()}destroy(){this.destroyed=!0,this.oHash.destroy(),this.iHash.destroy()}},gh=(()=>{let r=((e,t,n)=>new Bs(e,t).update(n).digest());return r.create=(e,t)=>new Bs(e,t),r})();var yh=(r,e)=>(r+(r>=0?e:-e)/bh)/e;function iy(r,e,t){jr("scalar",r,gt,t);let[[n,o],[s,i]]=e,a=yh(i*r,t),c=yh(-o*r,t),l=r-a*n-c*s,u=-a*o-c*i,f=l<gt,d=u<gt;f&&(l=-l),d&&(u=-u);let h=to(Math.ceil(Yr(t)/2))+Zt;if(l<gt||l>=h||u<gt||u>=h)throw new Error("splitScalar (endomorphism): failed for k");return{k1neg:f,k1:l,k2neg:d,k2:u}}function Il(r){if(!["compact","recovered","der"].includes(r))throw new Error('Signature format must be "compact", "recovered", or "der"');return r}function _l(r,e){st(r);let t={};for(let n of Object.keys(e))t[n]=r[n]===void 0?e[n]:r[n];return nt(t.lowS,"lowS"),nt(t.prehash,"prehash"),t.format!==void 0&&Il(t.format),t}var Cl=class extends Error{constructor(e=""){super(e)}},at={Err:Cl,_tlv:{encode:(r,e)=>{let{Err:t}=at;if(ot(r,"tag"),r<0||r>255)throw new t("tlv.encode: wrong tag");if(typeof e!="string")throw new TypeError('"data" expected string, got type='+typeof e);if(e.length&1)throw new t("tlv.encode: unpadded data");let n=e.length/2,o=Jn(n);if(o.length/2&128)throw new t("tlv.encode: long form length too big");let s=n>127?Jn(o.length/2|128):"";return Jn(r)+s+o+e},decode(r,e){let{Err:t}=at;e=W(e,void 0,"DER data");let n=0;if(r<0||r>255)throw new t("tlv.encode: wrong tag");if(e.length<2||e[n++]!==r)throw new t("tlv.decode: wrong tlv");let o=e[n++],s=!!(o&128),i=0;if(!s)i=o;else{let c=o&127;if(!c)throw new t("tlv.decode(long): indefinite length not supported");if(c>4)throw new t("tlv.decode(long): byte length is too big");let l=e.subarray(n,n+c);if(l.length!==c)throw new t("tlv.decode: length bytes not complete");if(l[0]===0)throw new t("tlv.decode(long): zero leftmost byte");for(let u of l)i=i<<8|u;if(n+=c,i<128)throw new t("tlv.decode(long): not minimal encoding")}let a=e.subarray(n,n+i);if(a.length!==i)throw new t("tlv.decode: wrong value length");return{v:a,l:e.subarray(n+i)}}},_int:{encode(r){let{Err:e}=at;if(Ss(r),r<gt)throw new e("integer: negative integers are not allowed");let t=Jn(r);if(Number.parseInt(t[0],16)&8&&(t="00"+t),t.length&1)throw new e("unexpected DER parsing assertion: unpadded hex");return t},decode(r){let{Err:e}=at;if(r.length<1)throw new e("invalid signature integer: empty");if(r[0]&128)throw new e("invalid signature integer: negative");if(r.length>1&&r[0]===0&&!(r[1]&128))throw new e("invalid signature integer: unnecessary leading zero");return lr(r)}},toSig(r){let{Err:e,_int:t,_tlv:n}=at,o=W(r,void 0,"signature"),{v:s,l:i}=n.decode(48,o);if(i.length)throw new e("invalid signature: left bytes after parsing");let{v:a,l:c}=n.decode(2,s),{v:l,l:u}=n.decode(2,c);if(u.length)throw new e("invalid signature: left bytes after parsing");return{r:t.decode(a),s:t.decode(l)}},hexFromSig(r){let{_tlv:e,_int:t}=at,n=e.encode(2,t.encode(r.r)),o=e.encode(2,t.encode(r.s)),s=n+o;return e.encode(48,s)}};Object.freeze(at._tlv);Object.freeze(at._int);Object.freeze(at);var gt=BigInt(0),Zt=BigInt(1),bh=BigInt(2),Us=BigInt(3),ay=BigInt(4);function wh(r,e={}){let t=Cs("weierstrass",r,e),n=t.Fp,o=t.Fn,s=t.CURVE,{h:i,n:a}=s;st(e,{},{allowInfinityPoint:"boolean",clearCofactor:"function",isTorsionFree:"function",fromBytes:"function",toBytes:"function",endo:"object"});let{endo:c,allowInfinityPoint:l}=e;if(c&&(!n.is0(s.a)||typeof c.beta!="bigint"||!Array.isArray(c.basises)))throw new Error('invalid endo: expected "beta": bigint and "basises": array');let u=Eh(n,o);function f(){if(!n.isOdd)throw new Error("compression is not supported: Field does not have .isOdd()")}function d(F,g,w){if(l&&g.is0())return Uint8Array.of(0);let{x:A,y:v}=g.toAffine(),x=n.toBytes(A);if(nt(w,"isCompressed"),w){f();let _=!n.isOdd(v);return he(xh(_),x)}else return he(Uint8Array.of(4),x,n.toBytes(v))}function h(F){W(F,void 0,"Point");let{publicKey:g,publicKeyUncompressed:w}=u,A=F.length,v=F[0],x=F.subarray(1);if(l&&A===1&&v===0)return{x:n.ZERO,y:n.ZERO};if(A===g&&(v===2||v===3)){let _=n.fromBytes(x);if(!n.isValid(_))throw new Error("bad point: is not on curve, wrong x");let T=p(_),C;try{C=n.sqrt(T)}catch(H){let Y=H instanceof Error?": "+H.message:"";throw new Error("bad point: is not on curve, sqrt error"+Y)}f();let R=n.isOdd(C);return(v&1)===1!==R&&(C=n.neg(C)),{x:_,y:C}}else if(A===w&&v===4){let _=n.BYTES,T=n.fromBytes(x.subarray(0,_)),C=n.fromBytes(x.subarray(_,_*2));if(!m(T,C))throw new Error("bad point: is not on curve");return{x:T,y:C}}else throw new Error(`bad point: got length ${A}, expected compressed=${g} or uncompressed=${w}`)}let b=e.toBytes===void 0?d:e.toBytes,y=e.fromBytes===void 0?h:e.fromBytes;function p(F){let g=n.sqr(F),w=n.mul(g,F);return n.add(n.add(w,n.mul(F,s.a)),s.b)}function m(F,g){let w=n.sqr(g),A=p(F);return n.eql(w,A)}if(!m(s.Gx,s.Gy))throw new Error("bad curve params: generator point");let E=n.mul(n.pow(s.a,Us),ay),S=n.mul(n.sqr(s.b),BigInt(27));if(n.is0(n.add(E,S)))throw new Error("bad curve params: a or b");function O(F,g,w=!1){if(!n.isValid(g)||w&&n.is0(g))throw new Error(`bad point coordinate ${F}`);return g}function L(F){if(!(F instanceof I))throw new Error("Weierstrass Point expected")}function q(F){if(!c||!c.basises)throw new Error("no endo");return iy(F,c.basises,o.ORDER)}function k(F,g,w,A,v){return w=new I(n.mul(w.X,F),w.Y,w.Z),g=no(A,g),w=no(v,w),g.add(w)}class I{static BASE=new I(s.Gx,s.Gy,n.ONE);static ZERO=new I(n.ZERO,n.ONE,n.ZERO);static Fp=n;static Fn=o;X;Y;Z;constructor(g,w,A){this.X=O("x",g),this.Y=O("y",w,!0),this.Z=O("z",A),Object.freeze(this)}static CURVE(){return s}static fromAffine(g){let{x:w,y:A}=g||{};if(!g||!n.isValid(w)||!n.isValid(A))throw new Error("invalid affine point");if(g instanceof I)throw new Error("projective point not allowed");return n.is0(w)&&n.is0(A)?I.ZERO:new I(w,A,n.ONE)}static fromBytes(g){let w=I.fromAffine(y(W(g,void 0,"point")));return w.assertValidity(),w}static fromHex(g){return I.fromBytes(Gr(g))}get x(){return this.toAffine().x}get y(){return this.toAffine().y}precompute(g=8,w=!0){return $.createCache(this,g),w||this.multiply(Us),this}assertValidity(){let g=this;if(g.is0()){if(e.allowInfinityPoint&&n.is0(g.X)&&n.eql(g.Y,n.ONE)&&n.is0(g.Z))return;throw new Error("bad point: ZERO")}let{x:w,y:A}=g.toAffine();if(!n.isValid(w)||!n.isValid(A))throw new Error("bad point: x or y not field elements");if(!m(w,A))throw new Error("bad point: equation left != right");if(!g.isTorsionFree())throw new Error("bad point: not in prime-order subgroup")}hasEvenY(){let{y:g}=this.toAffine();if(!n.isOdd)throw new Error("Field doesn't support isOdd");return!n.isOdd(g)}equals(g){L(g);let{X:w,Y:A,Z:v}=this,{X:x,Y:_,Z:T}=g,C=n.eql(n.mul(w,T),n.mul(x,v)),R=n.eql(n.mul(A,T),n.mul(_,v));return C&&R}negate(){return new I(this.X,n.neg(this.Y),this.Z)}double(){let{a:g,b:w}=s,A=n.mul(w,Us),{X:v,Y:x,Z:_}=this,T=n.ZERO,C=n.ZERO,R=n.ZERO,M=n.mul(v,v),H=n.mul(x,x),Y=n.mul(_,_),z=n.mul(v,x);return z=n.add(z,z),R=n.mul(v,_),R=n.add(R,R),T=n.mul(g,R),C=n.mul(A,Y),C=n.add(T,C),T=n.sub(H,C),C=n.add(H,C),C=n.mul(T,C),T=n.mul(z,T),R=n.mul(A,R),Y=n.mul(g,Y),z=n.sub(M,Y),z=n.mul(g,z),z=n.add(z,R),R=n.add(M,M),M=n.add(R,M),M=n.add(M,Y),M=n.mul(M,z),C=n.add(C,M),Y=n.mul(x,_),Y=n.add(Y,Y),M=n.mul(Y,z),T=n.sub(T,M),R=n.mul(Y,H),R=n.add(R,R),R=n.add(R,R),new I(T,C,R)}add(g){L(g);let{X:w,Y:A,Z:v}=this,{X:x,Y:_,Z:T}=g,C=n.ZERO,R=n.ZERO,M=n.ZERO,H=s.a,Y=n.mul(s.b,Us),z=n.mul(w,x),de=n.mul(A,_),pe=n.mul(v,T),me=n.add(w,A),le=n.add(x,_);me=n.mul(me,le),le=n.add(z,de),me=n.sub(me,le),le=n.add(w,v);let Be=n.add(x,T);return le=n.mul(le,Be),Be=n.add(z,pe),le=n.sub(le,Be),Be=n.add(A,v),C=n.add(_,T),Be=n.mul(Be,C),C=n.add(de,pe),Be=n.sub(Be,C),M=n.mul(H,le),C=n.mul(Y,pe),M=n.add(C,M),C=n.sub(de,M),M=n.add(de,M),R=n.mul(C,M),de=n.add(z,z),de=n.add(de,z),pe=n.mul(H,pe),le=n.mul(Y,le),de=n.add(de,pe),pe=n.sub(z,pe),pe=n.mul(H,pe),le=n.add(le,pe),z=n.mul(de,le),R=n.add(R,z),z=n.mul(Be,le),C=n.mul(me,C),C=n.sub(C,z),z=n.mul(me,de),M=n.mul(Be,M),M=n.add(M,z),new I(C,R,M)}subtract(g){return L(g),this.add(g.negate())}is0(){return this.equals(I.ZERO)}multiply(g){let{endo:w}=e;if(!o.isValidNot0(g))throw new RangeError("invalid scalar: out of range");let A,v,x=_=>$.cached(this,_,T=>dr(I,T));if(w){let{k1neg:_,k1:T,k2neg:C,k2:R}=q(g),{p:M,f:H}=x(T),{p:Y,f:z}=x(R);v=H.add(z),A=k(w.beta,M,Y,_,C)}else{let{p:_,f:T}=x(g);A=_,v=T}return dr(I,[A,v])[0]}multiplyUnsafe(g){let{endo:w}=e,A=this,v=g;if(!o.isValid(v))throw new RangeError("invalid scalar: out of range");if(v===gt||A.is0())return I.ZERO;if(v===Zt)return A;if($.hasCache(this))return this.multiply(v);if(w){let{k1neg:x,k1:_,k2neg:T,k2:C}=q(v),{p1:R,p2:M}=qd(I,A,_,C);return k(w.beta,R,M,x,T)}else return $.unsafe(A,v)}toAffine(g){let w=this,A=g,{X:v,Y:x,Z:_}=w;if(n.eql(_,n.ONE))return{x:v,y:x};let T=w.is0();A==null&&(A=T?n.ONE:n.inv(_));let C=n.mul(v,A),R=n.mul(x,A),M=n.mul(_,A);if(T)return{x:n.ZERO,y:n.ZERO};if(!n.eql(M,n.ONE))throw new Error("invZ was invalid");return{x:C,y:R}}isTorsionFree(){let{isTorsionFree:g}=e;return i===Zt?!0:g?g(I,this):$.unsafe(this,a).is0()}clearCofactor(){let{clearCofactor:g}=e;return i===Zt?this:g?g(I,this):this.multiplyUnsafe(i)}isSmallOrder(){return i===Zt?this.is0():this.clearCofactor().is0()}toBytes(g=!0){return nt(g,"isCompressed"),this.assertValidity(),b(I,this,g)}toHex(g=!0){return Wr(this.toBytes(g))}toString(){return`<Point ${this.is0()?"ZERO":this.toHex()}>`}}let B=o.BITS,$=new Qr(I,e.endo?Math.ceil(B/2):B);return B>=8&&I.BASE.precompute(8),Object.freeze(I.prototype),Object.freeze(I),I}function xh(r){return Uint8Array.of(r?2:3)}function Eh(r,e){return{secretKey:e.BYTES,publicKey:1+r.BYTES,publicKeyUncompressed:1+2*r.BYTES,publicKeyHasPrefix:!0,signature:2*e.BYTES}}function cy(r,e={}){let{Fn:t}=r,n=e.randomBytes===void 0?Qn:e.randomBytes,o=Object.assign(Eh(r.Fp,t),{seed:Math.max(Fc(t.ORDER),16)});function s(h){try{let b=t.fromBytes(h);return t.isValidNot0(b)}catch{return!1}}function i(h,b){let{publicKey:y,publicKeyUncompressed:p}=o;try{let m=h.length;return b===!0&&m!==y||b===!1&&m!==p?!1:!!r.fromBytes(h)}catch{return!1}}function a(h){return h=h===void 0?n(o.seed):h,Bc(W(h,o.seed,"seed"),t.ORDER)}function c(h,b=!0){return r.BASE.multiply(t.fromBytes(h)).toBytes(b)}function l(h){let{secretKey:b,publicKey:y,publicKeyUncompressed:p}=o,m=t._lengths;if(!cr(h))return;let E=W(h,void 0,"key").length,S=E===y||E===p,O=E===b||!!m?.includes(E);if(!(S&&O))return S}function u(h,b,y=!0){if(l(h)===!0)throw new Error("first arg must be private key");if(l(b)===!1)throw new Error("second arg must be public key");let p=t.fromBytes(h);return r.fromBytes(b).multiply(p).toBytes(y)}let f={isValidSecretKey:s,isValidPublicKey:i,randomSecretKey:a},d=Ts(a,c);return Object.freeze(f),Object.freeze(o),Object.freeze({getPublicKey:c,getSharedSecret:u,keygen:d,Point:r,utils:f,lengths:o})}function vh(r,e,t={}){let n=e;ms(n),st(t,{},{hmac:"function",lowS:"boolean",randomBytes:"function",bits2int:"function",bits2int_modN:"function"}),t=Object.assign({},t);let o=t.randomBytes===void 0?Qn:t.randomBytes,s=t.hmac===void 0?(v,x)=>gh(n,v,x):t.hmac,{Fp:i,Fn:a}=r,{ORDER:c,BITS:l}=a,{keygen:u,getPublicKey:f,getSharedSecret:d,utils:h,lengths:b}=cy(r,t),y={prehash:!0,lowS:typeof t.lowS=="boolean"?t.lowS:!0,format:"compact",extraEntropy:!1},p=c*bh+Zt<i.ORDER;function m(v){let x=c>>Zt;return v>x}function E(v,x){if(!a.isValidNot0(x))throw new Error(`invalid signature ${v}: out of range 1..Point.Fn.ORDER`);return x}function S(){if(p)throw new Error('"recovered" sig type is not supported for cofactor >2 curves')}function O(v,x){Il(x);let _=b.signature,T=x==="compact"?_:x==="recovered"?_+1:void 0;return W(v,T)}class L{r;s;recovery;constructor(x,_,T){if(this.r=E("r",x),this.s=E("s",_),T!=null){if(S(),![0,1,2,3].includes(T))throw new Error("invalid recovery id");this.recovery=T}Object.freeze(this)}static fromBytes(x,_=y.format){O(x,_);let T;if(_==="der"){let{r:H,s:Y}=at.toSig(W(x));return new L(H,Y)}_==="recovered"&&(T=x[0],_="compact",x=x.subarray(1));let C=b.signature/2,R=x.subarray(0,C),M=x.subarray(C,C*2);return new L(a.fromBytes(R),a.fromBytes(M),T)}static fromHex(x,_){return this.fromBytes(Gr(x),_)}assertRecovery(){let{recovery:x}=this;if(x==null)throw new Error("invalid recovery id: must be present");return x}addRecoveryBit(x){return new L(this.r,this.s,x)}recoverPublicKey(x){let{r:_,s:T}=this,C=this.assertRecovery(),R=C===2||C===3?_+c:_;if(!i.isValid(R))throw new Error("invalid recovery id: sig.r+curve.n != R.x");let M=i.toBytes(R),H=r.fromBytes(he(xh((C&1)===0),M)),Y=a.inv(R),z=k(W(x,void 0,"msgHash")),de=a.create(-z*Y),pe=a.create(T*Y),me=r.BASE.multiplyUnsafe(de).add(H.multiplyUnsafe(pe));if(me.is0())throw new Error("invalid recovery: point at infinify");return me.assertValidity(),me}hasHighS(){return m(this.s)}toBytes(x=y.format){if(Il(x),x==="der")return Gr(at.hexFromSig(this));let{r:_,s:T}=this,C=a.toBytes(_),R=a.toBytes(T);return x==="recovered"?(S(),he(Uint8Array.of(this.assertRecovery()),C,R)):he(C,R)}toHex(x){return Wr(this.toBytes(x))}}Object.freeze(L.prototype),Object.freeze(L);let q=t.bits2int===void 0?function(x){if(x.length>8192)throw new Error("input is too large");let _=lr(x),T=x.length*8-l;return T>0?_>>BigInt(T):_}:t.bits2int,k=t.bits2int_modN===void 0?function(x){return a.create(q(x))}:t.bits2int_modN,I=to(l);function B(v){return jr("num < 2^"+l,v,gt,I),a.toBytes(v)}function $(v,x){return W(v,void 0,"message"),x?W(n(v),void 0,"prehashed message"):v}function F(v,x,_){let{lowS:T,prehash:C,extraEntropy:R}=_l(_,y);v=$(v,C);let M=k(v),H=a.fromBytes(x);if(!a.isValidNot0(H))throw new Error("invalid private key");let Y=[B(H),B(M)];if(R!=null&&R!==!1){let me=R===!0?o(b.secretKey):R;Y.push(W(me,void 0,"extraEntropy"))}let z=he(...Y),de=M;function pe(me){let le=q(me);if(!a.isValidNot0(le))return;let Be=a.inv(le),Mr=r.BASE.multiply(le).toAffine(),On=a.create(Mr.x);if(On===gt)return;let Qo=a.create(Be*a.create(de+On*H));if(Qo===gt)return;let vf=(Mr.x===On?0:2)|Number(Mr.y&Zt),Sf=Qo;return T&&m(Qo)&&(Sf=a.neg(Qo),vf^=1),new L(On,Sf,p?void 0:vf)}return{seed:z,k2sig:pe}}function g(v,x,_={}){let{seed:T,k2sig:C}=F(v,x,_);return Ad(n.outputLen,a.BYTES,s)(T,C).toBytes(_.format)}function w(v,x,_,T={}){let{lowS:C,prehash:R,format:M}=_l(T,y);if(_=W(_,void 0,"publicKey"),x=$(x,R),!cr(v)){let H=v instanceof L?", use sig.toBytes()":"";throw new Error("verify expects Uint8Array signature"+H)}O(v,M);try{let H=L.fromBytes(v,M),Y=r.fromBytes(_);if(C&&H.hasHighS())return!1;let{r:z,s:de}=H,pe=k(x),me=a.inv(de),le=a.create(pe*me),Be=a.create(z*me),Mr=r.BASE.multiplyUnsafe(le).add(Y.multiplyUnsafe(Be));return Mr.is0()?!1:a.create(Mr.x)===z}catch{return!1}}function A(v,x,_={}){let{prehash:T}=_l(_,y);return x=$(x,T),L.fromBytes(v,"recovered").recoverPublicKey(x).toBytes()}return Object.freeze({keygen:u,getPublicKey:f,getSharedSecret:d,utils:h,lengths:b,Point:r,sign:g,verify:w,recoverPublicKey:A,Signature:L,hash:n})}var Ll={p:BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"),n:BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),h:BigInt(1),a:BigInt(0),b:BigInt(7),Gx:BigInt("0x79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798"),Gy:BigInt("0x483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8")},ly={beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee"),basises:[[BigInt("0x3086d221a7d46bcde86c90e49284eb15"),-BigInt("0xe4437ed6010e88286f547fa90abfe4c3")],[BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"),BigInt("0x3086d221a7d46bcde86c90e49284eb15")]]};var Sh=BigInt(2);function uy(r){let e=Ll.p,t=BigInt(3),n=BigInt(6),o=BigInt(11),s=BigInt(22),i=BigInt(23),a=BigInt(44),c=BigInt(88),l=r*r*r%e,u=l*l*r%e,f=oe(u,t,e)*u%e,d=oe(f,t,e)*u%e,h=oe(d,Sh,e)*l%e,b=oe(h,o,e)*h%e,y=oe(b,s,e)*b%e,p=oe(y,a,e)*y%e,m=oe(p,c,e)*p%e,E=oe(m,a,e)*y%e,S=oe(E,t,e)*u%e,O=oe(S,i,e)*b%e,L=oe(O,n,e)*l%e,q=oe(L,Sh,e);if(!Tl.eql(Tl.sqr(q),r))throw new Error("Cannot find square root");return q}var Tl=Xr(Ll.p,{sqrt:uy}),fy=wh(Ll,{Fp:Tl,endo:ly}),ct=vh(fy,Hr);function Ah(r,e,t){let n=zr.digest(e instanceof Uint8Array?e:e.subarray());if(tn(n))return n.then(({digest:o})=>(t?.signal?.throwIfAborted(),ct.sign(o,r,{prehash:!1,format:"der"}))).catch(o=>{throw o.name==="AbortError"?o:new io(String(o))});try{return ct.sign(n.digest,r,{prehash:!1,format:"der"})}catch(o){throw new io(String(o))}}function _h(r,e,t,n){let o=zr.digest(t instanceof Uint8Array?t:t.subarray());if(tn(o))return o.then(({digest:s})=>(n?.signal?.throwIfAborted(),ct.verify(e,s,r,{prehash:!1,format:"der"}))).catch(s=>{throw s.name==="AbortError"?s:new ao(String(s))});try{return n?.signal?.throwIfAborted(),ct.verify(e,o.digest,r,{prehash:!1,format:"der"})}catch(s){throw new ao(String(s))}}var bo=class{type="secp256k1";raw;_key;constructor(e){this._key=Th(e),this.raw=Ih(this._key)}toMultihash(){return et.digest(Xe(this))}toCID(){return ue.createV1(114,this.toMultihash())}toString(){return te.encode(this.toMultihash().bytes).substring(1)}equals(e){return e==null||!(e.raw instanceof Uint8Array)?!1:X(this.raw,e.raw)}verify(e,t,n){return _h(this._key,t,e,n)}},Ks=class{type="secp256k1";raw;publicKey;constructor(e,t){this.raw=Ch(e),this.publicKey=new bo(t??Lh(e))}equals(e){return e==null||!(e.raw instanceof Uint8Array)?!1:X(this.raw,e.raw)}sign(e,t){return Ah(this.raw,e,t)}};function Pl(r){return new bo(r)}async function Ph(){let r=dy();return new Ks(r)}function Ih(r){return ct.Point.fromBytes(r).toBytes()}function Ch(r){try{return ct.getPublicKey(r,!0),r}catch(e){throw new Mn(String(e))}}function Th(r){try{return ct.Point.fromBytes(r),r}catch(e){throw new Nt(String(e))}}function Lh(r){try{return ct.getPublicKey(r,!0)}catch(e){throw new Mn(String(e))}}function dy(){return ct.utils.randomSecretKey()}async function Dh(r,e){if(r==="Ed25519")return eh();if(r==="secp256k1")return Ph();if(r==="RSA")return Al(hy(e));if(r==="ECDSA")return ad(py(e));throw new Ft}function on(r,e){let{Type:t,Data:n}=mt.decode(r),o=n??new Uint8Array;switch(t){case ie.RSA:return El(o,e);case ie.Ed25519:return Xc(o);case ie.secp256k1:return Pl(o);case ie.ECDSA:return xc(o);default:throw new Ft}}function kh(r){let{Type:e,Data:t}=mt.decode(r.digest),n=t??new Uint8Array;switch(e){case ie.Ed25519:return Xc(n);case ie.secp256k1:return Pl(n);case ie.ECDSA:return xc(n);default:throw new Ft}}function Xe(r){return mt.encode({Type:ie[r.type],Data:r.raw})}function hy(r){return r==null?2048:parseInt(r,10)}function py(r){if(r==="P-256"||r==null)return"P-256";if(r==="P-384")return"P-384";if(r==="P-521")return"P-521";throw new D("Unsupported curve, should be P-256, P-384 or P-521")}var Rh=Symbol.for("nodejs.util.inspect.custom"),my=114,wo=class{type;multihash;publicKey;string;constructor(e){this.type=e.type,this.multihash=e.multihash,Object.defineProperty(this,"string",{enumerable:!1,writable:!0})}get[Symbol.toStringTag](){return`PeerId(${this.toString()})`}[cs]=!0;toString(){return this.string==null&&(this.string=te.encode(this.multihash.bytes).slice(1)),this.string}toMultihash(){return this.multihash}toCID(){return ue.createV1(my,this.multihash)}toJSON(){return this.toString()}equals(e){if(e==null)return!1;if(e instanceof Uint8Array)return X(this.multihash.bytes,e);if(typeof e=="string")return this.toString()===e;if(e?.toMultihash()?.bytes!=null)return X(this.multihash.bytes,e.toMultihash().bytes);throw new Error("not valid Id")}[Rh](){return`PeerId(${this.toString()})`}},xo=class extends wo{type="RSA";publicKey;constructor(e){super({...e,type:"RSA"}),this.publicKey=e.publicKey}},Eo=class extends wo{type="Ed25519";publicKey;constructor(e){super({...e,type:"Ed25519"}),this.publicKey=e.publicKey}},vo=class extends wo{type="secp256k1";publicKey;constructor(e){super({...e,type:"secp256k1"}),this.publicKey=e.publicKey}},gy=2336,So=class{type="url";multihash;publicKey;url;constructor(e){this.url=e.toString(),this.multihash=et.digest(P(this.url))}[Rh](){return`PeerId(${this.url})`}[cs]=!0;toString(){return this.toCID().toString()}toMultihash(){return this.multihash}toCID(){return ue.createV1(gy,this.toMultihash())}toJSON(){return this.toString()}equals(e){return e==null?!1:(e instanceof Uint8Array&&(e=U(e)),e.toString()===this.toString())}};var yy=114,Oh=2336;function yt(r,e){let t;if(r.charAt(0)==="1"||r.charAt(0)==="Q")t=vt(te.decode(`z${r}`));else{if(r.startsWith("k51qzi5uqu5")||r.startsWith("kzwfwjn5ji4")||r.startsWith("k2k4r8")||r.startsWith("bafz"))return Ao(ue.parse(r));if(e==null)throw new D('Please pass a multibase decoder for strings that do not start with "1" or "Q"');t=vt(e.decode(r))}return sn(t)}function Dl(r){if(r.type==="Ed25519")return new Eo({multihash:r.toCID().multihash,publicKey:r});if(r.type==="secp256k1")return new vo({multihash:r.toCID().multihash,publicKey:r});if(r.type==="RSA")return new xo({multihash:r.toCID().multihash,publicKey:r});throw new Ft}function Nh(r){return Dl(r.publicKey)}function sn(r){if(wy(r))return new xo({multihash:r});if(by(r))try{let e=kh(r);if(e.type==="Ed25519")return new Eo({multihash:r,publicKey:e});if(e.type==="secp256k1")return new vo({multihash:r,publicKey:e})}catch{let t=U(r.digest);return new So(new URL(t))}throw new ts("Supplied PeerID Multihash is invalid")}function Ao(r){if(r?.multihash==null||r.version==null||r.version===1&&r.code!==yy&&r.code!==Oh)throw new es("Supplied PeerID CID is invalid");if(r.code===Oh){let e=U(r.multihash.digest);return new So(new URL(e))}return sn(r.multihash)}function by(r){return r.code===et.code}function wy(r){return r.code===zr.code}async function Mh(r){if(r.connectionProtector===null&&globalThis.process?.env?.LIBP2P_FORCE_PNET!=null)throw new D("Private network is enforced, but no protector was provided");return r}function qs(r,e){if(typeof r=="string")return xy(r);if(typeof r=="number")return Sy(r,e);throw new Error(`Value provided to ms() must be a string or number. value=${JSON.stringify(r)}`)}function xy(r){if(typeof r!="string"||r.length===0||r.length>100)throw new Error(`Value provided to ms.parse() must be a string with length between 1 and 99. value=${JSON.stringify(r)}`);let e=/^(?<value>-?\d*\.?\d+) *(?<unit>milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|months?|mo|years?|yrs?|y)?$/i.exec(r);if(!e?.groups)return NaN;let{value:t,unit:n="ms"}=e.groups,o=parseFloat(t),s=n.toLowerCase();switch(s){case"years":case"year":case"yrs":case"yr":case"y":return o*315576e5;case"months":case"month":case"mo":return o*26298e5;case"weeks":case"week":case"w":return o*6048e5;case"days":case"day":case"d":return o*864e5;case"hours":case"hour":case"hrs":case"hr":case"h":return o*36e5;case"minutes":case"minute":case"mins":case"min":case"m":return o*6e4;case"seconds":case"second":case"secs":case"sec":case"s":return o*1e3;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return o;default:throw new Error(`Unknown unit "${s}" provided to ms.parse(). value=${JSON.stringify(r)}`)}}function Ey(r){let e=Math.abs(r);return e>=315576e5?`${Math.round(r/315576e5)}y`:e>=26298e5?`${Math.round(r/26298e5)}mo`:e>=6048e5?`${Math.round(r/6048e5)}w`:e>=864e5?`${Math.round(r/864e5)}d`:e>=36e5?`${Math.round(r/36e5)}h`:e>=6e4?`${Math.round(r/6e4)}m`:e>=1e3?`${Math.round(r/1e3)}s`:`${r}ms`}function vy(r){let e=Math.abs(r);return e>=315576e5?gr(r,e,315576e5,"year"):e>=26298e5?gr(r,e,26298e5,"month"):e>=6048e5?gr(r,e,6048e5,"week"):e>=864e5?gr(r,e,864e5,"day"):e>=36e5?gr(r,e,36e5,"hour"):e>=6e4?gr(r,e,6e4,"minute"):e>=1e3?gr(r,e,1e3,"second"):`${r} ms`}function Sy(r,e){if(typeof r!="number"||!Number.isFinite(r))throw new Error("Value provided to ms.format() must be of type number.");return e?.long?vy(r):Ey(r)}function gr(r,e,t,n){let o=e>=t*1.5;return`${Math.round(r/t)} ${n}${o?"s":""}`}function kl(r){t.debug=t,t.default=t,t.coerce=c,t.disable=s,t.enable=o,t.enabled=i,t.humanize=qs,t.destroy=l,Object.keys(r).forEach(u=>{t[u]=r[u]}),t.names=[],t.skips=[],t.formatters={};function e(u){let f=0;for(let d=0;d<u.length;d++)f=(f<<5)-f+u.charCodeAt(d),f|=0;return t.colors[Math.abs(f)%t.colors.length]}t.selectColor=e;function t(u,f){let d,h=null,b,y;function p(...m){if(!p.enabled)return;let E=p,S=Number(new Date),O=S-(d||S);E.diff=O,E.prev=d,E.curr=S,d=S,m[0]=t.coerce(m[0]),typeof m[0]!="string"&&m.unshift("%O");let L=0;m[0]=m[0].replace(/%([a-zA-Z%])/g,(k,I)=>{if(k==="%%")return"%";L++;let B=t.formatters[I];if(typeof B=="function"){let $=m[L];k=B.call(E,$),m.splice(L,1),L--}return k}),t.formatArgs.call(E,m),f?.onLog!=null&&f.onLog(...m),(E.log||t.log).apply(E,m)}return p.namespace=u,p.useColors=t.useColors(),p.color=t.selectColor(u),p.extend=n,p.destroy=t.destroy,Object.defineProperty(p,"enabled",{enumerable:!0,configurable:!1,get:()=>h!==null?h:(b!==t.namespaces&&(b=t.namespaces,y=t.enabled(u)),y),set:m=>{h=m}}),typeof t.init=="function"&&t.init(p),p}function n(u,f){let d=t(this.namespace+(typeof f>"u"?":":f)+u);return d.log=this.log,d}function o(u){t.save(u),t.namespaces=u,t.names=[],t.skips=[];let f,d=(typeof u=="string"?u:"").split(/[\s,]+/),h=d.length;for(f=0;f<h;f++)d[f]&&(u=d[f].replace(/\*/g,".*?"),u[0]==="-"?t.skips.push(new RegExp("^"+u.substr(1)+"$")):t.names.push(new RegExp("^"+u+"$")))}function s(){let u=[...t.names.map(a),...t.skips.map(a).map(f=>"-"+f)].join(",");return t.enable(""),u}function i(u){if(u[u.length-1]==="*")return!0;let f,d;for(f=0,d=t.skips.length;f<d;f++)if(t.skips[f].test(u))return!1;for(f=0,d=t.names.length;f<d;f++)if(t.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 t.setupFormatters(t.formatters),t.enable(t.load()),t}var $s=Py(),Ay=["#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 _y(){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 Iy(r){if(r[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+r[0]+(this.useColors?"%c ":" ")+"+"+qs(this.diff),!this.useColors)return;let e="color: "+this.color;r.splice(1,0,e,"color: inherit");let t=0,n=0;r[0].replace(/%[a-zA-Z%]/g,o=>{o!=="%%"&&(t++,o==="%c"&&(n=t))}),r.splice(n,0,e)}var Cy=console.debug??console.log??(()=>{});function Ty(r){try{r?$s?.setItem("debug",r):$s?.removeItem("debug")}catch{}}function Ly(){let r;try{r=$s?.getItem("debug")}catch{}return!r&&typeof globalThis.process<"u"&&"env"in globalThis.process&&(r=globalThis.process.env.DEBUG),r}function Py(){try{return localStorage}catch{}}function Dy(r){r.j=function(e){try{return JSON.stringify(e)}catch(t){return"[UnexpectedJSONParseError]: "+t.message}}}var Fh=kl({formatArgs:Iy,save:Ty,load:Ly,useColors:_y,setupFormatters:Dy,colors:Ay,storage:$s,log:Cy});var qe=Fh;qe.formatters.b=r=>r==null?"undefined":te.baseEncode(r);qe.formatters.t=r=>r==null?"undefined":je.baseEncode(r);qe.formatters.m=r=>r==null?"undefined":ac.baseEncode(r);qe.formatters.p=r=>r==null?"undefined":r.toString();qe.formatters.c=r=>r==null?"undefined":r.toString();qe.formatters.k=r=>r==null?"undefined":r.toString();qe.formatters.a=r=>r==null?"undefined":r.toString();function Bh(r,e=""){let t=Uh(r.message),n=Uh(r.stack);return t!=null&&n!=null?n.includes(t)?`${n.split(`
2
+ "use strict";var Libp2P=(()=>{var Lm=Object.create;var Jo=Object.defineProperty;var Pm=Object.getOwnPropertyDescriptor;var Dm=Object.getOwnPropertyNames;var km=Object.getPrototypeOf,Rm=Object.prototype.hasOwnProperty;var Nn=(r,e)=>()=>{try{return e||r((e={exports:{}}).exports,e),e.exports}catch(t){throw e=0,t}},Ue=(r,e)=>{for(var t in e)Jo(r,t,{get:e[t],enumerable:!0})},Af=(r,e,t,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of Dm(e))!Rm.call(r,o)&&o!==t&&Jo(r,o,{get:()=>e[o],enumerable:!(n=Pm(e,o))||n.enumerable});return r};var Ka=(r,e,t)=>(t=r!=null?Lm(km(r)):{},Af(e||!r||!r.__esModule?Jo(t,"default",{value:r,enumerable:!0}):t,r)),Om=r=>Af(Jo({},"__esModule",{value:!0}),r);var ql=Nn(fn=>{"use strict";Object.defineProperty(fn,"__esModule",{value:!0});fn.Netmask4Impl=void 0;fn.ip2long=un;fn.long2ip=bt;function bt(r){let e=(r&-16777216)>>>24,t=(r&255<<16)>>>16,n=(r&65280)>>>8,o=r&255;return[e,t,n,o].join(".")}var $y=48,zy=97,Vy=65;function Hy(r){let e=0,t=10,n="9",o=0;r.length>1&&r[o]==="0"&&(r[o+1]==="x"||r[o+1]==="X"?(o+=2,t=16):"0"<=r[o+1]&&r[o+1]<="9"&&(o++,t=8,n="7"));let s=o;for(;o<r.length;){if("0"<=r[o]&&r[o]<=n)e=e*t+(r.charCodeAt(o)-$y)>>>0;else if(t===16)if("a"<=r[o]&&r[o]<="f")e=e*t+(10+r.charCodeAt(o)-zy)>>>0;else if("A"<=r[o]&&r[o]<="F")e=e*t+(10+r.charCodeAt(o)-Vy)>>>0;else break;else break;if(e>4294967295)throw new Error("too large");o++}if(o===s)throw new Error("empty octet");return[e,o]}function un(r){let e=[];for(let t=0;t<=3&&r.length!==0;t++){if(t>0){if(r[0]!==".")throw new Error("Invalid IP");r=r.substring(1)}let[n,o]=Hy(r);r=r.substring(o),e.push(n)}if(r.length!==0)throw new Error("Invalid IP");switch(e.length){case 1:if(e[0]>4294967295)throw new Error("Invalid IP");return e[0]>>>0;case 2:if(e[0]>255||e[1]>16777215)throw new Error("Invalid IP");return(e[0]<<24|e[1])>>>0;case 3:if(e[0]>255||e[1]>255||e[2]>65535)throw new Error("Invalid IP");return(e[0]<<24|e[1]<<16|e[2])>>>0;case 4:if(e[0]>255||e[1]>255||e[2]>255||e[3]>255)throw new Error("Invalid IP");return(e[0]<<24|e[1]<<16|e[2]<<8|e[3])>>>0;default:throw new Error("Invalid IP")}}var Kl=class r{constructor(e,t){if(typeof e!="string")throw new Error("Missing `net' parameter");let n=t;if(!n){let o=e.split("/",2);e=o[0],n=o[1]}if(n||(n=32),typeof n=="string"&&n.indexOf(".")>-1){try{this.maskLong=un(n)}catch{throw new Error("Invalid mask: "+n)}this.bitmask=NaN;for(let o=32;o>=0;o--)if(this.maskLong===4294967295<<32-o>>>0){this.bitmask=o;break}}else if(n||n===0)this.bitmask=parseInt(n,10),this.maskLong=0,this.bitmask>0&&(this.maskLong=4294967295<<32-this.bitmask>>>0);else throw new Error("Invalid mask: empty");try{this.netLong=(un(e)&this.maskLong)>>>0}catch{throw new Error("Invalid net address: "+e)}if(!(this.bitmask<=32))throw new Error("Invalid mask for ip4: "+n);this.size=Math.pow(2,32-this.bitmask),this.base=bt(this.netLong),this.mask=bt(this.maskLong),this.hostmask=bt(~this.maskLong),this.first=this.bitmask<=30?bt(this.netLong+1):this.base,this.last=this.bitmask<=30?bt(this.netLong+this.size-2):bt(this.netLong+this.size-1),this.broadcast=this.bitmask<=30?bt(this.netLong+this.size-1):void 0}contains(e){return typeof e=="string"&&(e.indexOf("/")>0||e.split(".").length!==4)&&(e=new r(e)),e instanceof r?this.contains(e.base)&&this.contains(e.broadcast||e.last):(un(e)&this.maskLong)>>>0===(this.netLong&this.maskLong)>>>0}next(e=1){return new r(bt(this.netLong+this.size*e),this.mask)}forEach(e){let t=un(this.first),n=un(this.last),o=0;for(;t<=n;)e(bt(t),t,o),o++,t++}toString(){return this.base+"/"+this.bitmask}};fn.Netmask4Impl=Kl});var ep=Nn(dn=>{"use strict";Object.defineProperty(dn,"__esModule",{value:!0});dn.Netmask6Impl=void 0;dn.ip6bigint=zl;dn.bigint2ip6=Sr;var Wy=ql(),$l=(1n<<128n)-1n;function zl(r){let e=r.indexOf("%");e!==-1&&(r=r.substring(0,e));let t=r.lastIndexOf(":");if(t!==-1&&r.indexOf(".",t)!==-1){let n=r.substring(t+1),o=(0,Wy.ip2long)(n),s=r.substring(0,t+1)+"0:0";return Jh(s)&~0xffffffffn|BigInt(o)}return Jh(r)}function Jh(r){let e=r.indexOf("::"),t;if(e!==-1){let o=r.substring(0,e),s=r.substring(e+2),i=o===""?[]:o.split(":"),a=s===""?[]:s.split(":"),c=8-i.length-a.length;if(c<0)throw new Error("Invalid IPv6: too many groups");t=[...i,...Array(c).fill("0"),...a]}else t=r.split(":");if(t.length!==8)throw new Error("Invalid IPv6: expected 8 groups, got "+t.length);let n=0n;for(let o=0;o<8;o++){let s=t[o];if(s.length===0||s.length>4)throw new Error('Invalid IPv6: bad group "'+s+'"');let i=parseInt(s,16);if(isNaN(i)||i<0||i>65535)throw new Error('Invalid IPv6: bad group "'+s+'"');n=n<<16n|BigInt(i)}return n}function Sr(r){if(r<0n||r>$l)throw new Error("Invalid IPv6 address value");let e=[];for(let i=0;i<8;i++)e.unshift(Number(r&0xffffn)),r>>=16n;let t=-1,n=0,o=-1,s=0;for(let i=0;i<8;i++)e[i]===0?o===-1?(o=i,s=1):s++:(s>n&&s>=2&&(t=o,n=s),o=-1,s=0);if(s>n&&s>=2&&(t=o,n=s),t!==-1&&t+n===8&&t>0)return e.slice(0,t).map(a=>a.toString(16)).join(":")+"::";if(t===0)return"::"+e.slice(n).map(a=>a.toString(16)).join(":");if(t>0){let i=e.slice(0,t).map(c=>c.toString(16)),a=e.slice(t+n).map(c=>c.toString(16));return i.join(":")+"::"+a.join(":")}else return e.map(i=>i.toString(16)).join(":")}var Vl=class r{constructor(e,t){if(typeof e!="string")throw new Error("Missing `net' parameter");let n=t;if(n==null){let o=e.indexOf("/");o!==-1?(n=parseInt(e.substring(o+1),10),e=e.substring(0,o)):n=128}if(isNaN(n)||n<0||n>128)throw new Error("Invalid mask for IPv6: "+n);this.bitmask=n,this.bitmask===0?this.maskBigint=0n:this.maskBigint=$l>>BigInt(128-this.bitmask)<<BigInt(128-this.bitmask);try{this.netBigint=zl(e)&this.maskBigint}catch{throw new Error("Invalid IPv6 net address: "+e)}this.size=Number(1n<<BigInt(128-this.bitmask)),this.base=Sr(this.netBigint),this.mask=Sr(this.maskBigint),this.hostmask=Sr(~this.maskBigint&$l),this.first=this.base,this.last=Sr(this.netBigint+(1n<<BigInt(128-this.bitmask))-1n),this.broadcast=void 0}contains(e){return typeof e=="string"&&e.indexOf("/")>0&&(e=new r(e)),e instanceof r?this.contains(e.base)&&this.contains(e.last):(zl(e)&this.maskBigint)===this.netBigint}next(e=1){let t=1n<<BigInt(128-this.bitmask);return new r(Sr(this.netBigint+t*BigInt(e)),this.bitmask)}forEach(e){let t=this.netBigint,n=1n<<BigInt(128-this.bitmask),o=this.netBigint+n-1n,s=0;for(;t<=o;)e(Sr(t),Number(t),s),s++,t++}toString(){return this.base+"/"+this.bitmask}};dn.Netmask6Impl=Vl});var tp=Nn(Qt=>{"use strict";Object.defineProperty(Qt,"__esModule",{value:!0});Qt.long2ip=Qt.ip2long=Qt.Netmask=void 0;var Xs=ql();Object.defineProperty(Qt,"ip2long",{enumerable:!0,get:function(){return Xs.ip2long}});Object.defineProperty(Qt,"long2ip",{enumerable:!0,get:function(){return Xs.long2ip}});var Gy=ep(),Hl=class r{constructor(e,t){if(typeof e!="string")throw new Error("Missing `net' parameter");(e.indexOf("/")!==-1?e.substring(0,e.indexOf("/")):e).indexOf(":")!==-1?this._impl=new Gy.Netmask6Impl(e,t):this._impl=new Xs.Netmask4Impl(e,t),this.base=this._impl.base,this.mask=this._impl.mask,this.hostmask=this._impl.hostmask,this.bitmask=this._impl.bitmask,this.size=this._impl.size,this.first=this._impl.first,this.last=this._impl.last,this.broadcast=this._impl.broadcast,this._impl instanceof Xs.Netmask4Impl?(this.maskLong=this._impl.maskLong,this.netLong=this._impl.netLong):(this.maskLong=0,this.netLong=0)}contains(e){return typeof e=="string"&&(e.indexOf("/")>0?e=new r(e):e.indexOf(":")===-1&&e.split(".").length!==4&&(e=new r(e))),e instanceof r?this.contains(e.base)&&this.contains(e.broadcast||e.last):this._impl.contains(e)}next(e=1){let t=this._impl.next(e);return new r(t.base,t.bitmask)}forEach(e){this._impl.forEach(e)}toString(){return this._impl.toString()}};Qt.Netmask=Hl});var hm=Nn((y4,Qu)=>{"use strict";var Rw=Object.prototype.hasOwnProperty,Fe="~";function jo(){}Object.create&&(jo.prototype=Object.create(null),new jo().__proto__||(Fe=!1));function Ow(r,e,t){this.fn=r,this.context=e,this.once=t||!1}function dm(r,e,t,n,o){if(typeof t!="function")throw new TypeError("The listener must be a function");var s=new Ow(t,n||r,o),i=Fe?Fe+e:e;return r._events[i]?r._events[i].fn?r._events[i]=[r._events[i],s]:r._events[i].push(s):(r._events[i]=s,r._eventsCount++),r}function Ea(r,e){--r._eventsCount===0?r._events=new jo:delete r._events[e]}function Pe(){this._events=new jo,this._eventsCount=0}Pe.prototype.eventNames=function(){var e=[],t,n;if(this._eventsCount===0)return e;for(n in t=this._events)Rw.call(t,n)&&e.push(Fe?n.slice(1):n);return Object.getOwnPropertySymbols?e.concat(Object.getOwnPropertySymbols(t)):e};Pe.prototype.listeners=function(e){var t=Fe?Fe+e:e,n=this._events[t];if(!n)return[];if(n.fn)return[n.fn];for(var o=0,s=n.length,i=new Array(s);o<s;o++)i[o]=n[o].fn;return i};Pe.prototype.listenerCount=function(e){var t=Fe?Fe+e:e,n=this._events[t];return n?n.fn?1:n.length:0};Pe.prototype.emit=function(e,t,n,o,s,i){var a=Fe?Fe+e:e;if(!this._events[a])return!1;var c=this._events[a],l=arguments.length,u,f;if(c.fn){switch(c.once&&this.removeListener(e,c.fn,void 0,!0),l){case 1:return c.fn.call(c.context),!0;case 2:return c.fn.call(c.context,t),!0;case 3:return c.fn.call(c.context,t,n),!0;case 4:return c.fn.call(c.context,t,n,o),!0;case 5:return c.fn.call(c.context,t,n,o,s),!0;case 6:return c.fn.call(c.context,t,n,o,s,i),!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,h;for(f=0;f<d;f++)switch(c[f].once&&this.removeListener(e,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,t);break;case 3:c[f].fn.call(c[f].context,t,n);break;case 4:c[f].fn.call(c[f].context,t,n,o);break;default:if(!u)for(h=1,u=new Array(l-1);h<l;h++)u[h-1]=arguments[h];c[f].fn.apply(c[f].context,u)}}return!0};Pe.prototype.on=function(e,t,n){return dm(this,e,t,n,!1)};Pe.prototype.once=function(e,t,n){return dm(this,e,t,n,!0)};Pe.prototype.removeListener=function(e,t,n,o){var s=Fe?Fe+e:e;if(!this._events[s])return this;if(!t)return Ea(this,s),this;var i=this._events[s];if(i.fn)i.fn===t&&(!o||i.once)&&(!n||i.context===n)&&Ea(this,s);else{for(var a=0,c=[],l=i.length;a<l;a++)(i[a].fn!==t||o&&!i[a].once||n&&i[a].context!==n)&&c.push(i[a]);c.length?this._events[s]=c.length===1?c[0]:c:Ea(this,s)}return this};Pe.prototype.removeAllListeners=function(e){var t;return e?(t=Fe?Fe+e:e,this._events[t]&&Ea(this,t)):(this._events=new jo,this._eventsCount=0),this};Pe.prototype.off=Pe.prototype.removeListener;Pe.prototype.addListener=Pe.prototype.on;Pe.prefixed=Fe;Pe.EventEmitter=Pe;typeof Qu<"u"&&(Qu.exports=Pe)});var gm=Nn((U4,mm)=>{mm.exports=function(r){if(!r)throw Error("hashlru must have a max value, of type number, greater than 0");var e=0,t=Object.create(null),n=Object.create(null);function o(s,i){t[s]=i,e++,e>=r&&(e=0,n=t,t=Object.create(null))}return{has:function(s){return t[s]!==void 0||n[s]!==void 0},remove:function(s){t[s]!==void 0&&(t[s]=void 0),n[s]!==void 0&&(n[s]=void 0)},get:function(s){var i=t[s];if(i!==void 0)return i;if((i=n[s])!==void 0)return o(s,i),i},set:function(s,i){t[s]!==void 0?t[s]=i:o(s,i)},clear:function(){t=Object.create(null),n=Object.create(null)}}}});var cx={};Ue(cx,{createLibp2p:()=>sx,dnsaddrResolver:()=>Nr,isLibp2p:()=>ax});var _f=Symbol.for("@libp2p/connection");var qa=Symbol.for("@libp2p/content-routing");var Je=class extends Error{static name="AbortError";constructor(e="The operation was aborted"){super(e),this.name="AbortError"}};var D=class extends Error{static name="InvalidParametersError";constructor(e="Invalid parameters"){super(e),this.name="InvalidParametersError"}},Nt=class extends Error{static name="InvalidPublicKeyError";constructor(e="Invalid public key"){super(e),this.name="InvalidPublicKeyError"}},Mn=class extends Error{static name="InvalidPrivateKeyError";constructor(e="Invalid private key"){super(e),this.name="InvalidPrivateKeyError"}};var rr=class extends Error{static name="ConnectionClosedError";constructor(e="The connection is closed"){super(e),this.name="ConnectionClosedError"}};var nr=class extends Error{static name="NotFoundError";constructor(e="Not found"){super(e),this.name="NotFoundError"}},Fr=class extends Error{static name="InvalidPeerIdError";constructor(e="Invalid PeerID"){super(e),this.name="InvalidPeerIdError"}},Mt=class extends Error{static name="InvalidMultiaddrError";constructor(e="Invalid multiaddr"){super(e),this.name="InvalidMultiaddrError"}},es=class extends Error{static name="InvalidCIDError";constructor(e="Invalid CID"){super(e),this.name="InvalidCIDError"}},ts=class extends Error{static name="InvalidMultihashError";constructor(e="Invalid Multihash"){super(e),this.name="InvalidMultihashError"}},rs=class extends Error{static name="UnsupportedProtocolError";constructor(e="Unsupported protocol error"){super(e),this.name="UnsupportedProtocolError"}},ns=class extends Error{static name="InvalidMessageError";constructor(e="Invalid message"){super(e),this.name="InvalidMessageError"}};var os=class extends Error{static name="TimeoutError";constructor(e="Timed out"){super(e),this.name="TimeoutError"}},Et=class extends Error{static name="NotStartedError";constructor(e="Not started"){super(e),this.name="NotStartedError"}};var Br=class extends Error{static name="DialError";constructor(e="Dial error"){super(e),this.name="DialError"}};var Fn=class extends Error{static name="LimitedConnectionError";constructor(e="Limited connection"){super(e),this.name="LimitedConnectionError"}},ss=class extends Error{static name="TooManyInboundProtocolStreamsError";constructor(e="Too many inbound protocol streams"){super(e),this.name="TooManyInboundProtocolStreamsError"}},is=class extends Error{static name="TooManyOutboundProtocolStreamsError";constructor(e="Too many outbound protocol streams"){super(e),this.name="TooManyOutboundProtocolStreamsError"}},Ft=class extends Error{static name="UnsupportedKeyTypeError";constructor(e="Unsupported key type"){super(e),this.name="UnsupportedKeyTypeError"}};var as=class extends Event{error;local;constructor(e,t,n){super("close",n),this.error=t,this.local=e}};var $a=Symbol.for("@libp2p/peer-discovery");var cs=Symbol.for("@libp2p/peer-id");function Bt(r){return!!r?.[cs]}var za=Symbol.for("@libp2p/peer-routing");var Va="keep-alive";function ls(r){return r!=null&&typeof r.start=="function"&&typeof r.stop=="function"}async function If(...r){let e=[];for(let t of r)ls(t)&&e.push(t);await Promise.all(e.map(async t=>{t.beforeStart!=null&&await t.beforeStart()})),await Promise.all(e.map(async t=>{await t.start()})),await Promise.all(e.map(async t=>{t.afterStart!=null&&await t.afterStart()}))}async function Cf(...r){let e=[];for(let t of r)ls(t)&&e.push(t);await Promise.all(e.map(async t=>{t.beforeStop!=null&&await t.beforeStop()})),await Promise.all(e.map(async t=>{await t.stop()})),await Promise.all(e.map(async t=>{t.afterStop!=null&&await t.afterStop()}))}var Bn;(function(r){r[r.FATAL_ALL=0]="FATAL_ALL",r[r.NO_FATAL=1]="NO_FATAL"})(Bn||(Bn={}));function Nm(r){return typeof r?.handleEvent=="function"}function Mm(r){return(r!==!0&&r!==!1&&r?.once)??!1}var De=class extends EventTarget{#e=new Map;constructor(){super()}listenerCount(e){let t=this.#e.get(e);return t==null?0:t.length}addEventListener(e,t,n){let o=Mm(n);super.addEventListener(e,i=>{if(o){let a=this.#e.get(i.type);a!=null&&(a=a.filter(({callback:c})=>c!==t),this.#e.set(i.type,a))}Nm(t)?t.handleEvent(i):t(i)},n);let s=this.#e.get(e);s==null&&(s=[],this.#e.set(e,s)),s.push({callback:t,once:o})}removeEventListener(e,t,n){super.removeEventListener(e.toString(),t??null,n);let o=this.#e.get(e);o!=null&&(o=o.filter(({callback:s})=>s!==t),this.#e.set(e,o))}safeDispatchEvent(e,t={}){return this.dispatchEvent(new CustomEvent(e,t))}};var Un=Symbol.for("@libp2p/service-capabilities"),Ha=Symbol.for("@libp2p/service-dependencies");var Xa={};Ue(Xa,{base58btc:()=>te,base58flickr:()=>Vm});var Wx=new Uint8Array(0);function Lf(r,e){if(r===e)return!0;if(r.byteLength!==e.byteLength)return!1;for(let t=0;t<r.byteLength;t++)if(r[t]!==e[t])return!1;return!0}function Ge(r){if(r instanceof Uint8Array&&r.constructor.name==="Uint8Array")return or(r);if(r instanceof ArrayBuffer)return new Uint8Array(r);if(ArrayBuffer.isView(r))return or(new Uint8Array(r.buffer,r.byteOffset,r.byteLength));throw new Error("Unknown type, must be binary type")}function Pf(r){let e=new Uint8Array(r.length);for(let t=0;t<r.length;t++)e[t]=r.charCodeAt(t);return e}var Tf=4096;function Df(r){let e=r.length;if(e<=Tf)return String.fromCharCode.apply(String,r);let t="",n=0;for(;n<e;)t+=String.fromCharCode.apply(String,r.subarray(n,n+=Tf));return t}function Fm(r){return r?.buffer instanceof ArrayBuffer}function or(r){return Fm(r)?r:r.slice()}function Bm(r,e,t){if(r.length>=255)throw new TypeError("Alphabet too long");for(var n=new Uint8Array(256),o=0;o<n.length;o++)n[o]=255;for(var s=0;s<r.length;s++){var i=r.charAt(s),a=i.charCodeAt(0);if(n[a]!==255)throw new TypeError(i+" is ambiguous");if(n[a]=s,t){var c=i.toLowerCase().charCodeAt(0),l=i.toUpperCase().charCodeAt(0);c!==a&&(n[c]=s),l!==a&&(n[l]=s)}}var u=r.length,f=r.charAt(0),d=Math.log(u)/Math.log(256),h=Math.log(256)/Math.log(u);function b(m){if(m instanceof Uint8Array||(ArrayBuffer.isView(m)?m=new Uint8Array(m.buffer,m.byteOffset,m.byteLength):Array.isArray(m)&&(m=Uint8Array.from(m))),!(m instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(m.length===0)return"";for(var E=0,S=0,O=0,L=m.length;O!==L&&m[O]===0;)O++,E++;for(var q=(L-O)*h+1>>>0,k=new Uint8Array(q);O!==L;){for(var I=m[O],B=0,$=q-1;(I!==0||B<S)&&$!==-1;$--,B++)I+=256*k[$]>>>0,k[$]=I%u>>>0,I=I/u>>>0;if(I!==0)throw new Error("Non-zero carry");S=B,O++}for(var F=q-S;F!==q&&k[F]===0;)F++;for(var g=f.repeat(E);F<q;++F)g+=r.charAt(k[F]);return g}function y(m){if(typeof m!="string")throw new TypeError("Expected String");if(m.length===0)return new Uint8Array;var E=0;if(m[E]!==" "){for(var S=0,O=0;m[E]===f;)S++,E++;for(var L=(m.length-E)*d+1>>>0,q=new Uint8Array(L);m[E];){var k=n[m.charCodeAt(E)];if(k===255)return;for(var I=0,B=L-1;(k!==0||I<O)&&B!==-1;B--,I++)k+=u*q[B]>>>0,q[B]=k%256>>>0,k=k/256>>>0;if(k!==0)throw new Error("Non-zero carry");O=I,E++}if(m[E]!==" "){for(var $=L-O;$!==L&&q[$]===0;)$++;for(var F=new Uint8Array(S+(L-$)),g=S;$!==L;)F[g++]=q[$++];return F}}}function p(m){var E=y(m);if(E)return E;throw new Error(`Non-${e} character`)}return{encode:b,decodeUnsafe:y,decode:p}}var Um=Bm,Km=Um,Rf=Km;var Wa=class{name;prefix;baseEncode;constructor(e,t,n){this.name=e,this.prefix=t,this.baseEncode=n}encode(e){if(e instanceof Uint8Array)return`${this.prefix}${this.baseEncode(e)}`;throw Error("Unknown type, must be binary type")}},Ga=class{name;prefix;baseDecode;prefixCodePoint;constructor(e,t,n){this.name=e,this.prefix=t;let o=t.codePointAt(0);if(o===void 0)throw new Error("Invalid prefix character");this.prefixCodePoint=o,this.baseDecode=n}decode(e){if(typeof e=="string"){if(e.codePointAt(0)!==this.prefixCodePoint)throw Error(`Unable to decode multibase string ${JSON.stringify(e)}, ${this.name} decoder only supports inputs prefixed with ${this.prefix}`);return this.baseDecode(e.slice(this.prefix.length))}else throw Error("Can only multibase decode strings")}or(e){return Of(this,e)}},ja=class{decoders;constructor(e){this.decoders=e}or(e){return Of(this,e)}decode(e){let t=e[0],n=this.decoders[t];if(n!=null)return n.decode(e);throw RangeError(`Unable to decode multibase string ${JSON.stringify(e)}, only inputs prefixed with ${Object.keys(this.decoders)} are supported`)}};function Of(r,e){return new ja({...r.decoders??{[r.prefix]:r},...e.decoders??{[e.prefix]:e}})}var Ya=class{name;prefix;baseEncode;baseDecode;encoder;decoder;constructor(e,t,n,o){this.name=e,this.prefix=t,this.baseEncode=n,this.baseDecode=o,this.encoder=new Wa(e,t,n),this.decoder=new Ga(e,t,o)}encode(e){return this.encoder.encode(e)}decode(e){return this.decoder.decode(e)}};function Ur({name:r,prefix:e,encode:t,decode:n}){return new Ya(r,e,t,n)}function Ut({name:r,prefix:e,alphabet:t,caseInsensitive:n=!1}){let{encode:o,decode:s}=Rf(t,r,n);return Ur({prefix:e,name:r,encode:o,decode:i=>Ge(s(i))})}function qm(r,e,t,n){let o=r.length;for(;r[o-1]==="=";)--o;let s=new Uint8Array(o*t/8|0),i=0,a=0,c=0;for(let l=0;l<o;++l){let u=e[r[l]];if(u===void 0)throw new SyntaxError(`Non-${n} character`);a=a<<t|u,i+=t,i>=8&&(i-=8,s[c++]=255&a>>i)}if(i>=t||(255&a<<8-i)!==0)throw new SyntaxError("Unexpected end of data");return s}function $m(r,e,t){let n=e[e.length-1]==="=",o=(1<<t)-1,s="",i=0,a=0;for(let c=0;c<r.length;++c)for(a=a<<8|r[c],i+=8;i>t;)i-=t,s+=e[o&a>>i];if(i!==0&&(s+=e[o&a<<t-i]),n)for(;(s.length*t&7)!==0;)s+="=";return s}function zm(r,e){let t={};for(let n=0;n<r.length;++n)if(t[r[n]]=n,e){let o=r[n].toLowerCase(),s=r[n].toUpperCase();o!==r[n]&&(t[o]=n),s!==r[n]&&(t[s]=n)}return t}function ae({name:r,prefix:e,bitsPerChar:t,alphabet:n,caseInsensitive:o=!1}){let s=zm(n,o);return Ur({prefix:e,name:r,encode(i){return $m(i,n,t)},decode(i){return qm(i,s,t,r)}})}var te=Ut({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),Vm=Ut({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var Za={};Ue(Za,{base32:()=>je,base32hex:()=>jm,base32hexpad:()=>Xm,base32hexpadupper:()=>Zm,base32hexupper:()=>Ym,base32pad:()=>Wm,base32padupper:()=>Gm,base32upper:()=>Hm,base32z:()=>Qm});var je=ae({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5,caseInsensitive:!0}),Hm=ae({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5,caseInsensitive:!0}),Wm=ae({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5,caseInsensitive:!0}),Gm=ae({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5,caseInsensitive:!0}),jm=ae({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5,caseInsensitive:!0}),Ym=ae({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5,caseInsensitive:!0}),Xm=ae({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5,caseInsensitive:!0}),Zm=ae({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5,caseInsensitive:!0}),Qm=ae({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var Qa={};Ue(Qa,{base36:()=>Kn,base36upper:()=>Jm});var Kn=Ut({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz",caseInsensitive:!0}),Jm=Ut({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ",caseInsensitive:!0});var eg=Ff,Nf=128,tg=127,rg=~tg,ng=Math.pow(2,31);function Ff(r,e,t){e=e||[],t=t||0;for(var n=t;r>=ng;)e[t++]=r&255|Nf,r/=128;for(;r&rg;)e[t++]=r&255|Nf,r>>>=7;return e[t]=r|0,Ff.bytes=t-n+1,e}var og=Ja,sg=128,Mf=127;function Ja(r,n){var t=0,n=n||0,o=0,s=n,i,a=r.length;do{if(s>=a)throw Ja.bytes=0,new RangeError("Could not decode varint");i=r[s++],t+=o<28?(i&Mf)<<o:(i&Mf)*Math.pow(2,o),o+=7}while(i>=sg);return Ja.bytes=s-n,t}var ig=Math.pow(2,7),ag=Math.pow(2,14),cg=Math.pow(2,21),lg=Math.pow(2,28),ug=Math.pow(2,35),fg=Math.pow(2,42),dg=Math.pow(2,49),hg=Math.pow(2,56),pg=Math.pow(2,63),mg=function(r){return r<ig?1:r<ag?2:r<cg?3:r<lg?4:r<ug?5:r<fg?6:r<dg?7:r<hg?8:r<pg?9:10},gg={encode:eg,decode:og,encodingLength:mg},yg=gg,qn=yg;function $n(r,e=0){let t=qn.decode(r,e),n=qn.decode.bytes;if(n>9)throw new RangeError("Invalid varint: too long");if(n>1&&r[e+n-1]===0)throw new RangeError("Invalid varint: not minimally encoded");return[t,n]}function Kr(r,e,t=0){return qn.encode(r,e,t),e}function qr(r){return qn.encodingLength(r)}function dt(r,e){let t=e.byteLength,n=qr(r),o=n+qr(t),s=new Uint8Array(o+t);return Kr(r,s,0),Kr(t,s,n),s.set(e,o),new $r(r,t,e,s)}function vt(r){let e=Ge(r),[t,n]=$n(e),[o,s]=$n(e.subarray(n)),i=e.subarray(n+s);if(i.byteLength!==o)throw new Error("Incorrect length");return new $r(t,o,i,e)}function Bf(r,e){if(r===e)return!0;{let t=e;return r.code===t.code&&r.size===t.size&&t.bytes instanceof Uint8Array&&Lf(r.bytes,t.bytes)}}var $r=class{code;size;digest;bytes;constructor(e,t,n,o){this.code=e,this.size=t,this.digest=or(n),this.bytes=or(o)}};function Uf(r,e){let{bytes:t,version:n}=r;return n===0?wg(t,ec(r),e??te.encoder):xg(t,ec(r),e??je.encoder)}var Kf=new WeakMap;function ec(r){let e=Kf.get(r);if(e==null){let t=new Map;return Kf.set(r,t),t}return e}var ue=class r{code;version;multihash;bytes;"/";constructor(e,t,n,o){this.code=t,this.version=e,this.multihash=n,this.bytes=or(o),this["/"]=this.bytes}get asCID(){return this}get byteOffset(){return this.bytes.byteOffset}get byteLength(){return this.bytes.byteLength}toV0(){switch(this.version){case 0:return this;case 1:{let{code:e,multihash:t}=this;if(e!==zn)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(t.code!==Eg)throw new Error("Cannot convert non sha2-256 multihash CID to CIDv0");return r.createV0(t)}default:throw Error(`Can not convert CID version ${this.version} to version 0. This is a bug please report`)}}toV1(){switch(this.version){case 0:{let{code:e,digest:t}=this.multihash,n=dt(e,t);return r.createV1(this.code,n)}case 1:return this;default:throw Error(`Can not convert CID version ${this.version} to version 1. This is a bug please report`)}}equals(e){return r.equals(this,e)}static equals(e,t){let n=t;return n!=null&&e.code===n.code&&e.version===n.version&&Bf(e.multihash,n.multihash)}toString(e){return Uf(this,e)}toJSON(){return{"/":Uf(this)}}link(){return this}[Symbol.toStringTag]="CID";[Symbol.for("nodejs.util.inspect.custom")](){return`CID(${this.toString()})`}static asCID(e){if(e==null)return null;let t=e;if(t instanceof r)return t;if(t["/"]!=null&&t["/"]===t.bytes||t.asCID===t){let{version:n,code:o,multihash:s,bytes:i}=t;return new r(n,o,s,i??qf(n,o,s.bytes))}else if(t[vg]===!0){let{version:n,multihash:o,code:s}=t,i=vt(o);return r.create(n,s,i)}else return null}static create(e,t,n){if(typeof t!="number")throw new Error("String codecs are no longer supported");if(!(n.bytes instanceof Uint8Array))throw new Error("Invalid digest");switch(e){case 0:{if(t!==zn)throw new Error(`Version 0 CID must use dag-pb (code: ${zn}) block encoding`);return new r(e,t,n,n.bytes)}case 1:{let o=qf(e,t,n.bytes);return new r(e,t,n,o)}default:throw new Error("Invalid version")}}static createV0(e){return r.create(0,zn,e)}static createV1(e,t){return r.create(1,e,t)}static decode(e){let[t,n]=r.decodeFirst(e);if(n.length!==0)throw new Error("Incorrect length");return t}static decodeFirst(e){let t=r.inspectBytes(e),n=t.size-t.multihashSize,o=Ge(e.subarray(n,n+t.multihashSize));if(o.byteLength!==t.multihashSize)throw new Error("Incorrect length");let s=o.subarray(t.multihashSize-t.digestSize),i=new $r(t.multihashCode,t.digestSize,s,o);return[t.version===0?r.createV0(i):r.createV1(t.codec,i),e.subarray(t.size)]}static inspectBytes(e){let t=0,n=()=>{let[f,d]=$n(e.subarray(t));return t+=d,f},o=n(),s=zn;if(o===18?(o=0,t=0):s=n(),o!==0&&o!==1)throw new RangeError(`Invalid CID version ${o}`);let i=t,a=n(),c=n(),l=t+c,u=l-i;return{version:o,codec:s,multihashCode:a,digestSize:c,multihashSize:u,size:l}}static parse(e,t){let[n,o]=bg(e,t),s=r.decode(o);if(s.version===0&&e[0]!=="Q")throw Error("Version 0 CID string must not include multibase prefix");return ec(s).set(n,e),s}};function bg(r,e){switch(r[0]){case"Q":{let t=e??te;return[te.prefix,t.decode(`${te.prefix}${r}`)]}case te.prefix:{let t=e??te;return[te.prefix,t.decode(r)]}case je.prefix:{let t=e??je;return[je.prefix,t.decode(r)]}case Kn.prefix:{let t=e??Kn;return[Kn.prefix,t.decode(r)]}default:{if(e==null)throw Error("To parse non base32, base36 or base58btc encoded CID multibase decoder must be provided");return[r[0],e.decode(r)]}}}function wg(r,e,t){let{prefix:n}=t;if(n!==te.prefix)throw Error(`Cannot string encode V0 in ${t.name} encoding`);let o=e.get(n);if(o==null){let s=t.encode(r).slice(1);return e.set(n,s),s}else return o}function xg(r,e,t){let{prefix:n}=t,o=e.get(n);if(o==null){let s=t.encode(r);return e.set(n,s),s}else return o}var zn=112,Eg=18;function qf(r,e,t){let n=qr(r),o=n+qr(e),s=new Uint8Array(o+t.byteLength);return Kr(r,s,0),Kr(e,s,n),s.set(t,o),s}var vg=Symbol.for("@ipld/js-cid/CID");var tc={};Ue(tc,{identity:()=>et});var $f=0,Sg="identity",zf=Ge;function Ag(r,e){if(e?.truncate!=null&&e.truncate!==r.byteLength){if(e.truncate<0||e.truncate>r.byteLength)throw new Error(`Invalid truncate option, must be less than or equal to ${r.byteLength}`);r=r.subarray(0,e.truncate)}return dt($f,zf(r))}var et={code:$f,name:Sg,encode:zf,digest:Ag};function X(r,e){if(r===e)return!0;if(r.byteLength!==e.byteLength)return!1;for(let t=0;t<r.byteLength;t++)if(r[t]!==e[t])return!1;return!0}function _g(r){return r.buffer instanceof ArrayBuffer}function Ee(r){return _g(r)?r:r.slice()}async function Vf(r="P-256"){let e=await crypto.subtle.generateKey({name:"ECDSA",namedCurve:r},!0,["sign","verify"]);return{publicKey:await crypto.subtle.exportKey("jwk",e.publicKey),privateKey:await crypto.subtle.exportKey("jwk",e.privateKey)}}async function Hf(r,e,t){let n=await crypto.subtle.importKey("jwk",r,{name:"ECDSA",namedCurve:r.crv??"P-256"},!1,["sign"]);t?.signal?.throwIfAborted();let o=await crypto.subtle.sign({name:"ECDSA",hash:{name:"SHA-256"}},n,Ee(e.subarray()));return t?.signal?.throwIfAborted(),new Uint8Array(o,0,o.byteLength)}async function Wf(r,e,t,n){let o=await crypto.subtle.importKey("jwk",r,{name:"ECDSA",namedCurve:r.crv??"P-256"},!1,["verify"]);n?.signal?.throwIfAborted();let s=await crypto.subtle.verify({name:"ECDSA",hash:{name:"SHA-256"}},o,Ee(e),Ee(t.subarray()));return n?.signal?.throwIfAborted(),s}function se(r=0){return new Uint8Array(r)}function ge(r=0){return new Uint8Array(r)}function Ig(r){return r?.buffer instanceof ArrayBuffer}function rc(r){if(Ig(r))return r;let e=r.slice();return new Uint8Array(e.buffer,0,e.byteLength)}function Ye(r,e){e==null&&(e=r.reduce((o,s)=>o+s.length,0));let t=ge(e),n=0;for(let o of r)t.set(o,n),n+=o.length;return rc(t)}var jf=Symbol.for("@achingbrain/uint8arraylist");function Gf(r,e){if(e==null||e<0)throw new RangeError("index is out of bounds");let t=0;for(let n of r){let o=t+n.byteLength;if(e<o)return{buf:n,index:e-t};t=o}throw new RangeError("index is out of bounds")}function fs(r){return!!r?.[jf]}var J=class r{bufs;length;[jf]=!0;constructor(...e){this.bufs=[],this.length=0,e.length>0&&this.appendAll(e)}*[Symbol.iterator](){yield*this.bufs}get byteLength(){return this.length}append(...e){this.appendAll(e)}appendAll(e){let t=0;for(let n of e)if(n instanceof Uint8Array)t+=n.byteLength,this.bufs.push(n);else if(fs(n)){t+=n.byteLength;for(let o of n.bufs)this.bufs.push(o)}else throw new Error("Could not append value, must be an Uint8Array or a Uint8ArrayList");this.length+=t}prepend(...e){this.prependAll(e)}prependAll(e){let t=0;for(let n of e.reverse())if(n instanceof Uint8Array)t+=n.byteLength,this.bufs.unshift(n);else if(fs(n))t+=n.byteLength,this.bufs.unshift(...n.bufs);else throw new Error("Could not prepend value, must be an Uint8Array or a Uint8ArrayList");this.length+=t}get(e){let t=Gf(this.bufs,e);return t.buf[t.index]}set(e,t){let n=Gf(this.bufs,e);n.buf[n.index]=t}write(e,t=0){if(e instanceof Uint8Array)for(let n=0;n<e.length;n++)this.set(t+n,e[n]);else if(fs(e))for(let n=0;n<e.length;n++)this.set(t+n,e.get(n));else throw new Error("Could not write value, must be an Uint8Array or a Uint8ArrayList")}consume(e){if(e=Math.trunc(e),!(Number.isNaN(e)||e<=0)){if(e===this.byteLength){this.bufs=[],this.length=0;return}for(;this.bufs.length>0;)if(e>=this.bufs[0].byteLength)e-=this.bufs[0].byteLength,this.length-=this.bufs[0].byteLength,this.bufs.shift();else{this.bufs[0]=this.bufs[0].subarray(e),this.length-=e;break}}}slice(e,t){let{bufs:n,length:o}=this._subList(e,t);return Ye(n,o)}subarray(e,t){let{bufs:n,length:o}=this._subList(e,t);return n.length===1?n[0]:Ye(n,o)}sublist(e,t){let{bufs:n,length:o}=this._subList(e,t),s=new r;return s.length=o,s.bufs=n,s}_subList(e,t){if(e=e??0,t=t??this.length,e<0&&(e=this.length+e),t<0&&(t=this.length+t),e<0||t>this.length)throw new RangeError("index is out of bounds");if(e===t)return{bufs:[],length:0};if(e===0&&t===this.length)return{bufs:[...this.bufs],length:this.length};let n=[],o=0;for(let s=0;s<this.bufs.length;s++){let i=this.bufs[s],a=o,c=a+i.byteLength;if(o=c,e>=c)continue;let l=e>=a&&e<c,u=t>a&&t<=c;if(l&&u){if(e===a&&t===c){n.push(i);break}let f=e-a;n.push(i.subarray(f,f+(t-e)));break}if(l){if(e===0){n.push(i);continue}n.push(i.subarray(e-a));continue}if(u){if(t===c){n.push(i);break}n.push(i.subarray(0,t-a));break}n.push(i)}return{bufs:n,length:t-e}}indexOf(e,t=0){if(!fs(e)&&!(e instanceof Uint8Array))throw new TypeError('The "value" argument must be a Uint8ArrayList or Uint8Array');let n=e instanceof Uint8Array?e:e.subarray();if(t=Number(t??0),isNaN(t)&&(t=0),t<0&&(t=this.length+t),t<0&&(t=0),e.length===0)return t>this.length?this.length:t;let o=n.byteLength;if(o===0)throw new TypeError("search must be at least 1 byte long");let s=256,i=new Int32Array(s);for(let f=0;f<s;f++)i[f]=-1;for(let f=0;f<o;f++)i[n[f]]=f;let a=i,c=this.byteLength-n.byteLength,l=n.byteLength-1,u;for(let f=t;f<=c;f+=u){u=0;for(let d=l;d>=0;d--){let h=this.get(f+d);if(n[d]!==h){u=Math.max(1,d-a[h]);break}}if(u===0)return f}return-1}getInt8(e){let t=this.subarray(e,e+1);return new DataView(t.buffer,t.byteOffset,t.byteLength).getInt8(0)}setInt8(e,t){let n=ge(1);new DataView(n.buffer,n.byteOffset,n.byteLength).setInt8(0,t),this.write(n,e)}getInt16(e,t){let n=this.subarray(e,e+2);return new DataView(n.buffer,n.byteOffset,n.byteLength).getInt16(0,t)}setInt16(e,t,n){let o=se(2);new DataView(o.buffer,o.byteOffset,o.byteLength).setInt16(0,t,n),this.write(o,e)}getInt32(e,t){let n=this.subarray(e,e+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getInt32(0,t)}setInt32(e,t,n){let o=se(4);new DataView(o.buffer,o.byteOffset,o.byteLength).setInt32(0,t,n),this.write(o,e)}getBigInt64(e,t){let n=this.subarray(e,e+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getBigInt64(0,t)}setBigInt64(e,t,n){let o=se(8);new DataView(o.buffer,o.byteOffset,o.byteLength).setBigInt64(0,t,n),this.write(o,e)}getUint8(e){let t=this.subarray(e,e+1);return new DataView(t.buffer,t.byteOffset,t.byteLength).getUint8(0)}setUint8(e,t){let n=ge(1);new DataView(n.buffer,n.byteOffset,n.byteLength).setUint8(0,t),this.write(n,e)}getUint16(e,t){let n=this.subarray(e,e+2);return new DataView(n.buffer,n.byteOffset,n.byteLength).getUint16(0,t)}setUint16(e,t,n){let o=se(2);new DataView(o.buffer,o.byteOffset,o.byteLength).setUint16(0,t,n),this.write(o,e)}getUint32(e,t){let n=this.subarray(e,e+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getUint32(0,t)}setUint32(e,t,n){let o=se(4);new DataView(o.buffer,o.byteOffset,o.byteLength).setUint32(0,t,n),this.write(o,e)}getBigUint64(e,t){let n=this.subarray(e,e+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getBigUint64(0,t)}setBigUint64(e,t,n){let o=se(8);new DataView(o.buffer,o.byteOffset,o.byteLength).setBigUint64(0,t,n),this.write(o,e)}getFloat32(e,t){let n=this.subarray(e,e+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getFloat32(0,t)}setFloat32(e,t,n){let o=se(4);new DataView(o.buffer,o.byteOffset,o.byteLength).setFloat32(0,t,n),this.write(o,e)}getFloat64(e,t){let n=this.subarray(e,e+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getFloat64(0,t)}setFloat64(e,t,n){let o=se(8);new DataView(o.buffer,o.byteOffset,o.byteLength).setFloat64(0,t,n),this.write(o,e)}equals(e){if(e==null||!(e instanceof r)||e.bufs.length!==this.bufs.length)return!1;for(let t=0;t<this.bufs.length;t++)if(!X(this.bufs[t],e.bufs[t]))return!1;return!0}static fromUint8Arrays(e,t){let n=new r;return n.bufs=e,t==null&&(t=e.reduce((o,s)=>o+s.byteLength,0)),n.length=t,n}};var nc={};Ue(nc,{base10:()=>Cg});var Cg=Ut({prefix:"9",name:"base10",alphabet:"0123456789"});var oc={};Ue(oc,{base16:()=>Tg,base16upper:()=>Lg});var Tg=ae({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4,caseInsensitive:!0}),Lg=ae({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4,caseInsensitive:!0});var sc={};Ue(sc,{base2:()=>Pg});var Pg=ae({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var ic={};Ue(ic,{base256emoji:()=>Ng});var Yf=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}"),Dg=Yf.reduce((r,e,t)=>(r[t]=e,r),[]),kg=Yf.reduce((r,e,t)=>{let n=e.codePointAt(0);if(n==null)throw new Error(`Invalid character: ${e}`);return r[n]=t,r},[]);function Rg(r){return r.reduce((e,t)=>(e+=Dg[t],e),"")}function Og(r){let e=[];for(let t of r){let n=t.codePointAt(0);if(n==null)throw new Error(`Invalid character: ${t}`);let o=kg[n];if(o==null)throw new Error(`Non-base256emoji character: ${t}`);e.push(o)}return new Uint8Array(e)}var Ng=Ur({prefix:"\u{1F680}",name:"base256emoji",encode:Rg,decode:Og});var lc={};Ue(lc,{base64:()=>ac,base64pad:()=>Mg,base64url:()=>cc,base64urlpad:()=>Fg});var ac=ae({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),Mg=ae({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),cc=ae({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),Fg=ae({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});var uc={};Ue(uc,{base8:()=>Bg});var Bg=ae({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var fc={};Ue(fc,{identity:()=>Ug});var Ug=Ur({prefix:"\0",name:"identity",encode:r=>Df(Ge(r)),decode:r=>Ge(Pf(r))});var DE=new TextEncoder,kE=new TextDecoder;var pc={};Ue(pc,{sha256:()=>zr,sha512:()=>zg});var $g=20;function hc({name:r,code:e,encode:t,minDigestLength:n,maxDigestLength:o}){return new dc(r,e,t,n,o)}var dc=class{name;code;encode;minDigestLength;maxDigestLength;constructor(e,t,n,o,s){this.name=e,this.code=t,this.encode=n,this.minDigestLength=o??$g,this.maxDigestLength=s}digest(e,t){if(t?.truncate!=null){if(t.truncate<this.minDigestLength)throw new Error(`Invalid truncate option, must be greater than or equal to ${this.minDigestLength}`);if(this.maxDigestLength!=null&&t.truncate>this.maxDigestLength)throw new Error(`Invalid truncate option, must be less than or equal to ${this.maxDigestLength}`)}if(e instanceof Uint8Array){let n=this.encode(e);return n instanceof Uint8Array?Xf(n,this.code,t?.truncate):n.then(o=>Xf(o,this.code,t?.truncate))}else throw Error("Unknown type, must be binary type")}};function Xf(r,e,t){if(t!=null&&t!==r.byteLength){if(t>r.byteLength)throw new Error(`Invalid truncate option, must be less than or equal to ${r.byteLength}`);r=r.subarray(0,t)}return dt(e,r)}function Qf(r){return async e=>new Uint8Array(await crypto.subtle.digest(r,e))}var zr=hc({name:"sha2-256",code:18,encode:Qf("SHA-256")}),zg=hc({name:"sha2-512",code:19,encode:Qf("SHA-512")});var Vn={...fc,...sc,...uc,...nc,...oc,...Za,...Qa,...Xa,...lc,...ic},VE={...pc,...tc};function ed(r,e,t,n){return{name:r,prefix:e,encoder:{name:r,prefix:e,encode:t},decoder:{decode:n}}}var Jf=ed("utf8","u",r=>"u"+new TextDecoder("utf8").decode(r),r=>new TextEncoder().encode(r.substring(1))),mc=ed("ascii","a",r=>{let e="a";for(let t=0;t<r.length;t++)e+=String.fromCharCode(r[t]);return e},r=>{r=r.substring(1);let e=ge(r.length);for(let t=0;t<r.length;t++)e[t]=r.charCodeAt(t);return e}),Vg={utf8:Jf,"utf-8":Jf,hex:Vn.base16,latin1:mc,ascii:mc,binary:mc,...Vn},ds=Vg;function P(r,e="utf8"){let t=ds[e];if(t==null)throw new Error(`Unsupported encoding "${e}"`);return t.decoder.decode(`${t.prefix}${r}`)}function U(r,e="utf8"){let t=ds[e];if(t==null)throw new Error(`Unsupported encoding "${e}"`);return t.encoder.encode(r).substring(1)}var Hg=parseInt("11111",2),gc=parseInt("10000000",2),Wg=parseInt("01111111",2),td={0:Hn,1:Hn,2:Gg,3:Xg,4:Zg,5:Yg,6:jg,16:Hn,22:Hn,48:Hn};function St(r,e={offset:0}){let t=r[e.offset]&Hg;if(e.offset++,td[t]!=null)return td[t](r,e);throw new Error("No decoder for tag "+t)}function Wn(r,e){let t=0;if((r[e.offset]&gc)===gc){let n=r[e.offset]&Wg,o="0x";e.offset++;for(let s=0;s<n;s++,e.offset++){if(e.offset>=r.byteLength)throw new Error("invalid DER element length");o+=r[e.offset].toString(16).padStart(2,"0")}t=parseInt(o,16)}else t=r[e.offset],e.offset++;if(!Number.isInteger(t)||t<0||t>r.byteLength-e.offset)throw new Error("invalid DER element length");return t}function Hn(r,e){Wn(r,e);let t=[];for(;!(e.offset>=r.byteLength);){let n=St(r,e);if(n===null)break;t.push(n)}return t}function Gg(r,e){let t=Wn(r,e),n=e.offset,o=e.offset+t,s=[];for(let i=n;i<o;i++)i===n&&r[i]===0||s.push(r[i]);return e.offset+=t,Uint8Array.from(s)}function jg(r,e){let t=Wn(r,e),n=e.offset+t,o=r[e.offset];e.offset++;let s=0,i=0;o<40?(s=0,i=o):o<80?(s=1,i=o-40):(s=2,i=o-80);let a=`${s}.${i}`,c=[];for(;e.offset<n;){let l=r[e.offset];if(e.offset++,c.push(l&127),l<128){c.reverse();let u=0;for(let f=0;f<c.length;f++)u+=c[f]<<f*7;a+=`.${u}`,c=[]}}return a}function Yg(r,e){return e.offset++,null}function Xg(r,e){let t=Wn(r,e),n=r[e.offset];e.offset++;let o=r.subarray(e.offset,e.offset+t-1);if(e.offset+=t,n!==0)throw new Error("Unused bits in bit string is unimplemented");return o}function Zg(r,e){let t=Wn(r,e),n=r.subarray(e.offset,e.offset+t);return e.offset+=t,n}function Qg(r){let e=r.toString(16);e.length%2===1&&(e="0"+e);let t=new J;for(let n=0;n<e.length;n+=2)t.append(Uint8Array.from([parseInt(`${e[n]}${e[n+1]}`,16)]));return t}function hs(r){if(r.byteLength<128)return Uint8Array.from([r.byteLength]);let e=Qg(r.byteLength);return new J(Uint8Array.from([e.byteLength|gc]),e)}function ke(r){let e=new J,t=128;return(r.subarray()[0]&t)===t&&e.append(Uint8Array.from([0])),e.append(r),new J(Uint8Array.from([2]),hs(e),e)}function Gn(r){let e=Uint8Array.from([0]),t=new J(e,r);return new J(Uint8Array.from([3]),hs(t),t)}function rd(r){return new J(Uint8Array.from([4]),hs(r),r)}function tt(r,e=48){let t=new J;for(let n of r)t.append(n);return new J(Uint8Array.from([e]),hs(t),t)}var Jg=Uint8Array.from([6,8,42,134,72,206,61,3,1,7]),e0=Uint8Array.from([6,5,43,129,4,0,34]),t0=Uint8Array.from([6,5,43,129,4,0,35]),r0={ext:!0,kty:"EC",crv:"P-256"},n0={ext:!0,kty:"EC",crv:"P-384"},o0={ext:!0,kty:"EC",crv:"P-521"},yc=32,bc=48,wc=66;function xc(r){let e=St(r);return nd(e)}function nd(r){let e=r[1][1][0],t=1,n,o;if(e.byteLength===yc*2+1)return n=U(e.subarray(t,t+yc),"base64url"),o=U(e.subarray(t+yc),"base64url"),new sr({...r0,key_ops:["verify"],x:n,y:o});if(e.byteLength===bc*2+1)return n=U(e.subarray(t,t+bc),"base64url"),o=U(e.subarray(t+bc),"base64url"),new sr({...n0,key_ops:["verify"],x:n,y:o});if(e.byteLength===wc*2+1)return n=U(e.subarray(t,t+wc),"base64url"),o=U(e.subarray(t+wc),"base64url"),new sr({...o0,key_ops:["verify"],x:n,y:o});throw new D(`coordinates were wrong length, got ${e.byteLength}, expected 65, 97 or 133`)}function od(r){return tt([ke(Uint8Array.from([1])),rd(P(r.d??"","base64url")),tt([id(r.crv)],160),tt([Gn(new J(Uint8Array.from([4]),P(r.x??"","base64url"),P(r.y??"","base64url")))],161)]).subarray()}function sd(r){return tt([ke(Uint8Array.from([1])),tt([id(r.crv)],160),tt([Gn(new J(Uint8Array.from([4]),P(r.x??"","base64url"),P(r.y??"","base64url")))],161)]).subarray()}function id(r){if(r==="P-256")return Jg;if(r==="P-384")return e0;if(r==="P-521")return t0;throw new D(`Invalid curve ${r}`)}async function ad(r="P-256"){let e=await Vf(r);return new ps(e.privateKey)}var sr=class{type="ECDSA";jwk;_raw;constructor(e){this.jwk=e}get raw(){return this._raw==null&&(this._raw=sd(this.jwk)),this._raw}toMultihash(){return et.digest(Xe(this))}toCID(){return ue.createV1(114,this.toMultihash())}toString(){return te.encode(this.toMultihash().bytes).substring(1)}equals(e){return e==null||!(e.raw instanceof Uint8Array)?!1:X(this.raw,e.raw)}async verify(e,t,n){return Wf(this.jwk,t,e,n)}},ps=class{type="ECDSA";jwk;publicKey;_raw;constructor(e){this.jwk=e,this.publicKey=new sr({crv:e.crv,ext:e.ext,key_ops:["verify"],kty:"EC",x:e.x,y:e.y})}get raw(){return this._raw==null&&(this._raw=od(this.jwk)),this._raw}equals(e){return e==null||!(e.raw instanceof Uint8Array)?!1:X(this.raw,e.raw)}async sign(e,t){return Hf(this.jwk,e,t)}};function Ec(r){return r instanceof Uint8Array||ArrayBuffer.isView(r)&&r.constructor.name==="Uint8Array"&&"BYTES_PER_ELEMENT"in r&&r.BYTES_PER_ELEMENT===1}function qt(r,e=""){if(typeof r!="number"){let t=e&&`"${e}" `;throw new TypeError(`${t}expected number, got ${typeof r}`)}if(!Number.isSafeInteger(r)||r<0){let t=e&&`"${e}" `;throw new RangeError(`${t}expected integer >= 0, got ${r}`)}}function $e(r,e,t=""){let n=Ec(r),o=r?.length,s=e!==void 0;if(!n||s&&o!==e){let i=t&&`"${t}" `,a=s?` of length ${e}`:"",c=n?`length=${o}`:`type=${typeof r}`,l=i+"expected Uint8Array"+a+", got "+c;throw n?new RangeError(l):new TypeError(l)}return r}function ms(r){if(typeof r!="function"||typeof r.create!="function")throw new TypeError("Hash must wrapped by utils.createHasher");if(qt(r.outputLen),qt(r.blockLen),r.outputLen<1)throw new Error('"outputLen" must be >= 1');if(r.blockLen<1)throw new Error('"blockLen" must be >= 1')}function Vr(r,e=!0){if(r.destroyed)throw new Error("Hash instance has been destroyed");if(e&&r.finished)throw new Error("Hash#digest() has already been called")}function gs(r,e){$e(r,void 0,"digestInto() output");let t=e.outputLen;if(r.length<t)throw new RangeError('"digestInto() output" expected to be of length >='+t)}function _t(...r){for(let e=0;e<r.length;e++)r[e].fill(0)}function ys(r){return new DataView(r.buffer,r.byteOffset,r.byteLength)}function rt(r,e){return r<<32-e|r>>>e}var ld=typeof Uint8Array.from([]).toHex=="function"&&typeof Uint8Array.fromHex=="function",s0=Array.from({length:256},(r,e)=>e.toString(16).padStart(2,"0"));function bs(r){if($e(r),ld)return r.toHex();let e="";for(let t=0;t<r.length;t++)e+=s0[r[t]];return e}var At={_0:48,_9:57,A:65,F:70,a:97,f:102};function cd(r){if(r>=At._0&&r<=At._9)return r-At._0;if(r>=At.A&&r<=At.F)return r-(At.A-10);if(r>=At.a&&r<=At.f)return r-(At.a-10)}function jn(r){if(typeof r!="string")throw new TypeError("hex string expected, got "+typeof r);if(ld)try{return Uint8Array.fromHex(r)}catch(o){throw o instanceof SyntaxError?new RangeError(o.message):o}let e=r.length,t=e/2;if(e%2)throw new RangeError("hex string expected, got unpadded hex of length "+e);let n=new Uint8Array(t);for(let o=0,s=0;o<t;o++,s+=2){let i=cd(r.charCodeAt(s)),a=cd(r.charCodeAt(s+1));if(i===void 0||a===void 0){let c=r[s]+r[s+1];throw new RangeError('hex string expected, got non-hex character "'+c+'" at index '+s)}n[o]=i*16+a}return n}function vc(...r){let e=0;for(let n=0;n<r.length;n++){let o=r[n];$e(o),e+=o.length}let t=new Uint8Array(e);for(let n=0,o=0;n<r.length;n++){let s=r[n];t.set(s,o),o+=s.length}return t}function Sc(r,e={}){let t=(o,s)=>r(s).update(o).digest(),n=r(void 0);return t.outputLen=n.outputLen,t.blockLen=n.blockLen,t.canXOF=n.canXOF,t.create=o=>r(o),Object.assign(t,e),Object.freeze(t)}function ud(r=32){qt(r,"bytesLength");let e=typeof globalThis=="object"?globalThis.crypto:null;if(typeof e?.getRandomValues!="function")throw new Error("crypto.getRandomValues must be defined");if(r>65536)throw new RangeError(`"bytesLength" expected <= 65536, got ${r}`);return e.getRandomValues(new Uint8Array(r))}var Ac=r=>({oid:Uint8Array.from([6,9,96,134,72,1,101,3,4,2,r])});function fd(r,e,t){return r&e^~r&t}function dd(r,e,t){return r&e^r&t^e&t}var Yn=class{blockLen;outputLen;canXOF=!1;padOffset;isLE;buffer;view;finished=!1;length=0;pos=0;destroyed=!1;constructor(e,t,n,o){this.blockLen=e,this.outputLen=t,this.padOffset=n,this.isLE=o,this.buffer=new Uint8Array(e),this.view=ys(this.buffer)}update(e){Vr(this),$e(e);let{view:t,buffer:n,blockLen:o}=this,s=e.length;for(let i=0;i<s;){let a=Math.min(o-this.pos,s-i);if(a===o){let c=ys(e);for(;o<=s-i;i+=o)this.process(c,i);continue}n.set(e.subarray(i,i+a),this.pos),this.pos+=a,i+=a,this.pos===o&&(this.process(t,0),this.pos=0)}return this.length+=e.length,this.roundClean(),this}digestInto(e){Vr(this),gs(e,this),this.finished=!0;let{buffer:t,view:n,blockLen:o,isLE:s}=this,{pos:i}=this;t[i++]=128,_t(this.buffer.subarray(i)),this.padOffset>o-i&&(this.process(n,0),i=0);for(let f=i;f<o;f++)t[f]=0;n.setBigUint64(o-8,BigInt(this.length*8),s),this.process(n,0);let a=ys(e),c=this.outputLen;if(c%4)throw new Error("_sha2: outputLen must 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],s)}digest(){let{buffer:e,outputLen:t}=this;this.digestInto(e);let n=e.slice(0,t);return this.destroy(),n}_cloneInto(e){e||=new this.constructor,e.set(...this.get());let{blockLen:t,buffer:n,length:o,finished:s,destroyed:i,pos:a}=this;return e.destroyed=i,e.finished=s,e.length=o,e.pos=a,o%t&&e.buffer.set(n),e}clone(){return this._cloneInto()}},It=Uint32Array.from([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]);var ve=Uint32Array.from([1779033703,4089235720,3144134277,2227873595,1013904242,4271175723,2773480762,1595750129,1359893119,2917565137,2600822924,725511199,528734635,4215389547,1541459225,327033209]);var ws=BigInt(4294967295),hd=BigInt(32);function i0(r,e=!1){return e?{h:Number(r&ws),l:Number(r>>hd&ws)}:{h:Number(r>>hd&ws)|0,l:Number(r&ws)|0}}function pd(r,e=!1){let t=r.length,n=new Uint32Array(t),o=new Uint32Array(t);for(let s=0;s<t;s++){let{h:i,l:a}=i0(r[s],e);[n[s],o[s]]=[i,a]}return[n,o]}var _c=(r,e,t)=>r>>>t,Ic=(r,e,t)=>r<<32-t|e>>>t,ir=(r,e,t)=>r>>>t|e<<32-t,ar=(r,e,t)=>r<<32-t|e>>>t,Xn=(r,e,t)=>r<<64-t|e>>>t-32,Zn=(r,e,t)=>r>>>t-32|e<<64-t;function ht(r,e,t,n){let o=(e>>>0)+(n>>>0);return{h:r+t+(o/2**32|0)|0,l:o|0}}var md=(r,e,t)=>(r>>>0)+(e>>>0)+(t>>>0),gd=(r,e,t,n)=>e+t+n+(r/2**32|0)|0,yd=(r,e,t,n)=>(r>>>0)+(e>>>0)+(t>>>0)+(n>>>0),bd=(r,e,t,n,o)=>e+t+n+o+(r/2**32|0)|0,wd=(r,e,t,n,o)=>(r>>>0)+(e>>>0)+(t>>>0)+(n>>>0)+(o>>>0),xd=(r,e,t,n,o,s)=>e+t+n+o+s+(r/2**32|0)|0;var c0=Uint32Array.from([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]),$t=new Uint32Array(64),Cc=class extends Yn{constructor(e){super(64,e,8,!1)}get(){let{A:e,B:t,C:n,D:o,E:s,F:i,G:a,H:c}=this;return[e,t,n,o,s,i,a,c]}set(e,t,n,o,s,i,a,c){this.A=e|0,this.B=t|0,this.C=n|0,this.D=o|0,this.E=s|0,this.F=i|0,this.G=a|0,this.H=c|0}process(e,t){for(let f=0;f<16;f++,t+=4)$t[f]=e.getUint32(t,!1);for(let f=16;f<64;f++){let d=$t[f-15],h=$t[f-2],b=rt(d,7)^rt(d,18)^d>>>3,y=rt(h,17)^rt(h,19)^h>>>10;$t[f]=y+$t[f-7]+b+$t[f-16]|0}let{A:n,B:o,C:s,D:i,E:a,F:c,G:l,H:u}=this;for(let f=0;f<64;f++){let d=rt(a,6)^rt(a,11)^rt(a,25),h=u+d+fd(a,c,l)+c0[f]+$t[f]|0,y=(rt(n,2)^rt(n,13)^rt(n,22))+dd(n,o,s)|0;u=l,l=c,c=a,a=i+h|0,i=s,s=o,o=n,n=h+y|0}n=n+this.A|0,o=o+this.B|0,s=s+this.C|0,i=i+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,s,i,a,c,l,u)}roundClean(){_t($t)}destroy(){this.destroyed=!0,this.set(0,0,0,0,0,0,0,0),_t(this.buffer)}},Tc=class extends Cc{A=It[0]|0;B=It[1]|0;C=It[2]|0;D=It[3]|0;E=It[4]|0;F=It[5]|0;G=It[6]|0;H=It[7]|0;constructor(){super(32)}};var Ed=pd(["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))),l0=Ed[0],u0=Ed[1],zt=new Uint32Array(80),Vt=new Uint32Array(80),Lc=class extends Yn{constructor(e){super(128,e,16,!1)}get(){let{Ah:e,Al:t,Bh:n,Bl:o,Ch:s,Cl:i,Dh:a,Dl:c,Eh:l,El:u,Fh:f,Fl:d,Gh:h,Gl:b,Hh:y,Hl:p}=this;return[e,t,n,o,s,i,a,c,l,u,f,d,h,b,y,p]}set(e,t,n,o,s,i,a,c,l,u,f,d,h,b,y,p){this.Ah=e|0,this.Al=t|0,this.Bh=n|0,this.Bl=o|0,this.Ch=s|0,this.Cl=i|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=h|0,this.Gl=b|0,this.Hh=y|0,this.Hl=p|0}process(e,t){for(let S=0;S<16;S++,t+=4)zt[S]=e.getUint32(t),Vt[S]=e.getUint32(t+=4);for(let S=16;S<80;S++){let O=zt[S-15]|0,L=Vt[S-15]|0,q=ir(O,L,1)^ir(O,L,8)^_c(O,L,7),k=ar(O,L,1)^ar(O,L,8)^Ic(O,L,7),I=zt[S-2]|0,B=Vt[S-2]|0,$=ir(I,B,19)^Xn(I,B,61)^_c(I,B,6),F=ar(I,B,19)^Zn(I,B,61)^Ic(I,B,6),g=yd(k,F,Vt[S-7],Vt[S-16]),w=bd(g,q,$,zt[S-7],zt[S-16]);zt[S]=w|0,Vt[S]=g|0}let{Ah:n,Al:o,Bh:s,Bl:i,Ch:a,Cl:c,Dh:l,Dl:u,Eh:f,El:d,Fh:h,Fl:b,Gh:y,Gl:p,Hh:m,Hl:E}=this;for(let S=0;S<80;S++){let O=ir(f,d,14)^ir(f,d,18)^Xn(f,d,41),L=ar(f,d,14)^ar(f,d,18)^Zn(f,d,41),q=f&h^~f&y,k=d&b^~d&p,I=wd(E,L,k,u0[S],Vt[S]),B=xd(I,m,O,q,l0[S],zt[S]),$=I|0,F=ir(n,o,28)^Xn(n,o,34)^Xn(n,o,39),g=ar(n,o,28)^Zn(n,o,34)^Zn(n,o,39),w=n&s^n&a^s&a,A=o&i^o&c^i&c;m=y|0,E=p|0,y=h|0,p=b|0,h=f|0,b=d|0,{h:f,l:d}=ht(l|0,u|0,B|0,$|0),l=a|0,u=c|0,a=s|0,c=i|0,s=n|0,i=o|0;let v=md($,g,A);n=gd(v,B,F,w),o=v|0}({h:n,l:o}=ht(this.Ah|0,this.Al|0,n|0,o|0)),{h:s,l:i}=ht(this.Bh|0,this.Bl|0,s|0,i|0),{h:a,l:c}=ht(this.Ch|0,this.Cl|0,a|0,c|0),{h:l,l:u}=ht(this.Dh|0,this.Dl|0,l|0,u|0),{h:f,l:d}=ht(this.Eh|0,this.El|0,f|0,d|0),{h,l:b}=ht(this.Fh|0,this.Fl|0,h|0,b|0),{h:y,l:p}=ht(this.Gh|0,this.Gl|0,y|0,p|0),{h:m,l:E}=ht(this.Hh|0,this.Hl|0,m|0,E|0),this.set(n,o,s,i,a,c,l,u,f,d,h,b,y,p,m,E)}roundClean(){_t(zt,Vt)}destroy(){this.destroyed=!0,_t(this.buffer),this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)}},Pc=class extends Lc{Ah=ve[0]|0;Al=ve[1]|0;Bh=ve[2]|0;Bl=ve[3]|0;Ch=ve[4]|0;Cl=ve[5]|0;Dh=ve[6]|0;Dl=ve[7]|0;Eh=ve[8]|0;El=ve[9]|0;Fh=ve[10]|0;Fl=ve[11]|0;Gh=ve[12]|0;Gl=ve[13]|0;Hh=ve[14]|0;Hl=ve[15]|0;constructor(){super(64)}};var Hr=Sc(()=>new Tc,Ac(1));var xs=Sc(()=>new Pc,Ac(3));var W=(r,e,t)=>$e(r,e,t),kc=qt,Wr=bs,he=(...r)=>vc(...r),Gr=r=>jn(r),cr=Ec,Qn=r=>ud(r),vs=BigInt(0),Dc=BigInt(1);function nt(r,e=""){if(typeof r!="boolean"){let t=e&&`"${e}" `;throw new TypeError(t+"expected boolean, got type="+typeof r)}return r}function Ss(r){if(typeof r=="bigint"){if(!Es(r))throw new RangeError("positive bigint expected, got "+r)}else kc(r);return r}function ot(r,e=""){if(typeof r!="number"){let t=e&&`"${e}" `;throw new TypeError(t+"expected number, got type="+typeof r)}if(!Number.isSafeInteger(r)){let t=e&&`"${e}" `;throw new RangeError(t+"expected safe integer, got "+r)}}function Jn(r){let e=Ss(r).toString(16);return e.length&1?"0"+e:e}function vd(r){if(typeof r!="string")throw new TypeError("hex string expected, got "+typeof r);return r===""?vs:BigInt("0x"+r)}function lr(r){return vd(bs(r))}function pt(r){return vd(bs(eo($e(r)).reverse()))}function As(r,e){if(qt(e),e===0)throw new RangeError("zero length");r=Ss(r);let t=r.toString(16);if(t.length>e*2)throw new RangeError("number too large");return jn(t.padStart(e*2,"0"))}function Rc(r,e){return As(r,e).reverse()}function Sd(r,e){if(r=W(r),e=W(e),r.length!==e.length)return!1;let t=0;for(let n=0;n<r.length;n++)t|=r[n]^e[n];return t===0}function eo(r){return Uint8Array.from(W(r))}function _s(r){if(typeof r!="string")throw new TypeError("ascii string expected, got "+typeof r);return Uint8Array.from(r,(e,t)=>{let n=e.charCodeAt(0);if(e.length!==1||n>127)throw new RangeError(`string contains non-ASCII character "${r[t]}" with code ${n} at position ${t}`);return n})}var Es=r=>typeof r=="bigint"&&vs<=r;function f0(r,e,t){return Es(r)&&Es(e)&&Es(t)&&e<=r&&r<t}function jr(r,e,t,n){if(!f0(e,t,n))throw new RangeError("expected valid "+r+": "+t+" <= n < "+n+", got "+e)}function Yr(r){if(r<vs)throw new Error("expected non-negative bigint, got "+r);let e;for(e=0;r>vs;r>>=Dc,e+=1);return e}var to=r=>(Dc<<BigInt(r))-Dc;function Ad(r,e,t){if(qt(r,"hashLen"),qt(e,"qByteLen"),typeof t!="function")throw new TypeError("hmacFn must be a function");let n=p=>new Uint8Array(p),o=Uint8Array.of(),s=Uint8Array.of(0),i=Uint8Array.of(1),a=1e3,c=n(r),l=n(r),u=0,f=()=>{c.fill(1),l.fill(0),u=0},d=(...p)=>t(l,he(c,...p)),h=(p=o)=>{l=d(s,p),c=d(),p.length!==0&&(l=d(i,p),c=d())},b=()=>{if(u++>=a)throw new Error("drbg: tried max amount of iterations");let p=0,m=[];for(;p<e;){c=d();let E=c.slice();m.push(E),p+=c.length}return he(...m)};return(p,m)=>{f(),h(p);let E;for(;(E=m(b()))===void 0;)h();return f(),E}}function st(r,e={},t={}){if(Object.prototype.toString.call(r)!=="[object Object]")throw new TypeError("expected valid options object");function n(s,i,a){if(!a&&i!=="function"&&!Object.hasOwn(r,s))throw new TypeError(`param "${s}" is invalid: expected own property`);let c=r[s];if(a&&c===void 0)return;let l=typeof c;if(l!==i||c===null)throw new TypeError(`param "${s}" is invalid: expected ${i}, got ${l}`)}let o=(s,i)=>Object.entries(s).forEach(([a,c])=>n(a,c,i));o(e,!1),o(t,!0)}var Oc=()=>{throw new Error("not implemented")};var Se=BigInt(0),ce=BigInt(1),ur=BigInt(2),Td=BigInt(3),Ld=BigInt(4),Pd=BigInt(5),d0=BigInt(7),Dd=BigInt(8),h0=BigInt(9),kd=BigInt(16);function fe(r,e){if(e<=Se)throw new Error("mod: expected positive modulus, got "+e);let t=r%e;return t>=Se?t:e+t}function oe(r,e,t){if(e<Se)throw new Error("pow2: expected non-negative exponent, got "+e);let n=r;for(;e-- >Se;)n*=n,n%=t;return n}function _d(r,e){if(r===Se)throw new Error("invert: expected non-zero number");if(e<=Se)throw new Error("invert: expected positive modulus, got "+e);let t=fe(r,e),n=e,o=Se,s=ce,i=ce,a=Se;for(;t!==Se;){let l=n/t,u=n-t*l,f=o-i*l,d=s-a*l;n=t,t=u,o=i,s=a,i=f,a=d}if(n!==ce)throw new Error("invert: does not exist");return fe(o,e)}function Nc(r,e,t){let n=r;if(!n.eql(n.sqr(e),t))throw new Error("Cannot find square root")}function Rd(r,e){let t=r,n=(t.ORDER+ce)/Ld,o=t.pow(e,n);return Nc(t,o,e),o}function p0(r,e){let t=r,n=(t.ORDER-Pd)/Dd,o=t.mul(e,ur),s=t.pow(o,n),i=t.mul(e,s),a=t.mul(t.mul(i,ur),s),c=t.mul(i,t.sub(a,t.ONE));return Nc(t,c,e),c}function m0(r){let e=Xr(r),t=Od(r),n=t(e,e.neg(e.ONE)),o=t(e,n),s=t(e,e.neg(n)),i=(r+d0)/kd;return((a,c)=>{let l=a,u=l.pow(c,i),f=l.mul(u,n),d=l.mul(u,o),h=l.mul(u,s),b=l.eql(l.sqr(f),c),y=l.eql(l.sqr(d),c);u=l.cmov(u,f,b),f=l.cmov(h,d,y);let p=l.eql(l.sqr(f),c),m=l.cmov(u,f,p);return Nc(l,m,c),m})}function Od(r){if(r<Td)throw new Error("sqrt is not defined for small field");let e=r-ce,t=0;for(;e%ur===Se;)e/=ur,t++;let n=ur,o=Xr(r);for(;Id(o,n)===1;)if(n++>1e3)throw new Error("Cannot find square root: probably non-prime P");if(t===1)return Rd;let s=o.pow(n,e),i=(e+ce)/ur;return function(c,l){let u=c;if(u.is0(l))return l;if(Id(u,l)!==1)throw new Error("Cannot find square root");let f=t,d=u.mul(u.ONE,s),h=u.pow(l,e),b=u.pow(l,i);for(;!u.eql(h,u.ONE);){if(u.is0(h))return u.ZERO;let y=1,p=u.sqr(h);for(;!u.eql(p,u.ONE);)if(y++,p=u.sqr(p),y===f)throw new Error("Cannot find square root");let m=ce<<BigInt(f-y-1),E=u.pow(d,m);f=y,d=u.sqr(E),h=u.mul(h,d),b=u.mul(b,E)}return b}}function g0(r){return r%Ld===Td?Rd:r%Dd===Pd?p0:r%kd===h0?m0(r):Od(r)}var Ct=(r,e)=>(fe(r,e)&ce)===ce,y0=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"];function Mc(r){let e={ORDER:"bigint",BYTES:"number",BITS:"number"},t=y0.reduce((n,o)=>(n[o]="function",n),e);if(st(r,t),ot(r.BYTES,"BYTES"),ot(r.BITS,"BITS"),r.BYTES<1||r.BITS<1)throw new Error("invalid field: expected BYTES/BITS > 0");if(r.ORDER<=ce)throw new Error("invalid field: expected ORDER > 1, got "+r.ORDER);return r}function b0(r,e,t){let n=r;if(t<Se)throw new Error("invalid exponent, negatives unsupported");if(t===Se)return n.ONE;if(t===ce)return e;let o=n.ONE,s=e;for(;t>Se;)t&ce&&(o=n.mul(o,s)),s=n.sqr(s),t>>=ce;return o}function ro(r,e,t=!1){let n=r,o=new Array(e.length).fill(t?n.ZERO:void 0),s=e.reduce((a,c,l)=>n.is0(c)?a:(o[l]=a,n.mul(a,c)),n.ONE),i=n.inv(s);return e.reduceRight((a,c,l)=>n.is0(c)?a:(o[l]=n.mul(a,o[l]),n.mul(a,c)),i),o}function Id(r,e){let t=r,n=(t.ORDER-ce)/ur,o=t.pow(e,n),s=t.eql(o,t.ONE),i=t.eql(o,t.ZERO),a=t.eql(o,t.neg(t.ONE));if(!s&&!i&&!a)throw new Error("invalid Legendre symbol result");return s?1:i?0:-1}function w0(r,e){if(e!==void 0&&kc(e),r<=Se)throw new Error("invalid n length: expected positive n, got "+r);if(e!==void 0&&e<1)throw new Error("invalid n length: expected positive bit length, got "+e);let t=Yr(r);if(e!==void 0&&e<t)throw new Error(`invalid n length: expected bit length (${t}) >= n.length (${e})`);let n=e!==void 0?e:t,o=Math.ceil(n/8);return{nBitLength:n,nByteLength:o}}var Cd=new WeakMap,Is=class{ORDER;BITS;BYTES;isLE;ZERO=Se;ONE=ce;_lengths;_mod;constructor(e,t={}){if(e<=ce)throw new Error("invalid field: expected ORDER > 1, got "+e);let n;this.isLE=!1,t!=null&&typeof t=="object"&&(typeof t.BITS=="number"&&(n=t.BITS),typeof t.sqrt=="function"&&Object.defineProperty(this,"sqrt",{value:t.sqrt,enumerable:!0}),typeof t.isLE=="boolean"&&(this.isLE=t.isLE),t.allowedLengths&&(this._lengths=Object.freeze(t.allowedLengths.slice())),typeof t.modFromBytes=="boolean"&&(this._mod=t.modFromBytes));let{nBitLength:o,nByteLength:s}=w0(e,n);if(s>2048)throw new Error("invalid field: expected ORDER of <= 2048 bytes");this.ORDER=e,this.BITS=o,this.BYTES=s,Object.freeze(this)}create(e){return fe(e,this.ORDER)}isValid(e){if(typeof e!="bigint")throw new TypeError("invalid field element: expected bigint, got "+typeof e);return Se<=e&&e<this.ORDER}is0(e){return e===Se}isValidNot0(e){return!this.is0(e)&&this.isValid(e)}isOdd(e){return(e&ce)===ce}neg(e){return fe(-e,this.ORDER)}eql(e,t){return e===t}sqr(e){return fe(e*e,this.ORDER)}add(e,t){return fe(e+t,this.ORDER)}sub(e,t){return fe(e-t,this.ORDER)}mul(e,t){return fe(e*t,this.ORDER)}pow(e,t){return b0(this,e,t)}div(e,t){return fe(e*_d(t,this.ORDER),this.ORDER)}sqrN(e){return e*e}addN(e,t){return e+t}subN(e,t){return e-t}mulN(e,t){return e*t}inv(e){return _d(e,this.ORDER)}sqrt(e){let t=Cd.get(this);return t||Cd.set(this,t=g0(this.ORDER)),t(this,e)}toBytes(e){return this.isLE?Rc(e,this.BYTES):As(e,this.BYTES)}fromBytes(e,t=!1){W(e);let{_lengths:n,BYTES:o,isLE:s,ORDER:i,_mod:a}=this;if(n){if(e.length<1||!n.includes(e.length)||e.length>o)throw new Error("Field.fromBytes: expected "+n+" bytes, got "+e.length);let l=new Uint8Array(o);l.set(e,s?0:l.length-e.length),e=l}if(e.length!==o)throw new Error("Field.fromBytes: expected "+o+" bytes, got "+e.length);let c=s?pt(e):lr(e);if(a&&(c=fe(c,i)),!t&&!this.isValid(c))throw new Error("invalid field element: outside of range 0..ORDER");return c}invertBatch(e){return ro(this,e)}cmov(e,t,n){return nt(n,"condition"),n?t:e}};Object.freeze(Is.prototype);function Xr(r,e={}){return new Is(r,e)}function Nd(r){if(typeof r!="bigint")throw new Error("field order must be bigint");if(r<=ce)throw new Error("field order must be greater than 1");let e=Yr(r-ce);return Math.ceil(e/8)}function Fc(r){let e=Nd(r);return e+Math.ceil(e/2)}function Bc(r,e,t=!1){W(r);let n=r.length,o=Nd(e),s=Math.max(Fc(e),16);if(n<s||n>1024)throw new Error("expected "+s+"-1024 bytes of input, got "+n);let i=t?pt(r):lr(r),a=fe(i,e-ce)+ce;return t?Rc(a,o):As(a,o)}var Zr=BigInt(0),fr=BigInt(1);function no(r,e){let t=e.negate();return r?t:e}function dr(r,e){let t=ro(r.Fp,e.map(n=>n.Z));return e.map((n,o)=>r.fromAffine(n.toAffine(t[o])))}function Ud(r,e){if(!Number.isSafeInteger(r)||r<=0||r>e)throw new Error("invalid window size, expected [1.."+e+"], got W="+r)}function Uc(r,e){Ud(r,e);let t=Math.ceil(e/r)+1,n=2**(r-1),o=2**r,s=to(r),i=BigInt(r);return{windows:t,windowSize:n,mask:s,maxNumber:o,shiftBy:i}}function Md(r,e,t){let{windowSize:n,mask:o,maxNumber:s,shiftBy:i}=t,a=Number(r&o),c=r>>i;a>n&&(a-=s,c+=fr);let l=e*n,u=l+Math.abs(a)-1,f=a===0,d=a<0,h=e%2!==0;return{nextN:c,offset:u,isZero:f,isNeg:d,isNegF:h,offsetF:l}}var Kc=new WeakMap,Kd=new WeakMap;function qc(r){return Kd.get(r)||1}function Fd(r){if(r!==Zr)throw new Error("invalid wNAF")}var Qr=class{BASE;ZERO;Fn;bits;constructor(e,t){this.BASE=e.BASE,this.ZERO=e.ZERO,this.Fn=e.Fn,this.bits=t}_unsafeLadder(e,t,n=this.ZERO){let o=e;for(;t>Zr;)t&fr&&(n=n.add(o)),o=o.double(),t>>=fr;return n}precomputeWindow(e,t){let{windows:n,windowSize:o}=Uc(t,this.bits),s=[],i=e,a=i;for(let c=0;c<n;c++){a=i,s.push(a);for(let l=1;l<o;l++)a=a.add(i),s.push(a);i=a.double()}return s}wNAF(e,t,n){if(!this.Fn.isValid(n))throw new Error("invalid scalar");let o=this.ZERO,s=this.BASE,i=Uc(e,this.bits);for(let a=0;a<i.windows;a++){let{nextN:c,offset:l,isZero:u,isNeg:f,isNegF:d,offsetF:h}=Md(n,a,i);n=c,u?s=s.add(no(d,t[h])):o=o.add(no(f,t[l]))}return Fd(n),{p:o,f:s}}wNAFUnsafe(e,t,n,o=this.ZERO){let s=Uc(e,this.bits);for(let i=0;i<s.windows&&n!==Zr;i++){let{nextN:a,offset:c,isZero:l,isNeg:u}=Md(n,i,s);if(n=a,!l){let f=t[c];o=o.add(u?f.negate():f)}}return Fd(n),o}getPrecomputes(e,t,n){let o=Kc.get(t);return o||(o=this.precomputeWindow(t,e),e!==1&&(typeof n=="function"&&(o=n(o)),Kc.set(t,o))),o}cached(e,t,n){let o=qc(e);return this.wNAF(o,this.getPrecomputes(o,e,n),t)}unsafe(e,t,n,o){let s=qc(e);return s===1?this._unsafeLadder(e,t,o):this.wNAFUnsafe(s,this.getPrecomputes(s,e,n),t,o)}createCache(e,t){Ud(t,this.bits),Kd.set(e,t),Kc.delete(e)}hasCache(e){return qc(e)!==1}};function qd(r,e,t,n){let o=e,s=r.ZERO,i=r.ZERO;for(;t>Zr||n>Zr;)t&fr&&(s=s.add(o)),n&fr&&(i=i.add(o)),o=o.double(),t>>=fr,n>>=fr;return{p1:s,p2:i}}function Bd(r,e,t){if(e){if(e.ORDER!==r)throw new Error("Field.ORDER must match order: Fp == p, Fn == n");return Mc(e),e}else return Xr(r,{isLE:t})}function Cs(r,e,t={},n){if(n===void 0&&(n=r==="edwards"),!e||typeof e!="object")throw new Error(`expected valid ${r} CURVE object`);for(let c of["p","n","h"]){let l=e[c];if(!(typeof l=="bigint"&&l>Zr))throw new Error(`CURVE.${c} must be positive bigint`)}let o=Bd(e.p,t.Fp,n),s=Bd(e.n,t.Fn,n),a=["Gx","Gy","a",r==="weierstrass"?"b":"d"];for(let c of a)if(!o.isValid(e[c]))throw new Error(`CURVE.${c} must be valid field element of CURVE.Fp`);return e=Object.freeze(Object.assign({},e)),{CURVE:e,Fp:o,Fn:s}}function Ts(r,e){return function(n){let o=r(n);return{secretKey:o,publicKey:e(o)}}}var Ht=BigInt(0),ye=BigInt(1),$c=BigInt(2),x0=BigInt(8);function E0(r,e,t,n){let o=r.sqr(t),s=r.sqr(n),i=r.add(r.mul(e.a,o),s),a=r.add(r.ONE,r.mul(e.d,r.mul(o,s)));return r.eql(i,a)}function $d(r,e={}){let t=e,n=Cs("edwards",r,t,t.FpFnLE),{Fp:o,Fn:s}=n,i=n.CURVE,{h:a}=i;st(t,{},{uvRatio:"function"});let c=$c<<BigInt(s.BYTES*8)-ye,l=y=>o.create(y),u=t.uvRatio===void 0?(y,p)=>{try{return{isValid:!0,value:o.sqrt(o.div(y,p))}}catch{return{isValid:!1,value:Ht}}}:t.uvRatio;if(!E0(o,i,i.Gx,i.Gy))throw new Error("bad curve params: generator point");function f(y,p,m=!1){let E=m?ye:Ht;return jr("coordinate "+y,p,E,c),p}function d(y){if(!(y instanceof h))throw new Error("EdwardsPoint expected")}class h{static BASE=new h(i.Gx,i.Gy,ye,l(i.Gx*i.Gy));static ZERO=new h(Ht,ye,ye,Ht);static Fp=o;static Fn=s;X;Y;Z;T;constructor(p,m,E,S){this.X=f("x",p),this.Y=f("y",m),this.Z=f("z",E,!0),this.T=f("t",S),Object.freeze(this)}static CURVE(){return i}static fromAffine(p){if(p instanceof h)throw new Error("extended point not allowed");let{x:m,y:E}=p||{};return f("x",m),f("y",E),new h(m,E,ye,l(m*E))}static fromBytes(p,m=!1){let E=o.BYTES,{a:S,d:O}=i;p=eo(W(p,E,"point")),nt(m,"zip215");let L=eo(p),q=p[E-1];L[E-1]=q&-129;let k=pt(L),I=m?c:o.ORDER;jr("point.y",k,Ht,I);let B=l(k*k),$=l(B-ye),F=l(O*B-S),{isValid:g,value:w}=u($,F);if(!g)throw new Error("bad point: invalid y coordinate");let A=(w&ye)===ye,v=(q&128)!==0;if(!m&&w===Ht&&v)throw new Error("bad point: x=0 and x_0=1");return v!==A&&(w=l(-w)),h.fromAffine({x:w,y:k})}static fromHex(p,m=!1){return h.fromBytes(Gr(p),m)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}precompute(p=8,m=!0){return b.createCache(this,p),m||this.multiply($c),this}assertValidity(){let p=this,{a:m,d:E}=i;if(p.is0())throw new Error("bad point: ZERO");let{X:S,Y:O,Z:L,T:q}=p,k=l(S*S),I=l(O*O),B=l(L*L),$=l(B*B),F=l(k*m),g=l(B*l(F+I)),w=l($+l(E*l(k*I)));if(g!==w)throw new Error("bad point: equation left != right (1)");let A=l(S*O),v=l(L*q);if(A!==v)throw new Error("bad point: equation left != right (2)")}equals(p){d(p);let{X:m,Y:E,Z:S}=this,{X:O,Y:L,Z:q}=p,k=l(m*q),I=l(O*S),B=l(E*q),$=l(L*S);return k===I&&B===$}is0(){return this.equals(h.ZERO)}negate(){return new h(l(-this.X),this.Y,this.Z,l(-this.T))}double(){let{a:p}=i,{X:m,Y:E,Z:S}=this,O=l(m*m),L=l(E*E),q=l($c*l(S*S)),k=l(p*O),I=m+E,B=l(l(I*I)-O-L),$=k+L,F=$-q,g=k-L,w=l(B*F),A=l($*g),v=l(B*g),x=l(F*$);return new h(w,A,x,v)}add(p){d(p);let{a:m,d:E}=i,{X:S,Y:O,Z:L,T:q}=this,{X:k,Y:I,Z:B,T:$}=p,F=l(S*k),g=l(O*I),w=l(q*E*$),A=l(L*B),v=l((S+O)*(k+I)-F-g),x=A-w,_=A+w,T=l(g-m*F),C=l(v*x),R=l(_*T),M=l(v*T),H=l(x*_);return new h(C,R,H,M)}subtract(p){return d(p),this.add(p.negate())}multiply(p){if(!s.isValidNot0(p))throw new RangeError("invalid scalar: expected 1 <= sc < curve.n");let{p:m,f:E}=b.cached(this,p,S=>dr(h,S));return dr(h,[m,E])[0]}multiplyUnsafe(p){if(!s.isValid(p))throw new RangeError("invalid scalar: expected 0 <= sc < curve.n");return p===Ht?h.ZERO:this.is0()||p===ye?this:b.unsafe(this,p,m=>dr(h,m))}isSmallOrder(){return this.clearCofactor().is0()}isTorsionFree(){return b.unsafe(this,i.n).is0()}toAffine(p){let m=this,E=p,{X:S,Y:O,Z:L}=m,q=m.is0();E==null&&(E=q?x0:o.inv(L));let k=l(S*E),I=l(O*E),B=o.mul(L,E);if(q)return{x:Ht,y:ye};if(B!==ye)throw new Error("invZ was invalid");return{x:k,y:I}}clearCofactor(){return a===ye?this:this.multiplyUnsafe(a)}toBytes(){let{x:p,y:m}=this.toAffine(),E=o.toBytes(m);return E[E.length-1]|=p&ye?128:0,E}toHex(){return Wr(this.toBytes())}toString(){return`<Point ${this.is0()?"ZERO":this.toHex()}>`}}let b=new Qr(h,s.BITS);return s.BITS>=8&&h.BASE.precompute(8),Object.freeze(h.prototype),Object.freeze(h),h}var Ls=class{static BASE;static ZERO;static Fp;static Fn;ep;constructor(e){this.ep=e}static fromBytes(e){Oc()}static fromHex(e){Oc()}get x(){return this.toAffine().x}get y(){return this.toAffine().y}clearCofactor(){return this}assertValidity(){this.ep.assertValidity()}toAffine(e){return this.ep.toAffine(e)}toHex(){return Wr(this.toBytes())}toString(){return this.toHex()}isTorsionFree(){return!0}isSmallOrder(){return!1}add(e){return this.assertSame(e),this.init(this.ep.add(e.ep))}subtract(e){return this.assertSame(e),this.init(this.ep.subtract(e.ep))}multiply(e){return this.init(this.ep.multiply(e))}multiplyUnsafe(e){return this.init(this.ep.multiplyUnsafe(e))}double(){return this.init(this.ep.double())}negate(){return this.init(this.ep.negate())}precompute(e,t){return this.ep.precompute(e,t),this}};function zd(r,e,t={}){if(typeof e!="function")throw new Error('"hash" function param is required');let n=e,o=t;st(o,{},{adjustScalarBytes:"function",randomBytes:"function",domain:"function",prehash:"function",zip215:"boolean",mapToCurve:"function"});let{prehash:s}=o,{BASE:i,Fp:a,Fn:c}=r,l=n.outputLen,u=2*a.BYTES;if(l!==void 0&&(ot(l,"hash.outputLen"),l!==u))throw new Error(`hash.outputLen must be ${u}, got ${l}`);let f=o.randomBytes===void 0?Qn:o.randomBytes,d=o.adjustScalarBytes===void 0?g=>g:o.adjustScalarBytes,h=o.domain===void 0?(g,w,A)=>{if(nt(A,"phflag"),w.length||A)throw new Error("Contexts/pre-hash are not supported");return g}:o.domain;function b(g){return c.create(pt(g))}function y(g){let w=k.secretKey;W(g,k.secretKey,"secretKey");let A=W(n(g),2*w,"hashedSecretKey"),v=d(A.slice(0,w)),x=A.slice(w,2*w),_=b(v);return{head:v,prefix:x,scalar:_}}function p(g){let{head:w,prefix:A,scalar:v}=y(g),x=i.multiply(v),_=x.toBytes();return{head:w,prefix:A,scalar:v,point:x,pointBytes:_}}function m(g){return p(g).pointBytes}function E(g=Uint8Array.of(),...w){let A=he(...w);return b(n(h(A,W(g,void 0,"context"),!!s)))}function S(g,w,A={}){g=W(g,void 0,"message"),s&&(g=s(g));let{prefix:v,scalar:x,pointBytes:_}=p(w),T=E(A.context,v,g),C=i.multiply(T).toBytes(),R=E(A.context,C,_,g),M=c.create(T+R*x);if(!c.isValid(M))throw new Error("sign failed: invalid s");let H=he(C,c.toBytes(M));return W(H,k.signature,"result")}let O={zip215:o.zip215};function L(g,w,A,v=O){let{context:x}=v,_=v.zip215===void 0?!!O.zip215:v.zip215,T=k.signature;g=W(g,T,"signature"),w=W(w,void 0,"message"),A=W(A,k.publicKey,"publicKey"),_!==void 0&&nt(_,"zip215"),s&&(w=s(w));let C=T/2,R=g.subarray(0,C),M=pt(g.subarray(C,T)),H,Y,z;try{H=r.fromBytes(A,_),Y=r.fromBytes(R,_),z=i.multiplyUnsafe(M)}catch{return!1}if(!_&&H.isSmallOrder())return!1;let de=E(x,R,A,w);return Y.add(H.multiplyUnsafe(de)).subtract(z).clearCofactor().is0()}let q=a.BYTES,k={secretKey:q,publicKey:q,signature:2*q,seed:q};function I(g){return g=g===void 0?f(k.seed):g,W(g,k.seed,"seed")}function B(g){return cr(g)&&g.length===k.secretKey}function $(g,w){try{return!!r.fromBytes(g,w===void 0?O.zip215:w)}catch{return!1}}let F={getExtendedPublicKey:p,randomSecretKey:I,isValidSecretKey:B,isValidPublicKey:$,toMontgomery(g){let{y:w}=r.fromBytes(g),A=k.publicKey,v=A===32;if(!v&&A!==57)throw new Error("only defined for 25519 and 448");let x=v?a.div(ye+w,ye-w):a.div(w-ye,w+ye);return a.toBytes(x)},toMontgomerySecret(g){let w=k.secretKey;W(g,w);let A=n(g.subarray(0,w));return d(A).subarray(0,w)}};return Object.freeze(k),Object.freeze(F),Object.freeze({keygen:Ts(I,m),getPublicKey:m,sign:S,verify:L,utils:F,Point:r,lengths:k})}function oo(r,e){if(ot(r),ot(e),e<0||e>4)throw new Error("invalid I2OSP length: "+e);if(r<0||r>2**(8*e)-1)throw new Error("invalid I2OSP input: "+r);let t=Array.from({length:e}).fill(0);for(let n=e-1;n>=0;n--)t[n]=r&255,r>>>=8;return new Uint8Array(t)}function v0(r,e){let t=new Uint8Array(r.length);for(let n=0;n<r.length;n++)t[n]=r[n]^e[n];return t}function S0(r){if(!cr(r)&&typeof r!="string")throw new Error("DST must be Uint8Array or ascii string");let e=typeof r=="string"?_s(r):r;if(e.length===0)throw new Error("DST must be non-empty");return e}function zc(r,e,t,n){W(r),ot(t),e=S0(e),e.length>255&&(e=n(he(_s("H2C-OVERSIZE-DST-"),e)));let{outputLen:o,blockLen:s}=n,i=Math.ceil(t/o);if(t>65535||i>255)throw new Error("expand_message_xmd: invalid lenInBytes");let a=he(e,oo(e.length,1)),c=new Uint8Array(s),l=oo(t,2),u=new Array(i),f=n(he(c,r,l,oo(0,1),a));u[0]=n(he(f,oo(1,1),a));for(let h=1;h<i;h++){let b=[v0(f,u[h-1]),oo(h+1,1),a];u[h]=n(he(...b))}return he(...u).slice(0,t)}var Vd="HashToScalar-";var A0=BigInt(0),Tt=BigInt(1),Hd=BigInt(2);var _0=BigInt(5),I0=BigInt(8),Jr=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffed"),Gc={p:Jr,n:BigInt("0x1000000000000000000000000000000014def9dea2f79cd65812631a5cf5d3ed"),h:I0,a:BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec"),d:BigInt("0x52036cee2b6ffe738cc740797779e89800700a4d4141d8ab75eb4dca135978a3"),Gx:BigInt("0x216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51a"),Gy:BigInt("0x6666666666666666666666666666666666666666666666666666666666666658")};function C0(r){let e=BigInt(10),t=BigInt(20),n=BigInt(40),o=BigInt(80),s=Jr,a=r*r%s*r%s,c=oe(a,Hd,s)*a%s,l=oe(c,Tt,s)*r%s,u=oe(l,_0,s)*l%s,f=oe(u,e,s)*u%s,d=oe(f,t,s)*f%s,h=oe(d,n,s)*d%s,b=oe(h,o,s)*h%s,y=oe(b,o,s)*h%s,p=oe(y,e,s)*u%s;return{pow_p_5_8:oe(p,Hd,s)*r%s,b2:a}}function T0(r){return r[0]&=248,r[31]&=127,r[31]|=64,r}var Vc=BigInt("19681161376707505956807079304988542015446066515923890162744021073123829784752");function jc(r,e){let t=Jr,n=fe(e*e*e,t),o=fe(n*n*e,t),s=C0(r*o).pow_p_5_8,i=fe(r*n*s,t),a=fe(e*i*i,t),c=i,l=fe(i*Vc,t),u=a===r,f=a===fe(-r,t),d=a===fe(-r*Vc,t);return u&&(i=c),(f||d)&&(i=l),Ct(i,t)&&(i=fe(-i,t)),{isValid:u||f,value:i}}var Gt=$d(Gc,{uvRatio:jc}),Wt=Gt.Fp,jd=Gt.Fn;function L0(r){return zd(Gt,xs,Object.assign({adjustScalarBytes:T0,zip215:!0},r))}var so=L0({});var Hc=Vc,P0=BigInt("25063068953384623474111414158702152701244531502492656460079210482610430750235"),D0=BigInt("54469307008909316920995813868745141605393597292927456921205312896311721017578"),k0=BigInt("1159843021668779879193775521855586647937357759715417654439879720876111806838"),R0=BigInt("40440834346308536858101042469323190826248399146238708352240133220865137265952"),Wd=r=>jc(Tt,r),O0=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"),Wc=r=>Wt.create(pt(r)&O0);function Gd(r){let{d:e}=Gc,t=Jr,n=m=>Wt.create(m),o=n(Hc*r*r),s=n((o+Tt)*k0),i=BigInt(-1),a=n((i-e*o)*n(o+e)),{isValid:c,value:l}=jc(s,a),u=n(l*r);Ct(u,t)||(u=n(-u)),c||(l=u),c||(i=o);let f=n(i*(o-Tt)*R0-a),d=l*l,h=n((l+l)*a),b=n(f*P0),y=n(Tt-d),p=n(Tt+d);return new Gt(n(h*p),n(y*b),n(b*p),n(h*y))}var jt=class r extends Ls{static BASE=new r(Gt.BASE);static ZERO=new r(Gt.ZERO);static Fp=Wt;static Fn=jd;constructor(e){super(e)}static fromAffine(e){return new r(Gt.fromAffine(e))}assertSame(e){if(!(e instanceof r))throw new Error("RistrettoPoint expected")}init(e){return new r(e)}static fromBytes(e){$e(e,32);let{a:t,d:n}=Gc,o=Jr,s=O=>Wt.create(O),i=Wc(e);if(!Sd(Wt.toBytes(i),e)||Ct(i,o))throw new Error("invalid ristretto255 encoding 1");let a=s(i*i),c=s(Tt+t*a),l=s(Tt-t*a),u=s(c*c),f=s(l*l),d=s(t*n*u-f),{isValid:h,value:b}=Wd(s(d*f)),y=s(b*l),p=s(b*y*d),m=s((i+i)*y);Ct(m,o)&&(m=s(-m));let E=s(c*p),S=s(m*E);if(!h||Ct(S,o)||E===A0)throw new Error("invalid ristretto255 encoding 2");return new r(new Gt(m,E,Tt,S))}static fromHex(e){return r.fromBytes(jn(e))}toBytes(){let{X:e,Y:t,Z:n,T:o}=this.ep,s=Jr,i=p=>Wt.create(p),a=i(i(n+t)*i(n-t)),c=i(e*t),l=i(c*c),{value:u}=Wd(i(a*l)),f=i(u*a),d=i(u*c),h=i(f*d*o),b;if(Ct(o*h,s)){let p=i(t*Hc),m=i(e*Hc);e=p,t=m,b=i(f*D0)}else b=d;Ct(e*h,s)&&(t=i(-t));let y=i((n-t)*b);return Ct(y,s)&&(y=i(-y)),Wt.toBytes(y)}equals(e){this.assertSame(e);let{X:t,Y:n}=this.ep,{X:o,Y:s}=e.ep,i=l=>Wt.create(l),a=i(t*s)===i(n*o),c=i(n*s)===i(t*o);return a||c}is0(){return this.equals(r.ZERO)}};Object.freeze(jt.BASE);Object.freeze(jt.ZERO);Object.freeze(jt.prototype);Object.freeze(jt);var N0=Object.freeze({Point:jt,hashToCurve(r,e){let t=e?.DST===void 0?"ristretto255_XMD:SHA-512_R255MAP_RO_":e.DST,n=zc(r,t,64,xs);return N0.deriveToCurve(n)},hashToScalar(r,e={DST:Vd}){let t=zc(r,e.DST,64,xs);return jd.create(pt(t))},deriveToCurve(r){$e(r,64);let e=Wc(r.subarray(0,32)),t=Gd(e),n=Wc(r.subarray(32,64)),o=Gd(n);return new jt(t.add(o))}});var io=class extends Error{constructor(e="An error occurred while signing a message"){super(e),this.name="SigningError"}},ao=class extends Error{constructor(e="An error occurred while verifying a message"){super(e),this.name="VerificationError"}},Ps=class extends Error{constructor(e="Missing Web Crypto API"){super(e),this.name="WebCryptoMissingError"}};var Ke={get(r=globalThis){let e=r.crypto;if(e?.subtle==null)throw new Ps("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 e}};var Ds=32,co=64,Yc=32;var en,Yd=(async()=>{try{return await Ke.get().subtle.generateKey({name:"Ed25519"},!0,["sign","verify"]),!0}catch{return!1}})();function Xd(){let r=so.utils.randomSecretKey(),e=so.getPublicKey(r);return{privateKey:K0(r,e),publicKey:e}}async function M0(r,e){let t;r.length===co?t=r.subarray(0,32):t=r;let n={crv:"Ed25519",kty:"OKP",x:U(r.subarray(32),"base64url"),d:U(t,"base64url"),ext:!0,key_ops:["sign"]},o=await Ke.get().subtle.importKey("jwk",n,{name:"Ed25519"},!0,["sign"]),s=await Ke.get().subtle.sign({name:"Ed25519"},o,Ee(e instanceof Uint8Array?e:e.subarray()));return new Uint8Array(s,0,s.byteLength)}function F0(r,e){let t=r.subarray(0,Yc);return so.sign(e instanceof Uint8Array?e:e.subarray(),t)}async function Zd(r,e){return en==null&&(en=await Yd),en?M0(r,e):F0(r,e)}async function B0(r,e,t){if(r.buffer instanceof ArrayBuffer){let n=await Ke.get().subtle.importKey("raw",r.buffer,{name:"Ed25519"},!1,["verify"]);return await Ke.get().subtle.verify({name:"Ed25519"},n,Ee(e),Ee(t instanceof Uint8Array?t:t.subarray()))}throw new TypeError("WebCrypto does not support SharedArrayBuffer for Ed25519 keys")}function U0(r,e,t){return so.verify(e,t instanceof Uint8Array?t:t.subarray(),r)}async function Qd(r,e,t){return en==null&&(en=await Yd),en?B0(r,e,t):U0(r,e,t)}function K0(r,e){let t=new Uint8Array(co);for(let n=0;n<Yc;n++)t[n]=r[n],t[Yc+n]=e[n];return t}function tn(r){return r==null?!1:typeof r.then=="function"&&typeof r.catch=="function"&&typeof r.finally=="function"}var lo=class{type="Ed25519";raw;constructor(e){this.raw=Rs(e,Ds)}toMultihash(){return et.digest(Xe(this))}toCID(){return ue.createV1(114,this.toMultihash())}toString(){return te.encode(this.toMultihash().bytes).substring(1)}equals(e){return e==null||!(e.raw instanceof Uint8Array)?!1:X(this.raw,e.raw)}verify(e,t,n){n?.signal?.throwIfAborted();let o=Qd(this.raw,t,e);return tn(o)?o.then(s=>(n?.signal?.throwIfAborted(),s)):o}},ks=class{type="Ed25519";raw;publicKey;constructor(e,t){this.raw=Rs(e,co),this.publicKey=new lo(t)}equals(e){return e==null||!(e.raw instanceof Uint8Array)?!1:X(this.raw,e.raw)}sign(e,t){t?.signal?.throwIfAborted();let n=Zd(this.raw,e);return tn(n)?n.then(o=>(t?.signal?.throwIfAborted(),o)):(t?.signal?.throwIfAborted(),n)}};function Xc(r){return r=Rs(r,Ds),new lo(r)}async function eh(){let{privateKey:r,publicKey:e}=Xd();return new ks(r,e)}function Rs(r,e){if(r=Uint8Array.from(r??[]),r.length!==e)throw new D(`Key must be a Uint8Array of length ${e}, got ${r.length}`);return r}var q0=Math.pow(2,7),$0=Math.pow(2,14),z0=Math.pow(2,21),Zc=Math.pow(2,28),Qc=Math.pow(2,35),Jc=Math.pow(2,42),el=Math.pow(2,49),Z=128,Ie=127;function be(r){if(r<q0)return 1;if(r<$0)return 2;if(r<z0)return 3;if(r<Zc)return 4;if(r<Qc)return 5;if(r<Jc)return 6;if(r<el)return 7;if(Number.MAX_SAFE_INTEGER!=null&&r>Number.MAX_SAFE_INTEGER)throw new RangeError("Could not encode varint");return 8}function rn(r,e,t=0){switch(be(r)){case 8:e[t++]=r&255|Z,r/=128;case 7:e[t++]=r&255|Z,r/=128;case 6:e[t++]=r&255|Z,r/=128;case 5:e[t++]=r&255|Z,r/=128;case 4:e[t++]=r&255|Z,r>>>=7;case 3:e[t++]=r&255|Z,r>>>=7;case 2:e[t++]=r&255|Z,r>>>=7;case 1:{e[t++]=r&255,r>>>=7;break}default:throw new Error("unreachable")}return e}function V0(r,e,t=0){switch(be(r)){case 8:e.set(t++,r&255|Z),r/=128;case 7:e.set(t++,r&255|Z),r/=128;case 6:e.set(t++,r&255|Z),r/=128;case 5:e.set(t++,r&255|Z),r/=128;case 4:e.set(t++,r&255|Z),r>>>=7;case 3:e.set(t++,r&255|Z),r>>>=7;case 2:e.set(t++,r&255|Z),r>>>=7;case 1:{e.set(t++,r&255),r>>>=7;break}default:throw new Error("unreachable")}return e}function tl(r,e){let t=r[e],n=0;if(n+=t&Ie,t<Z||(t=r[e+1],n+=(t&Ie)<<7,t<Z)||(t=r[e+2],n+=(t&Ie)<<14,t<Z)||(t=r[e+3],n+=(t&Ie)<<21,t<Z)||(t=r[e+4],n+=(t&Ie)*Zc,t<Z)||(t=r[e+5],n+=(t&Ie)*Qc,t<Z)||(t=r[e+6],n+=(t&Ie)*Jc,t<Z)||(t=r[e+7],n+=(t&Ie)*el,t<Z))return n;throw new RangeError("Could not decode varint")}function H0(r,e){let t=r.get(e),n=0;if(n+=t&Ie,t<Z||(t=r.get(e+1),n+=(t&Ie)<<7,t<Z)||(t=r.get(e+2),n+=(t&Ie)<<14,t<Z)||(t=r.get(e+3),n+=(t&Ie)<<21,t<Z)||(t=r.get(e+4),n+=(t&Ie)*Zc,t<Z)||(t=r.get(e+5),n+=(t&Ie)*Qc,t<Z)||(t=r.get(e+6),n+=(t&Ie)*Jc,t<Z)||(t=r.get(e+7),n+=(t&Ie)*el,t<Z))return n;throw new RangeError("Could not decode varint")}function Yt(r,e,t=0){return e==null&&(e=ge(be(r))),e instanceof Uint8Array?rn(r,e,t):V0(r,e,t)}function hr(r,e=0){return r instanceof Uint8Array?tl(r,e):H0(r,e)}var rl=new Float32Array([-0]),Xt=new Uint8Array(rl.buffer);function th(r,e,t){rl[0]=r,e[t]=Xt[0],e[t+1]=Xt[1],e[t+2]=Xt[2],e[t+3]=Xt[3]}function rh(r,e){return Xt[0]=r[e],Xt[1]=r[e+1],Xt[2]=r[e+2],Xt[3]=r[e+3],rl[0]}var nl=new Float64Array([-0]),Ce=new Uint8Array(nl.buffer);function nh(r,e,t){nl[0]=r,e[t]=Ce[0],e[t+1]=Ce[1],e[t+2]=Ce[2],e[t+3]=Ce[3],e[t+4]=Ce[4],e[t+5]=Ce[5],e[t+6]=Ce[6],e[t+7]=Ce[7]}function oh(r,e){return Ce[0]=r[e],Ce[1]=r[e+1],Ce[2]=r[e+2],Ce[3]=r[e+3],Ce[4]=r[e+4],Ce[5]=r[e+5],Ce[6]=r[e+6],Ce[7]=r[e+7],nl[0]}var W0=BigInt(Number.MAX_SAFE_INTEGER),G0=BigInt(Number.MIN_SAFE_INTEGER),ze=class r{lo;hi;constructor(e,t){this.lo=e|0,this.hi=t|0}toNumber(e=!1){if(!e&&this.hi>>>31>0){let t=~this.lo+1>>>0,n=~this.hi>>>0;return t===0&&(n=n+1>>>0),-(t+n*4294967296)}return this.lo+this.hi*4294967296}toBigInt(e=!1){if(e)return BigInt(this.lo>>>0)+(BigInt(this.hi>>>0)<<32n);if(this.hi>>>31){let t=~this.lo+1>>>0,n=~this.hi>>>0;return t===0&&(n=n+1>>>0),-(BigInt(t)+(BigInt(n)<<32n))}return BigInt(this.lo>>>0)+(BigInt(this.hi>>>0)<<32n)}toString(e=!1){return this.toBigInt(e).toString()}zzEncode(){let e=this.hi>>31;return this.hi=((this.hi<<1|this.lo>>>31)^e)>>>0,this.lo=(this.lo<<1^e)>>>0,this}zzDecode(){let e=-(this.lo&1);return this.lo=((this.lo>>>1|this.hi<<31)^e)>>>0,this.hi=(this.hi>>>1^e)>>>0,this}length(){let e=this.lo,t=(this.lo>>>28|this.hi<<4)>>>0,n=this.hi>>>24;return n===0?t===0?e<16384?e<128?1:2:e<2097152?3:4:t<16384?t<128?5:6:t<2097152?7:8:n<128?9:10}static fromBigInt(e){if(e===0n)return pr;if(e<W0&&e>G0)return this.fromNumber(Number(e));let t=e<0n;t&&(e=-e);let n=e>>32n,o=e-(n<<32n);return t&&(n=~n|0n,o=~o|0n,++o>sh&&(o=0n,++n>sh&&(n=0n))),new r(Number(o),Number(n))}static fromNumber(e){if(e===0)return pr;let t=e<0;t&&(e=-e);let n=e>>>0,o=(e-n)/4294967296>>>0;return t&&(o=~o>>>0,n=~n>>>0,++n>4294967295&&(n=0,++o>4294967295&&(o=0))),new r(n,o)}static from(e){return typeof e=="number"?r.fromNumber(e):typeof e=="bigint"?r.fromBigInt(e):typeof e=="string"?r.fromBigInt(BigInt(e)):e.low!=null||e.high!=null?new r(e.low>>>0,e.high>>>0):pr}},pr=new ze(0,0);pr.toBigInt=function(){return 0n};pr.zzEncode=pr.zzDecode=function(){return this};pr.length=function(){return 1};var sh=4294967296n;function ih(r){let e=0,t=0;for(let n=0;n<r.length;++n)t=r.charCodeAt(n),t<128?e+=1:t<2048?e+=2:(t&64512)===55296&&(r.charCodeAt(n+1)&64512)===56320?(++n,e+=4):e+=3;return e}function ah(r,e,t){if(t-e<1)return"";let o,s=[],i=0,a;for(;e<t;)a=r[e++],a<128?s[i++]=a:a>191&&a<224?s[i++]=(a&31)<<6|r[e++]&63:a>239&&a<365?(a=((a&7)<<18|(r[e++]&63)<<12|(r[e++]&63)<<6|r[e++]&63)-65536,s[i++]=55296+(a>>10),s[i++]=56320+(a&1023)):s[i++]=(a&15)<<12|(r[e++]&63)<<6|r[e++]&63,i>8191&&((o??(o=[])).push(String.fromCharCode.apply(String,s)),i=0);return o!=null?(i>0&&o.push(String.fromCharCode.apply(String,s.slice(0,i))),o.join("")):String.fromCharCode.apply(String,s.slice(0,i))}function ol(r,e,t){let n=t,o,s;for(let i=0;i<r.length;++i)o=r.charCodeAt(i),o<128?e[t++]=o:o<2048?(e[t++]=o>>6|192,e[t++]=o&63|128):(o&64512)===55296&&((s=r.charCodeAt(i+1))&64512)===56320?(o=65536+((o&1023)<<10)+(s&1023),++i,e[t++]=o>>18|240,e[t++]=o>>12&63|128,e[t++]=o>>6&63|128,e[t++]=o&63|128):(e[t++]=o>>12|224,e[t++]=o>>6&63|128,e[t++]=o&63|128);return t-n}function it(r,e){return RangeError(`index out of range: ${r.pos} + ${e??1} > ${r.len}`)}function Os(r,e){return(r[e-4]|r[e-3]<<8|r[e-2]<<16|r[e-1]<<24)>>>0}var sl=class{buf;pos;len;_slice=Uint8Array.prototype.subarray;constructor(e){this.buf=Ee(e),this.pos=0,this.len=e.length}uint32(){let e=4294967295;if(e=(this.buf[this.pos]&127)>>>0,this.buf[this.pos++]<128||(e=(e|(this.buf[this.pos]&127)<<7)>>>0,this.buf[this.pos++]<128)||(e=(e|(this.buf[this.pos]&127)<<14)>>>0,this.buf[this.pos++]<128)||(e=(e|(this.buf[this.pos]&127)<<21)>>>0,this.buf[this.pos++]<128)||(e=(e|(this.buf[this.pos]&15)<<28)>>>0,this.buf[this.pos++]<128))return e;if((this.pos+=5)>this.len)throw this.pos=this.len,it(this,10);return e}int32(){return this.uint32()|0}sint32(){let e=this.uint32();return e>>>1^-(e&1)|0}bool(){return this.uint32()!==0}fixed32(){if(this.pos+4>this.len)throw it(this,4);return Os(this.buf,this.pos+=4)}sfixed32(){if(this.pos+4>this.len)throw it(this,4);return Os(this.buf,this.pos+=4)|0}float(){if(this.pos+4>this.len)throw it(this,4);let e=rh(this.buf,this.pos);return this.pos+=4,e}double(){if(this.pos+8>this.len)throw it(this,4);let e=oh(this.buf,this.pos);return this.pos+=8,e}bytes(){let e=this.uint32(),t=this.pos,n=this.pos+e;if(n>this.len)throw it(this,e);return this.pos+=e,t===n?new Uint8Array(0):this.buf.subarray(t,n)}string(){let e=this.bytes();return ah(e,0,e.length)}skip(e){if(typeof e=="number"){if(this.pos+e>this.len)throw it(this,e);this.pos+=e}else do if(this.pos>=this.len)throw it(this);while((this.buf[this.pos++]&128)!==0);return this}skipType(e){switch(e){case 0:this.skip();break;case 1:this.skip(8);break;case 2:this.skip(this.uint32());break;case 3:for(;(e=this.uint32()&7)!==4;)this.skipType(e);break;case 5:this.skip(4);break;default:throw Error(`invalid wire type ${e} at offset ${this.pos}`)}return this}readLongVarint(){let e=new ze(0,0),t=0;if(this.len-this.pos>4){for(;t<4;++t)if(e.lo=(e.lo|(this.buf[this.pos]&127)<<t*7)>>>0,this.buf[this.pos++]<128)return e;if(e.lo=(e.lo|(this.buf[this.pos]&127)<<28)>>>0,e.hi=(e.hi|(this.buf[this.pos]&127)>>4)>>>0,this.buf[this.pos++]<128)return e;t=0}else{for(;t<3;++t){if(this.pos>=this.len)throw it(this);if(e.lo=(e.lo|(this.buf[this.pos]&127)<<t*7)>>>0,this.buf[this.pos++]<128)return e}return e.lo=(e.lo|(this.buf[this.pos++]&127)<<t*7)>>>0,e}if(this.len-this.pos>4){for(;t<5;++t)if(e.hi=(e.hi|(this.buf[this.pos]&127)<<t*7+3)>>>0,this.buf[this.pos++]<128)return e}else for(;t<5;++t){if(this.pos>=this.len)throw it(this);if(e.hi=(e.hi|(this.buf[this.pos]&127)<<t*7+3)>>>0,this.buf[this.pos++]<128)return e}throw Error("invalid varint encoding")}readFixed64(){if(this.pos+8>this.len)throw it(this,8);let e=Os(this.buf,this.pos+=4),t=Os(this.buf,this.pos+=4);return new ze(e,t)}int64(){return this.readLongVarint().toBigInt()}int64Number(){return this.readLongVarint().toNumber()}int64String(){return this.readLongVarint().toString()}uint64(){return this.readLongVarint().toBigInt(!0)}uint64Number(){let e=tl(this.buf,this.pos);return this.pos+=be(e),e}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 fo(r){return new sl(r instanceof Uint8Array?r:r.subarray())}function Re(r,e,t){let n=fo(r);return e.decode(n,void 0,t)}function il(r){let e=r??8192,t=e>>>1,n,o=e;return function(i){if(i<1||i>t)return ge(i);o+i>e&&(n=ge(e),o=0);let a=n.subarray(o,o+=i);return(o&7)!==0&&(o=(o|7)+1),a}}var mr=class{fn;len;next;val;constructor(e,t,n){this.fn=e,this.len=t,this.next=void 0,this.val=n}};function al(){}var ll=class{head;tail;len;next;constructor(e){this.head=e.head,this.tail=e.tail,this.len=e.len,this.next=e.states}},j0=il();function Y0(r){return globalThis.Buffer!=null?ge(r):j0(r)}var po=class{len;head;tail;states;constructor(){this.len=0,this.head=new mr(al,0,0),this.tail=this.head,this.states=null}_push(e,t,n){return this.tail=this.tail.next=new mr(e,t,n),this.len+=t,this}uint32(e){return this.len+=(this.tail=this.tail.next=new ul((e=e>>>0)<128?1:e<16384?2:e<2097152?3:e<268435456?4:5,e)).len,this}int32(e){return e<0?this._push(Ns,10,ze.fromNumber(e)):this.uint32(e)}sint32(e){return this.uint32((e<<1^e>>31)>>>0)}uint64(e){let t=ze.fromBigInt(e);return this._push(Ns,t.length(),t)}uint64Number(e){return this._push(rn,be(e),e)}uint64String(e){return this.uint64(BigInt(e))}int64(e){return this.uint64(e)}int64Number(e){return this.uint64Number(e)}int64String(e){return this.uint64String(e)}sint64(e){let t=ze.fromBigInt(e).zzEncode();return this._push(Ns,t.length(),t)}sint64Number(e){let t=ze.fromNumber(e).zzEncode();return this._push(Ns,t.length(),t)}sint64String(e){return this.sint64(BigInt(e))}bool(e){return this._push(cl,1,e?1:0)}fixed32(e){return this._push(ho,4,e>>>0)}sfixed32(e){return this.fixed32(e)}fixed64(e){let t=ze.fromBigInt(e);return this._push(ho,4,t.lo)._push(ho,4,t.hi)}fixed64Number(e){let t=ze.fromNumber(e);return this._push(ho,4,t.lo)._push(ho,4,t.hi)}fixed64String(e){return this.fixed64(BigInt(e))}sfixed64(e){return this.fixed64(e)}sfixed64Number(e){return this.fixed64Number(e)}sfixed64String(e){return this.fixed64String(e)}float(e){return this._push(th,4,e)}double(e){return this._push(nh,8,e)}bytes(e){let t=e.length>>>0;return t===0?this._push(cl,1,0):this.uint32(t)._push(Z0,t,e)}string(e){let t=ih(e);return t!==0?this.uint32(t)._push(ol,t,e):this._push(cl,1,0)}fork(){return this.states=new ll(this),this.head=this.tail=new mr(al,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 mr(al,0,0),this.len=0),this}ldelim(){let e=this.head,t=this.tail,n=this.len;return this.reset().uint32(n),n!==0&&(this.tail.next=e.next,this.tail=t,this.len+=n),this}finish(){let e=this.head.next,t=Y0(this.len),n=0;for(;e!=null;)e.fn(e.val,t,n),n+=e.len,e=e.next;return t}};function cl(r,e,t){e[t]=r&255}function X0(r,e,t){for(;r>127;)e[t++]=r&127|128,r>>>=7;e[t]=r}var ul=class extends mr{next;constructor(e,t){super(X0,e,t),this.next=void 0}};function Ns(r,e,t){for(;r.hi!==0;)e[t++]=r.lo&127|128,r.lo=(r.lo>>>7|r.hi<<25)>>>0,r.hi>>>=7;for(;r.lo>127;)e[t++]=r.lo&127|128,r.lo=r.lo>>>7;e[t++]=r.lo}function ho(r,e,t){e[t]=r&255,e[t+1]=r>>>8&255,e[t+2]=r>>>16&255,e[t+3]=r>>>24}function Z0(r,e,t){e.set(r,t)}globalThis.Buffer!=null&&(po.prototype.bytes=function(r){let e=r.length>>>0;return this.uint32(e),e>0&&this._push(Q0,e,r),this},po.prototype.string=function(r){let e=globalThis.Buffer.byteLength(r);return this.uint32(e),e>0&&this._push(J0,e,r),this});function Q0(r,e,t){e.set(r,t)}function J0(r,e,t){r.length<40?ol(r,e,t):e.utf8Write!=null?e.utf8Write(r,t):e.set(P(r),t)}function fl(){return new po}function Oe(r,e){let t=fl();return e.encode(r,t,{lengthDelimited:!1}),t.finish()}function*Ne(r,e,t){let n=fo(r);yield*e.stream(n,void 0,"$",t)}var Ms={VARINT:0,BIT64:1,LENGTH_DELIMITED:2,START_GROUP:3,END_GROUP:4,BIT32:5};function Fs(r,e,t,n,o){return{name:r,type:e,encode:t,decode:n,stream:o}}function dl(r){function e(s){if(r[s.toString()]==null)throw new Error("Invalid enum value");return r[s]}let t=function(i,a){let c=e(i);a.int32(c)},n=function(i){let a=i.int32();return e(a)},o=function*(i){let a=i.int32();yield e(a)};return Fs("enum",Ms.VARINT,t,n,o)}function Me(r,e,t){return Fs("message",Ms.LENGTH_DELIMITED,r,e,t)}var Ze=class extends Error{code="ERR_MAX_LENGTH";name="MaxLengthError"},mo=class extends Error{code="ERR_MAX_SIZE";name="MaxSizeError"};var ie;(function(r){r.RSA="RSA",r.Ed25519="Ed25519",r.secp256k1="secp256k1",r.ECDSA="ECDSA"})(ie||(ie={}));var hl;(function(r){r[r.RSA=0]="RSA",r[r.Ed25519=1]="Ed25519",r[r.secp256k1=2]="secp256k1",r[r.ECDSA=3]="ECDSA"})(hl||(hl={}));(function(r){r.codec=()=>dl(hl)})(ie||(ie={}));var mt;(function(r){let e;r.codec=()=>(e==null&&(e=Me((s,i,a={})=>{a.lengthDelimited!==!1&&i.fork(),s.Type!=null&&(i.uint32(8),ie.codec().encode(s.Type,i)),s.Data!=null&&(i.uint32(18),i.bytes(s.Data)),a.lengthDelimited!==!1&&i.ldelim()},(s,i,a={})=>{let c={},l=i==null?s.len:s.pos+i;for(;s.pos<l;){let u=s.uint32();switch(u>>>3){case 1:{c.Type=ie.codec().decode(s);break}case 2:{c.Data=s.bytes();break}default:{s.skipType(u&7);break}}}return c},function*(s,i,a,c={}){let l=i==null?s.len:s.pos+i;for(;s.pos<l;){let u=s.uint32();switch(u>>>3){case 1:{yield{field:`${a}.Type`,value:ie.codec().decode(s)};break}case 2:{yield{field:`${a}.Data`,value:s.bytes()};break}default:{s.skipType(u&7);break}}}})),e);function t(s){return Oe(s,r.codec())}r.encode=t;function n(s,i){return Re(s,r.codec(),i)}r.decode=n;function o(s,i){return Ne(s,r.codec(),i)}r.stream=o})(mt||(mt={}));var pl;(function(r){let e;r.codec=()=>(e==null&&(e=Me((s,i,a={})=>{a.lengthDelimited!==!1&&i.fork(),s.Type!=null&&(i.uint32(8),ie.codec().encode(s.Type,i)),s.Data!=null&&(i.uint32(18),i.bytes(s.Data)),a.lengthDelimited!==!1&&i.ldelim()},(s,i,a={})=>{let c={},l=i==null?s.len:s.pos+i;for(;s.pos<l;){let u=s.uint32();switch(u>>>3){case 1:{c.Type=ie.codec().decode(s);break}case 2:{c.Data=s.bytes();break}default:{s.skipType(u&7);break}}}return c},function*(s,i,a,c={}){let l=i==null?s.len:s.pos+i;for(;s.pos<l;){let u=s.uint32();switch(u>>>3){case 1:{yield{field:`${a}.Type`,value:ie.codec().decode(s)};break}case 2:{yield{field:`${a}.Data`,value:s.bytes()};break}default:{s.skipType(u&7);break}}}})),e);function t(s){return Oe(s,r.codec())}r.encode=t;function n(s,i){return Re(s,r.codec(),i)}r.decode=n;function o(s,i){return Ne(s,r.codec(),i)}r.stream=o})(pl||(pl={}));var yo={};Ue(yo,{MAX_RSA_KEY_SIZE:()=>ml,generateRSAKeyPair:()=>Al,jwkToJWKKeyPair:()=>hh,jwkToPkcs1:()=>ny,jwkToPkix:()=>wl,jwkToRSAPrivateKey:()=>Sl,pkcs1MessageToJwk:()=>yl,pkcs1MessageToRSAPrivateKey:()=>xl,pkcs1ToJwk:()=>ry,pkcs1ToRSAPrivateKey:()=>dh,pkixMessageToJwk:()=>bl,pkixMessageToRSAPublicKey:()=>vl,pkixToJwk:()=>oy,pkixToRSAPublicKey:()=>El});var nn=class{type="RSA";jwk;_raw;_multihash;constructor(e,t){this.jwk=e,this._multihash=t}get raw(){return this._raw==null&&(this._raw=yo.jwkToPkix(this.jwk)),this._raw}toMultihash(){return this._multihash}toCID(){return ue.createV1(114,this._multihash)}toString(){return te.encode(this.toMultihash().bytes).substring(1)}equals(e){return e==null||!(e.raw instanceof Uint8Array)?!1:X(this.raw,e.raw)}verify(e,t,n){return fh(this.jwk,t,e,n)}},go=class{type="RSA";jwk;_raw;publicKey;constructor(e,t){this.jwk=e,this.publicKey=t}get raw(){return this._raw==null&&(this._raw=yo.jwkToPkcs1(this.jwk)),this._raw}equals(e){return e==null||!(e.raw instanceof Uint8Array)?!1:X(this.raw,e.raw)}sign(e,t){return uh(this.jwk,e,t)}};var ml=8192,gl=18,ey=1062,ty=Uint8Array.from([48,13,6,9,42,134,72,134,247,13,1,1,1,5,0]);function ry(r){let e=St(r);return yl(e)}function yl(r){return{n:U(r[1],"base64url"),e:U(r[2],"base64url"),d:U(r[3],"base64url"),p:U(r[4],"base64url"),q:U(r[5],"base64url"),dp:U(r[6],"base64url"),dq:U(r[7],"base64url"),qi:U(r[8],"base64url"),kty:"RSA"}}function ny(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 D("JWK was missing components");return tt([ke(Uint8Array.from([0])),ke(P(r.n,"base64url")),ke(P(r.e,"base64url")),ke(P(r.d,"base64url")),ke(P(r.p,"base64url")),ke(P(r.q,"base64url")),ke(P(r.dp,"base64url")),ke(P(r.dq,"base64url")),ke(P(r.qi,"base64url"))]).subarray()}function oy(r){let e=St(r,{offset:0});return bl(e)}function bl(r){let e=St(r[1],{offset:0});return{kty:"RSA",n:U(e[0],"base64url"),e:U(e[1],"base64url")}}function wl(r){if(r.n==null||r.e==null)throw new D("JWK was missing components");return tt([ty,Gn(tt([ke(P(r.n,"base64url")),ke(P(r.e,"base64url"))]))]).subarray()}function dh(r){let e=St(r);return xl(e)}function xl(r){let e=yl(r);return Sl(e)}function El(r,e){if(r.byteLength>=ey)throw new Nt("Key size is too large");let t=St(r,{offset:0});return vl(t,r,e)}function vl(r,e,t){let n=bl(r);if(t==null){let o=Hr(mt.encode({Type:ie.RSA,Data:e}));t=dt(gl,o)}return new nn(n,t)}function Sl(r){if(mh(r)>ml)throw new D("Key size is too large");let e=hh(r),t=Hr(mt.encode({Type:ie.RSA,Data:wl(e.publicKey)})),n=dt(gl,t);return new go(e.privateKey,new nn(e.publicKey,n))}async function Al(r){if(r>ml)throw new D("Key size is too large");let e=await ph(r),t=Hr(mt.encode({Type:ie.RSA,Data:wl(e.publicKey)})),n=dt(gl,t);return new go(e.privateKey,new nn(e.publicKey,n))}function hh(r){if(r==null)throw new D("Missing key parameter");return{privateKey:r,publicKey:{kty:r.kty,n:r.n,e:r.e}}}async function ph(r,e){let t=await Ke.get().subtle.generateKey({name:"RSASSA-PKCS1-v1_5",modulusLength:r,publicExponent:new Uint8Array([1,0,1]),hash:{name:"SHA-256"}},!0,["sign","verify"]);e?.signal?.throwIfAborted();let n=await sy(t,e);return{privateKey:n[0],publicKey:n[1]}}async function uh(r,e,t){let n=await Ke.get().subtle.importKey("jwk",r,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!1,["sign"]);t?.signal?.throwIfAborted();let o=await Ke.get().subtle.sign({name:"RSASSA-PKCS1-v1_5"},n,Ee(e instanceof Uint8Array?e:e.subarray()));return t?.signal?.throwIfAborted(),new Uint8Array(o,0,o.byteLength)}async function fh(r,e,t,n){let o=await Ke.get().subtle.importKey("jwk",r,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!1,["verify"]);n?.signal?.throwIfAborted();let s=await Ke.get().subtle.verify({name:"RSASSA-PKCS1-v1_5"},o,Ee(e),Ee(t instanceof Uint8Array?t:t.subarray()));return n?.signal?.throwIfAborted(),s}async function sy(r,e){if(r.privateKey==null||r.publicKey==null)throw new D("Private and public key are required");let t=await Promise.all([Ke.get().subtle.exportKey("jwk",r.privateKey),Ke.get().subtle.exportKey("jwk",r.publicKey)]);return e?.signal?.throwIfAborted(),t}function mh(r){if(r.kty!=="RSA")throw new D("invalid key type");if(r.n==null)throw new D("invalid key modulus");return P(r.n,"base64url").length*8}var Bs=class{oHash;iHash;blockLen;outputLen;canXOF=!1;finished=!1;destroyed=!1;constructor(e,t){if(ms(e),$e(t,void 0,"key"),this.iHash=e.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 n=this.blockLen,o=new Uint8Array(n);o.set(t.length>n?e.create().update(t).digest():t);for(let s=0;s<o.length;s++)o[s]^=54;this.iHash.update(o),this.oHash=e.create();for(let s=0;s<o.length;s++)o[s]^=106;this.oHash.update(o),_t(o)}update(e){return Vr(this),this.iHash.update(e),this}digestInto(e){Vr(this),gs(e,this),this.finished=!0;let t=e.subarray(0,this.outputLen);this.iHash.digestInto(t),this.oHash.update(t),this.oHash.digestInto(t),this.destroy()}digest(){let e=new Uint8Array(this.oHash.outputLen);return this.digestInto(e),e}_cloneInto(e){e||=Object.create(Object.getPrototypeOf(this),{});let{oHash:t,iHash:n,finished:o,destroyed:s,blockLen:i,outputLen:a}=this;return e=e,e.finished=o,e.destroyed=s,e.blockLen=i,e.outputLen=a,e.oHash=t._cloneInto(e.oHash),e.iHash=n._cloneInto(e.iHash),e}clone(){return this._cloneInto()}destroy(){this.destroyed=!0,this.oHash.destroy(),this.iHash.destroy()}},gh=(()=>{let r=((e,t,n)=>new Bs(e,t).update(n).digest());return r.create=(e,t)=>new Bs(e,t),r})();var yh=(r,e)=>(r+(r>=0?e:-e)/bh)/e;function iy(r,e,t){jr("scalar",r,gt,t);let[[n,o],[s,i]]=e,a=yh(i*r,t),c=yh(-o*r,t),l=r-a*n-c*s,u=-a*o-c*i,f=l<gt,d=u<gt;f&&(l=-l),d&&(u=-u);let h=to(Math.ceil(Yr(t)/2))+Zt;if(l<gt||l>=h||u<gt||u>=h)throw new Error("splitScalar (endomorphism): failed for k");return{k1neg:f,k1:l,k2neg:d,k2:u}}function Il(r){if(!["compact","recovered","der"].includes(r))throw new Error('Signature format must be "compact", "recovered", or "der"');return r}function _l(r,e){st(r);let t={};for(let n of Object.keys(e))t[n]=r[n]===void 0?e[n]:r[n];return nt(t.lowS,"lowS"),nt(t.prehash,"prehash"),t.format!==void 0&&Il(t.format),t}var Cl=class extends Error{constructor(e=""){super(e)}},at={Err:Cl,_tlv:{encode:(r,e)=>{let{Err:t}=at;if(ot(r,"tag"),r<0||r>255)throw new t("tlv.encode: wrong tag");if(typeof e!="string")throw new TypeError('"data" expected string, got type='+typeof e);if(e.length&1)throw new t("tlv.encode: unpadded data");let n=e.length/2,o=Jn(n);if(o.length/2&128)throw new t("tlv.encode: long form length too big");let s=n>127?Jn(o.length/2|128):"";return Jn(r)+s+o+e},decode(r,e){let{Err:t}=at;e=W(e,void 0,"DER data");let n=0;if(r<0||r>255)throw new t("tlv.encode: wrong tag");if(e.length<2||e[n++]!==r)throw new t("tlv.decode: wrong tlv");let o=e[n++],s=!!(o&128),i=0;if(!s)i=o;else{let c=o&127;if(!c)throw new t("tlv.decode(long): indefinite length not supported");if(c>4)throw new t("tlv.decode(long): byte length is too big");let l=e.subarray(n,n+c);if(l.length!==c)throw new t("tlv.decode: length bytes not complete");if(l[0]===0)throw new t("tlv.decode(long): zero leftmost byte");for(let u of l)i=i<<8|u;if(n+=c,i<128)throw new t("tlv.decode(long): not minimal encoding")}let a=e.subarray(n,n+i);if(a.length!==i)throw new t("tlv.decode: wrong value length");return{v:a,l:e.subarray(n+i)}}},_int:{encode(r){let{Err:e}=at;if(Ss(r),r<gt)throw new e("integer: negative integers are not allowed");let t=Jn(r);if(Number.parseInt(t[0],16)&8&&(t="00"+t),t.length&1)throw new e("unexpected DER parsing assertion: unpadded hex");return t},decode(r){let{Err:e}=at;if(r.length<1)throw new e("invalid signature integer: empty");if(r[0]&128)throw new e("invalid signature integer: negative");if(r.length>1&&r[0]===0&&!(r[1]&128))throw new e("invalid signature integer: unnecessary leading zero");return lr(r)}},toSig(r){let{Err:e,_int:t,_tlv:n}=at,o=W(r,void 0,"signature"),{v:s,l:i}=n.decode(48,o);if(i.length)throw new e("invalid signature: left bytes after parsing");let{v:a,l:c}=n.decode(2,s),{v:l,l:u}=n.decode(2,c);if(u.length)throw new e("invalid signature: left bytes after parsing");return{r:t.decode(a),s:t.decode(l)}},hexFromSig(r){let{_tlv:e,_int:t}=at,n=e.encode(2,t.encode(r.r)),o=e.encode(2,t.encode(r.s)),s=n+o;return e.encode(48,s)}};Object.freeze(at._tlv);Object.freeze(at._int);Object.freeze(at);var gt=BigInt(0),Zt=BigInt(1),bh=BigInt(2),Us=BigInt(3),ay=BigInt(4);function wh(r,e={}){let t=Cs("weierstrass",r,e),n=t.Fp,o=t.Fn,s=t.CURVE,{h:i,n:a}=s;st(e,{},{allowInfinityPoint:"boolean",clearCofactor:"function",isTorsionFree:"function",fromBytes:"function",toBytes:"function",endo:"object"});let{endo:c,allowInfinityPoint:l}=e;if(c&&(!n.is0(s.a)||typeof c.beta!="bigint"||!Array.isArray(c.basises)))throw new Error('invalid endo: expected "beta": bigint and "basises": array');let u=Eh(n,o);function f(){if(!n.isOdd)throw new Error("compression is not supported: Field does not have .isOdd()")}function d(F,g,w){if(l&&g.is0())return Uint8Array.of(0);let{x:A,y:v}=g.toAffine(),x=n.toBytes(A);if(nt(w,"isCompressed"),w){f();let _=!n.isOdd(v);return he(xh(_),x)}else return he(Uint8Array.of(4),x,n.toBytes(v))}function h(F){W(F,void 0,"Point");let{publicKey:g,publicKeyUncompressed:w}=u,A=F.length,v=F[0],x=F.subarray(1);if(l&&A===1&&v===0)return{x:n.ZERO,y:n.ZERO};if(A===g&&(v===2||v===3)){let _=n.fromBytes(x);if(!n.isValid(_))throw new Error("bad point: is not on curve, wrong x");let T=p(_),C;try{C=n.sqrt(T)}catch(H){let Y=H instanceof Error?": "+H.message:"";throw new Error("bad point: is not on curve, sqrt error"+Y)}f();let R=n.isOdd(C);return(v&1)===1!==R&&(C=n.neg(C)),{x:_,y:C}}else if(A===w&&v===4){let _=n.BYTES,T=n.fromBytes(x.subarray(0,_)),C=n.fromBytes(x.subarray(_,_*2));if(!m(T,C))throw new Error("bad point: is not on curve");return{x:T,y:C}}else throw new Error(`bad point: got length ${A}, expected compressed=${g} or uncompressed=${w}`)}let b=e.toBytes===void 0?d:e.toBytes,y=e.fromBytes===void 0?h:e.fromBytes;function p(F){let g=n.sqr(F),w=n.mul(g,F);return n.add(n.add(w,n.mul(F,s.a)),s.b)}function m(F,g){let w=n.sqr(g),A=p(F);return n.eql(w,A)}if(!m(s.Gx,s.Gy))throw new Error("bad curve params: generator point");let E=n.mul(n.pow(s.a,Us),ay),S=n.mul(n.sqr(s.b),BigInt(27));if(n.is0(n.add(E,S)))throw new Error("bad curve params: a or b");function O(F,g,w=!1){if(!n.isValid(g)||w&&n.is0(g))throw new Error(`bad point coordinate ${F}`);return g}function L(F){if(!(F instanceof I))throw new Error("Weierstrass Point expected")}function q(F){if(!c||!c.basises)throw new Error("no endo");return iy(F,c.basises,o.ORDER)}function k(F,g,w,A,v){return w=new I(n.mul(w.X,F),w.Y,w.Z),g=no(A,g),w=no(v,w),g.add(w)}class I{static BASE=new I(s.Gx,s.Gy,n.ONE);static ZERO=new I(n.ZERO,n.ONE,n.ZERO);static Fp=n;static Fn=o;X;Y;Z;constructor(g,w,A){this.X=O("x",g),this.Y=O("y",w,!0),this.Z=O("z",A),Object.freeze(this)}static CURVE(){return s}static fromAffine(g){let{x:w,y:A}=g||{};if(!g||!n.isValid(w)||!n.isValid(A))throw new Error("invalid affine point");if(g instanceof I)throw new Error("projective point not allowed");return n.is0(w)&&n.is0(A)?I.ZERO:new I(w,A,n.ONE)}static fromBytes(g){let w=I.fromAffine(y(W(g,void 0,"point")));return w.assertValidity(),w}static fromHex(g){return I.fromBytes(Gr(g))}get x(){return this.toAffine().x}get y(){return this.toAffine().y}precompute(g=8,w=!0){return $.createCache(this,g),w||this.multiply(Us),this}assertValidity(){let g=this;if(g.is0()){if(e.allowInfinityPoint&&n.is0(g.X)&&n.eql(g.Y,n.ONE)&&n.is0(g.Z))return;throw new Error("bad point: ZERO")}let{x:w,y:A}=g.toAffine();if(!n.isValid(w)||!n.isValid(A))throw new Error("bad point: x or y not field elements");if(!m(w,A))throw new Error("bad point: equation left != right");if(!g.isTorsionFree())throw new Error("bad point: not in prime-order subgroup")}hasEvenY(){let{y:g}=this.toAffine();if(!n.isOdd)throw new Error("Field doesn't support isOdd");return!n.isOdd(g)}equals(g){L(g);let{X:w,Y:A,Z:v}=this,{X:x,Y:_,Z:T}=g,C=n.eql(n.mul(w,T),n.mul(x,v)),R=n.eql(n.mul(A,T),n.mul(_,v));return C&&R}negate(){return new I(this.X,n.neg(this.Y),this.Z)}double(){let{a:g,b:w}=s,A=n.mul(w,Us),{X:v,Y:x,Z:_}=this,T=n.ZERO,C=n.ZERO,R=n.ZERO,M=n.mul(v,v),H=n.mul(x,x),Y=n.mul(_,_),z=n.mul(v,x);return z=n.add(z,z),R=n.mul(v,_),R=n.add(R,R),T=n.mul(g,R),C=n.mul(A,Y),C=n.add(T,C),T=n.sub(H,C),C=n.add(H,C),C=n.mul(T,C),T=n.mul(z,T),R=n.mul(A,R),Y=n.mul(g,Y),z=n.sub(M,Y),z=n.mul(g,z),z=n.add(z,R),R=n.add(M,M),M=n.add(R,M),M=n.add(M,Y),M=n.mul(M,z),C=n.add(C,M),Y=n.mul(x,_),Y=n.add(Y,Y),M=n.mul(Y,z),T=n.sub(T,M),R=n.mul(Y,H),R=n.add(R,R),R=n.add(R,R),new I(T,C,R)}add(g){L(g);let{X:w,Y:A,Z:v}=this,{X:x,Y:_,Z:T}=g,C=n.ZERO,R=n.ZERO,M=n.ZERO,H=s.a,Y=n.mul(s.b,Us),z=n.mul(w,x),de=n.mul(A,_),pe=n.mul(v,T),me=n.add(w,A),le=n.add(x,_);me=n.mul(me,le),le=n.add(z,de),me=n.sub(me,le),le=n.add(w,v);let Be=n.add(x,T);return le=n.mul(le,Be),Be=n.add(z,pe),le=n.sub(le,Be),Be=n.add(A,v),C=n.add(_,T),Be=n.mul(Be,C),C=n.add(de,pe),Be=n.sub(Be,C),M=n.mul(H,le),C=n.mul(Y,pe),M=n.add(C,M),C=n.sub(de,M),M=n.add(de,M),R=n.mul(C,M),de=n.add(z,z),de=n.add(de,z),pe=n.mul(H,pe),le=n.mul(Y,le),de=n.add(de,pe),pe=n.sub(z,pe),pe=n.mul(H,pe),le=n.add(le,pe),z=n.mul(de,le),R=n.add(R,z),z=n.mul(Be,le),C=n.mul(me,C),C=n.sub(C,z),z=n.mul(me,de),M=n.mul(Be,M),M=n.add(M,z),new I(C,R,M)}subtract(g){return L(g),this.add(g.negate())}is0(){return this.equals(I.ZERO)}multiply(g){let{endo:w}=e;if(!o.isValidNot0(g))throw new RangeError("invalid scalar: out of range");let A,v,x=_=>$.cached(this,_,T=>dr(I,T));if(w){let{k1neg:_,k1:T,k2neg:C,k2:R}=q(g),{p:M,f:H}=x(T),{p:Y,f:z}=x(R);v=H.add(z),A=k(w.beta,M,Y,_,C)}else{let{p:_,f:T}=x(g);A=_,v=T}return dr(I,[A,v])[0]}multiplyUnsafe(g){let{endo:w}=e,A=this,v=g;if(!o.isValid(v))throw new RangeError("invalid scalar: out of range");if(v===gt||A.is0())return I.ZERO;if(v===Zt)return A;if($.hasCache(this))return this.multiply(v);if(w){let{k1neg:x,k1:_,k2neg:T,k2:C}=q(v),{p1:R,p2:M}=qd(I,A,_,C);return k(w.beta,R,M,x,T)}else return $.unsafe(A,v)}toAffine(g){let w=this,A=g,{X:v,Y:x,Z:_}=w;if(n.eql(_,n.ONE))return{x:v,y:x};let T=w.is0();A==null&&(A=T?n.ONE:n.inv(_));let C=n.mul(v,A),R=n.mul(x,A),M=n.mul(_,A);if(T)return{x:n.ZERO,y:n.ZERO};if(!n.eql(M,n.ONE))throw new Error("invZ was invalid");return{x:C,y:R}}isTorsionFree(){let{isTorsionFree:g}=e;return i===Zt?!0:g?g(I,this):$.unsafe(this,a).is0()}clearCofactor(){let{clearCofactor:g}=e;return i===Zt?this:g?g(I,this):this.multiplyUnsafe(i)}isSmallOrder(){return i===Zt?this.is0():this.clearCofactor().is0()}toBytes(g=!0){return nt(g,"isCompressed"),this.assertValidity(),b(I,this,g)}toHex(g=!0){return Wr(this.toBytes(g))}toString(){return`<Point ${this.is0()?"ZERO":this.toHex()}>`}}let B=o.BITS,$=new Qr(I,e.endo?Math.ceil(B/2):B);return B>=8&&I.BASE.precompute(8),Object.freeze(I.prototype),Object.freeze(I),I}function xh(r){return Uint8Array.of(r?2:3)}function Eh(r,e){return{secretKey:e.BYTES,publicKey:1+r.BYTES,publicKeyUncompressed:1+2*r.BYTES,publicKeyHasPrefix:!0,signature:2*e.BYTES}}function cy(r,e={}){let{Fn:t}=r,n=e.randomBytes===void 0?Qn:e.randomBytes,o=Object.assign(Eh(r.Fp,t),{seed:Math.max(Fc(t.ORDER),16)});function s(h){try{let b=t.fromBytes(h);return t.isValidNot0(b)}catch{return!1}}function i(h,b){let{publicKey:y,publicKeyUncompressed:p}=o;try{let m=h.length;return b===!0&&m!==y||b===!1&&m!==p?!1:!!r.fromBytes(h)}catch{return!1}}function a(h){return h=h===void 0?n(o.seed):h,Bc(W(h,o.seed,"seed"),t.ORDER)}function c(h,b=!0){return r.BASE.multiply(t.fromBytes(h)).toBytes(b)}function l(h){let{secretKey:b,publicKey:y,publicKeyUncompressed:p}=o,m=t._lengths;if(!cr(h))return;let E=W(h,void 0,"key").length,S=E===y||E===p,O=E===b||!!m?.includes(E);if(!(S&&O))return S}function u(h,b,y=!0){if(l(h)===!0)throw new Error("first arg must be private key");if(l(b)===!1)throw new Error("second arg must be public key");let p=t.fromBytes(h);return r.fromBytes(b).multiply(p).toBytes(y)}let f={isValidSecretKey:s,isValidPublicKey:i,randomSecretKey:a},d=Ts(a,c);return Object.freeze(f),Object.freeze(o),Object.freeze({getPublicKey:c,getSharedSecret:u,keygen:d,Point:r,utils:f,lengths:o})}function vh(r,e,t={}){let n=e;ms(n),st(t,{},{hmac:"function",lowS:"boolean",randomBytes:"function",bits2int:"function",bits2int_modN:"function"}),t=Object.assign({},t);let o=t.randomBytes===void 0?Qn:t.randomBytes,s=t.hmac===void 0?(v,x)=>gh(n,v,x):t.hmac,{Fp:i,Fn:a}=r,{ORDER:c,BITS:l}=a,{keygen:u,getPublicKey:f,getSharedSecret:d,utils:h,lengths:b}=cy(r,t),y={prehash:!0,lowS:typeof t.lowS=="boolean"?t.lowS:!0,format:"compact",extraEntropy:!1},p=c*bh+Zt<i.ORDER;function m(v){let x=c>>Zt;return v>x}function E(v,x){if(!a.isValidNot0(x))throw new Error(`invalid signature ${v}: out of range 1..Point.Fn.ORDER`);return x}function S(){if(p)throw new Error('"recovered" sig type is not supported for cofactor >2 curves')}function O(v,x){Il(x);let _=b.signature,T=x==="compact"?_:x==="recovered"?_+1:void 0;return W(v,T)}class L{r;s;recovery;constructor(x,_,T){if(this.r=E("r",x),this.s=E("s",_),T!=null){if(S(),![0,1,2,3].includes(T))throw new Error("invalid recovery id");this.recovery=T}Object.freeze(this)}static fromBytes(x,_=y.format){O(x,_);let T;if(_==="der"){let{r:H,s:Y}=at.toSig(W(x));return new L(H,Y)}_==="recovered"&&(T=x[0],_="compact",x=x.subarray(1));let C=b.signature/2,R=x.subarray(0,C),M=x.subarray(C,C*2);return new L(a.fromBytes(R),a.fromBytes(M),T)}static fromHex(x,_){return this.fromBytes(Gr(x),_)}assertRecovery(){let{recovery:x}=this;if(x==null)throw new Error("invalid recovery id: must be present");return x}addRecoveryBit(x){return new L(this.r,this.s,x)}recoverPublicKey(x){let{r:_,s:T}=this,C=this.assertRecovery(),R=C===2||C===3?_+c:_;if(!i.isValid(R))throw new Error("invalid recovery id: sig.r+curve.n != R.x");let M=i.toBytes(R),H=r.fromBytes(he(xh((C&1)===0),M)),Y=a.inv(R),z=k(W(x,void 0,"msgHash")),de=a.create(-z*Y),pe=a.create(T*Y),me=r.BASE.multiplyUnsafe(de).add(H.multiplyUnsafe(pe));if(me.is0())throw new Error("invalid recovery: point at infinify");return me.assertValidity(),me}hasHighS(){return m(this.s)}toBytes(x=y.format){if(Il(x),x==="der")return Gr(at.hexFromSig(this));let{r:_,s:T}=this,C=a.toBytes(_),R=a.toBytes(T);return x==="recovered"?(S(),he(Uint8Array.of(this.assertRecovery()),C,R)):he(C,R)}toHex(x){return Wr(this.toBytes(x))}}Object.freeze(L.prototype),Object.freeze(L);let q=t.bits2int===void 0?function(x){if(x.length>8192)throw new Error("input is too large");let _=lr(x),T=x.length*8-l;return T>0?_>>BigInt(T):_}:t.bits2int,k=t.bits2int_modN===void 0?function(x){return a.create(q(x))}:t.bits2int_modN,I=to(l);function B(v){return jr("num < 2^"+l,v,gt,I),a.toBytes(v)}function $(v,x){return W(v,void 0,"message"),x?W(n(v),void 0,"prehashed message"):v}function F(v,x,_){let{lowS:T,prehash:C,extraEntropy:R}=_l(_,y);v=$(v,C);let M=k(v),H=a.fromBytes(x);if(!a.isValidNot0(H))throw new Error("invalid private key");let Y=[B(H),B(M)];if(R!=null&&R!==!1){let me=R===!0?o(b.secretKey):R;Y.push(W(me,void 0,"extraEntropy"))}let z=he(...Y),de=M;function pe(me){let le=q(me);if(!a.isValidNot0(le))return;let Be=a.inv(le),Mr=r.BASE.multiply(le).toAffine(),On=a.create(Mr.x);if(On===gt)return;let Qo=a.create(Be*a.create(de+On*H));if(Qo===gt)return;let vf=(Mr.x===On?0:2)|Number(Mr.y&Zt),Sf=Qo;return T&&m(Qo)&&(Sf=a.neg(Qo),vf^=1),new L(On,Sf,p?void 0:vf)}return{seed:z,k2sig:pe}}function g(v,x,_={}){let{seed:T,k2sig:C}=F(v,x,_);return Ad(n.outputLen,a.BYTES,s)(T,C).toBytes(_.format)}function w(v,x,_,T={}){let{lowS:C,prehash:R,format:M}=_l(T,y);if(_=W(_,void 0,"publicKey"),x=$(x,R),!cr(v)){let H=v instanceof L?", use sig.toBytes()":"";throw new Error("verify expects Uint8Array signature"+H)}O(v,M);try{let H=L.fromBytes(v,M),Y=r.fromBytes(_);if(C&&H.hasHighS())return!1;let{r:z,s:de}=H,pe=k(x),me=a.inv(de),le=a.create(pe*me),Be=a.create(z*me),Mr=r.BASE.multiplyUnsafe(le).add(Y.multiplyUnsafe(Be));return Mr.is0()?!1:a.create(Mr.x)===z}catch{return!1}}function A(v,x,_={}){let{prehash:T}=_l(_,y);return x=$(x,T),L.fromBytes(v,"recovered").recoverPublicKey(x).toBytes()}return Object.freeze({keygen:u,getPublicKey:f,getSharedSecret:d,utils:h,lengths:b,Point:r,sign:g,verify:w,recoverPublicKey:A,Signature:L,hash:n})}var Ll={p:BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"),n:BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),h:BigInt(1),a:BigInt(0),b:BigInt(7),Gx:BigInt("0x79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798"),Gy:BigInt("0x483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8")},ly={beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee"),basises:[[BigInt("0x3086d221a7d46bcde86c90e49284eb15"),-BigInt("0xe4437ed6010e88286f547fa90abfe4c3")],[BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"),BigInt("0x3086d221a7d46bcde86c90e49284eb15")]]};var Sh=BigInt(2);function uy(r){let e=Ll.p,t=BigInt(3),n=BigInt(6),o=BigInt(11),s=BigInt(22),i=BigInt(23),a=BigInt(44),c=BigInt(88),l=r*r*r%e,u=l*l*r%e,f=oe(u,t,e)*u%e,d=oe(f,t,e)*u%e,h=oe(d,Sh,e)*l%e,b=oe(h,o,e)*h%e,y=oe(b,s,e)*b%e,p=oe(y,a,e)*y%e,m=oe(p,c,e)*p%e,E=oe(m,a,e)*y%e,S=oe(E,t,e)*u%e,O=oe(S,i,e)*b%e,L=oe(O,n,e)*l%e,q=oe(L,Sh,e);if(!Tl.eql(Tl.sqr(q),r))throw new Error("Cannot find square root");return q}var Tl=Xr(Ll.p,{sqrt:uy}),fy=wh(Ll,{Fp:Tl,endo:ly}),ct=vh(fy,Hr);function Ah(r,e,t){let n=zr.digest(e instanceof Uint8Array?e:e.subarray());if(tn(n))return n.then(({digest:o})=>(t?.signal?.throwIfAborted(),ct.sign(o,r,{prehash:!1,format:"der"}))).catch(o=>{throw o.name==="AbortError"?o:new io(String(o))});try{return ct.sign(n.digest,r,{prehash:!1,format:"der"})}catch(o){throw new io(String(o))}}function _h(r,e,t,n){let o=zr.digest(t instanceof Uint8Array?t:t.subarray());if(tn(o))return o.then(({digest:s})=>(n?.signal?.throwIfAborted(),ct.verify(e,s,r,{prehash:!1,format:"der"}))).catch(s=>{throw s.name==="AbortError"?s:new ao(String(s))});try{return n?.signal?.throwIfAborted(),ct.verify(e,o.digest,r,{prehash:!1,format:"der"})}catch(s){throw new ao(String(s))}}var bo=class{type="secp256k1";raw;_key;constructor(e){this._key=Th(e),this.raw=Ih(this._key)}toMultihash(){return et.digest(Xe(this))}toCID(){return ue.createV1(114,this.toMultihash())}toString(){return te.encode(this.toMultihash().bytes).substring(1)}equals(e){return e==null||!(e.raw instanceof Uint8Array)?!1:X(this.raw,e.raw)}verify(e,t,n){return _h(this._key,t,e,n)}},Ks=class{type="secp256k1";raw;publicKey;constructor(e,t){this.raw=Ch(e),this.publicKey=new bo(t??Lh(e))}equals(e){return e==null||!(e.raw instanceof Uint8Array)?!1:X(this.raw,e.raw)}sign(e,t){return Ah(this.raw,e,t)}};function Pl(r){return new bo(r)}async function Ph(){let r=dy();return new Ks(r)}function Ih(r){return ct.Point.fromBytes(r).toBytes()}function Ch(r){try{return ct.getPublicKey(r,!0),r}catch(e){throw new Mn(String(e))}}function Th(r){try{return ct.Point.fromBytes(r),r}catch(e){throw new Nt(String(e))}}function Lh(r){try{return ct.getPublicKey(r,!0)}catch(e){throw new Mn(String(e))}}function dy(){return ct.utils.randomSecretKey()}async function Dh(r,e){if(r==="Ed25519")return eh();if(r==="secp256k1")return Ph();if(r==="RSA")return Al(hy(e));if(r==="ECDSA")return ad(py(e));throw new Ft}function on(r,e){let{Type:t,Data:n}=mt.decode(r),o=n??new Uint8Array;switch(t){case ie.RSA:return El(o,e);case ie.Ed25519:return Xc(o);case ie.secp256k1:return Pl(o);case ie.ECDSA:return xc(o);default:throw new Ft}}function kh(r){let{Type:e,Data:t}=mt.decode(r.digest),n=t??new Uint8Array;switch(e){case ie.Ed25519:return Xc(n);case ie.secp256k1:return Pl(n);case ie.ECDSA:return xc(n);default:throw new Ft}}function Xe(r){return mt.encode({Type:ie[r.type],Data:r.raw})}function hy(r){return r==null?2048:parseInt(r,10)}function py(r){if(r==="P-256"||r==null)return"P-256";if(r==="P-384")return"P-384";if(r==="P-521")return"P-521";throw new D("Unsupported curve, should be P-256, P-384 or P-521")}var Rh=Symbol.for("nodejs.util.inspect.custom"),my=114,wo=class{type;multihash;publicKey;string;constructor(e){this.type=e.type,this.multihash=e.multihash,Object.defineProperty(this,"string",{enumerable:!1,writable:!0})}get[Symbol.toStringTag](){return`PeerId(${this.toString()})`}[cs]=!0;toString(){return this.string==null&&(this.string=te.encode(this.multihash.bytes).slice(1)),this.string}toMultihash(){return this.multihash}toCID(){return ue.createV1(my,this.multihash)}toJSON(){return this.toString()}equals(e){if(e==null)return!1;if(e instanceof Uint8Array)return X(this.multihash.bytes,e);if(typeof e=="string")return this.toString()===e;if(e?.toMultihash()?.bytes!=null)return X(this.multihash.bytes,e.toMultihash().bytes);throw new Error("not valid Id")}[Rh](){return`PeerId(${this.toString()})`}},xo=class extends wo{type="RSA";publicKey;constructor(e){super({...e,type:"RSA"}),this.publicKey=e.publicKey}},Eo=class extends wo{type="Ed25519";publicKey;constructor(e){super({...e,type:"Ed25519"}),this.publicKey=e.publicKey}},vo=class extends wo{type="secp256k1";publicKey;constructor(e){super({...e,type:"secp256k1"}),this.publicKey=e.publicKey}},gy=2336,So=class{type="url";multihash;publicKey;url;constructor(e){this.url=e.toString(),this.multihash=et.digest(P(this.url))}[Rh](){return`PeerId(${this.url})`}[cs]=!0;toString(){return this.toCID().toString()}toMultihash(){return this.multihash}toCID(){return ue.createV1(gy,this.toMultihash())}toJSON(){return this.toString()}equals(e){return e==null?!1:(e instanceof Uint8Array&&(e=U(e)),e.toString()===this.toString())}};var yy=114,Oh=2336;function yt(r,e){let t;if(r.charAt(0)==="1"||r.charAt(0)==="Q")t=vt(te.decode(`z${r}`));else{if(r.startsWith("k51qzi5uqu5")||r.startsWith("kzwfwjn5ji4")||r.startsWith("k2k4r8")||r.startsWith("bafz"))return Ao(ue.parse(r));if(e==null)throw new D('Please pass a multibase decoder for strings that do not start with "1" or "Q"');t=vt(e.decode(r))}return sn(t)}function Dl(r){if(r.type==="Ed25519")return new Eo({multihash:r.toCID().multihash,publicKey:r});if(r.type==="secp256k1")return new vo({multihash:r.toCID().multihash,publicKey:r});if(r.type==="RSA")return new xo({multihash:r.toCID().multihash,publicKey:r});throw new Ft}function Nh(r){return Dl(r.publicKey)}function sn(r){if(wy(r))return new xo({multihash:r});if(by(r))try{let e=kh(r);if(e.type==="Ed25519")return new Eo({multihash:r,publicKey:e});if(e.type==="secp256k1")return new vo({multihash:r,publicKey:e})}catch{let t=U(r.digest);return new So(new URL(t))}throw new ts("Supplied PeerID Multihash is invalid")}function Ao(r){if(r?.multihash==null||r.version==null||r.version===1&&r.code!==yy&&r.code!==Oh)throw new es("Supplied PeerID CID is invalid");if(r.code===Oh){let e=U(r.multihash.digest);return new So(new URL(e))}return sn(r.multihash)}function by(r){return r.code===et.code}function wy(r){return r.code===zr.code}async function Mh(r){if(r.connectionProtector===null&&globalThis.process?.env?.LIBP2P_FORCE_PNET!=null)throw new D("Private network is enforced, but no protector was provided");return r}function qs(r,e){if(typeof r=="string")return xy(r);if(typeof r=="number")return Sy(r,e);throw new Error(`Value provided to ms() must be a string or number. value=${JSON.stringify(r)}`)}function xy(r){if(typeof r!="string"||r.length===0||r.length>100)throw new Error(`Value provided to ms.parse() must be a string with length between 1 and 99. value=${JSON.stringify(r)}`);let e=/^(?<value>-?\d*\.?\d+) *(?<unit>milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|months?|mo|years?|yrs?|y)?$/i.exec(r);if(!e?.groups)return NaN;let{value:t,unit:n="ms"}=e.groups,o=parseFloat(t),s=n.toLowerCase();switch(s){case"years":case"year":case"yrs":case"yr":case"y":return o*315576e5;case"months":case"month":case"mo":return o*26298e5;case"weeks":case"week":case"w":return o*6048e5;case"days":case"day":case"d":return o*864e5;case"hours":case"hour":case"hrs":case"hr":case"h":return o*36e5;case"minutes":case"minute":case"mins":case"min":case"m":return o*6e4;case"seconds":case"second":case"secs":case"sec":case"s":return o*1e3;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return o;default:throw new Error(`Unknown unit "${s}" provided to ms.parse(). value=${JSON.stringify(r)}`)}}function Ey(r){let e=Math.abs(r);return e>=315576e5?`${Math.round(r/315576e5)}y`:e>=26298e5?`${Math.round(r/26298e5)}mo`:e>=6048e5?`${Math.round(r/6048e5)}w`:e>=864e5?`${Math.round(r/864e5)}d`:e>=36e5?`${Math.round(r/36e5)}h`:e>=6e4?`${Math.round(r/6e4)}m`:e>=1e3?`${Math.round(r/1e3)}s`:`${r}ms`}function vy(r){let e=Math.abs(r);return e>=315576e5?gr(r,e,315576e5,"year"):e>=26298e5?gr(r,e,26298e5,"month"):e>=6048e5?gr(r,e,6048e5,"week"):e>=864e5?gr(r,e,864e5,"day"):e>=36e5?gr(r,e,36e5,"hour"):e>=6e4?gr(r,e,6e4,"minute"):e>=1e3?gr(r,e,1e3,"second"):`${r} ms`}function Sy(r,e){if(typeof r!="number"||!Number.isFinite(r))throw new Error("Value provided to ms.format() must be of type number.");return e?.long?vy(r):Ey(r)}function gr(r,e,t,n){let o=e>=t*1.5;return`${Math.round(r/t)} ${n}${o?"s":""}`}function kl(r){t.debug=t,t.default=t,t.coerce=c,t.disable=s,t.enable=o,t.enabled=i,t.humanize=qs,t.destroy=l,Object.keys(r).forEach(u=>{t[u]=r[u]}),t.names=[],t.skips=[],t.formatters={};function e(u){let f=0;for(let d=0;d<u.length;d++)f=(f<<5)-f+u.charCodeAt(d),f|=0;return t.colors[Math.abs(f)%t.colors.length]}t.selectColor=e;function t(u,f){let d,h=null,b,y;function p(...m){if(!p.enabled)return;let E=p,S=Number(new Date),O=S-(d||S);E.diff=O,E.prev=d,E.curr=S,d=S,m[0]=t.coerce(m[0]),typeof m[0]!="string"&&m.unshift("%O");let L=0;m[0]=m[0].replace(/%([a-zA-Z%])/g,(k,I)=>{if(k==="%%")return"%";L++;let B=t.formatters[I];if(typeof B=="function"){let $=m[L];k=B.call(E,$),m.splice(L,1),L--}return k}),t.formatArgs.call(E,m),f?.onLog!=null&&f.onLog(...m),(E.log||t.log).apply(E,m)}return p.namespace=u,p.useColors=t.useColors(),p.color=t.selectColor(u),p.extend=n,p.destroy=t.destroy,Object.defineProperty(p,"enabled",{enumerable:!0,configurable:!1,get:()=>h!==null?h:(b!==t.namespaces&&(b=t.namespaces,y=t.enabled(u)),y),set:m=>{h=m}}),typeof t.init=="function"&&t.init(p),p}function n(u,f){let d=t(this.namespace+(typeof f>"u"?":":f)+u);return d.log=this.log,d}function o(u){t.save(u),t.namespaces=u,t.names=[],t.skips=[];let f,d=(typeof u=="string"?u:"").split(/[\s,]+/),h=d.length;for(f=0;f<h;f++)d[f]&&(u=d[f].replace(/\*/g,".*?"),u[0]==="-"?t.skips.push(new RegExp("^"+u.substr(1)+"$")):t.names.push(new RegExp("^"+u+"$")))}function s(){let u=[...t.names.map(a),...t.skips.map(a).map(f=>"-"+f)].join(",");return t.enable(""),u}function i(u){if(u[u.length-1]==="*")return!0;let f,d;for(f=0,d=t.skips.length;f<d;f++)if(t.skips[f].test(u))return!1;for(f=0,d=t.names.length;f<d;f++)if(t.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 t.setupFormatters(t.formatters),t.enable(t.load()),t}var $s=Py(),Ay=["#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 _y(){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 Iy(r){if(r[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+r[0]+(this.useColors?"%c ":" ")+"+"+qs(this.diff),!this.useColors)return;let e="color: "+this.color;r.splice(1,0,e,"color: inherit");let t=0,n=0;r[0].replace(/%[a-zA-Z%]/g,o=>{o!=="%%"&&(t++,o==="%c"&&(n=t))}),r.splice(n,0,e)}var Cy=console.debug??console.log??(()=>{});function Ty(r){try{r?$s?.setItem("debug",r):$s?.removeItem("debug")}catch{}}function Ly(){let r;try{r=$s?.getItem("debug")}catch{}return!r&&typeof globalThis.process<"u"&&"env"in globalThis.process&&(r=globalThis.process.env.DEBUG),r}function Py(){try{return localStorage}catch{}}function Dy(r){r.j=function(e){try{return JSON.stringify(e)}catch(t){return"[UnexpectedJSONParseError]: "+t.message}}}var Fh=kl({formatArgs:Iy,save:Ty,load:Ly,useColors:_y,setupFormatters:Dy,colors:Ay,storage:$s,log:Cy});var qe=Fh;qe.formatters.b=r=>r==null?"undefined":te.baseEncode(r);qe.formatters.t=r=>r==null?"undefined":je.baseEncode(r);qe.formatters.m=r=>r==null?"undefined":ac.baseEncode(r);qe.formatters.p=r=>r==null?"undefined":r.toString();qe.formatters.c=r=>r==null?"undefined":r.toString();qe.formatters.k=r=>r==null?"undefined":r.toString();qe.formatters.a=r=>r==null?"undefined":r.toString();function Bh(r,e=""){let t=Uh(r.message),n=Uh(r.stack);return t!=null&&n!=null?n.includes(t)?`${n.split(`
3
3
  `).join(`
4
4
  ${e}`)}`:`${t}
5
5
  ${e}${n.split(`
@@ -23,7 +23,7 @@ ${[...t.errors.entries()].map(([s,i])=>`
23
23
  `),t),n.trace('responded with "%s" for "%s"',s,s),o.unwrap(),s;if(s==="ls"){let i=new J(...e.map(a=>Si.single(P(`${a}
24
24
  `))),P(`
25
25
  `));n.trace('respond with "%s" for %s',e,s),await o.write(i,t),n.trace('responded with "%s" for %s',e,s);continue}n.trace('respond with "na" for "%s"',s),await o.write(P(`na
26
- `),t),n('responded with "na" for "%s"',s)}}var Ef=class extends De{id;remoteAddr;remotePeer;direction;timeline;direct;multiplexer;encryption;limits;log;maConn;muxer;components;outboundStreamProtocolNegotiationTimeout;inboundStreamProtocolNegotiationTimeout;closeTimeout;constructor(e,t){super(),this.components=e,this.id=t.id,this.remoteAddr=t.maConn.remoteAddr,this.remotePeer=t.remotePeer,this.direction=t.direction??"outbound",this.timeline=t.maConn.timeline,this.encryption=t.cryptoProtocol,this.limits=t.limits,this.maConn=t.maConn,this.log=t.maConn.log,this.outboundStreamProtocolNegotiationTimeout=t.outboundStreamProtocolNegotiationTimeout??1e4,this.inboundStreamProtocolNegotiationTimeout=t.inboundStreamProtocolNegotiationTimeout??1e4,this.closeTimeout=t.closeTimeout??1e3,this.direct=Zu(t.maConn.remoteAddr),this.onIncomingStream=this.onIncomingStream.bind(this),this.remoteAddr.getComponents().find(n=>n.code===421)==null&&(this.remoteAddr=this.remoteAddr.encapsulate(`/p2p/${this.remotePeer}`)),t.muxer!=null&&(this.multiplexer=t.muxer.protocol,this.muxer=t.muxer,this.muxer.addEventListener("stream",this.onIncomingStream)),this.maConn.addEventListener("close",n=>{this.dispatchEvent(new as(n.local,n.error))})}[Symbol.toStringTag]="Connection";[_f]=!0;get streams(){return this.muxer?.streams??[]}get status(){return this.maConn.status}newStream=async(e,t={})=>{if(this.muxer==null)throw new tr("Connection is not multiplexed");if(this.muxer.status!=="open")throw new rr(`The connection muxer is "${this.muxer.status}" and not "open"`);if(this.maConn.status!=="open")throw new rr(`The connection is "${this.status}" and not "open"`);if(this.limits!=null&&t?.runOnLimitedConnection!==!0)throw new Fn("Cannot open protocol stream on limited connection");Array.isArray(e)||(e=[e]),t.onProgress?.(new ee("connection:open-stream",{connection:this,protocols:e})),this.log.trace("starting new stream for protocols %s",e);let n=await this.muxer.createStream({...t,protocol:e.length===1?e[0]:void 0});this.log.trace("started new stream %s for protocols %s",n.id,e);try{if(t.signal==null){n.log("no abort signal was passed while trying to negotiate protocols %s falling back to default timeout",e);let c=AbortSignal.timeout(this.outboundStreamProtocolNegotiationTimeout);t={...t,signal:c}}n.protocol===""?(n.log.trace("selecting protocol from protocols %s",e),n.protocol=await kn(n,e,t),n.log("negotiated protocol %s",n.protocol)):n.log("pre-negotiated protocol %s",n.protocol);let o=nx(n.protocol,this.components.registrar,t),s=_m(n.protocol,"outbound",this);if(s>o){let c=new is(`Too many outbound protocol streams for protocol "${n.protocol}" - ${s}/${o}`);throw n.abort(c),c}await this.components.peerStore.merge(this.remotePeer,{protocols:[n.protocol]}),this.components.metrics?.trackProtocolStream(n);let i=this.components.registrar.getMiddleware(n.protocol),a=await this.runMiddlewareChain(n,this,i);return t.onProgress?.(new ee("connection:opened-stream",{connection:this,stream:a})),a}catch(o){throw n.status==="open"?n.abort(o):this.log.error("could not create new outbound stream on connection %s %a for protocols %s - %e",this.direction==="inbound"?"from":"to",this.remoteAddr,e,o),o}};async onIncomingStream(e){let t=e.detail,n=AbortSignal.timeout(this.inboundStreamProtocolNegotiationTimeout);t.log("start protocol negotiation, timing out after %dms",this.inboundStreamProtocolNegotiationTimeout);try{if(t.protocol===""){let l=this.components.registrar.getProtocols();t.log.trace("selecting protocol from protocols %s",l),t.protocol=await Rn(t,l,{signal:n}),t.log("negotiated protocol %s",t.protocol)}else t.log("pre-negotiated protocol %s",t.protocol);let o=rx(t.protocol,this.components.registrar);if(_m(t.protocol,"inbound",this)>o)throw new ss(`Too many inbound protocol streams for protocol "${t.protocol}" - limit ${o}`);await this.components.peerStore.merge(this.remotePeer,{protocols:[t.protocol]},{signal:n}),this.components.metrics?.trackProtocolStream(t);let{handler:i,options:a}=this.components.registrar.getHandler(t.protocol);if(this.limits!=null&&a.runOnLimitedConnection!==!0)throw new Fn("Cannot open protocol stream on limited connection");let c=this.components.registrar.getMiddleware(t.protocol);c.push(async(l,u,f)=>{await i(l,u),f(l,u)}),await this.runMiddlewareChain(t,this,c)}catch(o){t.abort(o)}}async runMiddlewareChain(e,t,n){for(let o=0;o<n.length;o++){let s=n[o];e.log.trace("running middleware",o,s),await new Promise((i,a)=>{try{let c=s(e,t,(l,u)=>{e=l,t=u,i()});c instanceof Promise&&c.catch(a)}catch(c){a(c)}}),e.log.trace("ran middleware",o,s)}return e}async close(e={}){if(this.log("closing connection to %a",this.remoteAddr),e.signal==null){let t=AbortSignal.timeout(this.closeTimeout);e={...e,signal:t}}await this.muxer?.close(e),await this.maConn.close(e)}abort(e){this.muxer?.abort(e),this.maConn.abort(e)}};function Im(r,e){return new Ef(r,e)}function rx(r,e){try{let{options:t}=e.getHandler(r);if(t.maxInboundStreams!=null)return t.maxInboundStreams}catch(t){if(t.name!=="UnhandledProtocolError")throw t}return bf}function nx(r,e,t={}){try{let{options:n}=e.getHandler(r);if(n.maxOutboundStreams!=null)return n.maxOutboundStreams}catch(n){if(n.name!=="UnhandledProtocolError")throw n}return t.maxOutboundStreams??wf}function _m(r,e,t){let n=0;return t.streams.forEach(o=>{o.direction===e&&o.protocol===r&&n++}),n}var Fa=class{components;connectionEncrypters;streamMuxers;inboundUpgradeTimeout;inboundStreamProtocolNegotiationTimeout;outboundStreamProtocolNegotiationTimeout;events;metrics;connectionCloseTimeout;constructor(e,t){this.components=e,this.connectionEncrypters=Le({name:"libp2p_upgrader_connection_encrypters",metrics:this.components.metrics}),t.connectionEncrypters.forEach(n=>{this.connectionEncrypters.set(n.protocol,n)}),this.streamMuxers=Le({name:"libp2p_upgrader_stream_multiplexers",metrics:this.components.metrics}),t.streamMuxers.forEach(n=>{this.streamMuxers.set(n.protocol,n)}),this.inboundUpgradeTimeout=t.inboundUpgradeTimeout??1e4,this.inboundStreamProtocolNegotiationTimeout=t.inboundStreamProtocolNegotiationTimeout??1e4,this.outboundStreamProtocolNegotiationTimeout=t.outboundStreamProtocolNegotiationTimeout??1e4,this.connectionCloseTimeout=t.connectionCloseTimeout??1e3,this.events=e.events,this.metrics={dials:e.metrics?.registerCounterGroup("libp2p_connection_manager_dials_total"),errors:e.metrics?.registerCounterGroup("libp2p_connection_manager_dial_errors_total"),inboundErrors:e.metrics?.registerCounterGroup("libp2p_connection_manager_dials_inbound_errors_total"),outboundErrors:e.metrics?.registerCounterGroup("libp2p_connection_manager_dials_outbound_errors_total")}}[Symbol.toStringTag]="@libp2p/upgrader";async shouldBlockConnection(e,...t){let n=this.components.connectionGater[e];if(n==null)return;if(await n.apply(this.components.connectionGater,t)===!0)throw new fa(`The multiaddr connection is blocked by gater.${e}`)}createInboundAbortSignal(e){let t=wt([AbortSignal.timeout(this.inboundUpgradeTimeout),e]);return t}async upgradeInbound(e,t){let n=!1,o=this.createInboundAbortSignal(t.signal);try{if(this.metrics.dials?.increment({inbound:!0}),n=this.components.connectionManager.acceptIncomingConnection(e),!n)throw new da("Connection denied");await Ve(this.shouldBlockConnection("denyInboundConnection",e),o),await this._performUpgrade(e,"inbound",{...t,signal:o})}catch(s){throw this.metrics.errors?.increment({inbound:!0}),this.metrics.inboundErrors?.increment({[s.name??"Error"]:!0}),s}finally{o.clear(),n&&this.components.connectionManager.afterUpgradeInbound()}}async upgradeOutbound(e,t){try{this.metrics.dials?.increment({outbound:!0});let n=e.remoteAddr.getComponents().findLast(i=>i.code===421)?.value,o;n!=null&&(o=yt(n),await Ve(this.shouldBlockConnection("denyOutboundConnection",o,e),t.signal));let s="outbound";return t.initiator===!1&&(s="inbound"),await this._performUpgrade(e,s,t)}catch(n){throw this.metrics.errors?.increment({outbound:!0}),this.metrics.outboundErrors?.increment({[n.name??"Error"]:!0}),n}}async _performUpgrade(e,t,n){let o=e,s,i,a,c,l=`${parseInt(String(Math.random()*1e9)).toString(36)}${Date.now()}`;if(e.log=e.log.newScope(`${t}:${l}`),this.components.metrics?.trackMultiaddrConnection(e),e.log.trace("starting the %s connection upgrade",t),n?.skipProtection!==!0){let f=this.components.connectionProtector;f!=null&&(e.log("protecting the %s connection",t),o=await f.protect(o,n))}try{if(ox(n)){if(n.remotePeer==null)throw new Mt(`${t} connection that skipped encryption must have a peer id`);c="native",s=n.remotePeer}else{let f=e.remoteAddr.getComponents().findLast(h=>h.code===421)?.value,d;f!=null&&(d=yt(f)),n?.onProgress?.(new ee(`upgrader:encrypt-${t}-connection`)),{connection:o,remotePeer:s,protocol:c,streamMuxer:i}=await(t==="inbound"?this._encryptInbound(o,{...n,remotePeer:d}):this._encryptOutbound(o,{...n,remotePeer:d}))}if(s.equals(this.components.peerId)){let f=new Fr("Can not dial self");throw e.abort(f),f}await this.shouldBlockConnection(t==="inbound"?"denyInboundEncryptedConnection":"denyOutboundEncryptedConnection",s,e),n?.muxerFactory!=null?i=n.muxerFactory:i==null&&this.streamMuxers.size>0&&(n?.onProgress?.(new ee(`upgrader:multiplex-${t}-connection`)),i=await(t==="inbound"?this._multiplexInbound(o,this.streamMuxers,n):this._multiplexOutbound(o,this.streamMuxers,n)))}catch(f){throw e.log.error("failed to upgrade %s connection %s %a - %e",t,t==="inbound"?"from":"to",e.remoteAddr,f),f}i!=null&&(e.log("create muxer %s",i.protocol),a=i.createStreamMuxer(o)),await this.shouldBlockConnection(t==="inbound"?"denyInboundUpgradedConnection":"denyOutboundUpgradedConnection",s,e);let u=this._createConnection({id:l,cryptoProtocol:c,direction:t,maConn:e,stream:o,muxer:a,remotePeer:s,limits:n?.limits,closeTimeout:this.connectionCloseTimeout});return u.log("successfully upgraded connection"),u}_createConnection(e){let t=Im(this.components,{...e,outboundStreamProtocolNegotiationTimeout:this.outboundStreamProtocolNegotiationTimeout,inboundStreamProtocolNegotiationTimeout:this.inboundStreamProtocolNegotiationTimeout});return t.addEventListener("close",()=>{this.events.safeDispatchEvent("connection:close",{detail:t})}),this.events.safeDispatchEvent("connection:open",{detail:t}),t}async _encryptInbound(e,t){let n=Array.from(this.connectionEncrypters.keys());try{let o=await Rn(e,n,t),s=this.connectionEncrypters.get(o);if(s==null)throw new Or(`no crypto module found for ${o}`);return e.log("encrypting inbound connection using %s",o),{...await s.secureInbound(e,t),protocol:o}}catch(o){throw new Or(o.message)}}async _encryptOutbound(e,t){let n=Array.from(this.connectionEncrypters.keys());try{e.log.trace("selecting encrypter from %s",n);let o=await kn(e,n,t),s=this.connectionEncrypters.get(o);if(s==null)throw new Or(`no crypto module found for ${o}`);return e.log("encrypting outbound connection using %s",o),{...await s.secureOutbound(e,t),protocol:o}}catch(o){throw new Or(o.message)}}async _multiplexOutbound(e,t,n){let o=Array.from(t.keys());e.log("outbound selecting muxer %s",o);try{e.log.trace("selecting stream muxer from %s",o);let s=await kn(e,o,n),i=t.get(s);if(i==null)throw new tr(`No muxer configured for protocol "${s}"`);return e.log("selected %s as muxer protocol",s),i}catch(s){throw e.log.error("error multiplexing outbound connection - %e",s),new tr(String(s))}}async _multiplexInbound(e,t,n){let o=Array.from(t.keys());e.log("inbound handling muxers %s",o);try{e.log.trace("selecting stream muxer from %s",o);let s=await Rn(e,o,n),i=t.get(s);if(i==null)throw new tr(`No muxer configured for protocol "${s}"`);return e.log("selected %s as muxer protocol",s),i}catch(s){throw e.log.error("error multiplexing inbound connection - %e",s),s}}getConnectionEncrypters(){return this.connectionEncrypters}getStreamMuxers(){return this.streamMuxers}};function ox(r){return r.skipEncryption===!0}var Ba="3.3.7",Ua="js-libp2p";function Tm(r,e){return`${r??Ua}/${e??Ba} browser/${globalThis.navigator.userAgent}`}var Zo=class extends De{peerId;peerStore;contentRouting;peerRouting;metrics;services;logger;status;components;log;constructor(e){super(),this.status="stopped";let t=new De,n=t.dispatchEvent.bind(t);t.dispatchEvent=l=>{let u=n(l),f=this.dispatchEvent(new CustomEvent(l.type,{detail:l.detail}));return u||f},this.peerId=e.peerId,this.logger=e.logger??zs(),this.log=this.logger.forComponent("libp2p"),this.services={};let o=e.nodeInfo?.name??Ua,s=e.nodeInfo?.version??Ba,i=this.components=om({peerId:e.peerId,privateKey:e.privateKey,nodeInfo:{name:o,version:s,userAgent:e.nodeInfo?.userAgent??Tm(o,s)},logger:this.logger,events:t,datastore:e.datastore??new Zi,connectionGater:im(e.connectionGater),dns:e.dns});e.metrics!=null&&(this.metrics=this.configureComponent("metrics",e.metrics(this.components))),this.peerStore=this.configureComponent("peerStore",Qp(i,{addressFilter:this.components.connectionGater.filterMultiaddrForPeer,...e.peerStore})),i.events.addEventListener("peer:update",l=>{if(l.detail.previous==null){let u={id:l.detail.peer.id,multiaddrs:l.detail.peer.addresses.map(f=>f.multiaddr)};i.events.safeDispatchEvent("peer:discovery",{detail:u})}}),e.connectionProtector!=null&&this.configureComponent("connectionProtector",e.connectionProtector(i)),this.components.upgrader=new Fa(this.components,{connectionEncrypters:(e.connectionEncrypters??[]).map((l,u)=>this.configureComponent(`connection-encryption-${u}`,l(this.components))),streamMuxers:(e.streamMuxers??[]).map((l,u)=>this.configureComponent(`stream-muxers-${u}`,l(this.components))),inboundUpgradeTimeout:e.connectionManager?.inboundUpgradeTimeout,inboundStreamProtocolNegotiationTimeout:e.connectionManager?.inboundStreamProtocolNegotiationTimeout,outboundStreamProtocolNegotiationTimeout:e.connectionManager?.outboundStreamProtocolNegotiationTimeout,connectionCloseTimeout:e.connectionManager?.connectionCloseTimeout}),this.configureComponent("transportManager",new Ma(this.components,e.transportManager)),this.configureComponent("connectionManager",new La(this.components,e.connectionManager)),e.connectionMonitor?.enabled!==!1&&this.configureComponent("connectionMonitor",new Pa(this.components,e.connectionMonitor)),this.configureComponent("registrar",new Na(this.components)),this.configureComponent("addressManager",new ra(this.components,e.addresses));let a=(e.peerRouters??[]).map((l,u)=>this.configureComponent(`peer-router-${u}`,l(this.components)));this.peerRouting=this.components.peerRouting=this.configureComponent("peerRouting",new Ra(this.components,{routers:a}));let c=(e.contentRouters??[]).map((l,u)=>this.configureComponent(`content-router-${u}`,l(this.components)));if(this.contentRouting=this.components.contentRouting=this.configureComponent("contentRouting",new Da(this.components,{routers:c})),this.configureComponent("randomWalk",new Oa(this.components)),(e.peerDiscovery??[]).forEach((l,u)=>{this.configureComponent(`peer-discovery-${u}`,l(this.components)).addEventListener("peer",d=>{this.#e(d)})}),e.transports?.forEach((l,u)=>{this.components.transportManager.add(this.configureComponent(`transport-${u}`,l(this.components)))}),e.services!=null)for(let l of Object.keys(e.services)){let u=e.services[l],f=u(this.components);if(f==null){this.log.error("service factory %s returned null or undefined instance",l);continue}this.services[l]=f,this.configureComponent(l,f),f[qa]!=null&&(this.log("registering service %s for content routing",l),c.push(f[qa])),f[za]!=null&&(this.log("registering service %s for peer routing",l),a.push(f[za])),f[$a]!=null&&(this.log("registering service %s for peer discovery",l),f[$a].addEventListener?.("peer",d=>{this.#e(d)}))}sm(i)}configureComponent(e,t){return t==null&&this.log.error("component %s was null or undefined",e),this.components[e]=t,t}async start(){if(this.status==="stopped"){this.status="starting",this.log("libp2p is starting");try{await this.components.beforeStart?.(),await this.components.start(),await this.components.afterStart?.(),this.status="started",this.safeDispatchEvent("start",{detail:this}),this.log("libp2p has started with peer id %p",this.peerId)}catch(e){throw this.log.error("an error occurred starting libp2p - %e",e),this.status="started",await this.stop(),e}}}async stop(){this.status==="started"&&(this.log("libp2p is stopping"),this.status="stopping",await this.components.beforeStop?.(),await this.components.stop(),await this.components.afterStop?.(),this.status="stopped",this.safeDispatchEvent("stop",{detail:this}),this.log("libp2p has stopped"))}getConnections(e){return this.components.connectionManager.getConnections(e)}getDialQueue(){return this.components.connectionManager.getDialQueue()}getPeers(){let e=new br;for(let t of this.components.connectionManager.getConnections())e.add(t.remotePeer);return Array.from(e)}async dial(e,t={}){return this.components.connectionManager.openConnection(e,{priority:75,...t})}async dialProtocol(e,t,n={}){if(t==null)throw new D("no protocols were provided to open a stream");if(t=Array.isArray(t)?t:[t],t.length===0)throw new D("no protocols were provided to open a stream");return this.components.connectionManager.openStream(e,t,n)}getMultiaddrs(){return this.components.addressManager.getAddresses()}getProtocols(){return this.components.registrar.getProtocols()}async hangUp(e,t={}){er(e)&&(e=yt(e.getComponents().findLast(n=>n.code===421)?.value??"")),await this.components.connectionManager.closeConnections(e,t)}async getPublicKey(e,t={}){if(this.log("getPublicKey %p",e),e.publicKey!=null)return e.publicKey;try{let i=await this.peerStore.get(e,t);if(i.id.publicKey!=null)return i.id.publicKey}catch(i){if(i.name!=="NotFoundError")throw i}let n=Ye([P("/pk/"),e.toMultihash().bytes]),o=await this.contentRouting.get(n,t),s=on(o);if(!e.equals(s.toMultihash().bytes))throw new Nt("public key did not match requested peer");return await this.peerStore.patch(e,{publicKey:s},t),s}async handle(e,t,n){Array.isArray(e)||(e=[e]),await Promise.all(e.map(async o=>{await this.components.registrar.handle(o,t,n)}))}async unhandle(e,t){Array.isArray(e)||(e=[e]),await Promise.all(e.map(async n=>{await this.components.registrar.unhandle(n,t)}))}async register(e,t,n){return this.components.registrar.register(e,t,n)}unregister(e){this.components.registrar.unregister(e)}use(e,t){this.components.registrar.use(e,Array.isArray(t)?t:[t])}unuse(e){this.components.registrar.unuse(e)}async isDialable(e,t={}){return this.components.connectionManager.isDialable(e,t)}#e(e){let{detail:t}=e;if(t.id.toString()===this.peerId.toString()){this.log.error("peer discovery mechanism discovered self");return}this.components.peerStore.merge(t.id,{multiaddrs:t.multiaddrs}).catch(n=>{this.log.error("could not update multiaddrs of discovered peer - %e",n)})}};async function sx(r={}){r.privateKey??=await Dh("Ed25519");let e=new Zo({...await Mh(r),peerId:Nh(r.privateKey)});return r.start!==!1&&await e.start(),e}var ix=["dial","dialProtocol","hangUp","handle","unhandle","getMultiaddrs","getProtocols"];function ax(r){return r==null?!1:r instanceof Zo?!0:ix.every(e=>typeof r[e]=="function")}return Om(cx);})();
26
+ `),t),n('responded with "na" for "%s"',s)}}var Ef=class extends De{id;remoteAddr;remotePeer;direction;timeline;direct;multiplexer;encryption;limits;log;maConn;muxer;components;outboundStreamProtocolNegotiationTimeout;inboundStreamProtocolNegotiationTimeout;closeTimeout;constructor(e,t){super(),this.components=e,this.id=t.id,this.remoteAddr=t.maConn.remoteAddr,this.remotePeer=t.remotePeer,this.direction=t.direction??"outbound",this.timeline=t.maConn.timeline,this.encryption=t.cryptoProtocol,this.limits=t.limits,this.maConn=t.maConn,this.log=t.maConn.log,this.outboundStreamProtocolNegotiationTimeout=t.outboundStreamProtocolNegotiationTimeout??1e4,this.inboundStreamProtocolNegotiationTimeout=t.inboundStreamProtocolNegotiationTimeout??1e4,this.closeTimeout=t.closeTimeout??1e3,this.direct=Zu(t.maConn.remoteAddr),this.onIncomingStream=this.onIncomingStream.bind(this),this.remoteAddr.getComponents().find(n=>n.code===421)==null&&(this.remoteAddr=this.remoteAddr.encapsulate(`/p2p/${this.remotePeer}`)),t.muxer!=null&&(this.multiplexer=t.muxer.protocol,this.muxer=t.muxer,this.muxer.addEventListener("stream",this.onIncomingStream)),this.maConn.addEventListener("close",n=>{this.dispatchEvent(new as(n.local,n.error))})}[Symbol.toStringTag]="Connection";[_f]=!0;get streams(){return this.muxer?.streams??[]}get status(){return this.maConn.status}newStream=async(e,t={})=>{if(this.muxer==null)throw new tr("Connection is not multiplexed");if(this.muxer.status!=="open")throw new rr(`The connection muxer is "${this.muxer.status}" and not "open"`);if(this.maConn.status!=="open")throw new rr(`The connection is "${this.status}" and not "open"`);if(this.limits!=null&&t?.runOnLimitedConnection!==!0)throw new Fn("Cannot open protocol stream on limited connection");Array.isArray(e)||(e=[e]),t.onProgress?.(new ee("connection:open-stream",{connection:this,protocols:e})),this.log.trace("starting new stream for protocols %s",e);let n=await this.muxer.createStream({...t,protocol:e.length===1?e[0]:void 0});this.log.trace("started new stream %s for protocols %s",n.id,e);try{if(t.signal==null){n.log("no abort signal was passed while trying to negotiate protocols %s falling back to default timeout",e);let c=AbortSignal.timeout(this.outboundStreamProtocolNegotiationTimeout);t={...t,signal:c}}n.protocol===""?(n.log.trace("selecting protocol from protocols %s",e),n.protocol=await kn(n,e,t),n.log("negotiated protocol %s",n.protocol)):n.log("pre-negotiated protocol %s",n.protocol);let o=nx(n.protocol,this.components.registrar,t),s=_m(n.protocol,"outbound",this);if(s>o){let c=new is(`Too many outbound protocol streams for protocol "${n.protocol}" - ${s}/${o}`);throw n.abort(c),c}await this.components.peerStore.merge(this.remotePeer,{protocols:[n.protocol]}),this.components.metrics?.trackProtocolStream(n);let i=this.components.registrar.getMiddleware(n.protocol),a=await this.runMiddlewareChain(n,this,i);return t.onProgress?.(new ee("connection:opened-stream",{connection:this,stream:a})),a}catch(o){throw n.status==="open"?n.abort(o):this.log.error("could not create new outbound stream on connection %s %a for protocols %s - %e",this.direction==="inbound"?"from":"to",this.remoteAddr,e,o),o}};async onIncomingStream(e){let t=e.detail,n=AbortSignal.timeout(this.inboundStreamProtocolNegotiationTimeout);t.log("start protocol negotiation, timing out after %dms",this.inboundStreamProtocolNegotiationTimeout);try{if(t.protocol===""){let l=this.components.registrar.getProtocols();t.log.trace("selecting protocol from protocols %s",l),t.protocol=await Rn(t,l,{signal:n}),t.log("negotiated protocol %s",t.protocol)}else t.log("pre-negotiated protocol %s",t.protocol);let o=rx(t.protocol,this.components.registrar);if(_m(t.protocol,"inbound",this)>o)throw new ss(`Too many inbound protocol streams for protocol "${t.protocol}" - limit ${o}`);await this.components.peerStore.merge(this.remotePeer,{protocols:[t.protocol]},{signal:n}),this.components.metrics?.trackProtocolStream(t);let{handler:i,options:a}=this.components.registrar.getHandler(t.protocol);if(this.limits!=null&&a.runOnLimitedConnection!==!0)throw new Fn("Cannot open protocol stream on limited connection");let c=this.components.registrar.getMiddleware(t.protocol);c.push(async(l,u,f)=>{await i(l,u),f(l,u)}),await this.runMiddlewareChain(t,this,c)}catch(o){t.abort(o)}}async runMiddlewareChain(e,t,n){for(let o=0;o<n.length;o++){let s=n[o];e.log.trace("running middleware",o,s),await new Promise((i,a)=>{try{let c=s(e,t,(l,u)=>{e=l,t=u,i()});c instanceof Promise&&c.catch(a)}catch(c){a(c)}}),e.log.trace("ran middleware",o,s)}return e}async close(e={}){if(this.log("closing connection to %a",this.remoteAddr),e.signal==null){let t=AbortSignal.timeout(this.closeTimeout);e={...e,signal:t}}await this.muxer?.close(e),await this.maConn.close(e)}abort(e){this.muxer?.abort(e),this.maConn.abort(e)}};function Im(r,e){return new Ef(r,e)}function rx(r,e){try{let{options:t}=e.getHandler(r);if(t.maxInboundStreams!=null)return t.maxInboundStreams}catch(t){if(t.name!=="UnhandledProtocolError")throw t}return bf}function nx(r,e,t={}){try{let{options:n}=e.getHandler(r);if(n.maxOutboundStreams!=null)return n.maxOutboundStreams}catch(n){if(n.name!=="UnhandledProtocolError")throw n}return t.maxOutboundStreams??wf}function _m(r,e,t){let n=0;return t.streams.forEach(o=>{o.direction===e&&o.protocol===r&&n++}),n}var Fa=class{components;connectionEncrypters;streamMuxers;inboundUpgradeTimeout;inboundStreamProtocolNegotiationTimeout;outboundStreamProtocolNegotiationTimeout;events;metrics;connectionCloseTimeout;constructor(e,t){this.components=e,this.connectionEncrypters=Le({name:"libp2p_upgrader_connection_encrypters",metrics:this.components.metrics}),t.connectionEncrypters.forEach(n=>{this.connectionEncrypters.set(n.protocol,n)}),this.streamMuxers=Le({name:"libp2p_upgrader_stream_multiplexers",metrics:this.components.metrics}),t.streamMuxers.forEach(n=>{this.streamMuxers.set(n.protocol,n)}),this.inboundUpgradeTimeout=t.inboundUpgradeTimeout??1e4,this.inboundStreamProtocolNegotiationTimeout=t.inboundStreamProtocolNegotiationTimeout??1e4,this.outboundStreamProtocolNegotiationTimeout=t.outboundStreamProtocolNegotiationTimeout??1e4,this.connectionCloseTimeout=t.connectionCloseTimeout??1e3,this.events=e.events,this.metrics={dials:e.metrics?.registerCounterGroup("libp2p_connection_manager_dials_total"),errors:e.metrics?.registerCounterGroup("libp2p_connection_manager_dial_errors_total"),inboundErrors:e.metrics?.registerCounterGroup("libp2p_connection_manager_dials_inbound_errors_total"),outboundErrors:e.metrics?.registerCounterGroup("libp2p_connection_manager_dials_outbound_errors_total")}}[Symbol.toStringTag]="@libp2p/upgrader";async shouldBlockConnection(e,...t){let n=this.components.connectionGater[e];if(n==null)return;if(await n.apply(this.components.connectionGater,t)===!0)throw new fa(`The multiaddr connection is blocked by gater.${e}`)}createInboundAbortSignal(e){let t=wt([AbortSignal.timeout(this.inboundUpgradeTimeout),e]);return t}async upgradeInbound(e,t){let n=!1,o=this.createInboundAbortSignal(t.signal);try{if(this.metrics.dials?.increment({inbound:!0}),n=this.components.connectionManager.acceptIncomingConnection(e),!n)throw new da("Connection denied");await Ve(this.shouldBlockConnection("denyInboundConnection",e),o),await this._performUpgrade(e,"inbound",{...t,signal:o})}catch(s){throw this.metrics.errors?.increment({inbound:!0}),this.metrics.inboundErrors?.increment({[s.name??"Error"]:!0}),s}finally{o.clear(),n&&this.components.connectionManager.afterUpgradeInbound()}}async upgradeOutbound(e,t){try{this.metrics.dials?.increment({outbound:!0});let n=e.remoteAddr.getComponents().findLast(i=>i.code===421)?.value,o;n!=null&&(o=yt(n),await Ve(this.shouldBlockConnection("denyOutboundConnection",o,e),t.signal));let s="outbound";return t.initiator===!1&&(s="inbound"),await this._performUpgrade(e,s,t)}catch(n){throw this.metrics.errors?.increment({outbound:!0}),this.metrics.outboundErrors?.increment({[n.name??"Error"]:!0}),n}}async _performUpgrade(e,t,n){let o=e,s,i,a,c,l=`${parseInt(String(Math.random()*1e9)).toString(36)}${Date.now()}`;if(e.log=e.log.newScope(`${t}:${l}`),this.components.metrics?.trackMultiaddrConnection(e),e.log.trace("starting the %s connection upgrade",t),n?.skipProtection!==!0){let f=this.components.connectionProtector;f!=null&&(e.log("protecting the %s connection",t),o=await f.protect(o,n))}try{if(ox(n)){if(n.remotePeer==null)throw new Mt(`${t} connection that skipped encryption must have a peer id`);c="native",s=n.remotePeer}else{let f=e.remoteAddr.getComponents().findLast(h=>h.code===421)?.value,d;f!=null&&(d=yt(f)),n?.onProgress?.(new ee(`upgrader:encrypt-${t}-connection`)),{connection:o,remotePeer:s,protocol:c,streamMuxer:i}=await(t==="inbound"?this._encryptInbound(o,{...n,remotePeer:d}):this._encryptOutbound(o,{...n,remotePeer:d}))}if(s.equals(this.components.peerId)){let f=new Fr("Can not dial self");throw e.abort(f),f}await this.shouldBlockConnection(t==="inbound"?"denyInboundEncryptedConnection":"denyOutboundEncryptedConnection",s,e),n?.muxerFactory!=null?i=n.muxerFactory:i==null&&this.streamMuxers.size>0&&(n?.onProgress?.(new ee(`upgrader:multiplex-${t}-connection`)),i=await(t==="inbound"?this._multiplexInbound(o,this.streamMuxers,n):this._multiplexOutbound(o,this.streamMuxers,n)))}catch(f){throw e.log.error("failed to upgrade %s connection %s %a - %e",t,t==="inbound"?"from":"to",e.remoteAddr,f),f}i!=null&&(e.log("create muxer %s",i.protocol),a=i.createStreamMuxer(o)),await this.shouldBlockConnection(t==="inbound"?"denyInboundUpgradedConnection":"denyOutboundUpgradedConnection",s,e);let u=this._createConnection({id:l,cryptoProtocol:c,direction:t,maConn:e,stream:o,muxer:a,remotePeer:s,limits:n?.limits,closeTimeout:this.connectionCloseTimeout});return u.log("successfully upgraded connection"),u}_createConnection(e){let t=Im(this.components,{...e,outboundStreamProtocolNegotiationTimeout:this.outboundStreamProtocolNegotiationTimeout,inboundStreamProtocolNegotiationTimeout:this.inboundStreamProtocolNegotiationTimeout});return t.addEventListener("close",()=>{this.events.safeDispatchEvent("connection:close",{detail:t})}),this.events.safeDispatchEvent("connection:open",{detail:t}),t}async _encryptInbound(e,t){let n=Array.from(this.connectionEncrypters.keys());try{let o=await Rn(e,n,t),s=this.connectionEncrypters.get(o);if(s==null)throw new Or(`no crypto module found for ${o}`);return e.log("encrypting inbound connection using %s",o),{...await s.secureInbound(e,t),protocol:o}}catch(o){throw new Or(o.message)}}async _encryptOutbound(e,t){let n=Array.from(this.connectionEncrypters.keys());try{e.log.trace("selecting encrypter from %s",n);let o=await kn(e,n,t),s=this.connectionEncrypters.get(o);if(s==null)throw new Or(`no crypto module found for ${o}`);return e.log("encrypting outbound connection using %s",o),{...await s.secureOutbound(e,t),protocol:o}}catch(o){throw new Or(o.message)}}async _multiplexOutbound(e,t,n){let o=Array.from(t.keys());e.log("outbound selecting muxer %s",o);try{e.log.trace("selecting stream muxer from %s",o);let s=await kn(e,o,n),i=t.get(s);if(i==null)throw new tr(`No muxer configured for protocol "${s}"`);return e.log("selected %s as muxer protocol",s),i}catch(s){throw e.log.error("error multiplexing outbound connection - %e",s),new tr(String(s))}}async _multiplexInbound(e,t,n){let o=Array.from(t.keys());e.log("inbound handling muxers %s",o);try{e.log.trace("selecting stream muxer from %s",o);let s=await Rn(e,o,n),i=t.get(s);if(i==null)throw new tr(`No muxer configured for protocol "${s}"`);return e.log("selected %s as muxer protocol",s),i}catch(s){throw e.log.error("error multiplexing inbound connection - %e",s),s}}getConnectionEncrypters(){return this.connectionEncrypters}getStreamMuxers(){return this.streamMuxers}};function ox(r){return r.skipEncryption===!0}var Ba="3.3.8",Ua="js-libp2p";function Tm(r,e){return`${r??Ua}/${e??Ba} browser/${globalThis.navigator.userAgent}`}var Zo=class extends De{peerId;peerStore;contentRouting;peerRouting;metrics;services;logger;status;components;log;constructor(e){super(),this.status="stopped";let t=new De,n=t.dispatchEvent.bind(t);t.dispatchEvent=l=>{let u=n(l),f=this.dispatchEvent(new CustomEvent(l.type,{detail:l.detail}));return u||f},this.peerId=e.peerId,this.logger=e.logger??zs(),this.log=this.logger.forComponent("libp2p"),this.services={};let o=e.nodeInfo?.name??Ua,s=e.nodeInfo?.version??Ba,i=this.components=om({peerId:e.peerId,privateKey:e.privateKey,nodeInfo:{name:o,version:s,userAgent:e.nodeInfo?.userAgent??Tm(o,s)},logger:this.logger,events:t,datastore:e.datastore??new Zi,connectionGater:im(e.connectionGater),dns:e.dns});e.metrics!=null&&(this.metrics=this.configureComponent("metrics",e.metrics(this.components))),this.peerStore=this.configureComponent("peerStore",Qp(i,{addressFilter:this.components.connectionGater.filterMultiaddrForPeer,...e.peerStore})),i.events.addEventListener("peer:update",l=>{if(l.detail.previous==null){let u={id:l.detail.peer.id,multiaddrs:l.detail.peer.addresses.map(f=>f.multiaddr)};i.events.safeDispatchEvent("peer:discovery",{detail:u})}}),e.connectionProtector!=null&&this.configureComponent("connectionProtector",e.connectionProtector(i)),this.components.upgrader=new Fa(this.components,{connectionEncrypters:(e.connectionEncrypters??[]).map((l,u)=>this.configureComponent(`connection-encryption-${u}`,l(this.components))),streamMuxers:(e.streamMuxers??[]).map((l,u)=>this.configureComponent(`stream-muxers-${u}`,l(this.components))),inboundUpgradeTimeout:e.connectionManager?.inboundUpgradeTimeout,inboundStreamProtocolNegotiationTimeout:e.connectionManager?.inboundStreamProtocolNegotiationTimeout,outboundStreamProtocolNegotiationTimeout:e.connectionManager?.outboundStreamProtocolNegotiationTimeout,connectionCloseTimeout:e.connectionManager?.connectionCloseTimeout}),this.configureComponent("transportManager",new Ma(this.components,e.transportManager)),this.configureComponent("connectionManager",new La(this.components,e.connectionManager)),e.connectionMonitor?.enabled!==!1&&this.configureComponent("connectionMonitor",new Pa(this.components,e.connectionMonitor)),this.configureComponent("registrar",new Na(this.components)),this.configureComponent("addressManager",new ra(this.components,e.addresses));let a=(e.peerRouters??[]).map((l,u)=>this.configureComponent(`peer-router-${u}`,l(this.components)));this.peerRouting=this.components.peerRouting=this.configureComponent("peerRouting",new Ra(this.components,{routers:a}));let c=(e.contentRouters??[]).map((l,u)=>this.configureComponent(`content-router-${u}`,l(this.components)));if(this.contentRouting=this.components.contentRouting=this.configureComponent("contentRouting",new Da(this.components,{routers:c})),this.configureComponent("randomWalk",new Oa(this.components)),(e.peerDiscovery??[]).forEach((l,u)=>{this.configureComponent(`peer-discovery-${u}`,l(this.components)).addEventListener("peer",d=>{this.#e(d)})}),e.transports?.forEach((l,u)=>{this.components.transportManager.add(this.configureComponent(`transport-${u}`,l(this.components)))}),e.services!=null)for(let l of Object.keys(e.services)){let u=e.services[l],f=u(this.components);if(f==null){this.log.error("service factory %s returned null or undefined instance",l);continue}this.services[l]=f,this.configureComponent(l,f),f[qa]!=null&&(this.log("registering service %s for content routing",l),c.push(f[qa])),f[za]!=null&&(this.log("registering service %s for peer routing",l),a.push(f[za])),f[$a]!=null&&(this.log("registering service %s for peer discovery",l),f[$a].addEventListener?.("peer",d=>{this.#e(d)}))}sm(i)}configureComponent(e,t){return t==null&&this.log.error("component %s was null or undefined",e),this.components[e]=t,t}async start(){if(this.status==="stopped"){this.status="starting",this.log("libp2p is starting");try{await this.components.beforeStart?.(),await this.components.start(),await this.components.afterStart?.(),this.status="started",this.safeDispatchEvent("start",{detail:this}),this.log("libp2p has started with peer id %p",this.peerId)}catch(e){throw this.log.error("an error occurred starting libp2p - %e",e),this.status="started",await this.stop(),e}}}async stop(){this.status==="started"&&(this.log("libp2p is stopping"),this.status="stopping",await this.components.beforeStop?.(),await this.components.stop(),await this.components.afterStop?.(),this.status="stopped",this.safeDispatchEvent("stop",{detail:this}),this.log("libp2p has stopped"))}getConnections(e){return this.components.connectionManager.getConnections(e)}getDialQueue(){return this.components.connectionManager.getDialQueue()}getPeers(){let e=new br;for(let t of this.components.connectionManager.getConnections())e.add(t.remotePeer);return Array.from(e)}async dial(e,t={}){return this.components.connectionManager.openConnection(e,{priority:75,...t})}async dialProtocol(e,t,n={}){if(t==null)throw new D("no protocols were provided to open a stream");if(t=Array.isArray(t)?t:[t],t.length===0)throw new D("no protocols were provided to open a stream");return this.components.connectionManager.openStream(e,t,n)}getMultiaddrs(){return this.components.addressManager.getAddresses()}getProtocols(){return this.components.registrar.getProtocols()}async hangUp(e,t={}){er(e)&&(e=yt(e.getComponents().findLast(n=>n.code===421)?.value??"")),await this.components.connectionManager.closeConnections(e,t)}async getPublicKey(e,t={}){if(this.log("getPublicKey %p",e),e.publicKey!=null)return e.publicKey;try{let i=await this.peerStore.get(e,t);if(i.id.publicKey!=null)return i.id.publicKey}catch(i){if(i.name!=="NotFoundError")throw i}let n=Ye([P("/pk/"),e.toMultihash().bytes]),o=await this.contentRouting.get(n,t),s=on(o);if(!e.equals(s.toMultihash().bytes))throw new Nt("public key did not match requested peer");return await this.peerStore.patch(e,{publicKey:s},t),s}async handle(e,t,n){Array.isArray(e)||(e=[e]),await Promise.all(e.map(async o=>{await this.components.registrar.handle(o,t,n)}))}async unhandle(e,t){Array.isArray(e)||(e=[e]),await Promise.all(e.map(async n=>{await this.components.registrar.unhandle(n,t)}))}async register(e,t,n){return this.components.registrar.register(e,t,n)}unregister(e){this.components.registrar.unregister(e)}use(e,t){this.components.registrar.use(e,Array.isArray(t)?t:[t])}unuse(e){this.components.registrar.unuse(e)}async isDialable(e,t={}){return this.components.connectionManager.isDialable(e,t)}#e(e){let{detail:t}=e;if(t.id.toString()===this.peerId.toString()){this.log.error("peer discovery mechanism discovered self");return}this.components.peerStore.merge(t.id,{multiaddrs:t.multiaddrs}).catch(n=>{this.log.error("could not update multiaddrs of discovered peer - %e",n)})}};async function sx(r={}){r.privateKey??=await Dh("Ed25519");let e=new Zo({...await Mh(r),peerId:Nh(r.privateKey)});return r.start!==!1&&await e.start(),e}var ix=["dial","dialProtocol","hangUp","handle","unhandle","getMultiaddrs","getProtocols"];function ax(r){return r==null?!1:r instanceof Zo?!0:ix.every(e=>typeof r[e]=="function")}return Om(cx);})();
27
27
  /*! Bundled license information:
28
28
 
29
29
  @noble/curves/utils.js: