diff --git a/package.json b/package.json index 6c4e9e7de5..6c546c3279 100644 --- a/package.json +++ b/package.json @@ -51,5 +51,8 @@ "doc", "interop", "packages/*" - ] + ], + "overrides": { + "protons-runtime": "^5.5.0" + } } diff --git a/packages/interface/src/errors.ts b/packages/interface/src/errors.ts index a9475792dd..81d572673f 100644 --- a/packages/interface/src/errors.ts +++ b/packages/interface/src/errors.ts @@ -4,6 +4,8 @@ * AbortSignal. */ export class AbortError extends Error { + static name = 'AbortError' + constructor (message: string = 'The operation was aborted') { super(message) this.name = 'AbortError' @@ -11,155 +13,215 @@ export class AbortError extends Error { } /** - * @deprecated + * Thrown when a remote Peer ID does not match the expected one */ -export class CodeError = Record> extends Error { - public readonly props: T - - constructor ( - message: string, - public readonly code: string, - props?: T - ) { - super(message) - - this.name = props?.name ?? 'CodeError' - this.props = props ?? {} as T // eslint-disable-line @typescript-eslint/consistent-type-assertions - } -} - -/** - * @deprecated - */ -export class AggregateCodeError = Record> extends AggregateError { - public readonly props: T - - constructor ( - errors: Error[], - message: string, - public readonly code: string, - props?: T - ) { - super(errors, message) - - this.name = props?.name ?? 'AggregateCodeError' - this.props = props ?? {} as T // eslint-disable-line @typescript-eslint/consistent-type-assertions - } -} - export class UnexpectedPeerError extends Error { + static name = 'UnexpectedPeerError' + constructor (message = 'Unexpected Peer') { super(message) this.name = 'UnexpectedPeerError' } } +/** + * Thrown when a crypto exchange fails + */ export class InvalidCryptoExchangeError extends Error { + static name = 'InvalidCryptoExchangeError' + constructor (message = 'Invalid crypto exchange') { super(message) this.name = 'InvalidCryptoExchangeError' } } +/** + * Thrown when invalid parameters are passed to a function or method call + */ export class InvalidParametersError extends Error { + static name = 'InvalidParametersError' + constructor (message = 'Invalid parameters') { super(message) this.name = 'InvalidParametersError' } } +/** + * Thrown when a public key is invalid + */ export class InvalidPublicKeyError extends Error { + static name = 'InvalidPublicKeyError' + constructor (message = 'Invalid public key') { super(message) this.name = 'InvalidPublicKeyError' } } +/** + * Thrown when a private key is invalid + */ export class InvalidPrivateKeyError extends Error { + static name = 'InvalidPrivateKeyError' + constructor (message = 'Invalid private key') { super(message) this.name = 'InvalidPrivateKeyError' } } +/** + * Thrown when a operation is unsupported + */ export class UnsupportedOperationError extends Error { + static name = 'UnsupportedOperationError' + constructor (message = 'Unsupported operation') { super(message) this.name = 'UnsupportedOperationError' } } +/** + * Thrown when a connection is closing + */ export class ConnectionClosingError extends Error { + static name = 'ConnectionClosingError' + constructor (message = 'The connection is closing') { super(message) this.name = 'ConnectionClosingError' } } +/** + * Thrown when a connection is closed + */ export class ConnectionClosedError extends Error { + static name = 'ConnectionClosedError' + constructor (message = 'The connection is closed') { super(message) this.name = 'ConnectionClosedError' } } +/** + * Thrown when a connection fails + */ export class ConnectionFailedError extends Error { + static name = 'ConnectionFailedError' + constructor (message = 'Connection failed') { super(message) this.name = 'ConnectionFailedError' } } +/** + * Thrown when the muxer is closed and an attempt to open a stream occurs + */ +export class MuxerClosedError extends Error { + static name = 'MuxerClosedError' + + constructor (message = 'The muxer is closed') { + super(message) + this.name = 'MuxerClosedError' + } +} + +/** + * Thrown when a protocol stream is reset by the remote muxer + */ export class StreamResetError extends Error { + static name = 'StreamResetError' + constructor (message = 'The stream has been reset') { super(message) this.name = 'StreamResetError' } } +/** + * Thrown when a stream is in an invalid state + */ export class StreamStateError extends Error { + static name = 'StreamStateError' + constructor (message = 'The stream is in an invalid state') { super(message) this.name = 'StreamStateError' } } +/** + * Thrown when a value could not be found + */ export class NotFoundError extends Error { + static name = 'NotFoundError' + constructor (message = 'Not found') { super(message) this.name = 'NotFoundError' } } +/** + * Thrown when an invalid peer ID is encountered + */ export class InvalidPeerIdError extends Error { + static name = 'InvalidPeerIdError' + constructor (message = 'Invalid PeerID') { super(message) this.name = 'InvalidPeerIdError' } } +/** + * Thrown when an invalid multiaddr is encountered + */ export class InvalidMultiaddrError extends Error { + static name = 'InvalidMultiaddrError' + constructor (message = 'Invalid multiaddr') { super(message) this.name = 'InvalidMultiaddrError' } } +/** + * Thrown when an invalid CID is encountered + */ export class InvalidCIDError extends Error { + static name = 'InvalidCIDError' + constructor (message = 'Invalid CID') { super(message) this.name = 'InvalidCIDError' } } +/** + * Thrown when an invalid multihash is encountered + */ export class InvalidMultihashError extends Error { + static name = 'InvalidMultihashError' + constructor (message = 'Invalid Multihash') { super(message) this.name = 'InvalidMultihashError' } } +/** + * Thrown when a protocol is not supported + */ export class UnsupportedProtocolError extends Error { + static name = 'UnsupportedProtocolError' + constructor (message = 'Unsupported protocol error') { super(message) this.name = 'UnsupportedProtocolError' @@ -170,69 +232,120 @@ export class UnsupportedProtocolError extends Error { * An invalid or malformed message was encountered during a protocol exchange */ export class InvalidMessageError extends Error { + static name = 'InvalidMessageError' + constructor (message = 'Invalid message') { super(message) this.name = 'InvalidMessageError' } } +/** + * Thrown when a remote peer sends a structurally valid message that does not + * comply with the protocol + */ export class ProtocolError extends Error { + static name = 'ProtocolError' + constructor (message = 'Protocol error') { super(message) this.name = 'ProtocolError' } } +/** + * Throw when an operation times out + */ export class TimeoutError extends Error { + static name = 'TimeoutError' + constructor (message = 'Timed out') { super(message) this.name = 'TimeoutError' } } +/** + * Thrown when a startable component is interacted with but it has not been + * started yet + */ export class NotStartedError extends Error { + static name = 'NotStartedError' + constructor (message = 'Not started') { super(message) this.name = 'NotStartedError' } } +/** + * Thrown when a component is started that has already been started + */ export class AlreadyStartedError extends Error { + static name = 'AlreadyStartedError' + constructor (message = 'Already started') { super(message) this.name = 'AlreadyStartedError' } } +/** + * Thrown when dialing an address failed + */ export class DialError extends Error { + static name = 'DialError' + constructor (message = 'Dial error') { super(message) this.name = 'DialError' } } +/** + * Thrown when listening on an address failed + */ export class ListenError extends Error { + static name = 'ListenError' + constructor (message = 'Listen error') { super(message) this.name = 'ListenError' } } +/** + * This error is thrown when a limited connection is encountered, i.e. if the + * user tried to open a stream on a connection for a protocol that is not + * configured to run over limited connections. + */ export class LimitedConnectionError extends Error { + static name = 'LimitedConnectionError' + constructor (message = 'Limited connection') { super(message) this.name = 'LimitedConnectionError' } } +/** + * This error is thrown where there are too many inbound protocols streams open + */ export class TooManyInboundProtocolStreamsError extends Error { + static name = 'TooManyInboundProtocolStreamsError' + constructor (message = 'Too many inbound protocol streams') { super(message) this.name = 'TooManyInboundProtocolStreamsError' } } +/** + * This error is thrown where there are too many outbound protocols streams open + */ export class TooManyOutboundProtocolStreamsError extends Error { + static name = 'TooManyOutboundProtocolStreamsError' + constructor (message = 'Too many outbound protocol streams') { super(message) this.name = 'TooManyOutboundProtocolStreamsError' @@ -243,6 +356,8 @@ export class TooManyOutboundProtocolStreamsError extends Error { * Thrown when and attempt to operate on an unsupported key was made */ export class UnsupportedKeyTypeError extends Error { + static name = 'UnsupportedKeyTypeError' + constructor (message = 'Unsupported key type') { super(message) this.name = 'UnsupportedKeyTypeError' diff --git a/packages/libp2p/src/connection-monitor.ts b/packages/libp2p/src/connection-monitor.ts index 59ae474692..d557a1f2f1 100644 --- a/packages/libp2p/src/connection-monitor.ts +++ b/packages/libp2p/src/connection-monitor.ts @@ -119,7 +119,7 @@ export class ConnectionMonitor implements Startable { signal }) } catch (err: any) { - if (err.code !== 'ERR_UNSUPPORTED_PROTOCOL') { + if (err.name !== 'UnsupportedProtocolError') { throw err } diff --git a/packages/libp2p/test/connection-monitor/index.spec.ts b/packages/libp2p/test/connection-monitor/index.spec.ts index 633a1c4121..808c137c7c 100644 --- a/packages/libp2p/test/connection-monitor/index.spec.ts +++ b/packages/libp2p/test/connection-monitor/index.spec.ts @@ -1,6 +1,6 @@ /* eslint-env mocha */ -import { CodeError, start, stop } from '@libp2p/interface' +import { ConnectionClosedError, UnsupportedProtocolError, start, stop } from '@libp2p/interface' import { defaultLogger } from '@libp2p/logger' import { expect } from 'aegir/chai' import delay from 'delay' @@ -81,7 +81,7 @@ describe('connection monitor', () => { const connection = stubInterface() connection.newStream.withArgs('/ipfs/ping/1.0.0').callsFake(async () => { await delay(10) - throw new CodeError('Unsupported protocol', 'ERR_UNSUPPORTED_PROTOCOL') + throw new UnsupportedProtocolError('Unsupported protocol') }) components.connectionManager.getConnections.returns([connection]) @@ -124,7 +124,7 @@ describe('connection monitor', () => { const connection = stubInterface() connection.newStream.withArgs('/ipfs/ping/1.0.0').callsFake(async (protocols, opts) => { - throw new CodeError('Connection closed', 'ERR_CONNECTION_CLOSED') + throw new ConnectionClosedError('Connection closed') }) components.connectionManager.getConnections.returns([connection]) diff --git a/packages/stream-multiplexer-mplex/src/mplex.ts b/packages/stream-multiplexer-mplex/src/mplex.ts index c88b9154e9..bc471f83b2 100644 --- a/packages/stream-multiplexer-mplex/src/mplex.ts +++ b/packages/stream-multiplexer-mplex/src/mplex.ts @@ -1,4 +1,4 @@ -import { TooManyOutboundProtocolStreamsError } from '@libp2p/interface' +import { TooManyOutboundProtocolStreamsError, MuxerClosedError } from '@libp2p/interface' import { closeSource } from '@libp2p/utils/close-source' import { RateLimiter } from '@libp2p/utils/rate-limiter' import { pipe } from 'it-pipe' @@ -143,7 +143,7 @@ export class MplexStreamMuxer implements StreamMuxer { */ newStream (name?: string): Stream { if (this.closeController.signal.aborted) { - throw new Error('Muxer already closed') + throw new MuxerClosedError('Muxer already closed') } const id = this._streamId++ name = name == null ? id.toString() : name.toString() diff --git a/packages/transport-tcp/src/tcp.ts b/packages/transport-tcp/src/tcp.ts index 97da0476be..5316940ab7 100644 --- a/packages/transport-tcp/src/tcp.ts +++ b/packages/transport-tcp/src/tcp.ts @@ -28,7 +28,7 @@ */ import net from 'net' -import { AbortError, CodeError, serviceCapabilities, transportSymbol } from '@libp2p/interface' +import { AbortError, TimeoutError, serviceCapabilities, transportSymbol } from '@libp2p/interface' import * as mafmt from '@multiformats/mafmt' import { CustomProgressEvent } from 'progress-events' import { CODE_CIRCUIT, CODE_P2P, CODE_UNIX } from './constants.js' @@ -139,7 +139,7 @@ export class TCP implements Transport { this.log('connection timeout %a', ma) this.metrics?.dialerEvents.increment({ timeout: true }) - const err = new CodeError(`connection timeout after ${Date.now() - start}ms`, 'ERR_CONNECT_TIMEOUT') + const err = new TimeoutError(`connection timeout after ${Date.now() - start}ms`) // Note: this will result in onError() being called rawSocket.emit('error', err) } diff --git a/patches/@chainsafe+libp2p-gossipsub+13.2.0.patch b/patches/@chainsafe+libp2p-gossipsub+13.2.0.patch index 177aa61b78..2bb1580341 100644 --- a/patches/@chainsafe+libp2p-gossipsub+13.2.0.patch +++ b/patches/@chainsafe+libp2p-gossipsub+13.2.0.patch @@ -1,21 +1,74 @@ diff --git a/node_modules/@chainsafe/libp2p-gossipsub/dist/index.min.js b/node_modules/@chainsafe/libp2p-gossipsub/dist/index.min.js -index 5736a01..80d9713 100644 +index 5736a01..00b6e64 100644 --- a/node_modules/@chainsafe/libp2p-gossipsub/dist/index.min.js +++ b/node_modules/@chainsafe/libp2p-gossipsub/dist/index.min.js -@@ -1,10 +1,10 @@ +@@ -1,10 +1,9 @@ (function (root, factory) {(typeof module === 'object' && module.exports) ? module.exports = factory() : root.ChainsafeLibp2PGossipsub = factory()}(typeof self !== 'undefined' ? self : this, function () { -"use strict";var ChainsafeLibp2PGossipsub=(()=>{var Yl=Object.create;var mr=Object.defineProperty;var Xl=Object.getOwnPropertyDescriptor;var Jl=Object.getOwnPropertyNames;var Ql=Object.getPrototypeOf,eu=Object.prototype.hasOwnProperty;var $n=(s,e)=>()=>(e||s((e={exports:{}}).exports,e),e.exports),ue=(s,e)=>{for(var t in e)mr(s,t,{get:e[t],enumerable:!0})},Oo=(s,e,t,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of Jl(e))!eu.call(s,n)&&n!==t&&mr(s,n,{get:()=>e[n],enumerable:!(r=Xl(e,n))||r.enumerable});return s};var jn=(s,e,t)=>(t=s!=null?Yl(Ql(s)):{},Oo(e||!s||!s.__esModule?mr(t,"default",{value:s,enumerable:!0}):t,s)),tu=s=>Oo(mr({},"__esModule",{value:!0}),s);var ma=$n((hm,ga)=>{"use strict";function pa(s,e){for(let t in e)Object.defineProperty(s,t,{value:e[t],enumerable:!0,configurable:!0});return s}function ph(s,e,t){if(!s||typeof s=="string")throw new TypeError("Please pass an Error to err-code");t||(t={}),typeof e=="object"&&(t=e,e=""),e&&(t.code=e);try{return pa(s,t)}catch{t.message=s.message,t.stack=s.stack;let n=function(){};return n.prototype=Object.create(Object.getPrototypeOf(s)),pa(new n,t)}}ga.exports=ph});var Ga=$n((I0,Ha)=>{"use strict";function Q(s,t){var t=t||{};this._capacity=t.capacity,this._head=0,this._tail=0,Array.isArray(s)?this._fromArray(s):(this._capacityMask=3,this._list=new Array(4))}Q.prototype.peekAt=function(e){var t=e;if(t===(t|0)){var r=this.size();if(!(t>=r||t<-r))return t<0&&(t+=r),t=this._head+t&this._capacityMask,this._list[t]}};Q.prototype.get=function(e){return this.peekAt(e)};Q.prototype.peek=function(){if(this._head!==this._tail)return this._list[this._head]};Q.prototype.peekFront=function(){return this.peek()};Q.prototype.peekBack=function(){return this.peekAt(-1)};Object.defineProperty(Q.prototype,"length",{get:function(){return this.size()}});Q.prototype.size=function(){return this._head===this._tail?0:this._headthis._capacity&&this.pop(),this._head1e4&&this._tail<=this._list.length>>>2&&this._shrinkArray(),t}};Q.prototype.push=function(e){if(arguments.length===0)return this.size();var t=this._tail;return this._list[t]=e,this._tail=t+1&this._capacityMask,this._tail===this._head&&this._growArray(),this._capacity&&this.size()>this._capacity&&this.shift(),this._head1e4&&e<=t>>>2&&this._shrinkArray(),r}};Q.prototype.removeOne=function(e){var t=e;if(t===(t|0)&&this._head!==this._tail){var r=this.size(),n=this._list.length;if(!(t>=r||t<-r)){t<0&&(t+=r),t=this._head+t&this._capacityMask;var i=this._list[t],o;if(e0;o--)this._list[t]=this._list[t=t-1+n&this._capacityMask];this._list[t]=void 0,this._head=this._head+1+n&this._capacityMask}else{for(o=r-1-e;o>0;o--)this._list[t]=this._list[t=t+1+n&this._capacityMask];this._list[t]=void 0,this._tail=this._tail-1+n&this._capacityMask}return i}}};Q.prototype.remove=function(e,t){var r=e,n,i=t;if(r===(r|0)&&this._head!==this._tail){var o=this.size(),a=this._list.length;if(!(r>=o||r<-o||t<1)){if(r<0&&(r+=o),t===1||!t)return n=new Array(1),n[0]=this.removeOne(r),n;if(r===0&&r+t>=o)return n=this.toArray(),this.clear(),n;r+t>o&&(t=o-r);var c;for(n=new Array(t),c=0;c0;c--)this._list[r=r+1+a&this._capacityMask]=void 0;return n}if(e===0){for(this._head=this._head+t+a&this._capacityMask,c=t-1;c>0;c--)this._list[r=r+1+a&this._capacityMask]=void 0;return n}if(r0;c--)this.unshift(this._list[r=r-1+a&this._capacityMask]);for(r=this._head-1+a&this._capacityMask;i>0;)this._list[r=r-1+a&this._capacityMask]=void 0,i--;e<0&&(this._tail=r)}else{for(this._tail=r,r=r+t+a&this._capacityMask,c=o-(t+e);c>0;c--)this.push(this._list[r++]);for(r=this._tail;i>0;)this._list[r=r+1+a&this._capacityMask]=void 0,i--}return this._head<2&&this._tail>1e4&&this._tail<=a>>>2&&this._shrinkArray(),n}}};Q.prototype.splice=function(e,t){var r=e;if(r===(r|0)){var n=this.size();if(r<0&&(r+=n),!(r>n))if(arguments.length>2){var i,o,a,c=arguments.length,f=this._list.length,l=2;if(!n||r0&&(this._head=this._head+r+f&this._capacityMask)):(a=this.remove(r,t),this._head=this._head+r+f&this._capacityMask);c>l;)this.unshift(arguments[--c]);for(i=r;i>0;i--)this.unshift(o[i-1])}else{o=new Array(n-(r+t));var u=o.length;for(i=0;ithis._tail){for(c=this._head;c>>=1,this._capacityMask>>>=1};Q.prototype._nextPowerOf2=function(e){var t=Math.log(e)/Math.log(2),r=1<{"use strict";var Xf="[object ArrayBuffer]",yt=class s{static isArrayBuffer(e){return Object.prototype.toString.call(e)===Xf}static toArrayBuffer(e){return this.isArrayBuffer(e)?e:e.byteLength===e.buffer.byteLength||e.byteOffset===0&&e.byteLength===e.buffer.byteLength?e.buffer:this.toUint8Array(e.buffer).slice(e.byteOffset,e.byteOffset+e.byteLength).buffer}static toUint8Array(e){return this.toView(e,Uint8Array)}static toView(e,t){if(e.constructor===t)return e;if(this.isArrayBuffer(e))return new t(e);if(this.isArrayBufferView(e))return new t(e.buffer,e.byteOffset,e.byteLength);throw new TypeError("The provided value is not of type '(ArrayBuffer or ArrayBufferView)'")}static isBufferSource(e){return this.isArrayBufferView(e)||this.isArrayBuffer(e)}static isArrayBufferView(e){return ArrayBuffer.isView(e)||e&&this.isArrayBuffer(e.buffer)}static isEqual(e,t){let r=s.toUint8Array(e),n=s.toUint8Array(t);if(r.length!==n.byteLength)return!1;for(let i=0;in.byteLength).reduce((n,i)=>n+i),t=new Uint8Array(e),r=0;return s.map(n=>new Uint8Array(n)).forEach(n=>{for(let i of n)t[r++]=i}),t.buffer}function rd(s,e){if(!(s&&e)||s.byteLength!==e.byteLength)return!1;let t=new Uint8Array(s),r=new Uint8Array(e);for(let n=0;nqn,gossipsub:()=>Ep,multicodec:()=>xp});var Fo=Symbol.for("@libp2p/peer-id");var qt="StrictSign",rs="StrictNoSign",Be;(function(s){s.Accept="accept",s.Ignore="ignore",s.Reject="reject"})(Be||(Be={}));var T=class extends Error{code;props;constructor(e,t,r){super(e),this.code=t,this.name=r?.name??"CodeError",this.props=r??{}}};var Ho=(s,...e)=>{try{[...e]}catch{}};var br=class extends EventTarget{#e=new Map;constructor(){super(),Ho(1/0,this)}listenerCount(e){let t=this.#e.get(e);return t==null?0:t.length}addEventListener(e,t,r){super.addEventListener(e,t,r);let n=this.#e.get(e);n==null&&(n=[],this.#e.set(e,n)),n.push({callback:t,once:(r!==!0&&r!==!1&&r?.once)??!1})}removeEventListener(e,t,r){super.removeEventListener(e.toString(),t??null,r);let n=this.#e.get(e);n!=null&&(n=n.filter(({callback:i})=>i!==t),this.#e.set(e,n))}dispatchEvent(e){let t=super.dispatchEvent(e),r=this.#e.get(e.type);return r==null||(r=r.filter(({once:n})=>!n),this.#e.set(e.type,r)),t}safeDispatchEvent(e,t={}){return this.dispatchEvent(new su(e,t))}},Zn=class extends Event{detail;constructor(e,t){super(e,t),this.detail=t?.detail}},su=globalThis.CustomEvent??Zn;var Go=Symbol.for("@libp2p/service-capabilities"),Ko=Symbol.for("@libp2p/service-dependencies");var ei={};ue(ei,{base58btc:()=>me,base58flickr:()=>cu});var eg=new Uint8Array(0);function zo(s,e){if(s===e)return!0;if(s.byteLength!==e.byteLength)return!1;for(let t=0;t=255)throw new TypeError("Alphabet too long");for(var t=new Uint8Array(256),r=0;r>>0,A=new Uint8Array(w);b!==_;){for(var y=g[b],x=0,E=w-1;(y!==0||x>>0,A[E]=y%a>>>0,y=y/a>>>0;if(y!==0)throw new Error("Non-zero carry");m=x,b++}for(var B=w-m;B!==w&&A[B]===0;)B++;for(var D=c.repeat(d);B>>0,w=new Uint8Array(_);g[d];){var A=t[g.charCodeAt(d)];if(A===255)return;for(var y=0,x=_-1;(A!==0||y>>0,w[x]=A%256>>>0,A=A/256>>>0;if(A!==0)throw new Error("Non-zero carry");b=y,d++}if(g[d]!==" "){for(var E=_-b;E!==_&&w[E]===0;)E++;for(var B=new Uint8Array(m+(_-E)),D=m;E!==_;)B[D++]=w[E++];return B}}}function p(g){var d=h(g);if(d)return d;throw new Error(`Non-${e} character`)}return{encode:u,decodeUnsafe:h,decode:p}}var nu=ru,iu=nu,jo=iu;var Yn=class{name;prefix;baseEncode;constructor(e,t,r){this.name=e,this.prefix=t,this.baseEncode=r}encode(e){if(e instanceof Uint8Array)return`${this.prefix}${this.baseEncode(e)}`;throw Error("Unknown type, must be binary type")}},Xn=class{name;prefix;baseDecode;prefixCodePoint;constructor(e,t,r){if(this.name=e,this.prefix=t,t.codePointAt(0)===void 0)throw new Error("Invalid prefix character");this.prefixCodePoint=t.codePointAt(0),this.baseDecode=r}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 Zo(this,e)}},Jn=class{decoders;constructor(e){this.decoders=e}or(e){return Zo(this,e)}decode(e){let t=e[0],r=this.decoders[t];if(r!=null)return r.decode(e);throw RangeError(`Unable to decode multibase string ${JSON.stringify(e)}, only inputs prefixed with ${Object.keys(this.decoders)} are supported`)}};function Zo(s,e){return new Jn({...s.decoders??{[s.prefix]:s},...e.decoders??{[e.prefix]:e}})}var Qn=class{name;prefix;baseEncode;baseDecode;encoder;decoder;constructor(e,t,r,n){this.name=e,this.prefix=t,this.baseEncode=r,this.baseDecode=n,this.encoder=new Yn(e,t,r),this.decoder=new Xn(e,t,n)}encode(e){return this.encoder.encode(e)}decode(e){return this.decoder.decode(e)}};function ns({name:s,prefix:e,encode:t,decode:r}){return new Qn(s,e,t,r)}function St({name:s,prefix:e,alphabet:t}){let{encode:r,decode:n}=jo(t,s);return ns({prefix:e,name:s,encode:r,decode:i=>at(n(i))})}function ou(s,e,t,r){let n={};for(let l=0;l=8&&(a-=8,o[f++]=255&c>>a)}if(a>=t||255&c<<8-a)throw new SyntaxError("Unexpected end of data");return o}function au(s,e,t){let r=e[e.length-1]==="=",n=(1<t;)o-=t,i+=e[n&a>>o];if(o!==0&&(i+=e[n&a<lu});var lu=St({prefix:"9",name:"base10",alphabet:"0123456789"});var si={};ue(si,{base16:()=>uu,base16upper:()=>hu});var uu=te({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),hu=te({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var ri={};ue(ri,{base2:()=>fu});var fu=te({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var ni={};ue(ni,{base256emoji:()=>bu});var Yo=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}"),du=Yo.reduce((s,e,t)=>(s[t]=e,s),[]),pu=Yo.reduce((s,e,t)=>(s[e.codePointAt(0)]=t,s),[]);function gu(s){return s.reduce((e,t)=>(e+=du[t],e),"")}function mu(s){let e=[];for(let t of s){let r=pu[t.codePointAt(0)];if(r===void 0)throw new Error(`Non-base256emoji character: ${t}`);e.push(r)}return new Uint8Array(e)}var bu=ns({prefix:"\u{1F680}",name:"base256emoji",encode:gu,decode:mu});var ii={};ue(ii,{base32:()=>Wt,base32hex:()=>xu,base32hexpad:()=>_u,base32hexpadupper:()=>Bu,base32hexupper:()=>Eu,base32pad:()=>wu,base32padupper:()=>vu,base32upper:()=>yu,base32z:()=>Su});var Wt=te({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),yu=te({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),wu=te({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),vu=te({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),xu=te({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),Eu=te({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),_u=te({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),Bu=te({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),Su=te({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var oi={};ue(oi,{base36:()=>Iu,base36upper:()=>Au});var Iu=St({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),Au=St({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var ci={};ue(ci,{base64:()=>ai,base64pad:()=>ku,base64url:()=>Tu,base64urlpad:()=>Pu});var ai=te({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),ku=te({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),Tu=te({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),Pu=te({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});var li={};ue(li,{base8:()=>Ru});var Ru=te({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var ui={};ue(ui,{identity:()=>Mu});var Mu=ns({prefix:"\0",name:"identity",encode:s=>Wo(s),decode:s=>qo(s)});var mg=new TextEncoder,bg=new TextDecoder;var fi={};ue(fi,{identity:()=>ls});var Cu=Qo,Xo=128,Lu=127,Uu=~Lu,Vu=Math.pow(2,31);function Qo(s,e,t){e=e||[],t=t||0;for(var r=t;s>=Vu;)e[t++]=s&255|Xo,s/=128;for(;s&Uu;)e[t++]=s&255|Xo,s>>>=7;return e[t]=s|0,Qo.bytes=t-r+1,e}var Ou=hi,Fu=128,Jo=127;function hi(s,r){var t=0,r=r||0,n=0,i=r,o,a=s.length;do{if(i>=a)throw hi.bytes=0,new RangeError("Could not decode varint");o=s[i++],t+=n<28?(o&Jo)<=Fu);return hi.bytes=i-r,t}var Hu=Math.pow(2,7),Gu=Math.pow(2,14),Ku=Math.pow(2,21),zu=Math.pow(2,28),qu=Math.pow(2,35),Wu=Math.pow(2,42),$u=Math.pow(2,49),ju=Math.pow(2,56),Zu=Math.pow(2,63),Yu=function(s){return sce,sha512:()=>th});function pi({name:s,code:e,encode:t}){return new di(s,e,t)}var di=class{name;code;encode;constructor(e,t,r){this.name=e,this.code=t,this.encode=r}digest(e){if(e instanceof Uint8Array){let t=this.encode(e);return t instanceof Uint8Array?It(this.code,t):t.then(r=>It(this.code,r))}else throw Error("Unknown type, must be binary type")}};function na(s){return async e=>new Uint8Array(await crypto.subtle.digest(s,e))}var ce=pi({name:"sha2-256",code:18,encode:na("SHA-256")}),th=pi({name:"sha2-512",code:19,encode:na("SHA-512")});function ia(s,e){let{bytes:t,version:r}=s;switch(r){case 0:return rh(t,mi(s),e??me.encoder);default:return nh(t,mi(s),e??Wt.encoder)}}var oa=new WeakMap;function mi(s){let e=oa.get(s);if(e==null){let t=new Map;return oa.set(s,t),t}return e}var At=class s{code;version;multihash;bytes;"/";constructor(e,t,r,n){this.code=t,this.version=e,this.multihash=r,this.bytes=n,this["/"]=n}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!==Ks)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(t.code!==ih)throw new Error("Cannot convert non sha2-256 multihash CID to CIDv0");return s.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,r=It(e,t);return s.createV1(this.code,r)}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 s.equals(this,e)}static equals(e,t){let r=t;return r!=null&&e.code===r.code&&e.version===r.version&&ea(e.multihash,r.multihash)}toString(e){return ia(this,e)}toJSON(){return{"/":ia(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 s)return t;if(t["/"]!=null&&t["/"]===t.bytes||t.asCID===t){let{version:r,code:n,multihash:i,bytes:o}=t;return new s(r,n,i,o??aa(r,n,i.bytes))}else if(t[oh]===!0){let{version:r,multihash:n,code:i}=t,o=cs(n);return s.create(r,i,o)}else return null}static create(e,t,r){if(typeof t!="number")throw new Error("String codecs are no longer supported");if(!(r.bytes instanceof Uint8Array))throw new Error("Invalid digest");switch(e){case 0:{if(t!==Ks)throw new Error(`Version 0 CID must use dag-pb (code: ${Ks}) block encoding`);return new s(e,t,r,r.bytes)}case 1:{let n=aa(e,t,r.bytes);return new s(e,t,r,n)}default:throw new Error("Invalid version")}}static createV0(e){return s.create(0,Ks,e)}static createV1(e,t){return s.create(1,e,t)}static decode(e){let[t,r]=s.decodeFirst(e);if(r.length!==0)throw new Error("Incorrect length");return t}static decodeFirst(e){let t=s.inspectBytes(e),r=t.size-t.multihashSize,n=at(e.subarray(r,r+t.multihashSize));if(n.byteLength!==t.multihashSize)throw new Error("Incorrect length");let i=n.subarray(t.multihashSize-t.digestSize),o=new as(t.multihashCode,t.digestSize,i,n);return[t.version===0?s.createV0(o):s.createV1(t.codec,o),e.subarray(t.size)]}static inspectBytes(e){let t=0,r=()=>{let[u,h]=Gs(e.subarray(t));return t+=h,u},n=r(),i=Ks;if(n===18?(n=0,t=0):i=r(),n!==0&&n!==1)throw new RangeError(`Invalid CID version ${n}`);let o=t,a=r(),c=r(),f=t+c,l=f-o;return{version:n,codec:i,multihashCode:a,digestSize:c,multihashSize:l,size:f}}static parse(e,t){let[r,n]=sh(e,t),i=s.decode(n);if(i.version===0&&e[0]!=="Q")throw Error("Version 0 CID string must not include multibase prefix");return mi(i).set(r,e),i}};function sh(s,e){switch(s[0]){case"Q":{let t=e??me;return[me.prefix,t.decode(`${me.prefix}${s}`)]}case me.prefix:{let t=e??me;return[me.prefix,t.decode(s)]}case Wt.prefix:{let t=e??Wt;return[Wt.prefix,t.decode(s)]}default:{if(e==null)throw Error("To parse non base32 or base58btc encoded CID multibase decoder must be provided");return[s[0],e.decode(s)]}}}function rh(s,e,t){let{prefix:r}=t;if(r!==me.prefix)throw Error(`Cannot string encode V0 in ${t.name} encoding`);let n=e.get(r);if(n==null){let i=t.encode(s).slice(1);return e.set(r,i),i}else return n}function nh(s,e,t){let{prefix:r}=t,n=e.get(r);if(n==null){let i=t.encode(s);return e.set(r,i),i}else return n}var Ks=112,ih=18;function aa(s,e,t){let r=os(s),n=r+os(e),i=new Uint8Array(n+t.byteLength);return is(s,i,0),is(e,i,r),i.set(t,n),i}var oh=Symbol.for("@ipld/js-cid/CID");var kt={...ui,...ri,...li,...ti,...si,...ii,...oi,...ei,...ci,...ni},Vg={...gi,...fi};function be(s,e){if(s===e)return!0;if(s.byteLength!==e.byteLength)return!1;for(let t=0;ts.decoder).reduce((s,e)=>s.or(e),kt.identity.decoder),la=114,ua=36,ha=37,zs=class{type;multihash;privateKey;publicKey;string;constructor(e){this.type=e.type,this.multihash=e.multihash,this.privateKey=e.privateKey,Object.defineProperty(this,"string",{enumerable:!1,writable:!0})}get[Symbol.toStringTag](){return`PeerId(${this.toString()})`}[Fo]=!0;toString(){return this.string==null&&(this.string=me.encode(this.multihash.bytes).slice(1)),this.string}toCID(){return At.createV1(la,this.multihash)}toBytes(){return this.multihash.bytes}toJSON(){return this.toString()}equals(e){if(e==null)return!1;if(e instanceof Uint8Array)return be(this.multihash.bytes,e);if(typeof e=="string")return ct(e).equals(this);if(e?.multihash?.bytes!=null)return be(this.multihash.bytes,e.multihash.bytes);throw new Error("not valid Id")}[ah](){return`PeerId(${this.toString()})`}},qs=class extends zs{type="RSA";publicKey;constructor(e){super({...e,type:"RSA"}),this.publicKey=e.publicKey}},Ws=class extends zs{type="Ed25519";publicKey;constructor(e){super({...e,type:"Ed25519"}),this.publicKey=e.multihash.digest}},$s=class extends zs{type="secp256k1";publicKey;constructor(e){super({...e,type:"secp256k1"}),this.publicKey=e.multihash.digest}};function ct(s,e){if(e=e??ca,s.charAt(0)==="1"||s.charAt(0)==="Q"){let t=cs(me.decode(`z${s}`));return s.startsWith("12D")?new Ws({multihash:t}):s.startsWith("16U")?new $s({multihash:t}):new qs({multihash:t})}return js(ca.decode(s))}function js(s){try{let e=cs(s);if(e.code===ls.code){if(e.digest.length===ua)return new Ws({multihash:e});if(e.digest.length===ha)return new $s({multihash:e})}if(e.code===ce.code)return new qs({multihash:e})}catch{return ch(At.decode(s))}throw new Error("Supplied PeerID CID is invalid")}function ch(s){if(s==null||s.multihash==null||s.version==null||s.version===1&&s.code!==la)throw new Error("Supplied PeerID CID is invalid");let e=s.multihash;if(e.code===ce.code)return new qs({multihash:s.multihash});if(e.code===ls.code){if(e.digest.length===ua)return new Ws({multihash:s.multihash});if(e.digest.length===ha)return new $s({multihash:s.multihash})}throw new Error("Supplied PeerID CID is invalid")}function lt(s=0){return new Uint8Array(s)}function ye(s=0){return new Uint8Array(s)}var lh=Math.pow(2,7),uh=Math.pow(2,14),hh=Math.pow(2,21),bi=Math.pow(2,28),yi=Math.pow(2,35),wi=Math.pow(2,42),vi=Math.pow(2,49),q=128,we=127;function Se(s){if(sNumber.MAX_SAFE_INTEGER)throw new RangeError("Could not encode varint");return 8}function xi(s,e,t=0){switch(Se(s)){case 8:e[t++]=s&255|q,s/=128;case 7:e[t++]=s&255|q,s/=128;case 6:e[t++]=s&255|q,s/=128;case 5:e[t++]=s&255|q,s/=128;case 4:e[t++]=s&255|q,s>>>=7;case 3:e[t++]=s&255|q,s>>>=7;case 2:e[t++]=s&255|q,s>>>=7;case 1:{e[t++]=s&255,s>>>=7;break}default:throw new Error("unreachable")}return e}function fh(s,e,t=0){switch(Se(s)){case 8:e.set(t++,s&255|q),s/=128;case 7:e.set(t++,s&255|q),s/=128;case 6:e.set(t++,s&255|q),s/=128;case 5:e.set(t++,s&255|q),s/=128;case 4:e.set(t++,s&255|q),s>>>=7;case 3:e.set(t++,s&255|q),s>>>=7;case 2:e.set(t++,s&255|q),s>>>=7;case 1:{e.set(t++,s&255),s>>>=7;break}default:throw new Error("unreachable")}return e}function Ei(s,e){let t=s[e],r=0;if(r+=t&we,tn+i.length,0));let t=ye(e),r=0;for(let n of s)t.set(n,r),r+=n.length;return t}var da=Symbol.for("@achingbrain/uint8arraylist");function fa(s,e){if(e==null||e<0)throw new RangeError("index is out of bounds");let t=0;for(let r of s){let n=t+r.byteLength;if(e0&&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 r of e)if(r instanceof Uint8Array)t+=r.byteLength,this.bufs.push(r);else if(wr(r))t+=r.byteLength,this.bufs.push(...r.bufs);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 r of e.reverse())if(r instanceof Uint8Array)t+=r.byteLength,this.bufs.unshift(r);else if(wr(r))t+=r.byteLength,this.bufs.unshift(...r.bufs);else throw new Error("Could not prepend value, must be an Uint8Array or a Uint8ArrayList");this.length+=t}get(e){let t=fa(this.bufs,e);return t.buf[t.index]}set(e,t){let r=fa(this.bufs,e);r.buf[r.index]=t}write(e,t=0){if(e instanceof Uint8Array)for(let r=0;r0;)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:r,length:n}=this._subList(e,t);return Ye(r,n)}subarray(e,t){let{bufs:r,length:n}=this._subList(e,t);return r.length===1?r[0]:Ye(r,n)}sublist(e,t){let{bufs:r,length:n}=this._subList(e,t),i=new s;return i.length=n,i.bufs=[...r],i}_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 r=[],n=0;for(let i=0;i=c)continue;let f=e>=a&&ea&&t<=c;if(f&&l){if(e===a&&t===c){r.push(o);break}let u=e-a;r.push(o.subarray(u,u+(t-e)));break}if(f){if(e===0){r.push(o);continue}r.push(o.subarray(e-a));continue}if(l){if(t===c){r.push(o);break}r.push(o.subarray(0,t-a));break}r.push(o)}return{bufs:r,length:t-e}}indexOf(e,t=0){if(!wr(e)&&!(e instanceof Uint8Array))throw new TypeError('The "value" argument must be a Uint8ArrayList or Uint8Array');let r=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 n=r.byteLength;if(n===0)throw new TypeError("search must be at least 1 byte long");let i=256,o=new Int32Array(i);for(let u=0;u=0;h--){let p=this.get(u+h);if(r[h]!==p){l=Math.max(1,h-a[p]);break}}if(l===0)return u}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 r=ye(1);new DataView(r.buffer,r.byteOffset,r.byteLength).setInt8(0,t),this.write(r,e)}getInt16(e,t){let r=this.subarray(e,e+2);return new DataView(r.buffer,r.byteOffset,r.byteLength).getInt16(0,t)}setInt16(e,t,r){let n=lt(2);new DataView(n.buffer,n.byteOffset,n.byteLength).setInt16(0,t,r),this.write(n,e)}getInt32(e,t){let r=this.subarray(e,e+4);return new DataView(r.buffer,r.byteOffset,r.byteLength).getInt32(0,t)}setInt32(e,t,r){let n=lt(4);new DataView(n.buffer,n.byteOffset,n.byteLength).setInt32(0,t,r),this.write(n,e)}getBigInt64(e,t){let r=this.subarray(e,e+8);return new DataView(r.buffer,r.byteOffset,r.byteLength).getBigInt64(0,t)}setBigInt64(e,t,r){let n=lt(8);new DataView(n.buffer,n.byteOffset,n.byteLength).setBigInt64(0,t,r),this.write(n,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 r=ye(1);new DataView(r.buffer,r.byteOffset,r.byteLength).setUint8(0,t),this.write(r,e)}getUint16(e,t){let r=this.subarray(e,e+2);return new DataView(r.buffer,r.byteOffset,r.byteLength).getUint16(0,t)}setUint16(e,t,r){let n=lt(2);new DataView(n.buffer,n.byteOffset,n.byteLength).setUint16(0,t,r),this.write(n,e)}getUint32(e,t){let r=this.subarray(e,e+4);return new DataView(r.buffer,r.byteOffset,r.byteLength).getUint32(0,t)}setUint32(e,t,r){let n=lt(4);new DataView(n.buffer,n.byteOffset,n.byteLength).setUint32(0,t,r),this.write(n,e)}getBigUint64(e,t){let r=this.subarray(e,e+8);return new DataView(r.buffer,r.byteOffset,r.byteLength).getBigUint64(0,t)}setBigUint64(e,t,r){let n=lt(8);new DataView(n.buffer,n.byteOffset,n.byteLength).setBigUint64(0,t,r),this.write(n,e)}getFloat32(e,t){let r=this.subarray(e,e+4);return new DataView(r.buffer,r.byteOffset,r.byteLength).getFloat32(0,t)}setFloat32(e,t,r){let n=lt(4);new DataView(n.buffer,n.byteOffset,n.byteLength).setFloat32(0,t,r),this.write(n,e)}getFloat64(e,t){let r=this.subarray(e,e+8);return new DataView(r.buffer,r.byteOffset,r.byteLength).getFloat64(0,t)}setFloat64(e,t,r){let n=lt(8);new DataView(n.buffer,n.byteOffset,n.byteLength).setFloat64(0,t,r),this.write(n,e)}equals(e){if(e==null||!(e instanceof s)||e.bufs.length!==this.bufs.length)return!1;for(let t=0;tn+i.byteLength,0)),r.length=t,r}};function vr(s){return s[Symbol.asyncIterator]!=null}var xr=s=>{let e=Se(s),t=ye(e);return _i(s,t),xr.bytes=e,t};xr.bytes=0;function fs(s,e){e=e??{};let t=e.lengthEncoder??xr;function*r(n){let i=t(n.byteLength);i instanceof Uint8Array?yield i:yield*i,n instanceof Uint8Array?yield n:yield*n}return vr(s)?async function*(){for await(let n of s)yield*r(n)}():function*(){for(let n of s)yield*r(n)}()}fs.single=(s,e)=>{e=e??{};let t=e.lengthEncoder??xr;return new hs(t(s.byteLength),s)};var ds=jn(ma(),1);var gh=8,mh=1024*1024*4,jt;(function(s){s[s.LENGTH=0]="LENGTH",s[s.DATA=1]="DATA"})(jt||(jt={}));var Si=s=>{let e=us(s);return Si.bytes=Se(e),e};Si.bytes=0;function Zs(s,e){let t=new hs,r=jt.LENGTH,n=-1,i=e?.lengthDecoder??Si,o=e?.maxLengthLength??gh,a=e?.maxDataLength??mh;function*c(){for(;t.byteLength>0;){if(r===jt.LENGTH)try{if(n=i(t),n<0)throw(0,ds.default)(new Error("invalid message length"),"ERR_INVALID_MSG_LENGTH");if(n>a)throw(0,ds.default)(new Error("message length too long"),"ERR_MSG_DATA_TOO_LONG");let f=i.bytes;t.consume(f),e?.onLength!=null&&e.onLength(n),r=jt.DATA}catch(f){if(f instanceof RangeError){if(t.byteLength>o)throw(0,ds.default)(new Error("message length length too long"),"ERR_MSG_LENGTH_TOO_LONG");break}throw f}if(r===jt.DATA){if(t.byteLength0)throw(0,ds.default)(new Error("unexpected end of input"),"ERR_UNEXPECTED_EOF")}():function*(){for(let f of s)t.append(f),yield*c();if(t.byteLength>0)throw(0,ds.default)(new Error("unexpected end of input"),"ERR_UNEXPECTED_EOF")}()}Zs.fromReader=(s,e)=>{let t=1,r=async function*(){for(;;)try{let{done:i,value:o}=await s.next(t);if(i===!0)return;o!=null&&(yield o)}catch(i){if(i.code==="ERR_UNDER_READ")return{done:!0,value:null};throw i}finally{t=1}}();return Zs(r,{...e??{},onLength:i=>{t=i}})};function Er(){let s={};return s.promise=new Promise((e,t)=>{s.resolve=e,s.reject=t}),s}var _r=class{buffer;mask;top;btm;next;constructor(e){if(!(e>0)||e-1&e)throw new Error("Max size for a FixedFIFO should be a power of two");this.buffer=new Array(e),this.mask=e-1,this.top=0,this.btm=0,this.next=null}push(e){return this.buffer[this.top]!==void 0?!1:(this.buffer[this.top]=e,this.top=this.top+1&this.mask,!0)}shift(){let e=this.buffer[this.btm];if(e!==void 0)return this.buffer[this.btm]=void 0,this.btm=this.btm+1&this.mask,e}isEmpty(){return this.buffer[this.btm]===void 0}},ps=class{size;hwm;head;tail;constructor(e={}){this.hwm=e.splitLimit??16,this.head=new _r(this.hwm),this.tail=this.head,this.size=0}calculateSize(e){return e?.byteLength!=null?e.byteLength:1}push(e){if(e?.value!=null&&(this.size+=this.calculateSize(e.value)),!this.head.push(e)){let t=this.head;this.head=t.next=new _r(2*this.head.buffer.length),this.head.push(e)}}shift(){let e=this.tail.shift();if(e===void 0&&this.tail.next!=null){let t=this.tail.next;this.tail.next=null,this.tail=t,e=this.tail.shift()}return e?.value!=null&&(this.size-=this.calculateSize(e.value)),e}isEmpty(){return this.head.isEmpty()}};var Ii=class extends Error{type;code;constructor(e,t){super(e??"The operation was aborted"),this.type="aborted",this.code=t??"ABORT_ERR"}};function ut(s={}){return bh(t=>{let r=t.shift();if(r==null)return{done:!0};if(r.error!=null)throw r.error;return{done:r.done===!0,value:r.value}},s)}function bh(s,e){e=e??{};let t=e.onEnd,r=new ps,n,i,o,a=Er(),c=async()=>{try{return r.isEmpty()?o?{done:!0}:await new Promise((m,b)=>{i=_=>{i=null,r.push(_);try{m(s(r))}catch(w){b(w)}return n}}):s(r)}finally{r.isEmpty()&&queueMicrotask(()=>{a.resolve(),a=Er()})}},f=m=>i!=null?i(m):(r.push(m),n),l=m=>(r=new ps,i!=null?i({error:m}):(r.push({error:m}),n)),u=m=>{if(o)return n;if(e?.objectMode!==!0&&m?.byteLength==null)throw new Error("objectMode was not true but tried to push non-Uint8Array value");return f({done:!1,value:m})},h=m=>o?n:(o=!0,m!=null?l(m):f({done:!0})),p=()=>(r=new ps,h(),{done:!0}),g=m=>(h(m),{done:!0});if(n={[Symbol.asyncIterator](){return this},next:c,return:p,throw:g,push:u,end:h,get readableLength(){return r.size},onEmpty:async m=>{let b=m?.signal;if(b?.throwIfAborted(),r.isEmpty())return;let _,w;b!=null&&(_=new Promise((A,y)=>{w=()=>{y(new Ii)},b.addEventListener("abort",w)}));try{await Promise.race([a.promise,_])}finally{w!=null&&b!=null&&b?.removeEventListener("abort",w)}}},t==null)return n;let d=n;return n={[Symbol.asyncIterator](){return this},next(){return d.next()},throw(m){return d.throw(m),t!=null&&(t(m),t=void 0),{done:!0}},return(){return d.return(),t!=null&&(t(),t=void 0),{done:!0}},push:u,end(m){return d.end(m),t!=null&&(t(m),t=void 0),n},get readableLength(){return d.readableLength},onEmpty:m=>d.onEmpty(m)},n}function yh(s){return s[Symbol.asyncIterator]!=null}function wh(...s){let e=[];for(let t of s)yh(t)||e.push(t);return e.length===s.length?function*(){for(let t of e)yield*t}():async function*(){let t=ut({objectMode:!0});Promise.resolve().then(async()=>{try{await Promise.all(s.map(async r=>{for await(let n of r)t.push(n)})),t.end()}catch(r){t.end(r)}}),yield*t}()}var ba=wh;function gs(s,...e){if(s==null)throw new Error("Empty pipeline");if(Ai(s)){let r=s;s=()=>r.source}else if(wa(s)||ya(s)){let r=s;s=()=>r}let t=[s,...e];if(t.length>1&&Ai(t[t.length-1])&&(t[t.length-1]=t[t.length-1].sink),t.length>2)for(let r=1;r{let e;for(;s.length>0;)e=s.shift()(e);return e},ya=s=>s?.[Symbol.asyncIterator]!=null,wa=s=>s?.[Symbol.iterator]!=null,Ai=s=>s==null?!1:s.sink!=null&&s.source!=null,xh=s=>e=>{let t=s.sink(e);if(t?.then!=null){let r=ut({objectMode:!0});t.then(()=>{r.end()},o=>{r.end(o)});let n,i=s.source;if(ya(i))n=async function*(){yield*i,r.end()};else if(wa(i))n=function*(){yield*i,r.end()};else throw new Error("Unknown duplex source type - must be Iterable or AsyncIterable");return ba(r,n())}return s.source};var ki="/floodsub/1.0.0",Ti="/meshsub/1.0.0",Br="/meshsub/1.1.0";var va="ERR_TOPIC_VALIDATOR_REJECT",xa="ERR_TOPIC_VALIDATOR_IGNORE";var Ea={maxSubscriptions:1/0,maxMessages:1/0,maxIhaveMessageIDs:1/0,maxIwantMessageIDs:1/0,maxControlMessages:1/0,maxPeerInfos:1/0};var Pi=new Float32Array([-0]),Tt=new Uint8Array(Pi.buffer);function _a(s,e,t){Pi[0]=s,e[t]=Tt[0],e[t+1]=Tt[1],e[t+2]=Tt[2],e[t+3]=Tt[3]}function Ba(s,e){return Tt[0]=s[e],Tt[1]=s[e+1],Tt[2]=s[e+2],Tt[3]=s[e+3],Pi[0]}var Ri=new Float64Array([-0]),ve=new Uint8Array(Ri.buffer);function Sa(s,e,t){Ri[0]=s,e[t]=ve[0],e[t+1]=ve[1],e[t+2]=ve[2],e[t+3]=ve[3],e[t+4]=ve[4],e[t+5]=ve[5],e[t+6]=ve[6],e[t+7]=ve[7]}function Ia(s,e){return ve[0]=s[e],ve[1]=s[e+1],ve[2]=s[e+2],ve[3]=s[e+3],ve[4]=s[e+4],ve[5]=s[e+5],ve[6]=s[e+6],ve[7]=s[e+7],Ri[0]}var _h=BigInt(Number.MAX_SAFE_INTEGER),Bh=BigInt(Number.MIN_SAFE_INTEGER),Ce=class s{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,r=~this.hi>>>0;return t===0&&(r=r+1>>>0),-(t+r*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,r=~this.hi>>>0;return t===0&&(r=r+1>>>0),-(BigInt(t)+(BigInt(r)<<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,r=this.hi>>>24;return r===0?t===0?e<16384?e<128?1:2:e<2097152?3:4:t<16384?t<128?5:6:t<2097152?7:8:r<128?9:10}static fromBigInt(e){if(e===0n)return Zt;if(e<_h&&e>Bh)return this.fromNumber(Number(e));let t=e<0n;t&&(e=-e);let r=e>>32n,n=e-(r<<32n);return t&&(r=~r|0n,n=~n|0n,++n>Aa&&(n=0n,++r>Aa&&(r=0n))),new s(Number(n),Number(r))}static fromNumber(e){if(e===0)return Zt;let t=e<0;t&&(e=-e);let r=e>>>0,n=(e-r)/4294967296>>>0;return t&&(n=~n>>>0,r=~r>>>0,++r>4294967295&&(r=0,++n>4294967295&&(n=0))),new s(r,n)}static from(e){return typeof e=="number"?s.fromNumber(e):typeof e=="bigint"?s.fromBigInt(e):typeof e=="string"?s.fromBigInt(BigInt(e)):e.low!=null||e.high!=null?new s(e.low>>>0,e.high>>>0):Zt}},Zt=new Ce(0,0);Zt.toBigInt=function(){return 0n};Zt.zzEncode=Zt.zzDecode=function(){return this};Zt.length=function(){return 1};var Aa=4294967296n;function ka(s){let e=0,t=0;for(let r=0;r191&&a<224?i[o++]=(a&31)<<6|s[e++]&63:a>239&&a<365?(a=((a&7)<<18|(s[e++]&63)<<12|(s[e++]&63)<<6|s[e++]&63)-65536,i[o++]=55296+(a>>10),i[o++]=56320+(a&1023)):i[o++]=(a&15)<<12|(s[e++]&63)<<6|s[e++]&63,o>8191&&((n??(n=[])).push(String.fromCharCode.apply(String,i)),o=0);return n!=null?(o>0&&n.push(String.fromCharCode.apply(String,i.slice(0,o))),n.join("")):String.fromCharCode.apply(String,i.slice(0,o))}function Mi(s,e,t){let r=t,n,i;for(let o=0;o>6|192,e[t++]=n&63|128):(n&64512)===55296&&((i=s.charCodeAt(o+1))&64512)===56320?(n=65536+((n&1023)<<10)+(i&1023),++o,e[t++]=n>>18|240,e[t++]=n>>12&63|128,e[t++]=n>>6&63|128,e[t++]=n&63|128):(e[t++]=n>>12|224,e[t++]=n>>6&63|128,e[t++]=n&63|128);return t-r}function Ke(s,e){return RangeError(`index out of range: ${s.pos} + ${e??1} > ${s.len}`)}function Sr(s,e){return(s[e-4]|s[e-3]<<8|s[e-2]<<16|s[e-1]<<24)>>>0}var Di=class{buf;pos;len;_slice=Uint8Array.prototype.subarray;constructor(e){this.buf=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,Ke(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 Ke(this,4);return Sr(this.buf,this.pos+=4)}sfixed32(){if(this.pos+4>this.len)throw Ke(this,4);return Sr(this.buf,this.pos+=4)|0}float(){if(this.pos+4>this.len)throw Ke(this,4);let e=Ba(this.buf,this.pos);return this.pos+=4,e}double(){if(this.pos+8>this.len)throw Ke(this,4);let e=Ia(this.buf,this.pos);return this.pos+=8,e}bytes(){let e=this.uint32(),t=this.pos,r=this.pos+e;if(r>this.len)throw Ke(this,e);return this.pos+=e,t===r?new Uint8Array(0):this.buf.subarray(t,r)}string(){let e=this.bytes();return Ta(e,0,e.length)}skip(e){if(typeof e=="number"){if(this.pos+e>this.len)throw Ke(this,e);this.pos+=e}else do if(this.pos>=this.len)throw Ke(this);while(this.buf[this.pos++]&128);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 Ce(0,0),t=0;if(this.len-this.pos>4){for(;t<4;++t)if(e.lo=(e.lo|(this.buf[this.pos]&127)<>>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 Ke(this);if(e.lo=(e.lo|(this.buf[this.pos]&127)<>>0,this.buf[this.pos++]<128)return e}return e.lo=(e.lo|(this.buf[this.pos++]&127)<>>0,e}if(this.len-this.pos>4){for(;t<5;++t)if(e.hi=(e.hi|(this.buf[this.pos]&127)<>>0,this.buf[this.pos++]<128)return e}else for(;t<5;++t){if(this.pos>=this.len)throw Ke(this);if(e.hi=(e.hi|(this.buf[this.pos]&127)<>>0,this.buf[this.pos++]<128)return e}throw Error("invalid varint encoding")}readFixed64(){if(this.pos+8>this.len)throw Ke(this,8);let e=Sr(this.buf,this.pos+=4),t=Sr(this.buf,this.pos+=4);return new Ce(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=Ei(this.buf,this.pos);return this.pos+=Se(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 Ni(s){return new Di(s instanceof Uint8Array?s:s.subarray())}function Re(s,e,t){let r=Ni(s);return e.decode(r,void 0,t)}function Ma(s,e,t,r){return{name:s,prefix:e,encoder:{name:s,prefix:e,encode:t},decoder:{decode:r}}}var Ra=Ma("utf8","u",s=>"u"+new TextDecoder("utf8").decode(s),s=>new TextEncoder().encode(s.substring(1))),Ci=Ma("ascii","a",s=>{let e="a";for(let t=0;t{s=s.substring(1);let e=ye(s.length);for(let t=0;t>>1,r,n=e;return function(o){if(o<1||o>t)return ye(o);n+o>e&&(r=ye(e),n=0);let a=r.subarray(n,n+=o);return n&7&&(n=(n|7)+1),a}}var Yt=class{fn;len;next;val;constructor(e,t,r){this.fn=e,this.len=t,this.next=void 0,this.val=r}};function Ui(){}var Oi=class{head;tail;len;next;constructor(e){this.head=e.head,this.tail=e.tail,this.len=e.len,this.next=e.states}},Ih=Li();function Ah(s){return globalThis.Buffer!=null?ye(s):Ih(s)}var Xs=class{len;head;tail;states;constructor(){this.len=0,this.head=new Yt(Ui,0,0),this.tail=this.head,this.states=null}_push(e,t,r){return this.tail=this.tail.next=new Yt(e,t,r),this.len+=t,this}uint32(e){return this.len+=(this.tail=this.tail.next=new Fi((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(Ar,10,Ce.fromNumber(e)):this.uint32(e)}sint32(e){return this.uint32((e<<1^e>>31)>>>0)}uint64(e){let t=Ce.fromBigInt(e);return this._push(Ar,t.length(),t)}uint64Number(e){return this._push(xi,Se(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=Ce.fromBigInt(e).zzEncode();return this._push(Ar,t.length(),t)}sint64Number(e){let t=Ce.fromNumber(e).zzEncode();return this._push(Ar,t.length(),t)}sint64String(e){return this.sint64(BigInt(e))}bool(e){return this._push(Vi,1,e?1:0)}fixed32(e){return this._push(Ys,4,e>>>0)}sfixed32(e){return this.fixed32(e)}fixed64(e){let t=Ce.fromBigInt(e);return this._push(Ys,4,t.lo)._push(Ys,4,t.hi)}fixed64Number(e){let t=Ce.fromNumber(e);return this._push(Ys,4,t.lo)._push(Ys,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(_a,4,e)}double(e){return this._push(Sa,8,e)}bytes(e){let t=e.length>>>0;return t===0?this._push(Vi,1,0):this.uint32(t)._push(Th,t,e)}string(e){let t=ka(e);return t!==0?this.uint32(t)._push(Mi,t,e):this._push(Vi,1,0)}fork(){return this.states=new Oi(this),this.head=this.tail=new Yt(Ui,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 Yt(Ui,0,0),this.len=0),this}ldelim(){let e=this.head,t=this.tail,r=this.len;return this.reset().uint32(r),r!==0&&(this.tail.next=e.next,this.tail=t,this.len+=r),this}finish(){let e=this.head.next,t=Ah(this.len),r=0;for(;e!=null;)e.fn(e.val,t,r),r+=e.len,e=e.next;return t}};function Vi(s,e,t){e[t]=s&255}function kh(s,e,t){for(;s>127;)e[t++]=s&127|128,s>>>=7;e[t]=s}var Fi=class extends Yt{next;constructor(e,t){super(kh,e,t),this.next=void 0}};function Ar(s,e,t){for(;s.hi!==0;)e[t++]=s.lo&127|128,s.lo=(s.lo>>>7|s.hi<<25)>>>0,s.hi>>>=7;for(;s.lo>127;)e[t++]=s.lo&127|128,s.lo=s.lo>>>7;e[t++]=s.lo}function Ys(s,e,t){e[t]=s&255,e[t+1]=s>>>8&255,e[t+2]=s>>>16&255,e[t+3]=s>>>24}function Th(s,e,t){e.set(s,t)}globalThis.Buffer!=null&&(Xs.prototype.bytes=function(s){let e=s.length>>>0;return this.uint32(e),e>0&&this._push(Ph,e,s),this},Xs.prototype.string=function(s){let e=globalThis.Buffer.byteLength(s);return this.uint32(e),e>0&&this._push(Rh,e,s),this});function Ph(s,e,t){e.set(s,t)}function Rh(s,e,t){s.length<40?Mi(s,e,t):e.utf8Write!=null?e.utf8Write(s,t):e.set(Z(s),t)}function Hi(){return new Xs}function Me(s,e){let t=Hi();return e.encode(s,t,{lengthDelimited:!1}),t.finish()}var ms;(function(s){s[s.VARINT=0]="VARINT",s[s.BIT64=1]="BIT64",s[s.LENGTH_DELIMITED=2]="LENGTH_DELIMITED",s[s.START_GROUP=3]="START_GROUP",s[s.END_GROUP=4]="END_GROUP",s[s.BIT32=5]="BIT32"})(ms||(ms={}));function kr(s,e,t,r){return{name:s,type:e,encode:t,decode:r}}function Gi(s){function e(n){if(s[n.toString()]==null)throw new Error("Invalid enum value");return s[n]}let t=function(i,o){let a=e(i);o.int32(a)},r=function(i){let o=i.int32();return e(o)};return kr("enum",ms.VARINT,t,r)}function De(s,e){return kr("message",ms.LENGTH_DELIMITED,s,e)}var Oe=class extends Error{code;constructor(e,t,r){super(e,r),this.code=t}};var ht;(function(s){let e;(function(l){let u;l.codec=()=>(u==null&&(u=De((h,p,g={})=>{g.lengthDelimited!==!1&&p.fork(),h.subscribe!=null&&(p.uint32(8),p.bool(h.subscribe)),h.topic!=null&&(p.uint32(18),p.string(h.topic)),g.lengthDelimited!==!1&&p.ldelim()},(h,p,g={})=>{let d={},m=p==null?h.len:h.pos+p;for(;h.pos>>3){case 1:{d.subscribe=h.bool();break}case 2:{d.topic=h.string();break}default:{h.skipType(b&7);break}}}return d})),u),l.encode=h=>Me(h,l.codec()),l.decode=(h,p)=>Re(h,l.codec(),p)})(e=s.SubOpts||(s.SubOpts={}));let t;(function(l){let u;l.codec=()=>(u==null&&(u=De((h,p,g={})=>{g.lengthDelimited!==!1&&p.fork(),h.from!=null&&(p.uint32(10),p.bytes(h.from)),h.data!=null&&(p.uint32(18),p.bytes(h.data)),h.seqno!=null&&(p.uint32(26),p.bytes(h.seqno)),h.topic!=null&&h.topic!==""&&(p.uint32(34),p.string(h.topic)),h.signature!=null&&(p.uint32(42),p.bytes(h.signature)),h.key!=null&&(p.uint32(50),p.bytes(h.key)),g.lengthDelimited!==!1&&p.ldelim()},(h,p,g={})=>{let d={topic:""},m=p==null?h.len:h.pos+p;for(;h.pos>>3){case 1:{d.from=h.bytes();break}case 2:{d.data=h.bytes();break}case 3:{d.seqno=h.bytes();break}case 4:{d.topic=h.string();break}case 5:{d.signature=h.bytes();break}case 6:{d.key=h.bytes();break}default:{h.skipType(b&7);break}}}return d})),u),l.encode=h=>Me(h,l.codec()),l.decode=(h,p)=>Re(h,l.codec(),p)})(t=s.Message||(s.Message={}));let r;(function(l){let u;l.codec=()=>(u==null&&(u=De((h,p,g={})=>{if(g.lengthDelimited!==!1&&p.fork(),h.ihave!=null)for(let d of h.ihave)p.uint32(10),s.ControlIHave.codec().encode(d,p);if(h.iwant!=null)for(let d of h.iwant)p.uint32(18),s.ControlIWant.codec().encode(d,p);if(h.graft!=null)for(let d of h.graft)p.uint32(26),s.ControlGraft.codec().encode(d,p);if(h.prune!=null)for(let d of h.prune)p.uint32(34),s.ControlPrune.codec().encode(d,p);g.lengthDelimited!==!1&&p.ldelim()},(h,p,g={})=>{let d={ihave:[],iwant:[],graft:[],prune:[]},m=p==null?h.len:h.pos+p;for(;h.pos>>3){case 1:{if(g.limits?.ihave!=null&&d.ihave.length===g.limits.ihave)throw new Oe('decode error - map field "ihave" had too many elements',"ERR_MAX_LENGTH");d.ihave.push(s.ControlIHave.codec().decode(h,h.uint32()));break}case 2:{if(g.limits?.iwant!=null&&d.iwant.length===g.limits.iwant)throw new Oe('decode error - map field "iwant" had too many elements',"ERR_MAX_LENGTH");d.iwant.push(s.ControlIWant.codec().decode(h,h.uint32()));break}case 3:{if(g.limits?.graft!=null&&d.graft.length===g.limits.graft)throw new Oe('decode error - map field "graft" had too many elements',"ERR_MAX_LENGTH");d.graft.push(s.ControlGraft.codec().decode(h,h.uint32()));break}case 4:{if(g.limits?.prune!=null&&d.prune.length===g.limits.prune)throw new Oe('decode error - map field "prune" had too many elements',"ERR_MAX_LENGTH");d.prune.push(s.ControlPrune.codec().decode(h,h.uint32()));break}default:{h.skipType(b&7);break}}}return d})),u),l.encode=h=>Me(h,l.codec()),l.decode=(h,p)=>Re(h,l.codec(),p)})(r=s.ControlMessage||(s.ControlMessage={}));let n;(function(l){let u;l.codec=()=>(u==null&&(u=De((h,p,g={})=>{if(g.lengthDelimited!==!1&&p.fork(),h.topicID!=null&&(p.uint32(10),p.string(h.topicID)),h.messageIDs!=null)for(let d of h.messageIDs)p.uint32(18),p.bytes(d);g.lengthDelimited!==!1&&p.ldelim()},(h,p,g={})=>{let d={messageIDs:[]},m=p==null?h.len:h.pos+p;for(;h.pos>>3){case 1:{d.topicID=h.string();break}case 2:{if(g.limits?.messageIDs!=null&&d.messageIDs.length===g.limits.messageIDs)throw new Oe('decode error - map field "messageIDs" had too many elements',"ERR_MAX_LENGTH");d.messageIDs.push(h.bytes());break}default:{h.skipType(b&7);break}}}return d})),u),l.encode=h=>Me(h,l.codec()),l.decode=(h,p)=>Re(h,l.codec(),p)})(n=s.ControlIHave||(s.ControlIHave={}));let i;(function(l){let u;l.codec=()=>(u==null&&(u=De((h,p,g={})=>{if(g.lengthDelimited!==!1&&p.fork(),h.messageIDs!=null)for(let d of h.messageIDs)p.uint32(10),p.bytes(d);g.lengthDelimited!==!1&&p.ldelim()},(h,p,g={})=>{let d={messageIDs:[]},m=p==null?h.len:h.pos+p;for(;h.pos>>3){case 1:{if(g.limits?.messageIDs!=null&&d.messageIDs.length===g.limits.messageIDs)throw new Oe('decode error - map field "messageIDs" had too many elements',"ERR_MAX_LENGTH");d.messageIDs.push(h.bytes());break}default:{h.skipType(b&7);break}}}return d})),u),l.encode=h=>Me(h,l.codec()),l.decode=(h,p)=>Re(h,l.codec(),p)})(i=s.ControlIWant||(s.ControlIWant={}));let o;(function(l){let u;l.codec=()=>(u==null&&(u=De((h,p,g={})=>{g.lengthDelimited!==!1&&p.fork(),h.topicID!=null&&(p.uint32(10),p.string(h.topicID)),g.lengthDelimited!==!1&&p.ldelim()},(h,p,g={})=>{let d={},m=p==null?h.len:h.pos+p;for(;h.pos>>3){case 1:{d.topicID=h.string();break}default:{h.skipType(b&7);break}}}return d})),u),l.encode=h=>Me(h,l.codec()),l.decode=(h,p)=>Re(h,l.codec(),p)})(o=s.ControlGraft||(s.ControlGraft={}));let a;(function(l){let u;l.codec=()=>(u==null&&(u=De((h,p,g={})=>{if(g.lengthDelimited!==!1&&p.fork(),h.topicID!=null&&(p.uint32(10),p.string(h.topicID)),h.peers!=null)for(let d of h.peers)p.uint32(18),s.PeerInfo.codec().encode(d,p);h.backoff!=null&&(p.uint32(24),p.uint64Number(h.backoff)),g.lengthDelimited!==!1&&p.ldelim()},(h,p,g={})=>{let d={peers:[]},m=p==null?h.len:h.pos+p;for(;h.pos>>3){case 1:{d.topicID=h.string();break}case 2:{if(g.limits?.peers!=null&&d.peers.length===g.limits.peers)throw new Oe('decode error - map field "peers" had too many elements',"ERR_MAX_LENGTH");d.peers.push(s.PeerInfo.codec().decode(h,h.uint32()));break}case 3:{d.backoff=h.uint64Number();break}default:{h.skipType(b&7);break}}}return d})),u),l.encode=h=>Me(h,l.codec()),l.decode=(h,p)=>Re(h,l.codec(),p)})(a=s.ControlPrune||(s.ControlPrune={}));let c;(function(l){let u;l.codec=()=>(u==null&&(u=De((h,p,g={})=>{g.lengthDelimited!==!1&&p.fork(),h.peerID!=null&&(p.uint32(10),p.bytes(h.peerID)),h.signedPeerRecord!=null&&(p.uint32(18),p.bytes(h.signedPeerRecord)),g.lengthDelimited!==!1&&p.ldelim()},(h,p,g={})=>{let d={},m=p==null?h.len:h.pos+p;for(;h.pos>>3){case 1:{d.peerID=h.bytes();break}case 2:{d.signedPeerRecord=h.bytes();break}default:{h.skipType(b&7);break}}}return d})),u),l.encode=h=>Me(h,l.codec()),l.decode=(h,p)=>Re(h,l.codec(),p)})(c=s.PeerInfo||(s.PeerInfo={}));let f;s.codec=()=>(f==null&&(f=De((l,u,h={})=>{if(h.lengthDelimited!==!1&&u.fork(),l.subscriptions!=null)for(let p of l.subscriptions)u.uint32(10),s.SubOpts.codec().encode(p,u);if(l.messages!=null)for(let p of l.messages)u.uint32(18),s.Message.codec().encode(p,u);l.control!=null&&(u.uint32(26),s.ControlMessage.codec().encode(l.control,u)),h.lengthDelimited!==!1&&u.ldelim()},(l,u,h={})=>{let p={subscriptions:[],messages:[]},g=u==null?l.len:l.pos+u;for(;l.pos>>3){case 1:{if(h.limits?.subscriptions!=null&&p.subscriptions.length===h.limits.subscriptions)throw new Oe('decode error - map field "subscriptions" had too many elements',"ERR_MAX_LENGTH");p.subscriptions.push(s.SubOpts.codec().decode(l,l.uint32()));break}case 2:{if(h.limits?.messages!=null&&p.messages.length===h.limits.messages)throw new Oe('decode error - map field "messages" had too many elements',"ERR_MAX_LENGTH");p.messages.push(s.Message.codec().decode(l,l.uint32()));break}case 3:{p.control=s.ControlMessage.codec().decode(l,l.uint32());break}default:{l.skipType(d&7);break}}}return p})),f),s.encode=l=>Me(l,s.codec()),s.decode=(l,u)=>Re(l,s.codec(),u)})(ht||(ht={}));var Tr=class{gossip;msgs=new Map;msgIdToStrFn;history=[];notValidatedCount=0;constructor(e,t,r){this.gossip=e,this.msgIdToStrFn=r;for(let n=0;n{if((this.msgs.get(n.msgIdStr)?.validated??!1)&&e.has(n.topic)){let o=t.get(n.topic);o==null&&(o=[],t.set(n.topic,o)),o.push(n.msgId)}});return t}validate(e){let t=this.msgs.get(e);if(t==null)return null;t.validated||this.notValidatedCount--;let{message:r,originatingPeers:n}=t;return t.validated=!0,t.originatingPeers=new Set,{message:r,originatingPeers:n}}shift(){this.history[this.history.length-1].forEach(t=>{let r=this.msgs.get(t.msgIdStr);r!=null&&(this.msgs.delete(t.msgIdStr),r.validated||this.notValidatedCount--)}),this.history.pop(),this.history.unshift([])}remove(e){let t=this.msgs.get(e);return t==null?null:(this.msgs.delete(e),t)}};var Da;(function(s){s.StrictSign="StrictSign",s.StrictNoSign="StrictNoSign"})(Da||(Da={}));var Pt;(function(s){s[s.Signing=0]="Signing",s[s.Anonymous=1]="Anonymous"})(Pt||(Pt={}));var Ie;(function(s){s.Error="error",s.Ignore="ignore",s.Reject="reject",s.Blacklisted="blacklisted"})(Ie||(Ie={}));var xe;(function(s){s.InvalidSignature="invalid_signature",s.InvalidSeqno="invalid_seqno",s.InvalidPeerId="invalid_peerid",s.SignaturePresent="signature_present",s.SeqnoPresent="seqno_present",s.FromPresent="from_present",s.TransformFailed="transform_failed"})(xe||(xe={}));var Ee;(function(s){s.duplicate="duplicate",s.invalid="invalid",s.valid="valid"})(Ee||(Ee={}));function Ki(s){switch(s){case Be.Ignore:return Ie.Ignore;case Be.Reject:return Ie.Reject;default:throw new Error("Unreachable")}}var Na;(function(s){s.forward="forward",s.publish="publish"})(Na||(Na={}));var Ae;(function(s){s.Fanout="fanout",s.Random="random",s.Subscribed="subscribed",s.Outbound="outbound",s.NotEnough="not_enough",s.Opportunistic="opportunistic"})(Ae||(Ae={}));var ze;(function(s){s.Dc="disconnected",s.BadScore="bad_score",s.Prune="prune",s.Excess="excess"})(ze||(ze={}));var ys;(function(s){s.GraftBackoff="graft_backoff",s.BrokenPromise="broken_promise",s.MessageDeficit="message_deficit",s.IPColocation="IP_colocation"})(ys||(ys={}));var ws;(function(s){s.LowScore="low_score",s.MaxIhave="max_ihave",s.MaxIasked="max_iasked"})(ws||(ws={}));var bs;(function(s){s.graylist="graylist",s.publish="publish",s.gossip="gossip",s.mesh="mesh"})(bs||(bs={}));function Ca(s,e,t){return{protocolsEnabled:s.gauge({name:"gossipsub_protocol",help:"Status of enabled protocols",labelNames:["protocol"]}),topicSubscriptionStatus:s.gauge({name:"gossipsub_topic_subscription_status",help:"Status of our subscription to this topic",labelNames:["topicStr"]}),topicPeersCount:s.gauge({name:"gossipsub_topic_peer_count",help:"Number of peers subscribed to each topic",labelNames:["topicStr"]}),meshPeerCounts:s.gauge({name:"gossipsub_mesh_peer_count",help:"Number of peers in our mesh",labelNames:["topicStr"]}),meshPeerInclusionEventsFanout:s.gauge({name:"gossipsub_mesh_peer_inclusion_events_fanout_total",help:"Number of times we include peers in a topic mesh for fanout reasons",labelNames:["topic"]}),meshPeerInclusionEventsRandom:s.gauge({name:"gossipsub_mesh_peer_inclusion_events_random_total",help:"Number of times we include peers in a topic mesh for random reasons",labelNames:["topic"]}),meshPeerInclusionEventsSubscribed:s.gauge({name:"gossipsub_mesh_peer_inclusion_events_subscribed_total",help:"Number of times we include peers in a topic mesh for subscribed reasons",labelNames:["topic"]}),meshPeerInclusionEventsOutbound:s.gauge({name:"gossipsub_mesh_peer_inclusion_events_outbound_total",help:"Number of times we include peers in a topic mesh for outbound reasons",labelNames:["topic"]}),meshPeerInclusionEventsNotEnough:s.gauge({name:"gossipsub_mesh_peer_inclusion_events_not_enough_total",help:"Number of times we include peers in a topic mesh for not_enough reasons",labelNames:["topic"]}),meshPeerInclusionEventsOpportunistic:s.gauge({name:"gossipsub_mesh_peer_inclusion_events_opportunistic_total",help:"Number of times we include peers in a topic mesh for opportunistic reasons",labelNames:["topic"]}),meshPeerInclusionEventsUnknown:s.gauge({name:"gossipsub_mesh_peer_inclusion_events_unknown_total",help:"Number of times we include peers in a topic mesh for unknown reasons",labelNames:["topic"]}),meshPeerChurnEventsDisconnected:s.gauge({name:"gossipsub_peer_churn_events_disconnected_total",help:"Number of times we remove peers in a topic mesh for disconnected reasons",labelNames:["topic"]}),meshPeerChurnEventsBadScore:s.gauge({name:"gossipsub_peer_churn_events_bad_score_total",help:"Number of times we remove peers in a topic mesh for bad_score reasons",labelNames:["topic"]}),meshPeerChurnEventsPrune:s.gauge({name:"gossipsub_peer_churn_events_prune_total",help:"Number of times we remove peers in a topic mesh for prune reasons",labelNames:["topic"]}),meshPeerChurnEventsExcess:s.gauge({name:"gossipsub_peer_churn_events_excess_total",help:"Number of times we remove peers in a topic mesh for excess reasons",labelNames:["topic"]}),meshPeerChurnEventsUnknown:s.gauge({name:"gossipsub_peer_churn_events_unknown_total",help:"Number of times we remove peers in a topic mesh for unknown reasons",labelNames:["topic"]}),peersPerProtocol:s.gauge({name:"gossipsub_peers_per_protocol_count",help:"Peers connected for each topic",labelNames:["protocol"]}),heartbeatDuration:s.histogram({name:"gossipsub_heartbeat_duration_seconds",help:"The time it takes to complete one iteration of the heartbeat",buckets:[.01,.1,1]}),heartbeatSkipped:s.gauge({name:"gossipsub_heartbeat_skipped",help:"Heartbeat run took longer than heartbeat interval so next is skipped"}),acceptedMessagesTotal:s.gauge({name:"gossipsub_accepted_messages_total",help:"Total accepted messages for each topic",labelNames:["topic"]}),ignoredMessagesTotal:s.gauge({name:"gossipsub_ignored_messages_total",help:"Total ignored messages for each topic",labelNames:["topic"]}),rejectedMessagesTotal:s.gauge({name:"gossipsub_rejected_messages_total",help:"Total rejected messages for each topic",labelNames:["topic"]}),unknownValidationResultsTotal:s.gauge({name:"gossipsub_unknown_validation_results_total",help:"Total unknown validation results for each topic",labelNames:["topic"]}),asyncValidationMcacheHit:s.gauge({name:"gossipsub_async_validation_mcache_hit_total",help:"Async validation result reported by the user layer",labelNames:["hit"]}),asyncValidationDelayFromFirstSeenSec:s.histogram({name:"gossipsub_async_validation_delay_from_first_seen",help:"Async validation report delay from first seen in second",buckets:[.01,.03,.1,.3,1,3,10]}),asyncValidationUnknownFirstSeen:s.gauge({name:"gossipsub_async_validation_unknown_first_seen_count_total",help:"Async validation report unknown first seen value for message"}),peerReadStreamError:s.gauge({name:"gossipsub_peer_read_stream_err_count_total",help:"Peer read stream error"}),rpcRecvBytes:s.gauge({name:"gossipsub_rpc_recv_bytes_total",help:"RPC recv"}),rpcRecvCount:s.gauge({name:"gossipsub_rpc_recv_count_total",help:"RPC recv"}),rpcRecvSubscription:s.gauge({name:"gossipsub_rpc_recv_subscription_total",help:"RPC recv"}),rpcRecvMessage:s.gauge({name:"gossipsub_rpc_recv_message_total",help:"RPC recv"}),rpcRecvControl:s.gauge({name:"gossipsub_rpc_recv_control_total",help:"RPC recv"}),rpcRecvIHave:s.gauge({name:"gossipsub_rpc_recv_ihave_total",help:"RPC recv"}),rpcRecvIWant:s.gauge({name:"gossipsub_rpc_recv_iwant_total",help:"RPC recv"}),rpcRecvGraft:s.gauge({name:"gossipsub_rpc_recv_graft_total",help:"RPC recv"}),rpcRecvPrune:s.gauge({name:"gossipsub_rpc_recv_prune_total",help:"RPC recv"}),rpcDataError:s.gauge({name:"gossipsub_rpc_data_err_count_total",help:"RPC data error"}),rpcRecvError:s.gauge({name:"gossipsub_rpc_recv_err_count_total",help:"RPC recv error"}),rpcRecvNotAccepted:s.gauge({name:"gossipsub_rpc_rcv_not_accepted_total",help:"Total count of RPC dropped because acceptFrom() == false"}),rpcSentBytes:s.gauge({name:"gossipsub_rpc_sent_bytes_total",help:"RPC sent"}),rpcSentCount:s.gauge({name:"gossipsub_rpc_sent_count_total",help:"RPC sent"}),rpcSentSubscription:s.gauge({name:"gossipsub_rpc_sent_subscription_total",help:"RPC sent"}),rpcSentMessage:s.gauge({name:"gossipsub_rpc_sent_message_total",help:"RPC sent"}),rpcSentControl:s.gauge({name:"gossipsub_rpc_sent_control_total",help:"RPC sent"}),rpcSentIHave:s.gauge({name:"gossipsub_rpc_sent_ihave_total",help:"RPC sent"}),rpcSentIWant:s.gauge({name:"gossipsub_rpc_sent_iwant_total",help:"RPC sent"}),rpcSentGraft:s.gauge({name:"gossipsub_rpc_sent_graft_total",help:"RPC sent"}),rpcSentPrune:s.gauge({name:"gossipsub_rpc_sent_prune_total",help:"RPC sent"}),msgPublishCount:s.gauge({name:"gossipsub_msg_publish_count_total",help:"Total count of msg published by topic",labelNames:["topic"]}),msgPublishPeersByTopic:s.gauge({name:"gossipsub_msg_publish_peers_total",help:"Total count of peers that we publish a msg to",labelNames:["topic"]}),directPeersPublishedTotal:s.gauge({name:"gossipsub_direct_peers_published_total",help:"Total direct peers that we publish a msg to",labelNames:["topic"]}),floodsubPeersPublishedTotal:s.gauge({name:"gossipsub_floodsub_peers_published_total",help:"Total floodsub peers that we publish a msg to",labelNames:["topic"]}),meshPeersPublishedTotal:s.gauge({name:"gossipsub_mesh_peers_published_total",help:"Total mesh peers that we publish a msg to",labelNames:["topic"]}),fanoutPeersPublishedTotal:s.gauge({name:"gossipsub_fanout_peers_published_total",help:"Total fanout peers that we publish a msg to",labelNames:["topic"]}),msgPublishBytes:s.gauge({name:"gossipsub_msg_publish_bytes_total",help:"Total count of msg publish data.length bytes",labelNames:["topic"]}),msgPublishTime:s.histogram({name:"gossipsub_msg_publish_seconds",help:"Total time in seconds to publish a message",buckets:[.001,.002,.005,.01,.1,.5,1],labelNames:["topic"]}),msgForwardCount:s.gauge({name:"gossipsub_msg_forward_count_total",help:"Total count of msg forwarded by topic",labelNames:["topic"]}),msgForwardPeers:s.gauge({name:"gossipsub_msg_forward_peers_total",help:"Total count of peers that we forward a msg to",labelNames:["topic"]}),msgReceivedPreValidation:s.gauge({name:"gossipsub_msg_received_prevalidation_total",help:"Total count of recv msgs before any validation",labelNames:["topic"]}),msgReceivedError:s.gauge({name:"gossipsub_msg_received_error_total",help:"Total count of recv msgs error",labelNames:["topic"]}),prevalidationInvalidTotal:s.gauge({name:"gossipsub_pre_validation_invalid_total",help:"Total count of invalid messages received",labelNames:["topic"]}),prevalidationValidTotal:s.gauge({name:"gossipsub_pre_validation_valid_total",help:"Total count of valid messages received",labelNames:["topic"]}),prevalidationDuplicateTotal:s.gauge({name:"gossipsub_pre_validation_duplicate_total",help:"Total count of duplicate messages received",labelNames:["topic"]}),prevalidationUnknownTotal:s.gauge({name:"gossipsub_pre_validation_unknown_status_total",help:"Total count of unknown_status messages received",labelNames:["topic"]}),msgReceivedInvalid:s.gauge({name:"gossipsub_msg_received_invalid_total",help:"Tracks specific reason of invalid",labelNames:["error"]}),msgReceivedInvalidByTopic:s.gauge({name:"gossipsub_msg_received_invalid_by_topic_total",help:"Tracks specific invalid message by topic",labelNames:["topic"]}),duplicateMsgDeliveryDelay:s.histogram({name:"gossisub_duplicate_msg_delivery_delay_seconds",help:"Time since the 1st duplicated message validated",labelNames:["topic"],buckets:[.25*t.maxMeshMessageDeliveriesWindowSec,.5*t.maxMeshMessageDeliveriesWindowSec,Number(t.maxMeshMessageDeliveriesWindowSec),2*t.maxMeshMessageDeliveriesWindowSec,4*t.maxMeshMessageDeliveriesWindowSec]}),duplicateMsgLateDelivery:s.gauge({name:"gossisub_duplicate_msg_late_delivery_total",help:"Total count of late duplicate message delivery by topic, which triggers P3 penalty",labelNames:["topic"]}),duplicateMsgIgnored:s.gauge({name:"gossisub_ignored_published_duplicate_msgs_total",help:"Total count of published duplicate message ignored by topic",labelNames:["topic"]}),scoreFnCalls:s.gauge({name:"gossipsub_score_fn_calls_total",help:"Total times score() is called"}),scoreFnRuns:s.gauge({name:"gossipsub_score_fn_runs_total",help:"Total times score() call actually computed computeScore(), no cache"}),scoreCachedDelta:s.histogram({name:"gossipsub_score_cache_delta",help:"Delta of score between cached values that expired",buckets:[10,100,1e3]}),peersByScoreThreshold:s.gauge({name:"gossipsub_peers_by_score_threshold_count",help:"Current count of peers by score threshold",labelNames:["threshold"]}),score:s.avgMinMax({name:"gossipsub_score",help:"Avg min max of gossip scores"}),scoreWeights:s.avgMinMax({name:"gossipsub_score_weights",help:"Separate score weights",labelNames:["topic","p"]}),scorePerMesh:s.avgMinMax({name:"gossipsub_score_per_mesh",help:"Histogram of the scores for each mesh topic",labelNames:["topic"]}),scoringPenalties:s.gauge({name:"gossipsub_scoring_penalties_total",help:"A counter of the kind of penalties being applied to peers",labelNames:["penalty"]}),behaviourPenalty:s.histogram({name:"gossipsub_peer_stat_behaviour_penalty",help:"Current peer stat behaviour_penalty at each scrape",buckets:[.25*t.behaviourPenaltyThreshold,.5*t.behaviourPenaltyThreshold,Number(t.behaviourPenaltyThreshold),2*t.behaviourPenaltyThreshold,4*t.behaviourPenaltyThreshold]}),ihaveRcvIgnored:s.gauge({name:"gossipsub_ihave_rcv_ignored_total",help:"Total received IHAVE messages that we ignore for some reason",labelNames:["reason"]}),ihaveRcvMsgids:s.gauge({name:"gossipsub_ihave_rcv_msgids_total",help:"Total received IHAVE messages by topic",labelNames:["topic"]}),ihaveRcvNotSeenMsgids:s.gauge({name:"gossipsub_ihave_rcv_not_seen_msgids_total",help:"Total messages per topic we do not have, not actual requests",labelNames:["topic"]}),iwantRcvMsgids:s.gauge({name:"gossipsub_iwant_rcv_msgids_total",help:"Total received IWANT messages by topic",labelNames:["topic"]}),iwantRcvDonthaveMsgids:s.gauge({name:"gossipsub_iwant_rcv_dont_have_msgids_total",help:"Total requested messageIDs that we do not have"}),iwantPromiseStarted:s.gauge({name:"gossipsub_iwant_promise_sent_total",help:"Total count of started IWANT promises"}),iwantPromiseResolved:s.gauge({name:"gossipsub_iwant_promise_resolved_total",help:"Total count of resolved IWANT promises"}),iwantPromiseResolvedFromDuplicate:s.gauge({name:"gossipsub_iwant_promise_resolved_from_duplicate_total",help:"Total count of resolved IWANT promises from duplicate messages"}),iwantPromiseResolvedPeers:s.gauge({name:"gossipsub_iwant_promise_resolved_peers",help:"Total count of peers we have asked IWANT promises that are resolved"}),iwantPromiseBroken:s.gauge({name:"gossipsub_iwant_promise_broken",help:"Total count of broken IWANT promises"}),iwantMessagePruned:s.gauge({name:"gossipsub_iwant_message_pruned",help:"Total count of pruned IWANT messages"}),iwantPromiseDeliveryTime:s.histogram({name:"gossipsub_iwant_promise_delivery_seconds",help:"Histogram of delivery time of resolved IWANT promises",buckets:[.5*t.gossipPromiseExpireSec,Number(t.gossipPromiseExpireSec),2*t.gossipPromiseExpireSec,4*t.gossipPromiseExpireSec]}),iwantPromiseUntracked:s.gauge({name:"gossip_iwant_promise_untracked",help:"Total count of untracked IWANT promise"}),connectedPeersBackoffSec:s.histogram({name:"gossipsub_connected_peers_backoff_seconds",help:"Backoff time in seconds",buckets:[1,2,4,10,20,60,120]}),cacheSize:s.gauge({name:"gossipsub_cache_size",help:"Unbounded cache sizes",labelNames:["cache"]}),mcacheSize:s.gauge({name:"gossipsub_mcache_size",help:"Current mcache msg count"}),mcacheNotValidatedCount:s.gauge({name:"gossipsub_mcache_not_validated_count",help:"Current mcache msg count not validated"}),fastMsgIdCacheCollision:s.gauge({name:"gossipsub_fastmsgid_cache_collision_total",help:"Total count of key collisions on fastmsgid cache put"}),newConnectionCount:s.gauge({name:"gossipsub_new_connection_total",help:"Total new connection by status",labelNames:["status"]}),topicStrToLabel:e,toTopic(r){return this.topicStrToLabel.get(r)??r},onJoin(r){this.topicSubscriptionStatus.set({topicStr:r},1),this.meshPeerCounts.set({topicStr:r},0)},onLeave(r){this.topicSubscriptionStatus.set({topicStr:r},0),this.meshPeerCounts.set({topicStr:r},0)},onAddToMesh(r,n,i){let o=this.toTopic(r);switch(n){case Ae.Fanout:this.meshPeerInclusionEventsFanout.inc({topic:o},i);break;case Ae.Random:this.meshPeerInclusionEventsRandom.inc({topic:o},i);break;case Ae.Subscribed:this.meshPeerInclusionEventsSubscribed.inc({topic:o},i);break;case Ae.Outbound:this.meshPeerInclusionEventsOutbound.inc({topic:o},i);break;case Ae.NotEnough:this.meshPeerInclusionEventsNotEnough.inc({topic:o},i);break;case Ae.Opportunistic:this.meshPeerInclusionEventsOpportunistic.inc({topic:o},i);break;default:this.meshPeerInclusionEventsUnknown.inc({topic:o},i);break}},onRemoveFromMesh(r,n,i){let o=this.toTopic(r);switch(n){case ze.Dc:this.meshPeerChurnEventsDisconnected.inc({topic:o},i);break;case ze.BadScore:this.meshPeerChurnEventsBadScore.inc({topic:o},i);break;case ze.Prune:this.meshPeerChurnEventsPrune.inc({topic:o},i);break;case ze.Excess:this.meshPeerChurnEventsExcess.inc({topic:o},i);break;default:this.meshPeerChurnEventsUnknown.inc({topic:o},i);break}},onReportValidation(r,n,i){if(this.asyncValidationMcacheHit.inc({hit:r!=null?"hit":"miss"}),r!=null){let o=this.toTopic(r.message.topic);switch(n){case Be.Accept:this.acceptedMessagesTotal.inc({topic:o});break;case Be.Ignore:this.ignoredMessagesTotal.inc({topic:o});break;case Be.Reject:this.rejectedMessagesTotal.inc({topic:o});break;default:this.unknownValidationResultsTotal.inc({topic:o});break}}i!=null?this.asyncValidationDelayFromFirstSeenSec.observe((Date.now()-i)/1e3):this.asyncValidationUnknownFirstSeen.inc()},onScorePenalty(r){this.scoringPenalties.inc({penalty:r},1)},onIhaveRcv(r,n,i){let o=this.toTopic(r);this.ihaveRcvMsgids.inc({topic:o},n),this.ihaveRcvNotSeenMsgids.inc({topic:o},i)},onIwantRcv(r,n){for(let[i,o]of r){let a=this.toTopic(i);this.iwantRcvMsgids.inc({topic:a},o)}this.iwantRcvDonthaveMsgids.inc(n)},onForwardMsg(r,n){let i=this.toTopic(r);this.msgForwardCount.inc({topic:i},1),this.msgForwardPeers.inc({topic:i},n)},onPublishMsg(r,n,i,o,a){let c=this.toTopic(r);this.msgPublishCount.inc({topic:c},1),this.msgPublishBytes.inc({topic:c},i*o),this.msgPublishPeersByTopic.inc({topic:c},i),this.directPeersPublishedTotal.inc({topic:c},n.direct),this.floodsubPeersPublishedTotal.inc({topic:c},n.floodsub),this.meshPeersPublishedTotal.inc({topic:c},n.mesh),this.fanoutPeersPublishedTotal.inc({topic:c},n.fanout),this.msgPublishTime.observe({topic:c},a/1e3)},onMsgRecvPreValidation(r){let n=this.toTopic(r);this.msgReceivedPreValidation.inc({topic:n},1)},onMsgRecvError(r){let n=this.toTopic(r);this.msgReceivedError.inc({topic:n},1)},onPrevalidationResult(r,n){let i=this.toTopic(r);switch(n){case Ee.duplicate:this.prevalidationDuplicateTotal.inc({topic:i});break;case Ee.invalid:this.prevalidationInvalidTotal.inc({topic:i});break;case Ee.valid:this.prevalidationValidTotal.inc({topic:i});break;default:this.prevalidationUnknownTotal.inc({topic:i});break}},onMsgRecvInvalid(r,n){let i=this.toTopic(r),o=n.reason===Ie.Error?n.error:n.reason;this.msgReceivedInvalid.inc({error:o},1),this.msgReceivedInvalidByTopic.inc({topic:i},1)},onDuplicateMsgDelivery(r,n,i){let o=this.toTopic(r);this.duplicateMsgDeliveryDelay.observe({topic:o},n/1e3),i&&this.duplicateMsgLateDelivery.inc({topic:o},1)},onPublishDuplicateMsg(r){let n=this.toTopic(r);this.duplicateMsgIgnored.inc({topic:n},1)},onPeerReadStreamError(){this.peerReadStreamError.inc(1)},onRpcRecvError(){this.rpcRecvError.inc(1)},onRpcDataError(){this.rpcDataError.inc(1)},onRpcRecv(r,n){this.rpcRecvBytes.inc(n),this.rpcRecvCount.inc(1),r.subscriptions!=null&&this.rpcRecvSubscription.inc(r.subscriptions.length),r.messages!=null&&this.rpcRecvMessage.inc(r.messages.length),r.control!=null&&(this.rpcRecvControl.inc(1),r.control.ihave!=null&&this.rpcRecvIHave.inc(r.control.ihave.length),r.control.iwant!=null&&this.rpcRecvIWant.inc(r.control.iwant.length),r.control.graft!=null&&this.rpcRecvGraft.inc(r.control.graft.length),r.control.prune!=null&&this.rpcRecvPrune.inc(r.control.prune.length))},onRpcSent(r,n){if(this.rpcSentBytes.inc(n),this.rpcSentCount.inc(1),r.subscriptions!=null&&this.rpcSentSubscription.inc(r.subscriptions.length),r.messages!=null&&this.rpcSentMessage.inc(r.messages.length),r.control!=null){let i=r.control.ihave?.length??0,o=r.control.iwant?.length??0,a=r.control.graft?.length??0,c=r.control.prune?.length??0;i>0&&this.rpcSentIHave.inc(i),o>0&&this.rpcSentIWant.inc(o),a>0&&this.rpcSentGraft.inc(a),c>0&&this.rpcSentPrune.inc(c),(i>0||o>0||a>0||c>0)&&this.rpcSentControl.inc(1)}},registerScores(r,n){let i=0,o=0,a=0,c=0;for(let f of r)f>=n.graylistThreshold&&i++,f>=n.publishThreshold&&o++,f>=n.gossipThreshold&&a++,f>=0&&c++;this.peersByScoreThreshold.set({threshold:bs.graylist},i),this.peersByScoreThreshold.set({threshold:bs.publish},o),this.peersByScoreThreshold.set({threshold:bs.gossip},a),this.peersByScoreThreshold.set({threshold:bs.mesh},c),this.score.set(r)},registerScoreWeights(r){for(let[n,i]of r.byTopic)this.scoreWeights.set({topic:n,p:"p1"},i.p1w),this.scoreWeights.set({topic:n,p:"p2"},i.p2w),this.scoreWeights.set({topic:n,p:"p3"},i.p3w),this.scoreWeights.set({topic:n,p:"p3b"},i.p3bw),this.scoreWeights.set({topic:n,p:"p4"},i.p4w);this.scoreWeights.set({p:"p5"},r.p5w),this.scoreWeights.set({p:"p6"},r.p6w),this.scoreWeights.set({p:"p7"},r.p7w)},registerScorePerMesh(r,n){let i=new Map;r.forEach((o,a)=>{let c=this.topicStrToLabel.get(a)??"unknown",f=i.get(c);f==null&&(f=new Set,i.set(c,f)),o.forEach(l=>f?.add(l))});for(let[o,a]of i){let c=[];a.forEach(f=>{c.push(n.get(f)??0)}),this.scorePerMesh.set({topic:o},c)}}}}var $="ERR_INVALID_PEER_SCORE_PARAMS";var Mh={topics:{},topicScoreCap:10,appSpecificScore:()=>0,appSpecificWeight:10,IPColocationFactorWeight:-5,IPColocationFactorThreshold:10,IPColocationFactorWhitelist:new Set,behaviourPenaltyWeight:-10,behaviourPenaltyThreshold:0,behaviourPenaltyDecay:.2,decayInterval:1e3,decayToZero:.1,retainScore:3600*1e3},Dh={topicWeight:.5,timeInMeshWeight:1,timeInMeshQuantum:1,timeInMeshCap:3600,firstMessageDeliveriesWeight:1,firstMessageDeliveriesDecay:.5,firstMessageDeliveriesCap:2e3,meshMessageDeliveriesWeight:-1,meshMessageDeliveriesDecay:.5,meshMessageDeliveriesCap:100,meshMessageDeliveriesThreshold:20,meshMessageDeliveriesWindow:10,meshMessageDeliveriesActivation:5e3,meshFailurePenaltyWeight:-1,meshFailurePenaltyDecay:.5,invalidMessageDeliveriesWeight:-1,invalidMessageDeliveriesDecay:.3};function La(s={}){return{...Mh,...s,topics:s.topics!=null?Object.entries(s.topics).reduce((e,[t,r])=>(e[t]=Nh(r),e),{}):{}}}function Nh(s={}){return{...Dh,...s}}function Ua(s){for(let[e,t]of Object.entries(s.topics))try{Ch(t)}catch(r){throw new T(`invalid score parameters for topic ${e}: ${r.message}`,$)}if(s.topicScoreCap<0)throw new T("invalid topic score cap; must be positive (or 0 for no cap)",$);if(s.appSpecificScore===null||s.appSpecificScore===void 0)throw new T("missing application specific score function",$);if(s.IPColocationFactorWeight>0)throw new T("invalid IPColocationFactorWeight; must be negative (or 0 to disable)",$);if(s.IPColocationFactorWeight!==0&&s.IPColocationFactorThreshold<1)throw new T("invalid IPColocationFactorThreshold; must be at least 1",$);if(s.behaviourPenaltyWeight>0)throw new T("invalid BehaviourPenaltyWeight; must be negative (or 0 to disable)",$);if(s.behaviourPenaltyWeight!==0&&(s.behaviourPenaltyDecay<=0||s.behaviourPenaltyDecay>=1))throw new T("invalid BehaviourPenaltyDecay; must be between 0 and 1",$);if(s.decayInterval<1e3)throw new T("invalid DecayInterval; must be at least 1s",$);if(s.decayToZero<=0||s.decayToZero>=1)throw new T("invalid DecayToZero; must be between 0 and 1",$)}function Ch(s){if(s.topicWeight<0)throw new T("invalid topic weight; must be >= 0",$);if(s.timeInMeshQuantum===0)throw new T("invalid TimeInMeshQuantum; must be non zero",$);if(s.timeInMeshWeight<0)throw new T("invalid TimeInMeshWeight; must be positive (or 0 to disable)",$);if(s.timeInMeshWeight!==0&&s.timeInMeshQuantum<=0)throw new T("invalid TimeInMeshQuantum; must be positive",$);if(s.timeInMeshWeight!==0&&s.timeInMeshCap<=0)throw new T("invalid TimeInMeshCap; must be positive",$);if(s.firstMessageDeliveriesWeight<0)throw new T("invallid FirstMessageDeliveriesWeight; must be positive (or 0 to disable)",$);if(s.firstMessageDeliveriesWeight!==0&&(s.firstMessageDeliveriesDecay<=0||s.firstMessageDeliveriesDecay>=1))throw new T("invalid FirstMessageDeliveriesDecay; must be between 0 and 1",$);if(s.firstMessageDeliveriesWeight!==0&&s.firstMessageDeliveriesCap<=0)throw new T("invalid FirstMessageDeliveriesCap; must be positive",$);if(s.meshMessageDeliveriesWeight>0)throw new T("invalid MeshMessageDeliveriesWeight; must be negative (or 0 to disable)",$);if(s.meshMessageDeliveriesWeight!==0&&(s.meshMessageDeliveriesDecay<=0||s.meshMessageDeliveriesDecay>=1))throw new T("invalid MeshMessageDeliveriesDecay; must be between 0 and 1",$);if(s.meshMessageDeliveriesWeight!==0&&s.meshMessageDeliveriesCap<=0)throw new T("invalid MeshMessageDeliveriesCap; must be positive",$);if(s.meshMessageDeliveriesWeight!==0&&s.meshMessageDeliveriesThreshold<=0)throw new T("invalid MeshMessageDeliveriesThreshold; must be positive",$);if(s.meshMessageDeliveriesWindow<0)throw new T("invalid MeshMessageDeliveriesWindow; must be non-negative",$);if(s.meshMessageDeliveriesWeight!==0&&s.meshMessageDeliveriesActivation<1e3)throw new T("invalid MeshMessageDeliveriesActivation; must be at least 1s",$);if(s.meshFailurePenaltyWeight>0)throw new T("invalid MeshFailurePenaltyWeight; must be negative (or 0 to disable)",$);if(s.meshFailurePenaltyWeight!==0&&(s.meshFailurePenaltyDecay<=0||s.meshFailurePenaltyDecay>=1))throw new T("invalid MeshFailurePenaltyDecay; must be between 0 and 1",$);if(s.invalidMessageDeliveriesWeight>0)throw new T("invalid InvalidMessageDeliveriesWeight; must be negative (or 0 to disable)",$);if(s.invalidMessageDeliveriesDecay<=0||s.invalidMessageDeliveriesDecay>=1)throw new T("invalid InvalidMessageDeliveriesDecay; must be between 0 and 1",$)}var Lh={gossipThreshold:-10,publishThreshold:-50,graylistThreshold:-80,acceptPXThreshold:10,opportunisticGraftThreshold:20};function Va(s={}){return{...Lh,...s}}function Rr(s,e,t=()=>!0){let r=new Set;if(e<=0)return r;for(let n of s){if(r.size>=e)break;t(n)&&(r.add(n),s.delete(n))}return r}function Oa(s,e){return Rr(s,e,()=>!0)}var Pr=class extends Map{getDefault;constructor(e){super(),this.getDefault=e}getOrDefault(e){let t=super.get(e);return t===void 0&&(t=this.getDefault(),this.set(e,t)),t}};function Fa(s,e,t,r){let n=0;Object.entries(e.topics).forEach(([o,a])=>{let c=t.topics[o];if(c===void 0)return;let f=0;if(a.inMesh){let p=a.meshTime/c.timeInMeshQuantum;p>c.timeInMeshCap&&(p=c.timeInMeshCap),f+=p*c.timeInMeshWeight}let l=a.firstMessageDeliveries;if(l>c.firstMessageDeliveriesCap&&(l=c.firstMessageDeliveriesCap),f+=l*c.firstMessageDeliveriesWeight,a.meshMessageDeliveriesActive&&a.meshMessageDeliveries0&&n>t.topicScoreCap&&(n=t.topicScoreCap);let i=t.appSpecificScore(s);if(n+=i*t.appSpecificWeight,e.knownIPs.forEach(o=>{if(t.IPColocationFactorWhitelist.has(o))return;let a=r.get(o),c=a!=null?a.size:0;if(c>t.IPColocationFactorThreshold){let f=c-t.IPColocationFactorThreshold,l=f*f;n+=l*t.IPColocationFactorWeight}}),e.behaviourPenalty>t.behaviourPenaltyThreshold){let o=e.behaviourPenalty-t.behaviourPenaltyThreshold,a=o*o;n+=a*t.behaviourPenaltyWeight}return n}var Ka=jn(Ga(),1);var ke;(function(s){s[s.unknown=0]="unknown",s[s.valid=1]="valid",s[s.invalid=2]="invalid",s[s.ignored=3]="ignored"})(ke||(ke={}));var Mr=class{records;queue;constructor(){this.records=new Map,this.queue=new Ka.default}getRecord(e){return this.records.get(e)}ensureRecord(e){let t=this.records.get(e);if(t!=null)return t;t={status:ke.unknown,firstSeenTsMs:Date.now(),validated:0,peers:new Set},this.records.set(e,t);let r={msgId:e,expire:Date.now()+12e4};return this.queue.push(r),t}gc(){let e=Date.now(),t=this.queue.peekFront();for(;t!=null&&t.expirenew Set);scoreCache=new Map;deliveryRecords=new Mr;_backgroundInterval;scoreCacheValidityMs;computeScore;log;constructor(e,t,r,n){this.params=e,this.metrics=t,Ua(e),this.scoreCacheValidityMs=n.scoreCacheValidityMs,this.computeScore=n.computeScore??Fa,this.log=r.forComponent("libp2p:gossipsub:score")}get size(){return this.peerStats.size}start(){if(this._backgroundInterval!=null){this.log("Peer score already running");return}this._backgroundInterval=setInterval(()=>{this.background()},this.params.decayInterval),this.log("started")}stop(){if(this._backgroundInterval==null){this.log("Peer score already stopped");return}clearInterval(this._backgroundInterval),delete this._backgroundInterval,this.peerIPs.clear(),this.peerStats.clear(),this.deliveryRecords.clear(),this.log("stopped")}background(){this.refreshScores(),this.deliveryRecords.gc()}dumpPeerScoreStats(){return Object.fromEntries(Array.from(this.peerStats.entries()).map(([e,t])=>[e,t]))}messageFirstSeenTimestampMs(e){let t=this.deliveryRecords.getRecord(e);return t!=null?t.firstSeenTsMs:null}refreshScores(){let e=Date.now(),t=this.params.decayToZero;this.peerStats.forEach((r,n)=>{if(!r.connected){e>r.expire&&(this.removeIPsForPeer(n,r.knownIPs),this.peerStats.delete(n),this.scoreCache.delete(n));return}Object.entries(r.topics).forEach(([i,o])=>{let a=this.params.topics[i];a!==void 0&&(o.firstMessageDeliveries*=a.firstMessageDeliveriesDecay,o.firstMessageDeliveriesa.meshMessageDeliveriesActivation&&(o.meshMessageDeliveriesActive=!0)))}),r.behaviourPenalty*=this.params.behaviourPenaltyDecay,r.behaviourPenaltyr)return n.score;this.metrics?.scoreFnRuns.inc();let i=this.computeScore(e,t,this.params,this.peerIPs),o=r+this.scoreCacheValidityMs;return n!=null?(this.metrics?.scoreCachedDelta.observe(Math.abs(i-n.score)),n.score=i,n.cacheUntil=o):this.scoreCache.set(e,{score:i,cacheUntil:o}),i}addPenalty(e,t,r){let n=this.peerStats.get(e);n!=null&&(n.behaviourPenalty+=t,this.metrics?.onScorePenalty(r))}addPeer(e){let t={connected:!0,expire:0,topics:{},knownIPs:new Set,behaviourPenalty:0};this.peerStats.set(e,t)}addIP(e,t){let r=this.peerStats.get(e);r?.knownIPs.add(t),this.peerIPs.getOrDefault(t).add(e)}removeIP(e,t){let r=this.peerStats.get(e);r?.knownIPs.delete(t);let n=this.peerIPs.get(t);n!=null&&(n.delete(e),n.size===0&&this.peerIPs.delete(t))}removePeer(e){let t=this.peerStats.get(e);if(t!=null){if(this.score(e)>0){this.removeIPsForPeer(e,t.knownIPs),this.peerStats.delete(e);return}Object.entries(t.topics).forEach(([r,n])=>{n.firstMessageDeliveries=0;let i=this.params.topics[r].meshMessageDeliveriesThreshold;if(n.inMesh&&n.meshMessageDeliveriesActive&&n.meshMessageDeliveries{o!==e.toString()&&this.markDuplicateMessageDelivery(o,r)})}rejectInvalidMessage(e,t){this.markInvalidMessageDelivery(e,t)}rejectMessage(e,t,r,n){switch(n){case Ie.Error:this.markInvalidMessageDelivery(e,r);return;case Ie.Blacklisted:return}let i=this.deliveryRecords.ensureRecord(t);if(i.status!==ke.unknown){this.log("unexpected rejection: message from %s was first seen %s ago and has delivery status %d",e,Date.now()-i.firstSeenTsMs,ke[i.status]);return}if(n===Ie.Ignore){i.status=ke.ignored,i.peers.clear();return}i.status=ke.invalid,this.markInvalidMessageDelivery(e,r),i.peers.forEach(o=>{this.markInvalidMessageDelivery(o,r)}),i.peers.clear()}duplicateMessage(e,t,r){let n=this.deliveryRecords.ensureRecord(t);if(!n.peers.has(e))switch(n.status){case ke.unknown:n.peers.add(e);break;case ke.valid:n.peers.add(e),this.markDuplicateMessageDelivery(e,r,n.validated);break;case ke.invalid:this.markInvalidMessageDelivery(e,r);break;case ke.ignored:break}}markInvalidMessageDelivery(e,t){let r=this.peerStats.get(e);if(r!=null){let n=this.getPtopicStats(r,t);n!=null&&(n.invalidMessageDeliveries+=1)}}markFirstMessageDelivery(e,t){let r=this.peerStats.get(e);if(r!=null){let n=this.getPtopicStats(r,t);if(n!=null){let i=this.params.topics[t].firstMessageDeliveriesCap;n.firstMessageDeliveries=Math.min(i,n.firstMessageDeliveries+1),n.inMesh&&(i=this.params.topics[t].meshMessageDeliveriesCap,n.meshMessageDeliveries=Math.min(i,n.meshMessageDeliveries+1))}}}markDuplicateMessageDelivery(e,t,r){let n=this.peerStats.get(e);if(n!=null){let i=r!==void 0?Date.now():0,o=this.getPtopicStats(n,t);if(o!=null&&o.inMesh){let a=this.params.topics[t];if(r!==void 0){let f=i-r,l=f>a.meshMessageDeliveriesWindow;if(this.metrics?.onDuplicateMsgDelivery(t,f,l),l)return}let c=a.meshMessageDeliveriesCap;o.meshMessageDeliveries=Math.min(c,o.meshMessageDeliveries+1)}}}removeIPsForPeer(e,t){for(let r of t){let n=this.peerIPs.get(r);n!=null&&(n.delete(e),n.size===0&&this.peerIPs.delete(r))}}getPtopicStats(e,t){let r=e.topics[t];return r!==void 0?r:this.params.topics[t]!==void 0?(r={inMesh:!1,graftTime:0,meshTime:0,firstMessageDeliveries:0,meshMessageDeliveries:0,meshMessageDeliveriesActive:!1,meshFailurePenalty:0,invalidMessageDeliveries:0},e.topics[t]=r,r):null}};function Uh(s,e,t,r,n){let i=0,o=new Map;if(Object.entries(e.topics).forEach(([h,p])=>{let g=n.get(h)??"unknown",d=t.topics[h];if(d===void 0)return;let m=o.get(g);m==null&&(m={p1w:0,p2w:0,p3w:0,p3bw:0,p4w:0},o.set(g,m));let b=0,_=0,w=0,A=0,y=0;if(p.inMesh){let D=Math.max(p.meshTime/d.timeInMeshQuantum,d.timeInMeshCap);b+=D*d.timeInMeshWeight}let x=p.firstMessageDeliveries;if(x>d.firstMessageDeliveriesCap&&(x=d.firstMessageDeliveriesCap),_+=x*d.firstMessageDeliveriesWeight,p.meshMessageDeliveriesActive&&p.meshMessageDeliveries0&&i>t.topicScoreCap){i=t.topicScoreCap;let h=t.topicScoreCap/i;for(let p of o.values())p.p1w*=h,p.p2w*=h,p.p3w*=h,p.p3bw*=h,p.p4w*=h}let a=0,c=0,f=0,l=t.appSpecificScore(s);a+=l*t.appSpecificWeight,e.knownIPs.forEach(h=>{if(t.IPColocationFactorWhitelist.has(h))return;let p=r.get(h),g=p!=null?p.size:0;if(g>t.IPColocationFactorThreshold){let d=g-t.IPColocationFactorThreshold,m=d*d;c+=m*t.IPColocationFactorWeight}});let u=e.behaviourPenalty*e.behaviourPenalty;return f+=u*t.behaviourPenaltyWeight,i+=a+c+f,{byTopic:o,p5w:a,p6w:c,p7w:f,score:i}}function za(s,e,t,r,n){let i={byTopic:new Map,p5w:[],p6w:[],p7w:[],score:[]};for(let o of s){let a=e.get(o);if(a!=null){let c=Uh(o,a,t,r,n);for(let[f,l]of c.byTopic){let u=i.byTopic.get(f);u==null&&(u={p1w:[],p2w:[],p3w:[],p3bw:[],p4w:[]},i.byTopic.set(f,u)),u.p1w.push(l.p1w),u.p2w.push(l.p2w),u.p3w.push(l.p3w),u.p3bw.push(l.p3bw),u.p4w.push(l.p4w)}i.p5w.push(c.p5w),i.p6w.push(c.p6w),i.p7w.push(c.p7w),i.score.push(c.score)}else i.p5w.push(0),i.p6w.push(0),i.p7w.push(0),i.score.push(0)}return i}var Nr=class{rawStream;pushable;closeController;maxBufferSize;constructor(e,t,r){this.rawStream=e,this.pushable=ut(),this.closeController=new AbortController,this.maxBufferSize=r.maxBufferSize??1/0,this.closeController.signal.addEventListener("abort",()=>{e.close().catch(n=>{e.abort(n)})}),gs(this.pushable,this.rawStream).catch(t)}get protocol(){return this.rawStream.protocol}push(e){if(this.pushable.readableLength>this.maxBufferSize)throw Error(`OutboundStream buffer full, size > ${this.maxBufferSize}`);this.pushable.push(fs.single(e))}pushPrefixed(e){if(this.pushable.readableLength>this.maxBufferSize)throw Error(`OutboundStream buffer full, size > ${this.maxBufferSize}`);this.pushable.push(e)}async close(){this.closeController.abort(),await this.pushable.return()}},Cr=class{source;rawStream;closeController;constructor(e,t={}){this.rawStream=e,this.closeController=new AbortController,this.closeController.signal.addEventListener("abort",()=>{e.close().catch(r=>{e.abort(r)})}),this.source=gs(this.rawStream,r=>Zs(r,t))}async close(){this.closeController.abort()}};var Lr=class{gossipsubIWantFollowupMs;msgIdToStrFn;metrics;promises=new Map;requestMsByMsg=new Map;requestMsByMsgExpire;constructor(e,t,r){this.gossipsubIWantFollowupMs=e,this.msgIdToStrFn=t,this.metrics=r,this.requestMsByMsgExpire=10*e}get size(){return this.promises.size}get requestMsByMsgSize(){return this.requestMsByMsg.size}addPromise(e,t){let r=Math.floor(Math.random()*t.length),n=t[r],i=this.msgIdToStrFn(n),o=this.promises.get(i);o==null&&(o=new Map,this.promises.set(i,o));let a=Date.now();o.has(e)||(o.set(e,a+this.gossipsubIWantFollowupMs),this.metrics!=null&&(this.metrics.iwantPromiseStarted.inc(1),this.requestMsByMsg.has(i)||this.requestMsByMsg.set(i,a)))}getBrokenPromises(){let e=Date.now(),t=new Map,r=0;return this.promises.forEach((n,i)=>{n.forEach((o,a)=>{oes,Ed25519PublicKey:()=>er,generateKeyPair:()=>jf,generateKeyPairFromSeed:()=>bc,unmarshalEd25519PrivateKey:()=>Wf,unmarshalEd25519PublicKey:()=>$f});function Fe(s){return s==null?!1:typeof s.then=="function"&&typeof s.catch=="function"&&typeof s.finally=="function"}function vs(s){if(!Number.isSafeInteger(s)||s<0)throw new Error(`positive integer expected, not ${s}`)}function Vh(s){return s instanceof Uint8Array||s!=null&&typeof s=="object"&&s.constructor.name==="Uint8Array"}function xs(s,...e){if(!Vh(s))throw new Error("Uint8Array expected");if(e.length>0&&!e.includes(s.length))throw new Error(`Uint8Array expected of length ${e}, not of length=${s.length}`)}function Ur(s){if(typeof s!="function"||typeof s.create!="function")throw new Error("Hash should be wrapped by utils.wrapConstructor");vs(s.outputLen),vs(s.blockLen)}function Es(s,e=!0){if(s.destroyed)throw new Error("Hash instance has been destroyed");if(e&&s.finished)throw new Error("Hash#digest() has already been called")}function qa(s,e){xs(s);let t=e.outputLen;if(s.lengthnew DataView(s.buffer,s.byteOffset,s.byteLength),qe=(s,e)=>s<<32-e|s>>>e;var Y0=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;var Oh=async()=>{};async function Wa(s,e,t){let r=Date.now();for(let n=0;n=0&&is().update(Rt(r)).digest(),t=s();return e.outputLen=t.outputLen,e.blockLen=t.blockLen,e.create=()=>s(),e}function Ss(s=32){if(Vr&&typeof Vr.getRandomValues=="function")return Vr.getRandomValues(new Uint8Array(s));throw new Error("crypto.getRandomValues must be defined")}function Hh(s,e,t,r){if(typeof s.setBigUint64=="function")return s.setBigUint64(e,t,r);let n=BigInt(32),i=BigInt(4294967295),o=Number(t>>n&i),a=Number(t&i),c=r?4:0,f=r?0:4;s.setUint32(e+c,o,r),s.setUint32(e+f,a,r)}var ja=(s,e,t)=>s&e^~s&t,Za=(s,e,t)=>s&e^s&t^e&t,Is=class extends _s{constructor(e,t,r,n){super(),this.blockLen=e,this.outputLen=t,this.padOffset=r,this.isLE=n,this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.buffer=new Uint8Array(e),this.view=Bs(this.buffer)}update(e){Es(this);let{view:t,buffer:r,blockLen:n}=this;e=Rt(e);let i=e.length;for(let o=0;on-o&&(this.process(r,0),o=0);for(let u=o;ul.length)throw new Error("_sha2: outputLen bigger than state");for(let u=0;u>qi&Hr)}:{h:Number(s>>qi&Hr)|0,l:Number(s&Hr)|0}}function Gh(s,e=!1){let t=new Uint32Array(s.length),r=new Uint32Array(s.length);for(let n=0;nBigInt(s>>>0)<>>0),zh=(s,e,t)=>s>>>t,qh=(s,e,t)=>s<<32-t|e>>>t,Wh=(s,e,t)=>s>>>t|e<<32-t,$h=(s,e,t)=>s<<32-t|e>>>t,jh=(s,e,t)=>s<<64-t|e>>>t-32,Zh=(s,e,t)=>s>>>t-32|e<<64-t,Yh=(s,e)=>e,Xh=(s,e)=>s,Jh=(s,e,t)=>s<>>32-t,Qh=(s,e,t)=>e<>>32-t,ef=(s,e,t)=>e<>>64-t,tf=(s,e,t)=>s<>>64-t;function sf(s,e,t,r){let n=(e>>>0)+(r>>>0);return{h:s+t+(n/2**32|0)|0,l:n|0}}var rf=(s,e,t)=>(s>>>0)+(e>>>0)+(t>>>0),nf=(s,e,t,r)=>e+t+r+(s/2**32|0)|0,of=(s,e,t,r)=>(s>>>0)+(e>>>0)+(t>>>0)+(r>>>0),af=(s,e,t,r,n)=>e+t+r+n+(s/2**32|0)|0,cf=(s,e,t,r,n)=>(s>>>0)+(e>>>0)+(t>>>0)+(r>>>0)+(n>>>0),lf=(s,e,t,r,n,i)=>e+t+r+n+i+(s/2**32|0)|0;var uf={fromBig:Ya,split:Gh,toBig:Kh,shrSH:zh,shrSL:qh,rotrSH:Wh,rotrSL:$h,rotrBH:jh,rotrBL:Zh,rotr32H:Yh,rotr32L:Xh,rotlSH:Jh,rotlSL:Qh,rotlBH:ef,rotlBL:tf,add:sf,add3L:rf,add3H:nf,add4L:of,add4H:af,add5H:lf,add5L:cf},U=uf;var[hf,ff]=U.split(["0x428a2f98d728ae22","0x7137449123ef65cd","0xb5c0fbcfec4d3b2f","0xe9b5dba58189dbbc","0x3956c25bf348b538","0x59f111f1b605d019","0x923f82a4af194f9b","0xab1c5ed5da6d8118","0xd807aa98a3030242","0x12835b0145706fbe","0x243185be4ee4b28c","0x550c7dc3d5ffb4e2","0x72be5d74f27b896f","0x80deb1fe3b1696b1","0x9bdc06a725c71235","0xc19bf174cf692694","0xe49b69c19ef14ad2","0xefbe4786384f25e3","0x0fc19dc68b8cd5b5","0x240ca1cc77ac9c65","0x2de92c6f592b0275","0x4a7484aa6ea6e483","0x5cb0a9dcbd41fbd4","0x76f988da831153b5","0x983e5152ee66dfab","0xa831c66d2db43210","0xb00327c898fb213f","0xbf597fc7beef0ee4","0xc6e00bf33da88fc2","0xd5a79147930aa725","0x06ca6351e003826f","0x142929670a0e6e70","0x27b70a8546d22ffc","0x2e1b21385c26c926","0x4d2c6dfc5ac42aed","0x53380d139d95b3df","0x650a73548baf63de","0x766a0abb3c77b2a8","0x81c2c92e47edaee6","0x92722c851482353b","0xa2bfe8a14cf10364","0xa81a664bbc423001","0xc24b8b70d0f89791","0xc76c51a30654be30","0xd192e819d6ef5218","0xd69906245565a910","0xf40e35855771202a","0x106aa07032bbd1b8","0x19a4c116b8d2d0c8","0x1e376c085141ab53","0x2748774cdf8eeb99","0x34b0bcb5e19b48a8","0x391c0cb3c5c95a63","0x4ed8aa4ae3418acb","0x5b9cca4f7763e373","0x682e6ff3d6b2b8a3","0x748f82ee5defb2fc","0x78a5636f43172f60","0x84c87814a1f0ab72","0x8cc702081a6439ec","0x90befffa23631e28","0xa4506cebde82bde9","0xbef9a3f7b2c67915","0xc67178f2e372532b","0xca273eceea26619c","0xd186b8c721c0c207","0xeada7dd6cde0eb1e","0xf57d4f7fee6ed178","0x06f067aa72176fba","0x0a637dc5a2c898a6","0x113f9804bef90dae","0x1b710b35131c471b","0x28db77f523047d84","0x32caab7b40c72493","0x3c9ebe0a15c9bebc","0x431d67c49c100d4c","0x4cc5d4becb3e42b6","0x597f299cfc657e2a","0x5fcb6fab3ad6faec","0x6c44198c4a475817"].map(s=>BigInt(s))),Mt=new Uint32Array(80),Dt=new Uint32Array(80),Wi=class extends Is{constructor(){super(128,64,16,!1),this.Ah=1779033703,this.Al=-205731576,this.Bh=-1150833019,this.Bl=-2067093701,this.Ch=1013904242,this.Cl=-23791573,this.Dh=-1521486534,this.Dl=1595750129,this.Eh=1359893119,this.El=-1377402159,this.Fh=-1694144372,this.Fl=725511199,this.Gh=528734635,this.Gl=-79577749,this.Hh=1541459225,this.Hl=327033209}get(){let{Ah:e,Al:t,Bh:r,Bl:n,Ch:i,Cl:o,Dh:a,Dl:c,Eh:f,El:l,Fh:u,Fl:h,Gh:p,Gl:g,Hh:d,Hl:m}=this;return[e,t,r,n,i,o,a,c,f,l,u,h,p,g,d,m]}set(e,t,r,n,i,o,a,c,f,l,u,h,p,g,d,m){this.Ah=e|0,this.Al=t|0,this.Bh=r|0,this.Bl=n|0,this.Ch=i|0,this.Cl=o|0,this.Dh=a|0,this.Dl=c|0,this.Eh=f|0,this.El=l|0,this.Fh=u|0,this.Fl=h|0,this.Gh=p|0,this.Gl=g|0,this.Hh=d|0,this.Hl=m|0}process(e,t){for(let w=0;w<16;w++,t+=4)Mt[w]=e.getUint32(t),Dt[w]=e.getUint32(t+=4);for(let w=16;w<80;w++){let A=Mt[w-15]|0,y=Dt[w-15]|0,x=U.rotrSH(A,y,1)^U.rotrSH(A,y,8)^U.shrSH(A,y,7),E=U.rotrSL(A,y,1)^U.rotrSL(A,y,8)^U.shrSL(A,y,7),B=Mt[w-2]|0,D=Dt[w-2]|0,N=U.rotrSH(B,D,19)^U.rotrBH(B,D,61)^U.shrSH(B,D,6),L=U.rotrSL(B,D,19)^U.rotrBL(B,D,61)^U.shrSL(B,D,6),ne=U.add4L(E,L,Dt[w-7],Dt[w-16]),re=U.add4H(ne,x,N,Mt[w-7],Mt[w-16]);Mt[w]=re|0,Dt[w]=ne|0}let{Ah:r,Al:n,Bh:i,Bl:o,Ch:a,Cl:c,Dh:f,Dl:l,Eh:u,El:h,Fh:p,Fl:g,Gh:d,Gl:m,Hh:b,Hl:_}=this;for(let w=0;w<80;w++){let A=U.rotrSH(u,h,14)^U.rotrSH(u,h,18)^U.rotrBH(u,h,41),y=U.rotrSL(u,h,14)^U.rotrSL(u,h,18)^U.rotrBL(u,h,41),x=u&p^~u&d,E=h&g^~h&m,B=U.add5L(_,y,E,ff[w],Dt[w]),D=U.add5H(B,b,A,x,hf[w],Mt[w]),N=B|0,L=U.rotrSH(r,n,28)^U.rotrBH(r,n,34)^U.rotrBH(r,n,39),ne=U.rotrSL(r,n,28)^U.rotrBL(r,n,34)^U.rotrBL(r,n,39),re=r&i^r&a^i&a,Ve=n&o^n&c^o&c;b=d|0,_=m|0,d=p|0,m=g|0,p=u|0,g=h|0,{h:u,l:h}=U.add(f|0,l|0,D|0,N|0),f=a|0,l=c|0,a=i|0,c=o|0,i=r|0,o=n|0;let S=U.add3L(N,ne,Ve);r=U.add3H(S,D,L,re),n=S|0}({h:r,l:n}=U.add(this.Ah|0,this.Al|0,r|0,n|0)),{h:i,l:o}=U.add(this.Bh|0,this.Bl|0,i|0,o|0),{h:a,l:c}=U.add(this.Ch|0,this.Cl|0,a|0,c|0),{h:f,l}=U.add(this.Dh|0,this.Dl|0,f|0,l|0),{h:u,l:h}=U.add(this.Eh|0,this.El|0,u|0,h|0),{h:p,l:g}=U.add(this.Fh|0,this.Fl|0,p|0,g|0),{h:d,l:m}=U.add(this.Gh|0,this.Gl|0,d|0,m|0),{h:b,l:_}=U.add(this.Hh|0,this.Hl|0,b|0,_|0),this.set(r,n,i,o,a,c,f,l,u,h,p,g,d,m,b,_)}roundClean(){Mt.fill(0),Dt.fill(0)}destroy(){this.buffer.fill(0),this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)}};var As=Fr(()=>new Wi);var Kr={};ue(Kr,{abytes:()=>ks,bitGet:()=>wf,bitLen:()=>yf,bitMask:()=>Js,bitSet:()=>vf,bytesToHex:()=>dt,bytesToNumberBE:()=>pt,bytesToNumberLE:()=>Ct,concatBytes:()=>gt,createHmacDrbg:()=>Zi,ensureBytes:()=>se,equalBytes:()=>mf,hexToBytes:()=>Xt,hexToNumber:()=>ji,isBytes:()=>Nt,numberToBytesBE:()=>Lt,numberToBytesLE:()=>Jt,numberToHexUnpadded:()=>ec,numberToVarBytesBE:()=>gf,utf8ToBytes:()=>bf,validateObject:()=>Xe});var Qa=BigInt(0),Gr=BigInt(1),df=BigInt(2);function Nt(s){return s instanceof Uint8Array||s!=null&&typeof s=="object"&&s.constructor.name==="Uint8Array"}function ks(s){if(!Nt(s))throw new Error("Uint8Array expected")}var pf=Array.from({length:256},(s,e)=>e.toString(16).padStart(2,"0"));function dt(s){ks(s);let e="";for(let t=0;t=ft._0&&s<=ft._9)return s-ft._0;if(s>=ft._A&&s<=ft._F)return s-(ft._A-10);if(s>=ft._a&&s<=ft._f)return s-(ft._a-10)}function Xt(s){if(typeof s!="string")throw new Error("hex string expected, got "+typeof s);let e=s.length,t=e/2;if(e%2)throw new Error("padded hex string expected, got unpadded hex of length "+e);let r=new Uint8Array(t);for(let n=0,i=0;nQa;s>>=Gr,e+=1);return e}function wf(s,e){return s>>BigInt(e)&Gr}function vf(s,e,t){return s|(t?Gr:Qa)<(df<new Uint8Array(s),Ja=s=>Uint8Array.from(s);function Zi(s,e,t){if(typeof s!="number"||s<2)throw new Error("hashLen must be a number");if(typeof e!="number"||e<2)throw new Error("qByteLen must be a number");if(typeof t!="function")throw new Error("hmacFn must be a function");let r=$i(s),n=$i(s),i=0,o=()=>{r.fill(1),n.fill(0),i=0},a=(...u)=>t(n,r,...u),c=(u=$i())=>{n=a(Ja([0]),u),r=a(),u.length!==0&&(n=a(Ja([1]),u),r=a())},f=()=>{if(i++>=1e3)throw new Error("drbg: tried 1000 values");let u=0,h=[];for(;u{o(),c(u);let p;for(;!(p=h(f()));)c();return o(),p}}var xf={bigint:s=>typeof s=="bigint",function:s=>typeof s=="function",boolean:s=>typeof s=="boolean",string:s=>typeof s=="string",stringOrUint8Array:s=>typeof s=="string"||Nt(s),isSafeInteger:s=>Number.isSafeInteger(s),array:s=>Array.isArray(s),field:(s,e)=>e.Fp.isValid(s),hash:s=>typeof s=="function"&&Number.isSafeInteger(s.outputLen)};function Xe(s,e,t={}){let r=(n,i,o)=>{let a=xf[i];if(typeof a!="function")throw new Error(`Invalid validator "${i}", expected function`);let c=s[n];if(!(o&&c===void 0)&&!a(c,s))throw new Error(`Invalid param ${String(n)}=${c} (${typeof c}), expected ${i}`)};for(let[n,i]of Object.entries(e))r(n,i,!1);for(let[n,i]of Object.entries(t))r(n,i,!0);return s}var le=BigInt(0),Y=BigInt(1),Qt=BigInt(2),Ef=BigInt(3),Yi=BigInt(4),tc=BigInt(5),sc=BigInt(8),_f=BigInt(9),Bf=BigInt(16);function j(s,e){let t=s%e;return t>=le?t:e+t}function Sf(s,e,t){if(t<=le||e 0");if(t===Y)return le;let r=Y;for(;e>le;)e&Y&&(r=r*s%t),s=s*s%t,e>>=Y;return r}function X(s,e,t){let r=s;for(;e-- >le;)r*=r,r%=t;return r}function zr(s,e){if(s===le||e<=le)throw new Error(`invert: expected positive integers, got n=${s} mod=${e}`);let t=j(s,e),r=e,n=le,i=Y,o=Y,a=le;for(;t!==le;){let f=r/t,l=r%t,u=n-o*f,h=i-a*f;r=t,t=l,n=o,i=a,o=u,a=h}if(r!==Y)throw new Error("invert: does not exist");return j(n,e)}function If(s){let e=(s-Y)/Qt,t,r,n;for(t=s-Y,r=0;t%Qt===le;t/=Qt,r++);for(n=Qt;n(j(s,e)&Y)===Y,kf=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"];function Xi(s){let e={ORDER:"bigint",MASK:"bigint",BYTES:"isSafeInteger",BITS:"isSafeInteger"},t=kf.reduce((r,n)=>(r[n]="function",r),e);return Xe(s,t)}function Tf(s,e,t){if(t 0");if(t===le)return s.ONE;if(t===Y)return e;let r=s.ONE,n=e;for(;t>le;)t&Y&&(r=s.mul(r,n)),n=s.sqr(n),t>>=Y;return r}function Pf(s,e){let t=new Array(e.length),r=e.reduce((i,o,a)=>s.is0(o)?i:(t[a]=i,s.mul(i,o)),s.ONE),n=s.inv(r);return e.reduceRight((i,o,a)=>s.is0(o)?i:(t[a]=s.mul(i,t[a]),s.mul(i,o)),n),t}function Ji(s,e){let t=e!==void 0?e:s.toString(2).length,r=Math.ceil(t/8);return{nBitLength:t,nByteLength:r}}function qr(s,e,t=!1,r={}){if(s<=le)throw new Error(`Expected Field ORDER > 0, got ${s}`);let{nBitLength:n,nByteLength:i}=Ji(s,e);if(i>2048)throw new Error("Field lengths over 2048 bytes are not supported");let o=Af(s),a=Object.freeze({ORDER:s,BITS:n,BYTES:i,MASK:Js(n),ZERO:le,ONE:Y,create:c=>j(c,s),isValid:c=>{if(typeof c!="bigint")throw new Error(`Invalid field element: expected bigint, got ${typeof c}`);return le<=c&&cc===le,isOdd:c=>(c&Y)===Y,neg:c=>j(-c,s),eql:(c,f)=>c===f,sqr:c=>j(c*c,s),add:(c,f)=>j(c+f,s),sub:(c,f)=>j(c-f,s),mul:(c,f)=>j(c*f,s),pow:(c,f)=>Tf(a,c,f),div:(c,f)=>j(c*zr(f,s),s),sqrN:c=>c*c,addN:(c,f)=>c+f,subN:(c,f)=>c-f,mulN:(c,f)=>c*f,inv:c=>zr(c,s),sqrt:r.sqrt||(c=>o(a,c)),invertBatch:c=>Pf(a,c),cmov:(c,f,l)=>l?f:c,toBytes:c=>t?Jt(c,i):Lt(c,i),fromBytes:c=>{if(c.length!==i)throw new Error(`Fp.fromBytes: expected ${i}, got ${c.length}`);return t?Ct(c):pt(c)}});return Object.freeze(a)}function nc(s,e){if(!s.isOdd)throw new Error("Field doesn't have isOdd");let t=s.sqrt(e);return s.isOdd(t)?s.neg(t):t}function ic(s){if(typeof s!="bigint")throw new Error("field order must be bigint");let e=s.toString(2).length;return Math.ceil(e/8)}function Qi(s){let e=ic(s);return e+Math.ceil(e/2)}function oc(s,e,t=!1){let r=s.length,n=ic(e),i=Qi(e);if(r<16||r1024)throw new Error(`expected ${i}-1024 bytes of input, got ${r}`);let o=t?pt(s):Ct(s),a=j(o,e-Y)+Y;return t?Jt(a,n):Lt(a,n)}var Mf=BigInt(0),eo=BigInt(1);function Wr(s,e){let t=(n,i)=>{let o=i.negate();return n?o:i},r=n=>{let i=Math.ceil(e/n)+1,o=2**(n-1);return{windows:i,windowSize:o}};return{constTimeNegate:t,unsafeLadder(n,i){let o=s.ZERO,a=n;for(;i>Mf;)i&eo&&(o=o.add(a)),a=a.double(),i>>=eo;return o},precomputeWindow(n,i){let{windows:o,windowSize:a}=r(i),c=[],f=n,l=f;for(let u=0;u>=p,m>c&&(m-=h,o+=eo);let b=d,_=d+Math.abs(m)-1,w=g%2!==0,A=m<0;m===0?l=l.add(t(w,i[b])):f=f.add(t(A,i[_]))}return{p:f,f:l}},wNAFCached(n,i,o,a){let c=n._WINDOW_SIZE||1,f=i.get(n);return f||(f=this.precomputeWindow(n,c),c!==1&&i.set(n,a(f))),this.wNAF(c,f,o)}}}function Qs(s){return Xi(s.Fp),Xe(s,{n:"bigint",h:"bigint",Gx:"field",Gy:"field"},{nBitLength:"isSafeInteger",nByteLength:"isSafeInteger"}),Object.freeze({...Ji(s.n,s.nBitLength),...s,p:s.Fp.ORDER})}var We=BigInt(0),Le=BigInt(1),$r=BigInt(2),Df=BigInt(8),Nf={zip215:!0};function Cf(s){let e=Qs(s);return Xe(s,{hash:"function",a:"bigint",d:"bigint",randomBytes:"function"},{adjustScalarBytes:"function",domain:"function",uvRatio:"function",mapToCurve:"function"}),Object.freeze({...e})}function jr(s){let e=Cf(s),{Fp:t,n:r,prehash:n,hash:i,randomBytes:o,nByteLength:a,h:c}=e,f=$r<{try{return{isValid:!0,value:t.sqrt(I*t.inv(v))}}catch{return{isValid:!1,value:We}}}),h=e.adjustScalarBytes||(I=>I),p=e.domain||((I,v,P)=>{if(v.length||P)throw new Error("Contexts/pre-hash are not supported");return I}),g=I=>typeof I=="bigint"&&Weg(I)&&g(v)&&II===We||d(I,f);function b(I,v){if(d(I,v))return I;throw new Error(`Expected valid scalar < ${v}, got ${typeof I} ${I}`)}function _(I){return I===We?I:b(I,r)}let w=new Map;function A(I){if(!(I instanceof y))throw new Error("ExtendedPoint expected")}class y{constructor(v,P,M,C){if(this.ex=v,this.ey=P,this.ez=M,this.et=C,!m(v))throw new Error("x required");if(!m(P))throw new Error("y required");if(!m(M))throw new Error("z required");if(!m(C))throw new Error("t required")}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static fromAffine(v){if(v instanceof y)throw new Error("extended point not allowed");let{x:P,y:M}=v||{};if(!m(P)||!m(M))throw new Error("invalid affine point");return new y(P,M,Le,l(P*M))}static normalizeZ(v){let P=t.invertBatch(v.map(M=>M.ez));return v.map((M,C)=>M.toAffine(P[C])).map(y.fromAffine)}_setWindowSize(v){this._WINDOW_SIZE=v,w.delete(this)}assertValidity(){let{a:v,d:P}=e;if(this.is0())throw new Error("bad point: ZERO");let{ex:M,ey:C,ez:O,et:F}=this,z=l(M*M),G=l(C*C),K=l(O*O),ie=l(K*K),ee=l(z*v),fe=l(K*l(ee+G)),de=l(ie+l(P*l(z*G)));if(fe!==de)throw new Error("bad point: equation left != right (1)");let ae=l(M*C),ge=l(O*F);if(ae!==ge)throw new Error("bad point: equation left != right (2)")}equals(v){A(v);let{ex:P,ey:M,ez:C}=this,{ex:O,ey:F,ez:z}=v,G=l(P*z),K=l(O*C),ie=l(M*z),ee=l(F*C);return G===K&&ie===ee}is0(){return this.equals(y.ZERO)}negate(){return new y(l(-this.ex),this.ey,this.ez,l(-this.et))}double(){let{a:v}=e,{ex:P,ey:M,ez:C}=this,O=l(P*P),F=l(M*M),z=l($r*l(C*C)),G=l(v*O),K=P+M,ie=l(l(K*K)-O-F),ee=G+F,fe=ee-z,de=G-F,ae=l(ie*fe),ge=l(ee*de),ot=l(ie*de),zt=l(fe*ee);return new y(ae,ge,zt,ot)}add(v){A(v);let{a:P,d:M}=e,{ex:C,ey:O,ez:F,et:z}=this,{ex:G,ey:K,ez:ie,et:ee}=v;if(P===BigInt(-1)){let Mo=l((O-C)*(K+G)),Do=l((O+C)*(K-G)),Wn=l(Do-Mo);if(Wn===We)return this.double();let No=l(F*$r*ee),Co=l(z*$r*ie),Lo=Co+No,Uo=Do+Mo,Vo=Co-No,Wl=l(Lo*Wn),$l=l(Uo*Vo),jl=l(Lo*Vo),Zl=l(Wn*Uo);return new y(Wl,$l,Zl,jl)}let fe=l(C*G),de=l(O*K),ae=l(z*M*ee),ge=l(F*ie),ot=l((C+O)*(G+K)-fe-de),zt=ge-ae,Fs=ge+ae,Ro=l(de-P*fe),Gl=l(ot*zt),Kl=l(Fs*Ro),zl=l(ot*Ro),ql=l(zt*Fs);return new y(Gl,Kl,ql,zl)}subtract(v){return this.add(v.negate())}wNAF(v){return B.wNAFCached(this,w,v,y.normalizeZ)}multiply(v){let{p:P,f:M}=this.wNAF(b(v,r));return y.normalizeZ([P,M])[0]}multiplyUnsafe(v){let P=_(v);return P===We?E:this.equals(E)||P===Le?this:this.equals(x)?this.wNAF(P).p:B.unsafeLadder(this,P)}isSmallOrder(){return this.multiplyUnsafe(c).is0()}isTorsionFree(){return B.unsafeLadder(this,r).is0()}toAffine(v){let{ex:P,ey:M,ez:C}=this,O=this.is0();v==null&&(v=O?Df:t.inv(C));let F=l(P*v),z=l(M*v),G=l(C*v);if(O)return{x:We,y:Le};if(G!==Le)throw new Error("invZ was invalid");return{x:F,y:z}}clearCofactor(){let{h:v}=e;return v===Le?this:this.multiplyUnsafe(v)}static fromHex(v,P=!1){let{d:M,a:C}=e,O=t.BYTES;v=se("pointHex",v,O);let F=v.slice(),z=v[O-1];F[O-1]=z&-129;let G=Ct(F);G===We||(P?b(G,f):b(G,t.ORDER));let K=l(G*G),ie=l(K-Le),ee=l(M*K-C),{isValid:fe,value:de}=u(ie,ee);if(!fe)throw new Error("Point.fromHex: invalid y coordinate");let ae=(de&Le)===Le,ge=(z&128)!==0;if(!P&&de===We&&ge)throw new Error("Point.fromHex: x=0 and x_0=1");return ge!==ae&&(de=l(-de)),y.fromAffine({x:de,y:G})}static fromPrivateKey(v){return L(v).point}toRawBytes(){let{x:v,y:P}=this.toAffine(),M=Jt(P,t.BYTES);return M[M.length-1]|=v&Le?128:0,M}toHex(){return dt(this.toRawBytes())}}y.BASE=new y(e.Gx,e.Gy,Le,l(e.Gx*e.Gy)),y.ZERO=new y(We,Le,Le,We);let{BASE:x,ZERO:E}=y,B=Wr(y,a*8);function D(I){return j(I,r)}function N(I){return D(Ct(I))}function L(I){let v=a;I=se("private key",I,v);let P=se("hashed private key",i(I),2*v),M=h(P.slice(0,v)),C=P.slice(v,2*v),O=N(M),F=x.multiply(O),z=F.toRawBytes();return{head:M,prefix:C,scalar:O,point:F,pointBytes:z}}function ne(I){return L(I).pointBytes}function re(I=new Uint8Array,...v){let P=gt(...v);return N(i(p(P,se("context",I),!!n)))}function Ve(I,v,P={}){I=se("message",I),n&&(I=n(I));let{prefix:M,scalar:C,pointBytes:O}=L(v),F=re(P.context,M,I),z=x.multiply(F).toRawBytes(),G=re(P.context,z,O,I),K=D(F+G*C);_(K);let ie=gt(z,Jt(K,t.BYTES));return se("result",ie,a*2)}let S=Nf;function R(I,v,P,M=S){let{context:C,zip215:O}=M,F=t.BYTES;I=se("signature",I,2*F),v=se("message",v),n&&(v=n(v));let z=Ct(I.slice(F,2*F)),G,K,ie;try{G=y.fromHex(P,O),K=y.fromHex(I.slice(0,F),O),ie=x.multiplyUnsafe(z)}catch{return!1}if(!O&&G.isSmallOrder())return!1;let ee=re(C,K.toRawBytes(),G.toRawBytes(),v);return K.add(G.multiplyUnsafe(ee)).subtract(ie).clearCofactor().equals(y.ZERO)}return x._setWindowSize(8),{CURVE:e,getPublicKey:ne,sign:Ve,verify:R,ExtendedPoint:y,utils:{getExtendedPublicKey:L,randomPrivateKey:()=>o(t.BYTES),precompute(I=8,v=y.BASE){return v._setWindowSize(I),v.multiply(BigInt(3)),v}}}}var so=BigInt("57896044618658097711785492504343953926634992332820282019728792003956564819949"),ac=BigInt("19681161376707505956807079304988542015446066515923890162744021073123829784752"),yb=BigInt(0),Lf=BigInt(1),to=BigInt(2),Uf=BigInt(5),cc=BigInt(10),Vf=BigInt(20),Of=BigInt(40),lc=BigInt(80);function Ff(s){let e=so,r=s*s%e*s%e,n=X(r,to,e)*r%e,i=X(n,Lf,e)*s%e,o=X(i,Uf,e)*i%e,a=X(o,cc,e)*o%e,c=X(a,Vf,e)*a%e,f=X(c,Of,e)*c%e,l=X(f,lc,e)*f%e,u=X(l,lc,e)*f%e,h=X(u,cc,e)*o%e;return{pow_p_5_8:X(h,to,e)*s%e,b2:r}}function Hf(s){return s[0]&=248,s[31]&=127,s[31]|=64,s}function Gf(s,e){let t=so,r=j(e*e*e,t),n=j(r*r*e,t),i=Ff(s*n).pow_p_5_8,o=j(s*r*i,t),a=j(e*o*o,t),c=o,f=j(o*ac,t),l=a===s,u=a===j(-s,t),h=a===j(-s*ac,t);return l&&(o=c),(u||h)&&(o=f),rc(o,t)&&(o=j(-o,t)),{isValid:l||u,value:o}}var mt=qr(so,void 0,!0),ro={a:BigInt(-1),d:BigInt("37095705934669439343138083508754565189542113879843219016388785533085940283555"),Fp:mt,n:BigInt("7237005577332262213973186563042994240857116359379907606001950938285454250989"),h:BigInt(8),Gx:BigInt("15112221349535400772501151409588531511454012693041857206046113283949847762202"),Gy:BigInt("46316835694926478169428394003475163141307993866256225615783033603165251855960"),hash:As,randomBytes:Ss,adjustScalarBytes:Hf,uvRatio:Gf},Ts=jr(ro);function uc(s,e,t){if(e.length>255)throw new Error("Context is too big");return Or(zi("SigEd25519 no Ed25519 collisions"),new Uint8Array([t?1:0,e.length]),e,s)}var wb=jr({...ro,domain:uc}),vb=jr({...ro,domain:uc,prehash:As});var Kf=(mt.ORDER+BigInt(3))/BigInt(8),xb=mt.pow(to,Kf),Eb=mt.sqrt(mt.neg(mt.ONE)),_b=(mt.ORDER-BigInt(5))/BigInt(8),Bb=BigInt(486662);var Sb=nc(mt,mt.neg(BigInt(486664)));var Ib=BigInt("25063068953384623474111414158702152701244531502492656460079210482610430750235"),Ab=BigInt("54469307008909316920995813868745141605393597292927456921205312896311721017578"),kb=BigInt("1159843021668779879193775521855586647937357759715417654439879720876111806838"),Tb=BigInt("40440834346308536858101042469323190826248399146238708352240133220865137265952");var Pb=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");var Ps=32,bt=64,Zr=32;function hc(){let s=Ts.utils.randomPrivateKey(),e=Ts.getPublicKey(s);return{privateKey:gc(s,e),publicKey:e}}function fc(s){if(s.length!==Zr)throw new TypeError('"seed" must be 32 bytes in length.');if(!(s instanceof Uint8Array))throw new TypeError('"seed" must be a node.js Buffer, or Uint8Array.');let e=s,t=Ts.getPublicKey(e);return{privateKey:gc(e,t),publicKey:t}}function dc(s,e){let t=s.subarray(0,Zr);return Ts.sign(e instanceof Uint8Array?e:e.subarray(),t)}function pc(s,e,t){return Ts.verify(e,t instanceof Uint8Array?t:t.subarray(),s)}function gc(s,e){let t=new Uint8Array(bt);for(let r=0;rGi(io)})(J||(J={}));var Je;(function(s){let e;s.codec=()=>(e==null&&(e=De((t,r,n={})=>{n.lengthDelimited!==!1&&r.fork(),t.Type!=null&&(r.uint32(8),J.codec().encode(t.Type,r)),t.Data!=null&&(r.uint32(18),r.bytes(t.Data)),n.lengthDelimited!==!1&&r.ldelim()},(t,r)=>{let n={},i=r==null?t.len:t.pos+r;for(;t.pos>>3){case 1:n.Type=J.codec().decode(t);break;case 2:n.Data=t.bytes();break;default:t.skipType(o&7);break}}return n})),e),s.encode=t=>Me(t,s.codec()),s.decode=t=>Re(t,s.codec())})(Je||(Je={}));var Qe;(function(s){let e;s.codec=()=>(e==null&&(e=De((t,r,n={})=>{n.lengthDelimited!==!1&&r.fork(),t.Type!=null&&(r.uint32(8),J.codec().encode(t.Type,r)),t.Data!=null&&(r.uint32(18),r.bytes(t.Data)),n.lengthDelimited!==!1&&r.ldelim()},(t,r)=>{let n={},i=r==null?t.len:t.pos+r;for(;t.pos>>3){case 1:n.Type=J.codec().decode(t);break;case 2:n.Data=t.bytes();break;default:t.skipType(o&7);break}}return n})),e),s.encode=t=>Me(t,s.codec()),s.decode=t=>Re(t,s.codec())})(Qe||(Qe={}));var er=class{_key;constructor(e){this._key=Ms(e,Ps)}verify(e,t){return pc(this._key,t,e)}marshal(){return this._key}get bytes(){return Je.encode({Type:J.Ed25519,Data:this.marshal()}).subarray()}equals(e){return be(this.bytes,e.bytes)}hash(){let e=ce.digest(this.bytes);return Fe(e)?e.then(({bytes:t})=>t):e.bytes}},es=class{_key;_publicKey;constructor(e,t){this._key=Ms(e,bt),this._publicKey=Ms(t,Ps)}sign(e){return dc(this._key,e)}get public(){return new er(this._publicKey)}marshal(){return this._key}get bytes(){return Qe.encode({Type:J.Ed25519,Data:this.marshal()}).subarray()}equals(e){return be(this.bytes,e.bytes)}async hash(){let e=ce.digest(this.bytes),t;return Fe(e)?{bytes:t}=await e:t=e.bytes,t}async id(){let e=ls.digest(this.public.bytes);return me.encode(e.bytes).substring(1)}async export(e,t="libp2p-key"){if(t==="libp2p-key")return Rs(this.bytes,e);throw new T(`export format '${t}' is not supported`,"ERR_INVALID_EXPORT_FORMAT")}};function Wf(s){if(s.length>bt){s=Ms(s,bt+Ps);let r=s.subarray(0,bt),n=s.subarray(bt,s.length);return new es(r,n)}s=Ms(s,bt);let e=s.subarray(0,bt),t=s.subarray(Ps);return new es(e,t)}function $f(s){return s=Ms(s,Ps),new er(s)}async function jf(){let{privateKey:s,publicKey:e}=hc();return new es(s,e)}async function bc(s){let{privateKey:e,publicKey:t}=fc(s);return new es(e,t)}function Ms(s,e){if(s=Uint8Array.from(s??[]),s.length!==e)throw new T(`Key must be a Uint8Array of length ${e}, got ${s.length}`,"ERR_INVALID_KEY_TYPE");return s}function W(s,e="utf8"){let t=Ir[e];if(t==null)throw new Error(`Unsupported encoding "${e}"`);return t.encoder.encode(s).substring(1)}var bo={};ue(bo,{MAX_RSA_KEY_SIZE:()=>fr,RsaPrivateKey:()=>Us,RsaPublicKey:()=>hr,fromJwk:()=>xd,generateKeyPair:()=>Ed,unmarshalRsaPrivateKey:()=>go,unmarshalRsaPublicKey:()=>vd});function et(s){if(isNaN(s)||s<=0)throw new T("random bytes length must be a Number bigger than 0","ERR_INVALID_LENGTH");return Ss(s)}var Ft={};ue(Ft,{exportToPem:()=>gd,importFromPem:()=>md,jwkToPkcs1:()=>hd,jwkToPkix:()=>dd,pkcs1ToJwk:()=>ud,pkixToJwk:()=>fd});var Xr=class extends _s{constructor(e,t){super(),this.finished=!1,this.destroyed=!1,Ur(e);let r=Rt(t);if(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,i=new Uint8Array(n);i.set(r.length>n?e.create().update(r).digest():r);for(let o=0;onew Xr(s,e).update(t).digest();tr.create=(s,e)=>new Xr(s,e);function Zf(s,e,t,r){Ur(s);let n=$a({dkLen:32,asyncTick:10},r),{c:i,dkLen:o,asyncTick:a}=n;if(vs(i),vs(o),vs(a),i<1)throw new Error("PBKDF2: iterations (c) should be >= 1");let c=Rt(e),f=Rt(t),l=new Uint8Array(o),u=tr.create(s,c),h=u._cloneInto().update(f);return{c:i,dkLen:o,asyncTick:a,DK:l,PRF:u,PRFSalt:h}}function Yf(s,e,t,r,n){return s.destroy(),e.destroy(),r&&r.destroy(),n.fill(0),t}async function ao(s,e,t,r){let{c:n,dkLen:i,asyncTick:o,DK:a,PRF:c,PRFSalt:f}=Zf(s,e,t,r),l,u=new Uint8Array(4),h=Bs(u),p=new Uint8Array(c.outputLen);for(let g=1,d=0;d{c._cloneInto(l).update(p).digestInto(p);for(let b=0;b=0;r--)t+=s[s.length-1-r]*Math.pow(2,e*r);return t}function Ut(s,e,t=-1){let r=t,n=s,i=0,o=Math.pow(2,e);for(let a=1;a<8;a++){if(s=0;l--){let u=Math.pow(2,l*e);f[i-l-1]=Math.floor(n/u),n-=f[i-l-1]*u}return c}o*=Math.pow(2,e)}return new ArrayBuffer(0)}function en(...s){let e=0,t=0;for(let i of s)e+=i.length;let r=new ArrayBuffer(e),n=new Uint8Array(r);for(let i of s)n.set(i,t),t+=i.length;return n}function lo(){let s=new Uint8Array(this.valueHex);if(this.valueHex.byteLength>=2){let a=s[0]===255&&s[1]&128,c=s[0]===0&&(s[1]&128)===0;(a||c)&&this.warnings.push("Needlessly long format")}let e=new ArrayBuffer(this.valueHex.byteLength),t=new Uint8Array(e);for(let a=0;a"u")throw new Error("BigInt is not defined. Your environment doesn't implement BigInt.")}function uo(s){let e=0,t=0;for(let n=0;n=i.length)return this.error="End of input reached before message was fully decoded",-1;if(c===l){l+=255;let h=new Uint8Array(l);for(let p=0;p8)return this.error="Too big integer",-1;if(o+1>i.length)return this.error="End of input reached before message was fully decoded",-1;let a=t+1,c=n.subarray(a,a+o);return c[o-1]===0&&this.warnings.push("Needlessly long encoded length"),this.length=ts(c,8),this.longFormUsed&&this.length<=127&&this.warnings.push("Unnecessary usage of long length form"),this.blockLength=o+1,t+this.blockLength}toBER(e=!1){let t,r;if(this.length>127&&(this.longFormUsed=!0),this.isIndefiniteForm)return t=new ArrayBuffer(1),e===!1&&(r=new Uint8Array(t),r[0]=128),t;if(this.longFormUsed){let n=Ut(this.length,8);if(n.byteLength>127)return this.error="Too big length",je;if(t=new ArrayBuffer(n.byteLength+1),e)return t;let i=new Uint8Array(n);r=new Uint8Array(t),r[0]=n.byteLength|128;for(let o=0;o=37&&n.idBlock.isHexOnly===!1)return n.error="UNIVERSAL 37 and upper tags are reserved by ASN.1 standard",{offset:-1,result:n};switch(n.idBlock.tagNumber){case 0:if(n.idBlock.isConstructed&&n.lenBlock.length>0)return n.error="Type [UNIVERSAL 0] is reserved",{offset:-1,result:n};c=k.EndOfContent;break;case 1:c=k.Boolean;break;case 2:c=k.Integer;break;case 3:c=k.BitString;break;case 4:c=k.OctetString;break;case 5:c=k.Null;break;case 6:c=k.ObjectIdentifier;break;case 10:c=k.Enumerated;break;case 12:c=k.Utf8String;break;case 13:c=k.RelativeObjectIdentifier;break;case 14:c=k.TIME;break;case 15:return n.error="[UNIVERSAL 15] is reserved by ASN.1 standard",{offset:-1,result:n};case 16:c=k.Sequence;break;case 17:c=k.Set;break;case 18:c=k.NumericString;break;case 19:c=k.PrintableString;break;case 20:c=k.TeletexString;break;case 21:c=k.VideotexString;break;case 22:c=k.IA5String;break;case 23:c=k.UTCTime;break;case 24:c=k.GeneralizedTime;break;case 25:c=k.GraphicString;break;case 26:c=k.VisibleString;break;case 27:c=k.GeneralString;break;case 28:c=k.UniversalString;break;case 29:c=k.CharacterString;break;case 30:c=k.BmpString;break;case 31:c=k.DATE;break;case 32:c=k.TimeOfDay;break;case 33:c=k.DateTime;break;case 34:c=k.Duration;break;default:{let f=n.idBlock.isConstructed?new k.Constructed:new k.Primitive;f.idBlock=n.idBlock,f.lenBlock=n.lenBlock,f.warnings=n.warnings,n=f}}break;case 2:case 3:case 4:default:c=n.idBlock.isConstructed?k.Constructed:k.Primitive}return n=id(n,c),a=n.fromBER(s,e,n.lenBlock.isIndefiniteForm?t:n.lenBlock.length),n.valueBeforeDecodeView=s.subarray(r,r+n.blockLength),{offset:a,result:n}}function Ls(s){if(!s.byteLength){let e=new pe({},_e);return e.error="Input buffer has zero length",{offset:-1,result:e}}return Fn(H.BufferSourceConverter.toUint8Array(s).slice(),0,s.byteLength)}function od(s,e){return s?1:e}var tt=class extends _e{constructor({value:e=[],isIndefiniteForm:t=!1,...r}={}){super(r),this.value=e,this.isIndefiniteForm=t}fromBER(e,t,r){let n=H.BufferSourceConverter.toUint8Array(e);if(!Et(this,n,t,r))return-1;if(this.valueBeforeDecodeView=n.subarray(t,t+r),this.valueBeforeDecodeView.length===0)return this.warnings.push("Zero buffer length"),t;let i=t;for(;od(this.isIndefiniteForm,r)>0;){let o=Fn(n,i,r);if(o.offset===-1)return this.error=o.result.error,this.warnings.concat(o.result.warnings),-1;if(i=o.offset,this.blockLength+=o.result.blockLength,r-=o.result.blockLength,this.value.push(o.result),this.isIndefiniteForm&&o.result.constructor.NAME===nr)break}return this.isIndefiniteForm&&(this.value[this.value.length-1].constructor.NAME===nr?this.value.pop():this.warnings.push("No EndOfContent block encoded")),i}toBER(e,t){let r=t||new rr;for(let n=0;n{var jl=Object.create;var lr=Object.defineProperty;var Zl=Object.getOwnPropertyDescriptor;var Jl=Object.getOwnPropertyNames;var Xl=Object.getPrototypeOf,Yl=Object.prototype.hasOwnProperty;var Vo=(s,e)=>()=>(e||s((e={exports:{}}).exports,e),e.exports),ve=(s,e)=>{for(var t in e)lr(s,t,{get:e[t],enumerable:!0})},Oo=(s,e,t,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of Jl(e))!Yl.call(s,n)&&n!==t&&lr(s,n,{get:()=>e[n],enumerable:!(r=Zl(e,n))||r.enumerable});return s};var Ho=(s,e,t)=>(t=s!=null?jl(Xl(s)):{},Oo(e||!s||!s.__esModule?lr(t,"default",{value:s,enumerable:!0}):t,s)),Ql=s=>Oo(lr({},"__esModule",{value:!0}),s);var za=Vo(ys=>{"use strict";var Pf="[object ArrayBuffer]",pt=class s{static isArrayBuffer(e){return Object.prototype.toString.call(e)===Pf}static toArrayBuffer(e){return this.isArrayBuffer(e)?e:e.byteLength===e.buffer.byteLength||e.byteOffset===0&&e.byteLength===e.buffer.byteLength?e.buffer:this.toUint8Array(e.buffer).slice(e.byteOffset,e.byteOffset+e.byteLength).buffer}static toUint8Array(e){return this.toView(e,Uint8Array)}static toView(e,t){if(e.constructor===t)return e;if(this.isArrayBuffer(e))return new t(e);if(this.isArrayBufferView(e))return new t(e.buffer,e.byteOffset,e.byteLength);throw new TypeError("The provided value is not of type '(ArrayBuffer or ArrayBufferView)'")}static isBufferSource(e){return this.isArrayBufferView(e)||this.isArrayBuffer(e)}static isArrayBufferView(e){return ArrayBuffer.isView(e)||e&&this.isArrayBuffer(e.buffer)}static isEqual(e,t){let r=s.toUint8Array(e),n=s.toUint8Array(t);if(r.length!==n.byteLength)return!1;for(let i=0;in.byteLength).reduce((n,i)=>n+i),t=new Uint8Array(e),r=0;return s.map(n=>new Uint8Array(n)).forEach(n=>{for(let i of n)t[r++]=i}),t.buffer}function Lf(s,e){if(!(s&&e)||s.byteLength!==e.byteLength)return!1;let t=new Uint8Array(s),r=new Uint8Array(e);for(let n=0;n{"use strict";function Q(s,t){var t=t||{};this._capacity=t.capacity,this._head=0,this._tail=0,Array.isArray(s)?this._fromArray(s):(this._capacityMask=3,this._list=new Array(4))}Q.prototype.peekAt=function(e){var t=e;if(t===(t|0)){var r=this.size();if(!(t>=r||t<-r))return t<0&&(t+=r),t=this._head+t&this._capacityMask,this._list[t]}};Q.prototype.get=function(e){return this.peekAt(e)};Q.prototype.peek=function(){if(this._head!==this._tail)return this._list[this._head]};Q.prototype.peekFront=function(){return this.peek()};Q.prototype.peekBack=function(){return this.peekAt(-1)};Object.defineProperty(Q.prototype,"length",{get:function(){return this.size()}});Q.prototype.size=function(){return this._head===this._tail?0:this._headthis._capacity&&this.pop(),this._head1e4&&this._tail<=this._list.length>>>2&&this._shrinkArray(),t}};Q.prototype.push=function(e){if(arguments.length===0)return this.size();var t=this._tail;return this._list[t]=e,this._tail=t+1&this._capacityMask,this._tail===this._head&&this._growArray(),this._capacity&&this.size()>this._capacity&&this.shift(),this._head1e4&&e<=t>>>2&&this._shrinkArray(),r}};Q.prototype.removeOne=function(e){var t=e;if(t===(t|0)&&this._head!==this._tail){var r=this.size(),n=this._list.length;if(!(t>=r||t<-r)){t<0&&(t+=r),t=this._head+t&this._capacityMask;var i=this._list[t],o;if(e0;o--)this._list[t]=this._list[t=t-1+n&this._capacityMask];this._list[t]=void 0,this._head=this._head+1+n&this._capacityMask}else{for(o=r-1-e;o>0;o--)this._list[t]=this._list[t=t+1+n&this._capacityMask];this._list[t]=void 0,this._tail=this._tail-1+n&this._capacityMask}return i}}};Q.prototype.remove=function(e,t){var r=e,n,i=t;if(r===(r|0)&&this._head!==this._tail){var o=this.size(),a=this._list.length;if(!(r>=o||r<-o||t<1)){if(r<0&&(r+=o),t===1||!t)return n=new Array(1),n[0]=this.removeOne(r),n;if(r===0&&r+t>=o)return n=this.toArray(),this.clear(),n;r+t>o&&(t=o-r);var c;for(n=new Array(t),c=0;c0;c--)this._list[r=r+1+a&this._capacityMask]=void 0;return n}if(e===0){for(this._head=this._head+t+a&this._capacityMask,c=t-1;c>0;c--)this._list[r=r+1+a&this._capacityMask]=void 0;return n}if(r0;c--)this.unshift(this._list[r=r-1+a&this._capacityMask]);for(r=this._head-1+a&this._capacityMask;i>0;)this._list[r=r-1+a&this._capacityMask]=void 0,i--;e<0&&(this._tail=r)}else{for(this._tail=r,r=r+t+a&this._capacityMask,c=o-(t+e);c>0;c--)this.push(this._list[r++]);for(r=this._tail;i>0;)this._list[r=r+1+a&this._capacityMask]=void 0,i--}return this._head<2&&this._tail>1e4&&this._tail<=a>>>2&&this._shrinkArray(),n}}};Q.prototype.splice=function(e,t){var r=e;if(r===(r|0)){var n=this.size();if(r<0&&(r+=n),!(r>n))if(arguments.length>2){var i,o,a,c=arguments.length,f=this._list.length,l=2;if(!n||r0&&(this._head=this._head+r+f&this._capacityMask)):(a=this.remove(r,t),this._head=this._head+r+f&this._capacityMask);c>l;)this.unshift(arguments[--c]);for(i=r;i>0;i--)this.unshift(o[i-1])}else{o=new Array(n-(r+t));var u=o.length;for(i=0;ithis._tail){for(c=this._head;c>>=1,this._capacityMask>>>=1};Q.prototype._nextPowerOf2=function(e){var t=Math.log(e)/Math.log(2),r=1<$n,gossipsub:()=>np,multicodec:()=>rp});var Zn=Symbol.for("@libp2p/peer-id");var Ht="StrictSign",es="StrictNoSign",xe;(function(s){s.Accept="accept",s.Ignore="ignore",s.Reject="reject"})(xe||(xe={}));var K=class extends Error{code;props;constructor(e,t,r){super(e),this.code=t,this.name=r?.name??"CodeError",this.props=r??{}}};var j=class extends Error{constructor(e="Invalid parameters"){super(e),this.name="InvalidParametersError"}},ts=class extends Error{constructor(e="Invalid public key"){super(e),this.name="InvalidPublicKeyError"}};var ur=class extends Error{constructor(e="Invalid Multihash"){super(e),this.name="InvalidMultihashError"}};var ss=class extends Error{constructor(e="Unsupported key type"){super(e),this.name="UnsupportedKeyTypeError"}};var Ko=(s,...e)=>{try{[...e]}catch{}};var hr=class extends EventTarget{#e=new Map;constructor(){super(),Ko(1/0,this)}listenerCount(e){let t=this.#e.get(e);return t==null?0:t.length}addEventListener(e,t,r){super.addEventListener(e,t,r);let n=this.#e.get(e);n==null&&(n=[],this.#e.set(e,n)),n.push({callback:t,once:(r!==!0&&r!==!1&&r?.once)??!1})}removeEventListener(e,t,r){super.removeEventListener(e.toString(),t??null,r);let n=this.#e.get(e);n!=null&&(n=n.filter(({callback:i})=>i!==t),this.#e.set(e,n))}dispatchEvent(e){let t=super.dispatchEvent(e),r=this.#e.get(e.type);return r==null||(r=r.filter(({once:n})=>!n),this.#e.set(e.type,r)),t}safeDispatchEvent(e,t={}){return this.dispatchEvent(new CustomEvent(e,t))}};var Go=Symbol.for("@libp2p/service-capabilities"),zo=Symbol.for("@libp2p/service-dependencies");var ei={};ve(ei,{base58btc:()=>se,base58flickr:()=>iu});var Lp=new Uint8Array(0);function qo(s,e){if(s===e)return!0;if(s.byteLength!==e.byteLength)return!1;for(let t=0;t=255)throw new TypeError("Alphabet too long");for(var t=new Uint8Array(256),r=0;r>>0,A=new Uint8Array(E);b!==v;){for(var w=g[b],S=0,B=E-1;(w!==0||S>>0,A[B]=w%a>>>0,w=w/a>>>0;if(w!==0)throw new Error("Non-zero carry");m=S,b++}for(var I=E-m;I!==E&&A[I]===0;)I++;for(var M=c.repeat(d);I>>0,E=new Uint8Array(v);g[d];){var A=t[g.charCodeAt(d)];if(A===255)return;for(var w=0,S=v-1;(A!==0||w>>0,E[S]=A%256>>>0,A=A/256>>>0;if(A!==0)throw new Error("Non-zero carry");b=w,d++}if(g[d]!==" "){for(var B=v-b;B!==v&&E[B]===0;)B++;for(var I=new Uint8Array(m+(v-B)),M=m;B!==v;)I[M++]=E[B++];return I}}}function p(g){var d=h(g);if(d)return d;throw new Error(`Non-${e} character`)}return{encode:u,decodeUnsafe:h,decode:p}}var tu=eu,su=tu,Zo=su;var Jn=class{name;prefix;baseEncode;constructor(e,t,r){this.name=e,this.prefix=t,this.baseEncode=r}encode(e){if(e instanceof Uint8Array)return`${this.prefix}${this.baseEncode(e)}`;throw Error("Unknown type, must be binary type")}},Xn=class{name;prefix;baseDecode;prefixCodePoint;constructor(e,t,r){if(this.name=e,this.prefix=t,t.codePointAt(0)===void 0)throw new Error("Invalid prefix character");this.prefixCodePoint=t.codePointAt(0),this.baseDecode=r}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 Jo(this,e)}},Yn=class{decoders;constructor(e){this.decoders=e}or(e){return Jo(this,e)}decode(e){let t=e[0],r=this.decoders[t];if(r!=null)return r.decode(e);throw RangeError(`Unable to decode multibase string ${JSON.stringify(e)}, only inputs prefixed with ${Object.keys(this.decoders)} are supported`)}};function Jo(s,e){return new Yn({...s.decoders??{[s.prefix]:s},...e.decoders??{[e.prefix]:e}})}var Qn=class{name;prefix;baseEncode;baseDecode;encoder;decoder;constructor(e,t,r,n){this.name=e,this.prefix=t,this.baseEncode=r,this.baseDecode=n,this.encoder=new Jn(e,t,r),this.decoder=new Xn(e,t,n)}encode(e){return this.encoder.encode(e)}decode(e){return this.decoder.decode(e)}};function rs({name:s,prefix:e,encode:t,decode:r}){return new Qn(s,e,t,r)}function Et({name:s,prefix:e,alphabet:t}){let{encode:r,decode:n}=Zo(t,s);return rs({prefix:e,name:s,encode:r,decode:i=>at(n(i))})}function ru(s,e,t,r){let n={};for(let l=0;l=8&&(a-=8,o[f++]=255&c>>a)}if(a>=t||255&c<<8-a)throw new SyntaxError("Unexpected end of data");return o}function nu(s,e,t){let r=e[e.length-1]==="=",n=(1<t;)o-=t,i+=e[n&a>>o];if(o!==0&&(i+=e[n&a<Kt,base32hex:()=>lu,base32hexpad:()=>hu,base32hexpadupper:()=>fu,base32hexupper:()=>uu,base32pad:()=>au,base32padupper:()=>cu,base32upper:()=>ou,base32z:()=>du});var Kt=ee({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),ou=ee({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),au=ee({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),cu=ee({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),lu=ee({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),uu=ee({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),hu=ee({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),fu=ee({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),du=ee({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var pu=Qo,Xo=128,gu=127,mu=~gu,bu=Math.pow(2,31);function Qo(s,e,t){e=e||[],t=t||0;for(var r=t;s>=bu;)e[t++]=s&255|Xo,s/=128;for(;sμ)e[t++]=s&255|Xo,s>>>=7;return e[t]=s|0,Qo.bytes=t-r+1,e}var yu=si,wu=128,Yo=127;function si(s,r){var t=0,r=r||0,n=0,i=r,o,a=s.length;do{if(i>=a)throw si.bytes=0,new RangeError("Could not decode varint");o=s[i++],t+=n<28?(o&Yo)<=wu);return si.bytes=i-r,t}var vu=Math.pow(2,7),xu=Math.pow(2,14),Eu=Math.pow(2,21),Su=Math.pow(2,28),Bu=Math.pow(2,35),Iu=Math.pow(2,42),_u=Math.pow(2,49),Au=Math.pow(2,56),ku=Math.pow(2,63),Tu=function(s){return s{let[u,h]=Rs(e.subarray(t));return t+=h,u},n=r(),i=Ns;if(n===18?(n=0,t=0):i=r(),n!==0&&n!==1)throw new RangeError(`Invalid CID version ${n}`);let o=t,a=r(),c=r(),f=t+c,l=f-o;return{version:n,codec:i,multihashCode:a,digestSize:c,multihashSize:l,size:f}}static parse(e,t){let[r,n]=Cu(e,t),i=s.decode(n);if(i.version===0&&e[0]!=="Q")throw Error("Version 0 CID string must not include multibase prefix");return ri(i).set(r,e),i}};function Cu(s,e){switch(s[0]){case"Q":{let t=e??se;return[se.prefix,t.decode(`${se.prefix}${s}`)]}case se.prefix:{let t=e??se;return[se.prefix,t.decode(s)]}case Kt.prefix:{let t=e??Kt;return[Kt.prefix,t.decode(s)]}default:{if(e==null)throw Error("To parse non base32 or base58btc encoded CID multibase decoder must be provided");return[s[0],e.decode(s)]}}}function Du(s,e,t){let{prefix:r}=t;if(r!==se.prefix)throw Error(`Cannot string encode V0 in ${t.name} encoding`);let n=e.get(r);if(n==null){let i=t.encode(s).slice(1);return e.set(r,i),i}else return n}function Ru(s,e,t){let{prefix:r}=t,n=e.get(r);if(n==null){let i=t.encode(s);return e.set(r,i),i}else return n}var Ns=112,Nu=18;function ra(s,e,t){let r=is(s),n=r+is(e),i=new Uint8Array(n+t.byteLength);return ns(s,i,0),ns(e,i,r),i.set(t,n),i}var Lu=Symbol.for("@ipld/js-cid/CID");var ni={};ve(ni,{identity:()=>ct});var na=0,Uu="identity",ia=at;function Fu(s){return Ge(na,ia(s))}var ct={code:na,name:Uu,encode:ia,digest:Fu};function Fe(s,e){if(s===e)return!0;if(s.byteLength!==e.byteLength)return!1;for(let t=0;t0&&!e.includes(s.length))throw new Error(`Uint8Array expected of length ${e}, not of length=${s.length}`)}function dr(s){if(typeof s!="function"||typeof s.create!="function")throw new Error("Hash should be wrapped by utils.wrapConstructor");as(s.outputLen),as(s.blockLen)}function ls(s,e=!0){if(s.destroyed)throw new Error("Hash instance has been destroyed");if(e&&s.finished)throw new Error("Hash#digest() has already been called")}function oa(s,e){cs(s);let t=e.outputLen;if(s.lengthnew DataView(s.buffer,s.byteOffset,s.byteLength),qe=(s,e)=>s<<32-e|s>>>e;var rg=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;var Ou=async()=>{};async function aa(s,e,t){let r=Date.now();for(let n=0;n=0&&is().update(St(r)).digest(),t=s();return e.outputLen=t.outputLen,e.blockLen=t.blockLen,e.create=()=>s(),e}function fs(s=32){if(pr&&typeof pr.getRandomValues=="function")return pr.getRandomValues(new Uint8Array(s));throw new Error("crypto.getRandomValues must be defined")}function Ku(s,e,t,r){if(typeof s.setBigUint64=="function")return s.setBigUint64(e,t,r);let n=BigInt(32),i=BigInt(4294967295),o=Number(t>>n&i),a=Number(t&i),c=r?4:0,f=r?0:4;s.setUint32(e+c,o,r),s.setUint32(e+f,a,r)}var ua=(s,e,t)=>s&e^~s&t,ha=(s,e,t)=>s&e^s&t^e&t,ds=class extends us{constructor(e,t,r,n){super(),this.blockLen=e,this.outputLen=t,this.padOffset=r,this.isLE=n,this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.buffer=new Uint8Array(e),this.view=hs(this.buffer)}update(e){ls(this);let{view:t,buffer:r,blockLen:n}=this;e=St(e);let i=e.length;for(let o=0;on-o&&(this.process(r,0),o=0);for(let u=o;ul.length)throw new Error("_sha2: outputLen bigger than state");for(let u=0;u>oi&mr)}:{h:Number(s>>oi&mr)|0,l:Number(s&mr)|0}}function Gu(s,e=!1){let t=new Uint32Array(s.length),r=new Uint32Array(s.length);for(let n=0;nBigInt(s>>>0)<>>0),qu=(s,e,t)=>s>>>t,Wu=(s,e,t)=>s<<32-t|e>>>t,$u=(s,e,t)=>s>>>t|e<<32-t,ju=(s,e,t)=>s<<32-t|e>>>t,Zu=(s,e,t)=>s<<64-t|e>>>t-32,Ju=(s,e,t)=>s>>>t-32|e<<64-t,Xu=(s,e)=>e,Yu=(s,e)=>s,Qu=(s,e,t)=>s<>>32-t,eh=(s,e,t)=>e<>>32-t,th=(s,e,t)=>e<>>64-t,sh=(s,e,t)=>s<>>64-t;function rh(s,e,t,r){let n=(e>>>0)+(r>>>0);return{h:s+t+(n/2**32|0)|0,l:n|0}}var nh=(s,e,t)=>(s>>>0)+(e>>>0)+(t>>>0),ih=(s,e,t,r)=>e+t+r+(s/2**32|0)|0,oh=(s,e,t,r)=>(s>>>0)+(e>>>0)+(t>>>0)+(r>>>0),ah=(s,e,t,r,n)=>e+t+r+n+(s/2**32|0)|0,ch=(s,e,t,r,n)=>(s>>>0)+(e>>>0)+(t>>>0)+(r>>>0)+(n>>>0),lh=(s,e,t,r,n,i)=>e+t+r+n+i+(s/2**32|0)|0;var uh={fromBig:fa,split:Gu,toBig:zu,shrSH:qu,shrSL:Wu,rotrSH:$u,rotrSL:ju,rotrBH:Zu,rotrBL:Ju,rotr32H:Xu,rotr32L:Yu,rotlSH:Qu,rotlSL:eh,rotlBH:th,rotlBL:sh,add:rh,add3L:nh,add3H:ih,add4L:oh,add4H:ah,add5H:lh,add5L:ch},L=uh;var[hh,fh]=L.split(["0x428a2f98d728ae22","0x7137449123ef65cd","0xb5c0fbcfec4d3b2f","0xe9b5dba58189dbbc","0x3956c25bf348b538","0x59f111f1b605d019","0x923f82a4af194f9b","0xab1c5ed5da6d8118","0xd807aa98a3030242","0x12835b0145706fbe","0x243185be4ee4b28c","0x550c7dc3d5ffb4e2","0x72be5d74f27b896f","0x80deb1fe3b1696b1","0x9bdc06a725c71235","0xc19bf174cf692694","0xe49b69c19ef14ad2","0xefbe4786384f25e3","0x0fc19dc68b8cd5b5","0x240ca1cc77ac9c65","0x2de92c6f592b0275","0x4a7484aa6ea6e483","0x5cb0a9dcbd41fbd4","0x76f988da831153b5","0x983e5152ee66dfab","0xa831c66d2db43210","0xb00327c898fb213f","0xbf597fc7beef0ee4","0xc6e00bf33da88fc2","0xd5a79147930aa725","0x06ca6351e003826f","0x142929670a0e6e70","0x27b70a8546d22ffc","0x2e1b21385c26c926","0x4d2c6dfc5ac42aed","0x53380d139d95b3df","0x650a73548baf63de","0x766a0abb3c77b2a8","0x81c2c92e47edaee6","0x92722c851482353b","0xa2bfe8a14cf10364","0xa81a664bbc423001","0xc24b8b70d0f89791","0xc76c51a30654be30","0xd192e819d6ef5218","0xd69906245565a910","0xf40e35855771202a","0x106aa07032bbd1b8","0x19a4c116b8d2d0c8","0x1e376c085141ab53","0x2748774cdf8eeb99","0x34b0bcb5e19b48a8","0x391c0cb3c5c95a63","0x4ed8aa4ae3418acb","0x5b9cca4f7763e373","0x682e6ff3d6b2b8a3","0x748f82ee5defb2fc","0x78a5636f43172f60","0x84c87814a1f0ab72","0x8cc702081a6439ec","0x90befffa23631e28","0xa4506cebde82bde9","0xbef9a3f7b2c67915","0xc67178f2e372532b","0xca273eceea26619c","0xd186b8c721c0c207","0xeada7dd6cde0eb1e","0xf57d4f7fee6ed178","0x06f067aa72176fba","0x0a637dc5a2c898a6","0x113f9804bef90dae","0x1b710b35131c471b","0x28db77f523047d84","0x32caab7b40c72493","0x3c9ebe0a15c9bebc","0x431d67c49c100d4c","0x4cc5d4becb3e42b6","0x597f299cfc657e2a","0x5fcb6fab3ad6faec","0x6c44198c4a475817"].map(s=>BigInt(s))),Bt=new Uint32Array(80),It=new Uint32Array(80),ai=class extends ds{constructor(){super(128,64,16,!1),this.Ah=1779033703,this.Al=-205731576,this.Bh=-1150833019,this.Bl=-2067093701,this.Ch=1013904242,this.Cl=-23791573,this.Dh=-1521486534,this.Dl=1595750129,this.Eh=1359893119,this.El=-1377402159,this.Fh=-1694144372,this.Fl=725511199,this.Gh=528734635,this.Gl=-79577749,this.Hh=1541459225,this.Hl=327033209}get(){let{Ah:e,Al:t,Bh:r,Bl:n,Ch:i,Cl:o,Dh:a,Dl:c,Eh:f,El:l,Fh:u,Fl:h,Gh:p,Gl:g,Hh:d,Hl:m}=this;return[e,t,r,n,i,o,a,c,f,l,u,h,p,g,d,m]}set(e,t,r,n,i,o,a,c,f,l,u,h,p,g,d,m){this.Ah=e|0,this.Al=t|0,this.Bh=r|0,this.Bl=n|0,this.Ch=i|0,this.Cl=o|0,this.Dh=a|0,this.Dl=c|0,this.Eh=f|0,this.El=l|0,this.Fh=u|0,this.Fl=h|0,this.Gh=p|0,this.Gl=g|0,this.Hh=d|0,this.Hl=m|0}process(e,t){for(let E=0;E<16;E++,t+=4)Bt[E]=e.getUint32(t),It[E]=e.getUint32(t+=4);for(let E=16;E<80;E++){let A=Bt[E-15]|0,w=It[E-15]|0,S=L.rotrSH(A,w,1)^L.rotrSH(A,w,8)^L.shrSH(A,w,7),B=L.rotrSL(A,w,1)^L.rotrSL(A,w,8)^L.shrSL(A,w,7),I=Bt[E-2]|0,M=It[E-2]|0,D=L.rotrSH(I,M,19)^L.rotrBH(I,M,61)^L.shrSH(I,M,6),U=L.rotrSL(I,M,19)^L.rotrBL(I,M,61)^L.shrSL(I,M,6),re=L.add4L(B,U,It[E-7],It[E-16]),oe=L.add4H(re,S,D,Bt[E-7],Bt[E-16]);Bt[E]=oe|0,It[E]=re|0}let{Ah:r,Al:n,Bh:i,Bl:o,Ch:a,Cl:c,Dh:f,Dl:l,Eh:u,El:h,Fh:p,Fl:g,Gh:d,Gl:m,Hh:b,Hl:v}=this;for(let E=0;E<80;E++){let A=L.rotrSH(u,h,14)^L.rotrSH(u,h,18)^L.rotrBH(u,h,41),w=L.rotrSL(u,h,14)^L.rotrSL(u,h,18)^L.rotrBL(u,h,41),S=u&p^~u&d,B=h&g^~h&m,I=L.add5L(v,w,B,fh[E],It[E]),M=L.add5H(I,b,A,S,hh[E],Bt[E]),D=I|0,U=L.rotrSH(r,n,28)^L.rotrBH(r,n,34)^L.rotrBH(r,n,39),re=L.rotrSL(r,n,28)^L.rotrBL(r,n,34)^L.rotrBL(r,n,39),oe=r&i^r&a^i&a,P=n&o^n&c^o&c;b=d|0,v=m|0,d=p|0,m=g|0,p=u|0,g=h|0,{h:u,l:h}=L.add(f|0,l|0,M|0,D|0),f=a|0,l=c|0,a=i|0,c=o|0,i=r|0,o=n|0;let x=L.add3L(D,re,P);r=L.add3H(x,M,U,oe),n=x|0}({h:r,l:n}=L.add(this.Ah|0,this.Al|0,r|0,n|0)),{h:i,l:o}=L.add(this.Bh|0,this.Bl|0,i|0,o|0),{h:a,l:c}=L.add(this.Ch|0,this.Cl|0,a|0,c|0),{h:f,l}=L.add(this.Dh|0,this.Dl|0,f|0,l|0),{h:u,l:h}=L.add(this.Eh|0,this.El|0,u|0,h|0),{h:p,l:g}=L.add(this.Fh|0,this.Fl|0,p|0,g|0),{h:d,l:m}=L.add(this.Gh|0,this.Gl|0,d|0,m|0),{h:b,l:v}=L.add(this.Hh|0,this.Hl|0,b|0,v|0),this.set(r,n,i,o,a,c,f,l,u,h,p,g,d,m,b,v)}roundClean(){Bt.fill(0),It.fill(0)}destroy(){this.buffer.fill(0),this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)}};var Ls=gr(()=>new ai);var yr={};ve(yr,{aInRange:()=>Pe,abool:()=>We,abytes:()=>ps,bitGet:()=>wh,bitLen:()=>yh,bitMask:()=>Fs,bitSet:()=>vh,bytesToHex:()=>ut,bytesToNumberBE:()=>ht,bytesToNumberLE:()=>At,concatBytes:()=>ft,createHmacDrbg:()=>fi,ensureBytes:()=>te,equalBytes:()=>mh,hexToBytes:()=>Gt,hexToNumber:()=>hi,inRange:()=>Us,isBytes:()=>_t,memoized:()=>qt,notImplemented:()=>Eh,numberToBytesBE:()=>kt,numberToBytesLE:()=>zt,numberToHexUnpadded:()=>ga,numberToVarBytesBE:()=>gh,utf8ToBytes:()=>bh,validateObject:()=>Qe});var ui=BigInt(0),br=BigInt(1),dh=BigInt(2);function _t(s){return s instanceof Uint8Array||s!=null&&typeof s=="object"&&s.constructor.name==="Uint8Array"}function ps(s){if(!_t(s))throw new Error("Uint8Array expected")}function We(s,e){if(typeof e!="boolean")throw new Error(`${s} must be valid boolean, got "${e}".`)}var ph=Array.from({length:256},(s,e)=>e.toString(16).padStart(2,"0"));function ut(s){ps(s);let e="";for(let t=0;t=lt._0&&s<=lt._9)return s-lt._0;if(s>=lt._A&&s<=lt._F)return s-(lt._A-10);if(s>=lt._a&&s<=lt._f)return s-(lt._a-10)}function Gt(s){if(typeof s!="string")throw new Error("hex string expected, got "+typeof s);let e=s.length,t=e/2;if(e%2)throw new Error("padded hex string expected, got unpadded hex of length "+e);let r=new Uint8Array(t);for(let n=0,i=0;ntypeof s=="bigint"&&ui<=s;function Us(s,e,t){return ci(s)&&ci(e)&&ci(t)&&e<=s&&sui;s>>=br,e+=1);return e}function wh(s,e){return s>>BigInt(e)&br}function vh(s,e,t){return s|(t?br:ui)<(dh<new Uint8Array(s),pa=s=>Uint8Array.from(s);function fi(s,e,t){if(typeof s!="number"||s<2)throw new Error("hashLen must be a number");if(typeof e!="number"||e<2)throw new Error("qByteLen must be a number");if(typeof t!="function")throw new Error("hmacFn must be a function");let r=li(s),n=li(s),i=0,o=()=>{r.fill(1),n.fill(0),i=0},a=(...u)=>t(n,r,...u),c=(u=li())=>{n=a(pa([0]),u),r=a(),u.length!==0&&(n=a(pa([1]),u),r=a())},f=()=>{if(i++>=1e3)throw new Error("drbg: tried 1000 values");let u=0,h=[];for(;u{o(),c(u);let p;for(;!(p=h(f()));)c();return o(),p}}var xh={bigint:s=>typeof s=="bigint",function:s=>typeof s=="function",boolean:s=>typeof s=="boolean",string:s=>typeof s=="string",stringOrUint8Array:s=>typeof s=="string"||_t(s),isSafeInteger:s=>Number.isSafeInteger(s),array:s=>Array.isArray(s),field:(s,e)=>e.Fp.isValid(s),hash:s=>typeof s=="function"&&Number.isSafeInteger(s.outputLen)};function Qe(s,e,t={}){let r=(n,i,o)=>{let a=xh[i];if(typeof a!="function")throw new Error(`Invalid validator "${i}", expected function`);let c=s[n];if(!(o&&c===void 0)&&!a(c,s))throw new Error(`Invalid param ${String(n)}=${c} (${typeof c}), expected ${i}`)};for(let[n,i]of Object.entries(e))r(n,i,!1);for(let[n,i]of Object.entries(t))r(n,i,!0);return s}var Eh=()=>{throw new Error("not implemented")};function qt(s){let e=new WeakMap;return(t,...r)=>{let n=e.get(t);if(n!==void 0)return n;let i=s(t,...r);return e.set(t,i),i}}var ce=BigInt(0),Z=BigInt(1),Wt=BigInt(2),Sh=BigInt(3),di=BigInt(4),ma=BigInt(5),ba=BigInt(8),Bh=BigInt(9),Ih=BigInt(16);function q(s,e){let t=s%e;return t>=ce?t:e+t}function _h(s,e,t){if(t<=ce||e 0");if(t===Z)return ce;let r=Z;for(;e>ce;)e&Z&&(r=r*s%t),s=s*s%t,e>>=Z;return r}function J(s,e,t){let r=s;for(;e-- >ce;)r*=r,r%=t;return r}function wr(s,e){if(s===ce||e<=ce)throw new Error(`invert: expected positive integers, got n=${s} mod=${e}`);let t=q(s,e),r=e,n=ce,i=Z,o=Z,a=ce;for(;t!==ce;){let f=r/t,l=r%t,u=n-o*f,h=i-a*f;r=t,t=l,n=o,i=a,o=u,a=h}if(r!==Z)throw new Error("invert: does not exist");return q(n,e)}function Ah(s){let e=(s-Z)/Wt,t,r,n;for(t=s-Z,r=0;t%Wt===ce;t/=Wt,r++);for(n=Wt;n(q(s,e)&Z)===Z,Th=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"];function pi(s){let e={ORDER:"bigint",MASK:"bigint",BYTES:"isSafeInteger",BITS:"isSafeInteger"},t=Th.reduce((r,n)=>(r[n]="function",r),e);return Qe(s,t)}function Ph(s,e,t){if(t 0");if(t===ce)return s.ONE;if(t===Z)return e;let r=s.ONE,n=e;for(;t>ce;)t&Z&&(r=s.mul(r,n)),n=s.sqr(n),t>>=Z;return r}function Mh(s,e){let t=new Array(e.length),r=e.reduce((i,o,a)=>s.is0(o)?i:(t[a]=i,s.mul(i,o)),s.ONE),n=s.inv(r);return e.reduceRight((i,o,a)=>s.is0(o)?i:(t[a]=s.mul(i,t[a]),s.mul(i,o)),n),t}function gi(s,e){let t=e!==void 0?e:s.toString(2).length,r=Math.ceil(t/8);return{nBitLength:t,nByteLength:r}}function vr(s,e,t=!1,r={}){if(s<=ce)throw new Error(`Expected Field ORDER > 0, got ${s}`);let{nBitLength:n,nByteLength:i}=gi(s,e);if(i>2048)throw new Error("Field lengths over 2048 bytes are not supported");let o=kh(s),a=Object.freeze({ORDER:s,BITS:n,BYTES:i,MASK:Fs(n),ZERO:ce,ONE:Z,create:c=>q(c,s),isValid:c=>{if(typeof c!="bigint")throw new Error(`Invalid field element: expected bigint, got ${typeof c}`);return ce<=c&&cc===ce,isOdd:c=>(c&Z)===Z,neg:c=>q(-c,s),eql:(c,f)=>c===f,sqr:c=>q(c*c,s),add:(c,f)=>q(c+f,s),sub:(c,f)=>q(c-f,s),mul:(c,f)=>q(c*f,s),pow:(c,f)=>Ph(a,c,f),div:(c,f)=>q(c*wr(f,s),s),sqrN:c=>c*c,addN:(c,f)=>c+f,subN:(c,f)=>c-f,mulN:(c,f)=>c*f,inv:c=>wr(c,s),sqrt:r.sqrt||(c=>o(a,c)),invertBatch:c=>Mh(a,c),cmov:(c,f,l)=>l?f:c,toBytes:c=>t?zt(c,i):kt(c,i),fromBytes:c=>{if(c.length!==i)throw new Error(`Fp.fromBytes: expected ${i}, got ${c.length}`);return t?At(c):ht(c)}});return Object.freeze(a)}function wa(s){if(typeof s!="bigint")throw new Error("field order must be bigint");let e=s.toString(2).length;return Math.ceil(e/8)}function mi(s){let e=wa(s);return e+Math.ceil(e/2)}function va(s,e,t=!1){let r=s.length,n=wa(e),i=mi(e);if(r<16||r1024)throw new Error(`expected ${i}-1024 bytes of input, got ${r}`);let o=t?ht(s):At(s),a=q(o,e-Z)+Z;return t?zt(a,n):kt(a,n)}var Dh=BigInt(0),bi=BigInt(1),yi=new WeakMap,xa=new WeakMap;function xr(s,e){let t=(i,o)=>{let a=o.negate();return i?a:o},r=i=>{if(!Number.isSafeInteger(i)||i<=0||i>e)throw new Error(`Wrong window size=${i}, should be [1..${e}]`)},n=i=>{r(i);let o=Math.ceil(e/i)+1,a=2**(i-1);return{windows:o,windowSize:a}};return{constTimeNegate:t,unsafeLadder(i,o){let a=s.ZERO,c=i;for(;o>Dh;)o&bi&&(a=a.add(c)),c=c.double(),o>>=bi;return a},precomputeWindow(i,o){let{windows:a,windowSize:c}=n(o),f=[],l=i,u=l;for(let h=0;h>=g,b>f&&(b-=p,a+=bi);let v=m,E=m+Math.abs(b)-1,A=d%2!==0,w=b<0;b===0?u=u.add(t(A,o[v])):l=l.add(t(w,o[E]))}return{p:l,f:u}},wNAFCached(i,o,a){let c=xa.get(i)||1,f=yi.get(i);return f||(f=this.precomputeWindow(i,c),c!==1&&yi.set(i,a(f))),this.wNAF(c,f,o)},setWindowSize(i,o){r(o),xa.set(i,o),yi.delete(i)}}}function Vs(s){return pi(s.Fp),Qe(s,{n:"bigint",h:"bigint",Gx:"field",Gy:"field"},{nBitLength:"isSafeInteger",nByteLength:"isSafeInteger"}),Object.freeze({...gi(s.n,s.nBitLength),...s,p:s.Fp.ORDER})}var $e=BigInt(0),Me=BigInt(1),Er=BigInt(2),Rh=BigInt(8),Nh={zip215:!0};function Lh(s){let e=Vs(s);return Qe(s,{hash:"function",a:"bigint",d:"bigint",randomBytes:"function"},{adjustScalarBytes:"function",domain:"function",uvRatio:"function",mapToCurve:"function"}),Object.freeze({...e})}function Ea(s){let e=Lh(s),{Fp:t,n:r,prehash:n,hash:i,randomBytes:o,nByteLength:a,h:c}=e,f=Er<{try{return{isValid:!0,value:t.sqrt(x*t.inv(y))}}catch{return{isValid:!1,value:$e}}}),h=e.adjustScalarBytes||(x=>x),p=e.domain||((x,y,_)=>{if(We("phflag",_),y.length||_)throw new Error("Contexts/pre-hash are not supported");return x});function g(x,y){Pe("coordinate "+x,y,$e,f)}function d(x){if(!(x instanceof v))throw new Error("ExtendedPoint expected")}let m=qt((x,y)=>{let{ex:_,ey:k,ez:C}=x,R=x.is0();y==null&&(y=R?Rh:t.inv(C));let N=l(_*y),O=l(k*y),F=l(C*y);if(R)return{x:$e,y:Me};if(F!==Me)throw new Error("invZ was invalid");return{x:N,y:O}}),b=qt(x=>{let{a:y,d:_}=e;if(x.is0())throw new Error("bad point: ZERO");let{ex:k,ey:C,ez:R,et:N}=x,O=l(k*k),F=l(C*C),H=l(R*R),X=l(H*H),Y=l(O*y),ke=l(H*l(Y+F)),le=l(X+l(_*l(O*F)));if(ke!==le)throw new Error("bad point: equation left != right (1)");let ae=l(k*C),He=l(R*N);if(ae!==He)throw new Error("bad point: equation left != right (2)");return!0});class v{constructor(y,_,k,C){this.ex=y,this.ey=_,this.ez=k,this.et=C,g("x",y),g("y",_),g("z",k),g("t",C),Object.freeze(this)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static fromAffine(y){if(y instanceof v)throw new Error("extended point not allowed");let{x:_,y:k}=y||{};return g("x",_),g("y",k),new v(_,k,Me,l(_*k))}static normalizeZ(y){let _=t.invertBatch(y.map(k=>k.ez));return y.map((k,C)=>k.toAffine(_[C])).map(v.fromAffine)}_setWindowSize(y){w.setWindowSize(this,y)}assertValidity(){b(this)}equals(y){d(y);let{ex:_,ey:k,ez:C}=this,{ex:R,ey:N,ez:O}=y,F=l(_*O),H=l(R*C),X=l(k*O),Y=l(N*C);return F===H&&X===Y}is0(){return this.equals(v.ZERO)}negate(){return new v(l(-this.ex),this.ey,this.ez,l(-this.et))}double(){let{a:y}=e,{ex:_,ey:k,ez:C}=this,R=l(_*_),N=l(k*k),O=l(Er*l(C*C)),F=l(y*R),H=_+k,X=l(l(H*H)-R-N),Y=F+N,ke=Y-O,le=F-N,ae=l(X*ke),He=l(Y*le),ue=l(X*le),Ke=l(ke*Y);return new v(ae,He,Ke,ue)}add(y){d(y);let{a:_,d:k}=e,{ex:C,ey:R,ez:N,et:O}=this,{ex:F,ey:H,ez:X,et:Y}=y;if(_===BigInt(-1)){let Co=l((R-C)*(H+F)),Do=l((R+C)*(H-F)),jn=l(Do-Co);if(jn===$e)return this.double();let Ro=l(N*Er*Y),No=l(O*Er*X),Lo=No+Ro,Uo=Do+Co,Fo=No-Ro,zl=l(Lo*jn),ql=l(Uo*Fo),Wl=l(Lo*Fo),$l=l(jn*Uo);return new v(zl,ql,$l,Wl)}let ke=l(C*F),le=l(R*H),ae=l(O*k*Y),He=l(N*X),ue=l((C+R)*(F+H)-ke-le),Ke=He-ae,Ot=He+ae,Cs=l(le-_*ke),cr=l(ue*Ke),Hl=l(Ot*Cs),Kl=l(ue*Cs),Gl=l(Ke*Ot);return new v(cr,Hl,Gl,Kl)}subtract(y){return this.add(y.negate())}wNAF(y){return w.wNAFCached(this,y,v.normalizeZ)}multiply(y){let _=y;Pe("scalar",_,Me,r);let{p:k,f:C}=this.wNAF(_);return v.normalizeZ([k,C])[0]}multiplyUnsafe(y){let _=y;return Pe("scalar",_,$e,r),_===$e?A:this.equals(A)||_===Me?this:this.equals(E)?this.wNAF(_).p:w.unsafeLadder(this,_)}isSmallOrder(){return this.multiplyUnsafe(c).is0()}isTorsionFree(){return w.unsafeLadder(this,r).is0()}toAffine(y){return m(this,y)}clearCofactor(){let{h:y}=e;return y===Me?this:this.multiplyUnsafe(y)}static fromHex(y,_=!1){let{d:k,a:C}=e,R=t.BYTES;y=te("pointHex",y,R),We("zip215",_);let N=y.slice(),O=y[R-1];N[R-1]=O&-129;let F=At(N),H=_?f:t.ORDER;Pe("pointHex.y",F,$e,H);let X=l(F*F),Y=l(X-Me),ke=l(k*X-C),{isValid:le,value:ae}=u(Y,ke);if(!le)throw new Error("Point.fromHex: invalid y coordinate");let He=(ae&Me)===Me,ue=(O&128)!==0;if(!_&&ae===$e&&ue)throw new Error("Point.fromHex: x=0 and x_0=1");return ue!==He&&(ae=l(-ae)),v.fromAffine({x:ae,y:F})}static fromPrivateKey(y){return I(y).point}toRawBytes(){let{x:y,y:_}=this.toAffine(),k=zt(_,t.BYTES);return k[k.length-1]|=y&Me?128:0,k}toHex(){return ut(this.toRawBytes())}}v.BASE=new v(e.Gx,e.Gy,Me,l(e.Gx*e.Gy)),v.ZERO=new v($e,Me,Me,$e);let{BASE:E,ZERO:A}=v,w=xr(v,a*8);function S(x){return q(x,r)}function B(x){return S(At(x))}function I(x){let y=a;x=te("private key",x,y);let _=te("hashed private key",i(x),2*y),k=h(_.slice(0,y)),C=_.slice(y,2*y),R=B(k),N=E.multiply(R),O=N.toRawBytes();return{head:k,prefix:C,scalar:R,point:N,pointBytes:O}}function M(x){return I(x).pointBytes}function D(x=new Uint8Array,...y){let _=ft(...y);return B(i(p(_,te("context",x),!!n)))}function U(x,y,_={}){x=te("message",x),n&&(x=n(x));let{prefix:k,scalar:C,pointBytes:R}=I(y),N=D(_.context,k,x),O=E.multiply(N).toRawBytes(),F=D(_.context,O,R,x),H=S(N+F*C);Pe("signature.s",H,$e,r);let X=ft(O,zt(H,t.BYTES));return te("result",X,a*2)}let re=Nh;function oe(x,y,_,k=re){let{context:C,zip215:R}=k,N=t.BYTES;x=te("signature",x,2*N),y=te("message",y),R!==void 0&&We("zip215",R),n&&(y=n(y));let O=At(x.slice(N,2*N)),F,H,X;try{F=v.fromHex(_,R),H=v.fromHex(x.slice(0,N),R),X=E.multiplyUnsafe(O)}catch{return!1}if(!R&&F.isSmallOrder())return!1;let Y=D(C,H.toRawBytes(),F.toRawBytes(),y);return H.add(F.multiplyUnsafe(Y)).subtract(X).clearCofactor().equals(v.ZERO)}return E._setWindowSize(8),{CURVE:e,getPublicKey:M,sign:U,verify:oe,ExtendedPoint:v,utils:{getExtendedPublicKey:I,randomPrivateKey:()=>o(t.BYTES),precompute(x=8,y=v.BASE){return y._setWindowSize(x),y.multiply(BigInt(3)),y}}}}var wi=BigInt("57896044618658097711785492504343953926634992332820282019728792003956564819949"),Sa=BigInt("19681161376707505956807079304988542015446066515923890162744021073123829784752"),_g=BigInt(0),Uh=BigInt(1),Ba=BigInt(2),Ag=BigInt(3),Fh=BigInt(5),Vh=BigInt(8);function Oh(s){let e=BigInt(10),t=BigInt(20),r=BigInt(40),n=BigInt(80),i=wi,a=s*s%i*s%i,c=J(a,Ba,i)*a%i,f=J(c,Uh,i)*s%i,l=J(f,Fh,i)*f%i,u=J(l,e,i)*l%i,h=J(u,t,i)*u%i,p=J(h,r,i)*h%i,g=J(p,n,i)*p%i,d=J(g,n,i)*p%i,m=J(d,e,i)*l%i;return{pow_p_5_8:J(m,Ba,i)*s%i,b2:a}}function Hh(s){return s[0]&=248,s[31]&=127,s[31]|=64,s}function Kh(s,e){let t=wi,r=q(e*e*e,t),n=q(r*r*e,t),i=Oh(s*n).pow_p_5_8,o=q(s*r*i,t),a=q(e*o*o,t),c=o,f=q(o*Sa,t),l=a===s,u=a===q(-s,t),h=a===q(-s*Sa,t);return l&&(o=c),(u||h)&&(o=f),ya(o,t)&&(o=q(-o,t)),{isValid:l||u,value:o}}var Gh=vr(wi,void 0,!0),zh={a:BigInt(-1),d:BigInt("37095705934669439343138083508754565189542113879843219016388785533085940283555"),Fp:Gh,n:BigInt("7237005577332262213973186563042994240857116359379907606001950938285454250989"),h:Vh,Gx:BigInt("15112221349535400772501151409588531511454012693041857206046113283949847762202"),Gy:BigInt("46316835694926478169428394003475163141307993866256225615783033603165251855960"),hash:Ls,randomBytes:fs,adjustScalarBytes:Hh,uvRatio:Kh},Ia=Ea(zh);var Sr=32;function _a(s,e,t){return Ia.verify(e,t instanceof Uint8Array?t:t.subarray(),s)}var Br=class{type="Ed25519";raw;constructor(e){this.raw=vi(e,Sr)}toMultihash(){return ct.digest(Tt(this))}toCID(){return Te.createV1(114,this.toMultihash())}toString(){return se.encode(this.toMultihash().bytes).substring(1)}equals(e){return e==null||!(e.raw instanceof Uint8Array)?!1:Fe(this.raw,e.raw)}verify(e,t){return _a(this.raw,t,e)}};var Ei={};ve(Ei,{base64:()=>xi,base64pad:()=>Wh,base64url:()=>$h,base64urlpad:()=>jh});var xi=ee({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),Wh=ee({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),$h=ee({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),jh=ee({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});function dt(s=0){return new Uint8Array(s)}function pe(s=0){return new Uint8Array(s)}function et(s,e){e==null&&(e=s.reduce((n,i)=>n+i.length,0));let t=pe(e),r=0;for(let n of s)t.set(n,r),r+=n.length;return t}var Si={};ve(Si,{base10:()=>Zh});var Zh=Et({prefix:"9",name:"base10",alphabet:"0123456789"});var Bi={};ve(Bi,{base16:()=>Jh,base16upper:()=>Xh});var Jh=ee({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),Xh=ee({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var Ii={};ve(Ii,{base2:()=>Yh});var Yh=ee({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var _i={};ve(_i,{base256emoji:()=>rf});var ka=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}"),Qh=ka.reduce((s,e,t)=>(s[t]=e,s),[]),ef=ka.reduce((s,e,t)=>(s[e.codePointAt(0)]=t,s),[]);function tf(s){return s.reduce((e,t)=>(e+=Qh[t],e),"")}function sf(s){let e=[];for(let t of s){let r=ef[t.codePointAt(0)];if(r===void 0)throw new Error(`Non-base256emoji character: ${t}`);e.push(r)}return new Uint8Array(e)}var rf=rs({prefix:"\u{1F680}",name:"base256emoji",encode:tf,decode:sf});var Ai={};ve(Ai,{base36:()=>nf,base36upper:()=>of});var nf=Et({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),of=Et({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var ki={};ve(ki,{base8:()=>af});var af=ee({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var Ti={};ve(Ti,{identity:()=>cf});var cf=rs({prefix:"\0",name:"identity",encode:s=>$o(s),decode:s=>Wo(s)});var em=new TextEncoder,tm=new TextDecoder;var Ci={};ve(Ci,{sha256:()=>Pt,sha512:()=>hf});function Mi({name:s,code:e,encode:t}){return new Pi(s,e,t)}var Pi=class{name;code;encode;constructor(e,t,r){this.name=e,this.code=t,this.encode=r}digest(e){if(e instanceof Uint8Array){let t=this.encode(e);return t instanceof Uint8Array?Ge(this.code,t):t.then(r=>Ge(this.code,r))}else throw Error("Unknown type, must be binary type")}};function Pa(s){return async e=>new Uint8Array(await crypto.subtle.digest(s,e))}var Pt=Mi({name:"sha2-256",code:18,encode:Pa("SHA-256")}),hf=Mi({name:"sha2-512",code:19,encode:Pa("SHA-512")});var Os={...Ti,...Ii,...ki,...Si,...Bi,...ti,...Ai,...ei,...Ei,..._i},dm={...Ci,...ni};function Ca(s,e,t,r){return{name:s,prefix:e,encoder:{name:s,prefix:e,encode:t},decoder:{decode:r}}}var Ma=Ca("utf8","u",s=>"u"+new TextDecoder("utf8").decode(s),s=>new TextEncoder().encode(s.substring(1))),Di=Ca("ascii","a",s=>{let e="a";for(let t=0;t{s=s.substring(1);let e=pe(s.length);for(let t=0;tNumber.MAX_SAFE_INTEGER)throw new RangeError("Could not encode varint");return 8}function Oi(s,e,t=0){switch(Se(s)){case 8:e[t++]=s&255|G,s/=128;case 7:e[t++]=s&255|G,s/=128;case 6:e[t++]=s&255|G,s/=128;case 5:e[t++]=s&255|G,s/=128;case 4:e[t++]=s&255|G,s>>>=7;case 3:e[t++]=s&255|G,s>>>=7;case 2:e[t++]=s&255|G,s>>>=7;case 1:{e[t++]=s&255,s>>>=7;break}default:throw new Error("unreachable")}return e}function bf(s,e,t=0){switch(Se(s)){case 8:e.set(t++,s&255|G),s/=128;case 7:e.set(t++,s&255|G),s/=128;case 6:e.set(t++,s&255|G),s/=128;case 5:e.set(t++,s&255|G),s/=128;case 4:e.set(t++,s&255|G),s>>>=7;case 3:e.set(t++,s&255|G),s>>>=7;case 2:e.set(t++,s&255|G),s>>>=7;case 1:{e.set(t++,s&255),s>>>=7;break}default:throw new Error("unreachable")}return e}function Hi(s,e){let t=s[e],r=0;if(r+=t&ge,t>>31>0){let t=~this.lo+1>>>0,r=~this.hi>>>0;return t===0&&(r=r+1>>>0),-(t+r*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,r=~this.hi>>>0;return t===0&&(r=r+1>>>0),-(BigInt(t)+(BigInt(r)<<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,r=this.hi>>>24;return r===0?t===0?e<16384?e<128?1:2:e<2097152?3:4:t<16384?t<128?5:6:t<2097152?7:8:r<128?9:10}static fromBigInt(e){if(e===0n)return $t;if(evf)return this.fromNumber(Number(e));let t=e<0n;t&&(e=-e);let r=e>>32n,n=e-(r<<32n);return t&&(r=~r|0n,n=~n|0n,++n>Va&&(n=0n,++r>Va&&(r=0n))),new s(Number(n),Number(r))}static fromNumber(e){if(e===0)return $t;let t=e<0;t&&(e=-e);let r=e>>>0,n=(e-r)/4294967296>>>0;return t&&(n=~n>>>0,r=~r>>>0,++r>4294967295&&(r=0,++n>4294967295&&(n=0))),new s(r,n)}static from(e){return typeof e=="number"?s.fromNumber(e):typeof e=="bigint"?s.fromBigInt(e):typeof e=="string"?s.fromBigInt(BigInt(e)):e.low!=null||e.high!=null?new s(e.low>>>0,e.high>>>0):$t}},$t=new Le(0,0);$t.toBigInt=function(){return 0n};$t.zzEncode=$t.zzDecode=function(){return this};$t.length=function(){return 1};var Va=4294967296n;function Oa(s){let e=0,t=0;for(let r=0;r191&&a<224?i[o++]=(a&31)<<6|s[e++]&63:a>239&&a<365?(a=((a&7)<<18|(s[e++]&63)<<12|(s[e++]&63)<<6|s[e++]&63)-65536,i[o++]=55296+(a>>10),i[o++]=56320+(a&1023)):i[o++]=(a&15)<<12|(s[e++]&63)<<6|s[e++]&63,o>8191&&((n??(n=[])).push(String.fromCharCode.apply(String,i)),o=0);return n!=null?(o>0&&n.push(String.fromCharCode.apply(String,i.slice(0,o))),n.join("")):String.fromCharCode.apply(String,i.slice(0,o))}function Wi(s,e,t){let r=t,n,i;for(let o=0;o>6|192,e[t++]=n&63|128):(n&64512)===55296&&((i=s.charCodeAt(o+1))&64512)===56320?(n=65536+((n&1023)<<10)+(i&1023),++o,e[t++]=n>>18|240,e[t++]=n>>12&63|128,e[t++]=n>>6&63|128,e[t++]=n&63|128):(e[t++]=n>>12|224,e[t++]=n>>6&63|128,e[t++]=n&63|128);return t-r}function je(s,e){return RangeError(`index out of range: ${s.pos} + ${e??1} > ${s.len}`)}function Ar(s,e){return(s[e-4]|s[e-3]<<8|s[e-2]<<16|s[e-1]<<24)>>>0}var $i=class{buf;pos;len;_slice=Uint8Array.prototype.subarray;constructor(e){this.buf=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,je(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 je(this,4);return Ar(this.buf,this.pos+=4)}sfixed32(){if(this.pos+4>this.len)throw je(this,4);return Ar(this.buf,this.pos+=4)|0}float(){if(this.pos+4>this.len)throw je(this,4);let e=La(this.buf,this.pos);return this.pos+=4,e}double(){if(this.pos+8>this.len)throw je(this,4);let e=Fa(this.buf,this.pos);return this.pos+=8,e}bytes(){let e=this.uint32(),t=this.pos,r=this.pos+e;if(r>this.len)throw je(this,e);return this.pos+=e,t===r?new Uint8Array(0):this.buf.subarray(t,r)}string(){let e=this.bytes();return Ha(e,0,e.length)}skip(e){if(typeof e=="number"){if(this.pos+e>this.len)throw je(this,e);this.pos+=e}else do if(this.pos>=this.len)throw je(this);while(this.buf[this.pos++]&128);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 Le(0,0),t=0;if(this.len-this.pos>4){for(;t<4;++t)if(e.lo=(e.lo|(this.buf[this.pos]&127)<>>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 je(this);if(e.lo=(e.lo|(this.buf[this.pos]&127)<>>0,this.buf[this.pos++]<128)return e}return e.lo=(e.lo|(this.buf[this.pos++]&127)<>>0,e}if(this.len-this.pos>4){for(;t<5;++t)if(e.hi=(e.hi|(this.buf[this.pos]&127)<>>0,this.buf[this.pos++]<128)return e}else for(;t<5;++t){if(this.pos>=this.len)throw je(this);if(e.hi=(e.hi|(this.buf[this.pos]&127)<>>0,this.buf[this.pos++]<128)return e}throw Error("invalid varint encoding")}readFixed64(){if(this.pos+8>this.len)throw je(this,8);let e=Ar(this.buf,this.pos+=4),t=Ar(this.buf,this.pos+=4);return new Le(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=Hi(this.buf,this.pos);return this.pos+=Se(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 ji(s){return new $i(s instanceof Uint8Array?s:s.subarray())}function Ce(s,e,t){let r=ji(s);return e.decode(r,void 0,t)}function Zi(s){let e=s??8192,t=e>>>1,r,n=e;return function(o){if(o<1||o>t)return pe(o);n+o>e&&(r=pe(e),n=0);let a=r.subarray(n,n+=o);return n&7&&(n=(n|7)+1),a}}var jt=class{fn;len;next;val;constructor(e,t,r){this.fn=e,this.len=t,this.next=void 0,this.val=r}};function Ji(){}var Yi=class{head;tail;len;next;constructor(e){this.head=e.head,this.tail=e.tail,this.len=e.len,this.next=e.states}},xf=Zi();function Ef(s){return globalThis.Buffer!=null?pe(s):xf(s)}var Gs=class{len;head;tail;states;constructor(){this.len=0,this.head=new jt(Ji,0,0),this.tail=this.head,this.states=null}_push(e,t,r){return this.tail=this.tail.next=new jt(e,t,r),this.len+=t,this}uint32(e){return this.len+=(this.tail=this.tail.next=new Qi((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(kr,10,Le.fromNumber(e)):this.uint32(e)}sint32(e){return this.uint32((e<<1^e>>31)>>>0)}uint64(e){let t=Le.fromBigInt(e);return this._push(kr,t.length(),t)}uint64Number(e){return this._push(Oi,Se(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=Le.fromBigInt(e).zzEncode();return this._push(kr,t.length(),t)}sint64Number(e){let t=Le.fromNumber(e).zzEncode();return this._push(kr,t.length(),t)}sint64String(e){return this.sint64(BigInt(e))}bool(e){return this._push(Xi,1,e?1:0)}fixed32(e){return this._push(Ks,4,e>>>0)}sfixed32(e){return this.fixed32(e)}fixed64(e){let t=Le.fromBigInt(e);return this._push(Ks,4,t.lo)._push(Ks,4,t.hi)}fixed64Number(e){let t=Le.fromNumber(e);return this._push(Ks,4,t.lo)._push(Ks,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(Na,4,e)}double(e){return this._push(Ua,8,e)}bytes(e){let t=e.length>>>0;return t===0?this._push(Xi,1,0):this.uint32(t)._push(Bf,t,e)}string(e){let t=Oa(e);return t!==0?this.uint32(t)._push(Wi,t,e):this._push(Xi,1,0)}fork(){return this.states=new Yi(this),this.head=this.tail=new jt(Ji,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 jt(Ji,0,0),this.len=0),this}ldelim(){let e=this.head,t=this.tail,r=this.len;return this.reset().uint32(r),r!==0&&(this.tail.next=e.next,this.tail=t,this.len+=r),this}finish(){let e=this.head.next,t=Ef(this.len),r=0;for(;e!=null;)e.fn(e.val,t,r),r+=e.len,e=e.next;return t}};function Xi(s,e,t){e[t]=s&255}function Sf(s,e,t){for(;s>127;)e[t++]=s&127|128,s>>>=7;e[t]=s}var Qi=class extends jt{next;constructor(e,t){super(Sf,e,t),this.next=void 0}};function kr(s,e,t){for(;s.hi!==0;)e[t++]=s.lo&127|128,s.lo=(s.lo>>>7|s.hi<<25)>>>0,s.hi>>>=7;for(;s.lo>127;)e[t++]=s.lo&127|128,s.lo=s.lo>>>7;e[t++]=s.lo}function Ks(s,e,t){e[t]=s&255,e[t+1]=s>>>8&255,e[t+2]=s>>>16&255,e[t+3]=s>>>24}function Bf(s,e,t){e.set(s,t)}globalThis.Buffer!=null&&(Gs.prototype.bytes=function(s){let e=s.length>>>0;return this.uint32(e),e>0&&this._push(If,e,s),this},Gs.prototype.string=function(s){let e=globalThis.Buffer.byteLength(s);return this.uint32(e),e>0&&this._push(_f,e,s),this});function If(s,e,t){e.set(s,t)}function _f(s,e,t){s.length<40?Wi(s,e,t):e.utf8Write!=null?e.utf8Write(s,t):e.set(W(s),t)}function eo(){return new Gs}function De(s,e){let t=eo();return e.encode(s,t,{lengthDelimited:!1}),t.finish()}var ms;(function(s){s[s.VARINT=0]="VARINT",s[s.BIT64=1]="BIT64",s[s.LENGTH_DELIMITED=2]="LENGTH_DELIMITED",s[s.START_GROUP=3]="START_GROUP",s[s.END_GROUP=4]="END_GROUP",s[s.BIT32=5]="BIT32"})(ms||(ms={}));function Tr(s,e,t,r){return{name:s,type:e,encode:t,decode:r}}function to(s){function e(n){if(s[n.toString()]==null)throw new Error("Invalid enum value");return s[n]}let t=function(i,o){let a=e(i);o.int32(a)},r=function(i){let o=i.int32();return e(o)};return Tr("enum",ms.VARINT,t,r)}function Re(s,e){return Tr("message",ms.LENGTH_DELIMITED,s,e)}var Ve=class extends Error{code;constructor(e,t,r){super(e,r),this.code=t}};var ne;(function(s){s.RSA="RSA",s.Ed25519="Ed25519",s.secp256k1="secp256k1"})(ne||(ne={}));var so;(function(s){s[s.RSA=0]="RSA",s[s.Ed25519=1]="Ed25519",s[s.secp256k1=2]="secp256k1"})(so||(so={}));(function(s){s.codec=()=>to(so)})(ne||(ne={}));var tt;(function(s){let e;s.codec=()=>(e==null&&(e=Re((t,r,n={})=>{n.lengthDelimited!==!1&&r.fork(),t.Type!=null&&(r.uint32(8),ne.codec().encode(t.Type,r)),t.Data!=null&&(r.uint32(18),r.bytes(t.Data)),n.lengthDelimited!==!1&&r.ldelim()},(t,r,n={})=>{let i={},o=r==null?t.len:t.pos+r;for(;t.pos>>3){case 1:{i.Type=ne.codec().decode(t);break}case 2:{i.Data=t.bytes();break}default:{t.skipType(a&7);break}}}return i})),e),s.encode=t=>De(t,s.codec()),s.decode=(t,r)=>Ce(t,s.codec(),r)})(tt||(tt={}));var Pr;(function(s){let e;s.codec=()=>(e==null&&(e=Re((t,r,n={})=>{n.lengthDelimited!==!1&&r.fork(),t.Type!=null&&(r.uint32(8),ne.codec().encode(t.Type,r)),t.Data!=null&&(r.uint32(18),r.bytes(t.Data)),n.lengthDelimited!==!1&&r.ldelim()},(t,r,n={})=>{let i={},o=r==null?t.len:t.pos+r;for(;t.pos>>3){case 1:{i.Type=ne.codec().decode(t);break}case 2:{i.Data=t.bytes();break}default:{t.skipType(a&7);break}}}return i})),e),s.encode=t=>De(t,s.codec()),s.decode=(t,r)=>Ce(t,s.codec(),r)})(Pr||(Pr={}));var Qs={};ve(Qs,{MAX_RSA_KEY_SIZE:()=>xn,exportRSAPrivateKey:()=>Hc,exportToPem:()=>Vc,generateRSAKeyPair:()=>Gc,importFromPem:()=>Oc,jwkToPkcs1:()=>zf,jwkToPkix:()=>po,jwkToRSAPrivateKey:()=>Kc,pkcs1ToJwk:()=>Uc,pkcs1ToRSAPrivateKey:()=>go,pkixToJwk:()=>Fc,pkixToRSAPublicKey:()=>mo});var Mr=class extends us{constructor(e,t){super(),this.finished=!1,this.destroyed=!1,dr(e);let r=St(t);if(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,i=new Uint8Array(n);i.set(r.length>n?e.create().update(r).digest():r);for(let o=0;onew Mr(s,e).update(t).digest();zs.create=(s,e)=>new Mr(s,e);function Af(s,e,t,r){dr(s);let n=la({dkLen:32,asyncTick:10},r),{c:i,dkLen:o,asyncTick:a}=n;if(as(i),as(o),as(a),i<1)throw new Error("PBKDF2: iterations (c) should be >= 1");let c=St(e),f=St(t),l=new Uint8Array(o),u=zs.create(s,c),h=u._cloneInto().update(f);return{c:i,dkLen:o,asyncTick:a,DK:l,PRF:u,PRFSalt:h}}function kf(s,e,t,r,n){return s.destroy(),e.destroy(),r&&r.destroy(),n.fill(0),t}async function ro(s,e,t,r){let{c:n,dkLen:i,asyncTick:o,DK:a,PRF:c,PRFSalt:f}=Af(s,e,t,r),l,u=new Uint8Array(4),h=hs(u),p=new Uint8Array(c.outputLen);for(let g=1,d=0;d{c._cloneInto(l).update(p).digestInto(p);for(let b=0;b>>3,d=qe(p,17)^qe(p,19)^p>>>10;Dt[u]=d+Dt[u-7]+g+Dt[u-16]|0}let{A:r,B:n,C:i,D:o,E:a,F:c,G:f,H:l}=this;for(let u=0;u<64;u++){let h=qe(a,6)^qe(a,11)^qe(a,25),p=l+h+ua(a,c,f)+Tf[u]+Dt[u]|0,d=(qe(r,2)^qe(r,13)^qe(r,22))+ha(r,n,i)|0;l=f,f=c,c=a,a=o+p|0,o=i,i=n,n=r,r=p+d|0}r=r+this.A|0,n=n+this.B|0,i=i+this.C|0,o=o+this.D|0,a=a+this.E|0,c=c+this.F|0,f=f+this.G|0,l=l+this.H|0,this.set(r,n,i,o,a,c,f,l)}roundClean(){Dt.fill(0)}destroy(){this.set(0,0,0,0,0,0,0,0),this.buffer.fill(0)}};var bs=gr(()=>new no);var V=Ho(za());function Zt(s,e){let t=0;if(s.length===1)return s[0];for(let r=s.length-1;r>=0;r--)t+=s[s.length-1-r]*Math.pow(2,e*r);return t}function Rt(s,e,t=-1){let r=t,n=s,i=0,o=Math.pow(2,e);for(let a=1;a<8;a++){if(s=0;l--){let u=Math.pow(2,l*e);f[i-l-1]=Math.floor(n/u),n-=f[i-l-1]*u}return c}o*=Math.pow(2,e)}return new ArrayBuffer(0)}function Rr(...s){let e=0,t=0;for(let i of s)e+=i.length;let r=new ArrayBuffer(e),n=new Uint8Array(r);for(let i of s)n.set(i,t),t+=i.length;return n}function oo(){let s=new Uint8Array(this.valueHex);if(this.valueHex.byteLength>=2){let a=s[0]===255&&s[1]&128,c=s[0]===0&&(s[1]&128)===0;(a||c)&&this.warnings.push("Needlessly long format")}let e=new ArrayBuffer(this.valueHex.byteLength),t=new Uint8Array(e);for(let a=0;a"u")throw new Error("BigInt is not defined. Your environment doesn't implement BigInt.")}function ao(s){let e=0,t=0;for(let n=0;n=i.length)return this.error="End of input reached before message was fully decoded",-1;if(c===l){l+=255;let h=new Uint8Array(l);for(let p=0;p8)return this.error="Too big integer",-1;if(o+1>i.length)return this.error="End of input reached before message was fully decoded",-1;let a=t+1,c=n.subarray(a,a+o);return c[o-1]===0&&this.warnings.push("Needlessly long encoded length"),this.length=Zt(c,8),this.longFormUsed&&this.length<=127&&this.warnings.push("Unnecessary usage of long length form"),this.blockLength=o+1,t+this.blockLength}toBER(e=!1){let t,r;if(this.length>127&&(this.longFormUsed=!0),this.isIndefiniteForm)return t=new ArrayBuffer(1),e===!1&&(r=new Uint8Array(t),r[0]=128),t;if(this.longFormUsed){let n=Rt(this.length,8);if(n.byteLength>127)return this.error="Too big length",Je;if(t=new ArrayBuffer(n.byteLength+1),e)return t;let i=new Uint8Array(n);r=new Uint8Array(t),r[0]=n.byteLength|128;for(let o=0;o=37&&n.idBlock.isHexOnly===!1)return n.error="UNIVERSAL 37 and upper tags are reserved by ASN.1 standard",{offset:-1,result:n};switch(n.idBlock.tagNumber){case 0:if(n.idBlock.isConstructed&&n.lenBlock.length>0)return n.error="Type [UNIVERSAL 0] is reserved",{offset:-1,result:n};c=T.EndOfContent;break;case 1:c=T.Boolean;break;case 2:c=T.Integer;break;case 3:c=T.BitString;break;case 4:c=T.OctetString;break;case 5:c=T.Null;break;case 6:c=T.ObjectIdentifier;break;case 10:c=T.Enumerated;break;case 12:c=T.Utf8String;break;case 13:c=T.RelativeObjectIdentifier;break;case 14:c=T.TIME;break;case 15:return n.error="[UNIVERSAL 15] is reserved by ASN.1 standard",{offset:-1,result:n};case 16:c=T.Sequence;break;case 17:c=T.Set;break;case 18:c=T.NumericString;break;case 19:c=T.PrintableString;break;case 20:c=T.TeletexString;break;case 21:c=T.VideotexString;break;case 22:c=T.IA5String;break;case 23:c=T.UTCTime;break;case 24:c=T.GeneralizedTime;break;case 25:c=T.GraphicString;break;case 26:c=T.VisibleString;break;case 27:c=T.GeneralString;break;case 28:c=T.UniversalString;break;case 29:c=T.CharacterString;break;case 30:c=T.BmpString;break;case 31:c=T.DATE;break;case 32:c=T.TimeOfDay;break;case 33:c=T.DateTime;break;case 34:c=T.Duration;break;default:{let f=n.idBlock.isConstructed?new T.Constructed:new T.Primitive;f.idBlock=n.idBlock,f.lenBlock=n.lenBlock,f.warnings=n.warnings,n=f}}break;case 2:case 3:case 4:default:c=n.idBlock.isConstructed?T.Constructed:T.Primitive}return n=Ff(n,c),a=n.fromBER(s,e,n.lenBlock.isIndefiniteForm?t:n.lenBlock.length),n.valueBeforeDecodeView=s.subarray(r,r+n.blockLength),{offset:a,result:n}}function xs(s){if(!s.byteLength){let e=new de({},be);return e.error="Input buffer has zero length",{offset:-1,result:e}}return vn(V.BufferSourceConverter.toUint8Array(s).slice(),0,s.byteLength)}function Vf(s,e){return s?1:e}var st=class extends be{constructor({value:e=[],isIndefiniteForm:t=!1,...r}={}){super(r),this.value=e,this.isIndefiniteForm=t}fromBER(e,t,r){let n=V.BufferSourceConverter.toUint8Array(e);if(!yt(this,n,t,r))return-1;if(this.valueBeforeDecodeView=n.subarray(t,t+r),this.valueBeforeDecodeView.length===0)return this.warnings.push("Zero buffer length"),t;let i=t;for(;Vf(this.isIndefiniteForm,r)>0;){let o=vn(n,i,r);if(o.offset===-1)return this.error=o.result.error,this.warnings.concat(o.result.warnings),-1;if(i=o.offset,this.blockLength+=o.result.blockLength,r-=o.result.blockLength,this.value.push(o.result),this.isIndefiniteForm&&o.result.constructor.NAME===$s)break}return this.isIndefiniteForm&&(this.value[this.value.length-1].constructor.NAME===$s?this.value.pop():this.warnings.push("No EndOfContent block encoded")),i}toBER(e,t){let r=t||new Ws;for(let n=0;n{var Rl=Object.create;var rr=Object.defineProperty;var Ll=Object.getOwnPropertyDescriptor;var Ul=Object.getOwnPropertyNames;var Fl=Object.getPrototypeOf,Vl=Object.prototype.hasOwnProperty;var Po=(s,e)=>()=>(e||s((e={exports:{}}).exports,e),e.exports),ve=(s,e)=>{for(var t in e)rr(s,t,{get:e[t],enumerable:!0})},Do=(s,e,t,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of Ul(e))!Vl.call(s,n)&&n!==t&&rr(s,n,{get:()=>e[n],enumerable:!(r=Ll(e,n))||r.enumerable});return s};var Co=(s,e,t)=>(t=s!=null?Rl(Fl(s)):{},Do(e||!s||!s.__esModule?rr(t,"default",{value:s,enumerable:!0}):t,s)),Hl=s=>Do(rr({},"__esModule",{value:!0}),s);var Na=Po(ds=>{"use strict";var ff="[object ArrayBuffer]",ut=class s{static isArrayBuffer(e){return Object.prototype.toString.call(e)===ff}static toArrayBuffer(e){return this.isArrayBuffer(e)?e:e.byteLength===e.buffer.byteLength||e.byteOffset===0&&e.byteLength===e.buffer.byteLength?e.buffer:this.toUint8Array(e.buffer).slice(e.byteOffset,e.byteOffset+e.byteLength).buffer}static toUint8Array(e){return this.toView(e,Uint8Array)}static toView(e,t){if(e.constructor===t)return e;if(this.isArrayBuffer(e))return new t(e);if(this.isArrayBufferView(e))return new t(e.buffer,e.byteOffset,e.byteLength);throw new TypeError("The provided value is not of type '(ArrayBuffer or ArrayBufferView)'")}static isBufferSource(e){return this.isArrayBufferView(e)||this.isArrayBuffer(e)}static isArrayBufferView(e){return ArrayBuffer.isView(e)||e&&this.isArrayBuffer(e.buffer)}static isEqual(e,t){let r=s.toUint8Array(e),n=s.toUint8Array(t);if(r.length!==n.byteLength)return!1;for(let i=0;in.byteLength).reduce((n,i)=>n+i),t=new Uint8Array(e),r=0;return s.map(n=>new Uint8Array(n)).forEach(n=>{for(let i of n)t[r++]=i}),t.buffer}function yf(s,e){if(!(s&&e)||s.byteLength!==e.byteLength)return!1;let t=new Uint8Array(s),r=new Uint8Array(e);for(let n=0;n{"use strict";function Y(s,t){var t=t||{};this._capacity=t.capacity,this._head=0,this._tail=0,Array.isArray(s)?this._fromArray(s):(this._capacityMask=3,this._list=new Array(4))}Y.prototype.peekAt=function(e){var t=e;if(t===(t|0)){var r=this.size();if(!(t>=r||t<-r))return t<0&&(t+=r),t=this._head+t&this._capacityMask,this._list[t]}};Y.prototype.get=function(e){return this.peekAt(e)};Y.prototype.peek=function(){if(this._head!==this._tail)return this._list[this._head]};Y.prototype.peekFront=function(){return this.peek()};Y.prototype.peekBack=function(){return this.peekAt(-1)};Object.defineProperty(Y.prototype,"length",{get:function(){return this.size()}});Y.prototype.size=function(){return this._head===this._tail?0:this._headthis._capacity&&this.pop(),this._head1e4&&this._tail<=this._list.length>>>2&&this._shrinkArray(),t}};Y.prototype.push=function(e){if(arguments.length===0)return this.size();var t=this._tail;return this._list[t]=e,this._tail=t+1&this._capacityMask,this._tail===this._head&&this._growArray(),this._capacity&&this.size()>this._capacity&&this.shift(),this._head1e4&&e<=t>>>2&&this._shrinkArray(),r}};Y.prototype.removeOne=function(e){var t=e;if(t===(t|0)&&this._head!==this._tail){var r=this.size(),n=this._list.length;if(!(t>=r||t<-r)){t<0&&(t+=r),t=this._head+t&this._capacityMask;var i=this._list[t],o;if(e0;o--)this._list[t]=this._list[t=t-1+n&this._capacityMask];this._list[t]=void 0,this._head=this._head+1+n&this._capacityMask}else{for(o=r-1-e;o>0;o--)this._list[t]=this._list[t=t+1+n&this._capacityMask];this._list[t]=void 0,this._tail=this._tail-1+n&this._capacityMask}return i}}};Y.prototype.remove=function(e,t){var r=e,n,i=t;if(r===(r|0)&&this._head!==this._tail){var o=this.size(),a=this._list.length;if(!(r>=o||r<-o||t<1)){if(r<0&&(r+=o),t===1||!t)return n=new Array(1),n[0]=this.removeOne(r),n;if(r===0&&r+t>=o)return n=this.toArray(),this.clear(),n;r+t>o&&(t=o-r);var c;for(n=new Array(t),c=0;c0;c--)this._list[r=r+1+a&this._capacityMask]=void 0;return n}if(e===0){for(this._head=this._head+t+a&this._capacityMask,c=t-1;c>0;c--)this._list[r=r+1+a&this._capacityMask]=void 0;return n}if(r0;c--)this.unshift(this._list[r=r-1+a&this._capacityMask]);for(r=this._head-1+a&this._capacityMask;i>0;)this._list[r=r-1+a&this._capacityMask]=void 0,i--;e<0&&(this._tail=r)}else{for(this._tail=r,r=r+t+a&this._capacityMask,c=o-(t+e);c>0;c--)this.push(this._list[r++]);for(r=this._tail;i>0;)this._list[r=r+1+a&this._capacityMask]=void 0,i--}return this._head<2&&this._tail>1e4&&this._tail<=a>>>2&&this._shrinkArray(),n}}};Y.prototype.splice=function(e,t){var r=e;if(r===(r|0)){var n=this.size();if(r<0&&(r+=n),!(r>n))if(arguments.length>2){var i,o,a,c=arguments.length,f=this._list.length,u=2;if(!n||r0&&(this._head=this._head+r+f&this._capacityMask)):(a=this.remove(r,t),this._head=this._head+r+f&this._capacityMask);c>u;)this.unshift(arguments[--c]);for(i=r;i>0;i--)this.unshift(o[i-1])}else{o=new Array(n-(r+t));var h=o.length;for(i=0;ithis._tail){for(c=this._head;c>>=1,this._capacityMask>>>=1};Y.prototype._nextPowerOf2=function(e){var t=Math.log(e)/Math.log(2),r=1<On,gossipsub:()=>Fd,multicodec:()=>Ud});var Gn=Symbol.for("@libp2p/peer-id");var Ft="StrictSign",Xt="StrictNoSign",xe;(function(s){s.Accept="accept",s.Ignore="ignore",s.Reject="reject"})(xe||(xe={}));var ce=class extends Error{constructor(e="Invalid parameters"){super(e),this.name="InvalidParametersError"}},Yt=class extends Error{constructor(e="Invalid public key"){super(e),this.name="InvalidPublicKeyError"}};var nr=class extends Error{constructor(e="Invalid Multihash"){super(e),this.name="InvalidMultihashError"}};var Qt=class extends Error{constructor(e="Unsupported key type"){super(e),this.name="UnsupportedKeyTypeError"}};var No=(s,...e)=>{try{[...e]}catch{}};var ir=class extends EventTarget{#e=new Map;constructor(){super(),No(1/0,this)}listenerCount(e){let t=this.#e.get(e);return t==null?0:t.length}addEventListener(e,t,r){super.addEventListener(e,t,r);let n=this.#e.get(e);n==null&&(n=[],this.#e.set(e,n)),n.push({callback:t,once:(r!==!0&&r!==!1&&r?.once)??!1})}removeEventListener(e,t,r){super.removeEventListener(e.toString(),t??null,r);let n=this.#e.get(e);n!=null&&(n=n.filter(({callback:i})=>i!==t),this.#e.set(e,n))}dispatchEvent(e){let t=super.dispatchEvent(e),r=this.#e.get(e.type);return r==null||(r=r.filter(({once:n})=>!n),this.#e.set(e.type,r)),t}safeDispatchEvent(e,t={}){return this.dispatchEvent(new CustomEvent(e,t))}};var Ro=Symbol.for("@libp2p/service-capabilities"),Lo=Symbol.for("@libp2p/service-dependencies");var jn={};ve(jn,{base58btc:()=>te,base58flickr:()=>Wl});var mp=new Uint8Array(0);function Uo(s,e){if(s===e)return!0;if(s.byteLength!==e.byteLength)return!1;for(let t=0;t=255)throw new TypeError("Alphabet too long");for(var t=new Uint8Array(256),r=0;r>>0,I=new Uint8Array(y);b!==S;){for(var v=m[b],B=0,x=y-1;(v!==0||B>>0,I[x]=v%a>>>0,v=v/a>>>0;if(v!==0)throw new Error("Non-zero carry");g=B,b++}for(var _=y-g;_!==y&&I[_]===0;)_++;for(var k=c.repeat(p);_>>0,y=new Uint8Array(S);m[p];){var I=t[m.charCodeAt(p)];if(I===255)return;for(var v=0,B=S-1;(I!==0||v>>0,y[B]=I%256>>>0,I=I/256>>>0;if(I!==0)throw new Error("Non-zero carry");b=v,p++}if(m[p]!==" "){for(var x=S-b;x!==S&&y[x]===0;)x++;for(var _=new Uint8Array(g+(S-x)),k=g;x!==S;)_[k++]=y[x++];return _}}}function d(m){var p=l(m);if(p)return p;throw new Error(`Non-${e} character`)}return{encode:h,decodeUnsafe:l,decode:d}}var zl=Ol,Gl=zl,Oo=Gl;var qn=class{name;prefix;baseEncode;constructor(e,t,r){this.name=e,this.prefix=t,this.baseEncode=r}encode(e){if(e instanceof Uint8Array)return`${this.prefix}${this.baseEncode(e)}`;throw Error("Unknown type, must be binary type")}},Kn=class{name;prefix;baseDecode;prefixCodePoint;constructor(e,t,r){if(this.name=e,this.prefix=t,t.codePointAt(0)===void 0)throw new Error("Invalid prefix character");this.prefixCodePoint=t.codePointAt(0),this.baseDecode=r}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 zo(this,e)}},Wn=class{decoders;constructor(e){this.decoders=e}or(e){return zo(this,e)}decode(e){let t=e[0],r=this.decoders[t];if(r!=null)return r.decode(e);throw RangeError(`Unable to decode multibase string ${JSON.stringify(e)}, only inputs prefixed with ${Object.keys(this.decoders)} are supported`)}};function zo(s,e){return new Wn({...s.decoders??{[s.prefix]:s},...e.decoders??{[e.prefix]:e}})}var $n=class{name;prefix;baseEncode;baseDecode;encoder;decoder;constructor(e,t,r,n){this.name=e,this.prefix=t,this.baseEncode=r,this.baseDecode=n,this.encoder=new qn(e,t,r),this.decoder=new Kn(e,t,n)}encode(e){return this.encoder.encode(e)}decode(e){return this.decoder.decode(e)}};function es({name:s,prefix:e,encode:t,decode:r}){return new $n(s,e,t,r)}function vt({name:s,prefix:e,alphabet:t}){let{encode:r,decode:n}=Oo(t,s);return es({prefix:e,name:s,encode:r,decode:i=>rt(n(i))})}function ql(s,e,t,r){let n={};for(let u=0;u=8&&(a-=8,o[f++]=255&c>>a)}if(a>=t||255&c<<8-a)throw new SyntaxError("Unexpected end of data");return o}function Kl(s,e,t){let r=e[e.length-1]==="=",n=(1<t;)o-=t,i+=e[n&a>>o];if(o!==0&&(i+=e[n&a<Vt,base32hex:()=>Jl,base32hexpad:()=>Yl,base32hexpadupper:()=>Ql,base32hexupper:()=>Xl,base32pad:()=>jl,base32padupper:()=>Zl,base32upper:()=>$l,base32z:()=>eu});var Vt=Q({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),$l=Q({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),jl=Q({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),Zl=Q({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),Jl=Q({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),Xl=Q({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),Yl=Q({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),Ql=Q({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),eu=Q({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var tu=Ko,Go=128,su=127,ru=~su,nu=Math.pow(2,31);function Ko(s,e,t){e=e||[],t=t||0;for(var r=t;s>=nu;)e[t++]=s&255|Go,s/=128;for(;s&ru;)e[t++]=s&255|Go,s>>>=7;return e[t]=s|0,Ko.bytes=t-r+1,e}var iu=Jn,ou=128,qo=127;function Jn(s,r){var t=0,r=r||0,n=0,i=r,o,a=s.length;do{if(i>=a)throw Jn.bytes=0,new RangeError("Could not decode varint");o=s[i++],t+=n<28?(o&qo)<=ou);return Jn.bytes=i-r,t}var au=Math.pow(2,7),cu=Math.pow(2,14),lu=Math.pow(2,21),uu=Math.pow(2,28),hu=Math.pow(2,35),fu=Math.pow(2,42),du=Math.pow(2,49),pu=Math.pow(2,56),gu=Math.pow(2,63),mu=function(s){return s{let[h,l]=Ps(e.subarray(t));return t+=l,h},n=r(),i=Ds;if(n===18?(n=0,t=0):i=r(),n!==0&&n!==1)throw new RangeError(`Invalid CID version ${n}`);let o=t,a=r(),c=r(),f=t+c,u=f-o;return{version:n,codec:i,multihashCode:a,digestSize:c,multihashSize:u,size:f}}static parse(e,t){let[r,n]=wu(e,t),i=s.decode(n);if(i.version===0&&e[0]!=="Q")throw Error("Version 0 CID string must not include multibase prefix");return Xn(i).set(r,e),i}};function wu(s,e){switch(s[0]){case"Q":{let t=e??te;return[te.prefix,t.decode(`${te.prefix}${s}`)]}case te.prefix:{let t=e??te;return[te.prefix,t.decode(s)]}case Vt.prefix:{let t=e??Vt;return[Vt.prefix,t.decode(s)]}default:{if(e==null)throw Error("To parse non base32 or base58btc encoded CID multibase decoder must be provided");return[s[0],e.decode(s)]}}}function vu(s,e,t){let{prefix:r}=t;if(r!==te.prefix)throw Error(`Cannot string encode V0 in ${t.name} encoding`);let n=e.get(r);if(n==null){let i=t.encode(s).slice(1);return e.set(r,i),i}else return n}function xu(s,e,t){let{prefix:r}=t,n=e.get(r);if(n==null){let i=t.encode(s);return e.set(r,i),i}else return n}var Ds=112,Eu=18;function Zo(s,e,t){let r=ss(s),n=r+ss(e),i=new Uint8Array(n+t.byteLength);return ts(s,i,0),ts(e,i,r),i.set(t,n),i}var Su=Symbol.for("@ipld/js-cid/CID");var Yn={};ve(Yn,{identity:()=>nt});var Jo=0,Bu="identity",Xo=rt;function Iu(s){return He(Jo,Xo(s))}var nt={code:Jo,name:Bu,encode:Xo,digest:Iu};function Ue(s,e){if(s===e)return!0;if(s.byteLength!==e.byteLength)return!1;for(let t=0;t0&&!e.includes(s.length))throw new Error(`Uint8Array expected of length ${e}, not of length=${s.length}`)}function Qo(s){if(typeof s!="function"||typeof s.create!="function")throw new Error("Hash should be wrapped by utils.wrapConstructor");Yo(s.outputLen),Yo(s.blockLen)}function is(s,e=!0){if(s.destroyed)throw new Error("Hash instance has been destroyed");if(e&&s.finished)throw new Error("Hash#digest() has already been called")}function ea(s,e){ns(s);let t=e.outputLen;if(s.lengthnew DataView(s.buffer,s.byteOffset,s.byteLength),ze=(s,e)=>s<<32-e|s>>>e;var Up=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;function ta(s){if(typeof s!="string")throw new Error(`utf8ToBytes expected string, got ${typeof s}`);return new Uint8Array(new TextEncoder().encode(s))}function Cs(s){return typeof s=="string"&&(s=ta(s)),ns(s),s}function Qn(...s){let e=0;for(let r=0;rs().update(Cs(r)).digest(),t=s();return e.outputLen=t.outputLen,e.blockLen=t.blockLen,e.create=()=>s(),e}function as(s=32){if(Ht&&typeof Ht.getRandomValues=="function")return Ht.getRandomValues(new Uint8Array(s));if(Ht&&typeof Ht.randomBytes=="function")return Ht.randomBytes(s);throw new Error("crypto.getRandomValues must be defined")}function Au(s,e,t,r){if(typeof s.setBigUint64=="function")return s.setBigUint64(e,t,r);let n=BigInt(32),i=BigInt(4294967295),o=Number(t>>n&i),a=Number(t&i),c=r?4:0,f=r?0:4;s.setUint32(e+c,o,r),s.setUint32(e+f,a,r)}var sa=(s,e,t)=>s&e^~s&t,ra=(s,e,t)=>s&e^s&t^e&t,cs=class extends os{constructor(e,t,r,n){super(),this.blockLen=e,this.outputLen=t,this.padOffset=r,this.isLE=n,this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.buffer=new Uint8Array(e),this.view=ar(this.buffer)}update(e){is(this);let{view:t,buffer:r,blockLen:n}=this;e=Cs(e);let i=e.length;for(let o=0;on-o&&(this.process(r,0),o=0);for(let h=o;hu.length)throw new Error("_sha2: outputLen bigger than state");for(let h=0;h>ei&lr)}:{h:Number(s>>ei&lr)|0,l:Number(s&lr)|0}}function ku(s,e=!1){let t=new Uint32Array(s.length),r=new Uint32Array(s.length);for(let n=0;nBigInt(s>>>0)<>>0),Mu=(s,e,t)=>s>>>t,Pu=(s,e,t)=>s<<32-t|e>>>t,Du=(s,e,t)=>s>>>t|e<<32-t,Cu=(s,e,t)=>s<<32-t|e>>>t,Nu=(s,e,t)=>s<<64-t|e>>>t-32,Ru=(s,e,t)=>s>>>t-32|e<<64-t,Lu=(s,e)=>e,Uu=(s,e)=>s,Fu=(s,e,t)=>s<>>32-t,Vu=(s,e,t)=>e<>>32-t,Hu=(s,e,t)=>e<>>64-t,Ou=(s,e,t)=>s<>>64-t;function zu(s,e,t,r){let n=(e>>>0)+(r>>>0);return{h:s+t+(n/2**32|0)|0,l:n|0}}var Gu=(s,e,t)=>(s>>>0)+(e>>>0)+(t>>>0),qu=(s,e,t,r)=>e+t+r+(s/2**32|0)|0,Ku=(s,e,t,r)=>(s>>>0)+(e>>>0)+(t>>>0)+(r>>>0),Wu=(s,e,t,r,n)=>e+t+r+n+(s/2**32|0)|0,$u=(s,e,t,r,n)=>(s>>>0)+(e>>>0)+(t>>>0)+(r>>>0)+(n>>>0),ju=(s,e,t,r,n,i)=>e+t+r+n+i+(s/2**32|0)|0;var Zu={fromBig:na,split:ku,toBig:Tu,shrSH:Mu,shrSL:Pu,rotrSH:Du,rotrSL:Cu,rotrBH:Nu,rotrBL:Ru,rotr32H:Lu,rotr32L:Uu,rotlSH:Fu,rotlSL:Vu,rotlBH:Hu,rotlBL:Ou,add:zu,add3L:Gu,add3H:qu,add4L:Ku,add4H:Wu,add5H:ju,add5L:$u},R=Zu;var[Ju,Xu]=R.split(["0x428a2f98d728ae22","0x7137449123ef65cd","0xb5c0fbcfec4d3b2f","0xe9b5dba58189dbbc","0x3956c25bf348b538","0x59f111f1b605d019","0x923f82a4af194f9b","0xab1c5ed5da6d8118","0xd807aa98a3030242","0x12835b0145706fbe","0x243185be4ee4b28c","0x550c7dc3d5ffb4e2","0x72be5d74f27b896f","0x80deb1fe3b1696b1","0x9bdc06a725c71235","0xc19bf174cf692694","0xe49b69c19ef14ad2","0xefbe4786384f25e3","0x0fc19dc68b8cd5b5","0x240ca1cc77ac9c65","0x2de92c6f592b0275","0x4a7484aa6ea6e483","0x5cb0a9dcbd41fbd4","0x76f988da831153b5","0x983e5152ee66dfab","0xa831c66d2db43210","0xb00327c898fb213f","0xbf597fc7beef0ee4","0xc6e00bf33da88fc2","0xd5a79147930aa725","0x06ca6351e003826f","0x142929670a0e6e70","0x27b70a8546d22ffc","0x2e1b21385c26c926","0x4d2c6dfc5ac42aed","0x53380d139d95b3df","0x650a73548baf63de","0x766a0abb3c77b2a8","0x81c2c92e47edaee6","0x92722c851482353b","0xa2bfe8a14cf10364","0xa81a664bbc423001","0xc24b8b70d0f89791","0xc76c51a30654be30","0xd192e819d6ef5218","0xd69906245565a910","0xf40e35855771202a","0x106aa07032bbd1b8","0x19a4c116b8d2d0c8","0x1e376c085141ab53","0x2748774cdf8eeb99","0x34b0bcb5e19b48a8","0x391c0cb3c5c95a63","0x4ed8aa4ae3418acb","0x5b9cca4f7763e373","0x682e6ff3d6b2b8a3","0x748f82ee5defb2fc","0x78a5636f43172f60","0x84c87814a1f0ab72","0x8cc702081a6439ec","0x90befffa23631e28","0xa4506cebde82bde9","0xbef9a3f7b2c67915","0xc67178f2e372532b","0xca273eceea26619c","0xd186b8c721c0c207","0xeada7dd6cde0eb1e","0xf57d4f7fee6ed178","0x06f067aa72176fba","0x0a637dc5a2c898a6","0x113f9804bef90dae","0x1b710b35131c471b","0x28db77f523047d84","0x32caab7b40c72493","0x3c9ebe0a15c9bebc","0x431d67c49c100d4c","0x4cc5d4becb3e42b6","0x597f299cfc657e2a","0x5fcb6fab3ad6faec","0x6c44198c4a475817"].map(s=>BigInt(s))),xt=new Uint32Array(80),Et=new Uint32Array(80),ti=class extends cs{constructor(){super(128,64,16,!1),this.Ah=1779033703,this.Al=-205731576,this.Bh=-1150833019,this.Bl=-2067093701,this.Ch=1013904242,this.Cl=-23791573,this.Dh=-1521486534,this.Dl=1595750129,this.Eh=1359893119,this.El=-1377402159,this.Fh=-1694144372,this.Fl=725511199,this.Gh=528734635,this.Gl=-79577749,this.Hh=1541459225,this.Hl=327033209}get(){let{Ah:e,Al:t,Bh:r,Bl:n,Ch:i,Cl:o,Dh:a,Dl:c,Eh:f,El:u,Fh:h,Fl:l,Gh:d,Gl:m,Hh:p,Hl:g}=this;return[e,t,r,n,i,o,a,c,f,u,h,l,d,m,p,g]}set(e,t,r,n,i,o,a,c,f,u,h,l,d,m,p,g){this.Ah=e|0,this.Al=t|0,this.Bh=r|0,this.Bl=n|0,this.Ch=i|0,this.Cl=o|0,this.Dh=a|0,this.Dl=c|0,this.Eh=f|0,this.El=u|0,this.Fh=h|0,this.Fl=l|0,this.Gh=d|0,this.Gl=m|0,this.Hh=p|0,this.Hl=g|0}process(e,t){for(let y=0;y<16;y++,t+=4)xt[y]=e.getUint32(t),Et[y]=e.getUint32(t+=4);for(let y=16;y<80;y++){let I=xt[y-15]|0,v=Et[y-15]|0,B=R.rotrSH(I,v,1)^R.rotrSH(I,v,8)^R.shrSH(I,v,7),x=R.rotrSL(I,v,1)^R.rotrSL(I,v,8)^R.shrSL(I,v,7),_=xt[y-2]|0,k=Et[y-2]|0,z=R.rotrSH(_,k,19)^R.rotrBH(_,k,61)^R.shrSH(_,k,6),L=R.rotrSL(_,k,19)^R.rotrBL(_,k,61)^R.shrSL(_,k,6),U=R.add4L(x,L,Et[y-7],Et[y-16]),se=R.add4H(U,B,z,xt[y-7],xt[y-16]);xt[y]=se|0,Et[y]=U|0}let{Ah:r,Al:n,Bh:i,Bl:o,Ch:a,Cl:c,Dh:f,Dl:u,Eh:h,El:l,Fh:d,Fl:m,Gh:p,Gl:g,Hh:b,Hl:S}=this;for(let y=0;y<80;y++){let I=R.rotrSH(h,l,14)^R.rotrSH(h,l,18)^R.rotrBH(h,l,41),v=R.rotrSL(h,l,14)^R.rotrSL(h,l,18)^R.rotrBL(h,l,41),B=h&d^~h&p,x=l&m^~l&g,_=R.add5L(S,v,x,Xu[y],Et[y]),k=R.add5H(_,b,I,B,Ju[y],xt[y]),z=_|0,L=R.rotrSH(r,n,28)^R.rotrBH(r,n,34)^R.rotrBH(r,n,39),U=R.rotrSL(r,n,28)^R.rotrBL(r,n,34)^R.rotrBL(r,n,39),se=r&i^r&a^i&a,T=n&o^n&c^o&c;b=p|0,S=g|0,p=d|0,g=m|0,d=h|0,m=l|0,{h,l}=R.add(f|0,u|0,k|0,z|0),f=a|0,u=c|0,a=i|0,c=o|0,i=r|0,o=n|0;let P=R.add3L(z,U,T);r=R.add3H(P,k,L,se),n=P|0}({h:r,l:n}=R.add(this.Ah|0,this.Al|0,r|0,n|0)),{h:i,l:o}=R.add(this.Bh|0,this.Bl|0,i|0,o|0),{h:a,l:c}=R.add(this.Ch|0,this.Cl|0,a|0,c|0),{h:f,l:u}=R.add(this.Dh|0,this.Dl|0,f|0,u|0),{h,l}=R.add(this.Eh|0,this.El|0,h|0,l|0),{h:d,l:m}=R.add(this.Fh|0,this.Fl|0,d|0,m|0),{h:p,l:g}=R.add(this.Gh|0,this.Gl|0,p|0,g|0),{h:b,l:S}=R.add(this.Hh|0,this.Hl|0,b|0,S|0),this.set(r,n,i,o,a,c,f,u,h,l,d,m,p,g,b,S)}roundClean(){xt.fill(0),Et.fill(0)}destroy(){this.buffer.fill(0),this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)}};var ia=cr(()=>new ti);var hr={};ve(hr,{aInRange:()=>Te,abool:()=>Ge,abytes:()=>ls,bitGet:()=>rh,bitLen:()=>oi,bitMask:()=>Rs,bitSet:()=>nh,bytesToHex:()=>ot,bytesToNumberBE:()=>at,bytesToNumberLE:()=>Bt,concatBytes:()=>ct,createHmacDrbg:()=>ai,ensureBytes:()=>ee,equalBytes:()=>th,hexToBytes:()=>zt,hexToNumber:()=>ii,inRange:()=>Ns,isBytes:()=>St,memoized:()=>qt,notImplemented:()=>oh,numberToBytesBE:()=>It,numberToBytesLE:()=>Gt,numberToHexUnpadded:()=>Ot,numberToVarBytesBE:()=>eh,utf8ToBytes:()=>sh,validateObject:()=>Ze});var ni=BigInt(0),ur=BigInt(1),Yu=BigInt(2);function St(s){return s instanceof Uint8Array||s!=null&&typeof s=="object"&&s.constructor.name==="Uint8Array"}function ls(s){if(!St(s))throw new Error("Uint8Array expected")}function Ge(s,e){if(typeof e!="boolean")throw new Error(`${s} must be valid boolean, got "${e}".`)}var Qu=Array.from({length:256},(s,e)=>e.toString(16).padStart(2,"0"));function ot(s){ls(s);let e="";for(let t=0;t=it._0&&s<=it._9)return s-it._0;if(s>=it._A&&s<=it._F)return s-(it._A-10);if(s>=it._a&&s<=it._f)return s-(it._a-10)}function zt(s){if(typeof s!="string")throw new Error("hex string expected, got "+typeof s);let e=s.length,t=e/2;if(e%2)throw new Error("padded hex string expected, got unpadded hex of length "+e);let r=new Uint8Array(t);for(let n=0,i=0;ntypeof s=="bigint"&&ni<=s;function Ns(s,e,t){return si(s)&&si(e)&&si(t)&&e<=s&&sni;s>>=ur,e+=1);return e}function rh(s,e){return s>>BigInt(e)&ur}function nh(s,e,t){return s|(t?ur:ni)<(Yu<new Uint8Array(s),aa=s=>Uint8Array.from(s);function ai(s,e,t){if(typeof s!="number"||s<2)throw new Error("hashLen must be a number");if(typeof e!="number"||e<2)throw new Error("qByteLen must be a number");if(typeof t!="function")throw new Error("hmacFn must be a function");let r=ri(s),n=ri(s),i=0,o=()=>{r.fill(1),n.fill(0),i=0},a=(...h)=>t(n,r,...h),c=(h=ri())=>{n=a(aa([0]),h),r=a(),h.length!==0&&(n=a(aa([1]),h),r=a())},f=()=>{if(i++>=1e3)throw new Error("drbg: tried 1000 values");let h=0,l=[];for(;h{o(),c(h);let d;for(;!(d=l(f()));)c();return o(),d}}var ih={bigint:s=>typeof s=="bigint",function:s=>typeof s=="function",boolean:s=>typeof s=="boolean",string:s=>typeof s=="string",stringOrUint8Array:s=>typeof s=="string"||St(s),isSafeInteger:s=>Number.isSafeInteger(s),array:s=>Array.isArray(s),field:(s,e)=>e.Fp.isValid(s),hash:s=>typeof s=="function"&&Number.isSafeInteger(s.outputLen)};function Ze(s,e,t={}){let r=(n,i,o)=>{let a=ih[i];if(typeof a!="function")throw new Error(`Invalid validator "${i}", expected function`);let c=s[n];if(!(o&&c===void 0)&&!a(c,s))throw new Error(`Invalid param ${String(n)}=${c} (${typeof c}), expected ${i}`)};for(let[n,i]of Object.entries(e))r(n,i,!1);for(let[n,i]of Object.entries(t))r(n,i,!0);return s}var oh=()=>{throw new Error("not implemented")};function qt(s){let e=new WeakMap;return(t,...r)=>{let n=e.get(t);if(n!==void 0)return n;let i=s(t,...r);return e.set(t,i),i}}var ne=BigInt(0),Z=BigInt(1),Kt=BigInt(2),ah=BigInt(3),ci=BigInt(4),ca=BigInt(5),la=BigInt(8),ch=BigInt(9),lh=BigInt(16);function W(s,e){let t=s%e;return t>=ne?t:e+t}function uh(s,e,t){if(t<=ne||e 0");if(t===Z)return ne;let r=Z;for(;e>ne;)e&Z&&(r=r*s%t),s=s*s%t,e>>=Z;return r}function J(s,e,t){let r=s;for(;e-- >ne;)r*=r,r%=t;return r}function fr(s,e){if(s===ne||e<=ne)throw new Error(`invert: expected positive integers, got n=${s} mod=${e}`);let t=W(s,e),r=e,n=ne,i=Z,o=Z,a=ne;for(;t!==ne;){let f=r/t,u=r%t,h=n-o*f,l=i-a*f;r=t,t=u,n=o,i=a,o=h,a=l}if(r!==Z)throw new Error("invert: does not exist");return W(n,e)}function hh(s){let e=(s-Z)/Kt,t,r,n;for(t=s-Z,r=0;t%Kt===ne;t/=Kt,r++);for(n=Kt;n(W(s,e)&Z)===Z,dh=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"];function li(s){let e={ORDER:"bigint",MASK:"bigint",BYTES:"isSafeInteger",BITS:"isSafeInteger"},t=dh.reduce((r,n)=>(r[n]="function",r),e);return Ze(s,t)}function ph(s,e,t){if(t 0");if(t===ne)return s.ONE;if(t===Z)return e;let r=s.ONE,n=e;for(;t>ne;)t&Z&&(r=s.mul(r,n)),n=s.sqr(n),t>>=Z;return r}function gh(s,e){let t=new Array(e.length),r=e.reduce((i,o,a)=>s.is0(o)?i:(t[a]=i,s.mul(i,o)),s.ONE),n=s.inv(r);return e.reduceRight((i,o,a)=>s.is0(o)?i:(t[a]=s.mul(i,t[a]),s.mul(i,o)),n),t}function ui(s,e){let t=e!==void 0?e:s.toString(2).length,r=Math.ceil(t/8);return{nBitLength:t,nByteLength:r}}function _t(s,e,t=!1,r={}){if(s<=ne)throw new Error(`Expected Field ORDER > 0, got ${s}`);let{nBitLength:n,nByteLength:i}=ui(s,e);if(i>2048)throw new Error("Field lengths over 2048 bytes are not supported");let o=fh(s),a=Object.freeze({ORDER:s,BITS:n,BYTES:i,MASK:Rs(n),ZERO:ne,ONE:Z,create:c=>W(c,s),isValid:c=>{if(typeof c!="bigint")throw new Error(`Invalid field element: expected bigint, got ${typeof c}`);return ne<=c&&cc===ne,isOdd:c=>(c&Z)===Z,neg:c=>W(-c,s),eql:(c,f)=>c===f,sqr:c=>W(c*c,s),add:(c,f)=>W(c+f,s),sub:(c,f)=>W(c-f,s),mul:(c,f)=>W(c*f,s),pow:(c,f)=>ph(a,c,f),div:(c,f)=>W(c*fr(f,s),s),sqrN:c=>c*c,addN:(c,f)=>c+f,subN:(c,f)=>c-f,mulN:(c,f)=>c*f,inv:c=>fr(c,s),sqrt:r.sqrt||(c=>o(a,c)),invertBatch:c=>gh(a,c),cmov:(c,f,u)=>u?f:c,toBytes:c=>t?Gt(c,i):It(c,i),fromBytes:c=>{if(c.length!==i)throw new Error(`Fp.fromBytes: expected ${i}, got ${c.length}`);return t?Bt(c):at(c)}});return Object.freeze(a)}function ha(s){if(typeof s!="bigint")throw new Error("field order must be bigint");let e=s.toString(2).length;return Math.ceil(e/8)}function hi(s){let e=ha(s);return e+Math.ceil(e/2)}function fa(s,e,t=!1){let r=s.length,n=ha(e),i=hi(e);if(r<16||r1024)throw new Error(`expected ${i}-1024 bytes of input, got ${r}`);let o=t?at(s):Bt(s),a=W(o,e-Z)+Z;return t?Gt(a,n):It(a,n)}var bh=BigInt(0),fi=BigInt(1),di=new WeakMap,da=new WeakMap;function dr(s,e){let t=(i,o)=>{let a=o.negate();return i?a:o},r=i=>{if(!Number.isSafeInteger(i)||i<=0||i>e)throw new Error(`Wrong window size=${i}, should be [1..${e}]`)},n=i=>{r(i);let o=Math.ceil(e/i)+1,a=2**(i-1);return{windows:o,windowSize:a}};return{constTimeNegate:t,unsafeLadder(i,o){let a=s.ZERO,c=i;for(;o>bh;)o&fi&&(a=a.add(c)),c=c.double(),o>>=fi;return a},precomputeWindow(i,o){let{windows:a,windowSize:c}=n(o),f=[],u=i,h=u;for(let l=0;l>=m,b>f&&(b-=d,a+=fi);let S=g,y=g+Math.abs(b)-1,I=p%2!==0,v=b<0;b===0?h=h.add(t(I,o[S])):u=u.add(t(v,o[y]))}return{p:u,f:h}},wNAFCached(i,o,a){let c=da.get(i)||1,f=di.get(i);return f||(f=this.precomputeWindow(i,c),c!==1&&di.set(i,a(f))),this.wNAF(c,f,o)},setWindowSize(i,o){r(o),da.set(i,o),di.delete(i)}}}function pr(s,e,t,r){if(!Array.isArray(t)||!Array.isArray(r)||r.length!==t.length)throw new Error("arrays of points and scalars must have equal length");r.forEach((u,h)=>{if(!e.isValid(u))throw new Error(`wrong scalar at index ${h}`)}),t.forEach((u,h)=>{if(!(u instanceof s))throw new Error(`wrong point at index ${h}`)});let n=oi(BigInt(t.length)),i=n>12?n-3:n>4?n-2:n?2:1,o=(1<=0;u-=i){a.fill(s.ZERO);for(let l=0;l>BigInt(u)&BigInt(o));a[m]=a[m].add(t[l])}let h=s.ZERO;for(let l=a.length-1,d=s.ZERO;l>0;l--)d=d.add(a[l]),h=h.add(d);if(f=f.add(h),u!==0)for(let l=0;l{try{return{isValid:!0,value:t.sqrt(E*t.inv(w))}}catch{return{isValid:!1,value:qe}}}),d=e.adjustScalarBytes||(E=>E),m=e.domain||((E,w,A)=>{if(Ge("phflag",A),w.length||A)throw new Error("Contexts/pre-hash are not supported");return E});function p(E,w){Te("coordinate "+E,w,qe,f)}function g(E){if(!(E instanceof y))throw new Error("ExtendedPoint expected")}let b=qt((E,w)=>{let{ex:A,ey:D,ez:C}=E,N=E.is0();w==null&&(w=N?yh:t.inv(C));let F=u(A*w),O=u(D*w),V=u(C*w);if(N)return{x:qe,y:Me};if(V!==Me)throw new Error("invZ was invalid");return{x:F,y:O}}),S=qt(E=>{let{a:w,d:A}=e;if(E.is0())throw new Error("bad point: ZERO");let{ex:D,ey:C,ez:N,et:F}=E,O=u(D*D),V=u(C*C),K=u(N*N),j=u(K*K),oe=u(O*w),ae=u(K*u(oe+V)),ue=u(j+u(A*u(O*V)));if(ae!==ue)throw new Error("bad point: equation left != right (1)");let we=u(D*C),re=u(N*F);if(we!==re)throw new Error("bad point: equation left != right (2)");return!0});class y{constructor(w,A,D,C){this.ex=w,this.ey=A,this.ez=D,this.et=C,p("x",w),p("y",A),p("z",D),p("t",C),Object.freeze(this)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static fromAffine(w){if(w instanceof y)throw new Error("extended point not allowed");let{x:A,y:D}=w||{};return p("x",A),p("y",D),new y(A,D,Me,u(A*D))}static normalizeZ(w){let A=t.invertBatch(w.map(D=>D.ez));return w.map((D,C)=>D.toAffine(A[C])).map(y.fromAffine)}static msm(w,A){return pr(y,h,w,A)}_setWindowSize(w){B.setWindowSize(this,w)}assertValidity(){S(this)}equals(w){g(w);let{ex:A,ey:D,ez:C}=this,{ex:N,ey:F,ez:O}=w,V=u(A*O),K=u(N*C),j=u(D*O),oe=u(F*C);return V===K&&j===oe}is0(){return this.equals(y.ZERO)}negate(){return new y(u(-this.ex),this.ey,this.ez,u(-this.et))}double(){let{a:w}=e,{ex:A,ey:D,ez:C}=this,N=u(A*A),F=u(D*D),O=u(gr*u(C*C)),V=u(w*N),K=A+D,j=u(u(K*K)-N-F),oe=V+F,ae=oe-O,ue=V-F,we=u(j*ae),re=u(oe*ue),Ae=u(j*ue),st=u(ae*oe);return new y(we,re,st,Ae)}add(w){g(w);let{a:A,d:D}=e,{ex:C,ey:N,ez:F,et:O}=this,{ex:V,ey:K,ez:j,et:oe}=w;if(A===BigInt(-1)){let Bo=u((N-C)*(K+V)),Io=u((N+C)*(K-V)),zn=u(Io-Bo);if(zn===qe)return this.double();let _o=u(F*gr*oe),Ao=u(O*gr*j),ko=Ao+_o,To=Io+Bo,Mo=Ao-_o,Pl=u(ko*zn),Dl=u(To*Mo),Cl=u(ko*Mo),Nl=u(zn*To);return new y(Pl,Dl,Nl,Cl)}let ae=u(C*V),ue=u(N*K),we=u(O*D*oe),re=u(F*j),Ae=u((C+N)*(V+K)-ae-ue),st=re-we,ks=re+we,Ts=u(ue-A*ae),Al=u(Ae*st),kl=u(ks*Ts),Tl=u(Ae*Ts),Ml=u(st*ks);return new y(Al,kl,Ml,Tl)}subtract(w){return this.add(w.negate())}wNAF(w){return B.wNAFCached(this,w,y.normalizeZ)}multiply(w){let A=w;Te("scalar",A,Me,r);let{p:D,f:C}=this.wNAF(A);return y.normalizeZ([D,C])[0]}multiplyUnsafe(w){let A=w;return Te("scalar",A,qe,r),A===qe?v:this.equals(v)||A===Me?this:this.equals(I)?this.wNAF(A).p:B.unsafeLadder(this,A)}isSmallOrder(){return this.multiplyUnsafe(c).is0()}isTorsionFree(){return B.unsafeLadder(this,r).is0()}toAffine(w){return b(this,w)}clearCofactor(){let{h:w}=e;return w===Me?this:this.multiplyUnsafe(w)}static fromHex(w,A=!1){let{d:D,a:C}=e,N=t.BYTES;w=ee("pointHex",w,N),Ge("zip215",A);let F=w.slice(),O=w[N-1];F[N-1]=O&-129;let V=Bt(F),K=A?f:t.ORDER;Te("pointHex.y",V,qe,K);let j=u(V*V),oe=u(j-Me),ae=u(D*j-C),{isValid:ue,value:we}=l(oe,ae);if(!ue)throw new Error("Point.fromHex: invalid y coordinate");let re=(we&Me)===Me,Ae=(O&128)!==0;if(!A&&we===qe&&Ae)throw new Error("Point.fromHex: x=0 and x_0=1");return Ae!==re&&(we=u(-we)),y.fromAffine({x:we,y:V})}static fromPrivateKey(w){return k(w).point}toRawBytes(){let{x:w,y:A}=this.toAffine(),D=Gt(A,t.BYTES);return D[D.length-1]|=w&Me?128:0,D}toHex(){return ot(this.toRawBytes())}}y.BASE=new y(e.Gx,e.Gy,Me,u(e.Gx*e.Gy)),y.ZERO=new y(qe,Me,Me,qe);let{BASE:I,ZERO:v}=y,B=dr(y,a*8);function x(E){return W(E,r)}function _(E){return x(Bt(E))}function k(E){let w=a;E=ee("private key",E,w);let A=ee("hashed private key",i(E),2*w),D=d(A.slice(0,w)),C=A.slice(w,2*w),N=_(D),F=I.multiply(N),O=F.toRawBytes();return{head:D,prefix:C,scalar:N,point:F,pointBytes:O}}function z(E){return k(E).pointBytes}function L(E=new Uint8Array,...w){let A=ct(...w);return _(i(m(A,ee("context",E),!!n)))}function U(E,w,A={}){E=ee("message",E),n&&(E=n(E));let{prefix:D,scalar:C,pointBytes:N}=k(w),F=L(A.context,D,E),O=I.multiply(F).toRawBytes(),V=L(A.context,O,N,E),K=x(F+V*C);Te("signature.s",K,qe,r);let j=ct(O,Gt(K,t.BYTES));return ee("result",j,a*2)}let se=wh;function T(E,w,A,D=se){let{context:C,zip215:N}=D,F=t.BYTES;E=ee("signature",E,2*F),w=ee("message",w),N!==void 0&&Ge("zip215",N),n&&(w=n(w));let O=Bt(E.slice(F,2*F)),V,K,j;try{V=y.fromHex(A,N),K=y.fromHex(E.slice(0,F),N),j=I.multiplyUnsafe(O)}catch{return!1}if(!N&&V.isSmallOrder())return!1;let oe=L(C,K.toRawBytes(),V.toRawBytes(),w);return K.add(V.multiplyUnsafe(oe)).subtract(j).clearCofactor().equals(y.ZERO)}return I._setWindowSize(8),{CURVE:e,getPublicKey:z,sign:U,verify:T,ExtendedPoint:y,utils:{getExtendedPublicKey:k,randomPrivateKey:()=>o(t.BYTES),precompute(E=8,w=y.BASE){return w._setWindowSize(E),w.multiply(BigInt(3)),w}}}}var pi=BigInt("57896044618658097711785492504343953926634992332820282019728792003956564819949"),ga=BigInt("19681161376707505956807079304988542015446066515923890162744021073123829784752"),ag=BigInt(0),xh=BigInt(1),ma=BigInt(2),cg=BigInt(3),Eh=BigInt(5),Sh=BigInt(8);function Bh(s){let e=BigInt(10),t=BigInt(20),r=BigInt(40),n=BigInt(80),i=pi,a=s*s%i*s%i,c=J(a,ma,i)*a%i,f=J(c,xh,i)*s%i,u=J(f,Eh,i)*f%i,h=J(u,e,i)*u%i,l=J(h,t,i)*h%i,d=J(l,r,i)*l%i,m=J(d,n,i)*d%i,p=J(m,n,i)*d%i,g=J(p,e,i)*u%i;return{pow_p_5_8:J(g,ma,i)*s%i,b2:a}}function Ih(s){return s[0]&=248,s[31]&=127,s[31]|=64,s}function _h(s,e){let t=pi,r=W(e*e*e,t),n=W(r*r*e,t),i=Bh(s*n).pow_p_5_8,o=W(s*r*i,t),a=W(e*o*o,t),c=o,f=W(o*ga,t),u=a===s,h=a===W(-s,t),l=a===W(-s*ga,t);return u&&(o=c),(h||l)&&(o=f),ua(o,t)&&(o=W(-o,t)),{isValid:u||h,value:o}}var Ah=_t(pi,void 0,!0),kh={a:BigInt(-1),d:BigInt("37095705934669439343138083508754565189542113879843219016388785533085940283555"),Fp:Ah,n:BigInt("7237005577332262213973186563042994240857116359379907606001950938285454250989"),h:Sh,Gx:BigInt("15112221349535400772501151409588531511454012693041857206046113283949847762202"),Gy:BigInt("46316835694926478169428394003475163141307993866256225615783033603165251855960"),hash:ia,randomBytes:as,adjustScalarBytes:Ih,uvRatio:_h},ba=pa(kh);var mr=32;function ya(s,e,t){return ba.verify(e,t instanceof Uint8Array?t:t.subarray(),s)}var br=class{type="Ed25519";raw;constructor(e){this.raw=gi(e,mr)}toMultihash(){return nt.digest(At(this))}toCID(){return ke.createV1(114,this.toMultihash())}toString(){return te.encode(this.toMultihash().bytes).substring(1)}equals(e){return e==null||!(e.raw instanceof Uint8Array)?!1:Ue(this.raw,e.raw)}verify(e,t){return ya(this.raw,t,e)}};function mi(s){return s=gi(s,mr),new br(s)}function gi(s,e){if(s=Uint8Array.from(s??[]),s.length!==e)throw new ce(`Key must be a Uint8Array of length ${e}, got ${s.length}`);return s}function lt(s=0){return new Uint8Array(s)}function de(s=0){return new Uint8Array(s)}var Mh=Math.pow(2,7),Ph=Math.pow(2,14),Dh=Math.pow(2,21),bi=Math.pow(2,28),yi=Math.pow(2,35),wi=Math.pow(2,42),vi=Math.pow(2,49),G=128,pe=127;function Ee(s){if(sNumber.MAX_SAFE_INTEGER)throw new RangeError("Could not encode varint");return 8}function xi(s,e,t=0){switch(Ee(s)){case 8:e[t++]=s&255|G,s/=128;case 7:e[t++]=s&255|G,s/=128;case 6:e[t++]=s&255|G,s/=128;case 5:e[t++]=s&255|G,s/=128;case 4:e[t++]=s&255|G,s>>>=7;case 3:e[t++]=s&255|G,s>>>=7;case 2:e[t++]=s&255|G,s>>>=7;case 1:{e[t++]=s&255,s>>>=7;break}default:throw new Error("unreachable")}return e}function Ch(s,e,t=0){switch(Ee(s)){case 8:e.set(t++,s&255|G),s/=128;case 7:e.set(t++,s&255|G),s/=128;case 6:e.set(t++,s&255|G),s/=128;case 5:e.set(t++,s&255|G),s/=128;case 4:e.set(t++,s&255|G),s>>>=7;case 3:e.set(t++,s&255|G),s>>>=7;case 2:e.set(t++,s&255|G),s>>>=7;case 1:{e.set(t++,s&255),s>>>=7;break}default:throw new Error("unreachable")}return e}function Ei(s,e){let t=s[e],r=0;if(r+=t&pe,t>>31>0){let t=~this.lo+1>>>0,r=~this.hi>>>0;return t===0&&(r=r+1>>>0),-(t+r*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,r=~this.hi>>>0;return t===0&&(r=r+1>>>0),-(BigInt(t)+(BigInt(r)<<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,r=this.hi>>>24;return r===0?t===0?e<16384?e<128?1:2:e<2097152?3:4:t<16384?t<128?5:6:t<2097152?7:8:r<128?9:10}static fromBigInt(e){if(e===0n)return Wt;if(eLh)return this.fromNumber(Number(e));let t=e<0n;t&&(e=-e);let r=e>>32n,n=e-(r<<32n);return t&&(r=~r|0n,n=~n|0n,++n>Ba&&(n=0n,++r>Ba&&(r=0n))),new s(Number(n),Number(r))}static fromNumber(e){if(e===0)return Wt;let t=e<0;t&&(e=-e);let r=e>>>0,n=(e-r)/4294967296>>>0;return t&&(n=~n>>>0,r=~r>>>0,++r>4294967295&&(r=0,++n>4294967295&&(n=0))),new s(r,n)}static from(e){return typeof e=="number"?s.fromNumber(e):typeof e=="bigint"?s.fromBigInt(e):typeof e=="string"?s.fromBigInt(BigInt(e)):e.low!=null||e.high!=null?new s(e.low>>>0,e.high>>>0):Wt}},Wt=new Re(0,0);Wt.toBigInt=function(){return 0n};Wt.zzEncode=Wt.zzDecode=function(){return this};Wt.length=function(){return 1};var Ba=4294967296n;function Ia(s){let e=0,t=0;for(let r=0;r191&&a<224?i[o++]=(a&31)<<6|s[e++]&63:a>239&&a<365?(a=((a&7)<<18|(s[e++]&63)<<12|(s[e++]&63)<<6|s[e++]&63)-65536,i[o++]=55296+(a>>10),i[o++]=56320+(a&1023)):i[o++]=(a&15)<<12|(s[e++]&63)<<6|s[e++]&63,o>8191&&((n??(n=[])).push(String.fromCharCode.apply(String,i)),o=0);return n!=null?(o>0&&n.push(String.fromCharCode.apply(String,i.slice(0,o))),n.join("")):String.fromCharCode.apply(String,i.slice(0,o))}function Ai(s,e,t){let r=t,n,i;for(let o=0;o>6|192,e[t++]=n&63|128):(n&64512)===55296&&((i=s.charCodeAt(o+1))&64512)===56320?(n=65536+((n&1023)<<10)+(i&1023),++o,e[t++]=n>>18|240,e[t++]=n>>12&63|128,e[t++]=n>>6&63|128,e[t++]=n&63|128):(e[t++]=n>>12|224,e[t++]=n>>6&63|128,e[t++]=n&63|128);return t-r}function Ke(s,e){return RangeError(`index out of range: ${s.pos} + ${e??1} > ${s.len}`)}function yr(s,e){return(s[e-4]|s[e-3]<<8|s[e-2]<<16|s[e-1]<<24)>>>0}var ki=class{buf;pos;len;_slice=Uint8Array.prototype.subarray;constructor(e){this.buf=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,Ke(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 Ke(this,4);return yr(this.buf,this.pos+=4)}sfixed32(){if(this.pos+4>this.len)throw Ke(this,4);return yr(this.buf,this.pos+=4)|0}float(){if(this.pos+4>this.len)throw Ke(this,4);let e=xa(this.buf,this.pos);return this.pos+=4,e}double(){if(this.pos+8>this.len)throw Ke(this,4);let e=Sa(this.buf,this.pos);return this.pos+=8,e}bytes(){let e=this.uint32(),t=this.pos,r=this.pos+e;if(r>this.len)throw Ke(this,e);return this.pos+=e,t===r?new Uint8Array(0):this.buf.subarray(t,r)}string(){let e=this.bytes();return _a(e,0,e.length)}skip(e){if(typeof e=="number"){if(this.pos+e>this.len)throw Ke(this,e);this.pos+=e}else do if(this.pos>=this.len)throw Ke(this);while(this.buf[this.pos++]&128);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 Re(0,0),t=0;if(this.len-this.pos>4){for(;t<4;++t)if(e.lo=(e.lo|(this.buf[this.pos]&127)<>>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 Ke(this);if(e.lo=(e.lo|(this.buf[this.pos]&127)<>>0,this.buf[this.pos++]<128)return e}return e.lo=(e.lo|(this.buf[this.pos++]&127)<>>0,e}if(this.len-this.pos>4){for(;t<5;++t)if(e.hi=(e.hi|(this.buf[this.pos]&127)<>>0,this.buf[this.pos++]<128)return e}else for(;t<5;++t){if(this.pos>=this.len)throw Ke(this);if(e.hi=(e.hi|(this.buf[this.pos]&127)<>>0,this.buf[this.pos++]<128)return e}throw Error("invalid varint encoding")}readFixed64(){if(this.pos+8>this.len)throw Ke(this,8);let e=yr(this.buf,this.pos+=4),t=yr(this.buf,this.pos+=4);return new Re(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=Ei(this.buf,this.pos);return this.pos+=Ee(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 Ti(s){return new ki(s instanceof Uint8Array?s:s.subarray())}function Pe(s,e,t){let r=Ti(s);return e.decode(r,void 0,t)}var Mi={};ve(Mi,{base10:()=>Uh});var Uh=vt({prefix:"9",name:"base10",alphabet:"0123456789"});var Pi={};ve(Pi,{base16:()=>Fh,base16upper:()=>Vh});var Fh=Q({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),Vh=Q({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var Di={};ve(Di,{base2:()=>Hh});var Hh=Q({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var Ci={};ve(Ci,{base256emoji:()=>Kh});var ka=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}"),Oh=ka.reduce((s,e,t)=>(s[t]=e,s),[]),zh=ka.reduce((s,e,t)=>(s[e.codePointAt(0)]=t,s),[]);function Gh(s){return s.reduce((e,t)=>(e+=Oh[t],e),"")}function qh(s){let e=[];for(let t of s){let r=zh[t.codePointAt(0)];if(r===void 0)throw new Error(`Non-base256emoji character: ${t}`);e.push(r)}return new Uint8Array(e)}var Kh=es({prefix:"\u{1F680}",name:"base256emoji",encode:Gh,decode:qh});var Ni={};ve(Ni,{base36:()=>Wh,base36upper:()=>$h});var Wh=vt({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),$h=vt({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var Ri={};ve(Ri,{base64:()=>jh,base64pad:()=>Zh,base64url:()=>Jh,base64urlpad:()=>Xh});var jh=Q({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),Zh=Q({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),Jh=Q({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),Xh=Q({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});var Li={};ve(Li,{base8:()=>Yh});var Yh=Q({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var Ui={};ve(Ui,{identity:()=>Qh});var Qh=es({prefix:"\0",name:"identity",encode:s=>Vo(s),decode:s=>Fo(s)});var Kg=new TextEncoder,Wg=new TextDecoder;var Hi={};ve(Hi,{sha256:()=>Tt,sha512:()=>sf});function Vi({name:s,code:e,encode:t}){return new Fi(s,e,t)}var Fi=class{name;code;encode;constructor(e,t,r){this.name=e,this.code=t,this.encode=r}digest(e){if(e instanceof Uint8Array){let t=this.encode(e);return t instanceof Uint8Array?He(this.code,t):t.then(r=>He(this.code,r))}else throw Error("Unknown type, must be binary type")}};function Ma(s){return async e=>new Uint8Array(await crypto.subtle.digest(s,e))}var Tt=Vi({name:"sha2-256",code:18,encode:Ma("SHA-256")}),sf=Vi({name:"sha2-512",code:19,encode:Ma("SHA-512")});var Us={...Ui,...Di,...Li,...Mi,...Pi,...Zn,...Ni,...jn,...Ri,...Ci},nm={...Hi,...Yn};function Da(s,e,t,r){return{name:s,prefix:e,encoder:{name:s,prefix:e,encode:t},decoder:{decode:r}}}var Pa=Da("utf8","u",s=>"u"+new TextDecoder("utf8").decode(s),s=>new TextEncoder().encode(s.substring(1))),Oi=Da("ascii","a",s=>{let e="a";for(let t=0;t{s=s.substring(1);let e=de(s.length);for(let t=0;t>>1,r,n=e;return function(o){if(o<1||o>t)return de(o);n+o>e&&(r=de(e),n=0);let a=r.subarray(n,n+=o);return n&7&&(n=(n|7)+1),a}}var $t=class{fn;len;next;val;constructor(e,t,r){this.fn=e,this.len=t,this.next=void 0,this.val=r}};function Gi(){}var Ki=class{head;tail;len;next;constructor(e){this.head=e.head,this.tail=e.tail,this.len=e.len,this.next=e.states}},nf=zi();function of(s){return globalThis.Buffer!=null?de(s):nf(s)}var Vs=class{len;head;tail;states;constructor(){this.len=0,this.head=new $t(Gi,0,0),this.tail=this.head,this.states=null}_push(e,t,r){return this.tail=this.tail.next=new $t(e,t,r),this.len+=t,this}uint32(e){return this.len+=(this.tail=this.tail.next=new Wi((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(vr,10,Re.fromNumber(e)):this.uint32(e)}sint32(e){return this.uint32((e<<1^e>>31)>>>0)}uint64(e){let t=Re.fromBigInt(e);return this._push(vr,t.length(),t)}uint64Number(e){return this._push(xi,Ee(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=Re.fromBigInt(e).zzEncode();return this._push(vr,t.length(),t)}sint64Number(e){let t=Re.fromNumber(e).zzEncode();return this._push(vr,t.length(),t)}sint64String(e){return this.sint64(BigInt(e))}bool(e){return this._push(qi,1,e?1:0)}fixed32(e){return this._push(Fs,4,e>>>0)}sfixed32(e){return this.fixed32(e)}fixed64(e){let t=Re.fromBigInt(e);return this._push(Fs,4,t.lo)._push(Fs,4,t.hi)}fixed64Number(e){let t=Re.fromNumber(e);return this._push(Fs,4,t.lo)._push(Fs,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(va,4,e)}double(e){return this._push(Ea,8,e)}bytes(e){let t=e.length>>>0;return t===0?this._push(qi,1,0):this.uint32(t)._push(cf,t,e)}string(e){let t=Ia(e);return t!==0?this.uint32(t)._push(Ai,t,e):this._push(qi,1,0)}fork(){return this.states=new Ki(this),this.head=this.tail=new $t(Gi,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 $t(Gi,0,0),this.len=0),this}ldelim(){let e=this.head,t=this.tail,r=this.len;return this.reset().uint32(r),r!==0&&(this.tail.next=e.next,this.tail=t,this.len+=r),this}finish(){let e=this.head.next,t=of(this.len),r=0;for(;e!=null;)e.fn(e.val,t,r),r+=e.len,e=e.next;return t}};function qi(s,e,t){e[t]=s&255}function af(s,e,t){for(;s>127;)e[t++]=s&127|128,s>>>=7;e[t]=s}var Wi=class extends $t{next;constructor(e,t){super(af,e,t),this.next=void 0}};function vr(s,e,t){for(;s.hi!==0;)e[t++]=s.lo&127|128,s.lo=(s.lo>>>7|s.hi<<25)>>>0,s.hi>>>=7;for(;s.lo>127;)e[t++]=s.lo&127|128,s.lo=s.lo>>>7;e[t++]=s.lo}function Fs(s,e,t){e[t]=s&255,e[t+1]=s>>>8&255,e[t+2]=s>>>16&255,e[t+3]=s>>>24}function cf(s,e,t){e.set(s,t)}globalThis.Buffer!=null&&(Vs.prototype.bytes=function(s){let e=s.length>>>0;return this.uint32(e),e>0&&this._push(lf,e,s),this},Vs.prototype.string=function(s){let e=globalThis.Buffer.byteLength(s);return this.uint32(e),e>0&&this._push(uf,e,s),this});function lf(s,e,t){e.set(s,t)}function uf(s,e,t){s.length<40?Ai(s,e,t):e.utf8Write!=null?e.utf8Write(s,t):e.set(X(s),t)}function $i(){return new Vs}function De(s,e){let t=$i();return e.encode(s,t,{lengthDelimited:!1}),t.finish()}var hs;(function(s){s[s.VARINT=0]="VARINT",s[s.BIT64=1]="BIT64",s[s.LENGTH_DELIMITED=2]="LENGTH_DELIMITED",s[s.START_GROUP=3]="START_GROUP",s[s.END_GROUP=4]="END_GROUP",s[s.BIT32=5]="BIT32"})(hs||(hs={}));function xr(s,e,t,r){return{name:s,type:e,encode:t,decode:r}}function ji(s){function e(n){if(s[n.toString()]==null)throw new Error("Invalid enum value");return s[n]}let t=function(i,o){let a=e(i);o.int32(a)},r=function(i){let o=i.int32();return e(o)};return xr("enum",hs.VARINT,t,r)}function Ce(s,e){return xr("message",hs.LENGTH_DELIMITED,s,e)}var Fe=class extends Error{code="ERR_MAX_LENGTH";name="MaxLengthError"};var ie;(function(s){s.RSA="RSA",s.Ed25519="Ed25519",s.secp256k1="secp256k1"})(ie||(ie={}));var Zi;(function(s){s[s.RSA=0]="RSA",s[s.Ed25519=1]="Ed25519",s[s.secp256k1=2]="secp256k1"})(Zi||(Zi={}));(function(s){s.codec=()=>ji(Zi)})(ie||(ie={}));var Je;(function(s){let e;s.codec=()=>(e==null&&(e=Ce((t,r,n={})=>{n.lengthDelimited!==!1&&r.fork(),t.Type!=null&&(r.uint32(8),ie.codec().encode(t.Type,r)),t.Data!=null&&(r.uint32(18),r.bytes(t.Data)),n.lengthDelimited!==!1&&r.ldelim()},(t,r,n={})=>{let i={},o=r==null?t.len:t.pos+r;for(;t.pos>>3){case 1:{i.Type=ie.codec().decode(t);break}case 2:{i.Data=t.bytes();break}default:{t.skipType(a&7);break}}}return i})),e),s.encode=t=>De(t,s.codec()),s.decode=(t,r)=>Pe(t,s.codec(),r)})(Je||(Je={}));var Ji;(function(s){let e;s.codec=()=>(e==null&&(e=Ce((t,r,n={})=>{n.lengthDelimited!==!1&&r.fork(),t.Type!=null&&(r.uint32(8),ie.codec().encode(t.Type,r)),t.Data!=null&&(r.uint32(18),r.bytes(t.Data)),n.lengthDelimited!==!1&&r.ldelim()},(t,r,n={})=>{let i={},o=r==null?t.len:t.pos+r;for(;t.pos>>3){case 1:{i.Type=ie.codec().decode(t);break}case 2:{i.Data=t.bytes();break}default:{t.skipType(a&7);break}}}return i})),e),s.encode=t=>De(t,s.codec()),s.decode=(t,r)=>Pe(t,s.codec(),r)})(Ji||(Ji={}));var Zs={};ve(Zs,{MAX_RSA_KEY_SIZE:()=>pn,generateRSAKeyPair:()=>Tc,jwkToJWKKeyPair:()=>Mc,jwkToPkcs1:()=>_f,jwkToPkix:()=>io,jwkToRSAPrivateKey:()=>kc,pkcs1ToJwk:()=>Ic,pkcs1ToRSAPrivateKey:()=>Ac,pkixToJwk:()=>_c,pkixToRSAPublicKey:()=>oo});var hf=new Uint32Array([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]),Mt=new Uint32Array([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),Pt=new Uint32Array(64),Xi=class extends cs{constructor(){super(64,32,8,!1),this.A=Mt[0]|0,this.B=Mt[1]|0,this.C=Mt[2]|0,this.D=Mt[3]|0,this.E=Mt[4]|0,this.F=Mt[5]|0,this.G=Mt[6]|0,this.H=Mt[7]|0}get(){let{A:e,B:t,C:r,D:n,E:i,F:o,G:a,H:c}=this;return[e,t,r,n,i,o,a,c]}set(e,t,r,n,i,o,a,c){this.A=e|0,this.B=t|0,this.C=r|0,this.D=n|0,this.E=i|0,this.F=o|0,this.G=a|0,this.H=c|0}process(e,t){for(let h=0;h<16;h++,t+=4)Pt[h]=e.getUint32(t,!1);for(let h=16;h<64;h++){let l=Pt[h-15],d=Pt[h-2],m=ze(l,7)^ze(l,18)^l>>>3,p=ze(d,17)^ze(d,19)^d>>>10;Pt[h]=p+Pt[h-7]+m+Pt[h-16]|0}let{A:r,B:n,C:i,D:o,E:a,F:c,G:f,H:u}=this;for(let h=0;h<64;h++){let l=ze(a,6)^ze(a,11)^ze(a,25),d=u+l+sa(a,c,f)+hf[h]+Pt[h]|0,p=(ze(r,2)^ze(r,13)^ze(r,22))+ra(r,n,i)|0;u=f,f=c,c=a,a=o+d|0,o=i,i=n,n=r,r=d+p|0}r=r+this.A|0,n=n+this.B|0,i=i+this.C|0,o=o+this.D|0,a=a+this.E|0,c=c+this.F|0,f=f+this.G|0,u=u+this.H|0,this.set(r,n,i,o,a,c,f,u)}roundClean(){Pt.fill(0)}destroy(){this.set(0,0,0,0,0,0,0,0),this.buffer.fill(0)}};var fs=cr(()=>new Xi);var H=Co(Na());function jt(s,e){let t=0;if(s.length===1)return s[0];for(let r=s.length-1;r>=0;r--)t+=s[s.length-1-r]*Math.pow(2,e*r);return t}function Dt(s,e,t=-1){let r=t,n=s,i=0,o=Math.pow(2,e);for(let a=1;a<8;a++){if(s=0;u--){let h=Math.pow(2,u*e);f[i-u-1]=Math.floor(n/h),n-=f[i-u-1]*h}return c}o*=Math.pow(2,e)}return new ArrayBuffer(0)}function Br(...s){let e=0,t=0;for(let i of s)e+=i.length;let r=new ArrayBuffer(e),n=new Uint8Array(r);for(let i of s)n.set(i,t),t+=i.length;return n}function Qi(){let s=new Uint8Array(this.valueHex);if(this.valueHex.byteLength>=2){let a=s[0]===255&&s[1]&128,c=s[0]===0&&(s[1]&128)===0;(a||c)&&this.warnings.push("Needlessly long format")}let e=new ArrayBuffer(this.valueHex.byteLength),t=new Uint8Array(e);for(let a=0;a"u")throw new Error("BigInt is not defined. Your environment doesn't implement BigInt.")}function eo(s){let e=0,t=0;for(let n=0;n=i.length)return this.error="End of input reached before message was fully decoded",-1;if(c===u){u+=255;let l=new Uint8Array(u);for(let d=0;d8)return this.error="Too big integer",-1;if(o+1>i.length)return this.error="End of input reached before message was fully decoded",-1;let a=t+1,c=n.subarray(a,a+o);return c[o-1]===0&&this.warnings.push("Needlessly long encoded length"),this.length=jt(c,8),this.longFormUsed&&this.length<=127&&this.warnings.push("Unnecessary usage of long length form"),this.blockLength=o+1,t+this.blockLength}toBER(e=!1){let t,r;if(this.length>127&&(this.longFormUsed=!0),this.isIndefiniteForm)return t=new ArrayBuffer(1),e===!1&&(r=new Uint8Array(t),r[0]=128),t;if(this.longFormUsed){let n=Dt(this.length,8);if(n.byteLength>127)return this.error="Too big length",We;if(t=new ArrayBuffer(n.byteLength+1),e)return t;let i=new Uint8Array(n);r=new Uint8Array(t),r[0]=n.byteLength|128;for(let o=0;o=37&&n.idBlock.isHexOnly===!1)return n.error="UNIVERSAL 37 and upper tags are reserved by ASN.1 standard",{offset:-1,result:n};switch(n.idBlock.tagNumber){case 0:if(n.idBlock.isConstructed&&n.lenBlock.length>0)return n.error="Type [UNIVERSAL 0] is reserved",{offset:-1,result:n};c=M.EndOfContent;break;case 1:c=M.Boolean;break;case 2:c=M.Integer;break;case 3:c=M.BitString;break;case 4:c=M.OctetString;break;case 5:c=M.Null;break;case 6:c=M.ObjectIdentifier;break;case 10:c=M.Enumerated;break;case 12:c=M.Utf8String;break;case 13:c=M.RelativeObjectIdentifier;break;case 14:c=M.TIME;break;case 15:return n.error="[UNIVERSAL 15] is reserved by ASN.1 standard",{offset:-1,result:n};case 16:c=M.Sequence;break;case 17:c=M.Set;break;case 18:c=M.NumericString;break;case 19:c=M.PrintableString;break;case 20:c=M.TeletexString;break;case 21:c=M.VideotexString;break;case 22:c=M.IA5String;break;case 23:c=M.UTCTime;break;case 24:c=M.GeneralizedTime;break;case 25:c=M.GraphicString;break;case 26:c=M.VisibleString;break;case 27:c=M.GeneralString;break;case 28:c=M.UniversalString;break;case 29:c=M.CharacterString;break;case 30:c=M.BmpString;break;case 31:c=M.DATE;break;case 32:c=M.TimeOfDay;break;case 33:c=M.DateTime;break;case 34:c=M.Duration;break;default:{let f=n.idBlock.isConstructed?new M.Constructed:new M.Primitive;f.idBlock=n.idBlock,f.lenBlock=n.lenBlock,f.warnings=n.warnings,n=f}}break;case 2:case 3:case 4:default:c=n.idBlock.isConstructed?M.Constructed:M.Primitive}return n=vf(n,c),a=n.fromBER(s,e,n.lenBlock.isIndefiniteForm?t:n.lenBlock.length),n.valueBeforeDecodeView=s.subarray(r,r+n.blockLength),{offset:a,result:n}}function so(s){if(!s.byteLength){let e=new he({},me);return e.error="Input buffer has zero length",{offset:-1,result:e}}return hn(H.BufferSourceConverter.toUint8Array(s).slice(),0,s.byteLength)}function xf(s,e){return s?1:e}var Xe=class extends me{constructor({value:e=[],isIndefiniteForm:t=!1,...r}={}){super(r),this.value=e,this.isIndefiniteForm=t}fromBER(e,t,r){let n=H.BufferSourceConverter.toUint8Array(e);if(!pt(this,n,t,r))return-1;if(this.valueBeforeDecodeView=n.subarray(t,t+r),this.valueBeforeDecodeView.length===0)return this.warnings.push("Zero buffer length"),t;let i=t;for(;xf(this.isIndefiniteForm,r)>0;){let o=hn(n,i,r);if(o.offset===-1)return this.error=o.result.error,this.warnings.concat(o.result.warnings),-1;if(i=o.offset,this.blockLength+=o.result.blockLength,r-=o.result.blockLength,this.value.push(o.result),this.isIndefiniteForm&&o.result.constructor.NAME===zs)break}return this.isIndefiniteForm&&(this.value[this.value.length-1].constructor.NAME===zs?this.value.pop():this.warnings.push("No EndOfContent block encoded")),i}toBER(e,t){let r=t||new Os;for(let n=0;n` ${n}`).join(` `));let t=this.idBlock.tagClass===3?`[${this.idBlock.tagNumber}]`:this.constructor.NAME;return e.length?`${t} : ${e.join(` -`)}`:`${t} :`}};Ac=Vt;k.Constructed=Ac;Vt.NAME="CONSTRUCTED";var cn=class extends _e{fromBER(e,t,r){return t}toBER(e){return je}};cn.override="EndOfContentValueBlock";var kc,ln=class extends pe{constructor(e={}){super(e,cn),this.idBlock.tagClass=1,this.idBlock.tagNumber=0}};kc=ln;k.EndOfContent=kc;ln.NAME=nr;var Tc,Ot=class extends pe{constructor(e={}){super(e,_e),this.idBlock.tagClass=1,this.idBlock.tagNumber=5}fromBER(e,t,r){return this.lenBlock.length>0&&this.warnings.push("Non-zero length of value block for Null type"),this.idBlock.error.length||(this.blockLength+=this.idBlock.blockLength),this.lenBlock.error.length||(this.blockLength+=this.lenBlock.blockLength),this.blockLength+=r,t+r>e.byteLength?(this.error="End of input reached before message was fully decoded (inconsistent offset and length values)",-1):t+r}toBER(e,t){let r=new ArrayBuffer(2);if(!e){let n=new Uint8Array(r);n[0]=5,n[1]=0}return t&&t.write(r),r}onAsciiEncoding(){return`${this.constructor.NAME}`}};Tc=Ot;k.Null=Tc;Ot.NAME="NULL";var un=class extends _t(_e){constructor({value:e,...t}={}){super(t),t.valueHex?this.valueHexView=H.BufferSourceConverter.toUint8Array(t.valueHex):this.valueHexView=new Uint8Array(1),e&&(this.value=e)}get value(){for(let e of this.valueHexView)if(e>0)return!0;return!1}set value(e){this.valueHexView[0]=e?255:0}fromBER(e,t,r){let n=H.BufferSourceConverter.toUint8Array(e);return Et(this,n,t,r)?(this.valueHexView=n.subarray(t,t+r),r>1&&this.warnings.push("Boolean value encoded in more then 1 octet"),this.isHexOnly=!0,lo.call(this),this.blockLength=r,t+r):-1}toBER(){return this.valueHexView.slice()}toJSON(){return{...super.toJSON(),value:this.value}}};un.NAME="BooleanValueBlock";var Pc,hn=class extends pe{constructor(e={}){super(e,un),this.idBlock.tagClass=1,this.idBlock.tagNumber=1}getValue(){return this.valueBlock.value}setValue(e){this.valueBlock.value=e}onAsciiEncoding(){return`${this.constructor.NAME} : ${this.getValue}`}};Pc=hn;k.Boolean=Pc;hn.NAME="BOOLEAN";var fn=class extends _t(tt){constructor({isConstructed:e=!1,...t}={}){super(t),this.isConstructed=e}fromBER(e,t,r){let n=0;if(this.isConstructed){if(this.isHexOnly=!1,n=tt.prototype.fromBER.call(this,e,t,r),n===-1)return n;for(let i=0;i0&&f.unusedBits>0)return this.error='Using of "unused bits" inside constructive BIT STRING allowed for least one only',-1;this.unusedBits=f.unusedBits}return n}let i=H.BufferSourceConverter.toUint8Array(e);if(!Et(this,i,t,r))return-1;let o=i.subarray(t,t+r);if(this.unusedBits=o[0],this.unusedBits>7)return this.error="Unused bits for BitString must be in range 0-7",-1;if(!this.unusedBits){let a=o.subarray(1);try{if(a.byteLength){let c=Fn(a,0,a.byteLength);c.offset!==-1&&c.offset===r-1&&(this.value=[c.result])}}catch{}}return this.valueHexView=o.subarray(1),this.blockLength=o.length,t+r}toBER(e,t){if(this.isConstructed)return tt.prototype.toBER.call(this,e,t);if(e)return new ArrayBuffer(this.valueHexView.byteLength+1);if(!this.valueHexView.byteLength)return je;let r=new Uint8Array(this.valueHexView.length+1);return r[0]=this.unusedBits,r.set(this.valueHexView,1),r.buffer}toJSON(){return{...super.toJSON(),unusedBits:this.unusedBits,isConstructed:this.isConstructed}}};dn.NAME="BitStringValueBlock";var Mc,Ns=class extends pe{constructor({idBlock:e={},lenBlock:t={},...r}={}){var n,i;(n=r.isConstructed)!==null&&n!==void 0||(r.isConstructed=!!(!((i=r.value)===null||i===void 0)&&i.length)),super({idBlock:{isConstructed:r.isConstructed,...e},lenBlock:{...t,isIndefiniteForm:!!r.isIndefiniteForm},...r},dn),this.idBlock.tagClass=1,this.idBlock.tagNumber=3}fromBER(e,t,r){return this.valueBlock.isConstructed=this.idBlock.isConstructed,this.valueBlock.isIndefiniteForm=this.lenBlock.isIndefiniteForm,super.fromBER(e,t,r)}onAsciiEncoding(){if(this.valueBlock.isConstructed||this.valueBlock.value&&this.valueBlock.value.length)return Vt.prototype.onAsciiEncoding.call(this);{let e=[],t=this.valueBlock.valueHexView;for(let n of t)e.push(n.toString(2).padStart(8,"0"));let r=e.join("");return`${this.constructor.NAME} : ${r.substring(0,r.length-this.valueBlock.unusedBits)}`}}};Mc=Ns;k.BitString=Mc;Ns.NAME=Bc;var Dc;function ad(s,e){let t=new Uint8Array([0]),r=new Uint8Array(s),n=new Uint8Array(e),i=r.slice(0),o=i.length-1,a=n.slice(0),c=a.length-1,f=0,l=c=0;h--,u++){switch(!0){case u=i.length:i=en(new Uint8Array([f%10]),i);break;default:i[o-u]=f%10}}return t[0]>0&&(i=en(t,i)),i}function Ec(s){if(s>=sr.length)for(let e=sr.length;e<=s;e++){let t=new Uint8Array([0]),r=sr[e-1].slice(0);for(let n=r.length-1;n>=0;n--){let i=new Uint8Array([(r[n]<<1)+t[0]]);t[0]=i[0]/10,r[n]=i[0]%10}t[0]>0&&(r=en(t,r)),sr.push(r)}return sr[s]}function cd(s,e){let t=0,r=new Uint8Array(s),n=new Uint8Array(e),i=r.slice(0),o=i.length-1,a=n.slice(0),c=a.length-1,f,l=0;for(let u=c;u>=0;u--,l++)switch(f=i[o-l]-a[c-l]-t,!0){case f<0:t=1,i[o-l]=f+10;break;default:t=0,i[o-l]=f}if(t>0)for(let u=o-c+1;u>=0;u--,l++)if(f=i[o-l]-t,f<0)t=1,i[o-l]=f+10;else{t=0,i[o-l]=f;break}return i.slice()}var ir=class extends _t(_e){constructor({value:e,...t}={}){super(t),this._valueDec=0,t.valueHex&&this.setValueHex(),e!==void 0&&(this.valueDec=e)}setValueHex(){this.valueHexView.length>=4?(this.warnings.push("Too big Integer for decoding, hex only"),this.isHexOnly=!0,this._valueDec=0):(this.isHexOnly=!1,this.valueHexView.length>0&&(this._valueDec=lo.call(this)))}set valueDec(e){this._valueDec=e,this.isHexOnly=!1,this.valueHexView=new Uint8Array(wc(e))}get valueDec(){return this._valueDec}fromDER(e,t,r,n=0){let i=this.fromBER(e,t,r);if(i===-1)return i;let o=this.valueHexView;return o[0]===0&&o[1]&128?this.valueHexView=o.subarray(1):n!==0&&o.length1&&(n=o.length+1),this.valueHexView=o.subarray(n-o.length)),i}toDER(e=!1){let t=this.valueHexView;switch(!0){case(t[0]&128)!==0:{let r=new Uint8Array(this.valueHexView.length+1);r[0]=0,r.set(t,1),this.valueHexView=r}break;case(t[0]===0&&(t[1]&128)===0):this.valueHexView=this.valueHexView.subarray(1);break}return this.toBER(e)}fromBER(e,t,r){let n=super.fromBER(e,t,r);return n===-1||this.setValueHex(),n}toBER(e){return e?new ArrayBuffer(this.valueHexView.length):this.valueHexView.slice().buffer}toJSON(){return{...super.toJSON(),valueDec:this.valueDec}}toString(){let e=this.valueHexView.length*8-1,t=new Uint8Array(this.valueHexView.length*8/3),r=0,n,i=this.valueHexView,o="",a=!1;for(let c=i.byteLength-1;c>=0;c--){n=i[c];for(let f=0;f<8;f++){if((n&1)===1)switch(r){case e:t=cd(Ec(r),t),o="-";break;default:t=ad(t,Ec(r))}r++,n>>=1}}for(let c=0;c0;){let i=new or;if(n=i.fromBER(e,n,r),n===-1)return this.blockLength=0,this.error=i.error,n;this.value.length===0&&(i.isFirstSid=!0),this.blockLength+=i.blockLength,r-=i.blockLength,this.value.push(i)}return n}toBER(e){let t=[];for(let r=0;rNumber.MAX_SAFE_INTEGER){tn();let a=BigInt(n);o.valueBigInt=a}else if(o.valueDec=parseInt(n,10),isNaN(o.valueDec))return;this.value.length||(o.isFirstSid=!0,i=!0),this.value.push(o)}while(r!==-1)}toString(){let e="",t=!1;for(let r=0;r0;){let i=new ar;if(n=i.fromBER(e,n,r),n===-1)return this.blockLength=0,this.error=i.error,n;this.blockLength+=i.blockLength,r-=i.blockLength,this.value.push(i)}return n}toBER(e,t){let r=[];for(let n=0;n4)continue;let a=4-o.length;for(let c=o.length-1;c>=0;c--)r[n*4+c+a]=o[c]}this.valueBlock.value=e}};Bn.NAME="UniversalStringValueBlock";var Gc,Sn=class extends Bn{constructor({...e}={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=28}};Gc=Sn;k.UniversalString=Gc;Sn.NAME="UniversalString";var Kc,In=class extends Pe{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=18}};Kc=In;k.NumericString=Kc;In.NAME="NumericString";var zc,An=class extends Pe{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=19}};zc=An;k.PrintableString=zc;An.NAME="PrintableString";var qc,kn=class extends Pe{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=20}};qc=kn;k.TeletexString=qc;kn.NAME="TeletexString";var Wc,Tn=class extends Pe{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=21}};Wc=Tn;k.VideotexString=Wc;Tn.NAME="VideotexString";var $c,Pn=class extends Pe{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=22}};$c=Pn;k.IA5String=$c;Pn.NAME="IA5String";var jc,Rn=class extends Pe{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=25}};jc=Rn;k.GraphicString=jc;Rn.NAME="GraphicString";var Zc,cr=class extends Pe{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=26}};Zc=cr;k.VisibleString=Zc;cr.NAME="VisibleString";var Yc,Mn=class extends Pe{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=27}};Yc=Mn;k.GeneralString=Yc;Mn.NAME="GeneralString";var Xc,Dn=class extends Pe{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=29}};Xc=Dn;k.CharacterString=Xc;Dn.NAME="CharacterString";var Jc,lr=class extends cr{constructor({value:e,valueDate:t,...r}={}){if(super(r),this.year=0,this.month=0,this.day=0,this.hour=0,this.minute=0,this.second=0,e){this.fromString(e),this.valueBlock.valueHexView=new Uint8Array(e.length);for(let n=0;n=50?this.year=1900+n:this.year=2e3+n,this.month=parseInt(r[2],10),this.day=parseInt(r[3],10),this.hour=parseInt(r[4],10),this.minute=parseInt(r[5],10),this.second=parseInt(r[6],10)}toString(e="iso"){if(e==="iso"){let t=new Array(7);return t[0]=Ne(this.year<2e3?this.year-1900:this.year-2e3,2),t[1]=Ne(this.month,2),t[2]=Ne(this.day,2),t[3]=Ne(this.hour,2),t[4]=Ne(this.minute,2),t[5]=Ne(this.second,2),t[6]="Z",t.join("")}return super.toString(e)}onAsciiEncoding(){return`${this.constructor.NAME} : ${this.toDate().toISOString()}`}toJSON(){return{...super.toJSON(),year:this.year,month:this.month,day:this.day,hour:this.hour,minute:this.minute,second:this.second}}};Jc=lr;k.UTCTime=Jc;lr.NAME="UTCTime";var Qc,Nn=class extends lr{constructor(e={}){var t;super(e),(t=this.millisecond)!==null&&t!==void 0||(this.millisecond=0),this.idBlock.tagClass=1,this.idBlock.tagNumber=24}fromDate(e){super.fromDate(e),this.millisecond=e.getUTCMilliseconds()}toDate(){return new Date(Date.UTC(this.year,this.month-1,this.day,this.hour,this.minute,this.second,this.millisecond))}fromString(e){let t=!1,r="",n="",i=0,o,a=0,c=0;if(e[e.length-1]==="Z")r=e.substring(0,e.length-1),t=!0;else{let u=new Number(e[e.length-1]);if(isNaN(u.valueOf()))throw new Error("Wrong input string for conversion");r=e}if(t){if(r.indexOf("+")!==-1)throw new Error("Wrong input string for conversion");if(r.indexOf("-")!==-1)throw new Error("Wrong input string for conversion")}else{let u=1,h=r.indexOf("+"),p="";if(h===-1&&(h=r.indexOf("-"),u=-1),h!==-1){if(p=r.substring(h+1),r=r.substring(0,h),p.length!==2&&p.length!==4)throw new Error("Wrong input string for conversion");let g=parseInt(p.substring(0,2),10);if(isNaN(g.valueOf()))throw new Error("Wrong input string for conversion");if(a=u*g,p.length===4){if(g=parseInt(p.substring(2,4),10),isNaN(g.valueOf()))throw new Error("Wrong input string for conversion");c=u*g}}}let f=r.indexOf(".");if(f===-1&&(f=r.indexOf(",")),f!==-1){let u=new Number(`0${r.substring(f)}`);if(isNaN(u.valueOf()))throw new Error("Wrong input string for conversion");i=u.valueOf(),n=r.substring(0,f)}else n=r;switch(!0){case n.length===8:if(o=/(\d{4})(\d{2})(\d{2})/ig,f!==-1)throw new Error("Wrong input string for conversion");break;case n.length===10:if(o=/(\d{4})(\d{2})(\d{2})(\d{2})/ig,f!==-1){let u=60*i;this.minute=Math.floor(u),u=60*(u-this.minute),this.second=Math.floor(u),u=1e3*(u-this.second),this.millisecond=Math.floor(u)}break;case n.length===12:if(o=/(\d{4})(\d{2})(\d{2})(\d{2})(\d{2})/ig,f!==-1){let u=60*i;this.second=Math.floor(u),u=1e3*(u-this.second),this.millisecond=Math.floor(u)}break;case n.length===14:if(o=/(\d{4})(\d{2})(\d{2})(\d{2})(\d{2})(\d{2})/ig,f!==-1){let u=1e3*i;this.millisecond=Math.floor(u)}break;default:throw new Error("Wrong input string for conversion")}let l=o.exec(n);if(l===null)throw new Error("Wrong input string for conversion");for(let u=1;u0&&(e=`0${e}`);let t=e.length/2,r=new Uint8Array(t),n=0,i=0;for(;n0&&(r=`0${r}`),e.push(r)}),BigInt("0x"+e.join(""))}var pd=16,fo=32,po=1e4;async function gd(s,e){let t=Te.get(),n=new he({value:[new oe({value:0}),new he({value:[new $e({value:"1.2.840.113549.1.1.1"}),new Ot]}),new vt({valueHex:s.marshal()})]}).toBER(),i=new Uint8Array(n,0,n.byteLength),o=et(pd),a=await ao(As,e,o,{c:po,dkLen:fo}),c=et(16),f=await t.subtle.importKey("raw",a,"AES-CBC",!1,["encrypt"]),l=await t.subtle.encrypt({name:"AES-CBC",iv:c},f,i),u=new he({value:[new vt({valueHex:o}),new oe({value:po}),new oe({value:fo}),new he({value:[new $e({value:"1.2.840.113549.2.11"}),new Ot]})]}),h=new he({value:[new $e({value:"1.2.840.113549.1.5.13"}),new he({value:[new he({value:[new $e({value:"1.2.840.113549.1.5.12"}),u]}),new he({value:[new $e({value:"2.16.840.1.101.3.4.1.42"}),new vt({valueHex:c})]})]})]}),g=new he({value:[h,new vt({valueHex:l})]}).toBER(),d=new Uint8Array(g,0,g.byteLength);return["-----BEGIN ENCRYPTED PRIVATE KEY-----",...W(d,"base64pad").split(/(.{64})/).filter(Boolean),"-----END ENCRYPTED PRIVATE KEY-----"].join(` -`)}async function md(s,e){let t=Te.get(),r;if(s.includes("-----BEGIN ENCRYPTED PRIVATE KEY-----")){let n=Z(s.replace("-----BEGIN ENCRYPTED PRIVATE KEY-----","").replace("-----END ENCRYPTED PRIVATE KEY-----","").replace(/\n/g,"").trim(),"base64pad"),{result:i}=Ls(n),{iv:o,salt:a,iterations:c,keySize:f,cipherText:l}=bd(i),u=await ao(As,e,a,{c,dkLen:f}),h=await t.subtle.importKey("raw",u,"AES-CBC",!1,["decrypt"]),p=ur(await t.subtle.decrypt({name:"AES-CBC",iv:o},h,l)),{result:g}=Ls(p);r=il(g)}else if(s.includes("-----BEGIN PRIVATE KEY-----")){let n=Z(s.replace("-----BEGIN PRIVATE KEY-----","").replace("-----END PRIVATE KEY-----","").replace(/\n/g,"").trim(),"base64pad"),{result:i}=Ls(n);r=il(i)}else throw new T("Could not parse private key from PEM data","ERR_INVALID_PARAMETERS");return go(r)}function bd(s){let e=s.valueBlock.value[0];if(e.valueBlock.value[0].toString()!=="OBJECT IDENTIFIER : 1.2.840.113549.1.5.13")throw new T("Only pkcs5PBES2 encrypted private keys are supported","ERR_INVALID_PARAMS");let r=e.valueBlock.value[1].valueBlock.value[0];if(r.valueBlock.value[0].toString()!=="OBJECT IDENTIFIER : 1.2.840.113549.1.5.12")throw new T("Only pkcs5PBKDF2 key derivation functions are supported","ERR_INVALID_PARAMS");let i=r.valueBlock.value[1],o=ur(i.valueBlock.value[0].getValue()),a=po,c=fo;if(i.valueBlock.value.length===3)a=Number(i.valueBlock.value[1].toBigInt()),c=Number(i.valueBlock.value[2].toBigInt());else if(i.valueBlock.value.length===2)throw new T("Could not derive key size and iterations from PEM file - please use @libp2p/rsa to re-import your key","ERR_INVALID_PARAMS");let f=e.valueBlock.value[1].valueBlock.value[1],l=f.valueBlock.value[0].toString();if(l!=="OBJECT IDENTIFIER : 1.2.840.113549.3.7"){if(l!=="OBJECT IDENTIFIER : 1.3.14.3.2.7"){if(l!=="OBJECT IDENTIFIER : 2.16.840.1.101.3.4.1.2"){if(l!=="OBJECT IDENTIFIER : 2.16.840.1.101.3.4.1.22"){if(l!=="OBJECT IDENTIFIER : 2.16.840.1.101.3.4.1.42")throw new T("Only AES-CBC encryption schemes are supported","ERR_INVALID_PARAMS")}}}}let u=ur(f.valueBlock.value[1].getValue());return{cipherText:ur(s.valueBlock.value[1].getValue()),salt:o,iterations:a,keySize:c,iv:u}}function il(s){return ur(s.valueBlock.value[2].getValue())}function ur(s){return new Uint8Array(s,0,s.byteLength)}async function ol(s){let e=await Te.get().subtle.generateKey({name:"RSASSA-PKCS1-v1_5",modulusLength:s,publicExponent:new Uint8Array([1,0,1]),hash:{name:"SHA-256"}},!0,["sign","verify"]),t=await ll(e);return{privateKey:t[0],publicKey:t[1]}}async function mo(s){let t=[await Te.get().subtle.importKey("jwk",s,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!0,["sign"]),await yd(s)],r=await ll({privateKey:t[0],publicKey:t[1]});return{privateKey:r[0],publicKey:r[1]}}async function al(s,e){let t=await Te.get().subtle.importKey("jwk",s,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!1,["sign"]),r=await Te.get().subtle.sign({name:"RSASSA-PKCS1-v1_5"},t,e instanceof Uint8Array?e:e.subarray());return new Uint8Array(r,0,r.byteLength)}async function cl(s,e,t){let r=await Te.get().subtle.importKey("jwk",s,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!1,["verify"]);return Te.get().subtle.verify({name:"RSASSA-PKCS1-v1_5"},r,e,t instanceof Uint8Array?t:t.subarray())}async function ll(s){if(s.privateKey==null||s.publicKey==null)throw new T("Private and public key are required","ERR_INVALID_PARAMETERS");return Promise.all([Te.get().subtle.exportKey("jwk",s.privateKey),Te.get().subtle.exportKey("jwk",s.publicKey)])}async function yd(s){return Te.get().subtle.importKey("jwk",{kty:s.kty,n:s.n,e:s.e},{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!0,["verify"])}function Hn(s){if(s.kty!=="RSA")throw new T("invalid key type","ERR_INVALID_KEY_TYPE");if(s.n==null)throw new T("invalid key modulus","ERR_INVALID_KEY_MODULUS");return Z(s.n,"base64url").length*8}var fr=8192,hr=class{_key;constructor(e){this._key=e}verify(e,t){return cl(this._key,t,e)}marshal(){return Ft.jwkToPkix(this._key)}get bytes(){return Je.encode({Type:J.RSA,Data:this.marshal()}).subarray()}equals(e){return be(this.bytes,e.bytes)}hash(){let e=ce.digest(this.bytes);return Fe(e)?e.then(({bytes:t})=>t):e.bytes}},Us=class{_key;_publicKey;constructor(e,t){this._key=e,this._publicKey=t}genSecret(){return et(16)}sign(e){return al(this._key,e)}get public(){if(this._publicKey==null)throw new T("public key not provided","ERR_PUBKEY_NOT_PROVIDED");return new hr(this._publicKey)}marshal(){return Ft.jwkToPkcs1(this._key)}get bytes(){return Qe.encode({Type:J.RSA,Data:this.marshal()}).subarray()}equals(e){return be(this.bytes,e.bytes)}hash(){let e=ce.digest(this.bytes);return Fe(e)?e.then(({bytes:t})=>t):e.bytes}async id(){let e=await this.public.hash();return W(e,"base58btc")}async export(e,t="pkcs-8"){if(t==="pkcs-8")return Ft.exportToPem(this,e);if(t==="libp2p-key")return Rs(this.bytes,e);throw new T(`export format '${t}' is not supported`,"ERR_INVALID_EXPORT_FORMAT")}};async function go(s){let e=Ft.pkcs1ToJwk(s);if(Hn(e)>fr)throw new T("key size is too large","ERR_KEY_SIZE_TOO_LARGE");let t=await mo(e);return new Us(t.privateKey,t.publicKey)}function vd(s){let e=Ft.pkixToJwk(s);if(Hn(e)>fr)throw new T("key size is too large","ERR_KEY_SIZE_TOO_LARGE");return new hr(e)}async function xd(s){if(Hn(s)>fr)throw new T("key size is too large","ERR_KEY_SIZE_TOO_LARGE");let e=await mo(s);return new Us(e.privateKey,e.publicKey)}async function Ed(s){if(s>fr)throw new T("key size is too large","ERR_KEY_SIZE_TOO_LARGE");let e=await ol(s);return new Us(e.privateKey,e.publicKey)}var Eo={};ue(Eo,{Secp256k1PrivateKey:()=>pr,Secp256k1PublicKey:()=>dr,generateKeyPair:()=>Cd,unmarshalSecp256k1PrivateKey:()=>Dd,unmarshalSecp256k1PublicKey:()=>Nd});var _d=new Uint32Array([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]),Ht=new Uint32Array([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),Gt=new Uint32Array(64),yo=class extends Is{constructor(){super(64,32,8,!1),this.A=Ht[0]|0,this.B=Ht[1]|0,this.C=Ht[2]|0,this.D=Ht[3]|0,this.E=Ht[4]|0,this.F=Ht[5]|0,this.G=Ht[6]|0,this.H=Ht[7]|0}get(){let{A:e,B:t,C:r,D:n,E:i,F:o,G:a,H:c}=this;return[e,t,r,n,i,o,a,c]}set(e,t,r,n,i,o,a,c){this.A=e|0,this.B=t|0,this.C=r|0,this.D=n|0,this.E=i|0,this.F=o|0,this.G=a|0,this.H=c|0}process(e,t){for(let u=0;u<16;u++,t+=4)Gt[u]=e.getUint32(t,!1);for(let u=16;u<64;u++){let h=Gt[u-15],p=Gt[u-2],g=qe(h,7)^qe(h,18)^h>>>3,d=qe(p,17)^qe(p,19)^p>>>10;Gt[u]=d+Gt[u-7]+g+Gt[u-16]|0}let{A:r,B:n,C:i,D:o,E:a,F:c,G:f,H:l}=this;for(let u=0;u<64;u++){let h=qe(a,6)^qe(a,11)^qe(a,25),p=l+h+ja(a,c,f)+_d[u]+Gt[u]|0,d=(qe(r,2)^qe(r,13)^qe(r,22))+Za(r,n,i)|0;l=f,f=c,c=a,a=o+p|0,o=i,i=n,n=r,r=p+d|0}r=r+this.A|0,n=n+this.B|0,i=i+this.C|0,o=o+this.D|0,a=a+this.E|0,c=c+this.F|0,f=f+this.G|0,l=l+this.H|0,this.set(r,n,i,o,a,c,f,l)}roundClean(){Gt.fill(0)}destroy(){this.set(0,0,0,0,0,0,0,0),this.buffer.fill(0)}};var ul=Fr(()=>new yo);function Bd(s){let e=Qs(s);Xe(e,{a:"field",b:"field"},{allowedPrivateKeyLengths:"array",wrapPrivateKey:"boolean",isTorsionFree:"function",clearCofactor:"function",allowInfinityPoint:"boolean",fromBytes:"function",toBytes:"function"});let{endo:t,Fp:r,a:n}=e;if(t){if(!r.eql(n,r.ZERO))throw new Error("Endomorphism can only be defined for Koblitz curves that have a=0");if(typeof t!="object"||typeof t.beta!="bigint"||typeof t.splitScalar!="function")throw new Error("Expected endomorphism with beta: bigint and splitScalar: function")}return Object.freeze({...e})}var{bytesToNumberBE:Sd,hexToBytes:Id}=Kr,ss={Err:class extends Error{constructor(e=""){super(e)}},_parseInt(s){let{Err:e}=ss;if(s.length<2||s[0]!==2)throw new e("Invalid signature integer tag");let t=s[1],r=s.subarray(2,t+2);if(!t||r.length!==t)throw new e("Invalid signature integer: wrong length");if(r[0]&128)throw new e("Invalid signature integer: negative");if(r[0]===0&&!(r[1]&128))throw new e("Invalid signature integer: unnecessary leading zero");return{d:Sd(r),l:s.subarray(t+2)}},toSig(s){let{Err:e}=ss,t=typeof s=="string"?Id(s):s;ks(t);let r=t.length;if(r<2||t[0]!=48)throw new e("Invalid signature tag");if(t[1]!==r-2)throw new e("Invalid signature: incorrect length");let{d:n,l:i}=ss._parseInt(t.subarray(2)),{d:o,l:a}=ss._parseInt(i);if(a.length)throw new e("Invalid signature: left bytes after parsing");return{r:n,s:o}},hexFromSig(s){let e=f=>Number.parseInt(f[0],16)&8?"00"+f:f,t=f=>{let l=f.toString(16);return l.length&1?`0${l}`:l},r=e(t(s.s)),n=e(t(s.r)),i=r.length/2,o=n.length/2,a=t(i),c=t(o);return`30${t(o+i+4)}02${c}${n}02${a}${r}`}},Bt=BigInt(0),Ge=BigInt(1),Ry=BigInt(2),hl=BigInt(3),My=BigInt(4);function Ad(s){let e=Bd(s),{Fp:t}=e,r=e.toBytes||((g,d,m)=>{let b=d.toAffine();return gt(Uint8Array.from([4]),t.toBytes(b.x),t.toBytes(b.y))}),n=e.fromBytes||(g=>{let d=g.subarray(1),m=t.fromBytes(d.subarray(0,t.BYTES)),b=t.fromBytes(d.subarray(t.BYTES,2*t.BYTES));return{x:m,y:b}});function i(g){let{a:d,b:m}=e,b=t.sqr(g),_=t.mul(b,g);return t.add(t.add(_,t.mul(g,d)),m)}if(!t.eql(t.sqr(e.Gy),i(e.Gx)))throw new Error("bad generator point: equation left != right");function o(g){return typeof g=="bigint"&&Btt.eql(w,t.ZERO);return _(m)&&_(b)?u.ZERO:new u(m,b,t.ONE)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static normalizeZ(d){let m=t.invertBatch(d.map(b=>b.pz));return d.map((b,_)=>b.toAffine(m[_])).map(u.fromAffine)}static fromHex(d){let m=u.fromAffine(n(se("pointHex",d)));return m.assertValidity(),m}static fromPrivateKey(d){return u.BASE.multiply(c(d))}_setWindowSize(d){this._WINDOW_SIZE=d,f.delete(this)}assertValidity(){if(this.is0()){if(e.allowInfinityPoint&&!t.is0(this.py))return;throw new Error("bad point: ZERO")}let{x:d,y:m}=this.toAffine();if(!t.isValid(d)||!t.isValid(m))throw new Error("bad point: x or y not FE");let b=t.sqr(m),_=i(d);if(!t.eql(b,_))throw new Error("bad point: equation left != right");if(!this.isTorsionFree())throw new Error("bad point: not in prime-order subgroup")}hasEvenY(){let{y:d}=this.toAffine();if(t.isOdd)return!t.isOdd(d);throw new Error("Field doesn't support isOdd")}equals(d){l(d);let{px:m,py:b,pz:_}=this,{px:w,py:A,pz:y}=d,x=t.eql(t.mul(m,y),t.mul(w,_)),E=t.eql(t.mul(b,y),t.mul(A,_));return x&&E}negate(){return new u(this.px,t.neg(this.py),this.pz)}double(){let{a:d,b:m}=e,b=t.mul(m,hl),{px:_,py:w,pz:A}=this,y=t.ZERO,x=t.ZERO,E=t.ZERO,B=t.mul(_,_),D=t.mul(w,w),N=t.mul(A,A),L=t.mul(_,w);return L=t.add(L,L),E=t.mul(_,A),E=t.add(E,E),y=t.mul(d,E),x=t.mul(b,N),x=t.add(y,x),y=t.sub(D,x),x=t.add(D,x),x=t.mul(y,x),y=t.mul(L,y),E=t.mul(b,E),N=t.mul(d,N),L=t.sub(B,N),L=t.mul(d,L),L=t.add(L,E),E=t.add(B,B),B=t.add(E,B),B=t.add(B,N),B=t.mul(B,L),x=t.add(x,B),N=t.mul(w,A),N=t.add(N,N),B=t.mul(N,L),y=t.sub(y,B),E=t.mul(N,D),E=t.add(E,E),E=t.add(E,E),new u(y,x,E)}add(d){l(d);let{px:m,py:b,pz:_}=this,{px:w,py:A,pz:y}=d,x=t.ZERO,E=t.ZERO,B=t.ZERO,D=e.a,N=t.mul(e.b,hl),L=t.mul(m,w),ne=t.mul(b,A),re=t.mul(_,y),Ve=t.add(m,b),S=t.add(w,A);Ve=t.mul(Ve,S),S=t.add(L,ne),Ve=t.sub(Ve,S),S=t.add(m,_);let R=t.add(w,y);return S=t.mul(S,R),R=t.add(L,re),S=t.sub(S,R),R=t.add(b,_),x=t.add(A,y),R=t.mul(R,x),x=t.add(ne,re),R=t.sub(R,x),B=t.mul(D,S),x=t.mul(N,re),B=t.add(x,B),x=t.sub(ne,B),B=t.add(ne,B),E=t.mul(x,B),ne=t.add(L,L),ne=t.add(ne,L),re=t.mul(D,re),S=t.mul(N,S),ne=t.add(ne,re),re=t.sub(L,re),re=t.mul(D,re),S=t.add(S,re),L=t.mul(ne,S),E=t.add(E,L),L=t.mul(R,S),x=t.mul(Ve,x),x=t.sub(x,L),L=t.mul(Ve,ne),B=t.mul(R,B),B=t.add(B,L),new u(x,E,B)}subtract(d){return this.add(d.negate())}is0(){return this.equals(u.ZERO)}wNAF(d){return p.wNAFCached(this,f,d,m=>{let b=t.invertBatch(m.map(_=>_.pz));return m.map((_,w)=>_.toAffine(b[w])).map(u.fromAffine)})}multiplyUnsafe(d){let m=u.ZERO;if(d===Bt)return m;if(a(d),d===Ge)return this;let{endo:b}=e;if(!b)return p.unsafeLadder(this,d);let{k1neg:_,k1:w,k2neg:A,k2:y}=b.splitScalar(d),x=m,E=m,B=this;for(;w>Bt||y>Bt;)w&Ge&&(x=x.add(B)),y&Ge&&(E=E.add(B)),B=B.double(),w>>=Ge,y>>=Ge;return _&&(x=x.negate()),A&&(E=E.negate()),E=new u(t.mul(E.px,b.beta),E.py,E.pz),x.add(E)}multiply(d){a(d);let m=d,b,_,{endo:w}=e;if(w){let{k1neg:A,k1:y,k2neg:x,k2:E}=w.splitScalar(m),{p:B,f:D}=this.wNAF(y),{p:N,f:L}=this.wNAF(E);B=p.constTimeNegate(A,B),N=p.constTimeNegate(x,N),N=new u(t.mul(N.px,w.beta),N.py,N.pz),b=B.add(N),_=D.add(L)}else{let{p:A,f:y}=this.wNAF(m);b=A,_=y}return u.normalizeZ([b,_])[0]}multiplyAndAddUnsafe(d,m,b){let _=u.BASE,w=(y,x)=>x===Bt||x===Ge||!y.equals(_)?y.multiplyUnsafe(x):y.multiply(x),A=w(this,m).add(w(d,b));return A.is0()?void 0:A}toAffine(d){let{px:m,py:b,pz:_}=this,w=this.is0();d==null&&(d=w?t.ONE:t.inv(_));let A=t.mul(m,d),y=t.mul(b,d),x=t.mul(_,d);if(w)return{x:t.ZERO,y:t.ZERO};if(!t.eql(x,t.ONE))throw new Error("invZ was invalid");return{x:A,y}}isTorsionFree(){let{h:d,isTorsionFree:m}=e;if(d===Ge)return!0;if(m)return m(u,this);throw new Error("isTorsionFree() has not been declared for the elliptic curve")}clearCofactor(){let{h:d,clearCofactor:m}=e;return d===Ge?this:m?m(u,this):this.multiplyUnsafe(e.h)}toRawBytes(d=!0){return this.assertValidity(),r(u,this,d)}toHex(d=!0){return dt(this.toRawBytes(d))}}u.BASE=new u(e.Gx,e.Gy,t.ONE),u.ZERO=new u(t.ZERO,t.ONE,t.ZERO);let h=e.nBitLength,p=Wr(u,e.endo?Math.ceil(h/2):h);return{CURVE:e,ProjectivePoint:u,normPrivateKeyToScalar:c,weierstrassEquation:i,isWithinCurveOrder:o}}function kd(s){let e=Qs(s);return Xe(e,{hash:"hash",hmac:"function",randomBytes:"function"},{bits2int:"function",bits2int_modN:"function",lowS:"boolean"}),Object.freeze({lowS:!0,...e})}function fl(s){let e=kd(s),{Fp:t,n:r}=e,n=t.BYTES+1,i=2*t.BYTES+1;function o(S){return Btdt(Lt(S,e.nByteLength));function g(S){let R=r>>Ge;return S>R}function d(S){return g(S)?a(-S):S}let m=(S,R,V)=>pt(S.slice(R,V));class b{constructor(R,V,I){this.r=R,this.s=V,this.recovery=I,this.assertValidity()}static fromCompact(R){let V=e.nByteLength;return R=se("compactSignature",R,V*2),new b(m(R,0,V),m(R,V,2*V))}static fromDER(R){let{r:V,s:I}=ss.toSig(se("DER",R));return new b(V,I)}assertValidity(){if(!h(this.r))throw new Error("r must be 0 < r < CURVE.n");if(!h(this.s))throw new Error("s must be 0 < s < CURVE.n")}addRecoveryBit(R){return new b(this.r,this.s,R)}recoverPublicKey(R){let{r:V,s:I,recovery:v}=this,P=E(se("msgHash",R));if(v==null||![0,1,2,3].includes(v))throw new Error("recovery id invalid");let M=v===2||v===3?V+e.n:V;if(M>=t.ORDER)throw new Error("recovery id 2 or 3 invalid");let C=v&1?"03":"02",O=f.fromHex(C+p(M)),F=c(M),z=a(-P*F),G=a(I*F),K=f.BASE.multiplyAndAddUnsafe(O,z,G);if(!K)throw new Error("point at infinify");return K.assertValidity(),K}hasHighS(){return g(this.s)}normalizeS(){return this.hasHighS()?new b(this.r,a(-this.s),this.recovery):this}toDERRawBytes(){return Xt(this.toDERHex())}toDERHex(){return ss.hexFromSig({r:this.r,s:this.s})}toCompactRawBytes(){return Xt(this.toCompactHex())}toCompactHex(){return p(this.r)+p(this.s)}}let _={isValidPrivateKey(S){try{return l(S),!0}catch{return!1}},normPrivateKeyToScalar:l,randomPrivateKey:()=>{let S=Qi(e.n);return oc(e.randomBytes(S),e.n)},precompute(S=8,R=f.BASE){return R._setWindowSize(S),R.multiply(BigInt(3)),R}};function w(S,R=!0){return f.fromPrivateKey(S).toRawBytes(R)}function A(S){let R=Nt(S),V=typeof S=="string",I=(R||V)&&S.length;return R?I===n||I===i:V?I===2*n||I===2*i:S instanceof f}function y(S,R,V=!0){if(A(S))throw new Error("first arg must be private key");if(!A(R))throw new Error("second arg must be public key");return f.fromHex(R).multiply(l(S)).toRawBytes(V)}let x=e.bits2int||function(S){let R=pt(S),V=S.length*8-e.nBitLength;return V>0?R>>BigInt(V):R},E=e.bits2int_modN||function(S){return a(x(S))},B=Js(e.nBitLength);function D(S){if(typeof S!="bigint")throw new Error("bigint expected");if(!(Bt<=S&&See in V))throw new Error("sign() legacy options not supported");let{hash:I,randomBytes:v}=e,{lowS:P,prehash:M,extraEntropy:C}=V;P==null&&(P=!0),S=se("msgHash",S),M&&(S=se("prehashed msgHash",I(S)));let O=E(S),F=l(R),z=[D(F),D(O)];if(C!=null&&C!==!1){let ee=C===!0?v(t.BYTES):C;z.push(se("extraEntropy",ee))}let G=gt(...z),K=O;function ie(ee){let fe=x(ee);if(!h(fe))return;let de=c(fe),ae=f.BASE.multiply(fe).toAffine(),ge=a(ae.x);if(ge===Bt)return;let ot=a(de*a(K+ge*F));if(ot===Bt)return;let zt=(ae.x===ge?0:2)|Number(ae.y&Ge),Fs=ot;return P&&g(ot)&&(Fs=d(ot),zt^=1),new b(ge,Fs,zt)}return{seed:G,k2sig:ie}}let L={lowS:e.lowS,prehash:!1},ne={lowS:e.lowS,prehash:!1};function re(S,R,V=L){let{seed:I,k2sig:v}=N(S,R,V),P=e;return Zi(P.hash.outputLen,P.nByteLength,P.hmac)(I,v)}f.BASE._setWindowSize(8);function Ve(S,R,V,I=ne){let v=S;if(R=se("msgHash",R),V=se("publicKey",V),"strict"in I)throw new Error("options.strict was renamed to lowS");let{lowS:P,prehash:M}=I,C,O;try{if(typeof v=="string"||Nt(v))try{C=b.fromDER(v)}catch(ae){if(!(ae instanceof ss.Err))throw ae;C=b.fromCompact(v)}else if(typeof v=="object"&&typeof v.r=="bigint"&&typeof v.s=="bigint"){let{r:ae,s:ge}=v;C=new b(ae,ge)}else throw new Error("PARSE");O=f.fromHex(V)}catch(ae){if(ae.message==="PARSE")throw new Error("signature must be Signature instance, Uint8Array or hex string");return!1}if(P&&C.hasHighS())return!1;M&&(R=e.hash(R));let{r:F,s:z}=C,G=E(R),K=c(z),ie=a(G*K),ee=a(F*K),fe=f.BASE.multiplyAndAddUnsafe(O,ie,ee)?.toAffine();return fe?a(fe.x)===F:!1}return{CURVE:e,getPublicKey:w,getSharedSecret:y,sign:re,verify:Ve,ProjectivePoint:f,Signature:b,utils:_}}function Td(s){return{hash:s,hmac:(e,...t)=>tr(s,e,Or(...t)),randomBytes:Ss}}function dl(s,e){let t=r=>fl({...s,...Td(r)});return Object.freeze({...t(e),create:t})}var ml=BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"),pl=BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),Pd=BigInt(1),wo=BigInt(2),gl=(s,e)=>(s+e/wo)/e;function Rd(s){let e=ml,t=BigInt(3),r=BigInt(6),n=BigInt(11),i=BigInt(22),o=BigInt(23),a=BigInt(44),c=BigInt(88),f=s*s*s%e,l=f*f*s%e,u=X(l,t,e)*l%e,h=X(u,t,e)*l%e,p=X(h,wo,e)*f%e,g=X(p,n,e)*p%e,d=X(g,i,e)*g%e,m=X(d,a,e)*d%e,b=X(m,c,e)*m%e,_=X(b,a,e)*d%e,w=X(_,t,e)*l%e,A=X(w,o,e)*g%e,y=X(A,r,e)*f%e,x=X(y,wo,e);if(!vo.eql(vo.sqr(x),s))throw new Error("Cannot find square root");return x}var vo=qr(ml,void 0,void 0,{sqrt:Rd}),Ze=dl({a:BigInt(0),b:BigInt(7),Fp:vo,n:pl,Gx:BigInt("55066263022277343669578718895168534326250603453777594175500187360389116729240"),Gy:BigInt("32670510020758816978083085130507043184471273380659243275938904335757337482424"),h:BigInt(1),lowS:!0,endo:{beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee"),splitScalar:s=>{let e=pl,t=BigInt("0x3086d221a7d46bcde86c90e49284eb15"),r=-Pd*BigInt("0xe4437ed6010e88286f547fa90abfe4c3"),n=BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"),i=t,o=BigInt("0x100000000000000000000000000000000"),a=gl(i*s,e),c=gl(-r*s,e),f=j(s-a*t-c*n,e),l=j(-a*r-c*i,e),u=f>o,h=l>o;if(u&&(f=e-f),h&&(l=e-l),f>o||l>o)throw new Error("splitScalar: Endomorphism failed, k="+s);return{k1neg:u,k1:f,k2neg:h,k2:l}}}},ul),Hy=BigInt(0);var Gy=Ze.ProjectivePoint;function bl(){return Ze.utils.randomPrivateKey()}function yl(s,e){let t=ce.digest(e instanceof Uint8Array?e:e.subarray());if(Fe(t))return t.then(({digest:r})=>Ze.sign(r,s).toDERRawBytes()).catch(r=>{throw new T(String(r),"ERR_INVALID_INPUT")});try{return Ze.sign(t.digest,s).toDERRawBytes()}catch(r){throw new T(String(r),"ERR_INVALID_INPUT")}}function wl(s,e,t){let r=ce.digest(t instanceof Uint8Array?t:t.subarray());if(Fe(r))return r.then(({digest:n})=>Ze.verify(e,n,s)).catch(n=>{throw new T(String(n),"ERR_INVALID_INPUT")});try{return Ze.verify(e,r.digest,s)}catch(n){throw new T(String(n),"ERR_INVALID_INPUT")}}function vl(s){return Ze.ProjectivePoint.fromHex(s).toRawBytes(!0)}function xl(s){try{Ze.getPublicKey(s,!0)}catch(e){throw new T(String(e),"ERR_INVALID_PRIVATE_KEY")}}function xo(s){try{Ze.ProjectivePoint.fromHex(s)}catch(e){throw new T(String(e),"ERR_INVALID_PUBLIC_KEY")}}function El(s){try{return Ze.getPublicKey(s,!0)}catch(e){throw new T(String(e),"ERR_INVALID_PRIVATE_KEY")}}var dr=class{_key;constructor(e){xo(e),this._key=e}verify(e,t){return wl(this._key,t,e)}marshal(){return vl(this._key)}get bytes(){return Je.encode({Type:J.Secp256k1,Data:this.marshal()}).subarray()}equals(e){return be(this.bytes,e.bytes)}async hash(){let e=ce.digest(this.bytes),t;return Fe(e)?{bytes:t}=await e:t=e.bytes,t}},pr=class{_key;_publicKey;constructor(e,t){this._key=e,this._publicKey=t??El(e),xl(this._key),xo(this._publicKey)}sign(e){return yl(this._key,e)}get public(){return new dr(this._publicKey)}marshal(){return this._key}get bytes(){return Qe.encode({Type:J.Secp256k1,Data:this.marshal()}).subarray()}equals(e){return be(this.bytes,e.bytes)}hash(){let e=ce.digest(this.bytes);return Fe(e)?e.then(({bytes:t})=>t):e.bytes}async id(){let e=await this.public.hash();return W(e,"base58btc")}async export(e,t="libp2p-key"){if(t==="libp2p-key")return Rs(this.bytes,e);throw new T(`export format '${t}' is not supported`,"ERR_INVALID_EXPORT_FORMAT")}};function Dd(s){return new pr(s)}function Nd(s){return new dr(s)}async function Cd(){let s=bl();return new pr(s)}var Kt={rsa:bo,ed25519:oo,secp256k1:Eo};function _o(s){let e=Object.keys(Kt).join(" / ");return new T(`invalid or unsupported key type ${s}. Must be ${e}`,"ERR_UNSUPPORTED_KEY_TYPE")}function Ld(s){if(s=s.toLowerCase(),s==="rsa"||s==="ed25519"||s==="secp256k1")return Kt[s];throw _o(s)}function Bo(s){let e=Je.decode(s),t=e.Data??new Uint8Array;switch(e.Type){case J.RSA:return Kt.rsa.unmarshalRsaPublicKey(t);case J.Ed25519:return Kt.ed25519.unmarshalEd25519PublicKey(t);case J.Secp256k1:return Kt.secp256k1.unmarshalSecp256k1PublicKey(t);default:throw _o(e.Type??"unknown")}}function _l(s,e){return e=(e??"rsa").toLowerCase(),Ld(e),s.bytes}async function Bl(s){let e=Qe.decode(s),t=e.Data??new Uint8Array;switch(e.Type){case J.RSA:return Kt.rsa.unmarshalRsaPrivateKey(t);case J.Ed25519:return Kt.ed25519.unmarshalEd25519PrivateKey(t);case J.Secp256k1:return Kt.secp256k1.unmarshalSecp256k1PrivateKey(t);default:throw _o(e.Type??"RSA")}}var Sl=Z("libp2p-pubsub:");async function Il(s,e,t,r){switch(s.type){case Pt.Signing:{let n={from:s.author.toBytes(),data:r,seqno:et(8),topic:e,signature:void 0,key:void 0},i=Ye([Sl,ht.Message.encode(n)]);n.signature=await s.privateKey.sign(i),n.key=s.key;let o={type:"signed",from:s.author,data:t,sequenceNumber:BigInt(`0x${W(n.seqno,"base16")}`),topic:e,signature:n.signature,key:n.key};return{raw:n,msg:o}}case Pt.Anonymous:return{raw:{from:void 0,data:r,seqno:void 0,topic:e,signature:void 0,key:void 0},msg:{type:"unsigned",data:t,topic:e}};default:throw new Error("Unreachable")}}async function Al(s,e){switch(s){case rs:return e.signature!=null?{valid:!1,error:xe.SignaturePresent}:e.seqno!=null?{valid:!1,error:xe.SeqnoPresent}:e.key!=null?{valid:!1,error:xe.FromPresent}:{valid:!0,message:{type:"unsigned",topic:e.topic,data:e.data??new Uint8Array(0)}};case qt:{if(e.seqno==null)return{valid:!1,error:xe.InvalidSeqno};if(e.seqno.length!==8)return{valid:!1,error:xe.InvalidSeqno};if(e.signature==null)return{valid:!1,error:xe.InvalidSignature};if(e.from==null)return{valid:!1,error:xe.InvalidPeerId};let t;try{t=js(e.from)}catch{return{valid:!1,error:xe.InvalidPeerId}}let r;if(e.key!=null){if(r=Bo(e.key),t.publicKey!==void 0&&!be(r.bytes,t.publicKey))return{valid:!1,error:xe.InvalidPeerId}}else{if(t.publicKey==null)return{valid:!1,error:xe.InvalidPeerId};r=Bo(t.publicKey)}let n={from:e.from,data:e.data,seqno:e.seqno,topic:e.topic,signature:void 0,key:void 0},i=Ye([Sl,ht.Message.encode(n)]);return await r.verify(i,e.signature)?{valid:!0,message:{type:"signed",from:t,data:e.data??new Uint8Array(0),sequenceNumber:BigInt(`0x${W(e.seqno,"base16")}`),topic:e.topic,signature:e.signature,key:e.key??_l(r)}}:{valid:!1,error:xe.InvalidSignature}}default:throw new Error("Unreachable")}}function nt(s=[],e){return{subscriptions:[],messages:s,control:e!==void 0?{graft:e.graft??[],prune:e.prune??[],ihave:e.ihave??[],iwant:e.iwant??[]}:void 0}}function So(s){return s.control===void 0&&(s.control={graft:[],prune:[],ihave:[],iwant:[]}),s}function it(s){if(s.length<=1)return s;let e=()=>Math.floor(Math.random()*Math.floor(s.length));for(let t=0;t{let t=Z(e.toString(16).padStart(16,"0"),"base16"),r=new Uint8Array(s.length+t.length);return r.set(s,0),r.set(t,s.length),r};function Rl(s){if(s.type!=="signed")throw new Error("expected signed message type");if(s.sequenceNumber==null)throw Error("missing seqno field");return Pl(s.from.toBytes(),s.sequenceNumber)}async function Ml(s){return ce.encode(s.data)}var Gn=class{index=0;input="";new(e){return this.index=0,this.input=e,this}readAtomically(e){let t=this.index,r=e();return r===void 0&&(this.index=t),r}parseWith(e){let t=e();if(this.index===this.input.length)return t}peekChar(){if(!(this.index>=this.input.length))return this.input[this.index]}readChar(){if(!(this.index>=this.input.length))return this.input[this.index++]}readGivenChar(e){return this.readAtomically(()=>{let t=this.readChar();if(t===e)return t})}readSeparator(e,t,r){return this.readAtomically(()=>{if(!(t>0&&this.readGivenChar(e)===void 0))return r()})}readNumber(e,t,r,n){return this.readAtomically(()=>{let i=0,o=0,a=this.peekChar();if(a===void 0)return;let c=a==="0",f=2**(8*n)-1;for(;;){let l=this.readAtomically(()=>{let u=this.readChar();if(u===void 0)return;let h=Number.parseInt(u,e);if(!Number.isNaN(h))return h});if(l===void 0)break;if(i*=e,i+=l,i>f||(o+=1,t!==void 0&&o>t))return}if(o!==0)return!r&&c&&o>1?void 0:i})}readIPv4Addr(){return this.readAtomically(()=>{let e=new Uint8Array(4);for(let t=0;tthis.readNumber(10,3,!1,1));if(r===void 0)return;e[t]=r}return e})}readIPv6Addr(){let e=t=>{for(let r=0;rthis.readIPv4Addr());if(o!==void 0)return t[n]=o[0],t[n+1]=o[1],t[n+2]=o[2],t[n+3]=o[3],[n+4,!0]}let i=this.readSeparator(":",r,()=>this.readNumber(16,4,!0,2));if(i===void 0)return[n,!1];t[n]=i>>8,t[n+1]=i&255}return[t.length,!1]};return this.readAtomically(()=>{let t=new Uint8Array(16),[r,n]=e(t);if(r===16)return t;if(n||this.readGivenChar(":")===void 0||this.readGivenChar(":")===void 0)return;let i=new Uint8Array(14),o=16-(r+2),[a]=e(i.subarray(0,o));return t.set(i.subarray(0,a),16-a),t})}readIPAddr(){return this.readIPv4Addr()??this.readIPv6Addr()}};var Ud=45;var Dl=new Gn;function Kn(s){if(s.includes("%")&&(s=s.split("%")[0]),!(s.length>Ud))return Dl.new(s).parseWith(()=>Dl.readIPAddr())}var Ow=parseInt("0xFFFF",16),Fw=new Uint8Array([0,0,0,0,0,0,0,0,0,0,255,255]);function Io(s){return!!Kn(s)}var Ll=function(s,e=0,t){e=~~e,t=t??s.length-e;let r=new DataView(s.buffer);if(t===4){let n=[];for(let i=0;i{let e=Wd(...s);ko[e.code]=e,Ao[e.name]=e});function Wd(s,e,t,r,n){return{code:s,size:e,name:t,resolvable:!!r,path:!!n}}function gr(s){if(typeof s=="number"){if(ko[s]!=null)return ko[s];throw new Error(`no protocol with code: ${s}`)}else if(typeof s=="string"){if(Ao[s]!=null)return Ao[s];throw new Error(`no protocol with name: ${s}`)}throw new Error(`invalid protocol id type: ${typeof s}`)}var Iv=gr("ip4"),Av=gr("ip6"),kv=gr("ipcidr");function Vl(s,e){switch(gr(s).code){case 4:case 41:return $d(e);case 42:return Po(e);case 6:case 273:case 33:case 132:return Ol(e).toString();case 53:case 54:case 55:case 56:case 400:case 449:case 777:return Po(e);case 421:return Zd(e);case 444:return Ul(e);case 445:return Ul(e);case 466:return jd(e);case 481:return globalThis.encodeURIComponent(Po(e));default:return W(e,"base16")}}var To=Object.values(kt).map(s=>s.decoder),Tv=function(){let s=To[0].or(To[1]);return To.slice(2).forEach(e=>s=s.or(e)),s}();function $d(s){let e=Ll(s,0,s.length);if(e==null)throw new Error("ipBuff is required");if(!Io(e))throw new Error("invalid ip address");return e}function Ol(s){return new DataView(s.buffer).getUint16(s.byteOffset)}function Po(s){let e=us(s);if(s=s.slice(Se(e)),s.length!==e)throw new Error("inconsistent lengths");return W(s)}function jd(s){let e=us(s),t=s.slice(Se(e));if(t.length!==e)throw new Error("inconsistent lengths");return"u"+W(t,"base64url")}function Zd(s){let e=us(s),t=s.slice(Se(e));if(t.length!==e)throw new Error("inconsistent lengths");return W(t,"base58btc")}function Ul(s){let e=s.slice(0,s.length-2),t=s.slice(s.length-2),r=W(e,"base32"),n=Ol(t);return`${r}:${n}`}var zn;(function(s){s[s.ip4=4]="ip4",s[s.ip6=41]="ip6"})(zn||(zn={}));function Fl(s){for(let e of s.tuples())switch(e[0]){case zn.ip4:case zn.ip6:return Vl(e[0],e[1]);default:break}return null}var Vs=class{entries=new Map;validityMs;constructor(e){this.validityMs=e.validityMs}get size(){return this.entries.size}put(e,t){return this.entries.has(e)?!0:(this.entries.set(e,{value:t,validUntilMs:Date.now()+this.validityMs}),!1)}prune(){let e=Date.now();for(let[t,r]of this.entries.entries())if(r.validUntilMs=Date.now()?t.value:void 0}clear(){this.entries.clear()}};var xp=Br,Ue;(function(s){s[s.started=0]="started",s[s.stopped=1]="stopped"})(Ue||(Ue={}));var qn=class extends br{globalSignaturePolicy;multicodecs=[Br,Ti];publishConfig;dataTransform;peers=new Set;streamsInbound=new Map;streamsOutbound=new Map;outboundInflightQueue=ut({objectMode:!0});direct=new Set;floodsubPeers=new Set;seenCache;acceptFromWhitelist=new Map;topics=new Map;subscriptions=new Set;mesh=new Map;fanout=new Map;fanoutLastpub=new Map;gossip=new Map;control=new Map;peerhave=new Map;iasked=new Map;backoff=new Map;outbound=new Map;msgIdFn;fastMsgIdFn;msgIdToStrFn;fastMsgIdCache;publishedMessageIds;mcache;score;topicValidators=new Map;log;heartbeatTicks=0;gossipTracer;components;directPeerInitial=null;static multicodec=Br;opts;decodeRpcLimits;metrics;status={code:Ue.stopped};maxInboundStreams;maxOutboundStreams;runOnTransientConnection;allowedTopics;heartbeatTimer=null;constructor(e,t={}){super();let r={fallbackToFloodsub:!0,floodPublish:!0,batchPublish:!1,tagMeshPeers:!0,doPX:!1,directPeers:[],D:6,Dlo:4,Dhi:12,Dscore:4,Dout:2,Dlazy:6,heartbeatInterval:1e3,fanoutTTL:6e4,mcacheLength:5,mcacheGossip:3,seenTTL:12e4,gossipsubIWantFollowupMs:3e3,prunePeers:16,pruneBackoff:6e4,unsubcribeBackoff:1e4,graftFloodThreshold:1e4,opportunisticGraftPeers:2,opportunisticGraftTicks:60,directConnectTicks:300,gossipFactor:.25,...t,scoreParams:La(t.scoreParams),scoreThresholds:Va(t.scoreThresholds)};if(this.components=e,this.decodeRpcLimits=r.decodeRpcLimits??Ea,this.globalSignaturePolicy=r.globalSignaturePolicy??qt,r.fallbackToFloodsub&&this.multicodecs.push(ki),this.log=e.logger.forComponent(r.debugName??"libp2p:gossipsub"),this.opts=r,this.direct=new Set(r.directPeers.map(n=>n.id.toString())),this.seenCache=new Vs({validityMs:r.seenTTL}),this.publishedMessageIds=new Vs({validityMs:r.seenTTL}),t.msgIdFn!=null)this.msgIdFn=t.msgIdFn;else switch(this.globalSignaturePolicy){case qt:this.msgIdFn=Rl;break;case rs:this.msgIdFn=Ml;break;default:throw new Error(`Invalid globalSignaturePolicy: ${this.globalSignaturePolicy}`)}if(t.fastMsgIdFn!=null&&(this.fastMsgIdFn=t.fastMsgIdFn,this.fastMsgIdCache=new Vs({validityMs:r.seenTTL})),this.msgIdToStrFn=t.msgIdToStrFn??kl,this.mcache=t.messageCache??new Tr(r.mcacheGossip,r.mcacheLength,this.msgIdToStrFn),t.dataTransform!=null&&(this.dataTransform=t.dataTransform),t.metricsRegister!=null){if(t.metricsTopicStrToLabel==null)throw Error("Must set metricsTopicStrToLabel with metrics");let n=Math.max(...Object.values(r.scoreParams.topics).map(o=>o.meshMessageDeliveriesWindow),1e3),i=Ca(t.metricsRegister,t.metricsTopicStrToLabel,{gossipPromiseExpireSec:this.opts.gossipsubIWantFollowupMs/1e3,behaviourPenaltyThreshold:r.scoreParams.behaviourPenaltyThreshold,maxMeshMessageDeliveriesWindowSec:n/1e3});i.mcacheSize.addCollect(()=>{this.onScrapeMetrics(i)});for(let o of this.multicodecs)i.protocolsEnabled.set({protocol:o},1);this.metrics=i}else this.metrics=null;this.gossipTracer=new Lr(this.opts.gossipsubIWantFollowupMs,this.msgIdToStrFn,this.metrics),this.score=new Dr(this.opts.scoreParams,this.metrics,this.components.logger,{scoreCacheValidityMs:r.heartbeatInterval}),this.maxInboundStreams=t.maxInboundStreams,this.maxOutboundStreams=t.maxOutboundStreams,this.runOnTransientConnection=t.runOnTransientConnection,this.allowedTopics=r.allowedTopics!=null?new Set(r.allowedTopics):null}[Symbol.toStringTag]="@chainsafe/libp2p-gossipsub";[Go]=["@libp2p/pubsub"];[Ko]=["@libp2p/identify"];getPeers(){return[...this.peers.keys()].map(e=>ct(e))}isStarted(){return this.status.code===Ue.started}async start(){if(this.isStarted())return;this.log("starting"),this.publishConfig=await Tl(this.globalSignaturePolicy,this.components.peerId),this.outboundInflightQueue=ut({objectMode:!0}),gs(this.outboundInflightQueue,async i=>{for await(let{peerId:o,connection:a}of i)await this.createOutboundStream(o,a)}).catch(i=>{this.log.error("outbound inflight queue error",i)}),await Promise.all(this.opts.directPeers.map(async i=>{await this.components.peerStore.merge(i.id,{multiaddrs:i.addrs})}));let e=this.components.registrar;await Promise.all(this.multicodecs.map(async i=>e.handle(i,this.onIncomingStream.bind(this),{maxInboundStreams:this.maxInboundStreams,maxOutboundStreams:this.maxOutboundStreams,runOnTransientConnection:this.runOnTransientConnection})));let t={onConnect:this.onPeerConnected.bind(this),onDisconnect:this.onPeerDisconnected.bind(this),notifyOnTransient:this.runOnTransientConnection},r=await Promise.all(this.multicodecs.map(async i=>e.register(i,t))),n=setTimeout(this.runHeartbeat,100);this.status={code:Ue.started,registrarTopologyIds:r,heartbeatTimeout:n,hearbeatStartMs:Date.now()+100},this.score.start(),this.directPeerInitial=setTimeout(()=>{Promise.resolve().then(async()=>{await Promise.all(Array.from(this.direct).map(async i=>this.connect(i)))}).catch(i=>{this.log(i)})},1e3),this.opts.tagMeshPeers&&(this.addEventListener("gossipsub:graft",this.tagMeshPeer),this.addEventListener("gossipsub:prune",this.untagMeshPeer)),this.log("started")}async stop(){if(this.log("stopping"),this.status.code!==Ue.started)return;let{registrarTopologyIds:e}=this.status;this.status={code:Ue.stopped},this.opts.tagMeshPeers&&(this.removeEventListener("gossipsub:graft",this.tagMeshPeer),this.removeEventListener("gossipsub:prune",this.untagMeshPeer));let t=this.components.registrar;await Promise.all(this.multicodecs.map(async n=>t.unhandle(n))),e.forEach(n=>{t.unregister(n)}),this.outboundInflightQueue.end();let r=[];for(let n of this.streamsOutbound.values())r.push(n.close());this.streamsOutbound.clear();for(let n of this.streamsInbound.values())r.push(n.close());this.streamsInbound.clear(),await Promise.all(r),this.peers.clear(),this.subscriptions.clear(),this.heartbeatTimer!=null&&(this.heartbeatTimer.cancel(),this.heartbeatTimer=null),this.score.stop(),this.mesh.clear(),this.fanout.clear(),this.fanoutLastpub.clear(),this.gossip.clear(),this.control.clear(),this.peerhave.clear(),this.iasked.clear(),this.backoff.clear(),this.outbound.clear(),this.gossipTracer.clear(),this.seenCache.clear(),this.fastMsgIdCache!=null&&this.fastMsgIdCache.clear(),this.directPeerInitial!=null&&clearTimeout(this.directPeerInitial),this.log("stopped")}dumpPeerScoreStats(){return this.score.dumpPeerScoreStats()}onIncomingStream({stream:e,connection:t}){if(!this.isStarted())return;let r=t.remotePeer;this.addPeer(r,t.direction,t.remoteAddr),this.createInboundStream(r,e),this.outboundInflightQueue.push({peerId:r,connection:t})}onPeerConnected(e,t){this.metrics?.newConnectionCount.inc({status:t.status}),!(!this.isStarted()||t.status!=="open")&&(this.addPeer(e,t.direction,t.remoteAddr),this.outboundInflightQueue.push({peerId:e,connection:t}))}onPeerDisconnected(e){this.log("connection ended %p",e),this.removePeer(e)}async createOutboundStream(e,t){if(!this.isStarted())return;let r=e.toString();if(this.peers.has(r)&&!this.streamsOutbound.has(r))try{let n=new Nr(await t.newStream(this.multicodecs,{runOnTransientConnection:this.runOnTransientConnection}),o=>{this.log.error("outbound pipe error",o)},{maxBufferSize:this.opts.maxOutboundBufferSize});this.log("create outbound stream %p",e),this.streamsOutbound.set(r,n);let i=n.protocol;i===ki&&this.floodsubPeers.add(r),this.metrics?.peersPerProtocol.inc({protocol:i},1),this.subscriptions.size>0&&(this.log("send subscriptions to",r),this.sendSubscriptions(r,Array.from(this.subscriptions),!0))}catch(n){this.log.error("createOutboundStream error",n)}}createInboundStream(e,t){if(!this.isStarted())return;let r=e.toString();if(!this.peers.has(r))return;let n=this.streamsInbound.get(r);n!==void 0&&(this.log("replacing existing inbound steam %s",r),n.close().catch(o=>{this.log.error(o)})),this.log("create inbound stream %s",r);let i=new Cr(t,{maxDataLength:this.opts.maxInboundDataLength});this.streamsInbound.set(r,i),this.pipePeerReadStream(e,i.source).catch(o=>{this.log(o)})}addPeer(e,t,r){let n=e.toString();if(!this.peers.has(n)){this.log("new peer %p",e),this.peers.add(n),this.score.addPeer(n);let i=Fl(r);i!==null?this.score.addIP(n,i):this.log("Added peer has no IP in current address %s %s",n,r.toString()),this.outbound.has(n)||this.outbound.set(n,t==="outbound")}}removePeer(e){let t=e.toString();if(!this.peers.has(t))return;this.log("delete peer %p",e),this.peers.delete(t);let r=this.streamsOutbound.get(t),n=this.streamsInbound.get(t);r!=null&&this.metrics?.peersPerProtocol.inc({protocol:r.protocol},-1),r?.close().catch(i=>{this.log.error(i)}),n?.close().catch(i=>{this.log.error(i)}),this.streamsOutbound.delete(t),this.streamsInbound.delete(t);for(let i of this.topics.values())i.delete(t);for(let[i,o]of this.mesh)o.delete(t)&&this.metrics?.onRemoveFromMesh(i,ze.Dc,1);for(let i of this.fanout.values())i.delete(t);this.floodsubPeers.delete(t),this.gossip.delete(t),this.control.delete(t),this.outbound.delete(t),this.score.removePeer(t),this.acceptFromWhitelist.delete(t)}get started(){return this.status.code===Ue.started}getMeshPeers(e){let t=this.mesh.get(e);return t!=null?Array.from(t):[]}getSubscribers(e){let t=this.topics.get(e);return(t!=null?Array.from(t):[]).map(r=>ct(r))}getTopics(){return Array.from(this.subscriptions)}async pipePeerReadStream(e,t){try{await gs(t,async r=>{for await(let n of r)try{let i=n.subarray(),o=ht.decode(i,{limits:{subscriptions:this.decodeRpcLimits.maxSubscriptions,messages:this.decodeRpcLimits.maxMessages,control$:{ihave:this.decodeRpcLimits.maxIhaveMessageIDs,iwant:this.decodeRpcLimits.maxIwantMessageIDs,graft:this.decodeRpcLimits.maxControlMessages,prune:this.decodeRpcLimits.maxControlMessages,prune$:{peers:this.decodeRpcLimits.maxPeerInfos}}}});if(this.metrics?.onRpcRecv(o,i.length),this.opts.awaitRpcHandler)try{await this.handleReceivedRpc(e,o)}catch(a){this.metrics?.onRpcRecvError(),this.log(a)}else this.handleReceivedRpc(e,o).catch(a=>{this.metrics?.onRpcRecvError(),this.log(a)})}catch(i){this.metrics?.onRpcDataError(),this.log(i)}})}catch(r){this.metrics?.onPeerReadStreamError(),this.handlePeerReadStreamError(r,e)}}handlePeerReadStreamError(e,t){this.log.error(e),this.onPeerDisconnected(t)}async handleReceivedRpc(e,t){if(!this.acceptFrom(e.toString())){this.log("received message from unacceptable peer %p",e),this.metrics?.rpcRecvNotAccepted.inc();return}let r=t.subscriptions!=null?t.subscriptions.length:0,n=t.messages!=null?t.messages.length:0,i=0,o=0,a=0,c=0;if(t.control!=null&&(t.control.ihave!=null&&(i=t.control.ihave.length),t.control.iwant!=null&&(o=t.control.iwant.length),t.control.graft!=null&&(a=t.control.graft.length),t.control.prune!=null&&(c=t.control.prune.length)),this.log(`rpc.from ${e.toString()} subscriptions ${r} messages ${n} ihave ${i} iwant ${o} graft ${a} prune ${c}`),t.subscriptions!=null&&t.subscriptions.length>0){let f=[];t.subscriptions.forEach(l=>{let u=l.topic,h=l.subscribe===!0;if(u!=null){if(this.allowedTopics!=null&&!this.allowedTopics.has(u))return;this.handleReceivedSubscription(e,u,h),f.push({topic:u,subscribe:h})}}),this.safeDispatchEvent("subscription-change",{detail:{peerId:e,subscriptions:f}})}for(let f of t.messages){if(this.allowedTopics!=null&&!this.allowedTopics.has(f.topic))continue;let l=this.handleReceivedMessage(e,f).catch(u=>{this.metrics?.onMsgRecvError(f.topic),this.log(u)});this.opts.awaitRpcMessageHandler&&await l}t.control!=null&&await this.handleControlMessage(e.toString(),t.control)}handleReceivedSubscription(e,t,r){this.log("subscription update from %p topic %s",e,t);let n=this.topics.get(t);n==null&&(n=new Set,this.topics.set(t,n)),r?n.add(e.toString()):n.delete(e.toString())}async handleReceivedMessage(e,t){this.metrics?.onMsgRecvPreValidation(t.topic);let r=await this.validateReceivedMessage(e,t);this.metrics?.onPrevalidationResult(t.topic,r.code);let n=r.code;switch(n){case Ee.duplicate:this.score.duplicateMessage(e.toString(),r.msgIdStr,t.topic),this.gossipTracer.deliverMessage(r.msgIdStr,!0),this.mcache.observeDuplicate(r.msgIdStr,e.toString());return;case Ee.invalid:if(r.msgIdStr!=null){let i=r.msgIdStr;this.score.rejectMessage(e.toString(),i,t.topic,r.reason),this.gossipTracer.rejectMessage(i,r.reason)}else this.score.rejectInvalidMessage(e.toString(),t.topic);this.metrics?.onMsgRecvInvalid(t.topic,r);return;case Ee.valid:this.score.validateMessage(r.messageId.msgIdStr),this.gossipTracer.deliverMessage(r.messageId.msgIdStr),this.mcache.put(r.messageId,t,!this.opts.asyncValidation),this.subscriptions.has(t.topic)&&(!this.components.peerId.equals(e)||this.opts.emitSelf)&&(super.dispatchEvent(new CustomEvent("gossipsub:message",{detail:{propagationSource:e,msgId:r.messageId.msgIdStr,msg:r.msg}})),super.dispatchEvent(new CustomEvent("message",{detail:r.msg}))),this.opts.asyncValidation||this.forwardMessage(r.messageId.msgIdStr,t,e.toString());break;default:throw new Error(`Invalid validation result: ${n}`)}}async validateReceivedMessage(e,t){let r=this.fastMsgIdFn?.(t),n=r!==void 0?this.fastMsgIdCache?.get(r):void 0;if(n!=null)return{code:Ee.duplicate,msgIdStr:n};let i=await Al(this.globalSignaturePolicy,t);if(!i.valid)return{code:Ee.invalid,reason:Ie.Error,error:i.error};let o=i.message;try{this.dataTransform!=null&&(o.data=this.dataTransform.inboundTransform(t.topic,o.data))}catch(u){return this.log("Invalid message, transform failed",u),{code:Ee.invalid,reason:Ie.Error,error:xe.TransformFailed}}let a=await this.msgIdFn(o),c=this.msgIdToStrFn(a),f={msgId:a,msgIdStr:c};if(r!==void 0&&this.fastMsgIdCache!=null&&this.fastMsgIdCache.put(r,c)&&this.metrics?.fastMsgIdCacheCollision.inc(),this.seenCache.has(c))return{code:Ee.duplicate,msgIdStr:c};this.seenCache.put(c);let l=this.topicValidators.get(t.topic);if(l!=null){let u;try{u=await l(e,o)}catch(h){let p=h.code;p===xa&&(u=Be.Ignore),p===va?u=Be.Reject:u=Be.Ignore}if(u!==Be.Accept)return{code:Ee.invalid,reason:Ki(u),msgIdStr:c}}return{code:Ee.valid,messageId:f,msg:o}}getScore(e){return this.score.score(e)}sendSubscriptions(e,t,r){this.sendRpc(e,{subscriptions:t.map(n=>({topic:n,subscribe:r})),messages:[]})}async handleControlMessage(e,t){if(t===void 0)return;let r=t.ihave!=null?this.handleIHave(e,t.ihave):[],n=t.iwant!=null?this.handleIWant(e,t.iwant):[],i=t.graft!=null?await this.handleGraft(e,t.graft):[];if(t.prune!=null&&await this.handlePrune(e,t.prune),r.length===0&&n.length===0&&i.length===0)return;let o=this.sendRpc(e,nt(n,{iwant:r,prune:i})),a=r[0]?.messageIDs;a!=null&&(o?this.gossipTracer.addPromise(e,a):this.metrics?.iwantPromiseUntracked.inc(1))}acceptFrom(e){if(this.direct.has(e))return!0;let t=Date.now(),r=this.acceptFromWhitelist.get(e);if(r!=null&&r.messagesAccepted<128&&r.acceptUntil>=t)return r.messagesAccepted+=1,!0;let n=this.score.score(e);return n>=0?this.acceptFromWhitelist.set(e,{messagesAccepted:0,acceptUntil:t+1e3}):this.acceptFromWhitelist.delete(e),n>=this.opts.scoreThresholds.graylistThreshold}handleIHave(e,t){if(t.length===0)return[];let r=this.score.score(e);if(r10)return this.log("IHAVE: peer %s has advertised too many times (%d) within this heartbeat interval; ignoring",e,n),this.metrics?.ihaveRcvIgnored.inc({reason:ws.MaxIhave}),[];let i=this.iasked.get(e)??0;if(i>=5e3)return this.log("IHAVE: peer %s has already advertised too many messages (%d); ignoring",e,i),this.metrics?.ihaveRcvIgnored.inc({reason:ws.MaxIasked}),[];let o=new Map;if(t.forEach(({topicID:f,messageIDs:l})=>{if(f==null||l==null||!this.mesh.has(f))return;let u=0;l.forEach(h=>{let p=this.msgIdToStrFn(h);this.seenCache.has(p)||(o.set(p,h),u++)}),this.metrics?.onIhaveRcv(f,l.length,u)}),o.size===0)return[];let a=o.size;a+i>5e3&&(a=5e3-i),this.log("IHAVE: Asking for %d out of %d messages from %s",a,o.size,e);let c=Array.from(o.values());return it(c),c=c.slice(0,a),this.iasked.set(e,i+a),[{messageIDs:c}]}handleIWant(e,t){if(t.length===0)return[];let r=this.score.score(e);if(r{a?.forEach(c=>{let f=this.msgIdToStrFn(c),l=this.mcache.getWithIWantCount(f,e);if(l==null){o++;return}if(i.set(l.msg.topic,1+(i.get(l.msg.topic)??0)),l.count>3){this.log("IWANT: Peer %s has asked for message %s too many times: ignoring request",e,c);return}n.set(f,l.msg)})}),this.metrics?.onIwantRcv(i,o),n.size===0?(this.log("IWANT: Could not provide any wanted messages to %s",e),[]):(this.log("IWANT: Sending %d messages to %s",n.size,e),Array.from(n.values()))}async handleGraft(e,t){let r=[],n=this.score.score(e),i=Date.now(),o=this.opts.doPX;if(t.forEach(({topicID:c})=>{if(c==null)return;let f=this.mesh.get(c);if(f==null){o=!1;return}if(f.has(e))return;let l=this.backoff.get(c)?.get(e);if(this.direct.has(e))this.log("GRAFT: ignoring request from direct peer %s",e),r.push(c),o=!1;else if(typeof l=="number"&&i=this.opts.Dhi&&!(this.outbound.get(e)??!1)?(r.push(c),this.addBackoff(e,c)):(this.log("GRAFT: Add mesh link from %s in %s",e,c),this.score.graft(e,c),f.add(e),this.metrics?.onAddToMesh(c,Ae.Subscribed,1));this.safeDispatchEvent("gossipsub:graft",{detail:{peerId:e,topic:c,direction:"inbound"}})}),r.length===0)return[];let a=!1;return Promise.all(r.map(async c=>this.makePrune(e,c,o,a)))}async handlePrune(e,t){let r=this.score.score(e);for(let{topicID:n,backoff:i,peers:o}of t){if(n==null)continue;let a=this.mesh.get(n);if(a==null)return;this.log("PRUNE: Remove mesh link to %s in %s",e,n),this.score.prune(e,n),a.has(e)&&(a.delete(e),this.metrics?.onRemoveFromMesh(n,ze.Prune,1)),typeof i=="number"&&i>0?this.doAddBackoff(e,n,i*1e3):this.addBackoff(e,n),o!=null&&o.length>0&&(r{this.log("peer %s didn't follow up in %d IWANT requests; adding penalty",t,e),this.score.addPenalty(t,e,ys.BrokenPromise)})}clearBackoff(){if(this.heartbeatTicks%15!==0)return;let e=Date.now();this.backoff.forEach((t,r)=>{t.forEach((n,i)=>{n+1*this.opts.heartbeatInterval{this.streamsOutbound.has(t)||e.push(t)}),await Promise.all(e.map(async t=>this.connect(t)))}async pxConnect(e){e.length>this.opts.prunePeers&&(it(e),e=e.slice(0,this.opts.prunePeers));let t=[];await Promise.all(e.map(async r=>{if(r.peerID==null)return;let n=js(r.peerID),i=n.toString();if(!this.peers.has(i)){if(r.signedPeerRecord==null){t.push(i);return}try{if(!await this.components.peerStore.consumePeerRecord(r.signedPeerRecord,n)){this.log("bogus peer record obtained through px: could not add peer record to address book");return}t.push(i)}catch{this.log("bogus peer record obtained through px: invalid signature or not a peer record")}}})),t.length!==0&&await Promise.all(t.map(async r=>this.connect(r)))}async connect(e){this.log("Initiating connection with %s",e);let t=ct(e),r=await this.components.connectionManager.openConnection(t);for(let n of this.multicodecs)for(let i of this.components.registrar.getTopologies(n))i.onConnect?.(t,r)}subscribe(e){if(this.status.code!==Ue.started)throw new Error("Pubsub has not started");if(!this.subscriptions.has(e)){this.subscriptions.add(e);for(let t of this.peers.keys())this.sendSubscriptions(t,[e],!0)}this.join(e)}unsubscribe(e){if(this.status.code!==Ue.started)throw new Error("Pubsub is not started");let t=this.subscriptions.delete(e);if(this.log("unsubscribe from %s - am subscribed %s",e,t),t)for(let r of this.peers.keys())this.sendSubscriptions(r,[e],!1);this.leave(e)}join(e){if(this.status.code!==Ue.started)throw new Error("Gossipsub has not started");if(this.mesh.has(e))return;this.log("JOIN %s",e),this.metrics?.onJoin(e);let t=new Set,r=this.backoff.get(e),n=this.fanout.get(e);if(n!=null&&(this.fanout.delete(e),this.fanoutLastpub.delete(e),n.forEach(i=>{!this.direct.has(i)&&this.score.score(i)>=0&&(r==null||!r.has(i))&&t.add(i)}),this.metrics?.onAddToMesh(e,Ae.Fanout,t.size)),t.size!t.has(a)&&!this.direct.has(a)&&this.score.score(a)>=0&&(r==null||!r.has(a))).forEach(a=>{t.add(a)}),this.metrics?.onAddToMesh(e,Ae.Random,t.size-i)}this.mesh.set(e,t),t.forEach(i=>{this.log("JOIN: Add mesh link to %s in %s",i,e),this.sendGraft(i,e)})}leave(e){if(this.status.code!==Ue.started)throw new Error("Gossipsub has not started");this.log("LEAVE %s",e),this.metrics?.onLeave(e);let t=this.mesh.get(e);t!=null&&(Promise.all(Array.from(t).map(async r=>{this.log("LEAVE: Remove mesh link to %s in %s",r,e),await this.sendPrune(r,e)})).catch(r=>{this.log("Error sending prunes to mesh peers",r)}),this.mesh.delete(e))}selectPeersToForward(e,t,r){let n=new Set,i=this.topics.get(e);i!=null&&(this.direct.forEach(a=>{i.has(a)&&t!==a&&!(r?.has(a)??!1)&&n.add(a)}),this.floodsubPeers.forEach(a=>{i.has(a)&&t!==a&&!(r?.has(a)??!1)&&this.score.score(a)>=this.opts.scoreThresholds.publishThreshold&&n.add(a)}));let o=this.mesh.get(e);return o!=null&&o.size>0&&o.forEach(a=>{t!==a&&!(r?.has(a)??!1)&&n.add(a)}),n}selectPeersToPublish(e){let t=new Set,r={direct:0,floodsub:0,mesh:0,fanout:0},n=this.topics.get(e);if(n!=null)if(this.opts.floodPublish)n.forEach(i=>{this.direct.has(i)?(t.add(i),r.direct++):this.score.score(i)>=this.opts.scoreThresholds.publishThreshold&&(t.add(i),r.floodsub++)});else{this.direct.forEach(o=>{n.has(o)&&(t.add(o),r.direct++)}),this.floodsubPeers.forEach(o=>{n.has(o)&&this.score.score(o)>=this.opts.scoreThresholds.publishThreshold&&(t.add(o),r.floodsub++)});let i=this.mesh.get(e);if(i!=null&&i.size>0)i.forEach(o=>{t.add(o),r.mesh++}),i.size!i.has(a)&&!this.direct.has(a)&&!this.floodsubPeers.has(a)&&this.score.score(a)>=this.opts.scoreThresholds.publishThreshold).forEach(a=>{t.add(a),r.mesh++});else{let o=this.fanout.get(e);if(o!=null&&o.size>0)o.forEach(a=>{t.add(a),r.fanout++});else{let a=this.getRandomGossipPeers(e,this.opts.D,c=>this.score.score(c)>=this.opts.scoreThresholds.publishThreshold);a.size>0&&(this.fanout.set(e,a),a.forEach(c=>{t.add(c),r.fanout++}))}this.fanoutLastpub.set(e,Date.now())}}return{tosend:t,tosendCount:r}}forwardMessage(e,t,r,n){r!=null&&this.score.deliverMessage(r,e,t.topic);let i=this.selectPeersToForward(t.topic,r,n);i.forEach(o=>{this.sendRpc(o,nt([t]))}),this.metrics?.onForwardMsg(t.topic,i.size)}async publish(e,t,r){let n=Date.now(),i=this.dataTransform!=null?this.dataTransform.outboundTransform(e,t):t;if(this.publishConfig==null)throw Error("PublishError.Uninitialized");let{raw:o,msg:a}=await Il(this.publishConfig,e,t,i),c=await this.msgIdFn(a),f=this.msgIdToStrFn(c),l=r?.ignoreDuplicatePublishError??this.opts.ignoreDuplicatePublishError;if(this.seenCache.has(f)){if(l)return this.metrics?.onPublishDuplicateMsg(e),{recipients:[]};throw Error("PublishError.Duplicate")}let{tosend:u,tosendCount:h}=this.selectPeersToPublish(e),p=this.opts.emitSelf&&this.subscriptions.has(e),g=r?.allowPublishToZeroTopicPeers??this.opts.allowPublishToZeroTopicPeers;if(u.size===0&&!g&&!p)throw Error("PublishError.NoPeersSubscribedToTopic");this.seenCache.put(f),this.mcache.put({msgId:c,msgIdStr:f},o,!0),this.publishedMessageIds.put(f);let d=r?.batchPublish??this.opts.batchPublish,m=nt([o]);if(d)this.sendRpcInBatch(u,m);else for(let _ of u)this.sendRpc(_,m)||u.delete(_);let b=Date.now()-n;return this.metrics?.onPublishMsg(e,h,u.size,o.data!=null?o.data.length:0,b),p&&(u.add(this.components.peerId.toString()),super.dispatchEvent(new CustomEvent("gossipsub:message",{detail:{propagationSource:this.components.peerId,msgId:f,msg:a}})),super.dispatchEvent(new CustomEvent("message",{detail:a}))),{recipients:Array.from(u.values()).map(_=>ct(_))}}sendRpcInBatch(e,t){let r=ht.encode(t),n=fs.single(r);for(let i of e){let o=this.streamsOutbound.get(i);if(o==null){this.log(`Cannot send RPC to ${i} as there is no open stream to it available`),e.delete(i);continue}try{o.pushPrefixed(n)}catch(a){e.delete(i),this.log.error(`Cannot send rpc to ${i}`,a)}this.metrics?.onRpcSent(t,r.length)}}reportMessageValidationResult(e,t,r){let n;if(r===Be.Accept){if(n=this.mcache.validate(e),n!=null){let{message:o,originatingPeers:a}=n;this.score.deliverMessage(t,e,o.topic),this.forwardMessage(e,n.message,t,a)}}else if(n=this.mcache.remove(e),n!=null){let o=Ki(r),{message:a,originatingPeers:c}=n;this.score.rejectMessage(t,e,a.topic,o);for(let f of c)this.score.rejectMessage(f,e,a.topic,o)}let i=this.score.messageFirstSeenTimestampMs(e);this.metrics?.onReportValidation(n,r,i)}sendGraft(e,t){let n=nt([],{graft:[{topicID:t}]});this.sendRpc(e,n)}async sendPrune(e,t){let n=[await this.makePrune(e,t,this.opts.doPX,!0)],i=nt([],{prune:n});this.sendRpc(e,i)}sendRpc(e,t){let r=this.streamsOutbound.get(e);if(r==null)return this.log(`Cannot send RPC to ${e} as there is no open stream to it available`),!1;let n=this.control.get(e);n!=null&&(this.piggybackControl(e,t,n),this.control.delete(e));let i=this.gossip.get(e);i!=null&&(this.piggybackGossip(e,t,i),this.gossip.delete(e));let o=ht.encode(t);try{r.push(o)}catch(a){return this.log.error(`Cannot send rpc to ${e}`,a),n!=null&&this.control.set(e,n),i!=null&&this.gossip.set(e,i),!1}if(this.metrics?.onRpcSent(t,o.length),t.control?.graft!=null)for(let a of t.control?.graft)a.topicID!=null&&this.safeDispatchEvent("gossipsub:graft",{detail:{peerId:e,topic:a.topicID,direction:"outbound"}});if(t.control?.prune!=null)for(let a of t.control?.prune)a.topicID!=null&&this.safeDispatchEvent("gossipsub:prune",{detail:{peerId:e,topic:a.topicID,direction:"outbound"}});return!0}piggybackControl(e,t,r){let n=So(t);for(let i of r.graft)i.topicID!=null&&(this.mesh.get(i.topicID)?.has(e)??!1)&&n.control.graft.push(i);for(let i of r.prune)i.topicID!=null&&!(this.mesh.get(i.topicID)?.has(e)??!1)&&n.control.prune.push(i)}piggybackGossip(e,t,r){let n=So(t);n.control.ihave=r}async sendGraftPrune(e,t,r){let n=this.opts.doPX,i=!1;for(let[o,a]of e){let c=a.map(u=>({topicID:u})),f=[],l=t.get(o);l!=null&&(f=await Promise.all(l.map(async u=>this.makePrune(o,u,n&&!(r.get(o)??!1),i))),t.delete(o)),this.sendRpc(o,nt([],{graft:c,prune:f}))}for(let[o,a]of t){let c=await Promise.all(a.map(async f=>this.makePrune(o,f,n&&!(r.get(o)??!1),i)));this.sendRpc(o,nt([],{prune:c}))}}emitGossip(e){let t=this.mcache.getGossipIDs(new Set(e.keys()));for(let[r,n]of e)this.doEmitGossip(r,n,t.get(r)??[])}doEmitGossip(e,t,r){if(r.length===0||(it(r),r.length>5e3&&this.log("too many messages for gossip; will truncate IHAVE list (%d messages)",r.length),t.size===0))return;let n=this.opts.Dlazy,o=this.opts.gossipFactor*t.size,a=t;o>n&&(n=o),n>a.size?n=a.size:a=it(Array.from(a)).slice(0,n),a.forEach(c=>{let f=r;r.length>5e3&&(f=it(f.slice()).slice(0,5e3)),this.pushGossip(c,{topicID:e,messageIDs:f})})}flush(){for(let[e,t]of this.gossip.entries())this.gossip.delete(e),this.sendRpc(e,nt([],{ihave:t}));for(let[e,t]of this.control.entries()){this.control.delete(e);let r=nt([],{graft:t.graft,prune:t.prune});this.sendRpc(e,r)}}pushGossip(e,t){this.log("Add gossip to %s",e);let r=this.gossip.get(e)??[];this.gossip.set(e,r.concat(t))}async makePrune(e,t,r,n){if(this.score.prune(e,t),this.streamsOutbound.get(e)?.protocol===Ti)return{topicID:t,peers:[]};let i=n?this.opts.unsubcribeBackoff:this.opts.pruneBackoff,o=i/1e3;if(this.doAddBackoff(e,t,i),!r)return{topicID:t,peers:[],backoff:o};let a=this.getRandomGossipPeers(t,this.opts.prunePeers,f=>f!==e&&this.score.score(f)>=0),c=await Promise.all(Array.from(a).map(async f=>{let l=ct(f),u;try{u=await this.components.peerStore.get(l)}catch(h){if(h.code!=="ERR_NOT_FOUND")throw h}return{peerID:l.toBytes(),signedPeerRecord:u?.peerRecordEnvelope}}));return{topicID:t,peers:c,backoff:o}}runHeartbeat=()=>{let e=this.metrics?.heartbeatDuration.startTimer();this.heartbeat().catch(t=>{this.log("Error running heartbeat",t)}).finally(()=>{if(e?.(),this.status.code===Ue.started){clearTimeout(this.status.heartbeatTimeout);let t=this.opts.heartbeatInterval-(Date.now()-this.status.hearbeatStartMs)%this.opts.heartbeatInterval;t{let d=a.get(g);return d===void 0&&(d=this.score.score(g),a.set(g,d)),d},f=new Map,l=new Map,u=new Map;this.clearBackoff(),this.peerhave.clear(),this.metrics?.cacheSize.set({cache:"iasked"},this.iasked.size),this.iasked.clear(),this.applyIwantPenalties(),this.heartbeatTicks%this.opts.directConnectTicks===0&&await this.directConnect(),this.fastMsgIdCache?.prune(),this.seenCache.prune(),this.gossipTracer.prune(),this.publishedMessageIds.prune();let h=new Map;this.mesh.forEach((g,d)=>{let m=this.topics.get(d),b=new Set,_=new Set;if(h.set(d,_),m!=null){let y=it(Array.from(m)),x=this.backoff.get(d);for(let E of y){let B=this.streamsOutbound.get(E);if(B!=null&&this.multicodecs.includes(B.protocol)&&!g.has(E)&&!this.direct.has(E)){let D=c(E);(x==null||!x.has(E))&&D>=0&&b.add(E),D>=this.opts.scoreThresholds.gossipThreshold&&_.add(E)}}}let w=(y,x)=>{this.log("HEARTBEAT: Remove mesh link to %s in %s",y,d),this.addBackoff(y,d),g.delete(y),c(y)>=this.opts.scoreThresholds.gossipThreshold&&_.add(y),this.metrics?.onRemoveFromMesh(d,x,1);let E=l.get(y);E==null?l.set(y,[d]):E.push(d)},A=(y,x)=>{this.log("HEARTBEAT: Add mesh link to %s in %s",y,d),this.score.graft(y,d),g.add(y),_.delete(y),this.metrics?.onAddToMesh(d,x,1);let E=f.get(y);E==null?f.set(y,[d]):E.push(d)};if(g.forEach(y=>{let x=c(y);x<0&&(this.log("HEARTBEAT: Prune peer %s with negative score: score=%d, topic=%s",y,x,d),w(y,ze.BadScore),u.set(y,!0))}),g.size{A(E,Ae.NotEnough)})}if(g.size>r){let y=Array.from(g);y.sort((E,B)=>c(B)-c(E)),y=y.slice(0,n).concat(it(y.slice(n)));let x=0;if(y.slice(0,e).forEach(E=>{(this.outbound.get(E)??!1)&&x++}),x{let N=y[D];for(let L=D;L>0;L--)y[L]=y[L-1];y[0]=N};if(x>0){let D=x;for(let N=1;N0;N++)(this.outbound.get(y[N])??!1)&&(E(N),D--)}let B=e-x;for(let D=e;D0;D++)(this.outbound.get(y[D])??!1)&&(E(D),B--)}y.slice(e).forEach(E=>{w(E,ze.Excess)})}if(g.size>=t){let y=0;if(g.forEach(x=>{(this.outbound.get(x)??!1)&&y++}),ythis.outbound.get(B)===!0).forEach(B=>{A(B,Ae.Outbound)})}}if(this.heartbeatTicks%this.opts.opportunisticGraftTicks===0&&g.size>1){let y=Array.from(g).sort((B,D)=>c(B)-c(D)),x=Math.floor(g.size/2),E=c(y[x]);if(Ec(N)>E);for(let N of D)this.log("HEARTBEAT: Opportunistically graft peer %s on topic %s",N,d),A(N,Ae.Opportunistic)}}});let p=Date.now();this.fanoutLastpub.forEach((g,d)=>{g+o{let m=this.topics.get(d);g.forEach(A=>{(!(m?.has(A)??!1)||c(A)=this.opts.scoreThresholds.publishThreshold&&_.push(y),E>=this.opts.scoreThresholds.gossipThreshold&&w.add(y)}}}if(g.size{g.add(y),w?.delete(y)})}}),this.emitGossip(h),await this.sendGraftPrune(f,l,u),this.flush(),this.mcache.shift(),this.dispatchEvent(new CustomEvent("gossipsub:heartbeat"))}getRandomGossipPeers(e,t,r=()=>!0){let n=this.topics.get(e);if(n==null)return new Set;let i=[];return n.forEach(o=>{let a=this.streamsOutbound.get(o);a!=null&&this.multicodecs.includes(a.protocol)&&r(o)&&i.push(o)}),i=it(i),t>0&&i.length>t&&(i=i.slice(0,t)),new Set(i)}onScrapeMetrics(e){e.mcacheSize.set(this.mcache.size),e.mcacheNotValidatedCount.set(this.mcache.notValidatedCount),e.cacheSize.set({cache:"direct"},this.direct.size),e.cacheSize.set({cache:"seenCache"},this.seenCache.size),e.cacheSize.set({cache:"fastMsgIdCache"},this.fastMsgIdCache?.size??0),e.cacheSize.set({cache:"publishedMessageIds"},this.publishedMessageIds.size),e.cacheSize.set({cache:"mcache"},this.mcache.size),e.cacheSize.set({cache:"score"},this.score.size),e.cacheSize.set({cache:"gossipTracer.promises"},this.gossipTracer.size),e.cacheSize.set({cache:"gossipTracer.requests"},this.gossipTracer.requestMsByMsgSize),e.cacheSize.set({cache:"topics"},this.topics.size),e.cacheSize.set({cache:"subscriptions"},this.subscriptions.size),e.cacheSize.set({cache:"mesh"},this.mesh.size),e.cacheSize.set({cache:"fanout"},this.fanout.size),e.cacheSize.set({cache:"peers"},this.peers.size),e.cacheSize.set({cache:"streamsOutbound"},this.streamsOutbound.size),e.cacheSize.set({cache:"streamsInbound"},this.streamsInbound.size),e.cacheSize.set({cache:"acceptFromWhitelist"},this.acceptFromWhitelist.size),e.cacheSize.set({cache:"gossip"},this.gossip.size),e.cacheSize.set({cache:"control"},this.control.size),e.cacheSize.set({cache:"peerhave"},this.peerhave.size),e.cacheSize.set({cache:"outbound"},this.outbound.size);let t=0,r=Date.now();e.connectedPeersBackoffSec.reset();for(let a of this.backoff.values()){t+=a.size;for(let[c,f]of a.entries())this.peers.has(c)&&e.connectedPeersBackoffSec.observe(Math.max(0,f-r)/1e3)}e.cacheSize.set({cache:"backoff"},t);for(let[a,c]of this.topics)e.topicPeersCount.set({topicStr:a},c.size);for(let[a,c]of this.mesh)e.meshPeerCounts.set({topicStr:a},c.size);let n=[],i=new Map;e.behaviourPenalty.reset();for(let a of this.peers.keys()){let c=this.score.score(a);n.push(c),i.set(a,c),e.behaviourPenalty.observe(this.score.peerStats.get(a)?.behaviourPenalty??0)}e.registerScores(n,this.opts.scoreThresholds),e.registerScorePerMesh(this.mesh,i);let o=za(this.peers.keys(),this.score.peerStats,this.score.params,this.score.peerIPs,e.topicStrToLabel);e.registerScoreWeights(o)}tagMeshPeer=e=>{let{peerId:t,topic:r}=e.detail;this.components.peerStore.merge(ct(t),{tags:{[r]:{value:100}}}).catch(n=>{this.log.error("Error tagging peer %s with topic %s",t,r,n)})};untagMeshPeer=e=>{let{peerId:t,topic:r}=e.detail;this.components.peerStore.merge(ct(t),{tags:{[r]:void 0}}).catch(n=>{this.log.error("Error untagging peer %s with topic %s",t,r,n)})}};function Ep(s={}){return e=>new qn(e,s)}return tu(_p);})(); -+`)}`:`${t} :`}};Qa=Nt;T.Constructed=Qa;Nt.NAME="CONSTRUCTED";var Hr=class extends be{fromBER(e,t,r){return t}toBER(e){return Je}};Hr.override="EndOfContentValueBlock";var ec,Kr=class extends de{constructor(e={}){super(e,Hr),this.idBlock.tagClass=1,this.idBlock.tagNumber=0}};ec=Kr;T.EndOfContent=ec;Kr.NAME=$s;var tc,Lt=class extends de{constructor(e={}){super(e,be),this.idBlock.tagClass=1,this.idBlock.tagNumber=5}fromBER(e,t,r){return this.lenBlock.length>0&&this.warnings.push("Non-zero length of value block for Null type"),this.idBlock.error.length||(this.blockLength+=this.idBlock.blockLength),this.lenBlock.error.length||(this.blockLength+=this.lenBlock.blockLength),this.blockLength+=r,t+r>e.byteLength?(this.error="End of input reached before message was fully decoded (inconsistent offset and length values)",-1):t+r}toBER(e,t){let r=new ArrayBuffer(2);if(!e){let n=new Uint8Array(r);n[0]=5,n[1]=0}return t&&t.write(r),r}onAsciiEncoding(){return`${this.constructor.NAME}`}};tc=Lt;T.Null=tc;Lt.NAME="NULL";var Gr=class extends wt(be){constructor({value:e,...t}={}){super(t),t.valueHex?this.valueHexView=V.BufferSourceConverter.toUint8Array(t.valueHex):this.valueHexView=new Uint8Array(1),e&&(this.value=e)}get value(){for(let e of this.valueHexView)if(e>0)return!0;return!1}set value(e){this.valueHexView[0]=e?255:0}fromBER(e,t,r){let n=V.BufferSourceConverter.toUint8Array(e);return yt(this,n,t,r)?(this.valueHexView=n.subarray(t,t+r),r>1&&this.warnings.push("Boolean value encoded in more then 1 octet"),this.isHexOnly=!0,oo.call(this),this.blockLength=r,t+r):-1}toBER(){return this.valueHexView.slice()}toJSON(){return{...super.toJSON(),value:this.value}}};Gr.NAME="BooleanValueBlock";var sc,zr=class extends de{constructor(e={}){super(e,Gr),this.idBlock.tagClass=1,this.idBlock.tagNumber=1}getValue(){return this.valueBlock.value}setValue(e){this.valueBlock.value=e}onAsciiEncoding(){return`${this.constructor.NAME} : ${this.getValue}`}};sc=zr;T.Boolean=sc;zr.NAME="BOOLEAN";var qr=class extends wt(st){constructor({isConstructed:e=!1,...t}={}){super(t),this.isConstructed=e}fromBER(e,t,r){let n=0;if(this.isConstructed){if(this.isHexOnly=!1,n=st.prototype.fromBER.call(this,e,t,r),n===-1)return n;for(let i=0;i0&&f.unusedBits>0)return this.error='Using of "unused bits" inside constructive BIT STRING allowed for least one only',-1;this.unusedBits=f.unusedBits}return n}let i=V.BufferSourceConverter.toUint8Array(e);if(!yt(this,i,t,r))return-1;let o=i.subarray(t,t+r);if(this.unusedBits=o[0],this.unusedBits>7)return this.error="Unused bits for BitString must be in range 0-7",-1;if(!this.unusedBits){let a=o.subarray(1);try{if(a.byteLength){let c=vn(a,0,a.byteLength);c.offset!==-1&&c.offset===r-1&&(this.value=[c.result])}}catch{}}return this.valueHexView=o.subarray(1),this.blockLength=o.length,t+r}toBER(e,t){if(this.isConstructed)return st.prototype.toBER.call(this,e,t);if(e)return new ArrayBuffer(this.valueHexView.byteLength+1);if(!this.valueHexView.byteLength)return Je;let r=new Uint8Array(this.valueHexView.length+1);return r[0]=this.unusedBits,r.set(this.valueHexView,1),r.buffer}toJSON(){return{...super.toJSON(),unusedBits:this.unusedBits,isConstructed:this.isConstructed}}};Wr.NAME="BitStringValueBlock";var nc,ws=class extends de{constructor({idBlock:e={},lenBlock:t={},...r}={}){var n,i;(n=r.isConstructed)!==null&&n!==void 0||(r.isConstructed=!!(!((i=r.value)===null||i===void 0)&&i.length)),super({idBlock:{isConstructed:r.isConstructed,...e},lenBlock:{...t,isIndefiniteForm:!!r.isIndefiniteForm},...r},Wr),this.idBlock.tagClass=1,this.idBlock.tagNumber=3}fromBER(e,t,r){return this.valueBlock.isConstructed=this.idBlock.isConstructed,this.valueBlock.isIndefiniteForm=this.lenBlock.isIndefiniteForm,super.fromBER(e,t,r)}onAsciiEncoding(){if(this.valueBlock.isConstructed||this.valueBlock.value&&this.valueBlock.value.length)return Nt.prototype.onAsciiEncoding.call(this);{let e=[],t=this.valueBlock.valueHexView;for(let n of t)e.push(n.toString(2).padStart(8,"0"));let r=e.join("");return`${this.constructor.NAME} : ${r.substring(0,r.length-this.valueBlock.unusedBits)}`}}};nc=ws;T.BitString=nc;ws.NAME=Ja;var ic;function Of(s,e){let t=new Uint8Array([0]),r=new Uint8Array(s),n=new Uint8Array(e),i=r.slice(0),o=i.length-1,a=n.slice(0),c=a.length-1,f=0,l=c=0;h--,u++){switch(!0){case u=i.length:i=Rr(new Uint8Array([f%10]),i);break;default:i[o-u]=f%10}}return t[0]>0&&(i=Rr(t,i)),i}function ja(s){if(s>=qs.length)for(let e=qs.length;e<=s;e++){let t=new Uint8Array([0]),r=qs[e-1].slice(0);for(let n=r.length-1;n>=0;n--){let i=new Uint8Array([(r[n]<<1)+t[0]]);t[0]=i[0]/10,r[n]=i[0]%10}t[0]>0&&(r=Rr(t,r)),qs.push(r)}return qs[s]}function Hf(s,e){let t=0,r=new Uint8Array(s),n=new Uint8Array(e),i=r.slice(0),o=i.length-1,a=n.slice(0),c=a.length-1,f,l=0;for(let u=c;u>=0;u--,l++)switch(f=i[o-l]-a[c-l]-t,!0){case f<0:t=1,i[o-l]=f+10;break;default:t=0,i[o-l]=f}if(t>0)for(let u=o-c+1;u>=0;u--,l++)if(f=i[o-l]-t,f<0)t=1,i[o-l]=f+10;else{t=0,i[o-l]=f;break}return i.slice()}var js=class extends wt(be){constructor({value:e,...t}={}){super(t),this._valueDec=0,t.valueHex&&this.setValueHex(),e!==void 0&&(this.valueDec=e)}setValueHex(){this.valueHexView.length>=4?(this.warnings.push("Too big Integer for decoding, hex only"),this.isHexOnly=!0,this._valueDec=0):(this.isHexOnly=!1,this.valueHexView.length>0&&(this._valueDec=oo.call(this)))}set valueDec(e){this._valueDec=e,this.isHexOnly=!1,this.valueHexView=new Uint8Array(qa(e))}get valueDec(){return this._valueDec}fromDER(e,t,r,n=0){let i=this.fromBER(e,t,r);if(i===-1)return i;let o=this.valueHexView;return o[0]===0&&o[1]&128?this.valueHexView=o.subarray(1):n!==0&&o.length1&&(n=o.length+1),this.valueHexView=o.subarray(n-o.length)),i}toDER(e=!1){let t=this.valueHexView;switch(!0){case(t[0]&128)!==0:{let r=new Uint8Array(this.valueHexView.length+1);r[0]=0,r.set(t,1),this.valueHexView=r}break;case(t[0]===0&&(t[1]&128)===0):this.valueHexView=this.valueHexView.subarray(1);break}return this.toBER(e)}fromBER(e,t,r){let n=super.fromBER(e,t,r);return n===-1||this.setValueHex(),n}toBER(e){return e?new ArrayBuffer(this.valueHexView.length):this.valueHexView.slice().buffer}toJSON(){return{...super.toJSON(),valueDec:this.valueDec}}toString(){let e=this.valueHexView.length*8-1,t=new Uint8Array(this.valueHexView.length*8/3),r=0,n,i=this.valueHexView,o="",a=!1;for(let c=i.byteLength-1;c>=0;c--){n=i[c];for(let f=0;f<8;f++){if((n&1)===1)switch(r){case e:t=Hf(ja(r),t),o="-";break;default:t=Of(t,ja(r))}r++,n>>=1}}for(let c=0;c0;){let i=new Zs;if(n=i.fromBER(e,n,r),n===-1)return this.blockLength=0,this.error=i.error,n;this.value.length===0&&(i.isFirstSid=!0),this.blockLength+=i.blockLength,r-=i.blockLength,this.value.push(i)}return n}toBER(e){let t=[];for(let r=0;rNumber.MAX_SAFE_INTEGER){Nr();let a=BigInt(n);o.valueBigInt=a}else if(o.valueDec=parseInt(n,10),isNaN(o.valueDec))return;this.value.length||(o.isFirstSid=!0,i=!0),this.value.push(o)}while(r!==-1)}toString(){let e="",t=!1;for(let r=0;r0;){let i=new Js;if(n=i.fromBER(e,n,r),n===-1)return this.blockLength=0,this.error=i.error,n;this.blockLength+=i.blockLength,r-=i.blockLength,this.value.push(i)}return n}toBER(e,t){let r=[];for(let n=0;n4)continue;let a=4-o.length;for(let c=o.length-1;c>=0;c--)r[n*4+c+a]=o[c]}this.valueBlock.value=e}};rn.NAME="UniversalStringValueBlock";var pc,nn=class extends rn{constructor({...e}={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=28}};pc=nn;T.UniversalString=pc;nn.NAME="UniversalString";var gc,on=class extends Be{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=18}};gc=on;T.NumericString=gc;on.NAME="NumericString";var mc,an=class extends Be{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=19}};mc=an;T.PrintableString=mc;an.NAME="PrintableString";var bc,cn=class extends Be{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=20}};bc=cn;T.TeletexString=bc;cn.NAME="TeletexString";var yc,ln=class extends Be{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=21}};yc=ln;T.VideotexString=yc;ln.NAME="VideotexString";var wc,un=class extends Be{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=22}};wc=un;T.IA5String=wc;un.NAME="IA5String";var vc,hn=class extends Be{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=25}};vc=hn;T.GraphicString=vc;hn.NAME="GraphicString";var xc,Xs=class extends Be{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=26}};xc=Xs;T.VisibleString=xc;Xs.NAME="VisibleString";var Ec,fn=class extends Be{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=27}};Ec=fn;T.GeneralString=Ec;fn.NAME="GeneralString";var Sc,dn=class extends Be{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=29}};Sc=dn;T.CharacterString=Sc;dn.NAME="CharacterString";var Bc,Ys=class extends Xs{constructor({value:e,valueDate:t,...r}={}){if(super(r),this.year=0,this.month=0,this.day=0,this.hour=0,this.minute=0,this.second=0,e){this.fromString(e),this.valueBlock.valueHexView=new Uint8Array(e.length);for(let n=0;n=50?this.year=1900+n:this.year=2e3+n,this.month=parseInt(r[2],10),this.day=parseInt(r[3],10),this.hour=parseInt(r[4],10),this.minute=parseInt(r[5],10),this.second=parseInt(r[6],10)}toString(e="iso"){if(e==="iso"){let t=new Array(7);return t[0]=Ne(this.year<2e3?this.year-1900:this.year-2e3,2),t[1]=Ne(this.month,2),t[2]=Ne(this.day,2),t[3]=Ne(this.hour,2),t[4]=Ne(this.minute,2),t[5]=Ne(this.second,2),t[6]="Z",t.join("")}return super.toString(e)}onAsciiEncoding(){return`${this.constructor.NAME} : ${this.toDate().toISOString()}`}toJSON(){return{...super.toJSON(),year:this.year,month:this.month,day:this.day,hour:this.hour,minute:this.minute,second:this.second}}};Bc=Ys;T.UTCTime=Bc;Ys.NAME="UTCTime";var Ic,pn=class extends Ys{constructor(e={}){var t;super(e),(t=this.millisecond)!==null&&t!==void 0||(this.millisecond=0),this.idBlock.tagClass=1,this.idBlock.tagNumber=24}fromDate(e){super.fromDate(e),this.millisecond=e.getUTCMilliseconds()}toDate(){return new Date(Date.UTC(this.year,this.month-1,this.day,this.hour,this.minute,this.second,this.millisecond))}fromString(e){let t=!1,r="",n="",i=0,o,a=0,c=0;if(e[e.length-1]==="Z")r=e.substring(0,e.length-1),t=!0;else{let u=new Number(e[e.length-1]);if(isNaN(u.valueOf()))throw new Error("Wrong input string for conversion");r=e}if(t){if(r.indexOf("+")!==-1)throw new Error("Wrong input string for conversion");if(r.indexOf("-")!==-1)throw new Error("Wrong input string for conversion")}else{let u=1,h=r.indexOf("+"),p="";if(h===-1&&(h=r.indexOf("-"),u=-1),h!==-1){if(p=r.substring(h+1),r=r.substring(0,h),p.length!==2&&p.length!==4)throw new Error("Wrong input string for conversion");let g=parseInt(p.substring(0,2),10);if(isNaN(g.valueOf()))throw new Error("Wrong input string for conversion");if(a=u*g,p.length===4){if(g=parseInt(p.substring(2,4),10),isNaN(g.valueOf()))throw new Error("Wrong input string for conversion");c=u*g}}}let f=r.indexOf(".");if(f===-1&&(f=r.indexOf(",")),f!==-1){let u=new Number(`0${r.substring(f)}`);if(isNaN(u.valueOf()))throw new Error("Wrong input string for conversion");i=u.valueOf(),n=r.substring(0,f)}else n=r;switch(!0){case n.length===8:if(o=/(\d{4})(\d{2})(\d{2})/ig,f!==-1)throw new Error("Wrong input string for conversion");break;case n.length===10:if(o=/(\d{4})(\d{2})(\d{2})(\d{2})/ig,f!==-1){let u=60*i;this.minute=Math.floor(u),u=60*(u-this.minute),this.second=Math.floor(u),u=1e3*(u-this.second),this.millisecond=Math.floor(u)}break;case n.length===12:if(o=/(\d{4})(\d{2})(\d{2})(\d{2})(\d{2})/ig,f!==-1){let u=60*i;this.second=Math.floor(u),u=1e3*(u-this.second),this.millisecond=Math.floor(u)}break;case n.length===14:if(o=/(\d{4})(\d{2})(\d{2})(\d{2})(\d{2})(\d{2})/ig,f!==-1){let u=1e3*i;this.millisecond=Math.floor(u)}break;default:throw new Error("Wrong input string for conversion")}let l=o.exec(n);if(l===null)throw new Error("Wrong input string for conversion");for(let u=1;u0&&(e=`0${e}`);let t=e.length/2,r=new Uint8Array(t),n=0,i=0;for(;n0&&(r=`0${r}`),e.push(r)}),BigInt("0x"+e.join(""))}var qf=16,uo=32,ho=1e4;async function Vc(s,e){let t=Ee.get(),n=new he({value:[new ie({value:0}),new he({value:[new Ze({value:"1.2.840.113549.1.1.1"}),new Lt]}),new mt({valueHex:s.raw})]}).toBER(),i=new Uint8Array(n,0,n.byteLength),o=Jt(qf),a=await ro(Ls,e,o,{c:ho,dkLen:uo}),c=Jt(16),f=await t.subtle.importKey("raw",a,"AES-CBC",!1,["encrypt"]),l=await t.subtle.encrypt({name:"AES-CBC",iv:c},f,i),u=new he({value:[new mt({valueHex:o}),new ie({value:ho}),new ie({value:uo}),new he({value:[new Ze({value:"1.2.840.113549.2.11"}),new Lt]})]}),h=new he({value:[new Ze({value:"1.2.840.113549.1.5.13"}),new he({value:[new he({value:[new Ze({value:"1.2.840.113549.1.5.12"}),u]}),new he({value:[new Ze({value:"2.16.840.1.101.3.4.1.42"}),new mt({valueHex:c})]})]})]}),g=new he({value:[h,new mt({valueHex:l})]}).toBER(),d=new Uint8Array(g,0,g.byteLength);return["-----BEGIN ENCRYPTED PRIVATE KEY-----",...z(d,"base64pad").split(/(.{64})/).filter(Boolean),"-----END ENCRYPTED PRIVATE KEY-----"].join(` -+`)}async function Oc(s,e){let t=Ee.get(),r;if(s.includes("-----BEGIN ENCRYPTED PRIVATE KEY-----")){let n=W(s.replace("-----BEGIN ENCRYPTED PRIVATE KEY-----","").replace("-----END ENCRYPTED PRIVATE KEY-----","").replace(/\n/g,"").trim(),"base64pad"),{result:i}=xs(n),{iv:o,salt:a,iterations:c,keySize:f,cipherText:l}=Wf(i),u=await ro(Ls,e,a,{c,dkLen:f}),h=await t.subtle.importKey("raw",u,"AES-CBC",!1,["decrypt"]),p=tr(await t.subtle.decrypt({name:"AES-CBC",iv:o},h,l)),{result:g}=xs(p);r=Lc(g)}else if(s.includes("-----BEGIN PRIVATE KEY-----")){let n=W(s.replace("-----BEGIN PRIVATE KEY-----","").replace("-----END PRIVATE KEY-----","").replace(/\n/g,"").trim(),"base64pad"),{result:i}=xs(n);r=Lc(i)}else throw new j("Could not parse private key from PEM data");return go(r)}function Wf(s){let e=s.valueBlock.value[0];if(e.valueBlock.value[0].toString()!=="OBJECT IDENTIFIER : 1.2.840.113549.1.5.13")throw new j("Only pkcs5PBES2 encrypted private keys are supported");let r=e.valueBlock.value[1].valueBlock.value[0];if(r.valueBlock.value[0].toString()!=="OBJECT IDENTIFIER : 1.2.840.113549.1.5.12")throw new j("Only pkcs5PBKDF2 key derivation functions are supported");let i=r.valueBlock.value[1],o=tr(i.valueBlock.value[0].getValue()),a=ho,c=uo;if(i.valueBlock.value.length===3)a=Number(i.valueBlock.value[1].toBigInt()),c=Number(i.valueBlock.value[2].toBigInt());else if(i.valueBlock.value.length===2)throw new j("Could not derive key size and iterations from PEM file - please use @libp2p/rsa to re-import your key");let f=e.valueBlock.value[1].valueBlock.value[1],l=f.valueBlock.value[0].toString();if(l!=="OBJECT IDENTIFIER : 1.2.840.113549.3.7"){if(l!=="OBJECT IDENTIFIER : 1.3.14.3.2.7"){if(l!=="OBJECT IDENTIFIER : 2.16.840.1.101.3.4.1.2"){if(l!=="OBJECT IDENTIFIER : 2.16.840.1.101.3.4.1.22"){if(l!=="OBJECT IDENTIFIER : 2.16.840.1.101.3.4.1.42")throw new j("Only AES-CBC encryption schemes are supported")}}}}let u=tr(f.valueBlock.value[1].getValue());return{cipherText:tr(s.valueBlock.value[1].getValue()),salt:o,iterations:a,keySize:c,iv:u}}function Lc(s){return tr(s.valueBlock.value[2].getValue())}function tr(s){return new Uint8Array(s,0,s.byteLength)}async function Hc(s,e,t="pkcs-8"){if(t==="pkcs-8")return Vc(s,e);if(t==="libp2p-key")return Ra(zc(s),e);throw new j("Export format is not supported")}async function go(s){let e=Uc(s);return Kc(e)}function mo(s){let e=Fc(s);if(lo(e)>xn)throw new ts("Key size is too large");let t=bs(tt.encode({Type:ne.RSA,Data:s})),r=Ge(fo,t);return new Es(e,r)}async function Kc(s){if(lo(s)>xn)throw new j("Key size is too large");let e=await Cc(s),t=bs(tt.encode({Type:ne.RSA,Data:po(e.publicKey)})),r=Ge(fo,t);return new er(e.privateKey,new Es(e.publicKey,r))}async function Gc(s){if(s>xn)throw new j("Key size is too large");let e=await Mc(s),t=bs(tt.encode({Type:ne.RSA,Data:po(e.publicKey)})),r=Ge(fo,t);return new er(e.privateKey,new Es(e.publicKey,r))}function qc(s){s.lowS!==void 0&&We("lowS",s.lowS),s.prehash!==void 0&&We("prehash",s.prehash)}function $f(s){let e=Vs(s);Qe(e,{a:"field",b:"field"},{allowedPrivateKeyLengths:"array",wrapPrivateKey:"boolean",isTorsionFree:"function",clearCofactor:"function",allowInfinityPoint:"boolean",fromBytes:"function",toBytes:"function"});let{endo:t,Fp:r,a:n}=e;if(t){if(!r.eql(n,r.ZERO))throw new Error("Endomorphism can only be defined for Koblitz curves that have a=0");if(typeof t!="object"||typeof t.beta!="bigint"||typeof t.splitScalar!="function")throw new Error("Expected endomorphism with beta: bigint and splitScalar: function")}return Object.freeze({...e})}var{bytesToNumberBE:jf,hexToBytes:Zf}=yr,Xt={Err:class extends Error{constructor(e=""){super(e)}},_parseInt(s){let{Err:e}=Xt;if(s.length<2||s[0]!==2)throw new e("Invalid signature integer tag");let t=s[1],r=s.subarray(2,t+2);if(!t||r.length!==t)throw new e("Invalid signature integer: wrong length");if(r[0]&128)throw new e("Invalid signature integer: negative");if(r[0]===0&&!(r[1]&128))throw new e("Invalid signature integer: unnecessary leading zero");return{d:jf(r),l:s.subarray(t+2)}},toSig(s){let{Err:e}=Xt,t=typeof s=="string"?Zf(s):s;ps(t);let r=t.length;if(r<2||t[0]!=48)throw new e("Invalid signature tag");if(t[1]!==r-2)throw new e("Invalid signature: incorrect length");let{d:n,l:i}=Xt._parseInt(t.subarray(2)),{d:o,l:a}=Xt._parseInt(i);if(a.length)throw new e("Invalid signature: left bytes after parsing");return{r:n,s:o}},hexFromSig(s){let e=f=>Number.parseInt(f[0],16)&8?"00"+f:f,t=f=>{let l=f.toString(16);return l.length&1?`0${l}`:l},r=e(t(s.s)),n=e(t(s.r)),i=r.length/2,o=n.length/2,a=t(i),c=t(o);return`30${t(o+i+4)}02${c}${n}02${a}${r}`}},Ut=BigInt(0),fe=BigInt(1),rb=BigInt(2),Wc=BigInt(3),nb=BigInt(4);function Jf(s){let e=$f(s),{Fp:t}=e,r=e.toBytes||((g,d,m)=>{let b=d.toAffine();return ft(Uint8Array.from([4]),t.toBytes(b.x),t.toBytes(b.y))}),n=e.fromBytes||(g=>{let d=g.subarray(1),m=t.fromBytes(d.subarray(0,t.BYTES)),b=t.fromBytes(d.subarray(t.BYTES,2*t.BYTES));return{x:m,y:b}});function i(g){let{a:d,b:m}=e,b=t.sqr(g),v=t.mul(b,g);return t.add(t.add(v,t.mul(g,d)),m)}if(!t.eql(t.sqr(e.Gy),i(e.Gx)))throw new Error("bad generator point: equation left != right");function o(g){return Us(g,fe,e.n)}function a(g){let{allowedPrivateKeyLengths:d,nByteLength:m,wrapPrivateKey:b,n:v}=e;if(d&&typeof g!="bigint"){if(_t(g)&&(g=ut(g)),typeof g!="string"||!d.includes(g.length))throw new Error("Invalid key");g=g.padStart(m*2,"0")}let E;try{E=typeof g=="bigint"?g:ht(te("private key",g,m))}catch{throw new Error(`private key must be ${m} bytes, hex or bigint, not ${typeof g}`)}return b&&(E=q(E,v)),Pe("private key",E,fe,v),E}function c(g){if(!(g instanceof u))throw new Error("ProjectivePoint expected")}let f=qt((g,d)=>{let{px:m,py:b,pz:v}=g;if(t.eql(v,t.ONE))return{x:m,y:b};let E=g.is0();d==null&&(d=E?t.ONE:t.inv(v));let A=t.mul(m,d),w=t.mul(b,d),S=t.mul(v,d);if(E)return{x:t.ZERO,y:t.ZERO};if(!t.eql(S,t.ONE))throw new Error("invZ was invalid");return{x:A,y:w}}),l=qt(g=>{if(g.is0()){if(e.allowInfinityPoint&&!t.is0(g.py))return;throw new Error("bad point: ZERO")}let{x:d,y:m}=g.toAffine();if(!t.isValid(d)||!t.isValid(m))throw new Error("bad point: x or y not FE");let b=t.sqr(m),v=i(d);if(!t.eql(b,v))throw new Error("bad point: equation left != right");if(!g.isTorsionFree())throw new Error("bad point: not in prime-order subgroup");return!0});class u{constructor(d,m,b){if(this.px=d,this.py=m,this.pz=b,d==null||!t.isValid(d))throw new Error("x required");if(m==null||!t.isValid(m))throw new Error("y required");if(b==null||!t.isValid(b))throw new Error("z required");Object.freeze(this)}static fromAffine(d){let{x:m,y:b}=d||{};if(!d||!t.isValid(m)||!t.isValid(b))throw new Error("invalid affine point");if(d instanceof u)throw new Error("projective point not allowed");let v=E=>t.eql(E,t.ZERO);return v(m)&&v(b)?u.ZERO:new u(m,b,t.ONE)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static normalizeZ(d){let m=t.invertBatch(d.map(b=>b.pz));return d.map((b,v)=>b.toAffine(m[v])).map(u.fromAffine)}static fromHex(d){let m=u.fromAffine(n(te("pointHex",d)));return m.assertValidity(),m}static fromPrivateKey(d){return u.BASE.multiply(a(d))}_setWindowSize(d){p.setWindowSize(this,d)}assertValidity(){l(this)}hasEvenY(){let{y:d}=this.toAffine();if(t.isOdd)return!t.isOdd(d);throw new Error("Field doesn't support isOdd")}equals(d){c(d);let{px:m,py:b,pz:v}=this,{px:E,py:A,pz:w}=d,S=t.eql(t.mul(m,w),t.mul(E,v)),B=t.eql(t.mul(b,w),t.mul(A,v));return S&&B}negate(){return new u(this.px,t.neg(this.py),this.pz)}double(){let{a:d,b:m}=e,b=t.mul(m,Wc),{px:v,py:E,pz:A}=this,w=t.ZERO,S=t.ZERO,B=t.ZERO,I=t.mul(v,v),M=t.mul(E,E),D=t.mul(A,A),U=t.mul(v,E);return U=t.add(U,U),B=t.mul(v,A),B=t.add(B,B),w=t.mul(d,B),S=t.mul(b,D),S=t.add(w,S),w=t.sub(M,S),S=t.add(M,S),S=t.mul(w,S),w=t.mul(U,w),B=t.mul(b,B),D=t.mul(d,D),U=t.sub(I,D),U=t.mul(d,U),U=t.add(U,B),B=t.add(I,I),I=t.add(B,I),I=t.add(I,D),I=t.mul(I,U),S=t.add(S,I),D=t.mul(E,A),D=t.add(D,D),I=t.mul(D,U),w=t.sub(w,I),B=t.mul(D,M),B=t.add(B,B),B=t.add(B,B),new u(w,S,B)}add(d){c(d);let{px:m,py:b,pz:v}=this,{px:E,py:A,pz:w}=d,S=t.ZERO,B=t.ZERO,I=t.ZERO,M=e.a,D=t.mul(e.b,Wc),U=t.mul(m,E),re=t.mul(b,A),oe=t.mul(v,w),P=t.add(m,b),x=t.add(E,A);P=t.mul(P,x),x=t.add(U,re),P=t.sub(P,x),x=t.add(m,v);let y=t.add(E,w);return x=t.mul(x,y),y=t.add(U,oe),x=t.sub(x,y),y=t.add(b,v),S=t.add(A,w),y=t.mul(y,S),S=t.add(re,oe),y=t.sub(y,S),I=t.mul(M,x),S=t.mul(D,oe),I=t.add(S,I),S=t.sub(re,I),I=t.add(re,I),B=t.mul(S,I),re=t.add(U,U),re=t.add(re,U),oe=t.mul(M,oe),x=t.mul(D,x),re=t.add(re,oe),oe=t.sub(U,oe),oe=t.mul(M,oe),x=t.add(x,oe),U=t.mul(re,x),B=t.add(B,U),U=t.mul(y,x),S=t.mul(P,S),S=t.sub(S,U),U=t.mul(P,re),I=t.mul(y,I),I=t.add(I,U),new u(S,B,I)}subtract(d){return this.add(d.negate())}is0(){return this.equals(u.ZERO)}wNAF(d){return p.wNAFCached(this,d,u.normalizeZ)}multiplyUnsafe(d){Pe("scalar",d,Ut,e.n);let m=u.ZERO;if(d===Ut)return m;if(d===fe)return this;let{endo:b}=e;if(!b)return p.unsafeLadder(this,d);let{k1neg:v,k1:E,k2neg:A,k2:w}=b.splitScalar(d),S=m,B=m,I=this;for(;E>Ut||w>Ut;)E&fe&&(S=S.add(I)),w&fe&&(B=B.add(I)),I=I.double(),E>>=fe,w>>=fe;return v&&(S=S.negate()),A&&(B=B.negate()),B=new u(t.mul(B.px,b.beta),B.py,B.pz),S.add(B)}multiply(d){let{endo:m,n:b}=e;Pe("scalar",d,fe,b);let v,E;if(m){let{k1neg:A,k1:w,k2neg:S,k2:B}=m.splitScalar(d),{p:I,f:M}=this.wNAF(w),{p:D,f:U}=this.wNAF(B);I=p.constTimeNegate(A,I),D=p.constTimeNegate(S,D),D=new u(t.mul(D.px,m.beta),D.py,D.pz),v=I.add(D),E=M.add(U)}else{let{p:A,f:w}=this.wNAF(d);v=A,E=w}return u.normalizeZ([v,E])[0]}multiplyAndAddUnsafe(d,m,b){let v=u.BASE,E=(w,S)=>S===Ut||S===fe||!w.equals(v)?w.multiplyUnsafe(S):w.multiply(S),A=E(this,m).add(E(d,b));return A.is0()?void 0:A}toAffine(d){return f(this,d)}isTorsionFree(){let{h:d,isTorsionFree:m}=e;if(d===fe)return!0;if(m)return m(u,this);throw new Error("isTorsionFree() has not been declared for the elliptic curve")}clearCofactor(){let{h:d,clearCofactor:m}=e;return d===fe?this:m?m(u,this):this.multiplyUnsafe(e.h)}toRawBytes(d=!0){return We("isCompressed",d),this.assertValidity(),r(u,this,d)}toHex(d=!0){return We("isCompressed",d),ut(this.toRawBytes(d))}}u.BASE=new u(e.Gx,e.Gy,t.ONE),u.ZERO=new u(t.ZERO,t.ONE,t.ZERO);let h=e.nBitLength,p=xr(u,e.endo?Math.ceil(h/2):h);return{CURVE:e,ProjectivePoint:u,normPrivateKeyToScalar:a,weierstrassEquation:i,isWithinCurveOrder:o}}function Xf(s){let e=Vs(s);return Qe(e,{hash:"hash",hmac:"function",randomBytes:"function"},{bits2int:"function",bits2int_modN:"function",lowS:"boolean"}),Object.freeze({lowS:!0,...e})}function $c(s){let e=Xf(s),{Fp:t,n:r}=e,n=t.BYTES+1,i=2*t.BYTES+1;function o(P){return q(P,r)}function a(P){return wr(P,r)}let{ProjectivePoint:c,normPrivateKeyToScalar:f,weierstrassEquation:l,isWithinCurveOrder:u}=Jf({...e,toBytes(P,x,y){let _=x.toAffine(),k=t.toBytes(_.x),C=ft;return We("isCompressed",y),y?C(Uint8Array.from([x.hasEvenY()?2:3]),k):C(Uint8Array.from([4]),k,t.toBytes(_.y))},fromBytes(P){let x=P.length,y=P[0],_=P.subarray(1);if(x===n&&(y===2||y===3)){let k=ht(_);if(!Us(k,fe,t.ORDER))throw new Error("Point is not on curve");let C=l(k),R;try{R=t.sqrt(C)}catch(F){let H=F instanceof Error?": "+F.message:"";throw new Error("Point is not on curve"+H)}let N=(R&fe)===fe;return(y&1)===1!==N&&(R=t.neg(R)),{x:k,y:R}}else if(x===i&&y===4){let k=t.fromBytes(_.subarray(0,t.BYTES)),C=t.fromBytes(_.subarray(t.BYTES,2*t.BYTES));return{x:k,y:C}}else throw new Error(`Point of length ${x} was invalid. Expected ${n} compressed bytes or ${i} uncompressed bytes`)}}),h=P=>ut(kt(P,e.nByteLength));function p(P){let x=r>>fe;return P>x}function g(P){return p(P)?o(-P):P}let d=(P,x,y)=>ht(P.slice(x,y));class m{constructor(x,y,_){this.r=x,this.s=y,this.recovery=_,this.assertValidity()}static fromCompact(x){let y=e.nByteLength;return x=te("compactSignature",x,y*2),new m(d(x,0,y),d(x,y,2*y))}static fromDER(x){let{r:y,s:_}=Xt.toSig(te("DER",x));return new m(y,_)}assertValidity(){Pe("r",this.r,fe,r),Pe("s",this.s,fe,r)}addRecoveryBit(x){return new m(this.r,this.s,x)}recoverPublicKey(x){let{r:y,s:_,recovery:k}=this,C=S(te("msgHash",x));if(k==null||![0,1,2,3].includes(k))throw new Error("recovery id invalid");let R=k===2||k===3?y+e.n:y;if(R>=t.ORDER)throw new Error("recovery id 2 or 3 invalid");let N=k&1?"03":"02",O=c.fromHex(N+h(R)),F=a(R),H=o(-C*F),X=o(_*F),Y=c.BASE.multiplyAndAddUnsafe(O,H,X);if(!Y)throw new Error("point at infinify");return Y.assertValidity(),Y}hasHighS(){return p(this.s)}normalizeS(){return this.hasHighS()?new m(this.r,o(-this.s),this.recovery):this}toDERRawBytes(){return Gt(this.toDERHex())}toDERHex(){return Xt.hexFromSig({r:this.r,s:this.s})}toCompactRawBytes(){return Gt(this.toCompactHex())}toCompactHex(){return h(this.r)+h(this.s)}}let b={isValidPrivateKey(P){try{return f(P),!0}catch{return!1}},normPrivateKeyToScalar:f,randomPrivateKey:()=>{let P=mi(e.n);return va(e.randomBytes(P),e.n)},precompute(P=8,x=c.BASE){return x._setWindowSize(P),x.multiply(BigInt(3)),x}};function v(P,x=!0){return c.fromPrivateKey(P).toRawBytes(x)}function E(P){let x=_t(P),y=typeof P=="string",_=(x||y)&&P.length;return x?_===n||_===i:y?_===2*n||_===2*i:P instanceof c}function A(P,x,y=!0){if(E(P))throw new Error("first arg must be private key");if(!E(x))throw new Error("second arg must be public key");return c.fromHex(x).multiply(f(P)).toRawBytes(y)}let w=e.bits2int||function(P){let x=ht(P),y=P.length*8-e.nBitLength;return y>0?x>>BigInt(y):x},S=e.bits2int_modN||function(P){return o(w(P))},B=Fs(e.nBitLength);function I(P){return Pe(`num < 2^${e.nBitLength}`,P,Ut,B),kt(P,e.nByteLength)}function M(P,x,y=D){if(["recovered","canonical"].some(le=>le in y))throw new Error("sign() legacy options not supported");let{hash:_,randomBytes:k}=e,{lowS:C,prehash:R,extraEntropy:N}=y;C==null&&(C=!0),P=te("msgHash",P),qc(y),R&&(P=te("prehashed msgHash",_(P)));let O=S(P),F=f(x),H=[I(F),I(O)];if(N!=null&&N!==!1){let le=N===!0?k(t.BYTES):N;H.push(te("extraEntropy",le))}let X=ft(...H),Y=O;function ke(le){let ae=w(le);if(!u(ae))return;let He=a(ae),ue=c.BASE.multiply(ae).toAffine(),Ke=o(ue.x);if(Ke===Ut)return;let Ot=o(He*o(Y+Ke*F));if(Ot===Ut)return;let Cs=(ue.x===Ke?0:2)|Number(ue.y&fe),cr=Ot;return C&&p(Ot)&&(cr=g(Ot),Cs^=1),new m(Ke,cr,Cs)}return{seed:X,k2sig:ke}}let D={lowS:e.lowS,prehash:!1},U={lowS:e.lowS,prehash:!1};function re(P,x,y=D){let{seed:_,k2sig:k}=M(P,x,y),C=e;return fi(C.hash.outputLen,C.nByteLength,C.hmac)(_,k)}c.BASE._setWindowSize(8);function oe(P,x,y,_=U){let k=P;if(x=te("msgHash",x),y=te("publicKey",y),"strict"in _)throw new Error("options.strict was renamed to lowS");qc(_);let{lowS:C,prehash:R}=_,N,O;try{if(typeof k=="string"||_t(k))try{N=m.fromDER(k)}catch(ue){if(!(ue instanceof Xt.Err))throw ue;N=m.fromCompact(k)}else if(typeof k=="object"&&typeof k.r=="bigint"&&typeof k.s=="bigint"){let{r:ue,s:Ke}=k;N=new m(ue,Ke)}else throw new Error("PARSE");O=c.fromHex(y)}catch(ue){if(ue.message==="PARSE")throw new Error("signature must be Signature instance, Uint8Array or hex string");return!1}if(C&&N.hasHighS())return!1;R&&(x=e.hash(x));let{r:F,s:H}=N,X=S(x),Y=a(H),ke=o(X*Y),le=o(F*Y),ae=c.BASE.multiplyAndAddUnsafe(O,ke,le)?.toAffine();return ae?o(ae.x)===F:!1}return{CURVE:e,getPublicKey:v,getSharedSecret:A,sign:re,verify:oe,ProjectivePoint:c,Signature:m,utils:b}}function Yf(s){return{hash:s,hmac:(e,...t)=>zs(s,e,ii(...t)),randomBytes:fs}}function jc(s,e){let t=r=>$c({...s,...Yf(r)});return Object.freeze({...t(e),create:t})}var Xc=BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"),Zc=BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),Qf=BigInt(1),bo=BigInt(2),Jc=(s,e)=>(s+e/bo)/e;function ed(s){let e=Xc,t=BigInt(3),r=BigInt(6),n=BigInt(11),i=BigInt(22),o=BigInt(23),a=BigInt(44),c=BigInt(88),f=s*s*s%e,l=f*f*s%e,u=J(l,t,e)*l%e,h=J(u,t,e)*l%e,p=J(h,bo,e)*f%e,g=J(p,n,e)*p%e,d=J(g,i,e)*g%e,m=J(d,a,e)*d%e,b=J(m,c,e)*m%e,v=J(b,a,e)*d%e,E=J(v,t,e)*l%e,A=J(E,o,e)*g%e,w=J(A,r,e)*f%e,S=J(w,bo,e);if(!yo.eql(yo.sqr(S),s))throw new Error("Cannot find square root");return S}var yo=vr(Xc,void 0,void 0,{sqrt:ed}),Yt=jc({a:BigInt(0),b:BigInt(7),Fp:yo,n:Zc,Gx:BigInt("55066263022277343669578718895168534326250603453777594175500187360389116729240"),Gy:BigInt("32670510020758816978083085130507043184471273380659243275938904335757337482424"),h:BigInt(1),lowS:!0,endo:{beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee"),splitScalar:s=>{let e=Zc,t=BigInt("0x3086d221a7d46bcde86c90e49284eb15"),r=-Qf*BigInt("0xe4437ed6010e88286f547fa90abfe4c3"),n=BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"),i=t,o=BigInt("0x100000000000000000000000000000000"),a=Jc(i*s,e),c=Jc(-r*s,e),f=q(s-a*t-c*n,e),l=q(-a*r-c*i,e),u=f>o,h=l>o;if(u&&(f=e-f),h&&(l=e-l),f>o||l>o)throw new Error("splitScalar: Endomorphism failed, k="+s);return{k1neg:u,k1:f,k2neg:h,k2:l}}}},bs),db=BigInt(0);var pb=Yt.ProjectivePoint;function Yc(s){return s==null?!1:typeof s.then=="function"&&typeof s.catch=="function"&&typeof s.finally=="function"}function Qc(s,e,t){let r=Pt.digest(t instanceof Uint8Array?t:t.subarray());if(Yc(r))return r.then(({digest:n})=>Yt.verify(e,n,s)).catch(n=>{throw new Hs(String(n))});try{return Yt.verify(e,r.digest,s)}catch(n){throw new Hs(String(n))}}var En=class{type="secp256k1";raw;_key;constructor(e){this._key=tl(e),this.raw=el(this._key)}toMultihash(){return ct.digest(Tt(this))}toCID(){return Te.createV1(114,this.toMultihash())}toString(){return se.encode(this.toMultihash().bytes).substring(1)}equals(e){return e==null||!(e.raw instanceof Uint8Array)?!1:Fe(this.raw,e.raw)}verify(e,t){return Qc(this._key,t,e)}};function wo(s){return new En(s)}function el(s){return Yt.ProjectivePoint.fromHex(s).toRawBytes(!0)}function tl(s){try{return Yt.ProjectivePoint.fromHex(s),s}catch(e){throw new ts(String(e))}}function sr(s){let{Type:e,Data:t}=tt.decode(s),r=t??new Uint8Array;switch(e){case ne.RSA:return mo(r);case ne.Ed25519:return Ni(r);case ne.secp256k1:return wo(r);default:throw new ss}}function sl(s){let{Type:e,Data:t}=tt.decode(s.digest),r=t??new Uint8Array;switch(e){case ne.Ed25519:return Ni(r);case ne.secp256k1:return wo(r);default:throw new ss}}function Tt(s){return tt.encode({Type:ne[s.type],Data:s.raw})}function zc(s){return Pr.encode({Type:ne[s.type],Data:s.raw})}var rl=Symbol.for("nodejs.util.inspect.custom"),td=114,rr=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()})`}[Zn]=!0;toString(){return this.string==null&&(this.string=se.encode(this.multihash.bytes).slice(1)),this.string}toMultihash(){return this.multihash}toCID(){return Te.createV1(td,this.multihash)}toBytes(){return this.multihash.bytes}toJSON(){return this.toString()}equals(e){if(e==null)return!1;if(e instanceof Uint8Array)return Fe(this.multihash.bytes,e);if(typeof e=="string")return this.toString()===e;if(e?.toMultihash()?.bytes!=null)return Fe(this.multihash.bytes,e.toMultihash().bytes);throw new Error("not valid Id")}[rl](){return`PeerId(${this.toString()})`}},Sn=class extends rr{type="RSA";publicKey;constructor(e){super({...e,type:"RSA"}),this.publicKey=e.publicKey}},Bn=class extends rr{type="Ed25519";publicKey;constructor(e){super({...e,type:"Ed25519"}),this.publicKey=e.publicKey}},In=class extends rr{type="secp256k1";publicKey;constructor(e){super({...e,type:"secp256k1"}),this.publicKey=e.publicKey}},sd=2336,_n=class{type="url";multihash;publicKey;url;constructor(e){this.url=e.toString(),this.multihash=ct.digest(W(this.url))}[rl](){return`PeerId(${this.url})`}[Zn]=!0;toString(){return this.toCID().toString()}toMultihash(){return this.multihash}toCID(){return Te.createV1(sd,this.toMultihash())}toBytes(){return this.toCID().bytes}toJSON(){return this.toString()}equals(e){return e==null?!1:(e instanceof Uint8Array&&(e=z(e)),e.toString()===this.toString())}};function Ft(s,e){let t;if(s.charAt(0)==="1"||s.charAt(0)==="Q")t=ze(se.decode(`z${s}`));else{if(e==null)throw new j('Please pass a multibase decoder for strings that do not start with "1" or "Q"');t=ze(e.decode(s))}return nr(t)}function nr(s){if(nd(s))return new Sn({multihash:s});if(rd(s))try{let e=sl(s);if(e.type==="Ed25519")return new Bn({multihash:s,publicKey:e});if(e.type==="secp256k1")return new In({multihash:s,publicKey:e})}catch{let t=z(s.digest);return new _n(new URL(t))}throw new ur("Supplied PeerID Multihash is invalid")}function rd(s){return s.code===ct.code}function nd(s){return s.code===Pt.code}var il=Symbol.for("@achingbrain/uint8arraylist");function nl(s,e){if(e==null||e<0)throw new RangeError("index is out of bounds");let t=0;for(let r of s){let n=t+r.byteLength;if(e0&&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 r of e)if(r instanceof Uint8Array)t+=r.byteLength,this.bufs.push(r);else if(An(r))t+=r.byteLength,this.bufs.push(...r.bufs);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 r of e.reverse())if(r instanceof Uint8Array)t+=r.byteLength,this.bufs.unshift(r);else if(An(r))t+=r.byteLength,this.bufs.unshift(...r.bufs);else throw new Error("Could not prepend value, must be an Uint8Array or a Uint8ArrayList");this.length+=t}get(e){let t=nl(this.bufs,e);return t.buf[t.index]}set(e,t){let r=nl(this.bufs,e);r.buf[r.index]=t}write(e,t=0){if(e instanceof Uint8Array)for(let r=0;r0;)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:r,length:n}=this._subList(e,t);return et(r,n)}subarray(e,t){let{bufs:r,length:n}=this._subList(e,t);return r.length===1?r[0]:et(r,n)}sublist(e,t){let{bufs:r,length:n}=this._subList(e,t),i=new s;return i.length=n,i.bufs=[...r],i}_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 r=[],n=0;for(let i=0;i=c)continue;let f=e>=a&&ea&&t<=c;if(f&&l){if(e===a&&t===c){r.push(o);break}let u=e-a;r.push(o.subarray(u,u+(t-e)));break}if(f){if(e===0){r.push(o);continue}r.push(o.subarray(e-a));continue}if(l){if(t===c){r.push(o);break}r.push(o.subarray(0,t-a));break}r.push(o)}return{bufs:r,length:t-e}}indexOf(e,t=0){if(!An(e)&&!(e instanceof Uint8Array))throw new TypeError('The "value" argument must be a Uint8ArrayList or Uint8Array');let r=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 n=r.byteLength;if(n===0)throw new TypeError("search must be at least 1 byte long");let i=256,o=new Int32Array(i);for(let u=0;u=0;h--){let p=this.get(u+h);if(r[h]!==p){l=Math.max(1,h-a[p]);break}}if(l===0)return u}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 r=pe(1);new DataView(r.buffer,r.byteOffset,r.byteLength).setInt8(0,t),this.write(r,e)}getInt16(e,t){let r=this.subarray(e,e+2);return new DataView(r.buffer,r.byteOffset,r.byteLength).getInt16(0,t)}setInt16(e,t,r){let n=dt(2);new DataView(n.buffer,n.byteOffset,n.byteLength).setInt16(0,t,r),this.write(n,e)}getInt32(e,t){let r=this.subarray(e,e+4);return new DataView(r.buffer,r.byteOffset,r.byteLength).getInt32(0,t)}setInt32(e,t,r){let n=dt(4);new DataView(n.buffer,n.byteOffset,n.byteLength).setInt32(0,t,r),this.write(n,e)}getBigInt64(e,t){let r=this.subarray(e,e+8);return new DataView(r.buffer,r.byteOffset,r.byteLength).getBigInt64(0,t)}setBigInt64(e,t,r){let n=dt(8);new DataView(n.buffer,n.byteOffset,n.byteLength).setBigInt64(0,t,r),this.write(n,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 r=pe(1);new DataView(r.buffer,r.byteOffset,r.byteLength).setUint8(0,t),this.write(r,e)}getUint16(e,t){let r=this.subarray(e,e+2);return new DataView(r.buffer,r.byteOffset,r.byteLength).getUint16(0,t)}setUint16(e,t,r){let n=dt(2);new DataView(n.buffer,n.byteOffset,n.byteLength).setUint16(0,t,r),this.write(n,e)}getUint32(e,t){let r=this.subarray(e,e+4);return new DataView(r.buffer,r.byteOffset,r.byteLength).getUint32(0,t)}setUint32(e,t,r){let n=dt(4);new DataView(n.buffer,n.byteOffset,n.byteLength).setUint32(0,t,r),this.write(n,e)}getBigUint64(e,t){let r=this.subarray(e,e+8);return new DataView(r.buffer,r.byteOffset,r.byteLength).getBigUint64(0,t)}setBigUint64(e,t,r){let n=dt(8);new DataView(n.buffer,n.byteOffset,n.byteLength).setBigUint64(0,t,r),this.write(n,e)}getFloat32(e,t){let r=this.subarray(e,e+4);return new DataView(r.buffer,r.byteOffset,r.byteLength).getFloat32(0,t)}setFloat32(e,t,r){let n=dt(4);new DataView(n.buffer,n.byteOffset,n.byteLength).setFloat32(0,t,r),this.write(n,e)}getFloat64(e,t){let r=this.subarray(e,e+8);return new DataView(r.buffer,r.byteOffset,r.byteLength).getFloat64(0,t)}setFloat64(e,t,r){let n=dt(8);new DataView(n.buffer,n.byteOffset,n.byteLength).setFloat64(0,t,r),this.write(n,e)}equals(e){if(e==null||!(e instanceof s)||e.bufs.length!==this.bufs.length)return!1;for(let t=0;tn+i.byteLength,0)),r.length=t,r}};function kn(s){return s[Symbol.asyncIterator]!=null}var Tn=s=>{let e=Se(s),t=pe(e);return Ki(s,t),Tn.bytes=e,t};Tn.bytes=0;function Bs(s,e){e=e??{};let t=e.lengthEncoder??Tn;function*r(n){let i=t(n.byteLength);i instanceof Uint8Array?yield i:yield*i,n instanceof Uint8Array?yield n:yield*n}return kn(s)?async function*(){for await(let n of s)yield*r(n)}():function*(){for(let n of s)yield*r(n)}()}Bs.single=(s,e)=>{e=e??{};let t=e.lengthEncoder??Tn;return new Ss(t(s.byteLength),s)};var Pn=class extends Error{name="InvalidMessageLengthError";code="ERR_INVALID_MSG_LENGTH"},Mn=class extends Error{name="InvalidDataLengthError";code="ERR_MSG_DATA_TOO_LONG"},Cn=class extends Error{name="InvalidDataLengthLengthError";code="ERR_MSG_LENGTH_TOO_LONG"},ir=class extends Error{name="UnexpectedEOFError";code="ERR_UNEXPECTED_EOF"};var id=8,od=1024*1024*4,Qt;(function(s){s[s.LENGTH=0]="LENGTH",s[s.DATA=1]="DATA"})(Qt||(Qt={}));var vo=s=>{let e=gs(s);return vo.bytes=Se(e),e};vo.bytes=0;function or(s,e){let t=new Ss,r=Qt.LENGTH,n=-1,i=e?.lengthDecoder??vo,o=e?.maxLengthLength??id,a=e?.maxDataLength??od;function*c(){for(;t.byteLength>0;){if(r===Qt.LENGTH)try{if(n=i(t),n<0)throw new Pn("Invalid message length");if(n>a)throw new Mn("Message length too long");let f=i.bytes;t.consume(f),e?.onLength!=null&&e.onLength(n),r=Qt.DATA}catch(f){if(f instanceof RangeError){if(t.byteLength>o)throw new Cn("Message length length too long");break}throw f}if(r===Qt.DATA){if(t.byteLength0)throw new ir("Unexpected end of input")}():function*(){for(let f of s)t.append(f),yield*c();if(t.byteLength>0)throw new ir("Unexpected end of input")}()}or.fromReader=(s,e)=>{let t=1,r=async function*(){for(;;)try{let{done:i,value:o}=await s.next(t);if(i===!0)return;o!=null&&(yield o)}catch(i){if(i.code==="ERR_UNDER_READ")return{done:!0,value:null};throw i}finally{t=1}}();return or(r,{...e??{},onLength:i=>{t=i}})};function Dn(){let s={};return s.promise=new Promise((e,t)=>{s.resolve=e,s.reject=t}),s}var Rn=class{buffer;mask;top;btm;next;constructor(e){if(!(e>0)||e-1&e)throw new Error("Max size for a FixedFIFO should be a power of two");this.buffer=new Array(e),this.mask=e-1,this.top=0,this.btm=0,this.next=null}push(e){return this.buffer[this.top]!==void 0?!1:(this.buffer[this.top]=e,this.top=this.top+1&this.mask,!0)}shift(){let e=this.buffer[this.btm];if(e!==void 0)return this.buffer[this.btm]=void 0,this.btm=this.btm+1&this.mask,e}isEmpty(){return this.buffer[this.btm]===void 0}},Is=class{size;hwm;head;tail;constructor(e={}){this.hwm=e.splitLimit??16,this.head=new Rn(this.hwm),this.tail=this.head,this.size=0}calculateSize(e){return e?.byteLength!=null?e.byteLength:1}push(e){if(e?.value!=null&&(this.size+=this.calculateSize(e.value)),!this.head.push(e)){let t=this.head;this.head=t.next=new Rn(2*this.head.buffer.length),this.head.push(e)}}shift(){let e=this.tail.shift();if(e===void 0&&this.tail.next!=null){let t=this.tail.next;this.tail.next=null,this.tail=t,e=this.tail.shift()}return e?.value!=null&&(this.size-=this.calculateSize(e.value)),e}isEmpty(){return this.head.isEmpty()}};var xo=class extends Error{type;code;constructor(e,t){super(e??"The operation was aborted"),this.type="aborted",this.code=t??"ABORT_ERR"}};function vt(s={}){return ad(t=>{let r=t.shift();if(r==null)return{done:!0};if(r.error!=null)throw r.error;return{done:r.done===!0,value:r.value}},s)}function ad(s,e){e=e??{};let t=e.onEnd,r=new Is,n,i,o,a=Dn(),c=async()=>{try{return r.isEmpty()?o?{done:!0}:await new Promise((m,b)=>{i=v=>{i=null,r.push(v);try{m(s(r))}catch(E){b(E)}return n}}):s(r)}finally{r.isEmpty()&&queueMicrotask(()=>{a.resolve(),a=Dn()})}},f=m=>i!=null?i(m):(r.push(m),n),l=m=>(r=new Is,i!=null?i({error:m}):(r.push({error:m}),n)),u=m=>{if(o)return n;if(e?.objectMode!==!0&&m?.byteLength==null)throw new Error("objectMode was not true but tried to push non-Uint8Array value");return f({done:!1,value:m})},h=m=>o?n:(o=!0,m!=null?l(m):f({done:!0})),p=()=>(r=new Is,h(),{done:!0}),g=m=>(h(m),{done:!0});if(n={[Symbol.asyncIterator](){return this},next:c,return:p,throw:g,push:u,end:h,get readableLength(){return r.size},onEmpty:async m=>{let b=m?.signal;if(b?.throwIfAborted(),r.isEmpty())return;let v,E;b!=null&&(v=new Promise((A,w)=>{E=()=>{w(new xo)},b.addEventListener("abort",E)}));try{await Promise.race([a.promise,v])}finally{E!=null&&b!=null&&b?.removeEventListener("abort",E)}}},t==null)return n;let d=n;return n={[Symbol.asyncIterator](){return this},next(){return d.next()},throw(m){return d.throw(m),t!=null&&(t(m),t=void 0),{done:!0}},return(){return d.return(),t!=null&&(t(),t=void 0),{done:!0}},push:u,end(m){return d.end(m),t!=null&&(t(m),t=void 0),n},get readableLength(){return d.readableLength},onEmpty:m=>d.onEmpty(m)},n}function cd(s){return s[Symbol.asyncIterator]!=null}function ld(...s){let e=[];for(let t of s)cd(t)||e.push(t);return e.length===s.length?function*(){for(let t of e)yield*t}():async function*(){let t=vt({objectMode:!0});Promise.resolve().then(async()=>{try{await Promise.all(s.map(async r=>{for await(let n of r)t.push(n)})),t.end()}catch(r){t.end(r)}}),yield*t}()}var ol=ld;function _s(s,...e){if(s==null)throw new Error("Empty pipeline");if(Eo(s)){let r=s;s=()=>r.source}else if(cl(s)||al(s)){let r=s;s=()=>r}let t=[s,...e];if(t.length>1&&Eo(t[t.length-1])&&(t[t.length-1]=t[t.length-1].sink),t.length>2)for(let r=1;r{let e;for(;s.length>0;)e=s.shift()(e);return e},al=s=>s?.[Symbol.asyncIterator]!=null,cl=s=>s?.[Symbol.iterator]!=null,Eo=s=>s==null?!1:s.sink!=null&&s.source!=null,hd=s=>e=>{let t=s.sink(e);if(t?.then!=null){let r=vt({objectMode:!0});t.then(()=>{r.end()},o=>{r.end(o)});let n,i=s.source;if(al(i))n=async function*(){yield*i,r.end()};else if(cl(i))n=function*(){yield*i,r.end()};else throw new Error("Unknown duplex source type - must be Iterable or AsyncIterable");return ol(r,n())}return s.source};var So="/floodsub/1.0.0",Bo="/meshsub/1.0.0",Nn="/meshsub/1.1.0";var ll="ERR_TOPIC_VALIDATOR_REJECT",ul="ERR_TOPIC_VALIDATOR_IGNORE";var hl={maxSubscriptions:1/0,maxMessages:1/0,maxIhaveMessageIDs:1/0,maxIwantMessageIDs:1/0,maxControlMessages:1/0,maxPeerInfos:1/0};var xt;(function(s){let e;(function(l){let u;l.codec=()=>(u==null&&(u=Re((h,p,g={})=>{g.lengthDelimited!==!1&&p.fork(),h.subscribe!=null&&(p.uint32(8),p.bool(h.subscribe)),h.topic!=null&&(p.uint32(18),p.string(h.topic)),g.lengthDelimited!==!1&&p.ldelim()},(h,p,g={})=>{let d={},m=p==null?h.len:h.pos+p;for(;h.pos>>3){case 1:{d.subscribe=h.bool();break}case 2:{d.topic=h.string();break}default:{h.skipType(b&7);break}}}return d})),u),l.encode=h=>De(h,l.codec()),l.decode=(h,p)=>Ce(h,l.codec(),p)})(e=s.SubOpts||(s.SubOpts={}));let t;(function(l){let u;l.codec=()=>(u==null&&(u=Re((h,p,g={})=>{g.lengthDelimited!==!1&&p.fork(),h.from!=null&&(p.uint32(10),p.bytes(h.from)),h.data!=null&&(p.uint32(18),p.bytes(h.data)),h.seqno!=null&&(p.uint32(26),p.bytes(h.seqno)),h.topic!=null&&h.topic!==""&&(p.uint32(34),p.string(h.topic)),h.signature!=null&&(p.uint32(42),p.bytes(h.signature)),h.key!=null&&(p.uint32(50),p.bytes(h.key)),g.lengthDelimited!==!1&&p.ldelim()},(h,p,g={})=>{let d={topic:""},m=p==null?h.len:h.pos+p;for(;h.pos>>3){case 1:{d.from=h.bytes();break}case 2:{d.data=h.bytes();break}case 3:{d.seqno=h.bytes();break}case 4:{d.topic=h.string();break}case 5:{d.signature=h.bytes();break}case 6:{d.key=h.bytes();break}default:{h.skipType(b&7);break}}}return d})),u),l.encode=h=>De(h,l.codec()),l.decode=(h,p)=>Ce(h,l.codec(),p)})(t=s.Message||(s.Message={}));let r;(function(l){let u;l.codec=()=>(u==null&&(u=Re((h,p,g={})=>{if(g.lengthDelimited!==!1&&p.fork(),h.ihave!=null)for(let d of h.ihave)p.uint32(10),s.ControlIHave.codec().encode(d,p);if(h.iwant!=null)for(let d of h.iwant)p.uint32(18),s.ControlIWant.codec().encode(d,p);if(h.graft!=null)for(let d of h.graft)p.uint32(26),s.ControlGraft.codec().encode(d,p);if(h.prune!=null)for(let d of h.prune)p.uint32(34),s.ControlPrune.codec().encode(d,p);g.lengthDelimited!==!1&&p.ldelim()},(h,p,g={})=>{let d={ihave:[],iwant:[],graft:[],prune:[]},m=p==null?h.len:h.pos+p;for(;h.pos>>3){case 1:{if(g.limits?.ihave!=null&&d.ihave.length===g.limits.ihave)throw new Ve('decode error - map field "ihave" had too many elements',"ERR_MAX_LENGTH");d.ihave.push(s.ControlIHave.codec().decode(h,h.uint32()));break}case 2:{if(g.limits?.iwant!=null&&d.iwant.length===g.limits.iwant)throw new Ve('decode error - map field "iwant" had too many elements',"ERR_MAX_LENGTH");d.iwant.push(s.ControlIWant.codec().decode(h,h.uint32()));break}case 3:{if(g.limits?.graft!=null&&d.graft.length===g.limits.graft)throw new Ve('decode error - map field "graft" had too many elements',"ERR_MAX_LENGTH");d.graft.push(s.ControlGraft.codec().decode(h,h.uint32()));break}case 4:{if(g.limits?.prune!=null&&d.prune.length===g.limits.prune)throw new Ve('decode error - map field "prune" had too many elements',"ERR_MAX_LENGTH");d.prune.push(s.ControlPrune.codec().decode(h,h.uint32()));break}default:{h.skipType(b&7);break}}}return d})),u),l.encode=h=>De(h,l.codec()),l.decode=(h,p)=>Ce(h,l.codec(),p)})(r=s.ControlMessage||(s.ControlMessage={}));let n;(function(l){let u;l.codec=()=>(u==null&&(u=Re((h,p,g={})=>{if(g.lengthDelimited!==!1&&p.fork(),h.topicID!=null&&(p.uint32(10),p.string(h.topicID)),h.messageIDs!=null)for(let d of h.messageIDs)p.uint32(18),p.bytes(d);g.lengthDelimited!==!1&&p.ldelim()},(h,p,g={})=>{let d={messageIDs:[]},m=p==null?h.len:h.pos+p;for(;h.pos>>3){case 1:{d.topicID=h.string();break}case 2:{if(g.limits?.messageIDs!=null&&d.messageIDs.length===g.limits.messageIDs)throw new Ve('decode error - map field "messageIDs" had too many elements',"ERR_MAX_LENGTH");d.messageIDs.push(h.bytes());break}default:{h.skipType(b&7);break}}}return d})),u),l.encode=h=>De(h,l.codec()),l.decode=(h,p)=>Ce(h,l.codec(),p)})(n=s.ControlIHave||(s.ControlIHave={}));let i;(function(l){let u;l.codec=()=>(u==null&&(u=Re((h,p,g={})=>{if(g.lengthDelimited!==!1&&p.fork(),h.messageIDs!=null)for(let d of h.messageIDs)p.uint32(10),p.bytes(d);g.lengthDelimited!==!1&&p.ldelim()},(h,p,g={})=>{let d={messageIDs:[]},m=p==null?h.len:h.pos+p;for(;h.pos>>3){case 1:{if(g.limits?.messageIDs!=null&&d.messageIDs.length===g.limits.messageIDs)throw new Ve('decode error - map field "messageIDs" had too many elements',"ERR_MAX_LENGTH");d.messageIDs.push(h.bytes());break}default:{h.skipType(b&7);break}}}return d})),u),l.encode=h=>De(h,l.codec()),l.decode=(h,p)=>Ce(h,l.codec(),p)})(i=s.ControlIWant||(s.ControlIWant={}));let o;(function(l){let u;l.codec=()=>(u==null&&(u=Re((h,p,g={})=>{g.lengthDelimited!==!1&&p.fork(),h.topicID!=null&&(p.uint32(10),p.string(h.topicID)),g.lengthDelimited!==!1&&p.ldelim()},(h,p,g={})=>{let d={},m=p==null?h.len:h.pos+p;for(;h.pos>>3){case 1:{d.topicID=h.string();break}default:{h.skipType(b&7);break}}}return d})),u),l.encode=h=>De(h,l.codec()),l.decode=(h,p)=>Ce(h,l.codec(),p)})(o=s.ControlGraft||(s.ControlGraft={}));let a;(function(l){let u;l.codec=()=>(u==null&&(u=Re((h,p,g={})=>{if(g.lengthDelimited!==!1&&p.fork(),h.topicID!=null&&(p.uint32(10),p.string(h.topicID)),h.peers!=null)for(let d of h.peers)p.uint32(18),s.PeerInfo.codec().encode(d,p);h.backoff!=null&&(p.uint32(24),p.uint64Number(h.backoff)),g.lengthDelimited!==!1&&p.ldelim()},(h,p,g={})=>{let d={peers:[]},m=p==null?h.len:h.pos+p;for(;h.pos>>3){case 1:{d.topicID=h.string();break}case 2:{if(g.limits?.peers!=null&&d.peers.length===g.limits.peers)throw new Ve('decode error - map field "peers" had too many elements',"ERR_MAX_LENGTH");d.peers.push(s.PeerInfo.codec().decode(h,h.uint32()));break}case 3:{d.backoff=h.uint64Number();break}default:{h.skipType(b&7);break}}}return d})),u),l.encode=h=>De(h,l.codec()),l.decode=(h,p)=>Ce(h,l.codec(),p)})(a=s.ControlPrune||(s.ControlPrune={}));let c;(function(l){let u;l.codec=()=>(u==null&&(u=Re((h,p,g={})=>{g.lengthDelimited!==!1&&p.fork(),h.peerID!=null&&(p.uint32(10),p.bytes(h.peerID)),h.signedPeerRecord!=null&&(p.uint32(18),p.bytes(h.signedPeerRecord)),g.lengthDelimited!==!1&&p.ldelim()},(h,p,g={})=>{let d={},m=p==null?h.len:h.pos+p;for(;h.pos>>3){case 1:{d.peerID=h.bytes();break}case 2:{d.signedPeerRecord=h.bytes();break}default:{h.skipType(b&7);break}}}return d})),u),l.encode=h=>De(h,l.codec()),l.decode=(h,p)=>Ce(h,l.codec(),p)})(c=s.PeerInfo||(s.PeerInfo={}));let f;s.codec=()=>(f==null&&(f=Re((l,u,h={})=>{if(h.lengthDelimited!==!1&&u.fork(),l.subscriptions!=null)for(let p of l.subscriptions)u.uint32(10),s.SubOpts.codec().encode(p,u);if(l.messages!=null)for(let p of l.messages)u.uint32(18),s.Message.codec().encode(p,u);l.control!=null&&(u.uint32(26),s.ControlMessage.codec().encode(l.control,u)),h.lengthDelimited!==!1&&u.ldelim()},(l,u,h={})=>{let p={subscriptions:[],messages:[]},g=u==null?l.len:l.pos+u;for(;l.pos>>3){case 1:{if(h.limits?.subscriptions!=null&&p.subscriptions.length===h.limits.subscriptions)throw new Ve('decode error - map field "subscriptions" had too many elements',"ERR_MAX_LENGTH");p.subscriptions.push(s.SubOpts.codec().decode(l,l.uint32()));break}case 2:{if(h.limits?.messages!=null&&p.messages.length===h.limits.messages)throw new Ve('decode error - map field "messages" had too many elements',"ERR_MAX_LENGTH");p.messages.push(s.Message.codec().decode(l,l.uint32()));break}case 3:{p.control=s.ControlMessage.codec().decode(l,l.uint32());break}default:{l.skipType(d&7);break}}}return p})),f),s.encode=l=>De(l,s.codec()),s.decode=(l,u)=>Ce(l,s.codec(),u)})(xt||(xt={}));var Ln=class{gossip;msgs=new Map;msgIdToStrFn;history=[];notValidatedCount=0;constructor(e,t,r){this.gossip=e,this.msgIdToStrFn=r;for(let n=0;n{if((this.msgs.get(n.msgIdStr)?.validated??!1)&&e.has(n.topic)){let o=t.get(n.topic);o==null&&(o=[],t.set(n.topic,o)),o.push(n.msgId)}});return t}validate(e){let t=this.msgs.get(e);if(t==null)return null;t.validated||this.notValidatedCount--;let{message:r,originatingPeers:n}=t;return t.validated=!0,t.originatingPeers=new Set,{message:r,originatingPeers:n}}shift(){this.history[this.history.length-1].forEach(t=>{let r=this.msgs.get(t.msgIdStr);r!=null&&(this.msgs.delete(t.msgIdStr),r.validated||this.notValidatedCount--)}),this.history.pop(),this.history.unshift([])}remove(e){let t=this.msgs.get(e);return t==null?null:(this.msgs.delete(e),t)}};var fl;(function(s){s.StrictSign="StrictSign",s.StrictNoSign="StrictNoSign"})(fl||(fl={}));var Vt;(function(s){s[s.Signing=0]="Signing",s[s.Anonymous=1]="Anonymous"})(Vt||(Vt={}));var Ie;(function(s){s.Error="error",s.Ignore="ignore",s.Reject="reject",s.Blacklisted="blacklisted"})(Ie||(Ie={}));var ye;(function(s){s.InvalidSignature="invalid_signature",s.InvalidSeqno="invalid_seqno",s.InvalidPeerId="invalid_peerid",s.SignaturePresent="signature_present",s.SeqnoPresent="seqno_present",s.FromPresent="from_present",s.TransformFailed="transform_failed"})(ye||(ye={}));var we;(function(s){s.duplicate="duplicate",s.invalid="invalid",s.valid="valid"})(we||(we={}));function Io(s){switch(s){case xe.Ignore:return Ie.Ignore;case xe.Reject:return Ie.Reject;default:throw new Error("Unreachable")}}var dl;(function(s){s.forward="forward",s.publish="publish"})(dl||(dl={}));var _e;(function(s){s.Fanout="fanout",s.Random="random",s.Subscribed="subscribed",s.Outbound="outbound",s.NotEnough="not_enough",s.Opportunistic="opportunistic"})(_e||(_e={}));var Xe;(function(s){s.Dc="disconnected",s.BadScore="bad_score",s.Prune="prune",s.Excess="excess"})(Xe||(Xe={}));var ks;(function(s){s.GraftBackoff="graft_backoff",s.BrokenPromise="broken_promise",s.MessageDeficit="message_deficit",s.IPColocation="IP_colocation"})(ks||(ks={}));var Ts;(function(s){s.LowScore="low_score",s.MaxIhave="max_ihave",s.MaxIasked="max_iasked"})(Ts||(Ts={}));var As;(function(s){s.graylist="graylist",s.publish="publish",s.gossip="gossip",s.mesh="mesh"})(As||(As={}));function pl(s,e,t){return{protocolsEnabled:s.gauge({name:"gossipsub_protocol",help:"Status of enabled protocols",labelNames:["protocol"]}),topicSubscriptionStatus:s.gauge({name:"gossipsub_topic_subscription_status",help:"Status of our subscription to this topic",labelNames:["topicStr"]}),topicPeersCount:s.gauge({name:"gossipsub_topic_peer_count",help:"Number of peers subscribed to each topic",labelNames:["topicStr"]}),meshPeerCounts:s.gauge({name:"gossipsub_mesh_peer_count",help:"Number of peers in our mesh",labelNames:["topicStr"]}),meshPeerInclusionEventsFanout:s.gauge({name:"gossipsub_mesh_peer_inclusion_events_fanout_total",help:"Number of times we include peers in a topic mesh for fanout reasons",labelNames:["topic"]}),meshPeerInclusionEventsRandom:s.gauge({name:"gossipsub_mesh_peer_inclusion_events_random_total",help:"Number of times we include peers in a topic mesh for random reasons",labelNames:["topic"]}),meshPeerInclusionEventsSubscribed:s.gauge({name:"gossipsub_mesh_peer_inclusion_events_subscribed_total",help:"Number of times we include peers in a topic mesh for subscribed reasons",labelNames:["topic"]}),meshPeerInclusionEventsOutbound:s.gauge({name:"gossipsub_mesh_peer_inclusion_events_outbound_total",help:"Number of times we include peers in a topic mesh for outbound reasons",labelNames:["topic"]}),meshPeerInclusionEventsNotEnough:s.gauge({name:"gossipsub_mesh_peer_inclusion_events_not_enough_total",help:"Number of times we include peers in a topic mesh for not_enough reasons",labelNames:["topic"]}),meshPeerInclusionEventsOpportunistic:s.gauge({name:"gossipsub_mesh_peer_inclusion_events_opportunistic_total",help:"Number of times we include peers in a topic mesh for opportunistic reasons",labelNames:["topic"]}),meshPeerInclusionEventsUnknown:s.gauge({name:"gossipsub_mesh_peer_inclusion_events_unknown_total",help:"Number of times we include peers in a topic mesh for unknown reasons",labelNames:["topic"]}),meshPeerChurnEventsDisconnected:s.gauge({name:"gossipsub_peer_churn_events_disconnected_total",help:"Number of times we remove peers in a topic mesh for disconnected reasons",labelNames:["topic"]}),meshPeerChurnEventsBadScore:s.gauge({name:"gossipsub_peer_churn_events_bad_score_total",help:"Number of times we remove peers in a topic mesh for bad_score reasons",labelNames:["topic"]}),meshPeerChurnEventsPrune:s.gauge({name:"gossipsub_peer_churn_events_prune_total",help:"Number of times we remove peers in a topic mesh for prune reasons",labelNames:["topic"]}),meshPeerChurnEventsExcess:s.gauge({name:"gossipsub_peer_churn_events_excess_total",help:"Number of times we remove peers in a topic mesh for excess reasons",labelNames:["topic"]}),meshPeerChurnEventsUnknown:s.gauge({name:"gossipsub_peer_churn_events_unknown_total",help:"Number of times we remove peers in a topic mesh for unknown reasons",labelNames:["topic"]}),peersPerProtocol:s.gauge({name:"gossipsub_peers_per_protocol_count",help:"Peers connected for each topic",labelNames:["protocol"]}),heartbeatDuration:s.histogram({name:"gossipsub_heartbeat_duration_seconds",help:"The time it takes to complete one iteration of the heartbeat",buckets:[.01,.1,1]}),heartbeatSkipped:s.gauge({name:"gossipsub_heartbeat_skipped",help:"Heartbeat run took longer than heartbeat interval so next is skipped"}),acceptedMessagesTotal:s.gauge({name:"gossipsub_accepted_messages_total",help:"Total accepted messages for each topic",labelNames:["topic"]}),ignoredMessagesTotal:s.gauge({name:"gossipsub_ignored_messages_total",help:"Total ignored messages for each topic",labelNames:["topic"]}),rejectedMessagesTotal:s.gauge({name:"gossipsub_rejected_messages_total",help:"Total rejected messages for each topic",labelNames:["topic"]}),unknownValidationResultsTotal:s.gauge({name:"gossipsub_unknown_validation_results_total",help:"Total unknown validation results for each topic",labelNames:["topic"]}),asyncValidationMcacheHit:s.gauge({name:"gossipsub_async_validation_mcache_hit_total",help:"Async validation result reported by the user layer",labelNames:["hit"]}),asyncValidationDelayFromFirstSeenSec:s.histogram({name:"gossipsub_async_validation_delay_from_first_seen",help:"Async validation report delay from first seen in second",buckets:[.01,.03,.1,.3,1,3,10]}),asyncValidationUnknownFirstSeen:s.gauge({name:"gossipsub_async_validation_unknown_first_seen_count_total",help:"Async validation report unknown first seen value for message"}),peerReadStreamError:s.gauge({name:"gossipsub_peer_read_stream_err_count_total",help:"Peer read stream error"}),rpcRecvBytes:s.gauge({name:"gossipsub_rpc_recv_bytes_total",help:"RPC recv"}),rpcRecvCount:s.gauge({name:"gossipsub_rpc_recv_count_total",help:"RPC recv"}),rpcRecvSubscription:s.gauge({name:"gossipsub_rpc_recv_subscription_total",help:"RPC recv"}),rpcRecvMessage:s.gauge({name:"gossipsub_rpc_recv_message_total",help:"RPC recv"}),rpcRecvControl:s.gauge({name:"gossipsub_rpc_recv_control_total",help:"RPC recv"}),rpcRecvIHave:s.gauge({name:"gossipsub_rpc_recv_ihave_total",help:"RPC recv"}),rpcRecvIWant:s.gauge({name:"gossipsub_rpc_recv_iwant_total",help:"RPC recv"}),rpcRecvGraft:s.gauge({name:"gossipsub_rpc_recv_graft_total",help:"RPC recv"}),rpcRecvPrune:s.gauge({name:"gossipsub_rpc_recv_prune_total",help:"RPC recv"}),rpcDataError:s.gauge({name:"gossipsub_rpc_data_err_count_total",help:"RPC data error"}),rpcRecvError:s.gauge({name:"gossipsub_rpc_recv_err_count_total",help:"RPC recv error"}),rpcRecvNotAccepted:s.gauge({name:"gossipsub_rpc_rcv_not_accepted_total",help:"Total count of RPC dropped because acceptFrom() == false"}),rpcSentBytes:s.gauge({name:"gossipsub_rpc_sent_bytes_total",help:"RPC sent"}),rpcSentCount:s.gauge({name:"gossipsub_rpc_sent_count_total",help:"RPC sent"}),rpcSentSubscription:s.gauge({name:"gossipsub_rpc_sent_subscription_total",help:"RPC sent"}),rpcSentMessage:s.gauge({name:"gossipsub_rpc_sent_message_total",help:"RPC sent"}),rpcSentControl:s.gauge({name:"gossipsub_rpc_sent_control_total",help:"RPC sent"}),rpcSentIHave:s.gauge({name:"gossipsub_rpc_sent_ihave_total",help:"RPC sent"}),rpcSentIWant:s.gauge({name:"gossipsub_rpc_sent_iwant_total",help:"RPC sent"}),rpcSentGraft:s.gauge({name:"gossipsub_rpc_sent_graft_total",help:"RPC sent"}),rpcSentPrune:s.gauge({name:"gossipsub_rpc_sent_prune_total",help:"RPC sent"}),msgPublishCount:s.gauge({name:"gossipsub_msg_publish_count_total",help:"Total count of msg published by topic",labelNames:["topic"]}),msgPublishPeersByTopic:s.gauge({name:"gossipsub_msg_publish_peers_total",help:"Total count of peers that we publish a msg to",labelNames:["topic"]}),directPeersPublishedTotal:s.gauge({name:"gossipsub_direct_peers_published_total",help:"Total direct peers that we publish a msg to",labelNames:["topic"]}),floodsubPeersPublishedTotal:s.gauge({name:"gossipsub_floodsub_peers_published_total",help:"Total floodsub peers that we publish a msg to",labelNames:["topic"]}),meshPeersPublishedTotal:s.gauge({name:"gossipsub_mesh_peers_published_total",help:"Total mesh peers that we publish a msg to",labelNames:["topic"]}),fanoutPeersPublishedTotal:s.gauge({name:"gossipsub_fanout_peers_published_total",help:"Total fanout peers that we publish a msg to",labelNames:["topic"]}),msgPublishBytes:s.gauge({name:"gossipsub_msg_publish_bytes_total",help:"Total count of msg publish data.length bytes",labelNames:["topic"]}),msgPublishTime:s.histogram({name:"gossipsub_msg_publish_seconds",help:"Total time in seconds to publish a message",buckets:[.001,.002,.005,.01,.1,.5,1],labelNames:["topic"]}),msgForwardCount:s.gauge({name:"gossipsub_msg_forward_count_total",help:"Total count of msg forwarded by topic",labelNames:["topic"]}),msgForwardPeers:s.gauge({name:"gossipsub_msg_forward_peers_total",help:"Total count of peers that we forward a msg to",labelNames:["topic"]}),msgReceivedPreValidation:s.gauge({name:"gossipsub_msg_received_prevalidation_total",help:"Total count of recv msgs before any validation",labelNames:["topic"]}),msgReceivedError:s.gauge({name:"gossipsub_msg_received_error_total",help:"Total count of recv msgs error",labelNames:["topic"]}),prevalidationInvalidTotal:s.gauge({name:"gossipsub_pre_validation_invalid_total",help:"Total count of invalid messages received",labelNames:["topic"]}),prevalidationValidTotal:s.gauge({name:"gossipsub_pre_validation_valid_total",help:"Total count of valid messages received",labelNames:["topic"]}),prevalidationDuplicateTotal:s.gauge({name:"gossipsub_pre_validation_duplicate_total",help:"Total count of duplicate messages received",labelNames:["topic"]}),prevalidationUnknownTotal:s.gauge({name:"gossipsub_pre_validation_unknown_status_total",help:"Total count of unknown_status messages received",labelNames:["topic"]}),msgReceivedInvalid:s.gauge({name:"gossipsub_msg_received_invalid_total",help:"Tracks specific reason of invalid",labelNames:["error"]}),msgReceivedInvalidByTopic:s.gauge({name:"gossipsub_msg_received_invalid_by_topic_total",help:"Tracks specific invalid message by topic",labelNames:["topic"]}),duplicateMsgDeliveryDelay:s.histogram({name:"gossisub_duplicate_msg_delivery_delay_seconds",help:"Time since the 1st duplicated message validated",labelNames:["topic"],buckets:[.25*t.maxMeshMessageDeliveriesWindowSec,.5*t.maxMeshMessageDeliveriesWindowSec,Number(t.maxMeshMessageDeliveriesWindowSec),2*t.maxMeshMessageDeliveriesWindowSec,4*t.maxMeshMessageDeliveriesWindowSec]}),duplicateMsgLateDelivery:s.gauge({name:"gossisub_duplicate_msg_late_delivery_total",help:"Total count of late duplicate message delivery by topic, which triggers P3 penalty",labelNames:["topic"]}),duplicateMsgIgnored:s.gauge({name:"gossisub_ignored_published_duplicate_msgs_total",help:"Total count of published duplicate message ignored by topic",labelNames:["topic"]}),scoreFnCalls:s.gauge({name:"gossipsub_score_fn_calls_total",help:"Total times score() is called"}),scoreFnRuns:s.gauge({name:"gossipsub_score_fn_runs_total",help:"Total times score() call actually computed computeScore(), no cache"}),scoreCachedDelta:s.histogram({name:"gossipsub_score_cache_delta",help:"Delta of score between cached values that expired",buckets:[10,100,1e3]}),peersByScoreThreshold:s.gauge({name:"gossipsub_peers_by_score_threshold_count",help:"Current count of peers by score threshold",labelNames:["threshold"]}),score:s.avgMinMax({name:"gossipsub_score",help:"Avg min max of gossip scores"}),scoreWeights:s.avgMinMax({name:"gossipsub_score_weights",help:"Separate score weights",labelNames:["topic","p"]}),scorePerMesh:s.avgMinMax({name:"gossipsub_score_per_mesh",help:"Histogram of the scores for each mesh topic",labelNames:["topic"]}),scoringPenalties:s.gauge({name:"gossipsub_scoring_penalties_total",help:"A counter of the kind of penalties being applied to peers",labelNames:["penalty"]}),behaviourPenalty:s.histogram({name:"gossipsub_peer_stat_behaviour_penalty",help:"Current peer stat behaviour_penalty at each scrape",buckets:[.25*t.behaviourPenaltyThreshold,.5*t.behaviourPenaltyThreshold,Number(t.behaviourPenaltyThreshold),2*t.behaviourPenaltyThreshold,4*t.behaviourPenaltyThreshold]}),ihaveRcvIgnored:s.gauge({name:"gossipsub_ihave_rcv_ignored_total",help:"Total received IHAVE messages that we ignore for some reason",labelNames:["reason"]}),ihaveRcvMsgids:s.gauge({name:"gossipsub_ihave_rcv_msgids_total",help:"Total received IHAVE messages by topic",labelNames:["topic"]}),ihaveRcvNotSeenMsgids:s.gauge({name:"gossipsub_ihave_rcv_not_seen_msgids_total",help:"Total messages per topic we do not have, not actual requests",labelNames:["topic"]}),iwantRcvMsgids:s.gauge({name:"gossipsub_iwant_rcv_msgids_total",help:"Total received IWANT messages by topic",labelNames:["topic"]}),iwantRcvDonthaveMsgids:s.gauge({name:"gossipsub_iwant_rcv_dont_have_msgids_total",help:"Total requested messageIDs that we do not have"}),iwantPromiseStarted:s.gauge({name:"gossipsub_iwant_promise_sent_total",help:"Total count of started IWANT promises"}),iwantPromiseResolved:s.gauge({name:"gossipsub_iwant_promise_resolved_total",help:"Total count of resolved IWANT promises"}),iwantPromiseResolvedFromDuplicate:s.gauge({name:"gossipsub_iwant_promise_resolved_from_duplicate_total",help:"Total count of resolved IWANT promises from duplicate messages"}),iwantPromiseResolvedPeers:s.gauge({name:"gossipsub_iwant_promise_resolved_peers",help:"Total count of peers we have asked IWANT promises that are resolved"}),iwantPromiseBroken:s.gauge({name:"gossipsub_iwant_promise_broken",help:"Total count of broken IWANT promises"}),iwantMessagePruned:s.gauge({name:"gossipsub_iwant_message_pruned",help:"Total count of pruned IWANT messages"}),iwantPromiseDeliveryTime:s.histogram({name:"gossipsub_iwant_promise_delivery_seconds",help:"Histogram of delivery time of resolved IWANT promises",buckets:[.5*t.gossipPromiseExpireSec,Number(t.gossipPromiseExpireSec),2*t.gossipPromiseExpireSec,4*t.gossipPromiseExpireSec]}),iwantPromiseUntracked:s.gauge({name:"gossip_iwant_promise_untracked",help:"Total count of untracked IWANT promise"}),connectedPeersBackoffSec:s.histogram({name:"gossipsub_connected_peers_backoff_seconds",help:"Backoff time in seconds",buckets:[1,2,4,10,20,60,120]}),cacheSize:s.gauge({name:"gossipsub_cache_size",help:"Unbounded cache sizes",labelNames:["cache"]}),mcacheSize:s.gauge({name:"gossipsub_mcache_size",help:"Current mcache msg count"}),mcacheNotValidatedCount:s.gauge({name:"gossipsub_mcache_not_validated_count",help:"Current mcache msg count not validated"}),fastMsgIdCacheCollision:s.gauge({name:"gossipsub_fastmsgid_cache_collision_total",help:"Total count of key collisions on fastmsgid cache put"}),newConnectionCount:s.gauge({name:"gossipsub_new_connection_total",help:"Total new connection by status",labelNames:["status"]}),topicStrToLabel:e,toTopic(r){return this.topicStrToLabel.get(r)??r},onJoin(r){this.topicSubscriptionStatus.set({topicStr:r},1),this.meshPeerCounts.set({topicStr:r},0)},onLeave(r){this.topicSubscriptionStatus.set({topicStr:r},0),this.meshPeerCounts.set({topicStr:r},0)},onAddToMesh(r,n,i){let o=this.toTopic(r);switch(n){case _e.Fanout:this.meshPeerInclusionEventsFanout.inc({topic:o},i);break;case _e.Random:this.meshPeerInclusionEventsRandom.inc({topic:o},i);break;case _e.Subscribed:this.meshPeerInclusionEventsSubscribed.inc({topic:o},i);break;case _e.Outbound:this.meshPeerInclusionEventsOutbound.inc({topic:o},i);break;case _e.NotEnough:this.meshPeerInclusionEventsNotEnough.inc({topic:o},i);break;case _e.Opportunistic:this.meshPeerInclusionEventsOpportunistic.inc({topic:o},i);break;default:this.meshPeerInclusionEventsUnknown.inc({topic:o},i);break}},onRemoveFromMesh(r,n,i){let o=this.toTopic(r);switch(n){case Xe.Dc:this.meshPeerChurnEventsDisconnected.inc({topic:o},i);break;case Xe.BadScore:this.meshPeerChurnEventsBadScore.inc({topic:o},i);break;case Xe.Prune:this.meshPeerChurnEventsPrune.inc({topic:o},i);break;case Xe.Excess:this.meshPeerChurnEventsExcess.inc({topic:o},i);break;default:this.meshPeerChurnEventsUnknown.inc({topic:o},i);break}},onReportValidation(r,n,i){if(this.asyncValidationMcacheHit.inc({hit:r!=null?"hit":"miss"}),r!=null){let o=this.toTopic(r.message.topic);switch(n){case xe.Accept:this.acceptedMessagesTotal.inc({topic:o});break;case xe.Ignore:this.ignoredMessagesTotal.inc({topic:o});break;case xe.Reject:this.rejectedMessagesTotal.inc({topic:o});break;default:this.unknownValidationResultsTotal.inc({topic:o});break}}i!=null?this.asyncValidationDelayFromFirstSeenSec.observe((Date.now()-i)/1e3):this.asyncValidationUnknownFirstSeen.inc()},onScorePenalty(r){this.scoringPenalties.inc({penalty:r},1)},onIhaveRcv(r,n,i){let o=this.toTopic(r);this.ihaveRcvMsgids.inc({topic:o},n),this.ihaveRcvNotSeenMsgids.inc({topic:o},i)},onIwantRcv(r,n){for(let[i,o]of r){let a=this.toTopic(i);this.iwantRcvMsgids.inc({topic:a},o)}this.iwantRcvDonthaveMsgids.inc(n)},onForwardMsg(r,n){let i=this.toTopic(r);this.msgForwardCount.inc({topic:i},1),this.msgForwardPeers.inc({topic:i},n)},onPublishMsg(r,n,i,o,a){let c=this.toTopic(r);this.msgPublishCount.inc({topic:c},1),this.msgPublishBytes.inc({topic:c},i*o),this.msgPublishPeersByTopic.inc({topic:c},i),this.directPeersPublishedTotal.inc({topic:c},n.direct),this.floodsubPeersPublishedTotal.inc({topic:c},n.floodsub),this.meshPeersPublishedTotal.inc({topic:c},n.mesh),this.fanoutPeersPublishedTotal.inc({topic:c},n.fanout),this.msgPublishTime.observe({topic:c},a/1e3)},onMsgRecvPreValidation(r){let n=this.toTopic(r);this.msgReceivedPreValidation.inc({topic:n},1)},onMsgRecvError(r){let n=this.toTopic(r);this.msgReceivedError.inc({topic:n},1)},onPrevalidationResult(r,n){let i=this.toTopic(r);switch(n){case we.duplicate:this.prevalidationDuplicateTotal.inc({topic:i});break;case we.invalid:this.prevalidationInvalidTotal.inc({topic:i});break;case we.valid:this.prevalidationValidTotal.inc({topic:i});break;default:this.prevalidationUnknownTotal.inc({topic:i});break}},onMsgRecvInvalid(r,n){let i=this.toTopic(r),o=n.reason===Ie.Error?n.error:n.reason;this.msgReceivedInvalid.inc({error:o},1),this.msgReceivedInvalidByTopic.inc({topic:i},1)},onDuplicateMsgDelivery(r,n,i){let o=this.toTopic(r);this.duplicateMsgDeliveryDelay.observe({topic:o},n/1e3),i&&this.duplicateMsgLateDelivery.inc({topic:o},1)},onPublishDuplicateMsg(r){let n=this.toTopic(r);this.duplicateMsgIgnored.inc({topic:n},1)},onPeerReadStreamError(){this.peerReadStreamError.inc(1)},onRpcRecvError(){this.rpcRecvError.inc(1)},onRpcDataError(){this.rpcDataError.inc(1)},onRpcRecv(r,n){this.rpcRecvBytes.inc(n),this.rpcRecvCount.inc(1),r.subscriptions!=null&&this.rpcRecvSubscription.inc(r.subscriptions.length),r.messages!=null&&this.rpcRecvMessage.inc(r.messages.length),r.control!=null&&(this.rpcRecvControl.inc(1),r.control.ihave!=null&&this.rpcRecvIHave.inc(r.control.ihave.length),r.control.iwant!=null&&this.rpcRecvIWant.inc(r.control.iwant.length),r.control.graft!=null&&this.rpcRecvGraft.inc(r.control.graft.length),r.control.prune!=null&&this.rpcRecvPrune.inc(r.control.prune.length))},onRpcSent(r,n){if(this.rpcSentBytes.inc(n),this.rpcSentCount.inc(1),r.subscriptions!=null&&this.rpcSentSubscription.inc(r.subscriptions.length),r.messages!=null&&this.rpcSentMessage.inc(r.messages.length),r.control!=null){let i=r.control.ihave?.length??0,o=r.control.iwant?.length??0,a=r.control.graft?.length??0,c=r.control.prune?.length??0;i>0&&this.rpcSentIHave.inc(i),o>0&&this.rpcSentIWant.inc(o),a>0&&this.rpcSentGraft.inc(a),c>0&&this.rpcSentPrune.inc(c),(i>0||o>0||a>0||c>0)&&this.rpcSentControl.inc(1)}},registerScores(r,n){let i=0,o=0,a=0,c=0;for(let f of r)f>=n.graylistThreshold&&i++,f>=n.publishThreshold&&o++,f>=n.gossipThreshold&&a++,f>=0&&c++;this.peersByScoreThreshold.set({threshold:As.graylist},i),this.peersByScoreThreshold.set({threshold:As.publish},o),this.peersByScoreThreshold.set({threshold:As.gossip},a),this.peersByScoreThreshold.set({threshold:As.mesh},c),this.score.set(r)},registerScoreWeights(r){for(let[n,i]of r.byTopic)this.scoreWeights.set({topic:n,p:"p1"},i.p1w),this.scoreWeights.set({topic:n,p:"p2"},i.p2w),this.scoreWeights.set({topic:n,p:"p3"},i.p3w),this.scoreWeights.set({topic:n,p:"p3b"},i.p3bw),this.scoreWeights.set({topic:n,p:"p4"},i.p4w);this.scoreWeights.set({p:"p5"},r.p5w),this.scoreWeights.set({p:"p6"},r.p6w),this.scoreWeights.set({p:"p7"},r.p7w)},registerScorePerMesh(r,n){let i=new Map;r.forEach((o,a)=>{let c=this.topicStrToLabel.get(a)??"unknown",f=i.get(c);f==null&&(f=new Set,i.set(c,f)),o.forEach(l=>f?.add(l))});for(let[o,a]of i){let c=[];a.forEach(f=>{c.push(n.get(f)??0)}),this.scorePerMesh.set({topic:o},c)}}}}var $="ERR_INVALID_PEER_SCORE_PARAMS";var dd={topics:{},topicScoreCap:10,appSpecificScore:()=>0,appSpecificWeight:10,IPColocationFactorWeight:-5,IPColocationFactorThreshold:10,IPColocationFactorWhitelist:new Set,behaviourPenaltyWeight:-10,behaviourPenaltyThreshold:0,behaviourPenaltyDecay:.2,decayInterval:1e3,decayToZero:.1,retainScore:3600*1e3},pd={topicWeight:.5,timeInMeshWeight:1,timeInMeshQuantum:1,timeInMeshCap:3600,firstMessageDeliveriesWeight:1,firstMessageDeliveriesDecay:.5,firstMessageDeliveriesCap:2e3,meshMessageDeliveriesWeight:-1,meshMessageDeliveriesDecay:.5,meshMessageDeliveriesCap:100,meshMessageDeliveriesThreshold:20,meshMessageDeliveriesWindow:10,meshMessageDeliveriesActivation:5e3,meshFailurePenaltyWeight:-1,meshFailurePenaltyDecay:.5,invalidMessageDeliveriesWeight:-1,invalidMessageDeliveriesDecay:.3};function gl(s={}){return{...dd,...s,topics:s.topics!=null?Object.entries(s.topics).reduce((e,[t,r])=>(e[t]=gd(r),e),{}):{}}}function gd(s={}){return{...pd,...s}}function ml(s){for(let[e,t]of Object.entries(s.topics))try{md(t)}catch(r){throw new K(`invalid score parameters for topic ${e}: ${r.message}`,$)}if(s.topicScoreCap<0)throw new K("invalid topic score cap; must be positive (or 0 for no cap)",$);if(s.appSpecificScore===null||s.appSpecificScore===void 0)throw new K("missing application specific score function",$);if(s.IPColocationFactorWeight>0)throw new K("invalid IPColocationFactorWeight; must be negative (or 0 to disable)",$);if(s.IPColocationFactorWeight!==0&&s.IPColocationFactorThreshold<1)throw new K("invalid IPColocationFactorThreshold; must be at least 1",$);if(s.behaviourPenaltyWeight>0)throw new K("invalid BehaviourPenaltyWeight; must be negative (or 0 to disable)",$);if(s.behaviourPenaltyWeight!==0&&(s.behaviourPenaltyDecay<=0||s.behaviourPenaltyDecay>=1))throw new K("invalid BehaviourPenaltyDecay; must be between 0 and 1",$);if(s.decayInterval<1e3)throw new K("invalid DecayInterval; must be at least 1s",$);if(s.decayToZero<=0||s.decayToZero>=1)throw new K("invalid DecayToZero; must be between 0 and 1",$)}function md(s){if(s.topicWeight<0)throw new K("invalid topic weight; must be >= 0",$);if(s.timeInMeshQuantum===0)throw new K("invalid TimeInMeshQuantum; must be non zero",$);if(s.timeInMeshWeight<0)throw new K("invalid TimeInMeshWeight; must be positive (or 0 to disable)",$);if(s.timeInMeshWeight!==0&&s.timeInMeshQuantum<=0)throw new K("invalid TimeInMeshQuantum; must be positive",$);if(s.timeInMeshWeight!==0&&s.timeInMeshCap<=0)throw new K("invalid TimeInMeshCap; must be positive",$);if(s.firstMessageDeliveriesWeight<0)throw new K("invallid FirstMessageDeliveriesWeight; must be positive (or 0 to disable)",$);if(s.firstMessageDeliveriesWeight!==0&&(s.firstMessageDeliveriesDecay<=0||s.firstMessageDeliveriesDecay>=1))throw new K("invalid FirstMessageDeliveriesDecay; must be between 0 and 1",$);if(s.firstMessageDeliveriesWeight!==0&&s.firstMessageDeliveriesCap<=0)throw new K("invalid FirstMessageDeliveriesCap; must be positive",$);if(s.meshMessageDeliveriesWeight>0)throw new K("invalid MeshMessageDeliveriesWeight; must be negative (or 0 to disable)",$);if(s.meshMessageDeliveriesWeight!==0&&(s.meshMessageDeliveriesDecay<=0||s.meshMessageDeliveriesDecay>=1))throw new K("invalid MeshMessageDeliveriesDecay; must be between 0 and 1",$);if(s.meshMessageDeliveriesWeight!==0&&s.meshMessageDeliveriesCap<=0)throw new K("invalid MeshMessageDeliveriesCap; must be positive",$);if(s.meshMessageDeliveriesWeight!==0&&s.meshMessageDeliveriesThreshold<=0)throw new K("invalid MeshMessageDeliveriesThreshold; must be positive",$);if(s.meshMessageDeliveriesWindow<0)throw new K("invalid MeshMessageDeliveriesWindow; must be non-negative",$);if(s.meshMessageDeliveriesWeight!==0&&s.meshMessageDeliveriesActivation<1e3)throw new K("invalid MeshMessageDeliveriesActivation; must be at least 1s",$);if(s.meshFailurePenaltyWeight>0)throw new K("invalid MeshFailurePenaltyWeight; must be negative (or 0 to disable)",$);if(s.meshFailurePenaltyWeight!==0&&(s.meshFailurePenaltyDecay<=0||s.meshFailurePenaltyDecay>=1))throw new K("invalid MeshFailurePenaltyDecay; must be between 0 and 1",$);if(s.invalidMessageDeliveriesWeight>0)throw new K("invalid InvalidMessageDeliveriesWeight; must be negative (or 0 to disable)",$);if(s.invalidMessageDeliveriesDecay<=0||s.invalidMessageDeliveriesDecay>=1)throw new K("invalid InvalidMessageDeliveriesDecay; must be between 0 and 1",$)}var bd={gossipThreshold:-10,publishThreshold:-50,graylistThreshold:-80,acceptPXThreshold:10,opportunisticGraftThreshold:20};function bl(s={}){return{...bd,...s}}function Fn(s,e,t=()=>!0){let r=new Set;if(e<=0)return r;for(let n of s){if(r.size>=e)break;t(n)&&(r.add(n),s.delete(n))}return r}function yl(s,e){return Fn(s,e,()=>!0)}var Un=class extends Map{getDefault;constructor(e){super(),this.getDefault=e}getOrDefault(e){let t=super.get(e);return t===void 0&&(t=this.getDefault(),this.set(e,t)),t}};function wl(s,e,t,r){let n=0;Object.entries(e.topics).forEach(([o,a])=>{let c=t.topics[o];if(c===void 0)return;let f=0;if(a.inMesh){let p=a.meshTime/c.timeInMeshQuantum;p>c.timeInMeshCap&&(p=c.timeInMeshCap),f+=p*c.timeInMeshWeight}let l=a.firstMessageDeliveries;if(l>c.firstMessageDeliveriesCap&&(l=c.firstMessageDeliveriesCap),f+=l*c.firstMessageDeliveriesWeight,a.meshMessageDeliveriesActive&&a.meshMessageDeliveries0&&n>t.topicScoreCap&&(n=t.topicScoreCap);let i=t.appSpecificScore(s);if(n+=i*t.appSpecificWeight,e.knownIPs.forEach(o=>{if(t.IPColocationFactorWhitelist.has(o))return;let a=r.get(o),c=a!=null?a.size:0;if(c>t.IPColocationFactorThreshold){let f=c-t.IPColocationFactorThreshold,l=f*f;n+=l*t.IPColocationFactorWeight}}),e.behaviourPenalty>t.behaviourPenaltyThreshold){let o=e.behaviourPenalty-t.behaviourPenaltyThreshold,a=o*o;n+=a*t.behaviourPenaltyWeight}return n}var El=Ho(xl(),1);var Ae;(function(s){s[s.unknown=0]="unknown",s[s.valid=1]="valid",s[s.invalid=2]="invalid",s[s.ignored=3]="ignored"})(Ae||(Ae={}));var Vn=class{records;queue;constructor(){this.records=new Map,this.queue=new El.default}getRecord(e){return this.records.get(e)}ensureRecord(e){let t=this.records.get(e);if(t!=null)return t;t={status:Ae.unknown,firstSeenTsMs:Date.now(),validated:0,peers:new Set},this.records.set(e,t);let r={msgId:e,expire:Date.now()+12e4};return this.queue.push(r),t}gc(){let e=Date.now(),t=this.queue.peekFront();for(;t!=null&&t.expirenew Set);scoreCache=new Map;deliveryRecords=new Vn;_backgroundInterval;scoreCacheValidityMs;computeScore;log;constructor(e,t,r,n){this.params=e,this.metrics=t,ml(e),this.scoreCacheValidityMs=n.scoreCacheValidityMs,this.computeScore=n.computeScore??wl,this.log=r.forComponent("libp2p:gossipsub:score")}get size(){return this.peerStats.size}start(){if(this._backgroundInterval!=null){this.log("Peer score already running");return}this._backgroundInterval=setInterval(()=>{this.background()},this.params.decayInterval),this.log("started")}stop(){if(this._backgroundInterval==null){this.log("Peer score already stopped");return}clearInterval(this._backgroundInterval),delete this._backgroundInterval,this.peerIPs.clear(),this.peerStats.clear(),this.deliveryRecords.clear(),this.log("stopped")}background(){this.refreshScores(),this.deliveryRecords.gc()}dumpPeerScoreStats(){return Object.fromEntries(Array.from(this.peerStats.entries()).map(([e,t])=>[e,t]))}messageFirstSeenTimestampMs(e){let t=this.deliveryRecords.getRecord(e);return t!=null?t.firstSeenTsMs:null}refreshScores(){let e=Date.now(),t=this.params.decayToZero;this.peerStats.forEach((r,n)=>{if(!r.connected){e>r.expire&&(this.removeIPsForPeer(n,r.knownIPs),this.peerStats.delete(n),this.scoreCache.delete(n));return}Object.entries(r.topics).forEach(([i,o])=>{let a=this.params.topics[i];a!==void 0&&(o.firstMessageDeliveries*=a.firstMessageDeliveriesDecay,o.firstMessageDeliveriesa.meshMessageDeliveriesActivation&&(o.meshMessageDeliveriesActive=!0)))}),r.behaviourPenalty*=this.params.behaviourPenaltyDecay,r.behaviourPenaltyr)return n.score;this.metrics?.scoreFnRuns.inc();let i=this.computeScore(e,t,this.params,this.peerIPs),o=r+this.scoreCacheValidityMs;return n!=null?(this.metrics?.scoreCachedDelta.observe(Math.abs(i-n.score)),n.score=i,n.cacheUntil=o):this.scoreCache.set(e,{score:i,cacheUntil:o}),i}addPenalty(e,t,r){let n=this.peerStats.get(e);n!=null&&(n.behaviourPenalty+=t,this.metrics?.onScorePenalty(r))}addPeer(e){let t={connected:!0,expire:0,topics:{},knownIPs:new Set,behaviourPenalty:0};this.peerStats.set(e,t)}addIP(e,t){let r=this.peerStats.get(e);r?.knownIPs.add(t),this.peerIPs.getOrDefault(t).add(e)}removeIP(e,t){let r=this.peerStats.get(e);r?.knownIPs.delete(t);let n=this.peerIPs.get(t);n!=null&&(n.delete(e),n.size===0&&this.peerIPs.delete(t))}removePeer(e){let t=this.peerStats.get(e);if(t!=null){if(this.score(e)>0){this.removeIPsForPeer(e,t.knownIPs),this.peerStats.delete(e);return}Object.entries(t.topics).forEach(([r,n])=>{n.firstMessageDeliveries=0;let i=this.params.topics[r].meshMessageDeliveriesThreshold;if(n.inMesh&&n.meshMessageDeliveriesActive&&n.meshMessageDeliveries{o!==e.toString()&&this.markDuplicateMessageDelivery(o,r)})}rejectInvalidMessage(e,t){this.markInvalidMessageDelivery(e,t)}rejectMessage(e,t,r,n){switch(n){case Ie.Error:this.markInvalidMessageDelivery(e,r);return;case Ie.Blacklisted:return}let i=this.deliveryRecords.ensureRecord(t);if(i.status!==Ae.unknown){this.log("unexpected rejection: message from %s was first seen %s ago and has delivery status %d",e,Date.now()-i.firstSeenTsMs,Ae[i.status]);return}if(n===Ie.Ignore){i.status=Ae.ignored,i.peers.clear();return}i.status=Ae.invalid,this.markInvalidMessageDelivery(e,r),i.peers.forEach(o=>{this.markInvalidMessageDelivery(o,r)}),i.peers.clear()}duplicateMessage(e,t,r){let n=this.deliveryRecords.ensureRecord(t);if(!n.peers.has(e))switch(n.status){case Ae.unknown:n.peers.add(e);break;case Ae.valid:n.peers.add(e),this.markDuplicateMessageDelivery(e,r,n.validated);break;case Ae.invalid:this.markInvalidMessageDelivery(e,r);break;case Ae.ignored:break}}markInvalidMessageDelivery(e,t){let r=this.peerStats.get(e);if(r!=null){let n=this.getPtopicStats(r,t);n!=null&&(n.invalidMessageDeliveries+=1)}}markFirstMessageDelivery(e,t){let r=this.peerStats.get(e);if(r!=null){let n=this.getPtopicStats(r,t);if(n!=null){let i=this.params.topics[t].firstMessageDeliveriesCap;n.firstMessageDeliveries=Math.min(i,n.firstMessageDeliveries+1),n.inMesh&&(i=this.params.topics[t].meshMessageDeliveriesCap,n.meshMessageDeliveries=Math.min(i,n.meshMessageDeliveries+1))}}}markDuplicateMessageDelivery(e,t,r){let n=this.peerStats.get(e);if(n!=null){let i=r!==void 0?Date.now():0,o=this.getPtopicStats(n,t);if(o!=null&&o.inMesh){let a=this.params.topics[t];if(r!==void 0){let f=i-r,l=f>a.meshMessageDeliveriesWindow;if(this.metrics?.onDuplicateMsgDelivery(t,f,l),l)return}let c=a.meshMessageDeliveriesCap;o.meshMessageDeliveries=Math.min(c,o.meshMessageDeliveries+1)}}}removeIPsForPeer(e,t){for(let r of t){let n=this.peerIPs.get(r);n!=null&&(n.delete(e),n.size===0&&this.peerIPs.delete(r))}}getPtopicStats(e,t){let r=e.topics[t];return r!==void 0?r:this.params.topics[t]!==void 0?(r={inMesh:!1,graftTime:0,meshTime:0,firstMessageDeliveries:0,meshMessageDeliveries:0,meshMessageDeliveriesActive:!1,meshFailurePenalty:0,invalidMessageDeliveries:0},e.topics[t]=r,r):null}};function yd(s,e,t,r,n){let i=0,o=new Map;if(Object.entries(e.topics).forEach(([h,p])=>{let g=n.get(h)??"unknown",d=t.topics[h];if(d===void 0)return;let m=o.get(g);m==null&&(m={p1w:0,p2w:0,p3w:0,p3bw:0,p4w:0},o.set(g,m));let b=0,v=0,E=0,A=0,w=0;if(p.inMesh){let M=Math.max(p.meshTime/d.timeInMeshQuantum,d.timeInMeshCap);b+=M*d.timeInMeshWeight}let S=p.firstMessageDeliveries;if(S>d.firstMessageDeliveriesCap&&(S=d.firstMessageDeliveriesCap),v+=S*d.firstMessageDeliveriesWeight,p.meshMessageDeliveriesActive&&p.meshMessageDeliveries0&&i>t.topicScoreCap){i=t.topicScoreCap;let h=t.topicScoreCap/i;for(let p of o.values())p.p1w*=h,p.p2w*=h,p.p3w*=h,p.p3bw*=h,p.p4w*=h}let a=0,c=0,f=0,l=t.appSpecificScore(s);a+=l*t.appSpecificWeight,e.knownIPs.forEach(h=>{if(t.IPColocationFactorWhitelist.has(h))return;let p=r.get(h),g=p!=null?p.size:0;if(g>t.IPColocationFactorThreshold){let d=g-t.IPColocationFactorThreshold,m=d*d;c+=m*t.IPColocationFactorWeight}});let u=e.behaviourPenalty*e.behaviourPenalty;return f+=u*t.behaviourPenaltyWeight,i+=a+c+f,{byTopic:o,p5w:a,p6w:c,p7w:f,score:i}}function Sl(s,e,t,r,n){let i={byTopic:new Map,p5w:[],p6w:[],p7w:[],score:[]};for(let o of s){let a=e.get(o);if(a!=null){let c=yd(o,a,t,r,n);for(let[f,l]of c.byTopic){let u=i.byTopic.get(f);u==null&&(u={p1w:[],p2w:[],p3w:[],p3bw:[],p4w:[]},i.byTopic.set(f,u)),u.p1w.push(l.p1w),u.p2w.push(l.p2w),u.p3w.push(l.p3w),u.p3bw.push(l.p3bw),u.p4w.push(l.p4w)}i.p5w.push(c.p5w),i.p6w.push(c.p6w),i.p7w.push(c.p7w),i.score.push(c.score)}else i.p5w.push(0),i.p6w.push(0),i.p7w.push(0),i.score.push(0)}return i}var Hn=class{rawStream;pushable;closeController;maxBufferSize;constructor(e,t,r){this.rawStream=e,this.pushable=vt(),this.closeController=new AbortController,this.maxBufferSize=r.maxBufferSize??1/0,this.closeController.signal.addEventListener("abort",()=>{e.close().catch(n=>{e.abort(n)})}),_s(this.pushable,this.rawStream).catch(t)}get protocol(){return this.rawStream.protocol}push(e){if(this.pushable.readableLength>this.maxBufferSize)throw Error(`OutboundStream buffer full, size > ${this.maxBufferSize}`);this.pushable.push(Bs.single(e))}pushPrefixed(e){if(this.pushable.readableLength>this.maxBufferSize)throw Error(`OutboundStream buffer full, size > ${this.maxBufferSize}`);this.pushable.push(e)}async close(){this.closeController.abort(),await this.pushable.return()}},Kn=class{source;rawStream;closeController;constructor(e,t={}){this.rawStream=e,this.closeController=new AbortController,this.closeController.signal.addEventListener("abort",()=>{e.close().catch(r=>{e.abort(r)})}),this.source=_s(this.rawStream,r=>or(r,t))}async close(){this.closeController.abort()}};var Gn=class{gossipsubIWantFollowupMs;msgIdToStrFn;metrics;promises=new Map;requestMsByMsg=new Map;requestMsByMsgExpire;constructor(e,t,r){this.gossipsubIWantFollowupMs=e,this.msgIdToStrFn=t,this.metrics=r,this.requestMsByMsgExpire=10*e}get size(){return this.promises.size}get requestMsByMsgSize(){return this.requestMsByMsg.size}addPromise(e,t){let r=Math.floor(Math.random()*t.length),n=t[r],i=this.msgIdToStrFn(n),o=this.promises.get(i);o==null&&(o=new Map,this.promises.set(i,o));let a=Date.now();o.has(e)||(o.set(e,a+this.gossipsubIWantFollowupMs),this.metrics!=null&&(this.metrics.iwantPromiseStarted.inc(1),this.requestMsByMsg.has(i)||this.requestMsByMsg.set(i,a)))}getBrokenPromises(){let e=Date.now(),t=new Map,r=0;return this.promises.forEach((n,i)=>{n.forEach((o,a)=>{oMath.floor(Math.random()*Math.floor(s.length));for(let t=0;t{let t=W(e.toString(16).padStart(16,"0"),"base16"),r=Tt(s),n=new Uint8Array(r.byteLength+t.length);return n.set(r,0),n.set(t,r.byteLength),n};function Pl(s){if(s.type!=="signed")throw new Error("expected signed message type");if(s.sequenceNumber==null)throw Error("missing seqno field");return Tl(s.from.publicKey??s.key,s.sequenceNumber)}async function Ml(s){return Pt.encode(s.data)}var zn=class{index=0;input="";new(e){return this.index=0,this.input=e,this}readAtomically(e){let t=this.index,r=e();return r===void 0&&(this.index=t),r}parseWith(e){let t=e();if(this.index===this.input.length)return t}peekChar(){if(!(this.index>=this.input.length))return this.input[this.index]}readChar(){if(!(this.index>=this.input.length))return this.input[this.index++]}readGivenChar(e){return this.readAtomically(()=>{let t=this.readChar();if(t===e)return t})}readSeparator(e,t,r){return this.readAtomically(()=>{if(!(t>0&&this.readGivenChar(e)===void 0))return r()})}readNumber(e,t,r,n){return this.readAtomically(()=>{let i=0,o=0,a=this.peekChar();if(a===void 0)return;let c=a==="0",f=2**(8*n)-1;for(;;){let l=this.readAtomically(()=>{let u=this.readChar();if(u===void 0)return;let h=Number.parseInt(u,e);if(!Number.isNaN(h))return h});if(l===void 0)break;if(i*=e,i+=l,i>f||(o+=1,t!==void 0&&o>t))return}if(o!==0)return!r&&c&&o>1?void 0:i})}readIPv4Addr(){return this.readAtomically(()=>{let e=new Uint8Array(4);for(let t=0;tthis.readNumber(10,3,!1,1));if(r===void 0)return;e[t]=r}return e})}readIPv6Addr(){let e=t=>{for(let r=0;rthis.readIPv4Addr());if(o!==void 0)return t[n]=o[0],t[n+1]=o[1],t[n+2]=o[2],t[n+3]=o[3],[n+4,!0]}let i=this.readSeparator(":",r,()=>this.readNumber(16,4,!0,2));if(i===void 0)return[n,!1];t[n]=i>>8,t[n+1]=i&255}return[t.length,!1]};return this.readAtomically(()=>{let t=new Uint8Array(16),[r,n]=e(t);if(r===16)return t;if(n||this.readGivenChar(":")===void 0||this.readGivenChar(":")===void 0)return;let i=new Uint8Array(14),o=16-(r+2),[a]=e(i.subarray(0,o));return t.set(i.subarray(0,a),16-a),t})}readIPAddr(){return this.readIPv4Addr()??this.readIPv6Addr()}};var wd=45;var Cl=new zn;function qn(s){if(s.includes("%")&&(s=s.split("%")[0]),!(s.length>wd))return Cl.new(s).parseWith(()=>Cl.readIPAddr())}var ov=parseInt("0xFFFF",16),av=new Uint8Array([0,0,0,0,0,0,0,0,0,0,255,255]);function Ao(s){return!!qn(s)}var Nl=function(s,e=0,t){e=~~e,t=t??s.length-e;let r=new DataView(s.buffer);if(t===4){let n=[];for(let i=0;i{let e=kd(...s);To[e.code]=e,ko[e.name]=e});function kd(s,e,t,r,n){return{code:s,size:e,name:t,resolvable:!!r,path:!!n}}function ar(s){if(typeof s=="number"){if(To[s]!=null)return To[s];throw new Error(`no protocol with code: ${s}`)}else if(typeof s=="string"){if(ko[s]!=null)return ko[s];throw new Error(`no protocol with name: ${s}`)}throw new Error(`invalid protocol id type: ${typeof s}`)}var $v=ar("ip4"),jv=ar("ip6"),Zv=ar("ipcidr");function Ul(s,e){switch(ar(s).code){case 4:case 41:return Td(e);case 42:return Mo(e);case 6:case 273:case 33:case 132:return Fl(e).toString();case 53:case 54:case 55:case 56:case 400:case 449:case 777:return Mo(e);case 421:return Md(e);case 444:return Ll(e);case 445:return Ll(e);case 466:return Pd(e);case 481:return globalThis.encodeURIComponent(Mo(e));default:return z(e,"base16")}}var Po=Object.values(Os).map(s=>s.decoder),Jv=function(){let s=Po[0].or(Po[1]);return Po.slice(2).forEach(e=>s=s.or(e)),s}();function Td(s){let e=Nl(s,0,s.length);if(e==null)throw new Error("ipBuff is required");if(!Ao(e))throw new Error("invalid ip address");return e}function Fl(s){return new DataView(s.buffer).getUint16(s.byteOffset)}function Mo(s){let e=gs(s);if(s=s.slice(Se(e)),s.length!==e)throw new Error("inconsistent lengths");return z(s)}function Pd(s){let e=gs(s),t=s.slice(Se(e));if(t.length!==e)throw new Error("inconsistent lengths");return"u"+z(t,"base64url")}function Md(s){let e=gs(s),t=s.slice(Se(e));if(t.length!==e)throw new Error("inconsistent lengths");return z(t,"base58btc")}function Ll(s){let e=s.slice(0,s.length-2),t=s.slice(s.length-2),r=z(e,"base32"),n=Fl(t);return`${r}:${n}`}var Wn;(function(s){s[s.ip4=4]="ip4",s[s.ip6=41]="ip6"})(Wn||(Wn={}));function Vl(s){for(let e of s.tuples())switch(e[0]){case Wn.ip4:case Wn.ip6:return Ul(e[0],e[1]);default:break}return null}var Ps=class{entries=new Map;validityMs;constructor(e){this.validityMs=e.validityMs}get size(){return this.entries.size}put(e,t){return this.entries.has(e)?!0:(this.entries.set(e,{value:t,validUntilMs:Date.now()+this.validityMs}),!1)}prune(){let e=Date.now();for(let[t,r]of this.entries.entries())if(r.validUntilMs=Date.now()?t.value:void 0}clear(){this.entries.clear()}};var rp=Nn,Ue;(function(s){s[s.started=0]="started",s[s.stopped=1]="stopped"})(Ue||(Ue={}));var $n=class extends hr{globalSignaturePolicy;multicodecs=[Nn,Bo];publishConfig;dataTransform;peers=new Set;streamsInbound=new Map;streamsOutbound=new Map;outboundInflightQueue=vt({objectMode:!0});direct=new Set;floodsubPeers=new Set;seenCache;acceptFromWhitelist=new Map;topics=new Map;subscriptions=new Set;mesh=new Map;fanout=new Map;fanoutLastpub=new Map;gossip=new Map;control=new Map;peerhave=new Map;iasked=new Map;backoff=new Map;outbound=new Map;msgIdFn;fastMsgIdFn;msgIdToStrFn;fastMsgIdCache;publishedMessageIds;mcache;score;topicValidators=new Map;log;heartbeatTicks=0;gossipTracer;components;directPeerInitial=null;static multicodec=Nn;opts;decodeRpcLimits;metrics;status={code:Ue.stopped};maxInboundStreams;maxOutboundStreams;runOnLimitedConnection;allowedTopics;heartbeatTimer=null;constructor(e,t={}){super();let r={fallbackToFloodsub:!0,floodPublish:!0,batchPublish:!1,tagMeshPeers:!0,doPX:!1,directPeers:[],D:6,Dlo:4,Dhi:12,Dscore:4,Dout:2,Dlazy:6,heartbeatInterval:1e3,fanoutTTL:6e4,mcacheLength:5,mcacheGossip:3,seenTTL:12e4,gossipsubIWantFollowupMs:3e3,prunePeers:16,pruneBackoff:6e4,unsubcribeBackoff:1e4,graftFloodThreshold:1e4,opportunisticGraftPeers:2,opportunisticGraftTicks:60,directConnectTicks:300,gossipFactor:.25,...t,scoreParams:gl(t.scoreParams),scoreThresholds:bl(t.scoreThresholds)};if(this.components=e,this.decodeRpcLimits=r.decodeRpcLimits??hl,this.globalSignaturePolicy=r.globalSignaturePolicy??Ht,r.fallbackToFloodsub&&this.multicodecs.push(So),this.log=e.logger.forComponent(r.debugName??"libp2p:gossipsub"),this.opts=r,this.direct=new Set(r.directPeers.map(n=>n.id.toString())),this.seenCache=new Ps({validityMs:r.seenTTL}),this.publishedMessageIds=new Ps({validityMs:r.seenTTL}),t.msgIdFn!=null)this.msgIdFn=t.msgIdFn;else switch(this.globalSignaturePolicy){case Ht:this.msgIdFn=Pl;break;case es:this.msgIdFn=Ml;break;default:throw new Error(`Invalid globalSignaturePolicy: ${this.globalSignaturePolicy}`)}if(t.fastMsgIdFn!=null&&(this.fastMsgIdFn=t.fastMsgIdFn,this.fastMsgIdCache=new Ps({validityMs:r.seenTTL})),this.msgIdToStrFn=t.msgIdToStrFn??Al,this.mcache=t.messageCache??new Ln(r.mcacheGossip,r.mcacheLength,this.msgIdToStrFn),t.dataTransform!=null&&(this.dataTransform=t.dataTransform),t.metricsRegister!=null){if(t.metricsTopicStrToLabel==null)throw Error("Must set metricsTopicStrToLabel with metrics");let n=Math.max(...Object.values(r.scoreParams.topics).map(o=>o.meshMessageDeliveriesWindow),1e3),i=pl(t.metricsRegister,t.metricsTopicStrToLabel,{gossipPromiseExpireSec:this.opts.gossipsubIWantFollowupMs/1e3,behaviourPenaltyThreshold:r.scoreParams.behaviourPenaltyThreshold,maxMeshMessageDeliveriesWindowSec:n/1e3});i.mcacheSize.addCollect(()=>{this.onScrapeMetrics(i)});for(let o of this.multicodecs)i.protocolsEnabled.set({protocol:o},1);this.metrics=i}else this.metrics=null;this.gossipTracer=new Gn(this.opts.gossipsubIWantFollowupMs,this.msgIdToStrFn,this.metrics),this.score=new On(this.opts.scoreParams,this.metrics,this.components.logger,{scoreCacheValidityMs:r.heartbeatInterval}),this.maxInboundStreams=t.maxInboundStreams,this.maxOutboundStreams=t.maxOutboundStreams,this.runOnLimitedConnection=t.runOnLimitedConnection,this.allowedTopics=r.allowedTopics!=null?new Set(r.allowedTopics):null}[Symbol.toStringTag]="@chainsafe/libp2p-gossipsub";[Go]=["@libp2p/pubsub"];[zo]=["@libp2p/identify"];getPeers(){return[...this.peers.keys()].map(e=>Ft(e))}isStarted(){return this.status.code===Ue.started}async start(){if(this.isStarted())return;this.log("starting"),this.publishConfig=kl(this.globalSignaturePolicy,this.components.peerId,this.components.privateKey),this.outboundInflightQueue=vt({objectMode:!0}),_s(this.outboundInflightQueue,async i=>{for await(let{peerId:o,connection:a}of i)await this.createOutboundStream(o,a)}).catch(i=>{this.log.error("outbound inflight queue error",i)}),await Promise.all(this.opts.directPeers.map(async i=>{await this.components.peerStore.merge(i.id,{multiaddrs:i.addrs})}));let e=this.components.registrar;await Promise.all(this.multicodecs.map(async i=>e.handle(i,this.onIncomingStream.bind(this),{maxInboundStreams:this.maxInboundStreams,maxOutboundStreams:this.maxOutboundStreams,runOnLimitedConnection:this.runOnLimitedConnection})));let t={onConnect:this.onPeerConnected.bind(this),onDisconnect:this.onPeerDisconnected.bind(this),notifyOnLimitedConnection:this.runOnLimitedConnection},r=await Promise.all(this.multicodecs.map(async i=>e.register(i,t))),n=setTimeout(this.runHeartbeat,100);this.status={code:Ue.started,registrarTopologyIds:r,heartbeatTimeout:n,hearbeatStartMs:Date.now()+100},this.score.start(),this.directPeerInitial=setTimeout(()=>{Promise.resolve().then(async()=>{await Promise.all(Array.from(this.direct).map(async i=>this.connect(i)))}).catch(i=>{this.log(i)})},1e3),this.opts.tagMeshPeers&&(this.addEventListener("gossipsub:graft",this.tagMeshPeer),this.addEventListener("gossipsub:prune",this.untagMeshPeer)),this.log("started")}async stop(){if(this.log("stopping"),this.status.code!==Ue.started)return;let{registrarTopologyIds:e}=this.status;this.status={code:Ue.stopped},this.opts.tagMeshPeers&&(this.removeEventListener("gossipsub:graft",this.tagMeshPeer),this.removeEventListener("gossipsub:prune",this.untagMeshPeer));let t=this.components.registrar;await Promise.all(this.multicodecs.map(async n=>t.unhandle(n))),e.forEach(n=>{t.unregister(n)}),this.outboundInflightQueue.end();let r=[];for(let n of this.streamsOutbound.values())r.push(n.close());this.streamsOutbound.clear();for(let n of this.streamsInbound.values())r.push(n.close());this.streamsInbound.clear(),await Promise.all(r),this.peers.clear(),this.subscriptions.clear(),this.heartbeatTimer!=null&&(this.heartbeatTimer.cancel(),this.heartbeatTimer=null),this.score.stop(),this.mesh.clear(),this.fanout.clear(),this.fanoutLastpub.clear(),this.gossip.clear(),this.control.clear(),this.peerhave.clear(),this.iasked.clear(),this.backoff.clear(),this.outbound.clear(),this.gossipTracer.clear(),this.seenCache.clear(),this.fastMsgIdCache!=null&&this.fastMsgIdCache.clear(),this.directPeerInitial!=null&&clearTimeout(this.directPeerInitial),this.log("stopped")}dumpPeerScoreStats(){return this.score.dumpPeerScoreStats()}onIncomingStream({stream:e,connection:t}){if(!this.isStarted())return;let r=t.remotePeer;this.addPeer(r,t.direction,t.remoteAddr),this.createInboundStream(r,e),this.outboundInflightQueue.push({peerId:r,connection:t})}onPeerConnected(e,t){this.metrics?.newConnectionCount.inc({status:t.status}),!(!this.isStarted()||t.status!=="open")&&(this.addPeer(e,t.direction,t.remoteAddr),this.outboundInflightQueue.push({peerId:e,connection:t}))}onPeerDisconnected(e){this.log("connection ended %p",e),this.removePeer(e)}async createOutboundStream(e,t){if(!this.isStarted())return;let r=e.toString();if(this.peers.has(r)&&!this.streamsOutbound.has(r))try{let n=new Hn(await t.newStream(this.multicodecs,{runOnLimitedConnection:this.runOnLimitedConnection}),o=>{this.log.error("outbound pipe error",o)},{maxBufferSize:this.opts.maxOutboundBufferSize});this.log("create outbound stream %p",e),this.streamsOutbound.set(r,n);let i=n.protocol;i===So&&this.floodsubPeers.add(r),this.metrics?.peersPerProtocol.inc({protocol:i},1),this.subscriptions.size>0&&(this.log("send subscriptions to",r),this.sendSubscriptions(r,Array.from(this.subscriptions),!0))}catch(n){this.log.error("createOutboundStream error",n)}}createInboundStream(e,t){if(!this.isStarted())return;let r=e.toString();if(!this.peers.has(r))return;let n=this.streamsInbound.get(r);n!==void 0&&(this.log("replacing existing inbound steam %s",r),n.close().catch(o=>{this.log.error(o)})),this.log("create inbound stream %s",r);let i=new Kn(t,{maxDataLength:this.opts.maxInboundDataLength});this.streamsInbound.set(r,i),this.pipePeerReadStream(e,i.source).catch(o=>{this.log(o)})}addPeer(e,t,r){let n=e.toString();if(!this.peers.has(n)){this.log("new peer %p",e),this.peers.add(n),this.score.addPeer(n);let i=Vl(r);i!==null?this.score.addIP(n,i):this.log("Added peer has no IP in current address %s %s",n,r.toString()),this.outbound.has(n)||this.outbound.set(n,t==="outbound")}}removePeer(e){let t=e.toString();if(!this.peers.has(t))return;this.log("delete peer %p",e),this.peers.delete(t);let r=this.streamsOutbound.get(t),n=this.streamsInbound.get(t);r!=null&&this.metrics?.peersPerProtocol.inc({protocol:r.protocol},-1),r?.close().catch(i=>{this.log.error(i)}),n?.close().catch(i=>{this.log.error(i)}),this.streamsOutbound.delete(t),this.streamsInbound.delete(t);for(let i of this.topics.values())i.delete(t);for(let[i,o]of this.mesh)o.delete(t)&&this.metrics?.onRemoveFromMesh(i,Xe.Dc,1);for(let i of this.fanout.values())i.delete(t);this.floodsubPeers.delete(t),this.gossip.delete(t),this.control.delete(t),this.outbound.delete(t),this.score.removePeer(t),this.acceptFromWhitelist.delete(t)}get started(){return this.status.code===Ue.started}getMeshPeers(e){let t=this.mesh.get(e);return t!=null?Array.from(t):[]}getSubscribers(e){let t=this.topics.get(e);return(t!=null?Array.from(t):[]).map(r=>Ft(r))}getTopics(){return Array.from(this.subscriptions)}async pipePeerReadStream(e,t){try{await _s(t,async r=>{for await(let n of r)try{let i=n.subarray(),o=xt.decode(i,{limits:{subscriptions:this.decodeRpcLimits.maxSubscriptions,messages:this.decodeRpcLimits.maxMessages,control$:{ihave:this.decodeRpcLimits.maxIhaveMessageIDs,iwant:this.decodeRpcLimits.maxIwantMessageIDs,graft:this.decodeRpcLimits.maxControlMessages,prune:this.decodeRpcLimits.maxControlMessages,prune$:{peers:this.decodeRpcLimits.maxPeerInfos}}}});if(this.metrics?.onRpcRecv(o,i.length),this.opts.awaitRpcHandler)try{await this.handleReceivedRpc(e,o)}catch(a){this.metrics?.onRpcRecvError(),this.log(a)}else this.handleReceivedRpc(e,o).catch(a=>{this.metrics?.onRpcRecvError(),this.log(a)})}catch(i){this.metrics?.onRpcDataError(),this.log(i)}})}catch(r){this.metrics?.onPeerReadStreamError(),this.handlePeerReadStreamError(r,e)}}handlePeerReadStreamError(e,t){this.log.error(e),this.onPeerDisconnected(t)}async handleReceivedRpc(e,t){if(!this.acceptFrom(e.toString())){this.log("received message from unacceptable peer %p",e),this.metrics?.rpcRecvNotAccepted.inc();return}let r=t.subscriptions!=null?t.subscriptions.length:0,n=t.messages!=null?t.messages.length:0,i=0,o=0,a=0,c=0;if(t.control!=null&&(t.control.ihave!=null&&(i=t.control.ihave.length),t.control.iwant!=null&&(o=t.control.iwant.length),t.control.graft!=null&&(a=t.control.graft.length),t.control.prune!=null&&(c=t.control.prune.length)),this.log(`rpc.from ${e.toString()} subscriptions ${r} messages ${n} ihave ${i} iwant ${o} graft ${a} prune ${c}`),t.subscriptions!=null&&t.subscriptions.length>0){let f=[];t.subscriptions.forEach(l=>{let u=l.topic,h=l.subscribe===!0;if(u!=null){if(this.allowedTopics!=null&&!this.allowedTopics.has(u))return;this.handleReceivedSubscription(e,u,h),f.push({topic:u,subscribe:h})}}),this.safeDispatchEvent("subscription-change",{detail:{peerId:e,subscriptions:f}})}for(let f of t.messages){if(this.allowedTopics!=null&&!this.allowedTopics.has(f.topic))continue;let l=this.handleReceivedMessage(e,f).catch(u=>{this.metrics?.onMsgRecvError(f.topic),this.log(u)});this.opts.awaitRpcMessageHandler&&await l}t.control!=null&&await this.handleControlMessage(e.toString(),t.control)}handleReceivedSubscription(e,t,r){this.log("subscription update from %p topic %s",e,t);let n=this.topics.get(t);n==null&&(n=new Set,this.topics.set(t,n)),r?n.add(e.toString()):n.delete(e.toString())}async handleReceivedMessage(e,t){this.metrics?.onMsgRecvPreValidation(t.topic);let r=await this.validateReceivedMessage(e,t);this.metrics?.onPrevalidationResult(t.topic,r.code);let n=r.code;switch(n){case we.duplicate:this.score.duplicateMessage(e.toString(),r.msgIdStr,t.topic),this.gossipTracer.deliverMessage(r.msgIdStr,!0),this.mcache.observeDuplicate(r.msgIdStr,e.toString());return;case we.invalid:if(r.msgIdStr!=null){let i=r.msgIdStr;this.score.rejectMessage(e.toString(),i,t.topic,r.reason),this.gossipTracer.rejectMessage(i,r.reason)}else this.score.rejectInvalidMessage(e.toString(),t.topic);this.metrics?.onMsgRecvInvalid(t.topic,r);return;case we.valid:this.score.validateMessage(r.messageId.msgIdStr),this.gossipTracer.deliverMessage(r.messageId.msgIdStr),this.mcache.put(r.messageId,t,!this.opts.asyncValidation),this.subscriptions.has(t.topic)&&(!this.components.peerId.equals(e)||this.opts.emitSelf)&&(super.dispatchEvent(new CustomEvent("gossipsub:message",{detail:{propagationSource:e,msgId:r.messageId.msgIdStr,msg:r.msg}})),super.dispatchEvent(new CustomEvent("message",{detail:r.msg}))),this.opts.asyncValidation||this.forwardMessage(r.messageId.msgIdStr,t,e.toString());break;default:throw new Error(`Invalid validation result: ${n}`)}}async validateReceivedMessage(e,t){let r=this.fastMsgIdFn?.(t),n=r!==void 0?this.fastMsgIdCache?.get(r):void 0;if(n!=null)return{code:we.duplicate,msgIdStr:n};let i=await _l(this.globalSignaturePolicy,t);if(!i.valid)return{code:we.invalid,reason:Ie.Error,error:i.error};let o=i.message;try{this.dataTransform!=null&&(o.data=this.dataTransform.inboundTransform(t.topic,o.data))}catch(u){return this.log("Invalid message, transform failed",u),{code:we.invalid,reason:Ie.Error,error:ye.TransformFailed}}let a=await this.msgIdFn(o),c=this.msgIdToStrFn(a),f={msgId:a,msgIdStr:c};if(r!==void 0&&this.fastMsgIdCache!=null&&this.fastMsgIdCache.put(r,c)&&this.metrics?.fastMsgIdCacheCollision.inc(),this.seenCache.has(c))return{code:we.duplicate,msgIdStr:c};this.seenCache.put(c);let l=this.topicValidators.get(t.topic);if(l!=null){let u;try{u=await l(e,o)}catch(h){let p=h.code;p===ul&&(u=xe.Ignore),p===ll?u=xe.Reject:u=xe.Ignore}if(u!==xe.Accept)return{code:we.invalid,reason:Io(u),msgIdStr:c}}return{code:we.valid,messageId:f,msg:o}}getScore(e){return this.score.score(e)}sendSubscriptions(e,t,r){this.sendRpc(e,{subscriptions:t.map(n=>({topic:n,subscribe:r})),messages:[]})}async handleControlMessage(e,t){if(t===void 0)return;let r=t.ihave!=null?this.handleIHave(e,t.ihave):[],n=t.iwant!=null?this.handleIWant(e,t.iwant):[],i=t.graft!=null?await this.handleGraft(e,t.graft):[];if(t.prune!=null&&await this.handlePrune(e,t.prune),r.length===0&&n.length===0&&i.length===0)return;let o=this.sendRpc(e,it(n,{iwant:r,prune:i})),a=r[0]?.messageIDs;a!=null&&(o?this.gossipTracer.addPromise(e,a):this.metrics?.iwantPromiseUntracked.inc(1))}acceptFrom(e){if(this.direct.has(e))return!0;let t=Date.now(),r=this.acceptFromWhitelist.get(e);if(r!=null&&r.messagesAccepted<128&&r.acceptUntil>=t)return r.messagesAccepted+=1,!0;let n=this.score.score(e);return n>=0?this.acceptFromWhitelist.set(e,{messagesAccepted:0,acceptUntil:t+1e3}):this.acceptFromWhitelist.delete(e),n>=this.opts.scoreThresholds.graylistThreshold}handleIHave(e,t){if(t.length===0)return[];let r=this.score.score(e);if(r10)return this.log("IHAVE: peer %s has advertised too many times (%d) within this heartbeat interval; ignoring",e,n),this.metrics?.ihaveRcvIgnored.inc({reason:Ts.MaxIhave}),[];let i=this.iasked.get(e)??0;if(i>=5e3)return this.log("IHAVE: peer %s has already advertised too many messages (%d); ignoring",e,i),this.metrics?.ihaveRcvIgnored.inc({reason:Ts.MaxIasked}),[];let o=new Map;if(t.forEach(({topicID:f,messageIDs:l})=>{if(f==null||l==null||!this.mesh.has(f))return;let u=0;l.forEach(h=>{let p=this.msgIdToStrFn(h);this.seenCache.has(p)||(o.set(p,h),u++)}),this.metrics?.onIhaveRcv(f,l.length,u)}),o.size===0)return[];let a=o.size;a+i>5e3&&(a=5e3-i),this.log("IHAVE: Asking for %d out of %d messages from %s",a,o.size,e);let c=Array.from(o.values());return ot(c),c=c.slice(0,a),this.iasked.set(e,i+a),[{messageIDs:c}]}handleIWant(e,t){if(t.length===0)return[];let r=this.score.score(e);if(r{a?.forEach(c=>{let f=this.msgIdToStrFn(c),l=this.mcache.getWithIWantCount(f,e);if(l==null){o++;return}if(i.set(l.msg.topic,1+(i.get(l.msg.topic)??0)),l.count>3){this.log("IWANT: Peer %s has asked for message %s too many times: ignoring request",e,c);return}n.set(f,l.msg)})}),this.metrics?.onIwantRcv(i,o),n.size===0?(this.log("IWANT: Could not provide any wanted messages to %s",e),[]):(this.log("IWANT: Sending %d messages to %s",n.size,e),Array.from(n.values()))}async handleGraft(e,t){let r=[],n=this.score.score(e),i=Date.now(),o=this.opts.doPX;if(t.forEach(({topicID:c})=>{if(c==null)return;let f=this.mesh.get(c);if(f==null){o=!1;return}if(f.has(e))return;let l=this.backoff.get(c)?.get(e);if(this.direct.has(e))this.log("GRAFT: ignoring request from direct peer %s",e),r.push(c),o=!1;else if(typeof l=="number"&&i=this.opts.Dhi&&!(this.outbound.get(e)??!1)?(r.push(c),this.addBackoff(e,c)):(this.log("GRAFT: Add mesh link from %s in %s",e,c),this.score.graft(e,c),f.add(e),this.metrics?.onAddToMesh(c,_e.Subscribed,1));this.safeDispatchEvent("gossipsub:graft",{detail:{peerId:e,topic:c,direction:"inbound"}})}),r.length===0)return[];let a=!1;return Promise.all(r.map(async c=>this.makePrune(e,c,o,a)))}async handlePrune(e,t){let r=this.score.score(e);for(let{topicID:n,backoff:i,peers:o}of t){if(n==null)continue;let a=this.mesh.get(n);if(a==null)return;this.log("PRUNE: Remove mesh link to %s in %s",e,n),this.score.prune(e,n),a.has(e)&&(a.delete(e),this.metrics?.onRemoveFromMesh(n,Xe.Prune,1)),typeof i=="number"&&i>0?this.doAddBackoff(e,n,i*1e3):this.addBackoff(e,n),o!=null&&o.length>0&&(r{this.log("peer %s didn't follow up in %d IWANT requests; adding penalty",t,e),this.score.addPenalty(t,e,ks.BrokenPromise)})}clearBackoff(){if(this.heartbeatTicks%15!==0)return;let e=Date.now();this.backoff.forEach((t,r)=>{t.forEach((n,i)=>{n+1*this.opts.heartbeatInterval{this.streamsOutbound.has(t)||e.push(t)}),await Promise.all(e.map(async t=>this.connect(t)))}async pxConnect(e){e.length>this.opts.prunePeers&&(ot(e),e=e.slice(0,this.opts.prunePeers));let t=[];await Promise.all(e.map(async r=>{if(r.peerID==null)return;let n=nr(ze(r.peerID)),i=n.toString();if(!this.peers.has(i)){if(r.signedPeerRecord==null){t.push(i);return}try{if(!await this.components.peerStore.consumePeerRecord(r.signedPeerRecord,n)){this.log("bogus peer record obtained through px: could not add peer record to address book");return}t.push(i)}catch{this.log("bogus peer record obtained through px: invalid signature or not a peer record")}}})),t.length!==0&&await Promise.all(t.map(async r=>this.connect(r)))}async connect(e){this.log("Initiating connection with %s",e);let t=Ft(e),r=await this.components.connectionManager.openConnection(t);for(let n of this.multicodecs)for(let i of this.components.registrar.getTopologies(n))i.onConnect?.(t,r)}subscribe(e){if(this.status.code!==Ue.started)throw new Error("Pubsub has not started");if(!this.subscriptions.has(e)){this.subscriptions.add(e);for(let t of this.peers.keys())this.sendSubscriptions(t,[e],!0)}this.join(e)}unsubscribe(e){if(this.status.code!==Ue.started)throw new Error("Pubsub is not started");let t=this.subscriptions.delete(e);if(this.log("unsubscribe from %s - am subscribed %s",e,t),t)for(let r of this.peers.keys())this.sendSubscriptions(r,[e],!1);this.leave(e)}join(e){if(this.status.code!==Ue.started)throw new Error("Gossipsub has not started");if(this.mesh.has(e))return;this.log("JOIN %s",e),this.metrics?.onJoin(e);let t=new Set,r=this.backoff.get(e),n=this.fanout.get(e);if(n!=null&&(this.fanout.delete(e),this.fanoutLastpub.delete(e),n.forEach(i=>{!this.direct.has(i)&&this.score.score(i)>=0&&(r==null||!r.has(i))&&t.add(i)}),this.metrics?.onAddToMesh(e,_e.Fanout,t.size)),t.size!t.has(a)&&!this.direct.has(a)&&this.score.score(a)>=0&&(r==null||!r.has(a))).forEach(a=>{t.add(a)}),this.metrics?.onAddToMesh(e,_e.Random,t.size-i)}this.mesh.set(e,t),t.forEach(i=>{this.log("JOIN: Add mesh link to %s in %s",i,e),this.sendGraft(i,e)})}leave(e){if(this.status.code!==Ue.started)throw new Error("Gossipsub has not started");this.log("LEAVE %s",e),this.metrics?.onLeave(e);let t=this.mesh.get(e);t!=null&&(Promise.all(Array.from(t).map(async r=>{this.log("LEAVE: Remove mesh link to %s in %s",r,e),await this.sendPrune(r,e)})).catch(r=>{this.log("Error sending prunes to mesh peers",r)}),this.mesh.delete(e))}selectPeersToForward(e,t,r){let n=new Set,i=this.topics.get(e);i!=null&&(this.direct.forEach(a=>{i.has(a)&&t!==a&&!(r?.has(a)??!1)&&n.add(a)}),this.floodsubPeers.forEach(a=>{i.has(a)&&t!==a&&!(r?.has(a)??!1)&&this.score.score(a)>=this.opts.scoreThresholds.publishThreshold&&n.add(a)}));let o=this.mesh.get(e);return o!=null&&o.size>0&&o.forEach(a=>{t!==a&&!(r?.has(a)??!1)&&n.add(a)}),n}selectPeersToPublish(e){let t=new Set,r={direct:0,floodsub:0,mesh:0,fanout:0},n=this.topics.get(e);if(n!=null)if(this.opts.floodPublish)n.forEach(i=>{this.direct.has(i)?(t.add(i),r.direct++):this.score.score(i)>=this.opts.scoreThresholds.publishThreshold&&(t.add(i),r.floodsub++)});else{this.direct.forEach(o=>{n.has(o)&&(t.add(o),r.direct++)}),this.floodsubPeers.forEach(o=>{n.has(o)&&this.score.score(o)>=this.opts.scoreThresholds.publishThreshold&&(t.add(o),r.floodsub++)});let i=this.mesh.get(e);if(i!=null&&i.size>0)i.forEach(o=>{t.add(o),r.mesh++}),i.size!i.has(a)&&!this.direct.has(a)&&!this.floodsubPeers.has(a)&&this.score.score(a)>=this.opts.scoreThresholds.publishThreshold).forEach(a=>{t.add(a),r.mesh++});else{let o=this.fanout.get(e);if(o!=null&&o.size>0)o.forEach(a=>{t.add(a),r.fanout++});else{let a=this.getRandomGossipPeers(e,this.opts.D,c=>this.score.score(c)>=this.opts.scoreThresholds.publishThreshold);a.size>0&&(this.fanout.set(e,a),a.forEach(c=>{t.add(c),r.fanout++}))}this.fanoutLastpub.set(e,Date.now())}}return{tosend:t,tosendCount:r}}forwardMessage(e,t,r,n){r!=null&&this.score.deliverMessage(r,e,t.topic);let i=this.selectPeersToForward(t.topic,r,n);i.forEach(o=>{this.sendRpc(o,it([t]))}),this.metrics?.onForwardMsg(t.topic,i.size)}async publish(e,t,r){let n=Date.now(),i=this.dataTransform!=null?this.dataTransform.outboundTransform(e,t):t;if(this.publishConfig==null)throw Error("PublishError.Uninitialized");let{raw:o,msg:a}=await Il(this.publishConfig,e,t,i),c=await this.msgIdFn(a),f=this.msgIdToStrFn(c),l=r?.ignoreDuplicatePublishError??this.opts.ignoreDuplicatePublishError;if(this.seenCache.has(f)){if(l)return this.metrics?.onPublishDuplicateMsg(e),{recipients:[]};throw Error("PublishError.Duplicate")}let{tosend:u,tosendCount:h}=this.selectPeersToPublish(e),p=this.opts.emitSelf&&this.subscriptions.has(e),g=r?.allowPublishToZeroTopicPeers??this.opts.allowPublishToZeroTopicPeers;if(u.size===0&&!g&&!p)throw Error("PublishError.NoPeersSubscribedToTopic");this.seenCache.put(f),this.mcache.put({msgId:c,msgIdStr:f},o,!0),this.publishedMessageIds.put(f);let d=r?.batchPublish??this.opts.batchPublish,m=it([o]);if(d)this.sendRpcInBatch(u,m);else for(let v of u)this.sendRpc(v,m)||u.delete(v);let b=Date.now()-n;return this.metrics?.onPublishMsg(e,h,u.size,o.data!=null?o.data.length:0,b),p&&(u.add(this.components.peerId.toString()),super.dispatchEvent(new CustomEvent("gossipsub:message",{detail:{propagationSource:this.components.peerId,msgId:f,msg:a}})),super.dispatchEvent(new CustomEvent("message",{detail:a}))),{recipients:Array.from(u.values()).map(v=>Ft(v))}}sendRpcInBatch(e,t){let r=xt.encode(t),n=Bs.single(r);for(let i of e){let o=this.streamsOutbound.get(i);if(o==null){this.log(`Cannot send RPC to ${i} as there is no open stream to it available`),e.delete(i);continue}try{o.pushPrefixed(n)}catch(a){e.delete(i),this.log.error(`Cannot send rpc to ${i}`,a)}this.metrics?.onRpcSent(t,r.length)}}reportMessageValidationResult(e,t,r){let n;if(r===xe.Accept){if(n=this.mcache.validate(e),n!=null){let{message:o,originatingPeers:a}=n;this.score.deliverMessage(t,e,o.topic),this.forwardMessage(e,n.message,t,a)}}else if(n=this.mcache.remove(e),n!=null){let o=Io(r),{message:a,originatingPeers:c}=n;this.score.rejectMessage(t,e,a.topic,o);for(let f of c)this.score.rejectMessage(f,e,a.topic,o)}let i=this.score.messageFirstSeenTimestampMs(e);this.metrics?.onReportValidation(n,r,i)}sendGraft(e,t){let n=it([],{graft:[{topicID:t}]});this.sendRpc(e,n)}async sendPrune(e,t){let n=[await this.makePrune(e,t,this.opts.doPX,!0)],i=it([],{prune:n});this.sendRpc(e,i)}sendRpc(e,t){let r=this.streamsOutbound.get(e);if(r==null)return this.log(`Cannot send RPC to ${e} as there is no open stream to it available`),!1;let n=this.control.get(e);n!=null&&(this.piggybackControl(e,t,n),this.control.delete(e));let i=this.gossip.get(e);i!=null&&(this.piggybackGossip(e,t,i),this.gossip.delete(e));let o=xt.encode(t);try{r.push(o)}catch(a){return this.log.error(`Cannot send rpc to ${e}`,a),n!=null&&this.control.set(e,n),i!=null&&this.gossip.set(e,i),!1}if(this.metrics?.onRpcSent(t,o.length),t.control?.graft!=null)for(let a of t.control?.graft)a.topicID!=null&&this.safeDispatchEvent("gossipsub:graft",{detail:{peerId:e,topic:a.topicID,direction:"outbound"}});if(t.control?.prune!=null)for(let a of t.control?.prune)a.topicID!=null&&this.safeDispatchEvent("gossipsub:prune",{detail:{peerId:e,topic:a.topicID,direction:"outbound"}});return!0}piggybackControl(e,t,r){let n=_o(t);for(let i of r.graft)i.topicID!=null&&(this.mesh.get(i.topicID)?.has(e)??!1)&&n.control.graft.push(i);for(let i of r.prune)i.topicID!=null&&!(this.mesh.get(i.topicID)?.has(e)??!1)&&n.control.prune.push(i)}piggybackGossip(e,t,r){let n=_o(t);n.control.ihave=r}async sendGraftPrune(e,t,r){let n=this.opts.doPX,i=!1;for(let[o,a]of e){let c=a.map(u=>({topicID:u})),f=[],l=t.get(o);l!=null&&(f=await Promise.all(l.map(async u=>this.makePrune(o,u,n&&!(r.get(o)??!1),i))),t.delete(o)),this.sendRpc(o,it([],{graft:c,prune:f}))}for(let[o,a]of t){let c=await Promise.all(a.map(async f=>this.makePrune(o,f,n&&!(r.get(o)??!1),i)));this.sendRpc(o,it([],{prune:c}))}}emitGossip(e){let t=this.mcache.getGossipIDs(new Set(e.keys()));for(let[r,n]of e)this.doEmitGossip(r,n,t.get(r)??[])}doEmitGossip(e,t,r){if(r.length===0||(ot(r),r.length>5e3&&this.log("too many messages for gossip; will truncate IHAVE list (%d messages)",r.length),t.size===0))return;let n=this.opts.Dlazy,o=this.opts.gossipFactor*t.size,a=t;o>n&&(n=o),n>a.size?n=a.size:a=ot(Array.from(a)).slice(0,n),a.forEach(c=>{let f=r;r.length>5e3&&(f=ot(f.slice()).slice(0,5e3)),this.pushGossip(c,{topicID:e,messageIDs:f})})}flush(){for(let[e,t]of this.gossip.entries())this.gossip.delete(e),this.sendRpc(e,it([],{ihave:t}));for(let[e,t]of this.control.entries()){this.control.delete(e);let r=it([],{graft:t.graft,prune:t.prune});this.sendRpc(e,r)}}pushGossip(e,t){this.log("Add gossip to %s",e);let r=this.gossip.get(e)??[];this.gossip.set(e,r.concat(t))}async makePrune(e,t,r,n){if(this.score.prune(e,t),this.streamsOutbound.get(e)?.protocol===Bo)return{topicID:t,peers:[]};let i=n?this.opts.unsubcribeBackoff:this.opts.pruneBackoff,o=i/1e3;if(this.doAddBackoff(e,t,i),!r)return{topicID:t,peers:[],backoff:o};let a=this.getRandomGossipPeers(t,this.opts.prunePeers,f=>f!==e&&this.score.score(f)>=0),c=await Promise.all(Array.from(a).map(async f=>{let l=Ft(f),u;try{u=await this.components.peerStore.get(l)}catch(h){if(h.code!=="ERR_NOT_FOUND")throw h}return{peerID:l.toMultihash().bytes,signedPeerRecord:u?.peerRecordEnvelope}}));return{topicID:t,peers:c,backoff:o}}runHeartbeat=()=>{let e=this.metrics?.heartbeatDuration.startTimer();this.heartbeat().catch(t=>{this.log("Error running heartbeat",t)}).finally(()=>{if(e?.(),this.status.code===Ue.started){clearTimeout(this.status.heartbeatTimeout);let t=this.opts.heartbeatInterval-(Date.now()-this.status.hearbeatStartMs)%this.opts.heartbeatInterval;t{let d=a.get(g);return d===void 0&&(d=this.score.score(g),a.set(g,d)),d},f=new Map,l=new Map,u=new Map;this.clearBackoff(),this.peerhave.clear(),this.metrics?.cacheSize.set({cache:"iasked"},this.iasked.size),this.iasked.clear(),this.applyIwantPenalties(),this.heartbeatTicks%this.opts.directConnectTicks===0&&await this.directConnect(),this.fastMsgIdCache?.prune(),this.seenCache.prune(),this.gossipTracer.prune(),this.publishedMessageIds.prune();let h=new Map;this.mesh.forEach((g,d)=>{let m=this.topics.get(d),b=new Set,v=new Set;if(h.set(d,v),m!=null){let w=ot(Array.from(m)),S=this.backoff.get(d);for(let B of w){let I=this.streamsOutbound.get(B);if(I!=null&&this.multicodecs.includes(I.protocol)&&!g.has(B)&&!this.direct.has(B)){let M=c(B);(S==null||!S.has(B))&&M>=0&&b.add(B),M>=this.opts.scoreThresholds.gossipThreshold&&v.add(B)}}}let E=(w,S)=>{this.log("HEARTBEAT: Remove mesh link to %s in %s",w,d),this.addBackoff(w,d),g.delete(w),c(w)>=this.opts.scoreThresholds.gossipThreshold&&v.add(w),this.metrics?.onRemoveFromMesh(d,S,1);let B=l.get(w);B==null?l.set(w,[d]):B.push(d)},A=(w,S)=>{this.log("HEARTBEAT: Add mesh link to %s in %s",w,d),this.score.graft(w,d),g.add(w),v.delete(w),this.metrics?.onAddToMesh(d,S,1);let B=f.get(w);B==null?f.set(w,[d]):B.push(d)};if(g.forEach(w=>{let S=c(w);S<0&&(this.log("HEARTBEAT: Prune peer %s with negative score: score=%d, topic=%s",w,S,d),E(w,Xe.BadScore),u.set(w,!0))}),g.size{A(B,_e.NotEnough)})}if(g.size>r){let w=Array.from(g);w.sort((B,I)=>c(I)-c(B)),w=w.slice(0,n).concat(ot(w.slice(n)));let S=0;if(w.slice(0,e).forEach(B=>{(this.outbound.get(B)??!1)&&S++}),S{let D=w[M];for(let U=M;U>0;U--)w[U]=w[U-1];w[0]=D};if(S>0){let M=S;for(let D=1;D0;D++)(this.outbound.get(w[D])??!1)&&(B(D),M--)}let I=e-S;for(let M=e;M0;M++)(this.outbound.get(w[M])??!1)&&(B(M),I--)}w.slice(e).forEach(B=>{E(B,Xe.Excess)})}if(g.size>=t){let w=0;if(g.forEach(S=>{(this.outbound.get(S)??!1)&&w++}),wthis.outbound.get(I)===!0).forEach(I=>{A(I,_e.Outbound)})}}if(this.heartbeatTicks%this.opts.opportunisticGraftTicks===0&&g.size>1){let w=Array.from(g).sort((I,M)=>c(I)-c(M)),S=Math.floor(g.size/2),B=c(w[S]);if(Bc(D)>B);for(let D of M)this.log("HEARTBEAT: Opportunistically graft peer %s on topic %s",D,d),A(D,_e.Opportunistic)}}});let p=Date.now();this.fanoutLastpub.forEach((g,d)=>{g+o{let m=this.topics.get(d);g.forEach(A=>{(!(m?.has(A)??!1)||c(A)=this.opts.scoreThresholds.publishThreshold&&v.push(w),B>=this.opts.scoreThresholds.gossipThreshold&&E.add(w)}}}if(g.size{g.add(w),E?.delete(w)})}}),this.emitGossip(h),await this.sendGraftPrune(f,l,u),this.flush(),this.mcache.shift(),this.dispatchEvent(new CustomEvent("gossipsub:heartbeat"))}getRandomGossipPeers(e,t,r=()=>!0){let n=this.topics.get(e);if(n==null)return new Set;let i=[];return n.forEach(o=>{let a=this.streamsOutbound.get(o);a!=null&&this.multicodecs.includes(a.protocol)&&r(o)&&i.push(o)}),i=ot(i),t>0&&i.length>t&&(i=i.slice(0,t)),new Set(i)}onScrapeMetrics(e){e.mcacheSize.set(this.mcache.size),e.mcacheNotValidatedCount.set(this.mcache.notValidatedCount),e.cacheSize.set({cache:"direct"},this.direct.size),e.cacheSize.set({cache:"seenCache"},this.seenCache.size),e.cacheSize.set({cache:"fastMsgIdCache"},this.fastMsgIdCache?.size??0),e.cacheSize.set({cache:"publishedMessageIds"},this.publishedMessageIds.size),e.cacheSize.set({cache:"mcache"},this.mcache.size),e.cacheSize.set({cache:"score"},this.score.size),e.cacheSize.set({cache:"gossipTracer.promises"},this.gossipTracer.size),e.cacheSize.set({cache:"gossipTracer.requests"},this.gossipTracer.requestMsByMsgSize),e.cacheSize.set({cache:"topics"},this.topics.size),e.cacheSize.set({cache:"subscriptions"},this.subscriptions.size),e.cacheSize.set({cache:"mesh"},this.mesh.size),e.cacheSize.set({cache:"fanout"},this.fanout.size),e.cacheSize.set({cache:"peers"},this.peers.size),e.cacheSize.set({cache:"streamsOutbound"},this.streamsOutbound.size),e.cacheSize.set({cache:"streamsInbound"},this.streamsInbound.size),e.cacheSize.set({cache:"acceptFromWhitelist"},this.acceptFromWhitelist.size),e.cacheSize.set({cache:"gossip"},this.gossip.size),e.cacheSize.set({cache:"control"},this.control.size),e.cacheSize.set({cache:"peerhave"},this.peerhave.size),e.cacheSize.set({cache:"outbound"},this.outbound.size);let t=0,r=Date.now();e.connectedPeersBackoffSec.reset();for(let a of this.backoff.values()){t+=a.size;for(let[c,f]of a.entries())this.peers.has(c)&&e.connectedPeersBackoffSec.observe(Math.max(0,f-r)/1e3)}e.cacheSize.set({cache:"backoff"},t);for(let[a,c]of this.topics)e.topicPeersCount.set({topicStr:a},c.size);for(let[a,c]of this.mesh)e.meshPeerCounts.set({topicStr:a},c.size);let n=[],i=new Map;e.behaviourPenalty.reset();for(let a of this.peers.keys()){let c=this.score.score(a);n.push(c),i.set(a,c),e.behaviourPenalty.observe(this.score.peerStats.get(a)?.behaviourPenalty??0)}e.registerScores(n,this.opts.scoreThresholds),e.registerScorePerMesh(this.mesh,i);let o=Sl(this.peers.keys(),this.score.peerStats,this.score.params,this.score.peerIPs,e.topicStrToLabel);e.registerScoreWeights(o)}tagMeshPeer=e=>{let{peerId:t,topic:r}=e.detail;this.components.peerStore.merge(Ft(t),{tags:{[r]:{value:100}}}).catch(n=>{this.log.error("Error tagging peer %s with topic %s",t,r,n)})};untagMeshPeer=e=>{let{peerId:t,topic:r}=e.detail;this.components.peerStore.merge(Ft(t),{tags:{[r]:void 0}}).catch(n=>{this.log.error("Error untagging peer %s with topic %s",t,r,n)})}};function np(s={}){return e=>new $n(e,s)}return Ql(ip);})(); ++`)}`:`${t} :`}};Ga=Ct;M.Constructed=Ga;Ct.NAME="CONSTRUCTED";var Pr=class extends me{fromBER(e,t,r){return t}toBER(e){return We}};Pr.override="EndOfContentValueBlock";var qa,Dr=class extends he{constructor(e={}){super(e,Pr),this.idBlock.tagClass=1,this.idBlock.tagNumber=0}};qa=Dr;M.EndOfContent=qa;Dr.NAME=zs;var Ka,ps=class extends he{constructor(e={}){super(e,me),this.idBlock.tagClass=1,this.idBlock.tagNumber=5}fromBER(e,t,r){return this.lenBlock.length>0&&this.warnings.push("Non-zero length of value block for Null type"),this.idBlock.error.length||(this.blockLength+=this.idBlock.blockLength),this.lenBlock.error.length||(this.blockLength+=this.lenBlock.blockLength),this.blockLength+=r,t+r>e.byteLength?(this.error="End of input reached before message was fully decoded (inconsistent offset and length values)",-1):t+r}toBER(e,t){let r=new ArrayBuffer(2);if(!e){let n=new Uint8Array(r);n[0]=5,n[1]=0}return t&&t.write(r),r}onAsciiEncoding(){return`${this.constructor.NAME}`}};Ka=ps;M.Null=Ka;ps.NAME="NULL";var Cr=class extends gt(me){constructor({value:e,...t}={}){super(t),t.valueHex?this.valueHexView=H.BufferSourceConverter.toUint8Array(t.valueHex):this.valueHexView=new Uint8Array(1),e&&(this.value=e)}get value(){for(let e of this.valueHexView)if(e>0)return!0;return!1}set value(e){this.valueHexView[0]=e?255:0}fromBER(e,t,r){let n=H.BufferSourceConverter.toUint8Array(e);return pt(this,n,t,r)?(this.valueHexView=n.subarray(t,t+r),r>1&&this.warnings.push("Boolean value encoded in more then 1 octet"),this.isHexOnly=!0,Qi.call(this),this.blockLength=r,t+r):-1}toBER(){return this.valueHexView.slice()}toJSON(){return{...super.toJSON(),value:this.value}}};Cr.NAME="BooleanValueBlock";var Wa,Nr=class extends he{constructor(e={}){super(e,Cr),this.idBlock.tagClass=1,this.idBlock.tagNumber=1}getValue(){return this.valueBlock.value}setValue(e){this.valueBlock.value=e}onAsciiEncoding(){return`${this.constructor.NAME} : ${this.getValue}`}};Wa=Nr;M.Boolean=Wa;Nr.NAME="BOOLEAN";var Rr=class extends gt(Xe){constructor({isConstructed:e=!1,...t}={}){super(t),this.isConstructed=e}fromBER(e,t,r){let n=0;if(this.isConstructed){if(this.isHexOnly=!1,n=Xe.prototype.fromBER.call(this,e,t,r),n===-1)return n;for(let i=0;i0&&f.unusedBits>0)return this.error='Using of "unused bits" inside constructive BIT STRING allowed for least one only',-1;this.unusedBits=f.unusedBits}return n}let i=H.BufferSourceConverter.toUint8Array(e);if(!pt(this,i,t,r))return-1;let o=i.subarray(t,t+r);if(this.unusedBits=o[0],this.unusedBits>7)return this.error="Unused bits for BitString must be in range 0-7",-1;if(!this.unusedBits){let a=o.subarray(1);try{if(a.byteLength){let c=hn(a,0,a.byteLength);c.offset!==-1&&c.offset===r-1&&(this.value=[c.result])}}catch{}}return this.valueHexView=o.subarray(1),this.blockLength=o.length,t+r}toBER(e,t){if(this.isConstructed)return Xe.prototype.toBER.call(this,e,t);if(e)return new ArrayBuffer(this.valueHexView.byteLength+1);if(!this.valueHexView.byteLength)return We;let r=new Uint8Array(this.valueHexView.length+1);return r[0]=this.unusedBits,r.set(this.valueHexView,1),r.buffer}toJSON(){return{...super.toJSON(),unusedBits:this.unusedBits,isConstructed:this.isConstructed}}};Ur.NAME="BitStringValueBlock";var ja,gs=class extends he{constructor({idBlock:e={},lenBlock:t={},...r}={}){var n,i;(n=r.isConstructed)!==null&&n!==void 0||(r.isConstructed=!!(!((i=r.value)===null||i===void 0)&&i.length)),super({idBlock:{isConstructed:r.isConstructed,...e},lenBlock:{...t,isIndefiniteForm:!!r.isIndefiniteForm},...r},Ur),this.idBlock.tagClass=1,this.idBlock.tagNumber=3}fromBER(e,t,r){return this.valueBlock.isConstructed=this.idBlock.isConstructed,this.valueBlock.isIndefiniteForm=this.lenBlock.isIndefiniteForm,super.fromBER(e,t,r)}onAsciiEncoding(){if(this.valueBlock.isConstructed||this.valueBlock.value&&this.valueBlock.value.length)return Ct.prototype.onAsciiEncoding.call(this);{let e=[],t=this.valueBlock.valueHexView;for(let n of t)e.push(n.toString(2).padStart(8,"0"));let r=e.join("");return`${this.constructor.NAME} : ${r.substring(0,r.length-this.valueBlock.unusedBits)}`}}};ja=gs;M.BitString=ja;gs.NAME=Ha;var Za;function Ef(s,e){let t=new Uint8Array([0]),r=new Uint8Array(s),n=new Uint8Array(e),i=r.slice(0),o=i.length-1,a=n.slice(0),c=a.length-1,f=0,u=c=0;l--,h++){switch(!0){case h=i.length:i=Br(new Uint8Array([f%10]),i);break;default:i[o-h]=f%10}}return t[0]>0&&(i=Br(t,i)),i}function Fa(s){if(s>=Hs.length)for(let e=Hs.length;e<=s;e++){let t=new Uint8Array([0]),r=Hs[e-1].slice(0);for(let n=r.length-1;n>=0;n--){let i=new Uint8Array([(r[n]<<1)+t[0]]);t[0]=i[0]/10,r[n]=i[0]%10}t[0]>0&&(r=Br(t,r)),Hs.push(r)}return Hs[s]}function Sf(s,e){let t=0,r=new Uint8Array(s),n=new Uint8Array(e),i=r.slice(0),o=i.length-1,a=n.slice(0),c=a.length-1,f,u=0;for(let h=c;h>=0;h--,u++)switch(f=i[o-u]-a[c-u]-t,!0){case f<0:t=1,i[o-u]=f+10;break;default:t=0,i[o-u]=f}if(t>0)for(let h=o-c+1;h>=0;h--,u++)if(f=i[o-u]-t,f<0)t=1,i[o-u]=f+10;else{t=0,i[o-u]=f;break}return i.slice()}var Gs=class extends gt(me){constructor({value:e,...t}={}){super(t),this._valueDec=0,t.valueHex&&this.setValueHex(),e!==void 0&&(this.valueDec=e)}setValueHex(){this.valueHexView.length>=4?(this.warnings.push("Too big Integer for decoding, hex only"),this.isHexOnly=!0,this._valueDec=0):(this.isHexOnly=!1,this.valueHexView.length>0&&(this._valueDec=Qi.call(this)))}set valueDec(e){this._valueDec=e,this.isHexOnly=!1,this.valueHexView=new Uint8Array(Ra(e))}get valueDec(){return this._valueDec}fromDER(e,t,r,n=0){let i=this.fromBER(e,t,r);if(i===-1)return i;let o=this.valueHexView;return o[0]===0&&o[1]&128?this.valueHexView=o.subarray(1):n!==0&&o.length1&&(n=o.length+1),this.valueHexView=o.subarray(n-o.length)),i}toDER(e=!1){let t=this.valueHexView;switch(!0){case(t[0]&128)!==0:{let r=new Uint8Array(this.valueHexView.length+1);r[0]=0,r.set(t,1),this.valueHexView=r}break;case(t[0]===0&&(t[1]&128)===0):this.valueHexView=this.valueHexView.subarray(1);break}return this.toBER(e)}fromBER(e,t,r){let n=super.fromBER(e,t,r);return n===-1||this.setValueHex(),n}toBER(e){return e?new ArrayBuffer(this.valueHexView.length):this.valueHexView.slice().buffer}toJSON(){return{...super.toJSON(),valueDec:this.valueDec}}toString(){let e=this.valueHexView.length*8-1,t=new Uint8Array(this.valueHexView.length*8/3),r=0,n,i=this.valueHexView,o="",a=!1;for(let c=i.byteLength-1;c>=0;c--){n=i[c];for(let f=0;f<8;f++){if((n&1)===1)switch(r){case e:t=Sf(Fa(r),t),o="-";break;default:t=Ef(t,Fa(r))}r++,n>>=1}}for(let c=0;c0;){let i=new qs;if(n=i.fromBER(e,n,r),n===-1)return this.blockLength=0,this.error=i.error,n;this.value.length===0&&(i.isFirstSid=!0),this.blockLength+=i.blockLength,r-=i.blockLength,this.value.push(i)}return n}toBER(e){let t=[];for(let r=0;rNumber.MAX_SAFE_INTEGER){Ir();let a=BigInt(n);o.valueBigInt=a}else if(o.valueDec=parseInt(n,10),isNaN(o.valueDec))return;this.value.length||(o.isFirstSid=!0,i=!0),this.value.push(o)}while(r!==-1)}toString(){let e="",t=!1;for(let r=0;r0;){let i=new Ks;if(n=i.fromBER(e,n,r),n===-1)return this.blockLength=0,this.error=i.error,n;this.blockLength+=i.blockLength,r-=i.blockLength,this.value.push(i)}return n}toBER(e,t){let r=[];for(let n=0;n4)continue;let a=4-o.length;for(let c=o.length-1;c>=0;c--)r[n*4+c+a]=o[c]}this.valueBlock.value=e}};jr.NAME="UniversalStringValueBlock";var nc,Zr=class extends jr{constructor({...e}={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=28}};nc=Zr;M.UniversalString=nc;Zr.NAME="UniversalString";var ic,Jr=class extends Se{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=18}};ic=Jr;M.NumericString=ic;Jr.NAME="NumericString";var oc,Xr=class extends Se{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=19}};oc=Xr;M.PrintableString=oc;Xr.NAME="PrintableString";var ac,Yr=class extends Se{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=20}};ac=Yr;M.TeletexString=ac;Yr.NAME="TeletexString";var cc,Qr=class extends Se{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=21}};cc=Qr;M.VideotexString=cc;Qr.NAME="VideotexString";var lc,en=class extends Se{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=22}};lc=en;M.IA5String=lc;en.NAME="IA5String";var uc,tn=class extends Se{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=25}};uc=tn;M.GraphicString=uc;tn.NAME="GraphicString";var hc,Ws=class extends Se{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=26}};hc=Ws;M.VisibleString=hc;Ws.NAME="VisibleString";var fc,sn=class extends Se{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=27}};fc=sn;M.GeneralString=fc;sn.NAME="GeneralString";var dc,rn=class extends Se{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=29}};dc=rn;M.CharacterString=dc;rn.NAME="CharacterString";var pc,$s=class extends Ws{constructor({value:e,valueDate:t,...r}={}){if(super(r),this.year=0,this.month=0,this.day=0,this.hour=0,this.minute=0,this.second=0,e){this.fromString(e),this.valueBlock.valueHexView=new Uint8Array(e.length);for(let n=0;n=50?this.year=1900+n:this.year=2e3+n,this.month=parseInt(r[2],10),this.day=parseInt(r[3],10),this.hour=parseInt(r[4],10),this.minute=parseInt(r[5],10),this.second=parseInt(r[6],10)}toString(e="iso"){if(e==="iso"){let t=new Array(7);return t[0]=Ne(this.year<2e3?this.year-1900:this.year-2e3,2),t[1]=Ne(this.month,2),t[2]=Ne(this.day,2),t[3]=Ne(this.hour,2),t[4]=Ne(this.minute,2),t[5]=Ne(this.second,2),t[6]="Z",t.join("")}return super.toString(e)}onAsciiEncoding(){return`${this.constructor.NAME} : ${this.toDate().toISOString()}`}toJSON(){return{...super.toJSON(),year:this.year,month:this.month,day:this.day,hour:this.hour,minute:this.minute,second:this.second}}};pc=$s;M.UTCTime=pc;$s.NAME="UTCTime";var gc,nn=class extends $s{constructor(e={}){var t;super(e),(t=this.millisecond)!==null&&t!==void 0||(this.millisecond=0),this.idBlock.tagClass=1,this.idBlock.tagNumber=24}fromDate(e){super.fromDate(e),this.millisecond=e.getUTCMilliseconds()}toDate(){return new Date(Date.UTC(this.year,this.month-1,this.day,this.hour,this.minute,this.second,this.millisecond))}fromString(e){let t=!1,r="",n="",i=0,o,a=0,c=0;if(e[e.length-1]==="Z")r=e.substring(0,e.length-1),t=!0;else{let h=new Number(e[e.length-1]);if(isNaN(h.valueOf()))throw new Error("Wrong input string for conversion");r=e}if(t){if(r.indexOf("+")!==-1)throw new Error("Wrong input string for conversion");if(r.indexOf("-")!==-1)throw new Error("Wrong input string for conversion")}else{let h=1,l=r.indexOf("+"),d="";if(l===-1&&(l=r.indexOf("-"),h=-1),l!==-1){if(d=r.substring(l+1),r=r.substring(0,l),d.length!==2&&d.length!==4)throw new Error("Wrong input string for conversion");let m=parseInt(d.substring(0,2),10);if(isNaN(m.valueOf()))throw new Error("Wrong input string for conversion");if(a=h*m,d.length===4){if(m=parseInt(d.substring(2,4),10),isNaN(m.valueOf()))throw new Error("Wrong input string for conversion");c=h*m}}}let f=r.indexOf(".");if(f===-1&&(f=r.indexOf(",")),f!==-1){let h=new Number(`0${r.substring(f)}`);if(isNaN(h.valueOf()))throw new Error("Wrong input string for conversion");i=h.valueOf(),n=r.substring(0,f)}else n=r;switch(!0){case n.length===8:if(o=/(\d{4})(\d{2})(\d{2})/ig,f!==-1)throw new Error("Wrong input string for conversion");break;case n.length===10:if(o=/(\d{4})(\d{2})(\d{2})(\d{2})/ig,f!==-1){let h=60*i;this.minute=Math.floor(h),h=60*(h-this.minute),this.second=Math.floor(h),h=1e3*(h-this.second),this.millisecond=Math.floor(h)}break;case n.length===12:if(o=/(\d{4})(\d{2})(\d{2})(\d{2})(\d{2})/ig,f!==-1){let h=60*i;this.second=Math.floor(h),h=1e3*(h-this.second),this.millisecond=Math.floor(h)}break;case n.length===14:if(o=/(\d{4})(\d{2})(\d{2})(\d{2})(\d{2})(\d{2})/ig,f!==-1){let h=1e3*i;this.millisecond=Math.floor(h)}break;default:throw new Error("Wrong input string for conversion")}let u=o.exec(n);if(u===null)throw new Error("Wrong input string for conversion");for(let h=1;h0&&(e=`0${e}`);let t=e.length/2,r=new Uint8Array(t),n=0,i=0;for(;n0&&(r=`0${r}`),e.push(r)}),BigInt("0x"+e.join(""))}function Ac(s){let e=Ic(s);return kc(e)}function oo(s){let e=_c(s);if(ro(e)>pn)throw new Yt("Key size is too large");let t=fs(Je.encode({Type:ie.RSA,Data:s})),r=He(no,t);return new ys(e,r)}function kc(s){if(ro(s)>pn)throw new ce("Key size is too large");let e=Mc(s),t=fs(Je.encode({Type:ie.RSA,Data:io(e.publicKey)})),r=He(no,t);return new Js(e.privateKey,new ys(e.publicKey,r))}async function Tc(s){if(s>pn)throw new ce("Key size is too large");let e=await Ec(s),t=fs(Je.encode({Type:ie.RSA,Data:io(e.publicKey)})),r=He(no,t);return new Js(e.privateKey,new ys(e.publicKey,r))}function Mc(s){if(s==null)throw new ce("Missing key parameter");return{privateKey:s,publicKey:{kty:s.kty,n:s.n,e:s.e}}}var gn=class extends os{constructor(e,t){super(),this.finished=!1,this.destroyed=!1,Qo(e);let r=Cs(t);if(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,i=new Uint8Array(n);i.set(r.length>n?e.create().update(r).digest():r);for(let o=0;onew gn(s,e).update(t).digest();ao.create=(s,e)=>new gn(s,e);function Pc(s){s.lowS!==void 0&&Ge("lowS",s.lowS),s.prehash!==void 0&&Ge("prehash",s.prehash)}function Af(s){let e=Ls(s);Ze(e,{a:"field",b:"field"},{allowedPrivateKeyLengths:"array",wrapPrivateKey:"boolean",isTorsionFree:"function",clearCofactor:"function",allowInfinityPoint:"boolean",fromBytes:"function",toBytes:"function"});let{endo:t,Fp:r,a:n}=e;if(t){if(!r.eql(n,r.ZERO))throw new Error("Endomorphism can only be defined for Koblitz curves that have a=0");if(typeof t!="object"||typeof t.beta!="bigint"||typeof t.splitScalar!="function")throw new Error("Expected endomorphism with beta: bigint and splitScalar: function")}return Object.freeze({...e})}var{bytesToNumberBE:kf,hexToBytes:Tf}=hr,mt={Err:class extends Error{constructor(e=""){super(e)}},_tlv:{encode:(s,e)=>{let{Err:t}=mt;if(s<0||s>256)throw new t("tlv.encode: wrong tag");if(e.length&1)throw new t("tlv.encode: unpadded data");let r=e.length/2,n=Ot(r);if(n.length/2&128)throw new t("tlv.encode: long form length too big");let i=r>127?Ot(n.length/2|128):"";return`${Ot(s)}${i}${n}${e}`},decode(s,e){let{Err:t}=mt,r=0;if(s<0||s>256)throw new t("tlv.encode: wrong tag");if(e.length<2||e[r++]!==s)throw new t("tlv.decode: wrong tlv");let n=e[r++],i=!!(n&128),o=0;if(!i)o=n;else{let c=n&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 f=e.subarray(r,r+c);if(f.length!==c)throw new t("tlv.decode: length bytes not complete");if(f[0]===0)throw new t("tlv.decode(long): zero leftmost byte");for(let u of f)o=o<<8|u;if(r+=c,o<128)throw new t("tlv.decode(long): not minimal encoding")}let a=e.subarray(r,r+o);if(a.length!==o)throw new t("tlv.decode: wrong value length");return{v:a,l:e.subarray(r+o)}}},_int:{encode(s){let{Err:e}=mt;if(s{let S=g.toAffine();return ct(Uint8Array.from([4]),t.toBytes(S.x),t.toBytes(S.y))}),i=e.fromBytes||(p=>{let g=p.subarray(1),b=t.fromBytes(g.subarray(0,t.BYTES)),S=t.fromBytes(g.subarray(t.BYTES,2*t.BYTES));return{x:b,y:S}});function o(p){let{a:g,b}=e,S=t.sqr(p),y=t.mul(S,p);return t.add(t.add(y,t.mul(p,g)),b)}if(!t.eql(t.sqr(e.Gy),o(e.Gx)))throw new Error("bad generator point: equation left != right");function a(p){return Ns(p,le,e.n)}function c(p){let{allowedPrivateKeyLengths:g,nByteLength:b,wrapPrivateKey:S,n:y}=e;if(g&&typeof p!="bigint"){if(St(p)&&(p=ot(p)),typeof p!="string"||!g.includes(p.length))throw new Error("Invalid key");p=p.padStart(b*2,"0")}let I;try{I=typeof p=="bigint"?p:at(ee("private key",p,b))}catch{throw new Error(`private key must be ${b} bytes, hex or bigint, not ${typeof p}`)}return S&&(I=W(I,y)),Te("private key",I,le,y),I}function f(p){if(!(p instanceof l))throw new Error("ProjectivePoint expected")}let u=qt((p,g)=>{let{px:b,py:S,pz:y}=p;if(t.eql(y,t.ONE))return{x:b,y:S};let I=p.is0();g==null&&(g=I?t.ONE:t.inv(y));let v=t.mul(b,g),B=t.mul(S,g),x=t.mul(y,g);if(I)return{x:t.ZERO,y:t.ZERO};if(!t.eql(x,t.ONE))throw new Error("invZ was invalid");return{x:v,y:B}}),h=qt(p=>{if(p.is0()){if(e.allowInfinityPoint&&!t.is0(p.py))return;throw new Error("bad point: ZERO")}let{x:g,y:b}=p.toAffine();if(!t.isValid(g)||!t.isValid(b))throw new Error("bad point: x or y not FE");let S=t.sqr(b),y=o(g);if(!t.eql(S,y))throw new Error("bad point: equation left != right");if(!p.isTorsionFree())throw new Error("bad point: not in prime-order subgroup");return!0});class l{constructor(g,b,S){if(this.px=g,this.py=b,this.pz=S,g==null||!t.isValid(g))throw new Error("x required");if(b==null||!t.isValid(b))throw new Error("y required");if(S==null||!t.isValid(S))throw new Error("z required");Object.freeze(this)}static fromAffine(g){let{x:b,y:S}=g||{};if(!g||!t.isValid(b)||!t.isValid(S))throw new Error("invalid affine point");if(g instanceof l)throw new Error("projective point not allowed");let y=I=>t.eql(I,t.ZERO);return y(b)&&y(S)?l.ZERO:new l(b,S,t.ONE)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static normalizeZ(g){let b=t.invertBatch(g.map(S=>S.pz));return g.map((S,y)=>S.toAffine(b[y])).map(l.fromAffine)}static fromHex(g){let b=l.fromAffine(i(ee("pointHex",g)));return b.assertValidity(),b}static fromPrivateKey(g){return l.BASE.multiply(c(g))}static msm(g,b){return pr(l,r,g,b)}_setWindowSize(g){m.setWindowSize(this,g)}assertValidity(){h(this)}hasEvenY(){let{y:g}=this.toAffine();if(t.isOdd)return!t.isOdd(g);throw new Error("Field doesn't support isOdd")}equals(g){f(g);let{px:b,py:S,pz:y}=this,{px:I,py:v,pz:B}=g,x=t.eql(t.mul(b,B),t.mul(I,y)),_=t.eql(t.mul(S,B),t.mul(v,y));return x&&_}negate(){return new l(this.px,t.neg(this.py),this.pz)}double(){let{a:g,b}=e,S=t.mul(b,Dc),{px:y,py:I,pz:v}=this,B=t.ZERO,x=t.ZERO,_=t.ZERO,k=t.mul(y,y),z=t.mul(I,I),L=t.mul(v,v),U=t.mul(y,I);return U=t.add(U,U),_=t.mul(y,v),_=t.add(_,_),B=t.mul(g,_),x=t.mul(S,L),x=t.add(B,x),B=t.sub(z,x),x=t.add(z,x),x=t.mul(B,x),B=t.mul(U,B),_=t.mul(S,_),L=t.mul(g,L),U=t.sub(k,L),U=t.mul(g,U),U=t.add(U,_),_=t.add(k,k),k=t.add(_,k),k=t.add(k,L),k=t.mul(k,U),x=t.add(x,k),L=t.mul(I,v),L=t.add(L,L),k=t.mul(L,U),B=t.sub(B,k),_=t.mul(L,z),_=t.add(_,_),_=t.add(_,_),new l(B,x,_)}add(g){f(g);let{px:b,py:S,pz:y}=this,{px:I,py:v,pz:B}=g,x=t.ZERO,_=t.ZERO,k=t.ZERO,z=e.a,L=t.mul(e.b,Dc),U=t.mul(b,I),se=t.mul(S,v),T=t.mul(y,B),P=t.add(b,S),E=t.add(I,v);P=t.mul(P,E),E=t.add(U,se),P=t.sub(P,E),E=t.add(b,y);let w=t.add(I,B);return E=t.mul(E,w),w=t.add(U,T),E=t.sub(E,w),w=t.add(S,y),x=t.add(v,B),w=t.mul(w,x),x=t.add(se,T),w=t.sub(w,x),k=t.mul(z,E),x=t.mul(L,T),k=t.add(x,k),x=t.sub(se,k),k=t.add(se,k),_=t.mul(x,k),se=t.add(U,U),se=t.add(se,U),T=t.mul(z,T),E=t.mul(L,E),se=t.add(se,T),T=t.sub(U,T),T=t.mul(z,T),E=t.add(E,T),U=t.mul(se,E),_=t.add(_,U),U=t.mul(w,E),x=t.mul(P,x),x=t.sub(x,U),U=t.mul(P,se),k=t.mul(w,k),k=t.add(k,U),new l(x,_,k)}subtract(g){return this.add(g.negate())}is0(){return this.equals(l.ZERO)}wNAF(g){return m.wNAFCached(this,g,l.normalizeZ)}multiplyUnsafe(g){Te("scalar",g,bt,e.n);let b=l.ZERO;if(g===bt)return b;if(g===le)return this;let{endo:S}=e;if(!S)return m.unsafeLadder(this,g);let{k1neg:y,k1:I,k2neg:v,k2:B}=S.splitScalar(g),x=b,_=b,k=this;for(;I>bt||B>bt;)I&le&&(x=x.add(k)),B&le&&(_=_.add(k)),k=k.double(),I>>=le,B>>=le;return y&&(x=x.negate()),v&&(_=_.negate()),_=new l(t.mul(_.px,S.beta),_.py,_.pz),x.add(_)}multiply(g){let{endo:b,n:S}=e;Te("scalar",g,le,S);let y,I;if(b){let{k1neg:v,k1:B,k2neg:x,k2:_}=b.splitScalar(g),{p:k,f:z}=this.wNAF(B),{p:L,f:U}=this.wNAF(_);k=m.constTimeNegate(v,k),L=m.constTimeNegate(x,L),L=new l(t.mul(L.px,b.beta),L.py,L.pz),y=k.add(L),I=z.add(U)}else{let{p:v,f:B}=this.wNAF(g);y=v,I=B}return l.normalizeZ([y,I])[0]}multiplyAndAddUnsafe(g,b,S){let y=l.BASE,I=(B,x)=>x===bt||x===le||!B.equals(y)?B.multiplyUnsafe(x):B.multiply(x),v=I(this,b).add(I(g,S));return v.is0()?void 0:v}toAffine(g){return u(this,g)}isTorsionFree(){let{h:g,isTorsionFree:b}=e;if(g===le)return!0;if(b)return b(l,this);throw new Error("isTorsionFree() has not been declared for the elliptic curve")}clearCofactor(){let{h:g,clearCofactor:b}=e;return g===le?this:b?b(l,this):this.multiplyUnsafe(e.h)}toRawBytes(g=!0){return Ge("isCompressed",g),this.assertValidity(),n(l,this,g)}toHex(g=!0){return Ge("isCompressed",g),ot(this.toRawBytes(g))}}l.BASE=new l(e.Gx,e.Gy,t.ONE),l.ZERO=new l(t.ZERO,t.ONE,t.ZERO);let d=e.nBitLength,m=dr(l,e.endo?Math.ceil(d/2):d);return{CURVE:e,ProjectivePoint:l,normPrivateKeyToScalar:c,weierstrassEquation:o,isWithinCurveOrder:a}}function Pf(s){let e=Ls(s);return Ze(e,{hash:"hash",hmac:"function",randomBytes:"function"},{bits2int:"function",bits2int_modN:"function",lowS:"boolean"}),Object.freeze({lowS:!0,...e})}function Cc(s){let e=Pf(s),{Fp:t,n:r}=e,n=t.BYTES+1,i=2*t.BYTES+1;function o(T){return W(T,r)}function a(T){return fr(T,r)}let{ProjectivePoint:c,normPrivateKeyToScalar:f,weierstrassEquation:u,isWithinCurveOrder:h}=Mf({...e,toBytes(T,P,E){let w=P.toAffine(),A=t.toBytes(w.x),D=ct;return Ge("isCompressed",E),E?D(Uint8Array.from([P.hasEvenY()?2:3]),A):D(Uint8Array.from([4]),A,t.toBytes(w.y))},fromBytes(T){let P=T.length,E=T[0],w=T.subarray(1);if(P===n&&(E===2||E===3)){let A=at(w);if(!Ns(A,le,t.ORDER))throw new Error("Point is not on curve");let D=u(A),C;try{C=t.sqrt(D)}catch(O){let V=O instanceof Error?": "+O.message:"";throw new Error("Point is not on curve"+V)}let N=(C&le)===le;return(E&1)===1!==N&&(C=t.neg(C)),{x:A,y:C}}else if(P===i&&E===4){let A=t.fromBytes(w.subarray(0,t.BYTES)),D=t.fromBytes(w.subarray(t.BYTES,2*t.BYTES));return{x:A,y:D}}else throw new Error(`Point of length ${P} was invalid. Expected ${n} compressed bytes or ${i} uncompressed bytes`)}}),l=T=>ot(It(T,e.nByteLength));function d(T){let P=r>>le;return T>P}function m(T){return d(T)?o(-T):T}let p=(T,P,E)=>at(T.slice(P,E));class g{constructor(P,E,w){this.r=P,this.s=E,this.recovery=w,this.assertValidity()}static fromCompact(P){let E=e.nByteLength;return P=ee("compactSignature",P,E*2),new g(p(P,0,E),p(P,E,2*E))}static fromDER(P){let{r:E,s:w}=mt.toSig(ee("DER",P));return new g(E,w)}assertValidity(){Te("r",this.r,le,r),Te("s",this.s,le,r)}addRecoveryBit(P){return new g(this.r,this.s,P)}recoverPublicKey(P){let{r:E,s:w,recovery:A}=this,D=B(ee("msgHash",P));if(A==null||![0,1,2,3].includes(A))throw new Error("recovery id invalid");let C=A===2||A===3?E+e.n:E;if(C>=t.ORDER)throw new Error("recovery id 2 or 3 invalid");let N=A&1?"03":"02",F=c.fromHex(N+l(C)),O=a(C),V=o(-D*O),K=o(w*O),j=c.BASE.multiplyAndAddUnsafe(F,V,K);if(!j)throw new Error("point at infinify");return j.assertValidity(),j}hasHighS(){return d(this.s)}normalizeS(){return this.hasHighS()?new g(this.r,o(-this.s),this.recovery):this}toDERRawBytes(){return zt(this.toDERHex())}toDERHex(){return mt.hexFromSig({r:this.r,s:this.s})}toCompactRawBytes(){return zt(this.toCompactHex())}toCompactHex(){return l(this.r)+l(this.s)}}let b={isValidPrivateKey(T){try{return f(T),!0}catch{return!1}},normPrivateKeyToScalar:f,randomPrivateKey:()=>{let T=hi(e.n);return fa(e.randomBytes(T),e.n)},precompute(T=8,P=c.BASE){return P._setWindowSize(T),P.multiply(BigInt(3)),P}};function S(T,P=!0){return c.fromPrivateKey(T).toRawBytes(P)}function y(T){let P=St(T),E=typeof T=="string",w=(P||E)&&T.length;return P?w===n||w===i:E?w===2*n||w===2*i:T instanceof c}function I(T,P,E=!0){if(y(T))throw new Error("first arg must be private key");if(!y(P))throw new Error("second arg must be public key");return c.fromHex(P).multiply(f(T)).toRawBytes(E)}let v=e.bits2int||function(T){let P=at(T),E=T.length*8-e.nBitLength;return E>0?P>>BigInt(E):P},B=e.bits2int_modN||function(T){return o(v(T))},x=Rs(e.nBitLength);function _(T){return Te(`num < 2^${e.nBitLength}`,T,bt,x),It(T,e.nByteLength)}function k(T,P,E=z){if(["recovered","canonical"].some(ae=>ae in E))throw new Error("sign() legacy options not supported");let{hash:w,randomBytes:A}=e,{lowS:D,prehash:C,extraEntropy:N}=E;D==null&&(D=!0),T=ee("msgHash",T),Pc(E),C&&(T=ee("prehashed msgHash",w(T)));let F=B(T),O=f(P),V=[_(O),_(F)];if(N!=null&&N!==!1){let ae=N===!0?A(t.BYTES):N;V.push(ee("extraEntropy",ae))}let K=ct(...V),j=F;function oe(ae){let ue=v(ae);if(!h(ue))return;let we=a(ue),re=c.BASE.multiply(ue).toAffine(),Ae=o(re.x);if(Ae===bt)return;let st=o(we*o(j+Ae*O));if(st===bt)return;let ks=(re.x===Ae?0:2)|Number(re.y&le),Ts=st;return D&&d(st)&&(Ts=m(st),ks^=1),new g(Ae,Ts,ks)}return{seed:K,k2sig:oe}}let z={lowS:e.lowS,prehash:!1},L={lowS:e.lowS,prehash:!1};function U(T,P,E=z){let{seed:w,k2sig:A}=k(T,P,E),D=e;return ai(D.hash.outputLen,D.nByteLength,D.hmac)(w,A)}c.BASE._setWindowSize(8);function se(T,P,E,w=L){let A=T;if(P=ee("msgHash",P),E=ee("publicKey",E),"strict"in w)throw new Error("options.strict was renamed to lowS");Pc(w);let{lowS:D,prehash:C}=w,N,F;try{if(typeof A=="string"||St(A))try{N=g.fromDER(A)}catch(re){if(!(re instanceof mt.Err))throw re;N=g.fromCompact(A)}else if(typeof A=="object"&&typeof A.r=="bigint"&&typeof A.s=="bigint"){let{r:re,s:Ae}=A;N=new g(re,Ae)}else throw new Error("PARSE");F=c.fromHex(E)}catch(re){if(re.message==="PARSE")throw new Error("signature must be Signature instance, Uint8Array or hex string");return!1}if(D&&N.hasHighS())return!1;C&&(P=e.hash(P));let{r:O,s:V}=N,K=B(P),j=a(V),oe=o(K*j),ae=o(O*j),ue=c.BASE.multiplyAndAddUnsafe(F,oe,ae)?.toAffine();return ue?o(ue.x)===O:!1}return{CURVE:e,getPublicKey:S,getSharedSecret:I,sign:U,verify:se,ProjectivePoint:c,Signature:g,utils:b}}function Df(s){return{hash:s,hmac:(e,...t)=>ao(s,e,Qn(...t)),randomBytes:as}}function Nc(s,e){let t=r=>Cc({...s,...Df(r)});return Object.freeze({...t(e),create:t})}var Uc=BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"),Rc=BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),Cf=BigInt(1),co=BigInt(2),Lc=(s,e)=>(s+e/co)/e;function Nf(s){let e=Uc,t=BigInt(3),r=BigInt(6),n=BigInt(11),i=BigInt(22),o=BigInt(23),a=BigInt(44),c=BigInt(88),f=s*s*s%e,u=f*f*s%e,h=J(u,t,e)*u%e,l=J(h,t,e)*u%e,d=J(l,co,e)*f%e,m=J(d,n,e)*d%e,p=J(m,i,e)*m%e,g=J(p,a,e)*p%e,b=J(g,c,e)*g%e,S=J(b,a,e)*p%e,y=J(S,t,e)*u%e,I=J(y,o,e)*m%e,v=J(I,r,e)*f%e,B=J(v,co,e);if(!lo.eql(lo.sqr(B),s))throw new Error("Cannot find square root");return B}var lo=_t(Uc,void 0,void 0,{sqrt:Nf}),Zt=Nc({a:BigInt(0),b:BigInt(7),Fp:lo,n:Rc,Gx:BigInt("55066263022277343669578718895168534326250603453777594175500187360389116729240"),Gy:BigInt("32670510020758816978083085130507043184471273380659243275938904335757337482424"),h:BigInt(1),lowS:!0,endo:{beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee"),splitScalar:s=>{let e=Rc,t=BigInt("0x3086d221a7d46bcde86c90e49284eb15"),r=-Cf*BigInt("0xe4437ed6010e88286f547fa90abfe4c3"),n=BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"),i=t,o=BigInt("0x100000000000000000000000000000000"),a=Lc(i*s,e),c=Lc(-r*s,e),f=W(s-a*t-c*n,e),u=W(-a*r-c*i,e),h=f>o,l=u>o;if(h&&(f=e-f),l&&(u=e-u),f>o||u>o)throw new Error("splitScalar: Endomorphism failed, k="+s);return{k1neg:h,k1:f,k2neg:l,k2:u}}}},fs),M0=BigInt(0);var P0=Zt.ProjectivePoint;function Rt(s,e){e==null&&(e=s.reduce((n,i)=>n+i.length,0));let t=de(e),r=0;for(let n of s)t.set(n,r),r+=n.length;return t}function Fc(s){return s==null?!1:typeof s.then=="function"&&typeof s.catch=="function"&&typeof s.finally=="function"}function Vc(s,e,t){let r=Tt.digest(t instanceof Uint8Array?t:t.subarray());if(Fc(r))return r.then(({digest:n})=>Zt.verify(e,n,s)).catch(n=>{throw new js(String(n))});try{return Zt.verify(e,r.digest,s)}catch(n){throw new js(String(n))}}var mn=class{type="secp256k1";raw;_key;constructor(e){this._key=Oc(e),this.raw=Hc(this._key)}toMultihash(){return nt.digest(At(this))}toCID(){return ke.createV1(114,this.toMultihash())}toString(){return te.encode(this.toMultihash().bytes).substring(1)}equals(e){return e==null||!(e.raw instanceof Uint8Array)?!1:Ue(this.raw,e.raw)}verify(e,t){return Vc(this._key,t,e)}};function uo(s){return new mn(s)}function Hc(s){return Zt.ProjectivePoint.fromHex(s).toRawBytes(!0)}function Oc(s){try{return Zt.ProjectivePoint.fromHex(s),s}catch(e){throw new Yt(String(e))}}function Xs(s){let{Type:e,Data:t}=Je.decode(s),r=t??new Uint8Array;switch(e){case ie.RSA:return oo(r);case ie.Ed25519:return mi(r);case ie.secp256k1:return uo(r);default:throw new Qt}}function zc(s){let{Type:e,Data:t}=Je.decode(s.digest),r=t??new Uint8Array;switch(e){case ie.Ed25519:return mi(r);case ie.secp256k1:return uo(r);default:throw new Qt}}function At(s){return Je.encode({Type:ie[s.type],Data:s.raw})}var Gc=Symbol.for("nodejs.util.inspect.custom"),Rf=114,Ys=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()})`}[Gn]=!0;toString(){return this.string==null&&(this.string=te.encode(this.multihash.bytes).slice(1)),this.string}toMultihash(){return this.multihash}toCID(){return ke.createV1(Rf,this.multihash)}toJSON(){return this.toString()}equals(e){if(e==null)return!1;if(e instanceof Uint8Array)return Ue(this.multihash.bytes,e);if(typeof e=="string")return this.toString()===e;if(e?.toMultihash()?.bytes!=null)return Ue(this.multihash.bytes,e.toMultihash().bytes);throw new Error("not valid Id")}[Gc](){return`PeerId(${this.toString()})`}},bn=class extends Ys{type="RSA";publicKey;constructor(e){super({...e,type:"RSA"}),this.publicKey=e.publicKey}},yn=class extends Ys{type="Ed25519";publicKey;constructor(e){super({...e,type:"Ed25519"}),this.publicKey=e.publicKey}},wn=class extends Ys{type="secp256k1";publicKey;constructor(e){super({...e,type:"secp256k1"}),this.publicKey=e.publicKey}},Lf=2336,vn=class{type="url";multihash;publicKey;url;constructor(e){this.url=e.toString(),this.multihash=nt.digest(X(this.url))}[Gc](){return`PeerId(${this.url})`}[Gn]=!0;toString(){return this.toCID().toString()}toMultihash(){return this.multihash}toCID(){return ke.createV1(Lf,this.toMultihash())}toJSON(){return this.toString()}equals(e){return e==null?!1:(e instanceof Uint8Array&&(e=$(e)),e.toString()===this.toString())}};function Lt(s,e){let t;if(s.charAt(0)==="1"||s.charAt(0)==="Q")t=Oe(te.decode(`z${s}`));else{if(e==null)throw new ce('Please pass a multibase decoder for strings that do not start with "1" or "Q"');t=Oe(e.decode(s))}return Qs(t)}function Qs(s){if(Ff(s))return new bn({multihash:s});if(Uf(s))try{let e=zc(s);if(e.type==="Ed25519")return new yn({multihash:s,publicKey:e});if(e.type==="secp256k1")return new wn({multihash:s,publicKey:e})}catch{let t=$(s.digest);return new vn(new URL(t))}throw new nr("Supplied PeerID Multihash is invalid")}function Uf(s){return s.code===nt.code}function Ff(s){return s.code===Tt.code}var Kc=Symbol.for("@achingbrain/uint8arraylist");function qc(s,e){if(e==null||e<0)throw new RangeError("index is out of bounds");let t=0;for(let r of s){let n=t+r.byteLength;if(e0&&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 r of e)if(r instanceof Uint8Array)t+=r.byteLength,this.bufs.push(r);else if(xn(r))t+=r.byteLength,this.bufs.push(...r.bufs);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 r of e.reverse())if(r instanceof Uint8Array)t+=r.byteLength,this.bufs.unshift(r);else if(xn(r))t+=r.byteLength,this.bufs.unshift(...r.bufs);else throw new Error("Could not prepend value, must be an Uint8Array or a Uint8ArrayList");this.length+=t}get(e){let t=qc(this.bufs,e);return t.buf[t.index]}set(e,t){let r=qc(this.bufs,e);r.buf[r.index]=t}write(e,t=0){if(e instanceof Uint8Array)for(let r=0;r0;)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:r,length:n}=this._subList(e,t);return Rt(r,n)}subarray(e,t){let{bufs:r,length:n}=this._subList(e,t);return r.length===1?r[0]:Rt(r,n)}sublist(e,t){let{bufs:r,length:n}=this._subList(e,t),i=new s;return i.length=n,i.bufs=[...r],i}_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 r=[],n=0;for(let i=0;i=c)continue;let f=e>=a&&ea&&t<=c;if(f&&u){if(e===a&&t===c){r.push(o);break}let h=e-a;r.push(o.subarray(h,h+(t-e)));break}if(f){if(e===0){r.push(o);continue}r.push(o.subarray(e-a));continue}if(u){if(t===c){r.push(o);break}r.push(o.subarray(0,t-a));break}r.push(o)}return{bufs:r,length:t-e}}indexOf(e,t=0){if(!xn(e)&&!(e instanceof Uint8Array))throw new TypeError('The "value" argument must be a Uint8ArrayList or Uint8Array');let r=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 n=r.byteLength;if(n===0)throw new TypeError("search must be at least 1 byte long");let i=256,o=new Int32Array(i);for(let h=0;h=0;l--){let d=this.get(h+l);if(r[l]!==d){u=Math.max(1,l-a[d]);break}}if(u===0)return h}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 r=de(1);new DataView(r.buffer,r.byteOffset,r.byteLength).setInt8(0,t),this.write(r,e)}getInt16(e,t){let r=this.subarray(e,e+2);return new DataView(r.buffer,r.byteOffset,r.byteLength).getInt16(0,t)}setInt16(e,t,r){let n=lt(2);new DataView(n.buffer,n.byteOffset,n.byteLength).setInt16(0,t,r),this.write(n,e)}getInt32(e,t){let r=this.subarray(e,e+4);return new DataView(r.buffer,r.byteOffset,r.byteLength).getInt32(0,t)}setInt32(e,t,r){let n=lt(4);new DataView(n.buffer,n.byteOffset,n.byteLength).setInt32(0,t,r),this.write(n,e)}getBigInt64(e,t){let r=this.subarray(e,e+8);return new DataView(r.buffer,r.byteOffset,r.byteLength).getBigInt64(0,t)}setBigInt64(e,t,r){let n=lt(8);new DataView(n.buffer,n.byteOffset,n.byteLength).setBigInt64(0,t,r),this.write(n,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 r=de(1);new DataView(r.buffer,r.byteOffset,r.byteLength).setUint8(0,t),this.write(r,e)}getUint16(e,t){let r=this.subarray(e,e+2);return new DataView(r.buffer,r.byteOffset,r.byteLength).getUint16(0,t)}setUint16(e,t,r){let n=lt(2);new DataView(n.buffer,n.byteOffset,n.byteLength).setUint16(0,t,r),this.write(n,e)}getUint32(e,t){let r=this.subarray(e,e+4);return new DataView(r.buffer,r.byteOffset,r.byteLength).getUint32(0,t)}setUint32(e,t,r){let n=lt(4);new DataView(n.buffer,n.byteOffset,n.byteLength).setUint32(0,t,r),this.write(n,e)}getBigUint64(e,t){let r=this.subarray(e,e+8);return new DataView(r.buffer,r.byteOffset,r.byteLength).getBigUint64(0,t)}setBigUint64(e,t,r){let n=lt(8);new DataView(n.buffer,n.byteOffset,n.byteLength).setBigUint64(0,t,r),this.write(n,e)}getFloat32(e,t){let r=this.subarray(e,e+4);return new DataView(r.buffer,r.byteOffset,r.byteLength).getFloat32(0,t)}setFloat32(e,t,r){let n=lt(4);new DataView(n.buffer,n.byteOffset,n.byteLength).setFloat32(0,t,r),this.write(n,e)}getFloat64(e,t){let r=this.subarray(e,e+8);return new DataView(r.buffer,r.byteOffset,r.byteLength).getFloat64(0,t)}setFloat64(e,t,r){let n=lt(8);new DataView(n.buffer,n.byteOffset,n.byteLength).setFloat64(0,t,r),this.write(n,e)}equals(e){if(e==null||!(e instanceof s)||e.bufs.length!==this.bufs.length)return!1;for(let t=0;tn+i.byteLength,0)),r.length=t,r}};function En(s){return s[Symbol.asyncIterator]!=null}var Sn=s=>{let e=Ee(s),t=de(e);return Si(s,t),Sn.bytes=e,t};Sn.bytes=0;function vs(s,e){e=e??{};let t=e.lengthEncoder??Sn;function*r(n){let i=t(n.byteLength);i instanceof Uint8Array?yield i:yield*i,n instanceof Uint8Array?yield n:yield*n}return En(s)?async function*(){for await(let n of s)yield*r(n)}():function*(){for(let n of s)yield*r(n)}()}vs.single=(s,e)=>{e=e??{};let t=e.lengthEncoder??Sn;return new ws(t(s.byteLength),s)};var Bn=class extends Error{name="InvalidMessageLengthError";code="ERR_INVALID_MSG_LENGTH"},In=class extends Error{name="InvalidDataLengthError";code="ERR_MSG_DATA_TOO_LONG"},_n=class extends Error{name="InvalidDataLengthLengthError";code="ERR_MSG_LENGTH_TOO_LONG"},er=class extends Error{name="UnexpectedEOFError";code="ERR_UNEXPECTED_EOF"};var Vf=8,Hf=1024*1024*4,Jt;(function(s){s[s.LENGTH=0]="LENGTH",s[s.DATA=1]="DATA"})(Jt||(Jt={}));var ho=s=>{let e=us(s);return ho.bytes=Ee(e),e};ho.bytes=0;function tr(s,e){let t=new ws,r=Jt.LENGTH,n=-1,i=e?.lengthDecoder??ho,o=e?.maxLengthLength??Vf,a=e?.maxDataLength??Hf;function*c(){for(;t.byteLength>0;){if(r===Jt.LENGTH)try{if(n=i(t),n<0)throw new Bn("Invalid message length");if(n>a)throw new In("Message length too long");let f=i.bytes;t.consume(f),e?.onLength!=null&&e.onLength(n),r=Jt.DATA}catch(f){if(f instanceof RangeError){if(t.byteLength>o)throw new _n("Message length length too long");break}throw f}if(r===Jt.DATA){if(t.byteLength0)throw new er("Unexpected end of input")}():function*(){for(let f of s)t.append(f),yield*c();if(t.byteLength>0)throw new er("Unexpected end of input")}()}tr.fromReader=(s,e)=>{let t=1,r=async function*(){for(;;)try{let{done:i,value:o}=await s.next(t);if(i===!0)return;o!=null&&(yield o)}catch(i){if(i.code==="ERR_UNDER_READ")return{done:!0,value:null};throw i}finally{t=1}}();return tr(r,{...e??{},onLength:i=>{t=i}})};function An(){let s={};return s.promise=new Promise((e,t)=>{s.resolve=e,s.reject=t}),s}var kn=class{buffer;mask;top;btm;next;constructor(e){if(!(e>0)||e-1&e)throw new Error("Max size for a FixedFIFO should be a power of two");this.buffer=new Array(e),this.mask=e-1,this.top=0,this.btm=0,this.next=null}push(e){return this.buffer[this.top]!==void 0?!1:(this.buffer[this.top]=e,this.top=this.top+1&this.mask,!0)}shift(){let e=this.buffer[this.btm];if(e!==void 0)return this.buffer[this.btm]=void 0,this.btm=this.btm+1&this.mask,e}isEmpty(){return this.buffer[this.btm]===void 0}},xs=class{size;hwm;head;tail;constructor(e={}){this.hwm=e.splitLimit??16,this.head=new kn(this.hwm),this.tail=this.head,this.size=0}calculateSize(e){return e?.byteLength!=null?e.byteLength:1}push(e){if(e?.value!=null&&(this.size+=this.calculateSize(e.value)),!this.head.push(e)){let t=this.head;this.head=t.next=new kn(2*this.head.buffer.length),this.head.push(e)}}shift(){let e=this.tail.shift();if(e===void 0&&this.tail.next!=null){let t=this.tail.next;this.tail.next=null,this.tail=t,e=this.tail.shift()}return e?.value!=null&&(this.size-=this.calculateSize(e.value)),e}isEmpty(){return this.head.isEmpty()}};var fo=class extends Error{type;code;constructor(e,t){super(e??"The operation was aborted"),this.type="aborted",this.code=t??"ABORT_ERR"}};function yt(s={}){return Of(t=>{let r=t.shift();if(r==null)return{done:!0};if(r.error!=null)throw r.error;return{done:r.done===!0,value:r.value}},s)}function Of(s,e){e=e??{};let t=e.onEnd,r=new xs,n,i,o,a=An(),c=async()=>{try{return r.isEmpty()?o?{done:!0}:await new Promise((g,b)=>{i=S=>{i=null,r.push(S);try{g(s(r))}catch(y){b(y)}return n}}):s(r)}finally{r.isEmpty()&&queueMicrotask(()=>{a.resolve(),a=An()})}},f=g=>i!=null?i(g):(r.push(g),n),u=g=>(r=new xs,i!=null?i({error:g}):(r.push({error:g}),n)),h=g=>{if(o)return n;if(e?.objectMode!==!0&&g?.byteLength==null)throw new Error("objectMode was not true but tried to push non-Uint8Array value");return f({done:!1,value:g})},l=g=>o?n:(o=!0,g!=null?u(g):f({done:!0})),d=()=>(r=new xs,l(),{done:!0}),m=g=>(l(g),{done:!0});if(n={[Symbol.asyncIterator](){return this},next:c,return:d,throw:m,push:h,end:l,get readableLength(){return r.size},onEmpty:async g=>{let b=g?.signal;if(b?.throwIfAborted(),r.isEmpty())return;let S,y;b!=null&&(S=new Promise((I,v)=>{y=()=>{v(new fo)},b.addEventListener("abort",y)}));try{await Promise.race([a.promise,S])}finally{y!=null&&b!=null&&b?.removeEventListener("abort",y)}}},t==null)return n;let p=n;return n={[Symbol.asyncIterator](){return this},next(){return p.next()},throw(g){return p.throw(g),t!=null&&(t(g),t=void 0),{done:!0}},return(){return p.return(),t!=null&&(t(),t=void 0),{done:!0}},push:h,end(g){return p.end(g),t!=null&&(t(g),t=void 0),n},get readableLength(){return p.readableLength},onEmpty:g=>p.onEmpty(g)},n}function zf(s){return s[Symbol.asyncIterator]!=null}function Gf(...s){let e=[];for(let t of s)zf(t)||e.push(t);return e.length===s.length?function*(){for(let t of e)yield*t}():async function*(){let t=yt({objectMode:!0});Promise.resolve().then(async()=>{try{await Promise.all(s.map(async r=>{for await(let n of r)t.push(n)})),t.end()}catch(r){t.end(r)}}),yield*t}()}var Wc=Gf;function Es(s,...e){if(s==null)throw new Error("Empty pipeline");if(po(s)){let r=s;s=()=>r.source}else if(jc(s)||$c(s)){let r=s;s=()=>r}let t=[s,...e];if(t.length>1&&po(t[t.length-1])&&(t[t.length-1]=t[t.length-1].sink),t.length>2)for(let r=1;r{let e;for(;s.length>0;)e=s.shift()(e);return e},$c=s=>s?.[Symbol.asyncIterator]!=null,jc=s=>s?.[Symbol.iterator]!=null,po=s=>s==null?!1:s.sink!=null&&s.source!=null,Kf=s=>e=>{let t=s.sink(e);if(t?.then!=null){let r=yt({objectMode:!0});t.then(()=>{r.end()},o=>{r.end(o)});let n,i=s.source;if($c(i))n=async function*(){yield*i,r.end()};else if(jc(i))n=function*(){yield*i,r.end()};else throw new Error("Unknown duplex source type - must be Iterable or AsyncIterable");return Wc(r,n())}return s.source};var go="/floodsub/1.0.0",mo="/meshsub/1.0.0",Tn="/meshsub/1.1.0";var Zc="ERR_TOPIC_VALIDATOR_REJECT",Jc="ERR_TOPIC_VALIDATOR_IGNORE";var Xc={maxSubscriptions:1/0,maxMessages:1/0,maxIhaveMessageIDs:1/0,maxIwantMessageIDs:1/0,maxControlMessages:1/0,maxPeerInfos:1/0};var wt;(function(s){let e;(function(u){let h;u.codec=()=>(h==null&&(h=Ce((l,d,m={})=>{m.lengthDelimited!==!1&&d.fork(),l.subscribe!=null&&(d.uint32(8),d.bool(l.subscribe)),l.topic!=null&&(d.uint32(18),d.string(l.topic)),m.lengthDelimited!==!1&&d.ldelim()},(l,d,m={})=>{let p={},g=d==null?l.len:l.pos+d;for(;l.pos>>3){case 1:{p.subscribe=l.bool();break}case 2:{p.topic=l.string();break}default:{l.skipType(b&7);break}}}return p})),h),u.encode=l=>De(l,u.codec()),u.decode=(l,d)=>Pe(l,u.codec(),d)})(e=s.SubOpts||(s.SubOpts={}));let t;(function(u){let h;u.codec=()=>(h==null&&(h=Ce((l,d,m={})=>{m.lengthDelimited!==!1&&d.fork(),l.from!=null&&(d.uint32(10),d.bytes(l.from)),l.data!=null&&(d.uint32(18),d.bytes(l.data)),l.seqno!=null&&(d.uint32(26),d.bytes(l.seqno)),l.topic!=null&&l.topic!==""&&(d.uint32(34),d.string(l.topic)),l.signature!=null&&(d.uint32(42),d.bytes(l.signature)),l.key!=null&&(d.uint32(50),d.bytes(l.key)),m.lengthDelimited!==!1&&d.ldelim()},(l,d,m={})=>{let p={topic:""},g=d==null?l.len:l.pos+d;for(;l.pos>>3){case 1:{p.from=l.bytes();break}case 2:{p.data=l.bytes();break}case 3:{p.seqno=l.bytes();break}case 4:{p.topic=l.string();break}case 5:{p.signature=l.bytes();break}case 6:{p.key=l.bytes();break}default:{l.skipType(b&7);break}}}return p})),h),u.encode=l=>De(l,u.codec()),u.decode=(l,d)=>Pe(l,u.codec(),d)})(t=s.Message||(s.Message={}));let r;(function(u){let h;u.codec=()=>(h==null&&(h=Ce((l,d,m={})=>{if(m.lengthDelimited!==!1&&d.fork(),l.ihave!=null)for(let p of l.ihave)d.uint32(10),s.ControlIHave.codec().encode(p,d);if(l.iwant!=null)for(let p of l.iwant)d.uint32(18),s.ControlIWant.codec().encode(p,d);if(l.graft!=null)for(let p of l.graft)d.uint32(26),s.ControlGraft.codec().encode(p,d);if(l.prune!=null)for(let p of l.prune)d.uint32(34),s.ControlPrune.codec().encode(p,d);m.lengthDelimited!==!1&&d.ldelim()},(l,d,m={})=>{let p={ihave:[],iwant:[],graft:[],prune:[]},g=d==null?l.len:l.pos+d;for(;l.pos>>3){case 1:{if(m.limits?.ihave!=null&&p.ihave.length===m.limits.ihave)throw new Fe('Decode error - map field "ihave" had too many elements');p.ihave.push(s.ControlIHave.codec().decode(l,l.uint32(),{limits:m.limits?.ihave$}));break}case 2:{if(m.limits?.iwant!=null&&p.iwant.length===m.limits.iwant)throw new Fe('Decode error - map field "iwant" had too many elements');p.iwant.push(s.ControlIWant.codec().decode(l,l.uint32(),{limits:m.limits?.iwant$}));break}case 3:{if(m.limits?.graft!=null&&p.graft.length===m.limits.graft)throw new Fe('Decode error - map field "graft" had too many elements');p.graft.push(s.ControlGraft.codec().decode(l,l.uint32(),{limits:m.limits?.graft$}));break}case 4:{if(m.limits?.prune!=null&&p.prune.length===m.limits.prune)throw new Fe('Decode error - map field "prune" had too many elements');p.prune.push(s.ControlPrune.codec().decode(l,l.uint32(),{limits:m.limits?.prune$}));break}default:{l.skipType(b&7);break}}}return p})),h),u.encode=l=>De(l,u.codec()),u.decode=(l,d)=>Pe(l,u.codec(),d)})(r=s.ControlMessage||(s.ControlMessage={}));let n;(function(u){let h;u.codec=()=>(h==null&&(h=Ce((l,d,m={})=>{if(m.lengthDelimited!==!1&&d.fork(),l.topicID!=null&&(d.uint32(10),d.string(l.topicID)),l.messageIDs!=null)for(let p of l.messageIDs)d.uint32(18),d.bytes(p);m.lengthDelimited!==!1&&d.ldelim()},(l,d,m={})=>{let p={messageIDs:[]},g=d==null?l.len:l.pos+d;for(;l.pos>>3){case 1:{p.topicID=l.string();break}case 2:{if(m.limits?.messageIDs!=null&&p.messageIDs.length===m.limits.messageIDs)throw new Fe('Decode error - map field "messageIDs" had too many elements');p.messageIDs.push(l.bytes());break}default:{l.skipType(b&7);break}}}return p})),h),u.encode=l=>De(l,u.codec()),u.decode=(l,d)=>Pe(l,u.codec(),d)})(n=s.ControlIHave||(s.ControlIHave={}));let i;(function(u){let h;u.codec=()=>(h==null&&(h=Ce((l,d,m={})=>{if(m.lengthDelimited!==!1&&d.fork(),l.messageIDs!=null)for(let p of l.messageIDs)d.uint32(10),d.bytes(p);m.lengthDelimited!==!1&&d.ldelim()},(l,d,m={})=>{let p={messageIDs:[]},g=d==null?l.len:l.pos+d;for(;l.pos>>3){case 1:{if(m.limits?.messageIDs!=null&&p.messageIDs.length===m.limits.messageIDs)throw new Fe('Decode error - map field "messageIDs" had too many elements');p.messageIDs.push(l.bytes());break}default:{l.skipType(b&7);break}}}return p})),h),u.encode=l=>De(l,u.codec()),u.decode=(l,d)=>Pe(l,u.codec(),d)})(i=s.ControlIWant||(s.ControlIWant={}));let o;(function(u){let h;u.codec=()=>(h==null&&(h=Ce((l,d,m={})=>{m.lengthDelimited!==!1&&d.fork(),l.topicID!=null&&(d.uint32(10),d.string(l.topicID)),m.lengthDelimited!==!1&&d.ldelim()},(l,d,m={})=>{let p={},g=d==null?l.len:l.pos+d;for(;l.pos>>3){case 1:{p.topicID=l.string();break}default:{l.skipType(b&7);break}}}return p})),h),u.encode=l=>De(l,u.codec()),u.decode=(l,d)=>Pe(l,u.codec(),d)})(o=s.ControlGraft||(s.ControlGraft={}));let a;(function(u){let h;u.codec=()=>(h==null&&(h=Ce((l,d,m={})=>{if(m.lengthDelimited!==!1&&d.fork(),l.topicID!=null&&(d.uint32(10),d.string(l.topicID)),l.peers!=null)for(let p of l.peers)d.uint32(18),s.PeerInfo.codec().encode(p,d);l.backoff!=null&&(d.uint32(24),d.uint64Number(l.backoff)),m.lengthDelimited!==!1&&d.ldelim()},(l,d,m={})=>{let p={peers:[]},g=d==null?l.len:l.pos+d;for(;l.pos>>3){case 1:{p.topicID=l.string();break}case 2:{if(m.limits?.peers!=null&&p.peers.length===m.limits.peers)throw new Fe('Decode error - map field "peers" had too many elements');p.peers.push(s.PeerInfo.codec().decode(l,l.uint32(),{limits:m.limits?.peers$}));break}case 3:{p.backoff=l.uint64Number();break}default:{l.skipType(b&7);break}}}return p})),h),u.encode=l=>De(l,u.codec()),u.decode=(l,d)=>Pe(l,u.codec(),d)})(a=s.ControlPrune||(s.ControlPrune={}));let c;(function(u){let h;u.codec=()=>(h==null&&(h=Ce((l,d,m={})=>{m.lengthDelimited!==!1&&d.fork(),l.peerID!=null&&(d.uint32(10),d.bytes(l.peerID)),l.signedPeerRecord!=null&&(d.uint32(18),d.bytes(l.signedPeerRecord)),m.lengthDelimited!==!1&&d.ldelim()},(l,d,m={})=>{let p={},g=d==null?l.len:l.pos+d;for(;l.pos>>3){case 1:{p.peerID=l.bytes();break}case 2:{p.signedPeerRecord=l.bytes();break}default:{l.skipType(b&7);break}}}return p})),h),u.encode=l=>De(l,u.codec()),u.decode=(l,d)=>Pe(l,u.codec(),d)})(c=s.PeerInfo||(s.PeerInfo={}));let f;s.codec=()=>(f==null&&(f=Ce((u,h,l={})=>{if(l.lengthDelimited!==!1&&h.fork(),u.subscriptions!=null)for(let d of u.subscriptions)h.uint32(10),s.SubOpts.codec().encode(d,h);if(u.messages!=null)for(let d of u.messages)h.uint32(18),s.Message.codec().encode(d,h);u.control!=null&&(h.uint32(26),s.ControlMessage.codec().encode(u.control,h)),l.lengthDelimited!==!1&&h.ldelim()},(u,h,l={})=>{let d={subscriptions:[],messages:[]},m=h==null?u.len:u.pos+h;for(;u.pos>>3){case 1:{if(l.limits?.subscriptions!=null&&d.subscriptions.length===l.limits.subscriptions)throw new Fe('Decode error - map field "subscriptions" had too many elements');d.subscriptions.push(s.SubOpts.codec().decode(u,u.uint32(),{limits:l.limits?.subscriptions$}));break}case 2:{if(l.limits?.messages!=null&&d.messages.length===l.limits.messages)throw new Fe('Decode error - map field "messages" had too many elements');d.messages.push(s.Message.codec().decode(u,u.uint32(),{limits:l.limits?.messages$}));break}case 3:{d.control=s.ControlMessage.codec().decode(u,u.uint32(),{limits:l.limits?.control});break}default:{u.skipType(p&7);break}}}return d})),f),s.encode=u=>De(u,s.codec()),s.decode=(u,h)=>Pe(u,s.codec(),h)})(wt||(wt={}));var Mn=class{gossip;msgs=new Map;msgIdToStrFn;history=[];notValidatedCount=0;constructor(e,t,r){this.gossip=e,this.msgIdToStrFn=r;for(let n=0;n{if((this.msgs.get(n.msgIdStr)?.validated??!1)&&e.has(n.topic)){let o=t.get(n.topic);o==null&&(o=[],t.set(n.topic,o)),o.push(n.msgId)}});return t}validate(e){let t=this.msgs.get(e);if(t==null)return null;t.validated||this.notValidatedCount--;let{message:r,originatingPeers:n}=t;return t.validated=!0,t.originatingPeers=new Set,{message:r,originatingPeers:n}}shift(){this.history[this.history.length-1].forEach(t=>{let r=this.msgs.get(t.msgIdStr);r!=null&&(this.msgs.delete(t.msgIdStr),r.validated||this.notValidatedCount--)}),this.history.pop(),this.history.unshift([])}remove(e){let t=this.msgs.get(e);return t==null?null:(this.msgs.delete(e),t)}};var Yc;(function(s){s.StrictSign="StrictSign",s.StrictNoSign="StrictNoSign"})(Yc||(Yc={}));var Ut;(function(s){s[s.Signing=0]="Signing",s[s.Anonymous=1]="Anonymous"})(Ut||(Ut={}));var Be;(function(s){s.Error="error",s.Ignore="ignore",s.Reject="reject",s.Blacklisted="blacklisted"})(Be||(Be={}));var be;(function(s){s.InvalidSignature="invalid_signature",s.InvalidSeqno="invalid_seqno",s.InvalidPeerId="invalid_peerid",s.SignaturePresent="signature_present",s.SeqnoPresent="seqno_present",s.FromPresent="from_present",s.TransformFailed="transform_failed"})(be||(be={}));var ye;(function(s){s.duplicate="duplicate",s.invalid="invalid",s.valid="valid"})(ye||(ye={}));function bo(s){switch(s){case xe.Ignore:return Be.Ignore;case xe.Reject:return Be.Reject;default:throw new Error("Unreachable")}}var Qc;(function(s){s.forward="forward",s.publish="publish"})(Qc||(Qc={}));var Ie;(function(s){s.Fanout="fanout",s.Random="random",s.Subscribed="subscribed",s.Outbound="outbound",s.NotEnough="not_enough",s.Opportunistic="opportunistic"})(Ie||(Ie={}));var $e;(function(s){s.Dc="disconnected",s.BadScore="bad_score",s.Prune="prune",s.Excess="excess"})($e||($e={}));var Bs;(function(s){s.GraftBackoff="graft_backoff",s.BrokenPromise="broken_promise",s.MessageDeficit="message_deficit",s.IPColocation="IP_colocation"})(Bs||(Bs={}));var Is;(function(s){s.LowScore="low_score",s.MaxIhave="max_ihave",s.MaxIasked="max_iasked"})(Is||(Is={}));var Ss;(function(s){s.graylist="graylist",s.publish="publish",s.gossip="gossip",s.mesh="mesh"})(Ss||(Ss={}));function el(s,e,t){return{protocolsEnabled:s.gauge({name:"gossipsub_protocol",help:"Status of enabled protocols",labelNames:["protocol"]}),topicSubscriptionStatus:s.gauge({name:"gossipsub_topic_subscription_status",help:"Status of our subscription to this topic",labelNames:["topicStr"]}),topicPeersCount:s.gauge({name:"gossipsub_topic_peer_count",help:"Number of peers subscribed to each topic",labelNames:["topicStr"]}),meshPeerCounts:s.gauge({name:"gossipsub_mesh_peer_count",help:"Number of peers in our mesh",labelNames:["topicStr"]}),meshPeerInclusionEventsFanout:s.gauge({name:"gossipsub_mesh_peer_inclusion_events_fanout_total",help:"Number of times we include peers in a topic mesh for fanout reasons",labelNames:["topic"]}),meshPeerInclusionEventsRandom:s.gauge({name:"gossipsub_mesh_peer_inclusion_events_random_total",help:"Number of times we include peers in a topic mesh for random reasons",labelNames:["topic"]}),meshPeerInclusionEventsSubscribed:s.gauge({name:"gossipsub_mesh_peer_inclusion_events_subscribed_total",help:"Number of times we include peers in a topic mesh for subscribed reasons",labelNames:["topic"]}),meshPeerInclusionEventsOutbound:s.gauge({name:"gossipsub_mesh_peer_inclusion_events_outbound_total",help:"Number of times we include peers in a topic mesh for outbound reasons",labelNames:["topic"]}),meshPeerInclusionEventsNotEnough:s.gauge({name:"gossipsub_mesh_peer_inclusion_events_not_enough_total",help:"Number of times we include peers in a topic mesh for not_enough reasons",labelNames:["topic"]}),meshPeerInclusionEventsOpportunistic:s.gauge({name:"gossipsub_mesh_peer_inclusion_events_opportunistic_total",help:"Number of times we include peers in a topic mesh for opportunistic reasons",labelNames:["topic"]}),meshPeerInclusionEventsUnknown:s.gauge({name:"gossipsub_mesh_peer_inclusion_events_unknown_total",help:"Number of times we include peers in a topic mesh for unknown reasons",labelNames:["topic"]}),meshPeerChurnEventsDisconnected:s.gauge({name:"gossipsub_peer_churn_events_disconnected_total",help:"Number of times we remove peers in a topic mesh for disconnected reasons",labelNames:["topic"]}),meshPeerChurnEventsBadScore:s.gauge({name:"gossipsub_peer_churn_events_bad_score_total",help:"Number of times we remove peers in a topic mesh for bad_score reasons",labelNames:["topic"]}),meshPeerChurnEventsPrune:s.gauge({name:"gossipsub_peer_churn_events_prune_total",help:"Number of times we remove peers in a topic mesh for prune reasons",labelNames:["topic"]}),meshPeerChurnEventsExcess:s.gauge({name:"gossipsub_peer_churn_events_excess_total",help:"Number of times we remove peers in a topic mesh for excess reasons",labelNames:["topic"]}),meshPeerChurnEventsUnknown:s.gauge({name:"gossipsub_peer_churn_events_unknown_total",help:"Number of times we remove peers in a topic mesh for unknown reasons",labelNames:["topic"]}),peersPerProtocol:s.gauge({name:"gossipsub_peers_per_protocol_count",help:"Peers connected for each topic",labelNames:["protocol"]}),heartbeatDuration:s.histogram({name:"gossipsub_heartbeat_duration_seconds",help:"The time it takes to complete one iteration of the heartbeat",buckets:[.01,.1,1]}),heartbeatSkipped:s.gauge({name:"gossipsub_heartbeat_skipped",help:"Heartbeat run took longer than heartbeat interval so next is skipped"}),acceptedMessagesTotal:s.gauge({name:"gossipsub_accepted_messages_total",help:"Total accepted messages for each topic",labelNames:["topic"]}),ignoredMessagesTotal:s.gauge({name:"gossipsub_ignored_messages_total",help:"Total ignored messages for each topic",labelNames:["topic"]}),rejectedMessagesTotal:s.gauge({name:"gossipsub_rejected_messages_total",help:"Total rejected messages for each topic",labelNames:["topic"]}),unknownValidationResultsTotal:s.gauge({name:"gossipsub_unknown_validation_results_total",help:"Total unknown validation results for each topic",labelNames:["topic"]}),asyncValidationMcacheHit:s.gauge({name:"gossipsub_async_validation_mcache_hit_total",help:"Async validation result reported by the user layer",labelNames:["hit"]}),asyncValidationDelayFromFirstSeenSec:s.histogram({name:"gossipsub_async_validation_delay_from_first_seen",help:"Async validation report delay from first seen in second",buckets:[.01,.03,.1,.3,1,3,10]}),asyncValidationUnknownFirstSeen:s.gauge({name:"gossipsub_async_validation_unknown_first_seen_count_total",help:"Async validation report unknown first seen value for message"}),peerReadStreamError:s.gauge({name:"gossipsub_peer_read_stream_err_count_total",help:"Peer read stream error"}),rpcRecvBytes:s.gauge({name:"gossipsub_rpc_recv_bytes_total",help:"RPC recv"}),rpcRecvCount:s.gauge({name:"gossipsub_rpc_recv_count_total",help:"RPC recv"}),rpcRecvSubscription:s.gauge({name:"gossipsub_rpc_recv_subscription_total",help:"RPC recv"}),rpcRecvMessage:s.gauge({name:"gossipsub_rpc_recv_message_total",help:"RPC recv"}),rpcRecvControl:s.gauge({name:"gossipsub_rpc_recv_control_total",help:"RPC recv"}),rpcRecvIHave:s.gauge({name:"gossipsub_rpc_recv_ihave_total",help:"RPC recv"}),rpcRecvIWant:s.gauge({name:"gossipsub_rpc_recv_iwant_total",help:"RPC recv"}),rpcRecvGraft:s.gauge({name:"gossipsub_rpc_recv_graft_total",help:"RPC recv"}),rpcRecvPrune:s.gauge({name:"gossipsub_rpc_recv_prune_total",help:"RPC recv"}),rpcDataError:s.gauge({name:"gossipsub_rpc_data_err_count_total",help:"RPC data error"}),rpcRecvError:s.gauge({name:"gossipsub_rpc_recv_err_count_total",help:"RPC recv error"}),rpcRecvNotAccepted:s.gauge({name:"gossipsub_rpc_rcv_not_accepted_total",help:"Total count of RPC dropped because acceptFrom() == false"}),rpcSentBytes:s.gauge({name:"gossipsub_rpc_sent_bytes_total",help:"RPC sent"}),rpcSentCount:s.gauge({name:"gossipsub_rpc_sent_count_total",help:"RPC sent"}),rpcSentSubscription:s.gauge({name:"gossipsub_rpc_sent_subscription_total",help:"RPC sent"}),rpcSentMessage:s.gauge({name:"gossipsub_rpc_sent_message_total",help:"RPC sent"}),rpcSentControl:s.gauge({name:"gossipsub_rpc_sent_control_total",help:"RPC sent"}),rpcSentIHave:s.gauge({name:"gossipsub_rpc_sent_ihave_total",help:"RPC sent"}),rpcSentIWant:s.gauge({name:"gossipsub_rpc_sent_iwant_total",help:"RPC sent"}),rpcSentGraft:s.gauge({name:"gossipsub_rpc_sent_graft_total",help:"RPC sent"}),rpcSentPrune:s.gauge({name:"gossipsub_rpc_sent_prune_total",help:"RPC sent"}),msgPublishCount:s.gauge({name:"gossipsub_msg_publish_count_total",help:"Total count of msg published by topic",labelNames:["topic"]}),msgPublishPeersByTopic:s.gauge({name:"gossipsub_msg_publish_peers_total",help:"Total count of peers that we publish a msg to",labelNames:["topic"]}),directPeersPublishedTotal:s.gauge({name:"gossipsub_direct_peers_published_total",help:"Total direct peers that we publish a msg to",labelNames:["topic"]}),floodsubPeersPublishedTotal:s.gauge({name:"gossipsub_floodsub_peers_published_total",help:"Total floodsub peers that we publish a msg to",labelNames:["topic"]}),meshPeersPublishedTotal:s.gauge({name:"gossipsub_mesh_peers_published_total",help:"Total mesh peers that we publish a msg to",labelNames:["topic"]}),fanoutPeersPublishedTotal:s.gauge({name:"gossipsub_fanout_peers_published_total",help:"Total fanout peers that we publish a msg to",labelNames:["topic"]}),msgPublishBytes:s.gauge({name:"gossipsub_msg_publish_bytes_total",help:"Total count of msg publish data.length bytes",labelNames:["topic"]}),msgPublishTime:s.histogram({name:"gossipsub_msg_publish_seconds",help:"Total time in seconds to publish a message",buckets:[.001,.002,.005,.01,.1,.5,1],labelNames:["topic"]}),msgForwardCount:s.gauge({name:"gossipsub_msg_forward_count_total",help:"Total count of msg forwarded by topic",labelNames:["topic"]}),msgForwardPeers:s.gauge({name:"gossipsub_msg_forward_peers_total",help:"Total count of peers that we forward a msg to",labelNames:["topic"]}),msgReceivedPreValidation:s.gauge({name:"gossipsub_msg_received_prevalidation_total",help:"Total count of recv msgs before any validation",labelNames:["topic"]}),msgReceivedError:s.gauge({name:"gossipsub_msg_received_error_total",help:"Total count of recv msgs error",labelNames:["topic"]}),prevalidationInvalidTotal:s.gauge({name:"gossipsub_pre_validation_invalid_total",help:"Total count of invalid messages received",labelNames:["topic"]}),prevalidationValidTotal:s.gauge({name:"gossipsub_pre_validation_valid_total",help:"Total count of valid messages received",labelNames:["topic"]}),prevalidationDuplicateTotal:s.gauge({name:"gossipsub_pre_validation_duplicate_total",help:"Total count of duplicate messages received",labelNames:["topic"]}),prevalidationUnknownTotal:s.gauge({name:"gossipsub_pre_validation_unknown_status_total",help:"Total count of unknown_status messages received",labelNames:["topic"]}),msgReceivedInvalid:s.gauge({name:"gossipsub_msg_received_invalid_total",help:"Tracks specific reason of invalid",labelNames:["error"]}),msgReceivedInvalidByTopic:s.gauge({name:"gossipsub_msg_received_invalid_by_topic_total",help:"Tracks specific invalid message by topic",labelNames:["topic"]}),duplicateMsgDeliveryDelay:s.histogram({name:"gossisub_duplicate_msg_delivery_delay_seconds",help:"Time since the 1st duplicated message validated",labelNames:["topic"],buckets:[.25*t.maxMeshMessageDeliveriesWindowSec,.5*t.maxMeshMessageDeliveriesWindowSec,Number(t.maxMeshMessageDeliveriesWindowSec),2*t.maxMeshMessageDeliveriesWindowSec,4*t.maxMeshMessageDeliveriesWindowSec]}),duplicateMsgLateDelivery:s.gauge({name:"gossisub_duplicate_msg_late_delivery_total",help:"Total count of late duplicate message delivery by topic, which triggers P3 penalty",labelNames:["topic"]}),duplicateMsgIgnored:s.gauge({name:"gossisub_ignored_published_duplicate_msgs_total",help:"Total count of published duplicate message ignored by topic",labelNames:["topic"]}),scoreFnCalls:s.gauge({name:"gossipsub_score_fn_calls_total",help:"Total times score() is called"}),scoreFnRuns:s.gauge({name:"gossipsub_score_fn_runs_total",help:"Total times score() call actually computed computeScore(), no cache"}),scoreCachedDelta:s.histogram({name:"gossipsub_score_cache_delta",help:"Delta of score between cached values that expired",buckets:[10,100,1e3]}),peersByScoreThreshold:s.gauge({name:"gossipsub_peers_by_score_threshold_count",help:"Current count of peers by score threshold",labelNames:["threshold"]}),score:s.avgMinMax({name:"gossipsub_score",help:"Avg min max of gossip scores"}),scoreWeights:s.avgMinMax({name:"gossipsub_score_weights",help:"Separate score weights",labelNames:["topic","p"]}),scorePerMesh:s.avgMinMax({name:"gossipsub_score_per_mesh",help:"Histogram of the scores for each mesh topic",labelNames:["topic"]}),scoringPenalties:s.gauge({name:"gossipsub_scoring_penalties_total",help:"A counter of the kind of penalties being applied to peers",labelNames:["penalty"]}),behaviourPenalty:s.histogram({name:"gossipsub_peer_stat_behaviour_penalty",help:"Current peer stat behaviour_penalty at each scrape",buckets:[.25*t.behaviourPenaltyThreshold,.5*t.behaviourPenaltyThreshold,Number(t.behaviourPenaltyThreshold),2*t.behaviourPenaltyThreshold,4*t.behaviourPenaltyThreshold]}),ihaveRcvIgnored:s.gauge({name:"gossipsub_ihave_rcv_ignored_total",help:"Total received IHAVE messages that we ignore for some reason",labelNames:["reason"]}),ihaveRcvMsgids:s.gauge({name:"gossipsub_ihave_rcv_msgids_total",help:"Total received IHAVE messages by topic",labelNames:["topic"]}),ihaveRcvNotSeenMsgids:s.gauge({name:"gossipsub_ihave_rcv_not_seen_msgids_total",help:"Total messages per topic we do not have, not actual requests",labelNames:["topic"]}),iwantRcvMsgids:s.gauge({name:"gossipsub_iwant_rcv_msgids_total",help:"Total received IWANT messages by topic",labelNames:["topic"]}),iwantRcvDonthaveMsgids:s.gauge({name:"gossipsub_iwant_rcv_dont_have_msgids_total",help:"Total requested messageIDs that we do not have"}),iwantPromiseStarted:s.gauge({name:"gossipsub_iwant_promise_sent_total",help:"Total count of started IWANT promises"}),iwantPromiseResolved:s.gauge({name:"gossipsub_iwant_promise_resolved_total",help:"Total count of resolved IWANT promises"}),iwantPromiseResolvedFromDuplicate:s.gauge({name:"gossipsub_iwant_promise_resolved_from_duplicate_total",help:"Total count of resolved IWANT promises from duplicate messages"}),iwantPromiseResolvedPeers:s.gauge({name:"gossipsub_iwant_promise_resolved_peers",help:"Total count of peers we have asked IWANT promises that are resolved"}),iwantPromiseBroken:s.gauge({name:"gossipsub_iwant_promise_broken",help:"Total count of broken IWANT promises"}),iwantMessagePruned:s.gauge({name:"gossipsub_iwant_message_pruned",help:"Total count of pruned IWANT messages"}),iwantPromiseDeliveryTime:s.histogram({name:"gossipsub_iwant_promise_delivery_seconds",help:"Histogram of delivery time of resolved IWANT promises",buckets:[.5*t.gossipPromiseExpireSec,Number(t.gossipPromiseExpireSec),2*t.gossipPromiseExpireSec,4*t.gossipPromiseExpireSec]}),iwantPromiseUntracked:s.gauge({name:"gossip_iwant_promise_untracked",help:"Total count of untracked IWANT promise"}),connectedPeersBackoffSec:s.histogram({name:"gossipsub_connected_peers_backoff_seconds",help:"Backoff time in seconds",buckets:[1,2,4,10,20,60,120]}),cacheSize:s.gauge({name:"gossipsub_cache_size",help:"Unbounded cache sizes",labelNames:["cache"]}),mcacheSize:s.gauge({name:"gossipsub_mcache_size",help:"Current mcache msg count"}),mcacheNotValidatedCount:s.gauge({name:"gossipsub_mcache_not_validated_count",help:"Current mcache msg count not validated"}),fastMsgIdCacheCollision:s.gauge({name:"gossipsub_fastmsgid_cache_collision_total",help:"Total count of key collisions on fastmsgid cache put"}),newConnectionCount:s.gauge({name:"gossipsub_new_connection_total",help:"Total new connection by status",labelNames:["status"]}),topicStrToLabel:e,toTopic(r){return this.topicStrToLabel.get(r)??r},onJoin(r){this.topicSubscriptionStatus.set({topicStr:r},1),this.meshPeerCounts.set({topicStr:r},0)},onLeave(r){this.topicSubscriptionStatus.set({topicStr:r},0),this.meshPeerCounts.set({topicStr:r},0)},onAddToMesh(r,n,i){let o=this.toTopic(r);switch(n){case Ie.Fanout:this.meshPeerInclusionEventsFanout.inc({topic:o},i);break;case Ie.Random:this.meshPeerInclusionEventsRandom.inc({topic:o},i);break;case Ie.Subscribed:this.meshPeerInclusionEventsSubscribed.inc({topic:o},i);break;case Ie.Outbound:this.meshPeerInclusionEventsOutbound.inc({topic:o},i);break;case Ie.NotEnough:this.meshPeerInclusionEventsNotEnough.inc({topic:o},i);break;case Ie.Opportunistic:this.meshPeerInclusionEventsOpportunistic.inc({topic:o},i);break;default:this.meshPeerInclusionEventsUnknown.inc({topic:o},i);break}},onRemoveFromMesh(r,n,i){let o=this.toTopic(r);switch(n){case $e.Dc:this.meshPeerChurnEventsDisconnected.inc({topic:o},i);break;case $e.BadScore:this.meshPeerChurnEventsBadScore.inc({topic:o},i);break;case $e.Prune:this.meshPeerChurnEventsPrune.inc({topic:o},i);break;case $e.Excess:this.meshPeerChurnEventsExcess.inc({topic:o},i);break;default:this.meshPeerChurnEventsUnknown.inc({topic:o},i);break}},onReportValidation(r,n,i){if(this.asyncValidationMcacheHit.inc({hit:r!=null?"hit":"miss"}),r!=null){let o=this.toTopic(r.message.topic);switch(n){case xe.Accept:this.acceptedMessagesTotal.inc({topic:o});break;case xe.Ignore:this.ignoredMessagesTotal.inc({topic:o});break;case xe.Reject:this.rejectedMessagesTotal.inc({topic:o});break;default:this.unknownValidationResultsTotal.inc({topic:o});break}}i!=null?this.asyncValidationDelayFromFirstSeenSec.observe((Date.now()-i)/1e3):this.asyncValidationUnknownFirstSeen.inc()},onScorePenalty(r){this.scoringPenalties.inc({penalty:r},1)},onIhaveRcv(r,n,i){let o=this.toTopic(r);this.ihaveRcvMsgids.inc({topic:o},n),this.ihaveRcvNotSeenMsgids.inc({topic:o},i)},onIwantRcv(r,n){for(let[i,o]of r){let a=this.toTopic(i);this.iwantRcvMsgids.inc({topic:a},o)}this.iwantRcvDonthaveMsgids.inc(n)},onForwardMsg(r,n){let i=this.toTopic(r);this.msgForwardCount.inc({topic:i},1),this.msgForwardPeers.inc({topic:i},n)},onPublishMsg(r,n,i,o,a){let c=this.toTopic(r);this.msgPublishCount.inc({topic:c},1),this.msgPublishBytes.inc({topic:c},i*o),this.msgPublishPeersByTopic.inc({topic:c},i),this.directPeersPublishedTotal.inc({topic:c},n.direct),this.floodsubPeersPublishedTotal.inc({topic:c},n.floodsub),this.meshPeersPublishedTotal.inc({topic:c},n.mesh),this.fanoutPeersPublishedTotal.inc({topic:c},n.fanout),this.msgPublishTime.observe({topic:c},a/1e3)},onMsgRecvPreValidation(r){let n=this.toTopic(r);this.msgReceivedPreValidation.inc({topic:n},1)},onMsgRecvError(r){let n=this.toTopic(r);this.msgReceivedError.inc({topic:n},1)},onPrevalidationResult(r,n){let i=this.toTopic(r);switch(n){case ye.duplicate:this.prevalidationDuplicateTotal.inc({topic:i});break;case ye.invalid:this.prevalidationInvalidTotal.inc({topic:i});break;case ye.valid:this.prevalidationValidTotal.inc({topic:i});break;default:this.prevalidationUnknownTotal.inc({topic:i});break}},onMsgRecvInvalid(r,n){let i=this.toTopic(r),o=n.reason===Be.Error?n.error:n.reason;this.msgReceivedInvalid.inc({error:o},1),this.msgReceivedInvalidByTopic.inc({topic:i},1)},onDuplicateMsgDelivery(r,n,i){let o=this.toTopic(r);this.duplicateMsgDeliveryDelay.observe({topic:o},n/1e3),i&&this.duplicateMsgLateDelivery.inc({topic:o},1)},onPublishDuplicateMsg(r){let n=this.toTopic(r);this.duplicateMsgIgnored.inc({topic:n},1)},onPeerReadStreamError(){this.peerReadStreamError.inc(1)},onRpcRecvError(){this.rpcRecvError.inc(1)},onRpcDataError(){this.rpcDataError.inc(1)},onRpcRecv(r,n){this.rpcRecvBytes.inc(n),this.rpcRecvCount.inc(1),r.subscriptions!=null&&this.rpcRecvSubscription.inc(r.subscriptions.length),r.messages!=null&&this.rpcRecvMessage.inc(r.messages.length),r.control!=null&&(this.rpcRecvControl.inc(1),r.control.ihave!=null&&this.rpcRecvIHave.inc(r.control.ihave.length),r.control.iwant!=null&&this.rpcRecvIWant.inc(r.control.iwant.length),r.control.graft!=null&&this.rpcRecvGraft.inc(r.control.graft.length),r.control.prune!=null&&this.rpcRecvPrune.inc(r.control.prune.length))},onRpcSent(r,n){if(this.rpcSentBytes.inc(n),this.rpcSentCount.inc(1),r.subscriptions!=null&&this.rpcSentSubscription.inc(r.subscriptions.length),r.messages!=null&&this.rpcSentMessage.inc(r.messages.length),r.control!=null){let i=r.control.ihave?.length??0,o=r.control.iwant?.length??0,a=r.control.graft?.length??0,c=r.control.prune?.length??0;i>0&&this.rpcSentIHave.inc(i),o>0&&this.rpcSentIWant.inc(o),a>0&&this.rpcSentGraft.inc(a),c>0&&this.rpcSentPrune.inc(c),(i>0||o>0||a>0||c>0)&&this.rpcSentControl.inc(1)}},registerScores(r,n){let i=0,o=0,a=0,c=0;for(let f of r)f>=n.graylistThreshold&&i++,f>=n.publishThreshold&&o++,f>=n.gossipThreshold&&a++,f>=0&&c++;this.peersByScoreThreshold.set({threshold:Ss.graylist},i),this.peersByScoreThreshold.set({threshold:Ss.publish},o),this.peersByScoreThreshold.set({threshold:Ss.gossip},a),this.peersByScoreThreshold.set({threshold:Ss.mesh},c),this.score.set(r)},registerScoreWeights(r){for(let[n,i]of r.byTopic)this.scoreWeights.set({topic:n,p:"p1"},i.p1w),this.scoreWeights.set({topic:n,p:"p2"},i.p2w),this.scoreWeights.set({topic:n,p:"p3"},i.p3w),this.scoreWeights.set({topic:n,p:"p3b"},i.p3bw),this.scoreWeights.set({topic:n,p:"p4"},i.p4w);this.scoreWeights.set({p:"p5"},r.p5w),this.scoreWeights.set({p:"p6"},r.p6w),this.scoreWeights.set({p:"p7"},r.p7w)},registerScorePerMesh(r,n){let i=new Map;r.forEach((o,a)=>{let c=this.topicStrToLabel.get(a)??"unknown",f=i.get(c);f==null&&(f=new Set,i.set(c,f)),o.forEach(u=>f?.add(u))});for(let[o,a]of i){let c=[];a.forEach(f=>{c.push(n.get(f)??0)}),this.scorePerMesh.set({topic:o},c)}}}}var q=class extends Error{static name="InvalidPeerScoreParamsError";constructor(e="Invalid peer score params"){super(e),this.name="InvalidPeerScoreParamsError"}};var $f={topics:{},topicScoreCap:10,appSpecificScore:()=>0,appSpecificWeight:10,IPColocationFactorWeight:-5,IPColocationFactorThreshold:10,IPColocationFactorWhitelist:new Set,behaviourPenaltyWeight:-10,behaviourPenaltyThreshold:0,behaviourPenaltyDecay:.2,decayInterval:1e3,decayToZero:.1,retainScore:3600*1e3},jf={topicWeight:.5,timeInMeshWeight:1,timeInMeshQuantum:1,timeInMeshCap:3600,firstMessageDeliveriesWeight:1,firstMessageDeliveriesDecay:.5,firstMessageDeliveriesCap:2e3,meshMessageDeliveriesWeight:-1,meshMessageDeliveriesDecay:.5,meshMessageDeliveriesCap:100,meshMessageDeliveriesThreshold:20,meshMessageDeliveriesWindow:10,meshMessageDeliveriesActivation:5e3,meshFailurePenaltyWeight:-1,meshFailurePenaltyDecay:.5,invalidMessageDeliveriesWeight:-1,invalidMessageDeliveriesDecay:.3};function tl(s={}){return{...$f,...s,topics:s.topics!=null?Object.entries(s.topics).reduce((e,[t,r])=>(e[t]=Zf(r),e),{}):{}}}function Zf(s={}){return{...jf,...s}}function sl(s){for(let[e,t]of Object.entries(s.topics))try{Jf(t)}catch(r){throw new q(`invalid score parameters for topic ${e}: ${r.message}`)}if(s.topicScoreCap<0)throw new q("invalid topic score cap; must be positive (or 0 for no cap)");if(s.appSpecificScore===null||s.appSpecificScore===void 0)throw new q("missing application specific score function");if(s.IPColocationFactorWeight>0)throw new q("invalid IPColocationFactorWeight; must be negative (or 0 to disable)");if(s.IPColocationFactorWeight!==0&&s.IPColocationFactorThreshold<1)throw new q("invalid IPColocationFactorThreshold; must be at least 1");if(s.behaviourPenaltyWeight>0)throw new q("invalid BehaviourPenaltyWeight; must be negative (or 0 to disable)");if(s.behaviourPenaltyWeight!==0&&(s.behaviourPenaltyDecay<=0||s.behaviourPenaltyDecay>=1))throw new q("invalid BehaviourPenaltyDecay; must be between 0 and 1");if(s.decayInterval<1e3)throw new q("invalid DecayInterval; must be at least 1s");if(s.decayToZero<=0||s.decayToZero>=1)throw new q("invalid DecayToZero; must be between 0 and 1")}function Jf(s){if(s.topicWeight<0)throw new q("invalid topic weight; must be >= 0");if(s.timeInMeshQuantum===0)throw new q("invalid TimeInMeshQuantum; must be non zero");if(s.timeInMeshWeight<0)throw new q("invalid TimeInMeshWeight; must be positive (or 0 to disable)");if(s.timeInMeshWeight!==0&&s.timeInMeshQuantum<=0)throw new q("invalid TimeInMeshQuantum; must be positive");if(s.timeInMeshWeight!==0&&s.timeInMeshCap<=0)throw new q("invalid TimeInMeshCap; must be positive");if(s.firstMessageDeliveriesWeight<0)throw new q("invallid FirstMessageDeliveriesWeight; must be positive (or 0 to disable)");if(s.firstMessageDeliveriesWeight!==0&&(s.firstMessageDeliveriesDecay<=0||s.firstMessageDeliveriesDecay>=1))throw new q("invalid FirstMessageDeliveriesDecay; must be between 0 and 1");if(s.firstMessageDeliveriesWeight!==0&&s.firstMessageDeliveriesCap<=0)throw new q("invalid FirstMessageDeliveriesCap; must be positive");if(s.meshMessageDeliveriesWeight>0)throw new q("invalid MeshMessageDeliveriesWeight; must be negative (or 0 to disable)");if(s.meshMessageDeliveriesWeight!==0&&(s.meshMessageDeliveriesDecay<=0||s.meshMessageDeliveriesDecay>=1))throw new q("invalid MeshMessageDeliveriesDecay; must be between 0 and 1");if(s.meshMessageDeliveriesWeight!==0&&s.meshMessageDeliveriesCap<=0)throw new q("invalid MeshMessageDeliveriesCap; must be positive");if(s.meshMessageDeliveriesWeight!==0&&s.meshMessageDeliveriesThreshold<=0)throw new q("invalid MeshMessageDeliveriesThreshold; must be positive");if(s.meshMessageDeliveriesWindow<0)throw new q("invalid MeshMessageDeliveriesWindow; must be non-negative");if(s.meshMessageDeliveriesWeight!==0&&s.meshMessageDeliveriesActivation<1e3)throw new q("invalid MeshMessageDeliveriesActivation; must be at least 1s");if(s.meshFailurePenaltyWeight>0)throw new q("invalid MeshFailurePenaltyWeight; must be negative (or 0 to disable)");if(s.meshFailurePenaltyWeight!==0&&(s.meshFailurePenaltyDecay<=0||s.meshFailurePenaltyDecay>=1))throw new q("invalid MeshFailurePenaltyDecay; must be between 0 and 1");if(s.invalidMessageDeliveriesWeight>0)throw new q("invalid InvalidMessageDeliveriesWeight; must be negative (or 0 to disable)");if(s.invalidMessageDeliveriesDecay<=0||s.invalidMessageDeliveriesDecay>=1)throw new q("invalid InvalidMessageDeliveriesDecay; must be between 0 and 1")}var Xf={gossipThreshold:-10,publishThreshold:-50,graylistThreshold:-80,acceptPXThreshold:10,opportunisticGraftThreshold:20};function rl(s={}){return{...Xf,...s}}function Dn(s,e,t=()=>!0){let r=new Set;if(e<=0)return r;for(let n of s){if(r.size>=e)break;t(n)&&(r.add(n),s.delete(n))}return r}function nl(s,e){return Dn(s,e,()=>!0)}var Pn=class extends Map{getDefault;constructor(e){super(),this.getDefault=e}getOrDefault(e){let t=super.get(e);return t===void 0&&(t=this.getDefault(),this.set(e,t)),t}};function il(s,e,t,r){let n=0;Object.entries(e.topics).forEach(([o,a])=>{let c=t.topics[o];if(c===void 0)return;let f=0;if(a.inMesh){let d=a.meshTime/c.timeInMeshQuantum;d>c.timeInMeshCap&&(d=c.timeInMeshCap),f+=d*c.timeInMeshWeight}let u=a.firstMessageDeliveries;if(u>c.firstMessageDeliveriesCap&&(u=c.firstMessageDeliveriesCap),f+=u*c.firstMessageDeliveriesWeight,a.meshMessageDeliveriesActive&&a.meshMessageDeliveries0&&n>t.topicScoreCap&&(n=t.topicScoreCap);let i=t.appSpecificScore(s);if(n+=i*t.appSpecificWeight,e.knownIPs.forEach(o=>{if(t.IPColocationFactorWhitelist.has(o))return;let a=r.get(o),c=a!=null?a.size:0;if(c>t.IPColocationFactorThreshold){let f=c-t.IPColocationFactorThreshold,u=f*f;n+=u*t.IPColocationFactorWeight}}),e.behaviourPenalty>t.behaviourPenaltyThreshold){let o=e.behaviourPenalty-t.behaviourPenaltyThreshold,a=o*o;n+=a*t.behaviourPenaltyWeight}return n}var cl=Co(al(),1);var _e;(function(s){s[s.unknown=0]="unknown",s[s.valid=1]="valid",s[s.invalid=2]="invalid",s[s.ignored=3]="ignored"})(_e||(_e={}));var Cn=class{records;queue;constructor(){this.records=new Map,this.queue=new cl.default}getRecord(e){return this.records.get(e)}ensureRecord(e){let t=this.records.get(e);if(t!=null)return t;t={status:_e.unknown,firstSeenTsMs:Date.now(),validated:0,peers:new Set},this.records.set(e,t);let r={msgId:e,expire:Date.now()+12e4};return this.queue.push(r),t}gc(){let e=Date.now(),t=this.queue.peekFront();for(;t!=null&&t.expirenew Set);scoreCache=new Map;deliveryRecords=new Cn;_backgroundInterval;scoreCacheValidityMs;computeScore;log;constructor(e,t,r,n){this.params=e,this.metrics=t,sl(e),this.scoreCacheValidityMs=n.scoreCacheValidityMs,this.computeScore=n.computeScore??il,this.log=r.forComponent("libp2p:gossipsub:score")}get size(){return this.peerStats.size}start(){if(this._backgroundInterval!=null){this.log("Peer score already running");return}this._backgroundInterval=setInterval(()=>{this.background()},this.params.decayInterval),this.log("started")}stop(){if(this._backgroundInterval==null){this.log("Peer score already stopped");return}clearInterval(this._backgroundInterval),delete this._backgroundInterval,this.peerIPs.clear(),this.peerStats.clear(),this.deliveryRecords.clear(),this.log("stopped")}background(){this.refreshScores(),this.deliveryRecords.gc()}dumpPeerScoreStats(){return Object.fromEntries(Array.from(this.peerStats.entries()).map(([e,t])=>[e,t]))}messageFirstSeenTimestampMs(e){let t=this.deliveryRecords.getRecord(e);return t!=null?t.firstSeenTsMs:null}refreshScores(){let e=Date.now(),t=this.params.decayToZero;this.peerStats.forEach((r,n)=>{if(!r.connected){e>r.expire&&(this.removeIPsForPeer(n,r.knownIPs),this.peerStats.delete(n),this.scoreCache.delete(n));return}Object.entries(r.topics).forEach(([i,o])=>{let a=this.params.topics[i];a!==void 0&&(o.firstMessageDeliveries*=a.firstMessageDeliveriesDecay,o.firstMessageDeliveriesa.meshMessageDeliveriesActivation&&(o.meshMessageDeliveriesActive=!0)))}),r.behaviourPenalty*=this.params.behaviourPenaltyDecay,r.behaviourPenaltyr)return n.score;this.metrics?.scoreFnRuns.inc();let i=this.computeScore(e,t,this.params,this.peerIPs),o=r+this.scoreCacheValidityMs;return n!=null?(this.metrics?.scoreCachedDelta.observe(Math.abs(i-n.score)),n.score=i,n.cacheUntil=o):this.scoreCache.set(e,{score:i,cacheUntil:o}),i}addPenalty(e,t,r){let n=this.peerStats.get(e);n!=null&&(n.behaviourPenalty+=t,this.metrics?.onScorePenalty(r))}addPeer(e){let t={connected:!0,expire:0,topics:{},knownIPs:new Set,behaviourPenalty:0};this.peerStats.set(e,t)}addIP(e,t){let r=this.peerStats.get(e);r?.knownIPs.add(t),this.peerIPs.getOrDefault(t).add(e)}removeIP(e,t){let r=this.peerStats.get(e);r?.knownIPs.delete(t);let n=this.peerIPs.get(t);n!=null&&(n.delete(e),n.size===0&&this.peerIPs.delete(t))}removePeer(e){let t=this.peerStats.get(e);if(t!=null){if(this.score(e)>0){this.removeIPsForPeer(e,t.knownIPs),this.peerStats.delete(e);return}Object.entries(t.topics).forEach(([r,n])=>{n.firstMessageDeliveries=0;let i=this.params.topics[r].meshMessageDeliveriesThreshold;if(n.inMesh&&n.meshMessageDeliveriesActive&&n.meshMessageDeliveries{o!==e.toString()&&this.markDuplicateMessageDelivery(o,r)})}rejectInvalidMessage(e,t){this.markInvalidMessageDelivery(e,t)}rejectMessage(e,t,r,n){switch(n){case Be.Error:this.markInvalidMessageDelivery(e,r);return;case Be.Blacklisted:return}let i=this.deliveryRecords.ensureRecord(t);if(i.status!==_e.unknown){this.log("unexpected rejection: message from %s was first seen %s ago and has delivery status %d",e,Date.now()-i.firstSeenTsMs,_e[i.status]);return}if(n===Be.Ignore){i.status=_e.ignored,i.peers.clear();return}i.status=_e.invalid,this.markInvalidMessageDelivery(e,r),i.peers.forEach(o=>{this.markInvalidMessageDelivery(o,r)}),i.peers.clear()}duplicateMessage(e,t,r){let n=this.deliveryRecords.ensureRecord(t);if(!n.peers.has(e))switch(n.status){case _e.unknown:n.peers.add(e);break;case _e.valid:n.peers.add(e),this.markDuplicateMessageDelivery(e,r,n.validated);break;case _e.invalid:this.markInvalidMessageDelivery(e,r);break;case _e.ignored:break}}markInvalidMessageDelivery(e,t){let r=this.peerStats.get(e);if(r!=null){let n=this.getPtopicStats(r,t);n!=null&&(n.invalidMessageDeliveries+=1)}}markFirstMessageDelivery(e,t){let r=this.peerStats.get(e);if(r!=null){let n=this.getPtopicStats(r,t);if(n!=null){let i=this.params.topics[t].firstMessageDeliveriesCap;n.firstMessageDeliveries=Math.min(i,n.firstMessageDeliveries+1),n.inMesh&&(i=this.params.topics[t].meshMessageDeliveriesCap,n.meshMessageDeliveries=Math.min(i,n.meshMessageDeliveries+1))}}}markDuplicateMessageDelivery(e,t,r){let n=this.peerStats.get(e);if(n!=null){let i=r!==void 0?Date.now():0,o=this.getPtopicStats(n,t);if(o!=null&&o.inMesh){let a=this.params.topics[t];if(r!==void 0){let f=i-r,u=f>a.meshMessageDeliveriesWindow;if(this.metrics?.onDuplicateMsgDelivery(t,f,u),u)return}let c=a.meshMessageDeliveriesCap;o.meshMessageDeliveries=Math.min(c,o.meshMessageDeliveries+1)}}}removeIPsForPeer(e,t){for(let r of t){let n=this.peerIPs.get(r);n!=null&&(n.delete(e),n.size===0&&this.peerIPs.delete(r))}}getPtopicStats(e,t){let r=e.topics[t];return r!==void 0?r:this.params.topics[t]!==void 0?(r={inMesh:!1,graftTime:0,meshTime:0,firstMessageDeliveries:0,meshMessageDeliveries:0,meshMessageDeliveriesActive:!1,meshFailurePenalty:0,invalidMessageDeliveries:0},e.topics[t]=r,r):null}};function Yf(s,e,t,r,n){let i=0,o=new Map;if(Object.entries(e.topics).forEach(([l,d])=>{let m=n.get(l)??"unknown",p=t.topics[l];if(p===void 0)return;let g=o.get(m);g==null&&(g={p1w:0,p2w:0,p3w:0,p3bw:0,p4w:0},o.set(m,g));let b=0,S=0,y=0,I=0,v=0;if(d.inMesh){let k=Math.max(d.meshTime/p.timeInMeshQuantum,p.timeInMeshCap);b+=k*p.timeInMeshWeight}let B=d.firstMessageDeliveries;if(B>p.firstMessageDeliveriesCap&&(B=p.firstMessageDeliveriesCap),S+=B*p.firstMessageDeliveriesWeight,d.meshMessageDeliveriesActive&&d.meshMessageDeliveries0&&i>t.topicScoreCap){i=t.topicScoreCap;let l=t.topicScoreCap/i;for(let d of o.values())d.p1w*=l,d.p2w*=l,d.p3w*=l,d.p3bw*=l,d.p4w*=l}let a=0,c=0,f=0,u=t.appSpecificScore(s);a+=u*t.appSpecificWeight,e.knownIPs.forEach(l=>{if(t.IPColocationFactorWhitelist.has(l))return;let d=r.get(l),m=d!=null?d.size:0;if(m>t.IPColocationFactorThreshold){let p=m-t.IPColocationFactorThreshold,g=p*p;c+=g*t.IPColocationFactorWeight}});let h=e.behaviourPenalty*e.behaviourPenalty;return f+=h*t.behaviourPenaltyWeight,i+=a+c+f,{byTopic:o,p5w:a,p6w:c,p7w:f,score:i}}function ll(s,e,t,r,n){let i={byTopic:new Map,p5w:[],p6w:[],p7w:[],score:[]};for(let o of s){let a=e.get(o);if(a!=null){let c=Yf(o,a,t,r,n);for(let[f,u]of c.byTopic){let h=i.byTopic.get(f);h==null&&(h={p1w:[],p2w:[],p3w:[],p3bw:[],p4w:[]},i.byTopic.set(f,h)),h.p1w.push(u.p1w),h.p2w.push(u.p2w),h.p3w.push(u.p3w),h.p3bw.push(u.p3bw),h.p4w.push(u.p4w)}i.p5w.push(c.p5w),i.p6w.push(c.p6w),i.p7w.push(c.p7w),i.score.push(c.score)}else i.p5w.push(0),i.p6w.push(0),i.p7w.push(0),i.score.push(0)}return i}var Rn=class{rawStream;pushable;closeController;maxBufferSize;constructor(e,t,r){this.rawStream=e,this.pushable=yt(),this.closeController=new AbortController,this.maxBufferSize=r.maxBufferSize??1/0,this.closeController.signal.addEventListener("abort",()=>{e.close().catch(n=>{e.abort(n)})}),Es(this.pushable,this.rawStream).catch(t)}get protocol(){return this.rawStream.protocol}push(e){if(this.pushable.readableLength>this.maxBufferSize)throw Error(`OutboundStream buffer full, size > ${this.maxBufferSize}`);this.pushable.push(vs.single(e))}pushPrefixed(e){if(this.pushable.readableLength>this.maxBufferSize)throw Error(`OutboundStream buffer full, size > ${this.maxBufferSize}`);this.pushable.push(e)}async close(){this.closeController.abort(),await this.pushable.return()}},Ln=class{source;rawStream;closeController;constructor(e,t={}){this.rawStream=e,this.closeController=new AbortController,this.closeController.signal.addEventListener("abort",()=>{e.close().catch(r=>{e.abort(r)})}),this.source=Es(this.rawStream,r=>tr(r,t))}async close(){this.closeController.abort()}};var Un=class{gossipsubIWantFollowupMs;msgIdToStrFn;metrics;promises=new Map;requestMsByMsg=new Map;requestMsByMsgExpire;constructor(e,t,r){this.gossipsubIWantFollowupMs=e,this.msgIdToStrFn=t,this.metrics=r,this.requestMsByMsgExpire=10*e}get size(){return this.promises.size}get requestMsByMsgSize(){return this.requestMsByMsg.size}addPromise(e,t){let r=Math.floor(Math.random()*t.length),n=t[r],i=this.msgIdToStrFn(n),o=this.promises.get(i);o==null&&(o=new Map,this.promises.set(i,o));let a=Date.now();o.has(e)||(o.set(e,a+this.gossipsubIWantFollowupMs),this.metrics!=null&&(this.metrics.iwantPromiseStarted.inc(1),this.requestMsByMsg.has(i)||this.requestMsByMsg.set(i,a)))}getBrokenPromises(){let e=Date.now(),t=new Map,r=0;return this.promises.forEach((n,i)=>{n.forEach((o,a)=>{oMath.floor(Math.random()*Math.floor(s.length));for(let t=0;t{let t=X(e.toString(16).padStart(16,"0"),"base16"),r=At(s),n=new Uint8Array(r.byteLength+t.length);return n.set(r,0),n.set(t,r.byteLength),n};function ml(s){if(s.type!=="signed")throw new Error("expected signed message type");if(s.sequenceNumber==null)throw Error("missing seqno field");return gl(s.from.publicKey??s.key,s.sequenceNumber)}async function bl(s){return Tt.encode(s.data)}var Fn=class{index=0;input="";new(e){return this.index=0,this.input=e,this}readAtomically(e){let t=this.index,r=e();return r===void 0&&(this.index=t),r}parseWith(e){let t=e();if(this.index===this.input.length)return t}peekChar(){if(!(this.index>=this.input.length))return this.input[this.index]}readChar(){if(!(this.index>=this.input.length))return this.input[this.index++]}readGivenChar(e){return this.readAtomically(()=>{let t=this.readChar();if(t===e)return t})}readSeparator(e,t,r){return this.readAtomically(()=>{if(!(t>0&&this.readGivenChar(e)===void 0))return r()})}readNumber(e,t,r,n){return this.readAtomically(()=>{let i=0,o=0,a=this.peekChar();if(a===void 0)return;let c=a==="0",f=2**(8*n)-1;for(;;){let u=this.readAtomically(()=>{let h=this.readChar();if(h===void 0)return;let l=Number.parseInt(h,e);if(!Number.isNaN(l))return l});if(u===void 0)break;if(i*=e,i+=u,i>f||(o+=1,t!==void 0&&o>t))return}if(o!==0)return!r&&c&&o>1?void 0:i})}readIPv4Addr(){return this.readAtomically(()=>{let e=new Uint8Array(4);for(let t=0;tthis.readNumber(10,3,!1,1));if(r===void 0)return;e[t]=r}return e})}readIPv6Addr(){let e=t=>{for(let r=0;rthis.readIPv4Addr());if(o!==void 0)return t[n]=o[0],t[n+1]=o[1],t[n+2]=o[2],t[n+3]=o[3],[n+4,!0]}let i=this.readSeparator(":",r,()=>this.readNumber(16,4,!0,2));if(i===void 0)return[n,!1];t[n]=i>>8,t[n+1]=i&255}return[t.length,!1]};return this.readAtomically(()=>{let t=new Uint8Array(16),[r,n]=e(t);if(r===16)return t;if(n||this.readGivenChar(":")===void 0||this.readGivenChar(":")===void 0)return;let i=new Uint8Array(14),o=16-(r+2),[a]=e(i.subarray(0,o));return t.set(i.subarray(0,a),16-a),t})}readIPAddr(){return this.readIPv4Addr()??this.readIPv6Addr()}};var Qf=45;var yl=new Fn;function Vn(s){if(s.includes("%")&&(s=s.split("%")[0]),!(s.length>Qf))return yl.new(s).parseWith(()=>yl.readIPAddr())}var Iw=parseInt("0xFFFF",16),_w=new Uint8Array([0,0,0,0,0,0,0,0,0,0,255,255]);function wo(s){return!!Vn(s)}var xl=function(s,e=0,t){e=~~e,t=t??s.length-e;let r=new DataView(s.buffer);if(t===4){let n=[];for(let i=0;i{let e=cd(...s);xo[e.code]=e,vo[e.name]=e});function cd(s,e,t,r,n){return{code:s,size:e,name:t,resolvable:!!r,path:!!n}}function sr(s){if(typeof s=="number"){if(xo[s]!=null)return xo[s];throw new Error(`no protocol with code: ${s}`)}else if(typeof s=="string"){if(vo[s]!=null)return vo[s];throw new Error(`no protocol with name: ${s}`)}throw new Error(`invalid protocol id type: ${typeof s}`)}var fv=sr("ip4"),dv=sr("ip6"),pv=sr("ipcidr");function Sl(s,e){switch(sr(s).code){case 4:case 41:return ld(e);case 42:return So(e);case 6:case 273:case 33:case 132:return Bl(e).toString();case 53:case 54:case 55:case 56:case 400:case 449:case 777:return So(e);case 421:return hd(e);case 444:return El(e);case 445:return El(e);case 466:return ud(e);case 481:return globalThis.encodeURIComponent(So(e));default:return $(e,"base16")}}var Eo=Object.values(Us).map(s=>s.decoder),gv=function(){let s=Eo[0].or(Eo[1]);return Eo.slice(2).forEach(e=>s=s.or(e)),s}();function ld(s){let e=xl(s,0,s.length);if(e==null)throw new Error("ipBuff is required");if(!wo(e))throw new Error("invalid ip address");return e}function Bl(s){return new DataView(s.buffer).getUint16(s.byteOffset)}function So(s){let e=us(s);if(s=s.slice(Ee(e)),s.length!==e)throw new Error("inconsistent lengths");return $(s)}function ud(s){let e=us(s),t=s.slice(Ee(e));if(t.length!==e)throw new Error("inconsistent lengths");return"u"+$(t,"base64url")}function hd(s){let e=us(s),t=s.slice(Ee(e));if(t.length!==e)throw new Error("inconsistent lengths");return $(t,"base58btc")}function El(s){let e=s.slice(0,s.length-2),t=s.slice(s.length-2),r=$(e,"base32"),n=Bl(t);return`${r}:${n}`}var Hn;(function(s){s[s.ip4=4]="ip4",s[s.ip6=41]="ip6"})(Hn||(Hn={}));function Il(s){for(let e of s.tuples())switch(e[0]){case Hn.ip4:case Hn.ip6:return Sl(e[0],e[1]);default:break}return null}var _s=class{entries=new Map;validityMs;constructor(e){this.validityMs=e.validityMs}get size(){return this.entries.size}put(e,t){return this.entries.has(e)?!0:(this.entries.set(e,{value:t,validUntilMs:Date.now()+this.validityMs}),!1)}prune(){let e=Date.now();for(let[t,r]of this.entries.entries())if(r.validUntilMs=Date.now()?t.value:void 0}clear(){this.entries.clear()}};var Ud=Tn,Le;(function(s){s[s.started=0]="started",s[s.stopped=1]="stopped"})(Le||(Le={}));var On=class extends ir{globalSignaturePolicy;multicodecs=[Tn,mo];publishConfig;dataTransform;peers=new Set;streamsInbound=new Map;streamsOutbound=new Map;outboundInflightQueue=yt({objectMode:!0});direct=new Set;floodsubPeers=new Set;seenCache;acceptFromWhitelist=new Map;topics=new Map;subscriptions=new Set;mesh=new Map;fanout=new Map;fanoutLastpub=new Map;gossip=new Map;control=new Map;peerhave=new Map;iasked=new Map;backoff=new Map;outbound=new Map;msgIdFn;fastMsgIdFn;msgIdToStrFn;fastMsgIdCache;publishedMessageIds;mcache;score;topicValidators=new Map;log;heartbeatTicks=0;gossipTracer;components;directPeerInitial=null;static multicodec=Tn;opts;decodeRpcLimits;metrics;status={code:Le.stopped};maxInboundStreams;maxOutboundStreams;runOnLimitedConnection;allowedTopics;heartbeatTimer=null;constructor(e,t={}){super();let r={fallbackToFloodsub:!0,floodPublish:!0,batchPublish:!1,tagMeshPeers:!0,doPX:!1,directPeers:[],D:6,Dlo:4,Dhi:12,Dscore:4,Dout:2,Dlazy:6,heartbeatInterval:1e3,fanoutTTL:6e4,mcacheLength:5,mcacheGossip:3,seenTTL:12e4,gossipsubIWantFollowupMs:3e3,prunePeers:16,pruneBackoff:6e4,unsubcribeBackoff:1e4,graftFloodThreshold:1e4,opportunisticGraftPeers:2,opportunisticGraftTicks:60,directConnectTicks:300,gossipFactor:.25,...t,scoreParams:tl(t.scoreParams),scoreThresholds:rl(t.scoreThresholds)};if(this.components=e,this.decodeRpcLimits=r.decodeRpcLimits??Xc,this.globalSignaturePolicy=r.globalSignaturePolicy??Ft,r.fallbackToFloodsub&&this.multicodecs.push(go),this.log=e.logger.forComponent(r.debugName??"libp2p:gossipsub"),this.opts=r,this.direct=new Set(r.directPeers.map(n=>n.id.toString())),this.seenCache=new _s({validityMs:r.seenTTL}),this.publishedMessageIds=new _s({validityMs:r.seenTTL}),t.msgIdFn!=null)this.msgIdFn=t.msgIdFn;else switch(this.globalSignaturePolicy){case Ft:this.msgIdFn=ml;break;case Xt:this.msgIdFn=bl;break;default:throw new Error(`Invalid globalSignaturePolicy: ${this.globalSignaturePolicy}`)}if(t.fastMsgIdFn!=null&&(this.fastMsgIdFn=t.fastMsgIdFn,this.fastMsgIdCache=new _s({validityMs:r.seenTTL})),this.msgIdToStrFn=t.msgIdToStrFn??dl,this.mcache=t.messageCache??new Mn(r.mcacheGossip,r.mcacheLength,this.msgIdToStrFn),t.dataTransform!=null&&(this.dataTransform=t.dataTransform),t.metricsRegister!=null){if(t.metricsTopicStrToLabel==null)throw Error("Must set metricsTopicStrToLabel with metrics");let n=Math.max(...Object.values(r.scoreParams.topics).map(o=>o.meshMessageDeliveriesWindow),1e3),i=el(t.metricsRegister,t.metricsTopicStrToLabel,{gossipPromiseExpireSec:this.opts.gossipsubIWantFollowupMs/1e3,behaviourPenaltyThreshold:r.scoreParams.behaviourPenaltyThreshold,maxMeshMessageDeliveriesWindowSec:n/1e3});i.mcacheSize.addCollect(()=>{this.onScrapeMetrics(i)});for(let o of this.multicodecs)i.protocolsEnabled.set({protocol:o},1);this.metrics=i}else this.metrics=null;this.gossipTracer=new Un(this.opts.gossipsubIWantFollowupMs,this.msgIdToStrFn,this.metrics),this.score=new Nn(this.opts.scoreParams,this.metrics,this.components.logger,{scoreCacheValidityMs:r.heartbeatInterval}),this.maxInboundStreams=t.maxInboundStreams,this.maxOutboundStreams=t.maxOutboundStreams,this.runOnLimitedConnection=t.runOnLimitedConnection,this.allowedTopics=r.allowedTopics!=null?new Set(r.allowedTopics):null}[Symbol.toStringTag]="@chainsafe/libp2p-gossipsub";[Ro]=["@libp2p/pubsub"];[Lo]=["@libp2p/identify"];getPeers(){return[...this.peers.keys()].map(e=>Lt(e))}isStarted(){return this.status.code===Le.started}async start(){if(this.isStarted())return;this.log("starting"),this.publishConfig=pl(this.globalSignaturePolicy,this.components.peerId,this.components.privateKey),this.outboundInflightQueue=yt({objectMode:!0}),Es(this.outboundInflightQueue,async i=>{for await(let{peerId:o,connection:a}of i)await this.createOutboundStream(o,a)}).catch(i=>{this.log.error("outbound inflight queue error",i)}),await Promise.all(this.opts.directPeers.map(async i=>{await this.components.peerStore.merge(i.id,{multiaddrs:i.addrs})}));let e=this.components.registrar;await Promise.all(this.multicodecs.map(async i=>e.handle(i,this.onIncomingStream.bind(this),{maxInboundStreams:this.maxInboundStreams,maxOutboundStreams:this.maxOutboundStreams,runOnLimitedConnection:this.runOnLimitedConnection})));let t={onConnect:this.onPeerConnected.bind(this),onDisconnect:this.onPeerDisconnected.bind(this),notifyOnLimitedConnection:this.runOnLimitedConnection},r=await Promise.all(this.multicodecs.map(async i=>e.register(i,t))),n=setTimeout(this.runHeartbeat,100);this.status={code:Le.started,registrarTopologyIds:r,heartbeatTimeout:n,hearbeatStartMs:Date.now()+100},this.score.start(),this.directPeerInitial=setTimeout(()=>{Promise.resolve().then(async()=>{await Promise.all(Array.from(this.direct).map(async i=>this.connect(i)))}).catch(i=>{this.log(i)})},1e3),this.opts.tagMeshPeers&&(this.addEventListener("gossipsub:graft",this.tagMeshPeer),this.addEventListener("gossipsub:prune",this.untagMeshPeer)),this.log("started")}async stop(){if(this.log("stopping"),this.status.code!==Le.started)return;let{registrarTopologyIds:e}=this.status;this.status={code:Le.stopped},this.opts.tagMeshPeers&&(this.removeEventListener("gossipsub:graft",this.tagMeshPeer),this.removeEventListener("gossipsub:prune",this.untagMeshPeer));let t=this.components.registrar;await Promise.all(this.multicodecs.map(async n=>t.unhandle(n))),e.forEach(n=>{t.unregister(n)}),this.outboundInflightQueue.end();let r=[];for(let n of this.streamsOutbound.values())r.push(n.close());this.streamsOutbound.clear();for(let n of this.streamsInbound.values())r.push(n.close());this.streamsInbound.clear(),await Promise.all(r),this.peers.clear(),this.subscriptions.clear(),this.heartbeatTimer!=null&&(this.heartbeatTimer.cancel(),this.heartbeatTimer=null),this.score.stop(),this.mesh.clear(),this.fanout.clear(),this.fanoutLastpub.clear(),this.gossip.clear(),this.control.clear(),this.peerhave.clear(),this.iasked.clear(),this.backoff.clear(),this.outbound.clear(),this.gossipTracer.clear(),this.seenCache.clear(),this.fastMsgIdCache!=null&&this.fastMsgIdCache.clear(),this.directPeerInitial!=null&&clearTimeout(this.directPeerInitial),this.log("stopped")}dumpPeerScoreStats(){return this.score.dumpPeerScoreStats()}onIncomingStream({stream:e,connection:t}){if(!this.isStarted())return;let r=t.remotePeer;this.addPeer(r,t.direction,t.remoteAddr),this.createInboundStream(r,e),this.outboundInflightQueue.push({peerId:r,connection:t})}onPeerConnected(e,t){this.metrics?.newConnectionCount.inc({status:t.status}),!(!this.isStarted()||t.status!=="open")&&(this.addPeer(e,t.direction,t.remoteAddr),this.outboundInflightQueue.push({peerId:e,connection:t}))}onPeerDisconnected(e){this.log("connection ended %p",e),this.removePeer(e)}async createOutboundStream(e,t){if(!this.isStarted())return;let r=e.toString();if(this.peers.has(r)&&!this.streamsOutbound.has(r))try{let n=new Rn(await t.newStream(this.multicodecs,{runOnLimitedConnection:this.runOnLimitedConnection}),o=>{this.log.error("outbound pipe error",o)},{maxBufferSize:this.opts.maxOutboundBufferSize});this.log("create outbound stream %p",e),this.streamsOutbound.set(r,n);let i=n.protocol;i===go&&this.floodsubPeers.add(r),this.metrics?.peersPerProtocol.inc({protocol:i},1),this.subscriptions.size>0&&(this.log("send subscriptions to",r),this.sendSubscriptions(r,Array.from(this.subscriptions),!0))}catch(n){this.log.error("createOutboundStream error",n)}}createInboundStream(e,t){if(!this.isStarted())return;let r=e.toString();if(!this.peers.has(r))return;let n=this.streamsInbound.get(r);n!==void 0&&(this.log("replacing existing inbound steam %s",r),n.close().catch(o=>{this.log.error(o)})),this.log("create inbound stream %s",r);let i=new Ln(t,{maxDataLength:this.opts.maxInboundDataLength});this.streamsInbound.set(r,i),this.pipePeerReadStream(e,i.source).catch(o=>{this.log(o)})}addPeer(e,t,r){let n=e.toString();if(!this.peers.has(n)){this.log("new peer %p",e),this.peers.add(n),this.score.addPeer(n);let i=Il(r);i!==null?this.score.addIP(n,i):this.log("Added peer has no IP in current address %s %s",n,r.toString()),this.outbound.has(n)||this.outbound.set(n,t==="outbound")}}removePeer(e){let t=e.toString();if(!this.peers.has(t))return;this.log("delete peer %p",e),this.peers.delete(t);let r=this.streamsOutbound.get(t),n=this.streamsInbound.get(t);r!=null&&this.metrics?.peersPerProtocol.inc({protocol:r.protocol},-1),r?.close().catch(i=>{this.log.error(i)}),n?.close().catch(i=>{this.log.error(i)}),this.streamsOutbound.delete(t),this.streamsInbound.delete(t);for(let i of this.topics.values())i.delete(t);for(let[i,o]of this.mesh)o.delete(t)&&this.metrics?.onRemoveFromMesh(i,$e.Dc,1);for(let i of this.fanout.values())i.delete(t);this.floodsubPeers.delete(t),this.gossip.delete(t),this.control.delete(t),this.outbound.delete(t),this.score.removePeer(t),this.acceptFromWhitelist.delete(t)}get started(){return this.status.code===Le.started}getMeshPeers(e){let t=this.mesh.get(e);return t!=null?Array.from(t):[]}getSubscribers(e){let t=this.topics.get(e);return(t!=null?Array.from(t):[]).map(r=>Lt(r))}getTopics(){return Array.from(this.subscriptions)}async pipePeerReadStream(e,t){try{await Es(t,async r=>{for await(let n of r)try{let i=n.subarray(),o=wt.decode(i,{limits:{subscriptions:this.decodeRpcLimits.maxSubscriptions,messages:this.decodeRpcLimits.maxMessages,control$:{ihave:this.decodeRpcLimits.maxIhaveMessageIDs,iwant:this.decodeRpcLimits.maxIwantMessageIDs,graft:this.decodeRpcLimits.maxControlMessages,prune:this.decodeRpcLimits.maxControlMessages,prune$:{peers:this.decodeRpcLimits.maxPeerInfos}}}});if(this.metrics?.onRpcRecv(o,i.length),this.opts.awaitRpcHandler)try{await this.handleReceivedRpc(e,o)}catch(a){this.metrics?.onRpcRecvError(),this.log(a)}else this.handleReceivedRpc(e,o).catch(a=>{this.metrics?.onRpcRecvError(),this.log(a)})}catch(i){this.metrics?.onRpcDataError(),this.log(i)}})}catch(r){this.metrics?.onPeerReadStreamError(),this.handlePeerReadStreamError(r,e)}}handlePeerReadStreamError(e,t){this.log.error(e),this.onPeerDisconnected(t)}async handleReceivedRpc(e,t){if(!this.acceptFrom(e.toString())){this.log("received message from unacceptable peer %p",e),this.metrics?.rpcRecvNotAccepted.inc();return}let r=t.subscriptions!=null?t.subscriptions.length:0,n=t.messages!=null?t.messages.length:0,i=0,o=0,a=0,c=0;if(t.control!=null&&(t.control.ihave!=null&&(i=t.control.ihave.length),t.control.iwant!=null&&(o=t.control.iwant.length),t.control.graft!=null&&(a=t.control.graft.length),t.control.prune!=null&&(c=t.control.prune.length)),this.log(`rpc.from ${e.toString()} subscriptions ${r} messages ${n} ihave ${i} iwant ${o} graft ${a} prune ${c}`),t.subscriptions!=null&&t.subscriptions.length>0){let f=[];t.subscriptions.forEach(u=>{let h=u.topic,l=u.subscribe===!0;if(h!=null){if(this.allowedTopics!=null&&!this.allowedTopics.has(h))return;this.handleReceivedSubscription(e,h,l),f.push({topic:h,subscribe:l})}}),this.safeDispatchEvent("subscription-change",{detail:{peerId:e,subscriptions:f}})}for(let f of t.messages){if(this.allowedTopics!=null&&!this.allowedTopics.has(f.topic))continue;let u=this.handleReceivedMessage(e,f).catch(h=>{this.metrics?.onMsgRecvError(f.topic),this.log(h)});this.opts.awaitRpcMessageHandler&&await u}t.control!=null&&await this.handleControlMessage(e.toString(),t.control)}handleReceivedSubscription(e,t,r){this.log("subscription update from %p topic %s",e,t);let n=this.topics.get(t);n==null&&(n=new Set,this.topics.set(t,n)),r?n.add(e.toString()):n.delete(e.toString())}async handleReceivedMessage(e,t){this.metrics?.onMsgRecvPreValidation(t.topic);let r=await this.validateReceivedMessage(e,t);this.metrics?.onPrevalidationResult(t.topic,r.code);let n=r.code;switch(n){case ye.duplicate:this.score.duplicateMessage(e.toString(),r.msgIdStr,t.topic),this.gossipTracer.deliverMessage(r.msgIdStr,!0),this.mcache.observeDuplicate(r.msgIdStr,e.toString());return;case ye.invalid:if(r.msgIdStr!=null){let i=r.msgIdStr;this.score.rejectMessage(e.toString(),i,t.topic,r.reason),this.gossipTracer.rejectMessage(i,r.reason)}else this.score.rejectInvalidMessage(e.toString(),t.topic);this.metrics?.onMsgRecvInvalid(t.topic,r);return;case ye.valid:this.score.validateMessage(r.messageId.msgIdStr),this.gossipTracer.deliverMessage(r.messageId.msgIdStr),this.mcache.put(r.messageId,t,!this.opts.asyncValidation),this.subscriptions.has(t.topic)&&(!this.components.peerId.equals(e)||this.opts.emitSelf)&&(super.dispatchEvent(new CustomEvent("gossipsub:message",{detail:{propagationSource:e,msgId:r.messageId.msgIdStr,msg:r.msg}})),super.dispatchEvent(new CustomEvent("message",{detail:r.msg}))),this.opts.asyncValidation||this.forwardMessage(r.messageId.msgIdStr,t,e.toString());break;default:throw new Error(`Invalid validation result: ${n}`)}}async validateReceivedMessage(e,t){let r=this.fastMsgIdFn?.(t),n=r!==void 0?this.fastMsgIdCache?.get(r):void 0;if(n!=null)return{code:ye.duplicate,msgIdStr:n};let i=await fl(this.globalSignaturePolicy,t);if(!i.valid)return{code:ye.invalid,reason:Be.Error,error:i.error};let o=i.message;try{this.dataTransform!=null&&(o.data=this.dataTransform.inboundTransform(t.topic,o.data))}catch(h){return this.log("Invalid message, transform failed",h),{code:ye.invalid,reason:Be.Error,error:be.TransformFailed}}let a=await this.msgIdFn(o),c=this.msgIdToStrFn(a),f={msgId:a,msgIdStr:c};if(r!==void 0&&this.fastMsgIdCache!=null&&this.fastMsgIdCache.put(r,c)&&this.metrics?.fastMsgIdCacheCollision.inc(),this.seenCache.has(c))return{code:ye.duplicate,msgIdStr:c};this.seenCache.put(c);let u=this.topicValidators.get(t.topic);if(u!=null){let h;try{h=await u(e,o)}catch(l){let d=l.code;d===Jc&&(h=xe.Ignore),d===Zc?h=xe.Reject:h=xe.Ignore}if(h!==xe.Accept)return{code:ye.invalid,reason:bo(h),msgIdStr:c}}return{code:ye.valid,messageId:f,msg:o}}getScore(e){return this.score.score(e)}sendSubscriptions(e,t,r){this.sendRpc(e,{subscriptions:t.map(n=>({topic:n,subscribe:r})),messages:[]})}async handleControlMessage(e,t){if(t===void 0)return;let r=t.ihave!=null?this.handleIHave(e,t.ihave):[],n=t.iwant!=null?this.handleIWant(e,t.iwant):[],i=t.graft!=null?await this.handleGraft(e,t.graft):[];if(t.prune!=null&&await this.handlePrune(e,t.prune),r.length===0&&n.length===0&&i.length===0)return;let o=this.sendRpc(e,et(n,{iwant:r,prune:i})),a=r[0]?.messageIDs;a!=null&&(o?this.gossipTracer.addPromise(e,a):this.metrics?.iwantPromiseUntracked.inc(1))}acceptFrom(e){if(this.direct.has(e))return!0;let t=Date.now(),r=this.acceptFromWhitelist.get(e);if(r!=null&&r.messagesAccepted<128&&r.acceptUntil>=t)return r.messagesAccepted+=1,!0;let n=this.score.score(e);return n>=0?this.acceptFromWhitelist.set(e,{messagesAccepted:0,acceptUntil:t+1e3}):this.acceptFromWhitelist.delete(e),n>=this.opts.scoreThresholds.graylistThreshold}handleIHave(e,t){if(t.length===0)return[];let r=this.score.score(e);if(r10)return this.log("IHAVE: peer %s has advertised too many times (%d) within this heartbeat interval; ignoring",e,n),this.metrics?.ihaveRcvIgnored.inc({reason:Is.MaxIhave}),[];let i=this.iasked.get(e)??0;if(i>=5e3)return this.log("IHAVE: peer %s has already advertised too many messages (%d); ignoring",e,i),this.metrics?.ihaveRcvIgnored.inc({reason:Is.MaxIasked}),[];let o=new Map;if(t.forEach(({topicID:f,messageIDs:u})=>{if(f==null||u==null||!this.mesh.has(f))return;let h=0;u.forEach(l=>{let d=this.msgIdToStrFn(l);this.seenCache.has(d)||(o.set(d,l),h++)}),this.metrics?.onIhaveRcv(f,u.length,h)}),o.size===0)return[];let a=o.size;a+i>5e3&&(a=5e3-i),this.log("IHAVE: Asking for %d out of %d messages from %s",a,o.size,e);let c=Array.from(o.values());return tt(c),c=c.slice(0,a),this.iasked.set(e,i+a),[{messageIDs:c}]}handleIWant(e,t){if(t.length===0)return[];let r=this.score.score(e);if(r{a?.forEach(c=>{let f=this.msgIdToStrFn(c),u=this.mcache.getWithIWantCount(f,e);if(u==null){o++;return}if(i.set(u.msg.topic,1+(i.get(u.msg.topic)??0)),u.count>3){this.log("IWANT: Peer %s has asked for message %s too many times: ignoring request",e,c);return}n.set(f,u.msg)})}),this.metrics?.onIwantRcv(i,o),n.size===0?(this.log("IWANT: Could not provide any wanted messages to %s",e),[]):(this.log("IWANT: Sending %d messages to %s",n.size,e),Array.from(n.values()))}async handleGraft(e,t){let r=[],n=this.score.score(e),i=Date.now(),o=this.opts.doPX;if(t.forEach(({topicID:c})=>{if(c==null)return;let f=this.mesh.get(c);if(f==null){o=!1;return}if(f.has(e))return;let u=this.backoff.get(c)?.get(e);if(this.direct.has(e))this.log("GRAFT: ignoring request from direct peer %s",e),r.push(c),o=!1;else if(typeof u=="number"&&i=this.opts.Dhi&&!(this.outbound.get(e)??!1)?(r.push(c),this.addBackoff(e,c)):(this.log("GRAFT: Add mesh link from %s in %s",e,c),this.score.graft(e,c),f.add(e),this.metrics?.onAddToMesh(c,Ie.Subscribed,1));this.safeDispatchEvent("gossipsub:graft",{detail:{peerId:e,topic:c,direction:"inbound"}})}),r.length===0)return[];let a=!1;return Promise.all(r.map(async c=>this.makePrune(e,c,o,a)))}async handlePrune(e,t){let r=this.score.score(e);for(let{topicID:n,backoff:i,peers:o}of t){if(n==null)continue;let a=this.mesh.get(n);if(a==null)return;this.log("PRUNE: Remove mesh link to %s in %s",e,n),this.score.prune(e,n),a.has(e)&&(a.delete(e),this.metrics?.onRemoveFromMesh(n,$e.Prune,1)),typeof i=="number"&&i>0?this.doAddBackoff(e,n,i*1e3):this.addBackoff(e,n),o!=null&&o.length>0&&(r{this.log("peer %s didn't follow up in %d IWANT requests; adding penalty",t,e),this.score.addPenalty(t,e,Bs.BrokenPromise)})}clearBackoff(){if(this.heartbeatTicks%15!==0)return;let e=Date.now();this.backoff.forEach((t,r)=>{t.forEach((n,i)=>{n+1*this.opts.heartbeatInterval{this.streamsOutbound.has(t)||e.push(t)}),await Promise.all(e.map(async t=>this.connect(t)))}async pxConnect(e){e.length>this.opts.prunePeers&&(tt(e),e=e.slice(0,this.opts.prunePeers));let t=[];await Promise.all(e.map(async r=>{if(r.peerID==null)return;let n=Qs(Oe(r.peerID)),i=n.toString();if(!this.peers.has(i)){if(r.signedPeerRecord==null){t.push(i);return}try{if(!await this.components.peerStore.consumePeerRecord(r.signedPeerRecord,n)){this.log("bogus peer record obtained through px: could not add peer record to address book");return}t.push(i)}catch{this.log("bogus peer record obtained through px: invalid signature or not a peer record")}}})),t.length!==0&&await Promise.all(t.map(async r=>this.connect(r)))}async connect(e){this.log("Initiating connection with %s",e);let t=Lt(e),r=await this.components.connectionManager.openConnection(t);for(let n of this.multicodecs)for(let i of this.components.registrar.getTopologies(n))i.onConnect?.(t,r)}subscribe(e){if(this.status.code!==Le.started)throw new Error("Pubsub has not started");if(!this.subscriptions.has(e)){this.subscriptions.add(e);for(let t of this.peers.keys())this.sendSubscriptions(t,[e],!0)}this.join(e)}unsubscribe(e){if(this.status.code!==Le.started)throw new Error("Pubsub is not started");let t=this.subscriptions.delete(e);if(this.log("unsubscribe from %s - am subscribed %s",e,t),t)for(let r of this.peers.keys())this.sendSubscriptions(r,[e],!1);this.leave(e)}join(e){if(this.status.code!==Le.started)throw new Error("Gossipsub has not started");if(this.mesh.has(e))return;this.log("JOIN %s",e),this.metrics?.onJoin(e);let t=new Set,r=this.backoff.get(e),n=this.fanout.get(e);if(n!=null&&(this.fanout.delete(e),this.fanoutLastpub.delete(e),n.forEach(i=>{!this.direct.has(i)&&this.score.score(i)>=0&&(r==null||!r.has(i))&&t.add(i)}),this.metrics?.onAddToMesh(e,Ie.Fanout,t.size)),t.size!t.has(a)&&!this.direct.has(a)&&this.score.score(a)>=0&&(r==null||!r.has(a))).forEach(a=>{t.add(a)}),this.metrics?.onAddToMesh(e,Ie.Random,t.size-i)}this.mesh.set(e,t),t.forEach(i=>{this.log("JOIN: Add mesh link to %s in %s",i,e),this.sendGraft(i,e)})}leave(e){if(this.status.code!==Le.started)throw new Error("Gossipsub has not started");this.log("LEAVE %s",e),this.metrics?.onLeave(e);let t=this.mesh.get(e);t!=null&&(Promise.all(Array.from(t).map(async r=>{this.log("LEAVE: Remove mesh link to %s in %s",r,e),await this.sendPrune(r,e)})).catch(r=>{this.log("Error sending prunes to mesh peers",r)}),this.mesh.delete(e))}selectPeersToForward(e,t,r){let n=new Set,i=this.topics.get(e);i!=null&&(this.direct.forEach(a=>{i.has(a)&&t!==a&&!(r?.has(a)??!1)&&n.add(a)}),this.floodsubPeers.forEach(a=>{i.has(a)&&t!==a&&!(r?.has(a)??!1)&&this.score.score(a)>=this.opts.scoreThresholds.publishThreshold&&n.add(a)}));let o=this.mesh.get(e);return o!=null&&o.size>0&&o.forEach(a=>{t!==a&&!(r?.has(a)??!1)&&n.add(a)}),n}selectPeersToPublish(e){let t=new Set,r={direct:0,floodsub:0,mesh:0,fanout:0},n=this.topics.get(e);if(n!=null)if(this.opts.floodPublish)n.forEach(i=>{this.direct.has(i)?(t.add(i),r.direct++):this.score.score(i)>=this.opts.scoreThresholds.publishThreshold&&(t.add(i),r.floodsub++)});else{this.direct.forEach(o=>{n.has(o)&&(t.add(o),r.direct++)}),this.floodsubPeers.forEach(o=>{n.has(o)&&this.score.score(o)>=this.opts.scoreThresholds.publishThreshold&&(t.add(o),r.floodsub++)});let i=this.mesh.get(e);if(i!=null&&i.size>0)i.forEach(o=>{t.add(o),r.mesh++}),i.size!i.has(a)&&!this.direct.has(a)&&!this.floodsubPeers.has(a)&&this.score.score(a)>=this.opts.scoreThresholds.publishThreshold).forEach(a=>{t.add(a),r.mesh++});else{let o=this.fanout.get(e);if(o!=null&&o.size>0)o.forEach(a=>{t.add(a),r.fanout++});else{let a=this.getRandomGossipPeers(e,this.opts.D,c=>this.score.score(c)>=this.opts.scoreThresholds.publishThreshold);a.size>0&&(this.fanout.set(e,a),a.forEach(c=>{t.add(c),r.fanout++}))}this.fanoutLastpub.set(e,Date.now())}}return{tosend:t,tosendCount:r}}forwardMessage(e,t,r,n){r!=null&&this.score.deliverMessage(r,e,t.topic);let i=this.selectPeersToForward(t.topic,r,n);i.forEach(o=>{this.sendRpc(o,et([t]))}),this.metrics?.onForwardMsg(t.topic,i.size)}async publish(e,t,r){let n=Date.now(),i=this.dataTransform!=null?this.dataTransform.outboundTransform(e,t):t;if(this.publishConfig==null)throw Error("PublishError.Uninitialized");let{raw:o,msg:a}=await hl(this.publishConfig,e,t,i),c=await this.msgIdFn(a),f=this.msgIdToStrFn(c),u=r?.ignoreDuplicatePublishError??this.opts.ignoreDuplicatePublishError;if(this.seenCache.has(f)){if(u)return this.metrics?.onPublishDuplicateMsg(e),{recipients:[]};throw Error("PublishError.Duplicate")}let{tosend:h,tosendCount:l}=this.selectPeersToPublish(e),d=this.opts.emitSelf&&this.subscriptions.has(e),m=r?.allowPublishToZeroTopicPeers??this.opts.allowPublishToZeroTopicPeers;if(h.size===0&&!m&&!d)throw Error("PublishError.NoPeersSubscribedToTopic");this.seenCache.put(f),this.mcache.put({msgId:c,msgIdStr:f},o,!0),this.publishedMessageIds.put(f);let p=r?.batchPublish??this.opts.batchPublish,g=et([o]);if(p)this.sendRpcInBatch(h,g);else for(let S of h)this.sendRpc(S,g)||h.delete(S);let b=Date.now()-n;return this.metrics?.onPublishMsg(e,l,h.size,o.data!=null?o.data.length:0,b),d&&(h.add(this.components.peerId.toString()),super.dispatchEvent(new CustomEvent("gossipsub:message",{detail:{propagationSource:this.components.peerId,msgId:f,msg:a}})),super.dispatchEvent(new CustomEvent("message",{detail:a}))),{recipients:Array.from(h.values()).map(S=>Lt(S))}}sendRpcInBatch(e,t){let r=wt.encode(t),n=vs.single(r);for(let i of e){let o=this.streamsOutbound.get(i);if(o==null){this.log(`Cannot send RPC to ${i} as there is no open stream to it available`),e.delete(i);continue}try{o.pushPrefixed(n)}catch(a){e.delete(i),this.log.error(`Cannot send rpc to ${i}`,a)}this.metrics?.onRpcSent(t,r.length)}}reportMessageValidationResult(e,t,r){let n;if(r===xe.Accept){if(n=this.mcache.validate(e),n!=null){let{message:o,originatingPeers:a}=n;this.score.deliverMessage(t,e,o.topic),this.forwardMessage(e,n.message,t,a)}}else if(n=this.mcache.remove(e),n!=null){let o=bo(r),{message:a,originatingPeers:c}=n;this.score.rejectMessage(t,e,a.topic,o);for(let f of c)this.score.rejectMessage(f,e,a.topic,o)}let i=this.score.messageFirstSeenTimestampMs(e);this.metrics?.onReportValidation(n,r,i)}sendGraft(e,t){let n=et([],{graft:[{topicID:t}]});this.sendRpc(e,n)}async sendPrune(e,t){let n=[await this.makePrune(e,t,this.opts.doPX,!0)],i=et([],{prune:n});this.sendRpc(e,i)}sendRpc(e,t){let r=this.streamsOutbound.get(e);if(r==null)return this.log(`Cannot send RPC to ${e} as there is no open stream to it available`),!1;let n=this.control.get(e);n!=null&&(this.piggybackControl(e,t,n),this.control.delete(e));let i=this.gossip.get(e);i!=null&&(this.piggybackGossip(e,t,i),this.gossip.delete(e));let o=wt.encode(t);try{r.push(o)}catch(a){return this.log.error(`Cannot send rpc to ${e}`,a),n!=null&&this.control.set(e,n),i!=null&&this.gossip.set(e,i),!1}if(this.metrics?.onRpcSent(t,o.length),t.control?.graft!=null)for(let a of t.control?.graft)a.topicID!=null&&this.safeDispatchEvent("gossipsub:graft",{detail:{peerId:e,topic:a.topicID,direction:"outbound"}});if(t.control?.prune!=null)for(let a of t.control?.prune)a.topicID!=null&&this.safeDispatchEvent("gossipsub:prune",{detail:{peerId:e,topic:a.topicID,direction:"outbound"}});return!0}piggybackControl(e,t,r){let n=yo(t);for(let i of r.graft)i.topicID!=null&&(this.mesh.get(i.topicID)?.has(e)??!1)&&n.control.graft.push(i);for(let i of r.prune)i.topicID!=null&&!(this.mesh.get(i.topicID)?.has(e)??!1)&&n.control.prune.push(i)}piggybackGossip(e,t,r){let n=yo(t);n.control.ihave=r}async sendGraftPrune(e,t,r){let n=this.opts.doPX,i=!1;for(let[o,a]of e){let c=a.map(h=>({topicID:h})),f=[],u=t.get(o);u!=null&&(f=await Promise.all(u.map(async h=>this.makePrune(o,h,n&&!(r.get(o)??!1),i))),t.delete(o)),this.sendRpc(o,et([],{graft:c,prune:f}))}for(let[o,a]of t){let c=await Promise.all(a.map(async f=>this.makePrune(o,f,n&&!(r.get(o)??!1),i)));this.sendRpc(o,et([],{prune:c}))}}emitGossip(e){let t=this.mcache.getGossipIDs(new Set(e.keys()));for(let[r,n]of e)this.doEmitGossip(r,n,t.get(r)??[])}doEmitGossip(e,t,r){if(r.length===0||(tt(r),r.length>5e3&&this.log("too many messages for gossip; will truncate IHAVE list (%d messages)",r.length),t.size===0))return;let n=this.opts.Dlazy,o=this.opts.gossipFactor*t.size,a=t;o>n&&(n=o),n>a.size?n=a.size:a=tt(Array.from(a)).slice(0,n),a.forEach(c=>{let f=r;r.length>5e3&&(f=tt(f.slice()).slice(0,5e3)),this.pushGossip(c,{topicID:e,messageIDs:f})})}flush(){for(let[e,t]of this.gossip.entries())this.gossip.delete(e),this.sendRpc(e,et([],{ihave:t}));for(let[e,t]of this.control.entries()){this.control.delete(e);let r=et([],{graft:t.graft,prune:t.prune});this.sendRpc(e,r)}}pushGossip(e,t){this.log("Add gossip to %s",e);let r=this.gossip.get(e)??[];this.gossip.set(e,r.concat(t))}async makePrune(e,t,r,n){if(this.score.prune(e,t),this.streamsOutbound.get(e)?.protocol===mo)return{topicID:t,peers:[]};let i=n?this.opts.unsubcribeBackoff:this.opts.pruneBackoff,o=i/1e3;if(this.doAddBackoff(e,t,i),!r)return{topicID:t,peers:[],backoff:o};let a=this.getRandomGossipPeers(t,this.opts.prunePeers,f=>f!==e&&this.score.score(f)>=0),c=await Promise.all(Array.from(a).map(async f=>{let u=Lt(f),h;try{h=await this.components.peerStore.get(u)}catch(l){if(l.name!=="NotFoundError")throw l}return{peerID:u.toMultihash().bytes,signedPeerRecord:h?.peerRecordEnvelope}}));return{topicID:t,peers:c,backoff:o}}runHeartbeat=()=>{let e=this.metrics?.heartbeatDuration.startTimer();this.heartbeat().catch(t=>{this.log("Error running heartbeat",t)}).finally(()=>{if(e?.(),this.status.code===Le.started){clearTimeout(this.status.heartbeatTimeout);let t=this.opts.heartbeatInterval-(Date.now()-this.status.hearbeatStartMs)%this.opts.heartbeatInterval;t{let p=a.get(m);return p===void 0&&(p=this.score.score(m),a.set(m,p)),p},f=new Map,u=new Map,h=new Map;this.clearBackoff(),this.peerhave.clear(),this.metrics?.cacheSize.set({cache:"iasked"},this.iasked.size),this.iasked.clear(),this.applyIwantPenalties(),this.heartbeatTicks%this.opts.directConnectTicks===0&&await this.directConnect(),this.fastMsgIdCache?.prune(),this.seenCache.prune(),this.gossipTracer.prune(),this.publishedMessageIds.prune();let l=new Map;this.mesh.forEach((m,p)=>{let g=this.topics.get(p),b=new Set,S=new Set;if(l.set(p,S),g!=null){let v=tt(Array.from(g)),B=this.backoff.get(p);for(let x of v){let _=this.streamsOutbound.get(x);if(_!=null&&this.multicodecs.includes(_.protocol)&&!m.has(x)&&!this.direct.has(x)){let k=c(x);(B==null||!B.has(x))&&k>=0&&b.add(x),k>=this.opts.scoreThresholds.gossipThreshold&&S.add(x)}}}let y=(v,B)=>{this.log("HEARTBEAT: Remove mesh link to %s in %s",v,p),this.addBackoff(v,p),m.delete(v),c(v)>=this.opts.scoreThresholds.gossipThreshold&&S.add(v),this.metrics?.onRemoveFromMesh(p,B,1);let x=u.get(v);x==null?u.set(v,[p]):x.push(p)},I=(v,B)=>{this.log("HEARTBEAT: Add mesh link to %s in %s",v,p),this.score.graft(v,p),m.add(v),S.delete(v),this.metrics?.onAddToMesh(p,B,1);let x=f.get(v);x==null?f.set(v,[p]):x.push(p)};if(m.forEach(v=>{let B=c(v);B<0&&(this.log("HEARTBEAT: Prune peer %s with negative score: score=%d, topic=%s",v,B,p),y(v,$e.BadScore),h.set(v,!0))}),m.size{I(x,Ie.NotEnough)})}if(m.size>r){let v=Array.from(m);v.sort((x,_)=>c(_)-c(x)),v=v.slice(0,n).concat(tt(v.slice(n)));let B=0;if(v.slice(0,e).forEach(x=>{(this.outbound.get(x)??!1)&&B++}),B{let z=v[k];for(let L=k;L>0;L--)v[L]=v[L-1];v[0]=z};if(B>0){let k=B;for(let z=1;z0;z++)(this.outbound.get(v[z])??!1)&&(x(z),k--)}let _=e-B;for(let k=e;k0;k++)(this.outbound.get(v[k])??!1)&&(x(k),_--)}v.slice(e).forEach(x=>{y(x,$e.Excess)})}if(m.size>=t){let v=0;if(m.forEach(B=>{(this.outbound.get(B)??!1)&&v++}),vthis.outbound.get(_)===!0).forEach(_=>{I(_,Ie.Outbound)})}}if(this.heartbeatTicks%this.opts.opportunisticGraftTicks===0&&m.size>1){let v=Array.from(m).sort((_,k)=>c(_)-c(k)),B=Math.floor(m.size/2),x=c(v[B]);if(xc(z)>x);for(let z of k)this.log("HEARTBEAT: Opportunistically graft peer %s on topic %s",z,p),I(z,Ie.Opportunistic)}}});let d=Date.now();this.fanoutLastpub.forEach((m,p)=>{m+o{let g=this.topics.get(p);m.forEach(I=>{(!(g?.has(I)??!1)||c(I)=this.opts.scoreThresholds.publishThreshold&&S.push(v),x>=this.opts.scoreThresholds.gossipThreshold&&y.add(v)}}}if(m.size{m.add(v),y?.delete(v)})}}),this.emitGossip(l),await this.sendGraftPrune(f,u,h),this.flush(),this.mcache.shift(),this.dispatchEvent(new CustomEvent("gossipsub:heartbeat"))}getRandomGossipPeers(e,t,r=()=>!0){let n=this.topics.get(e);if(n==null)return new Set;let i=[];return n.forEach(o=>{let a=this.streamsOutbound.get(o);a!=null&&this.multicodecs.includes(a.protocol)&&r(o)&&i.push(o)}),i=tt(i),t>0&&i.length>t&&(i=i.slice(0,t)),new Set(i)}onScrapeMetrics(e){e.mcacheSize.set(this.mcache.size),e.mcacheNotValidatedCount.set(this.mcache.notValidatedCount),e.cacheSize.set({cache:"direct"},this.direct.size),e.cacheSize.set({cache:"seenCache"},this.seenCache.size),e.cacheSize.set({cache:"fastMsgIdCache"},this.fastMsgIdCache?.size??0),e.cacheSize.set({cache:"publishedMessageIds"},this.publishedMessageIds.size),e.cacheSize.set({cache:"mcache"},this.mcache.size),e.cacheSize.set({cache:"score"},this.score.size),e.cacheSize.set({cache:"gossipTracer.promises"},this.gossipTracer.size),e.cacheSize.set({cache:"gossipTracer.requests"},this.gossipTracer.requestMsByMsgSize),e.cacheSize.set({cache:"topics"},this.topics.size),e.cacheSize.set({cache:"subscriptions"},this.subscriptions.size),e.cacheSize.set({cache:"mesh"},this.mesh.size),e.cacheSize.set({cache:"fanout"},this.fanout.size),e.cacheSize.set({cache:"peers"},this.peers.size),e.cacheSize.set({cache:"streamsOutbound"},this.streamsOutbound.size),e.cacheSize.set({cache:"streamsInbound"},this.streamsInbound.size),e.cacheSize.set({cache:"acceptFromWhitelist"},this.acceptFromWhitelist.size),e.cacheSize.set({cache:"gossip"},this.gossip.size),e.cacheSize.set({cache:"control"},this.control.size),e.cacheSize.set({cache:"peerhave"},this.peerhave.size),e.cacheSize.set({cache:"outbound"},this.outbound.size);let t=0,r=Date.now();e.connectedPeersBackoffSec.reset();for(let a of this.backoff.values()){t+=a.size;for(let[c,f]of a.entries())this.peers.has(c)&&e.connectedPeersBackoffSec.observe(Math.max(0,f-r)/1e3)}e.cacheSize.set({cache:"backoff"},t);for(let[a,c]of this.topics)e.topicPeersCount.set({topicStr:a},c.size);for(let[a,c]of this.mesh)e.meshPeerCounts.set({topicStr:a},c.size);let n=[],i=new Map;e.behaviourPenalty.reset();for(let a of this.peers.keys()){let c=this.score.score(a);n.push(c),i.set(a,c),e.behaviourPenalty.observe(this.score.peerStats.get(a)?.behaviourPenalty??0)}e.registerScores(n,this.opts.scoreThresholds),e.registerScorePerMesh(this.mesh,i);let o=ll(this.peers.keys(),this.score.peerStats,this.score.params,this.score.peerIPs,e.topicStrToLabel);e.registerScoreWeights(o)}tagMeshPeer=e=>{let{peerId:t,topic:r}=e.detail;this.components.peerStore.merge(Lt(t),{tags:{[r]:{value:100}}}).catch(n=>{this.log.error("Error tagging peer %s with topic %s",t,r,n)})};untagMeshPeer=e=>{let{peerId:t,topic:r}=e.detail;this.components.peerStore.merge(Lt(t),{tags:{[r]:void 0}}).catch(n=>{this.log.error("Error untagging peer %s with topic %s",t,r,n)})}};function Fd(s={}){return e=>new On(e,s)}return Hl(Vd);})(); /*! Bundled license information: pvtsutils/build/index.js: +diff --git a/node_modules/@chainsafe/libp2p-gossipsub/dist/src/errors.d.ts b/node_modules/@chainsafe/libp2p-gossipsub/dist/src/errors.d.ts +new file mode 100644 +index 0000000..5aef11a +--- /dev/null ++++ b/node_modules/@chainsafe/libp2p-gossipsub/dist/src/errors.d.ts +@@ -0,0 +1,9 @@ ++export declare class InvalidPeerScoreParamsError extends Error { ++ static name: string; ++ constructor(message?: string); ++} ++export declare class InvalidPeerScoreThresholdsError extends Error { ++ static name: string; ++ constructor(message?: string); ++} ++//# sourceMappingURL=errors.d.ts.map +\ No newline at end of file +diff --git a/node_modules/@chainsafe/libp2p-gossipsub/dist/src/errors.d.ts.map b/node_modules/@chainsafe/libp2p-gossipsub/dist/src/errors.d.ts.map +new file mode 100644 +index 0000000..4af32c8 +--- /dev/null ++++ b/node_modules/@chainsafe/libp2p-gossipsub/dist/src/errors.d.ts.map +@@ -0,0 +1 @@ ++{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/errors.ts"],"names":[],"mappings":"AAAA,qBAAa,2BAA4B,SAAQ,KAAK;IACpD,MAAM,CAAC,IAAI,SAAgC;gBAE9B,OAAO,SAA8B;CAInD;AAED,qBAAa,+BAAgC,SAAQ,KAAK;IACxD,MAAM,CAAC,IAAI,SAAoC;gBAElC,OAAO,SAAkC;CAIvD"} +\ No newline at end of file +diff --git a/node_modules/@chainsafe/libp2p-gossipsub/dist/src/errors.js b/node_modules/@chainsafe/libp2p-gossipsub/dist/src/errors.js +new file mode 100644 +index 0000000..7e5472d +--- /dev/null ++++ b/node_modules/@chainsafe/libp2p-gossipsub/dist/src/errors.js +@@ -0,0 +1,15 @@ ++export class InvalidPeerScoreParamsError extends Error { ++ static name = 'InvalidPeerScoreParamsError'; ++ constructor(message = 'Invalid peer score params') { ++ super(message); ++ this.name = 'InvalidPeerScoreParamsError'; ++ } ++} ++export class InvalidPeerScoreThresholdsError extends Error { ++ static name = 'InvalidPeerScoreThresholdsError'; ++ constructor(message = 'Invalid peer score thresholds') { ++ super(message); ++ this.name = 'InvalidPeerScoreThresholdsError'; ++ } ++} ++//# sourceMappingURL=errors.js.map +\ No newline at end of file +diff --git a/node_modules/@chainsafe/libp2p-gossipsub/dist/src/errors.js.map b/node_modules/@chainsafe/libp2p-gossipsub/dist/src/errors.js.map +new file mode 100644 +index 0000000..83abbce +--- /dev/null ++++ b/node_modules/@chainsafe/libp2p-gossipsub/dist/src/errors.js.map +@@ -0,0 +1 @@ ++{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/errors.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,2BAA4B,SAAQ,KAAK;IACpD,MAAM,CAAC,IAAI,GAAG,6BAA6B,CAAA;IAE3C,YAAa,OAAO,GAAG,2BAA2B;QAChD,KAAK,CAAC,OAAO,CAAC,CAAA;QACd,IAAI,CAAC,IAAI,GAAG,6BAA6B,CAAA;IAC3C,CAAC;;AAGH,MAAM,OAAO,+BAAgC,SAAQ,KAAK;IACxD,MAAM,CAAC,IAAI,GAAG,iCAAiC,CAAA;IAE/C,YAAa,OAAO,GAAG,+BAA+B;QACpD,KAAK,CAAC,OAAO,CAAC,CAAA;QACd,IAAI,CAAC,IAAI,GAAG,iCAAiC,CAAA;IAC/C,CAAC"} +\ No newline at end of file diff --git a/node_modules/@chainsafe/libp2p-gossipsub/dist/src/index.d.ts b/node_modules/@chainsafe/libp2p-gossipsub/dist/src/index.d.ts index 9f8230c..9601863 100644 --- a/node_modules/@chainsafe/libp2p-gossipsub/dist/src/index.d.ts @@ -72,7 +125,7 @@ index a280ef0..f32bc4a 100644 +{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@chainsafe/libp2p-gossipsub/dist/src/index.js b/node_modules/@chainsafe/libp2p-gossipsub/dist/src/index.js -index 31aeddd..432027a 100644 +index 31aeddd..ad2479e 100644 --- a/node_modules/@chainsafe/libp2p-gossipsub/dist/src/index.js +++ b/node_modules/@chainsafe/libp2p-gossipsub/dist/src/index.js @@ -1,8 +1,9 @@ @@ -149,7 +202,13 @@ index 31aeddd..432027a 100644 const p = peer.toString(); if (this.peers.has(p)) { return; -@@ -1974,7 +1975,7 @@ export class GossipSub extends TypedEventEmitter { +@@ -1969,12 +1970,12 @@ export class GossipSub extends TypedEventEmitter { + peerInfo = await this.components.peerStore.get(id); + } + catch (err) { +- if (err.code !== 'ERR_NOT_FOUND') { ++ if (err.name !== 'NotFoundError') { + throw err; } } return { @@ -167,6 +226,399 @@ index 9aa9e8a..89e3c7e 100644 \ No newline at end of file +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"} \ No newline at end of file +diff --git a/node_modules/@chainsafe/libp2p-gossipsub/dist/src/message/rpc.d.ts.map b/node_modules/@chainsafe/libp2p-gossipsub/dist/src/message/rpc.d.ts.map +index 9a8634d..7b08f29 100644 +--- a/node_modules/@chainsafe/libp2p-gossipsub/dist/src/message/rpc.d.ts.map ++++ b/node_modules/@chainsafe/libp2p-gossipsub/dist/src/message/rpc.d.ts.map +@@ -1 +1 @@ +-{"version":3,"file":"rpc.d.ts","sourceRoot":"","sources":["../../../src/message/rpc.ts"],"names":[],"mappings":"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"} +\ No newline at end of file ++{"version":3,"file":"rpc.d.ts","sourceRoot":"","sources":["../../../src/message/rpc.ts"],"names":[],"mappings":"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"} +\ No newline at end of file +diff --git a/node_modules/@chainsafe/libp2p-gossipsub/dist/src/message/rpc.js b/node_modules/@chainsafe/libp2p-gossipsub/dist/src/message/rpc.js +index ea32a68..889aae0 100644 +--- a/node_modules/@chainsafe/libp2p-gossipsub/dist/src/message/rpc.js ++++ b/node_modules/@chainsafe/libp2p-gossipsub/dist/src/message/rpc.js +@@ -3,7 +3,7 @@ + /* eslint-disable @typescript-eslint/no-namespace */ + /* eslint-disable @typescript-eslint/no-unnecessary-boolean-literal-compare */ + /* eslint-disable @typescript-eslint/no-empty-interface */ +-import { CodeError, decodeMessage, encodeMessage, message } from 'protons-runtime'; ++import { decodeMessage, encodeMessage, MaxLengthError, message } from 'protons-runtime'; + export var RPC; + (function (RPC) { + let SubOpts; +@@ -193,30 +193,38 @@ export var RPC; + switch (tag >>> 3) { + case 1: { + if (opts.limits?.ihave != null && obj.ihave.length === opts.limits.ihave) { +- throw new CodeError('decode error - map field "ihave" had too many elements', 'ERR_MAX_LENGTH'); ++ throw new MaxLengthError('Decode error - map field "ihave" had too many elements'); + } +- obj.ihave.push(RPC.ControlIHave.codec().decode(reader, reader.uint32())); ++ obj.ihave.push(RPC.ControlIHave.codec().decode(reader, reader.uint32(), { ++ limits: opts.limits?.ihave$ ++ })); + break; + } + case 2: { + if (opts.limits?.iwant != null && obj.iwant.length === opts.limits.iwant) { +- throw new CodeError('decode error - map field "iwant" had too many elements', 'ERR_MAX_LENGTH'); ++ throw new MaxLengthError('Decode error - map field "iwant" had too many elements'); + } +- obj.iwant.push(RPC.ControlIWant.codec().decode(reader, reader.uint32())); ++ obj.iwant.push(RPC.ControlIWant.codec().decode(reader, reader.uint32(), { ++ limits: opts.limits?.iwant$ ++ })); + break; + } + case 3: { + if (opts.limits?.graft != null && obj.graft.length === opts.limits.graft) { +- throw new CodeError('decode error - map field "graft" had too many elements', 'ERR_MAX_LENGTH'); ++ throw new MaxLengthError('Decode error - map field "graft" had too many elements'); + } +- obj.graft.push(RPC.ControlGraft.codec().decode(reader, reader.uint32())); ++ obj.graft.push(RPC.ControlGraft.codec().decode(reader, reader.uint32(), { ++ limits: opts.limits?.graft$ ++ })); + break; + } + case 4: { + if (opts.limits?.prune != null && obj.prune.length === opts.limits.prune) { +- throw new CodeError('decode error - map field "prune" had too many elements', 'ERR_MAX_LENGTH'); ++ throw new MaxLengthError('Decode error - map field "prune" had too many elements'); + } +- obj.prune.push(RPC.ControlPrune.codec().decode(reader, reader.uint32())); ++ obj.prune.push(RPC.ControlPrune.codec().decode(reader, reader.uint32(), { ++ limits: opts.limits?.prune$ ++ })); + break; + } + default: { +@@ -273,7 +281,7 @@ export var RPC; + } + case 2: { + if (opts.limits?.messageIDs != null && obj.messageIDs.length === opts.limits.messageIDs) { +- throw new CodeError('decode error - map field "messageIDs" had too many elements', 'ERR_MAX_LENGTH'); ++ throw new MaxLengthError('Decode error - map field "messageIDs" had too many elements'); + } + obj.messageIDs.push(reader.bytes()); + break; +@@ -324,7 +332,7 @@ export var RPC; + switch (tag >>> 3) { + case 1: { + if (opts.limits?.messageIDs != null && obj.messageIDs.length === opts.limits.messageIDs) { +- throw new CodeError('decode error - map field "messageIDs" had too many elements', 'ERR_MAX_LENGTH'); ++ throw new MaxLengthError('Decode error - map field "messageIDs" had too many elements'); + } + obj.messageIDs.push(reader.bytes()); + break; +@@ -431,9 +439,11 @@ export var RPC; + } + case 2: { + if (opts.limits?.peers != null && obj.peers.length === opts.limits.peers) { +- throw new CodeError('decode error - map field "peers" had too many elements', 'ERR_MAX_LENGTH'); ++ throw new MaxLengthError('Decode error - map field "peers" had too many elements'); + } +- obj.peers.push(RPC.PeerInfo.codec().decode(reader, reader.uint32())); ++ obj.peers.push(RPC.PeerInfo.codec().decode(reader, reader.uint32(), { ++ limits: opts.limits?.peers$ ++ })); + break; + } + case 3: { +@@ -547,20 +557,26 @@ export var RPC; + switch (tag >>> 3) { + case 1: { + if (opts.limits?.subscriptions != null && obj.subscriptions.length === opts.limits.subscriptions) { +- throw new CodeError('decode error - map field "subscriptions" had too many elements', 'ERR_MAX_LENGTH'); ++ throw new MaxLengthError('Decode error - map field "subscriptions" had too many elements'); + } +- obj.subscriptions.push(RPC.SubOpts.codec().decode(reader, reader.uint32())); ++ obj.subscriptions.push(RPC.SubOpts.codec().decode(reader, reader.uint32(), { ++ limits: opts.limits?.subscriptions$ ++ })); + break; + } + case 2: { + if (opts.limits?.messages != null && obj.messages.length === opts.limits.messages) { +- throw new CodeError('decode error - map field "messages" had too many elements', 'ERR_MAX_LENGTH'); ++ throw new MaxLengthError('Decode error - map field "messages" had too many elements'); + } +- obj.messages.push(RPC.Message.codec().decode(reader, reader.uint32())); ++ obj.messages.push(RPC.Message.codec().decode(reader, reader.uint32(), { ++ limits: opts.limits?.messages$ ++ })); + break; + } + case 3: { +- obj.control = RPC.ControlMessage.codec().decode(reader, reader.uint32()); ++ obj.control = RPC.ControlMessage.codec().decode(reader, reader.uint32(), { ++ limits: opts.limits?.control ++ }); + break; + } + default: { +diff --git a/node_modules/@chainsafe/libp2p-gossipsub/dist/src/message/rpc.js.map b/node_modules/@chainsafe/libp2p-gossipsub/dist/src/message/rpc.js.map +index a7d65f5..7a72e5f 100644 +--- a/node_modules/@chainsafe/libp2p-gossipsub/dist/src/message/rpc.js.map ++++ b/node_modules/@chainsafe/libp2p-gossipsub/dist/src/message/rpc.js.map +@@ -1 +1 @@ +-{"version":3,"file":"rpc.js","sourceRoot":"","sources":["../../../src/message/rpc.ts"],"names":[],"mappings":"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"} +\ No newline at end of file ++{"version":3,"file":"rpc.js","sourceRoot":"","sources":["../../../src/message/rpc.ts"],"names":[],"mappings":"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"} +\ No newline at end of file +diff --git a/node_modules/@chainsafe/libp2p-gossipsub/dist/src/score/constants.d.ts b/node_modules/@chainsafe/libp2p-gossipsub/dist/src/score/constants.d.ts +deleted file mode 100644 +index 76c80cf..0000000 +--- a/node_modules/@chainsafe/libp2p-gossipsub/dist/src/score/constants.d.ts ++++ /dev/null +@@ -1,3 +0,0 @@ +-export declare const ERR_INVALID_PEER_SCORE_PARAMS = "ERR_INVALID_PEER_SCORE_PARAMS"; +-export declare const ERR_INVALID_PEER_SCORE_THRESHOLDS = "ERR_INVALID_PEER_SCORE_THRESHOLDS"; +-//# sourceMappingURL=constants.d.ts.map +\ No newline at end of file +diff --git a/node_modules/@chainsafe/libp2p-gossipsub/dist/src/score/constants.d.ts.map b/node_modules/@chainsafe/libp2p-gossipsub/dist/src/score/constants.d.ts.map +deleted file mode 100644 +index 275a4c1..0000000 +--- a/node_modules/@chainsafe/libp2p-gossipsub/dist/src/score/constants.d.ts.map ++++ /dev/null +@@ -1 +0,0 @@ +-{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../src/score/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,6BAA6B,kCAAkC,CAAA;AAC5E,eAAO,MAAM,iCAAiC,sCAAsC,CAAA"} +\ No newline at end of file +diff --git a/node_modules/@chainsafe/libp2p-gossipsub/dist/src/score/constants.js b/node_modules/@chainsafe/libp2p-gossipsub/dist/src/score/constants.js +deleted file mode 100644 +index 71cf943..0000000 +--- a/node_modules/@chainsafe/libp2p-gossipsub/dist/src/score/constants.js ++++ /dev/null +@@ -1,3 +0,0 @@ +-export const ERR_INVALID_PEER_SCORE_PARAMS = 'ERR_INVALID_PEER_SCORE_PARAMS'; +-export const ERR_INVALID_PEER_SCORE_THRESHOLDS = 'ERR_INVALID_PEER_SCORE_THRESHOLDS'; +-//# sourceMappingURL=constants.js.map +\ No newline at end of file +diff --git a/node_modules/@chainsafe/libp2p-gossipsub/dist/src/score/constants.js.map b/node_modules/@chainsafe/libp2p-gossipsub/dist/src/score/constants.js.map +deleted file mode 100644 +index 941de96..0000000 +--- a/node_modules/@chainsafe/libp2p-gossipsub/dist/src/score/constants.js.map ++++ /dev/null +@@ -1 +0,0 @@ +-{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/score/constants.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,6BAA6B,GAAG,+BAA+B,CAAA;AAC5E,MAAM,CAAC,MAAM,iCAAiC,GAAG,mCAAmC,CAAA"} +\ No newline at end of file +diff --git a/node_modules/@chainsafe/libp2p-gossipsub/dist/src/score/peer-score-params.d.ts.map b/node_modules/@chainsafe/libp2p-gossipsub/dist/src/score/peer-score-params.d.ts.map +index 50dd811..61ec260 100644 +--- a/node_modules/@chainsafe/libp2p-gossipsub/dist/src/score/peer-score-params.d.ts.map ++++ b/node_modules/@chainsafe/libp2p-gossipsub/dist/src/score/peer-score-params.d.ts.map +@@ -1 +1 @@ +-{"version":3,"file":"peer-score-params.d.ts","sourceRoot":"","sources":["../../../src/score/peer-score-params.ts"],"names":[],"mappings":"AAOA,MAAM,WAAW,eAAe;IAC9B;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAA;IAExC;;;OAGG;IACH,aAAa,EAAE,MAAM,CAAA;IAErB;;OAEG;IACH,gBAAgB,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IACnC,iBAAiB,EAAE,MAAM,CAAA;IAEzB;;;;;;;;;OASG;IACH,wBAAwB,EAAE,MAAM,CAAA;IAChC,2BAA2B,EAAE,MAAM,CAAA;IACnC,2BAA2B,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;IAExC;;;;;;;;;OASG;IACH,sBAAsB,EAAE,MAAM,CAAA;IAC9B,yBAAyB,EAAE,MAAM,CAAA;IACjC,qBAAqB,EAAE,MAAM,CAAA;IAE7B;;OAEG;IACH,aAAa,EAAE,MAAM,CAAA;IAErB;;OAEG;IACH,WAAW,EAAE,MAAM,CAAA;IAEnB;;OAEG;IACH,WAAW,EAAE,MAAM,CAAA;CACpB;AAED,MAAM,WAAW,gBAAgB;IAC/B;;OAEG;IACH,WAAW,EAAE,MAAM,CAAA;IAEnB;;;;;OAKG;IACH,gBAAgB,EAAE,MAAM,CAAA;IACxB,iBAAiB,EAAE,MAAM,CAAA;IACzB,aAAa,EAAE,MAAM,CAAA;IAErB;;;;;;OAMG;IACH,4BAA4B,EAAE,MAAM,CAAA;IACpC,2BAA2B,EAAE,MAAM,CAAA;IACnC,yBAAyB,EAAE,MAAM,CAAA;IAEjC;;;;;;;;;;;;;;;OAeG;IACH,2BAA2B,EAAE,MAAM,CAAA;IACnC,0BAA0B,EAAE,MAAM,CAAA;IAClC,wBAAwB,EAAE,MAAM,CAAA;IAChC,8BAA8B,EAAE,MAAM,CAAA;IACtC,2BAA2B,EAAE,MAAM,CAAA;IACnC,+BAA+B,EAAE,MAAM,CAAA;IAEvC;;;;;OAKG;IACH,wBAAwB,EAAE,MAAM,CAAA;IAChC,uBAAuB,EAAE,MAAM,CAAA;IAE/B;;;;;;OAMG;IACH,8BAA8B,EAAE,MAAM,CAAA;IACtC,6BAA6B,EAAE,MAAM,CAAA;CACtC;AAED,eAAO,MAAM,sBAAsB,EAAE,eAcpC,CAAA;AAED,eAAO,MAAM,uBAAuB,EAAE,gBAsBrC,CAAA;AAED,wBAAgB,qBAAqB,CAAE,CAAC,GAAE,OAAO,CAAC,eAAe,CAAM,GAAG,eAAe,CAWxF;AAED,wBAAgB,sBAAsB,CAAE,CAAC,GAAE,OAAO,CAAC,gBAAgB,CAAM,GAAG,gBAAgB,CAK3F;AAGD,wBAAgB,uBAAuB,CAAE,CAAC,EAAE,eAAe,GAAG,IAAI,CAqDjE;AAGD,wBAAgB,wBAAwB,CAAE,CAAC,EAAE,gBAAgB,GAAG,IAAI,CAiFnE"} +\ No newline at end of file ++{"version":3,"file":"peer-score-params.d.ts","sourceRoot":"","sources":["../../../src/score/peer-score-params.ts"],"names":[],"mappings":"AAMA,MAAM,WAAW,eAAe;IAC9B;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAA;IAExC;;;OAGG;IACH,aAAa,EAAE,MAAM,CAAA;IAErB;;OAEG;IACH,gBAAgB,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IACnC,iBAAiB,EAAE,MAAM,CAAA;IAEzB;;;;;;;;;OASG;IACH,wBAAwB,EAAE,MAAM,CAAA;IAChC,2BAA2B,EAAE,MAAM,CAAA;IACnC,2BAA2B,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;IAExC;;;;;;;;;OASG;IACH,sBAAsB,EAAE,MAAM,CAAA;IAC9B,yBAAyB,EAAE,MAAM,CAAA;IACjC,qBAAqB,EAAE,MAAM,CAAA;IAE7B;;OAEG;IACH,aAAa,EAAE,MAAM,CAAA;IAErB;;OAEG;IACH,WAAW,EAAE,MAAM,CAAA;IAEnB;;OAEG;IACH,WAAW,EAAE,MAAM,CAAA;CACpB;AAED,MAAM,WAAW,gBAAgB;IAC/B;;OAEG;IACH,WAAW,EAAE,MAAM,CAAA;IAEnB;;;;;OAKG;IACH,gBAAgB,EAAE,MAAM,CAAA;IACxB,iBAAiB,EAAE,MAAM,CAAA;IACzB,aAAa,EAAE,MAAM,CAAA;IAErB;;;;;;OAMG;IACH,4BAA4B,EAAE,MAAM,CAAA;IACpC,2BAA2B,EAAE,MAAM,CAAA;IACnC,yBAAyB,EAAE,MAAM,CAAA;IAEjC;;;;;;;;;;;;;;;OAeG;IACH,2BAA2B,EAAE,MAAM,CAAA;IACnC,0BAA0B,EAAE,MAAM,CAAA;IAClC,wBAAwB,EAAE,MAAM,CAAA;IAChC,8BAA8B,EAAE,MAAM,CAAA;IACtC,2BAA2B,EAAE,MAAM,CAAA;IACnC,+BAA+B,EAAE,MAAM,CAAA;IAEvC;;;;;OAKG;IACH,wBAAwB,EAAE,MAAM,CAAA;IAChC,uBAAuB,EAAE,MAAM,CAAA;IAE/B;;;;;;OAMG;IACH,8BAA8B,EAAE,MAAM,CAAA;IACtC,6BAA6B,EAAE,MAAM,CAAA;CACtC;AAED,eAAO,MAAM,sBAAsB,EAAE,eAcpC,CAAA;AAED,eAAO,MAAM,uBAAuB,EAAE,gBAsBrC,CAAA;AAED,wBAAgB,qBAAqB,CAAE,CAAC,GAAE,OAAO,CAAC,eAAe,CAAM,GAAG,eAAe,CAWxF;AAED,wBAAgB,sBAAsB,CAAE,CAAC,GAAE,OAAO,CAAC,gBAAgB,CAAM,GAAG,gBAAgB,CAK3F;AAGD,wBAAgB,uBAAuB,CAAE,CAAC,EAAE,eAAe,GAAG,IAAI,CA4CjE;AAGD,wBAAgB,wBAAwB,CAAE,CAAC,EAAE,gBAAgB,GAAG,IAAI,CAqEnE"} +\ No newline at end of file +diff --git a/node_modules/@chainsafe/libp2p-gossipsub/dist/src/score/peer-score-params.js b/node_modules/@chainsafe/libp2p-gossipsub/dist/src/score/peer-score-params.js +index 51e4b57..cdf392a 100644 +--- a/node_modules/@chainsafe/libp2p-gossipsub/dist/src/score/peer-score-params.js ++++ b/node_modules/@chainsafe/libp2p-gossipsub/dist/src/score/peer-score-params.js +@@ -1,5 +1,4 @@ +-import { CodeError } from '@libp2p/interface'; +-import { ERR_INVALID_PEER_SCORE_PARAMS } from './constants.js'; ++import { InvalidPeerScoreParamsError } from '../errors.js'; + export const defaultPeerScoreParams = { + topics: {}, + topicScoreCap: 10.0, +@@ -59,37 +58,37 @@ export function validatePeerScoreParams(p) { + validateTopicScoreParams(params); + } + catch (e) { +- throw new CodeError(`invalid score parameters for topic ${topic}: ${e.message}`, ERR_INVALID_PEER_SCORE_PARAMS); ++ throw new InvalidPeerScoreParamsError(`invalid score parameters for topic ${topic}: ${e.message}`); + } + } + // check that the topic score is 0 or something positive + if (p.topicScoreCap < 0) { +- throw new CodeError('invalid topic score cap; must be positive (or 0 for no cap)', ERR_INVALID_PEER_SCORE_PARAMS); ++ throw new InvalidPeerScoreParamsError('invalid topic score cap; must be positive (or 0 for no cap)'); + } + // check that we have an app specific score; the weight can be anything (but expected positive) + if (p.appSpecificScore === null || p.appSpecificScore === undefined) { +- throw new CodeError('missing application specific score function', ERR_INVALID_PEER_SCORE_PARAMS); ++ throw new InvalidPeerScoreParamsError('missing application specific score function'); + } + // check the IP colocation factor + if (p.IPColocationFactorWeight > 0) { +- throw new CodeError('invalid IPColocationFactorWeight; must be negative (or 0 to disable)', ERR_INVALID_PEER_SCORE_PARAMS); ++ throw new InvalidPeerScoreParamsError('invalid IPColocationFactorWeight; must be negative (or 0 to disable)'); + } + if (p.IPColocationFactorWeight !== 0 && p.IPColocationFactorThreshold < 1) { +- throw new CodeError('invalid IPColocationFactorThreshold; must be at least 1', ERR_INVALID_PEER_SCORE_PARAMS); ++ throw new InvalidPeerScoreParamsError('invalid IPColocationFactorThreshold; must be at least 1'); + } + // check the behaviour penalty + if (p.behaviourPenaltyWeight > 0) { +- throw new CodeError('invalid BehaviourPenaltyWeight; must be negative (or 0 to disable)', ERR_INVALID_PEER_SCORE_PARAMS); ++ throw new InvalidPeerScoreParamsError('invalid BehaviourPenaltyWeight; must be negative (or 0 to disable)'); + } + if (p.behaviourPenaltyWeight !== 0 && (p.behaviourPenaltyDecay <= 0 || p.behaviourPenaltyDecay >= 1)) { +- throw new CodeError('invalid BehaviourPenaltyDecay; must be between 0 and 1', ERR_INVALID_PEER_SCORE_PARAMS); ++ throw new InvalidPeerScoreParamsError('invalid BehaviourPenaltyDecay; must be between 0 and 1'); + } + // check the decay parameters + if (p.decayInterval < 1000) { +- throw new CodeError('invalid DecayInterval; must be at least 1s', ERR_INVALID_PEER_SCORE_PARAMS); ++ throw new InvalidPeerScoreParamsError('invalid DecayInterval; must be at least 1s'); + } + if (p.decayToZero <= 0 || p.decayToZero >= 1) { +- throw new CodeError('invalid DecayToZero; must be between 0 and 1', ERR_INVALID_PEER_SCORE_PARAMS); ++ throw new InvalidPeerScoreParamsError('invalid DecayToZero; must be between 0 and 1'); + } + // no need to check the score retention; a value of 0 means that we don't retain scores + } +@@ -97,64 +96,64 @@ export function validatePeerScoreParams(p) { + export function validateTopicScoreParams(p) { + // make sure we have a sane topic weight + if (p.topicWeight < 0) { +- throw new CodeError('invalid topic weight; must be >= 0', ERR_INVALID_PEER_SCORE_PARAMS); ++ throw new InvalidPeerScoreParamsError('invalid topic weight; must be >= 0'); + } + // check P1 + if (p.timeInMeshQuantum === 0) { +- throw new CodeError('invalid TimeInMeshQuantum; must be non zero', ERR_INVALID_PEER_SCORE_PARAMS); ++ throw new InvalidPeerScoreParamsError('invalid TimeInMeshQuantum; must be non zero'); + } + if (p.timeInMeshWeight < 0) { +- throw new CodeError('invalid TimeInMeshWeight; must be positive (or 0 to disable)', ERR_INVALID_PEER_SCORE_PARAMS); ++ throw new InvalidPeerScoreParamsError('invalid TimeInMeshWeight; must be positive (or 0 to disable)'); + } + if (p.timeInMeshWeight !== 0 && p.timeInMeshQuantum <= 0) { +- throw new CodeError('invalid TimeInMeshQuantum; must be positive', ERR_INVALID_PEER_SCORE_PARAMS); ++ throw new InvalidPeerScoreParamsError('invalid TimeInMeshQuantum; must be positive'); + } + if (p.timeInMeshWeight !== 0 && p.timeInMeshCap <= 0) { +- throw new CodeError('invalid TimeInMeshCap; must be positive', ERR_INVALID_PEER_SCORE_PARAMS); ++ throw new InvalidPeerScoreParamsError('invalid TimeInMeshCap; must be positive'); + } + // check P2 + if (p.firstMessageDeliveriesWeight < 0) { +- throw new CodeError('invallid FirstMessageDeliveriesWeight; must be positive (or 0 to disable)', ERR_INVALID_PEER_SCORE_PARAMS); ++ throw new InvalidPeerScoreParamsError('invallid FirstMessageDeliveriesWeight; must be positive (or 0 to disable)'); + } + if (p.firstMessageDeliveriesWeight !== 0 && + (p.firstMessageDeliveriesDecay <= 0 || p.firstMessageDeliveriesDecay >= 1)) { +- throw new CodeError('invalid FirstMessageDeliveriesDecay; must be between 0 and 1', ERR_INVALID_PEER_SCORE_PARAMS); ++ throw new InvalidPeerScoreParamsError('invalid FirstMessageDeliveriesDecay; must be between 0 and 1'); + } + if (p.firstMessageDeliveriesWeight !== 0 && p.firstMessageDeliveriesCap <= 0) { +- throw new CodeError('invalid FirstMessageDeliveriesCap; must be positive', ERR_INVALID_PEER_SCORE_PARAMS); ++ throw new InvalidPeerScoreParamsError('invalid FirstMessageDeliveriesCap; must be positive'); + } + // check P3 + if (p.meshMessageDeliveriesWeight > 0) { +- throw new CodeError('invalid MeshMessageDeliveriesWeight; must be negative (or 0 to disable)', ERR_INVALID_PEER_SCORE_PARAMS); ++ throw new InvalidPeerScoreParamsError('invalid MeshMessageDeliveriesWeight; must be negative (or 0 to disable)'); + } + if (p.meshMessageDeliveriesWeight !== 0 && (p.meshMessageDeliveriesDecay <= 0 || p.meshMessageDeliveriesDecay >= 1)) { +- throw new CodeError('invalid MeshMessageDeliveriesDecay; must be between 0 and 1', ERR_INVALID_PEER_SCORE_PARAMS); ++ throw new InvalidPeerScoreParamsError('invalid MeshMessageDeliveriesDecay; must be between 0 and 1'); + } + if (p.meshMessageDeliveriesWeight !== 0 && p.meshMessageDeliveriesCap <= 0) { +- throw new CodeError('invalid MeshMessageDeliveriesCap; must be positive', ERR_INVALID_PEER_SCORE_PARAMS); ++ throw new InvalidPeerScoreParamsError('invalid MeshMessageDeliveriesCap; must be positive'); + } + if (p.meshMessageDeliveriesWeight !== 0 && p.meshMessageDeliveriesThreshold <= 0) { +- throw new CodeError('invalid MeshMessageDeliveriesThreshold; must be positive', ERR_INVALID_PEER_SCORE_PARAMS); ++ throw new InvalidPeerScoreParamsError('invalid MeshMessageDeliveriesThreshold; must be positive'); + } + if (p.meshMessageDeliveriesWindow < 0) { +- throw new CodeError('invalid MeshMessageDeliveriesWindow; must be non-negative', ERR_INVALID_PEER_SCORE_PARAMS); ++ throw new InvalidPeerScoreParamsError('invalid MeshMessageDeliveriesWindow; must be non-negative'); + } + if (p.meshMessageDeliveriesWeight !== 0 && p.meshMessageDeliveriesActivation < 1000) { +- throw new CodeError('invalid MeshMessageDeliveriesActivation; must be at least 1s', ERR_INVALID_PEER_SCORE_PARAMS); ++ throw new InvalidPeerScoreParamsError('invalid MeshMessageDeliveriesActivation; must be at least 1s'); + } + // check P3b + if (p.meshFailurePenaltyWeight > 0) { +- throw new CodeError('invalid MeshFailurePenaltyWeight; must be negative (or 0 to disable)', ERR_INVALID_PEER_SCORE_PARAMS); ++ throw new InvalidPeerScoreParamsError('invalid MeshFailurePenaltyWeight; must be negative (or 0 to disable)'); + } + if (p.meshFailurePenaltyWeight !== 0 && (p.meshFailurePenaltyDecay <= 0 || p.meshFailurePenaltyDecay >= 1)) { +- throw new CodeError('invalid MeshFailurePenaltyDecay; must be between 0 and 1', ERR_INVALID_PEER_SCORE_PARAMS); ++ throw new InvalidPeerScoreParamsError('invalid MeshFailurePenaltyDecay; must be between 0 and 1'); + } + // check P4 + if (p.invalidMessageDeliveriesWeight > 0) { +- throw new CodeError('invalid InvalidMessageDeliveriesWeight; must be negative (or 0 to disable)', ERR_INVALID_PEER_SCORE_PARAMS); ++ throw new InvalidPeerScoreParamsError('invalid InvalidMessageDeliveriesWeight; must be negative (or 0 to disable)'); + } + if (p.invalidMessageDeliveriesDecay <= 0 || p.invalidMessageDeliveriesDecay >= 1) { +- throw new CodeError('invalid InvalidMessageDeliveriesDecay; must be between 0 and 1', ERR_INVALID_PEER_SCORE_PARAMS); ++ throw new InvalidPeerScoreParamsError('invalid InvalidMessageDeliveriesDecay; must be between 0 and 1'); + } + } + //# sourceMappingURL=peer-score-params.js.map +\ No newline at end of file +diff --git a/node_modules/@chainsafe/libp2p-gossipsub/dist/src/score/peer-score-params.js.map b/node_modules/@chainsafe/libp2p-gossipsub/dist/src/score/peer-score-params.js.map +index 4c77cc9..05a44c8 100644 +--- a/node_modules/@chainsafe/libp2p-gossipsub/dist/src/score/peer-score-params.js.map ++++ b/node_modules/@chainsafe/libp2p-gossipsub/dist/src/score/peer-score-params.js.map +@@ -1 +1 @@ +-{"version":3,"file":"peer-score-params.js","sourceRoot":"","sources":["../../../src/score/peer-score-params.ts"],"names":[],"mappings":"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"} +\ No newline at end of file ++{"version":3,"file":"peer-score-params.js","sourceRoot":"","sources":["../../../src/score/peer-score-params.ts"],"names":[],"mappings":"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"} +\ No newline at end of file +diff --git a/node_modules/@chainsafe/libp2p-gossipsub/dist/src/score/peer-score-thresholds.d.ts.map b/node_modules/@chainsafe/libp2p-gossipsub/dist/src/score/peer-score-thresholds.d.ts.map +index 8608948..5c5b1a8 100644 +--- a/node_modules/@chainsafe/libp2p-gossipsub/dist/src/score/peer-score-thresholds.d.ts.map ++++ b/node_modules/@chainsafe/libp2p-gossipsub/dist/src/score/peer-score-thresholds.d.ts.map +@@ -1 +1 @@ +-{"version":3,"file":"peer-score-thresholds.d.ts","sourceRoot":"","sources":["../../../src/score/peer-score-thresholds.ts"],"names":[],"mappings":"AAOA,MAAM,WAAW,mBAAmB;IAClC;;;OAGG;IACH,eAAe,EAAE,MAAM,CAAA;IAEvB;;;OAGG;IACH,gBAAgB,EAAE,MAAM,CAAA;IAExB;;;OAGG;IACH,iBAAiB,EAAE,MAAM,CAAA;IAEzB;;;OAGG;IACH,iBAAiB,EAAE,MAAM,CAAA;IAEzB;;;OAGG;IACH,2BAA2B,EAAE,MAAM,CAAA;CACpC;AAED,eAAO,MAAM,0BAA0B,EAAE,mBAMxC,CAAA;AAED,wBAAgB,yBAAyB,CAAE,CAAC,GAAE,OAAO,CAAC,mBAAmB,CAAM,GAAG,mBAAmB,CAKpG;AAED,wBAAgB,2BAA2B,CAAE,CAAC,EAAE,mBAAmB,GAAG,IAAI,CAsBzE"} +\ No newline at end of file ++{"version":3,"file":"peer-score-thresholds.d.ts","sourceRoot":"","sources":["../../../src/score/peer-score-thresholds.ts"],"names":[],"mappings":"AAMA,MAAM,WAAW,mBAAmB;IAClC;;;OAGG;IACH,eAAe,EAAE,MAAM,CAAA;IAEvB;;;OAGG;IACH,gBAAgB,EAAE,MAAM,CAAA;IAExB;;;OAGG;IACH,iBAAiB,EAAE,MAAM,CAAA;IAEzB;;;OAGG;IACH,iBAAiB,EAAE,MAAM,CAAA;IAEzB;;;OAGG;IACH,2BAA2B,EAAE,MAAM,CAAA;CACpC;AAED,eAAO,MAAM,0BAA0B,EAAE,mBAMxC,CAAA;AAED,wBAAgB,yBAAyB,CAAE,CAAC,GAAE,OAAO,CAAC,mBAAmB,CAAM,GAAG,mBAAmB,CAKpG;AAED,wBAAgB,2BAA2B,CAAE,CAAC,EAAE,mBAAmB,GAAG,IAAI,CAgBzE"} +\ No newline at end of file +diff --git a/node_modules/@chainsafe/libp2p-gossipsub/dist/src/score/peer-score-thresholds.js b/node_modules/@chainsafe/libp2p-gossipsub/dist/src/score/peer-score-thresholds.js +index 08d0d9b..9ce752e 100644 +--- a/node_modules/@chainsafe/libp2p-gossipsub/dist/src/score/peer-score-thresholds.js ++++ b/node_modules/@chainsafe/libp2p-gossipsub/dist/src/score/peer-score-thresholds.js +@@ -1,5 +1,4 @@ +-import { CodeError } from '@libp2p/interface'; +-import { ERR_INVALID_PEER_SCORE_THRESHOLDS } from './constants.js'; ++import { InvalidPeerScoreThresholdsError } from '../errors.js'; + export const defaultPeerScoreThresholds = { + gossipThreshold: -10, + publishThreshold: -50, +@@ -15,19 +14,19 @@ export function createPeerScoreThresholds(p = {}) { + } + export function validatePeerScoreThresholds(p) { + if (p.gossipThreshold > 0) { +- throw new CodeError('invalid gossip threshold; it must be <= 0', ERR_INVALID_PEER_SCORE_THRESHOLDS); ++ throw new InvalidPeerScoreThresholdsError('invalid gossip threshold; it must be <= 0'); + } + if (p.publishThreshold > 0 || p.publishThreshold > p.gossipThreshold) { +- throw new CodeError('invalid publish threshold; it must be <= 0 and <= gossip threshold', ERR_INVALID_PEER_SCORE_THRESHOLDS); ++ throw new InvalidPeerScoreThresholdsError('invalid publish threshold; it must be <= 0 and <= gossip threshold'); + } + if (p.graylistThreshold > 0 || p.graylistThreshold > p.publishThreshold) { +- throw new CodeError('invalid graylist threshold; it must be <= 0 and <= publish threshold', ERR_INVALID_PEER_SCORE_THRESHOLDS); ++ throw new InvalidPeerScoreThresholdsError('invalid graylist threshold; it must be <= 0 and <= publish threshold'); + } + if (p.acceptPXThreshold < 0) { +- throw new CodeError('invalid accept PX threshold; it must be >= 0', ERR_INVALID_PEER_SCORE_THRESHOLDS); ++ throw new InvalidPeerScoreThresholdsError('invalid accept PX threshold; it must be >= 0'); + } + if (p.opportunisticGraftThreshold < 0) { +- throw new CodeError('invalid opportunistic grafting threshold; it must be >= 0', ERR_INVALID_PEER_SCORE_THRESHOLDS); ++ throw new InvalidPeerScoreThresholdsError('invalid opportunistic grafting threshold; it must be >= 0'); + } + } + //# sourceMappingURL=peer-score-thresholds.js.map +\ No newline at end of file +diff --git a/node_modules/@chainsafe/libp2p-gossipsub/dist/src/score/peer-score-thresholds.js.map b/node_modules/@chainsafe/libp2p-gossipsub/dist/src/score/peer-score-thresholds.js.map +index 9b30020..ac578e5 100644 +--- a/node_modules/@chainsafe/libp2p-gossipsub/dist/src/score/peer-score-thresholds.js.map ++++ b/node_modules/@chainsafe/libp2p-gossipsub/dist/src/score/peer-score-thresholds.js.map +@@ -1 +1 @@ +-{"version":3,"file":"peer-score-thresholds.js","sourceRoot":"","sources":["../../../src/score/peer-score-thresholds.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAC7C,OAAO,EAAE,iCAAiC,EAAE,MAAM,gBAAgB,CAAA;AAsClE,MAAM,CAAC,MAAM,0BAA0B,GAAwB;IAC7D,eAAe,EAAE,CAAC,EAAE;IACpB,gBAAgB,EAAE,CAAC,EAAE;IACrB,iBAAiB,EAAE,CAAC,EAAE;IACtB,iBAAiB,EAAE,EAAE;IACrB,2BAA2B,EAAE,EAAE;CAChC,CAAA;AAED,MAAM,UAAU,yBAAyB,CAAE,IAAkC,EAAE;IAC7E,OAAO;QACL,GAAG,0BAA0B;QAC7B,GAAG,CAAC;KACL,CAAA;AACH,CAAC;AAED,MAAM,UAAU,2BAA2B,CAAE,CAAsB;IACjE,IAAI,CAAC,CAAC,eAAe,GAAG,CAAC,EAAE,CAAC;QAC1B,MAAM,IAAI,SAAS,CAAC,2CAA2C,EAAE,iCAAiC,CAAC,CAAA;IACrG,CAAC;IACD,IAAI,CAAC,CAAC,gBAAgB,GAAG,CAAC,IAAI,CAAC,CAAC,gBAAgB,GAAG,CAAC,CAAC,eAAe,EAAE,CAAC;QACrE,MAAM,IAAI,SAAS,CACjB,oEAAoE,EACpE,iCAAiC,CAClC,CAAA;IACH,CAAC;IACD,IAAI,CAAC,CAAC,iBAAiB,GAAG,CAAC,IAAI,CAAC,CAAC,iBAAiB,GAAG,CAAC,CAAC,gBAAgB,EAAE,CAAC;QACxE,MAAM,IAAI,SAAS,CACjB,sEAAsE,EACtE,iCAAiC,CAClC,CAAA;IACH,CAAC;IACD,IAAI,CAAC,CAAC,iBAAiB,GAAG,CAAC,EAAE,CAAC;QAC5B,MAAM,IAAI,SAAS,CAAC,8CAA8C,EAAE,iCAAiC,CAAC,CAAA;IACxG,CAAC;IACD,IAAI,CAAC,CAAC,2BAA2B,GAAG,CAAC,EAAE,CAAC;QACtC,MAAM,IAAI,SAAS,CAAC,2DAA2D,EAAE,iCAAiC,CAAC,CAAA;IACrH,CAAC;AACH,CAAC"} +\ No newline at end of file ++{"version":3,"file":"peer-score-thresholds.js","sourceRoot":"","sources":["../../../src/score/peer-score-thresholds.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,+BAA+B,EAAE,MAAM,cAAc,CAAA;AAsC9D,MAAM,CAAC,MAAM,0BAA0B,GAAwB;IAC7D,eAAe,EAAE,CAAC,EAAE;IACpB,gBAAgB,EAAE,CAAC,EAAE;IACrB,iBAAiB,EAAE,CAAC,EAAE;IACtB,iBAAiB,EAAE,EAAE;IACrB,2BAA2B,EAAE,EAAE;CAChC,CAAA;AAED,MAAM,UAAU,yBAAyB,CAAE,IAAkC,EAAE;IAC7E,OAAO;QACL,GAAG,0BAA0B;QAC7B,GAAG,CAAC;KACL,CAAA;AACH,CAAC;AAED,MAAM,UAAU,2BAA2B,CAAE,CAAsB;IACjE,IAAI,CAAC,CAAC,eAAe,GAAG,CAAC,EAAE,CAAC;QAC1B,MAAM,IAAI,+BAA+B,CAAC,2CAA2C,CAAC,CAAA;IACxF,CAAC;IACD,IAAI,CAAC,CAAC,gBAAgB,GAAG,CAAC,IAAI,CAAC,CAAC,gBAAgB,GAAG,CAAC,CAAC,eAAe,EAAE,CAAC;QACrE,MAAM,IAAI,+BAA+B,CAAC,oEAAoE,CAAC,CAAA;IACjH,CAAC;IACD,IAAI,CAAC,CAAC,iBAAiB,GAAG,CAAC,IAAI,CAAC,CAAC,iBAAiB,GAAG,CAAC,CAAC,gBAAgB,EAAE,CAAC;QACxE,MAAM,IAAI,+BAA+B,CAAC,sEAAsE,CAAC,CAAA;IACnH,CAAC;IACD,IAAI,CAAC,CAAC,iBAAiB,GAAG,CAAC,EAAE,CAAC;QAC5B,MAAM,IAAI,+BAA+B,CAAC,8CAA8C,CAAC,CAAA;IAC3F,CAAC;IACD,IAAI,CAAC,CAAC,2BAA2B,GAAG,CAAC,EAAE,CAAC;QACtC,MAAM,IAAI,+BAA+B,CAAC,2DAA2D,CAAC,CAAA;IACxG,CAAC;AACH,CAAC"} +\ No newline at end of file diff --git a/node_modules/@chainsafe/libp2p-gossipsub/dist/src/utils/buildRawMessage.js b/node_modules/@chainsafe/libp2p-gossipsub/dist/src/utils/buildRawMessage.js index 75b1723..602896c 100644 --- a/node_modules/@chainsafe/libp2p-gossipsub/dist/src/utils/buildRawMessage.js @@ -2489,7 +2941,7 @@ index 0000000..7060884 \ No newline at end of file diff --git a/node_modules/@chainsafe/libp2p-gossipsub/dist/test/floodsub.spec.js b/node_modules/@chainsafe/libp2p-gossipsub/dist/test/floodsub.spec.js new file mode 100644 -index 0000000..42522f8 +index 0000000..8bf55e2 --- /dev/null +++ b/node_modules/@chainsafe/libp2p-gossipsub/dist/test/floodsub.spec.js @@ -0,0 +1,226 @@ @@ -2555,7 +3007,7 @@ index 0000000..42522f8 + expect.fail('Dial should not have succeed'); + } + catch (err) { -+ expect(err.code).to.be.equal('ERR_UNSUPPORTED_PROTOCOL'); ++ expect(err).to.have.property('name', 'UnsupportedProtocolError'); + } + }); + }); @@ -2722,11 +3174,11 @@ index 0000000..42522f8 \ No newline at end of file diff --git a/node_modules/@chainsafe/libp2p-gossipsub/dist/test/floodsub.spec.js.map b/node_modules/@chainsafe/libp2p-gossipsub/dist/test/floodsub.spec.js.map new file mode 100644 -index 0000000..84b3b75 +index 0000000..ba3c78f --- /dev/null +++ b/node_modules/@chainsafe/libp2p-gossipsub/dist/test/floodsub.spec.js.map @@ -0,0 +1 @@ -+{"version":3,"file":"floodsub.spec.js","sourceRoot":"","sources":["../../test/floodsub.spec.ts"],"names":[],"mappings":"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"} ++{"version":3,"file":"floodsub.spec.js","sourceRoot":"","sources":["../../test/floodsub.spec.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@chainsafe/libp2p-gossipsub/dist/test/gossip.spec.d.ts b/node_modules/@chainsafe/libp2p-gossipsub/dist/test/gossip.spec.d.ts new file mode 100644 @@ -2747,7 +3199,7 @@ index 0000000..bd3eae1 \ No newline at end of file diff --git a/node_modules/@chainsafe/libp2p-gossipsub/dist/test/gossip.spec.js b/node_modules/@chainsafe/libp2p-gossipsub/dist/test/gossip.spec.js new file mode 100644 -index 0000000..8a8d521 +index 0000000..ba911ff --- /dev/null +++ b/node_modules/@chainsafe/libp2p-gossipsub/dist/test/gossip.spec.js @@ -0,0 +1,223 @@ @@ -2895,7 +3347,7 @@ index 0000000..8a8d521 + await nodeA.pubsub.publish(topic, new Uint8Array(5000000)); + await pEvent(nodeA.pubsub, 'gossipsub:heartbeat'); + const expectedError = nodeBSpy.handlePeerReadStreamError.getCalls()[0]?.args[0]; -+ expect(expectedError !== undefined && expectedError.code, 'ERR_MSG_DATA_TOO_LONG'); ++ expect(expectedError).to.have.property('name', 'InvalidDataLengthError'); + // unset spy + nodeBSpy.handlePeerReadStreamError.restore(); + }); @@ -2977,11 +3429,11 @@ index 0000000..8a8d521 \ No newline at end of file diff --git a/node_modules/@chainsafe/libp2p-gossipsub/dist/test/gossip.spec.js.map b/node_modules/@chainsafe/libp2p-gossipsub/dist/test/gossip.spec.js.map new file mode 100644 -index 0000000..e07df04 +index 0000000..f95cd15 --- /dev/null +++ b/node_modules/@chainsafe/libp2p-gossipsub/dist/test/gossip.spec.js.map @@ -0,0 +1 @@ -+{"version":3,"file":"gossip.spec.js","sourceRoot":"","sources":["../../test/gossip.spec.ts"],"names":[],"mappings":"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"} ++{"version":3,"file":"gossip.spec.js","sourceRoot":"","sources":["../../test/gossip.spec.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@chainsafe/libp2p-gossipsub/dist/test/heartbeat.spec.d.ts b/node_modules/@chainsafe/libp2p-gossipsub/dist/test/heartbeat.spec.d.ts new file mode 100644 @@ -5349,14 +5801,37 @@ index 0000000..e59402f \ No newline at end of file diff --git a/node_modules/@chainsafe/libp2p-gossipsub/dist/tsconfig.tsbuildinfo b/node_modules/@chainsafe/libp2p-gossipsub/dist/tsconfig.tsbuildinfo new file mode 100644 -index 0000000..21668b2 +index 0000000..147c94d --- /dev/null +++ b/node_modules/@chainsafe/libp2p-gossipsub/dist/tsconfig.tsbuildinfo @@ -0,0 +1 @@ -+{"program":{"fileNames":["../node_modules/typescript/lib/lib.es5.d.ts","../node_modules/typescript/lib/lib.es2015.d.ts","../node_modules/typescript/lib/lib.es2016.d.ts","../node_modules/typescript/lib/lib.es2017.d.ts","../node_modules/typescript/lib/lib.es2018.d.ts","../node_modules/typescript/lib/lib.es2019.d.ts","../node_modules/typescript/lib/lib.es2020.d.ts","../node_modules/typescript/lib/lib.es2021.d.ts","../node_modules/typescript/lib/lib.es2022.d.ts","../node_modules/typescript/lib/lib.es2023.d.ts","../node_modules/typescript/lib/lib.dom.d.ts","../node_modules/typescript/lib/lib.dom.iterable.d.ts","../node_modules/typescript/lib/lib.webworker.d.ts","../node_modules/typescript/lib/lib.es2015.core.d.ts","../node_modules/typescript/lib/lib.es2015.collection.d.ts","../node_modules/typescript/lib/lib.es2015.generator.d.ts","../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../node_modules/typescript/lib/lib.es2015.promise.d.ts","../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../node_modules/typescript/lib/lib.es2016.intl.d.ts","../node_modules/typescript/lib/lib.es2017.date.d.ts","../node_modules/typescript/lib/lib.es2017.object.d.ts","../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../node_modules/typescript/lib/lib.es2017.string.d.ts","../node_modules/typescript/lib/lib.es2017.intl.d.ts","../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../node_modules/typescript/lib/lib.es2018.intl.d.ts","../node_modules/typescript/lib/lib.es2018.promise.d.ts","../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../node_modules/typescript/lib/lib.es2019.array.d.ts","../node_modules/typescript/lib/lib.es2019.object.d.ts","../node_modules/typescript/lib/lib.es2019.string.d.ts","../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../node_modules/typescript/lib/lib.es2019.intl.d.ts","../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../node_modules/typescript/lib/lib.es2020.date.d.ts","../node_modules/typescript/lib/lib.es2020.promise.d.ts","../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../node_modules/typescript/lib/lib.es2020.string.d.ts","../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../node_modules/typescript/lib/lib.es2020.intl.d.ts","../node_modules/typescript/lib/lib.es2020.number.d.ts","../node_modules/typescript/lib/lib.es2021.promise.d.ts","../node_modules/typescript/lib/lib.es2021.string.d.ts","../node_modules/typescript/lib/lib.es2021.weakref.d.ts","../node_modules/typescript/lib/lib.es2021.intl.d.ts","../node_modules/typescript/lib/lib.es2022.array.d.ts","../node_modules/typescript/lib/lib.es2022.error.d.ts","../node_modules/typescript/lib/lib.es2022.intl.d.ts","../node_modules/typescript/lib/lib.es2022.object.d.ts","../node_modules/typescript/lib/lib.es2022.sharedmemory.d.ts","../node_modules/typescript/lib/lib.es2022.string.d.ts","../node_modules/typescript/lib/lib.es2022.regexp.d.ts","../node_modules/typescript/lib/lib.es2023.array.d.ts","../node_modules/typescript/lib/lib.es2023.collection.d.ts","../node_modules/typescript/lib/lib.esnext.intl.d.ts","../node_modules/typescript/lib/lib.decorators.d.ts","../node_modules/typescript/lib/lib.decorators.legacy.d.ts","../src/config.ts","../src/constants.ts","../node_modules/multiformats/dist/src/bases/interface.d.ts","../node_modules/multiformats/dist/src/block/interface.d.ts","../node_modules/multiformats/dist/src/hashes/interface.d.ts","../node_modules/multiformats/dist/src/link/interface.d.ts","../node_modules/multiformats/dist/src/cid.d.ts","../node_modules/uint8arraylist/dist/src/index.d.ts","../node_modules/@libp2p/interface/dist/src/keys/index.d.ts","../node_modules/@libp2p/interface/dist/src/peer-id/index.d.ts","../node_modules/@multiformats/multiaddr/dist/src/protocols-table.d.ts","../node_modules/@multiformats/dns/dist/src/resolvers/dns-over-https.d.ts","../node_modules/@multiformats/dns/dist/src/resolvers/dns-json-over-https.d.ts","../node_modules/@multiformats/dns/dist/src/resolvers/index.d.ts","../node_modules/progress-events/dist/src/index.d.ts","../node_modules/@multiformats/dns/dist/src/index.d.ts","../node_modules/@multiformats/multiaddr/dist/src/resolvers/dnsaddr.d.ts","../node_modules/@multiformats/multiaddr/dist/src/resolvers/index.d.ts","../node_modules/@multiformats/multiaddr/dist/src/filter/multiaddr-filter.d.ts","../node_modules/@multiformats/multiaddr/dist/src/index.d.ts","../node_modules/it-stream-types/dist/src/index.d.ts","../node_modules/@libp2p/interface/dist/src/connection/index.d.ts","../node_modules/@libp2p/interface/dist/src/peer-info/index.d.ts","../node_modules/@libp2p/interface/dist/src/content-routing/index.d.ts","../node_modules/@libp2p/interface/dist/src/event-target.d.ts","../node_modules/@libp2p/interface/dist/src/metrics/index.d.ts","../node_modules/@libp2p/interface/dist/src/peer-routing/index.d.ts","../node_modules/@libp2p/interface/dist/src/peer-store/index.d.ts","../node_modules/@libp2p/interface/dist/src/startable.d.ts","../node_modules/@libp2p/interface/dist/src/stream-handler/index.d.ts","../node_modules/@libp2p/interface/dist/src/topology/index.d.ts","../node_modules/@libp2p/interface/dist/src/stream-muxer/index.d.ts","../node_modules/@libp2p/interface/dist/src/transport/index.d.ts","../node_modules/@libp2p/interface/dist/src/connection-encrypter/index.d.ts","../node_modules/@libp2p/interface/dist/src/connection-gater/index.d.ts","../node_modules/@libp2p/interface/dist/src/peer-discovery/index.d.ts","../node_modules/@libp2p/interface/dist/src/peer-store/tags.d.ts","../node_modules/it-pushable/dist/src/index.d.ts","../node_modules/@libp2p/interface/dist/src/pubsub/index.d.ts","../node_modules/@libp2p/interface/dist/src/record/index.d.ts","../node_modules/@libp2p/interface/dist/src/errors.d.ts","../node_modules/@types/node/assert.d.ts","../node_modules/@types/node/assert/strict.d.ts","../node_modules/buffer/index.d.ts","../node_modules/undici-types/header.d.ts","../node_modules/undici-types/readable.d.ts","../node_modules/undici-types/file.d.ts","../node_modules/undici-types/fetch.d.ts","../node_modules/undici-types/formdata.d.ts","../node_modules/undici-types/connector.d.ts","../node_modules/undici-types/client.d.ts","../node_modules/undici-types/errors.d.ts","../node_modules/undici-types/dispatcher.d.ts","../node_modules/undici-types/global-dispatcher.d.ts","../node_modules/undici-types/global-origin.d.ts","../node_modules/undici-types/pool-stats.d.ts","../node_modules/undici-types/pool.d.ts","../node_modules/undici-types/handlers.d.ts","../node_modules/undici-types/balanced-pool.d.ts","../node_modules/undici-types/agent.d.ts","../node_modules/undici-types/mock-interceptor.d.ts","../node_modules/undici-types/mock-agent.d.ts","../node_modules/undici-types/mock-client.d.ts","../node_modules/undici-types/mock-pool.d.ts","../node_modules/undici-types/mock-errors.d.ts","../node_modules/undici-types/proxy-agent.d.ts","../node_modules/undici-types/env-http-proxy-agent.d.ts","../node_modules/undici-types/retry-handler.d.ts","../node_modules/undici-types/retry-agent.d.ts","../node_modules/undici-types/api.d.ts","../node_modules/undici-types/interceptors.d.ts","../node_modules/undici-types/util.d.ts","../node_modules/undici-types/cookies.d.ts","../node_modules/undici-types/patch.d.ts","../node_modules/undici-types/websocket.d.ts","../node_modules/undici-types/eventsource.d.ts","../node_modules/undici-types/filereader.d.ts","../node_modules/undici-types/diagnostics-channel.d.ts","../node_modules/undici-types/content-type.d.ts","../node_modules/undici-types/cache.d.ts","../node_modules/undici-types/index.d.ts","../node_modules/@types/node/globals.d.ts","../node_modules/@types/node/async_hooks.d.ts","../node_modules/@types/node/buffer.d.ts","../node_modules/@types/node/child_process.d.ts","../node_modules/@types/node/cluster.d.ts","../node_modules/@types/node/console.d.ts","../node_modules/@types/node/constants.d.ts","../node_modules/@types/node/crypto.d.ts","../node_modules/@types/node/dgram.d.ts","../node_modules/@types/node/diagnostics_channel.d.ts","../node_modules/@types/node/dns.d.ts","../node_modules/@types/node/dns/promises.d.ts","../node_modules/@types/node/domain.d.ts","../node_modules/@types/node/dom-events.d.ts","../node_modules/@types/node/events.d.ts","../node_modules/@types/node/fs.d.ts","../node_modules/@types/node/fs/promises.d.ts","../node_modules/@types/node/http.d.ts","../node_modules/@types/node/http2.d.ts","../node_modules/@types/node/https.d.ts","../node_modules/@types/node/inspector.d.ts","../node_modules/@types/node/module.d.ts","../node_modules/@types/node/net.d.ts","../node_modules/@types/node/os.d.ts","../node_modules/@types/node/path.d.ts","../node_modules/@types/node/perf_hooks.d.ts","../node_modules/@types/node/process.d.ts","../node_modules/@types/node/punycode.d.ts","../node_modules/@types/node/querystring.d.ts","../node_modules/@types/node/readline.d.ts","../node_modules/@types/node/readline/promises.d.ts","../node_modules/@types/node/repl.d.ts","../node_modules/@types/node/sea.d.ts","../node_modules/@types/node/stream.d.ts","../node_modules/@types/node/stream/promises.d.ts","../node_modules/@types/node/stream/consumers.d.ts","../node_modules/@types/node/stream/web.d.ts","../node_modules/@types/node/string_decoder.d.ts","../node_modules/@types/node/test.d.ts","../node_modules/@types/node/timers.d.ts","../node_modules/@types/node/timers/promises.d.ts","../node_modules/@types/node/tls.d.ts","../node_modules/@types/node/trace_events.d.ts","../node_modules/@types/node/tty.d.ts","../node_modules/@types/node/url.d.ts","../node_modules/@types/node/util.d.ts","../node_modules/@types/node/v8.d.ts","../node_modules/@types/node/vm.d.ts","../node_modules/@types/node/wasi.d.ts","../node_modules/@types/node/worker_threads.d.ts","../node_modules/@types/node/zlib.d.ts","../node_modules/@types/node/globals.global.d.ts","../node_modules/@types/node/index.d.ts","../node_modules/@libp2p/interface/dist/src/events.d.ts","../node_modules/@libp2p/interface/dist/src/index.d.ts","../node_modules/@libp2p/peer-id/dist/src/index.d.ts","../node_modules/it-length-prefixed/dist/src/encode.d.ts","../node_modules/it-reader/dist/src/index.d.ts","../node_modules/it-length-prefixed/dist/src/decode.d.ts","../node_modules/it-length-prefixed/dist/src/index.d.ts","../node_modules/it-pipe/dist/src/index.d.ts","../node_modules/multiformats/dist/src/hashes/digest.d.ts","../src/message/decoderpc.ts","../node_modules/protons-runtime/dist/src/codec.d.ts","../node_modules/protons-runtime/dist/src/decode.d.ts","../node_modules/protons-runtime/dist/src/encode.d.ts","../node_modules/protons-runtime/dist/src/codecs/enum.d.ts","../node_modules/protons-runtime/dist/src/codecs/message.d.ts","../node_modules/protons-runtime/dist/src/utils/reader.d.ts","../node_modules/protons-runtime/dist/src/utils/writer.d.ts","../node_modules/protons-runtime/dist/src/index.d.ts","../src/message/rpc.ts","../src/types.ts","../src/message-cache.ts","../src/score/constants.ts","../src/score/peer-score-thresholds.ts","../src/metrics.ts","../src/score/peer-score-params.ts","../src/utils/set.ts","../src/score/peer-stats.ts","../src/score/compute-score.ts","../node_modules/denque/index.d.ts","../src/score/message-deliveries.ts","../src/score/peer-score.ts","../src/score/index.ts","../src/score/scoremetrics.ts","../src/stream.ts","../src/tracer.ts","../node_modules/@libp2p/crypto/dist/src/hmac/index.d.ts","../node_modules/multiformats/dist/src/bytes.d.ts","../node_modules/multiformats/dist/src/hashes/hasher.d.ts","../node_modules/multiformats/dist/src/varint.d.ts","../node_modules/multiformats/dist/src/codecs/interface.d.ts","../node_modules/multiformats/dist/src/interface.d.ts","../node_modules/multiformats/dist/src/index.d.ts","../node_modules/@libp2p/crypto/dist/src/keys/interface.d.ts","../node_modules/@libp2p/crypto/dist/src/keys/ecdh.d.ts","../node_modules/@libp2p/crypto/dist/src/keys/key-stretcher.d.ts","../node_modules/@libp2p/crypto/dist/src/keys/index.d.ts","../node_modules/@libp2p/crypto/dist/src/pbkdf2.d.ts","../node_modules/@libp2p/crypto/dist/src/random-bytes.d.ts","../node_modules/@libp2p/crypto/dist/src/index.d.ts","../node_modules/uint8arrays/dist/src/concat.d.ts","../node_modules/multiformats/dist/src/codecs/json.d.ts","../node_modules/multiformats/dist/src/codecs/raw.d.ts","../node_modules/multiformats/dist/src/bases/base.d.ts","../node_modules/multiformats/dist/src/basics.d.ts","../node_modules/uint8arrays/dist/src/util/bases.d.ts","../node_modules/uint8arrays/dist/src/from-string.d.ts","../node_modules/uint8arrays/dist/src/to-string.d.ts","../src/utils/buildrawmessage.ts","../src/utils/create-gossip-rpc.ts","../src/utils/shuffle.ts","../src/utils/messageidtostring.ts","../src/utils/publishconfig.ts","../src/utils/index.ts","../node_modules/@libp2p/pubsub/dist/src/utils.d.ts","../node_modules/multiformats/dist/src/hashes/sha2.d.ts","../src/utils/msgidfn.ts","../node_modules/@chainsafe/netmask/dist/src/util.d.ts","../node_modules/@chainsafe/netmask/dist/src/ip.d.ts","../node_modules/@chainsafe/netmask/dist/src/ipnet.d.ts","../node_modules/@chainsafe/netmask/dist/src/cidr.d.ts","../node_modules/@chainsafe/netmask/dist/src/index.d.ts","../node_modules/@multiformats/multiaddr/dist/src/convert.d.ts","../src/utils/multiaddr.ts","../src/utils/time-cache.ts","../node_modules/@libp2p/interface-internal/dist/src/address-manager/index.d.ts","../node_modules/@libp2p/peer-collections/dist/src/map.d.ts","../node_modules/@libp2p/peer-collections/dist/src/set.d.ts","../node_modules/@libp2p/peer-collections/dist/src/list.d.ts","../node_modules/@libp2p/peer-collections/dist/src/filter.d.ts","../node_modules/@libp2p/peer-collections/dist/src/tracked-map.d.ts","../node_modules/@libp2p/peer-collections/dist/src/tracked-set.d.ts","../node_modules/@libp2p/peer-collections/dist/src/tracked-list.d.ts","../node_modules/@libp2p/peer-collections/dist/src/index.d.ts","../node_modules/@libp2p/interface-internal/dist/src/connection-manager/index.d.ts","../node_modules/@libp2p/interface-internal/dist/src/random-walk/index.d.ts","../node_modules/@libp2p/interface-internal/dist/src/record/index.d.ts","../node_modules/@libp2p/interface-internal/dist/src/registrar/index.d.ts","../node_modules/@libp2p/interface-internal/dist/src/transport-manager/index.d.ts","../node_modules/@libp2p/interface-internal/dist/src/index.d.ts","../src/index.ts","../src/message/index.ts","../node_modules/@libp2p/interface-compliance-tests/dist/src/mocks/connection-gater.d.ts","../node_modules/@libp2p/interface-compliance-tests/dist/src/mocks/connection-manager.d.ts","../node_modules/@libp2p/interface-compliance-tests/dist/src/mocks/connection.d.ts","../node_modules/@libp2p/interface-compliance-tests/dist/src/mocks/multiaddr-connection.d.ts","../node_modules/@libp2p/logger/dist/src/index.d.ts","../node_modules/@libp2p/utils/dist/src/abstract-stream.d.ts","../node_modules/@libp2p/interface-compliance-tests/dist/src/mocks/muxer.d.ts","../node_modules/@libp2p/interface-compliance-tests/dist/src/mocks/registrar.d.ts","../node_modules/@libp2p/interface-compliance-tests/dist/src/mocks/upgrader.d.ts","../node_modules/@libp2p/interface-compliance-tests/dist/src/mocks/duplex.d.ts","../node_modules/@libp2p/interface-compliance-tests/dist/src/mocks/metrics.d.ts","../node_modules/@libp2p/interface-compliance-tests/dist/src/mocks/index.d.ts","../node_modules/@types/chai/index.d.ts","../node_modules/@types/chai-as-promised/index.d.ts","../node_modules/chai-parentheses/index.d.ts","../node_modules/@types/chai-subset/index.d.ts","../node_modules/chai-bites/index.d.ts","../node_modules/@types/chai-string/index.d.ts","../node_modules/aegir/dist/utils/chai.d.ts","../node_modules/p-defer/index.d.ts","../node_modules/p-timeout/index.d.ts","../node_modules/p-event/index.d.ts","../node_modules/p-wait-for/index.d.ts","../node_modules/interface-datastore/dist/src/key.d.ts","../node_modules/interface-datastore/node_modules/interface-store/dist/src/errors.d.ts","../node_modules/interface-datastore/node_modules/interface-store/dist/src/index.d.ts","../node_modules/interface-datastore/dist/src/index.d.ts","../node_modules/@libp2p/peer-store/dist/src/index.d.ts","../node_modules/datastore-core/dist/src/errors.d.ts","../node_modules/datastore-core/dist/src/shard.d.ts","../node_modules/interface-store/dist/src/index.d.ts","../node_modules/datastore-core/dist/src/base.d.ts","../node_modules/datastore-core/dist/src/memory.d.ts","../node_modules/datastore-core/dist/src/keytransform.d.ts","../node_modules/datastore-core/dist/src/sharding.d.ts","../node_modules/datastore-core/dist/src/mount.d.ts","../node_modules/datastore-core/dist/src/tiered.d.ts","../node_modules/datastore-core/dist/src/namespace.d.ts","../node_modules/datastore-core/dist/src/index.d.ts","../node_modules/@types/sinonjs__fake-timers/index.d.ts","../node_modules/@types/sinon/index.d.ts","../node_modules/ts-sinon/dist/index.d.ts","../test/utils/create-pubsub.ts","../test/2-nodes.spec.ts","../node_modules/@chainsafe/as-sha256/lib/hashobject.d.ts","../node_modules/@chainsafe/as-sha256/lib/wasm.d.ts","../node_modules/@chainsafe/as-sha256/lib/sha256.d.ts","../node_modules/@chainsafe/as-sha256/lib/index.d.ts","../test/utils/msgid.ts","../test/accept-from.spec.ts","../test/allowedtopics.spec.ts","../node_modules/@libp2p/interface-compliance-tests/dist/src/index.d.ts","../node_modules/@libp2p/interface-compliance-tests/dist/src/pubsub/index.d.ts","../test/compliance.spec.ts","../node_modules/eventemitter3/index.d.ts","../node_modules/p-queue/dist/queue.d.ts","../node_modules/p-queue/dist/options.d.ts","../node_modules/p-queue/dist/priority-queue.d.ts","../node_modules/p-queue/dist/index.d.ts","../node_modules/@libp2p/pubsub/dist/src/index.d.ts","../node_modules/@libp2p/floodsub/dist/src/cache.d.ts","../node_modules/@libp2p/floodsub/dist/src/config.d.ts","../node_modules/@libp2p/floodsub/dist/src/index.d.ts","../node_modules/delay/index.d.ts","../node_modules/@types/retry/index.d.ts","../node_modules/p-retry/index.d.ts","../test/floodsub.spec.ts","../test/gossip.spec.ts","../test/heartbeat.spec.ts","../test/mesh.spec.ts","../test/utils/index.ts","../test/message-cache.spec.ts","../test/peer-score-params.spec.ts","../test/peer-score-thresholds.spec.ts","../test/peer-score.spec.ts","../test/scoremetrics.spec.ts","../test/signature-policy.spec.ts","../test/time-cache.spec.ts","../test/tracer.spec.ts","../node_modules/@dapplion/benchmark/lib/utils/mochacliexports.d.ts","../node_modules/@dapplion/benchmark/lib/types.d.ts","../node_modules/@dapplion/benchmark/lib/mochaplugin/runbenchfn.d.ts","../node_modules/@dapplion/benchmark/lib/mochaplugin/index.d.ts","../node_modules/@dapplion/benchmark/lib/index.d.ts","../node_modules/abortable-iterator/dist/src/abort-error.d.ts","../node_modules/abortable-iterator/dist/src/index.d.ts","../node_modules/it-all/dist/src/index.d.ts","../test/benchmark/asynciterable.test.ts","../test/utils/events.ts","../test/benchmark/index.test.ts","../test/benchmark/protobuf.test.ts","../test/benchmark/time-cache.test.ts","../node_modules/uint8arrays/dist/src/equals.d.ts","../test/e2e/go-gossipsub.spec.ts","../test/unit/set.test.ts","../node_modules/keyv/src/index.d.ts","../node_modules/@types/http-cache-semantics/index.d.ts","../node_modules/@types/responselike/index.d.ts","../node_modules/@types/cacheable-request/index.d.ts","../node_modules/@types/ms/index.d.ts","../node_modules/@types/debug/index.d.ts","../node_modules/@types/dns-packet/index.d.ts","../node_modules/@types/istanbul-lib-coverage/index.d.ts","../node_modules/@types/json-schema/index.d.ts","../node_modules/@types/json5/index.d.ts","../node_modules/@types/keyv/index.d.ts","../node_modules/@types/linkify-it/build/index.cjs.d.ts","../node_modules/@types/linkify-it/index.d.ts","../node_modules/@types/mdurl/build/index.cjs.d.ts","../node_modules/@types/mdurl/index.d.ts","../node_modules/@types/markdown-it/dist/index.cjs.d.ts","../node_modules/@types/markdown-it/index.d.ts","../node_modules/@types/unist/index.d.ts","../node_modules/@types/mdast/index.d.ts","../node_modules/@types/minimatch/index.d.ts","../node_modules/@types/minimist/index.d.ts","../node_modules/@types/mocha/index.d.ts","../node_modules/@types/murmurhash3js-revisited/index.d.ts","../node_modules/@types/normalize-package-data/index.d.ts","../node_modules/@types/parse-json/index.d.ts","../node_modules/@types/semver/classes/semver.d.ts","../node_modules/@types/semver/functions/parse.d.ts","../node_modules/@types/semver/functions/valid.d.ts","../node_modules/@types/semver/functions/clean.d.ts","../node_modules/@types/semver/functions/inc.d.ts","../node_modules/@types/semver/functions/diff.d.ts","../node_modules/@types/semver/functions/major.d.ts","../node_modules/@types/semver/functions/minor.d.ts","../node_modules/@types/semver/functions/patch.d.ts","../node_modules/@types/semver/functions/prerelease.d.ts","../node_modules/@types/semver/functions/compare.d.ts","../node_modules/@types/semver/functions/rcompare.d.ts","../node_modules/@types/semver/functions/compare-loose.d.ts","../node_modules/@types/semver/functions/compare-build.d.ts","../node_modules/@types/semver/functions/sort.d.ts","../node_modules/@types/semver/functions/rsort.d.ts","../node_modules/@types/semver/functions/gt.d.ts","../node_modules/@types/semver/functions/lt.d.ts","../node_modules/@types/semver/functions/eq.d.ts","../node_modules/@types/semver/functions/neq.d.ts","../node_modules/@types/semver/functions/gte.d.ts","../node_modules/@types/semver/functions/lte.d.ts","../node_modules/@types/semver/functions/cmp.d.ts","../node_modules/@types/semver/functions/coerce.d.ts","../node_modules/@types/semver/classes/comparator.d.ts","../node_modules/@types/semver/classes/range.d.ts","../node_modules/@types/semver/functions/satisfies.d.ts","../node_modules/@types/semver/ranges/max-satisfying.d.ts","../node_modules/@types/semver/ranges/min-satisfying.d.ts","../node_modules/@types/semver/ranges/to-comparators.d.ts","../node_modules/@types/semver/ranges/min-version.d.ts","../node_modules/@types/semver/ranges/valid.d.ts","../node_modules/@types/semver/ranges/outside.d.ts","../node_modules/@types/semver/ranges/gtr.d.ts","../node_modules/@types/semver/ranges/ltr.d.ts","../node_modules/@types/semver/ranges/intersects.d.ts","../node_modules/@types/semver/ranges/simplify.d.ts","../node_modules/@types/semver/ranges/subset.d.ts","../node_modules/@types/semver/internals/identifiers.d.ts","../node_modules/@types/semver/index.d.ts","../node_modules/@types/sinon-chai/index.d.ts","../node_modules/@types/strip-bom/index.d.ts","../node_modules/@types/strip-json-comments/index.d.ts","../node_modules/@types/yargs-parser/index.d.ts","../node_modules/@types/yargs/index.d.ts","../node_modules/@types/yauzl/index.d.ts"],"fileInfos":[{"version":"824cb491a40f7e8fdeb56f1df5edf91b23f3e3ee6b4cde84d4a99be32338faee","affectsGlobalScope":true},"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","3facaf05f0c5fc569c5649dd359892c98a85557e3e0c847964caeb67076f4d75","9a68c0c07ae2fa71b44384a839b7b8d81662a236d4b9ac30916718f7510b1b2d","5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4","feecb1be483ed332fad555aff858affd90a48ab19ba7272ee084704eb7167569","5514e54f17d6d74ecefedc73c504eadffdeda79c7ea205cf9febead32d45c4bc","1c0cdb8dc619bc549c3e5020643e7cf7ae7940058e8c7e5aefa5871b6d86f44b",{"version":"87d693a4920d794a73384b3c779cadcb8548ac6945aa7a925832fe2418c9527a","affectsGlobalScope":true},{"version":"76f838d5d49b65de83bc345c04aa54c62a3cfdb72a477dc0c0fce89a30596c30","affectsGlobalScope":true},{"version":"db88e2781075c7bca86634724f38a132de718ddf3a470a3a2cdb182f4364af9e","affectsGlobalScope":true},{"version":"138fb588d26538783b78d1e3b2c2cc12d55840b97bf5e08bca7f7a174fbe2f17","affectsGlobalScope":true},{"version":"dc2df20b1bcdc8c2d34af4926e2c3ab15ffe1160a63e58b7e09833f616efff44","affectsGlobalScope":true},{"version":"4443e68b35f3332f753eacc66a04ac1d2053b8b035a0e0ac1d455392b5e243b3","affectsGlobalScope":true},{"version":"bc47685641087c015972a3f072480889f0d6c65515f12bd85222f49a98952ed7","affectsGlobalScope":true},{"version":"0dc1e7ceda9b8b9b455c3a2d67b0412feab00bd2f66656cd8850e8831b08b537","affectsGlobalScope":true},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true},{"version":"4ff2a353abf8a80ee399af572debb8faab2d33ad38c4b4474cff7f26e7653b8d","affectsGlobalScope":true},{"version":"93495ff27b8746f55d19fcbcdbaccc99fd95f19d057aed1bd2c0cafe1335fbf0","affectsGlobalScope":true},{"version":"6fc23bb8c3965964be8c597310a2878b53a0306edb71d4b5a4dfe760186bcc01","affectsGlobalScope":true},{"version":"ea011c76963fb15ef1cdd7ce6a6808b46322c527de2077b6cfdf23ae6f5f9ec7","affectsGlobalScope":true},{"version":"38f0219c9e23c915ef9790ab1d680440d95419ad264816fa15009a8851e79119","affectsGlobalScope":true},{"version":"bb42a7797d996412ecdc5b2787720de477103a0b2e53058569069a0e2bae6c7e","affectsGlobalScope":true},{"version":"4738f2420687fd85629c9efb470793bb753709c2379e5f85bc1815d875ceadcd","affectsGlobalScope":true},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true},{"version":"4de680d5bb41c17f7f68e0419412ca23c98d5749dcaaea1896172f06435891fc","affectsGlobalScope":true},{"version":"9fc46429fbe091ac5ad2608c657201eb68b6f1b8341bd6d670047d32ed0a88fa","affectsGlobalScope":true},{"version":"61c37c1de663cf4171e1192466e52c7a382afa58da01b1dc75058f032ddf0839","affectsGlobalScope":true},{"version":"b541a838a13f9234aba650a825393ffc2292dc0fc87681a5d81ef0c96d281e7a","affectsGlobalScope":true},{"version":"b20fe0eca9a4e405f1a5ae24a2b3290b37cf7f21eba6cbe4fc3fab979237d4f3","affectsGlobalScope":true},{"version":"811ec78f7fefcabbda4bfa93b3eb67d9ae166ef95f9bff989d964061cbf81a0c","affectsGlobalScope":true},{"version":"717937616a17072082152a2ef351cb51f98802fb4b2fdabd32399843875974ca","affectsGlobalScope":true},{"version":"d7e7d9b7b50e5f22c915b525acc5a49a7a6584cf8f62d0569e557c5cfc4b2ac2","affectsGlobalScope":true},{"version":"71c37f4c9543f31dfced6c7840e068c5a5aacb7b89111a4364b1d5276b852557","affectsGlobalScope":true},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true},{"version":"49ed889be54031e1044af0ad2c603d627b8bda8b50c1a68435fe85583901d072","affectsGlobalScope":true},{"version":"e93d098658ce4f0c8a0779e6cab91d0259efb88a318137f686ad76f8410ca270","affectsGlobalScope":true},{"version":"063600664504610fe3e99b717a1223f8b1900087fab0b4cad1496a114744f8df","affectsGlobalScope":true},{"version":"934019d7e3c81950f9a8426d093458b65d5aff2c7c1511233c0fd5b941e608ab","affectsGlobalScope":true},{"version":"bf14a426dbbf1022d11bd08d6b8e709a2e9d246f0c6c1032f3b2edb9a902adbe","affectsGlobalScope":true},{"version":"5e07ed3809d48205d5b985642a59f2eba47c402374a7cf8006b686f79efadcbd","affectsGlobalScope":true},{"version":"2b72d528b2e2fe3c57889ca7baef5e13a56c957b946906d03767c642f386bbc3","affectsGlobalScope":true},{"version":"8073890e29d2f46fdbc19b8d6d2eb9ea58db9a2052f8640af20baff9afbc8640","affectsGlobalScope":true},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true},{"version":"af3dd424cf267428f30ccfc376f47a2c0114546b55c44d8c0f1d57d841e28d74","affectsGlobalScope":true},{"version":"995c005ab91a498455ea8dfb63aa9f83fa2ea793c3d8aa344be4a1678d06d399","affectsGlobalScope":true},{"version":"51e547984877a62227042850456de71a5c45e7fe86b7c975c6e68896c86fa23b","affectsGlobalScope":true},{"version":"956d27abdea9652e8368ce029bb1e0b9174e9678a273529f426df4b3d90abd60","affectsGlobalScope":true},{"version":"4fa6ed14e98aa80b91f61b9805c653ee82af3502dc21c9da5268d3857772ca05","affectsGlobalScope":true},{"version":"e6633e05da3ff36e6da2ec170d0d03ccf33de50ca4dc6f5aeecb572cedd162fb","affectsGlobalScope":true},{"version":"d8670852241d4c6e03f2b89d67497a4bbefe29ecaa5a444e2c11a9b05e6fccc6","affectsGlobalScope":true},{"version":"8444af78980e3b20b49324f4a16ba35024fef3ee069a0eb67616ea6ca821c47a","affectsGlobalScope":true},{"version":"caccc56c72713969e1cfe5c3d44e5bab151544d9d2b373d7dbe5a1e4166652be","affectsGlobalScope":true},{"version":"3287d9d085fbd618c3971944b65b4be57859f5415f495b33a6adc994edd2f004","affectsGlobalScope":true},{"version":"50d53ccd31f6667aff66e3d62adf948879a3a16f05d89882d1188084ee415bbc","affectsGlobalScope":true},{"version":"08a58483392df5fcc1db57d782e87734f77ae9eab42516028acbfe46f29a3ef7","affectsGlobalScope":true},{"version":"436aaf437562f276ec2ddbee2f2cdedac7664c1e4c1d2c36839ddd582eeb3d0a","affectsGlobalScope":true},{"version":"13f6e6380c78e15e140243dc4be2fa546c287c6d61f4729bc2dd7cf449605471","affectsGlobalScope":true},{"version":"33358442698bb565130f52ba79bfd3d4d484ac85fe33f3cb1759c54d18201393","affectsGlobalScope":true},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true},{"version":"8dd05b63a186702e76716cb824a892741fe274c82ec741669f6704e336b31bec","signature":"87c73268165bf20f01c101ac785e8a9d1d95ff203d05d3548a6c49952597e321"},{"version":"11f59b2fe369086ae532118462306d4d8622d2ceada716e834adfa26b456f914","signature":"ea438e982614f14ddf033f957aec98c89f09d9979734eee158f1d74c1a555f70"},"4a3605bef1a5ef29fd5a1696dd95b0b4e2259e2d07a4d88fac79f3a9765c44a2","370079895f1acdd4bb5194a403c85bf60cfbb2654bced9430a6c7210e7246be8","90240231e730deed31569f6c686766a538e4a024bbc33ea1738fe924f477ba61","552223520e823223ee13c5764e9b69b1819c985818a8bcda435d8d1dbd909bee","49b7c3ddd683c09aa437dd92681699387441f522524b14d2331ce494a9bf2f27","d35b5db21a04a45ae6323c4d4b25acc983dfe2870fc670fd05249eb19d839a5e","637b97f727f21c07a73f09130dc7bf5ac94d04511b179b5eb3e9a4d85a16147a","fb69a046d9f55e2c182c07e793017518b002859497084c0f69f3ee74edd0c4b9","5212dd78d1d63ab33332c8846a0ea5ce248159e74033cde16de48373036b4704","954b3c04ee9f94ca1e262f3e5a6e833b0da0066514b3d4b97b92b7f0c85f8700","a2fc9ce1ae5bed7068d701d8aeebf13321de0f42c217dc2e10f1622dcaa53a7f","8e81f220cb935d551e88cff11541d5e89d3a3494a52fe6247e98016a9dbd4c2d","6b2576a04253626ba41b7dc7ec5977bec07f3b6952b16249d9fa8a3a0d79901c","9de17491f2bfbccea92500e174079d53bdedae34dbebe5d4a12a06ab09814710","e88481085a8576fa52efc913e631c1a833d16179486469b8538d8c4fab2f7381","aec68502c8f4ffaecb4440b37363473582fec0bfee4fb8668a87daa7f700f708","d71577e78c7a4257074aaf82f595724175210c89e8b467ef82f949a6cbd891bc","cf548af8b03cbbc79fdc4f357b5560f618c6d2f68c8688e6eb759c3c11d962c3","c84146dbc9d2e5f43d2cbf15485a4eabf90219dbb66c0d481f20f12d3851bffc","9dc5a1d8f09f9faf21207253a92b461190d59c81ee12c9ac612630e699749990","99c24f331c9f4e75a779b9a988e942442db3cf29923ceb820d3bdd4ed1edfef2","25b1f20d5868ef9ef18132f7dd76b40b7038688ff7c56c58930537a8dff9f231","4105fa0ecfaffb578c8051c3de22e8c984191aac8de14641ee99beed9c5e5bd9","9bba18dcac8cc9bdce65a4e34122d90474617cdf857feddeeba1e7a3638097d4","8c92080253bac0506d82b83d555a029582595f0944abb349954ea732322baa5c","45d4c8d63a67224af62bebff18da32bb2817e306c9fd9e5d1dac6ef8d2da7ead","230eb449f719119cab1728252f20ecdd36d7a20cef659e4a51ada1a232a8aaad","5f264ca312dfcbf23917febc8d7a73ef5be9c248af605939de1c7c4129aa65f2","c1c7b50665ce0b8aa4b95f3843167ac7ac25d1f724d77c2a07b597abb9cf394c","1bf687d978bdd6d5aff10b9eb0ff0695179f8594d4446946fd0182d6d25fa433","ec26029e3a4eccf8ee79d5c76093fbe928cedc83d813fca9be4f055d61530013","e0ff6a627dfbfb9d32e49f34879a763680e37758c509ddd809cb316b96f34390","2113d72680c7ddad6d3b6f70a29432a35c074c94ec6823a7c16ccd69847d965c","c8ffd61bf2db2e7bccb996dd70c9499805cb338f1b1c781987e38ba99dd5b296","55e5a976b594dc02f054860fb59a5299872a5b3c8c90e96733a5c9c9d4ed1fb8","fac83d4c6898d5bf90c508cc84409ded40fdc14611cf42d7fb750fb2c7847979","1668310e691181966c371fce881c88cb1c2e65ac832ef5470434ad926998da2f","4f1eb6b9c2b666278e09019281953fc4ecadad3b2ba2781b2602445743eaaeca","cd4a19200e7e4b235f85c3a15176f84b68bca0a171e802df091553e679238621","2db0dd3aaa2ed285950273ce96ae8a450b45423aa9da2d10e194570f1233fa6b","7394959e5a741b185456e1ef5d64599c36c60a323207450991e7a42e08911419","4967529644e391115ca5592184d4b63980569adf60ee685f968fd59ab1557188","5929864ce17fba74232584d90cb721a89b7ad277220627cc97054ba15a98ea8f","24bd580b5743dc56402c440dc7f9a4f5d592ad7a419f25414d37a7bfe11e342b","25c8056edf4314820382a5fdb4bb7816999acdcb929c8f75e3f39473b87e85bc","c464d66b20788266e5353b48dc4aa6bc0dc4a707276df1e7152ab0c9ae21fad8","78d0d27c130d35c60b5e5566c9f1e5be77caf39804636bc1a40133919a949f21","c6fd2c5a395f2432786c9cb8deb870b9b0e8ff7e22c029954fabdd692bff6195","1d6e127068ea8e104a912e42fc0a110e2aa5a66a356a917a163e8cf9a65e4a75","5ded6427296cdf3b9542de4471d2aa8d3983671d4cac0f4bf9c637208d1ced43","6bdc71028db658243775263e93a7db2fd2abfce3ca569c3cca5aee6ed5eb186d","cadc8aced301244057c4e7e73fbcae534b0f5b12a37b150d80e5a45aa4bebcbd","385aab901643aa54e1c36f5ef3107913b10d1b5bb8cbcd933d4263b80a0d7f20","9670d44354bab9d9982eca21945686b5c24a3f893db73c0dae0fd74217a4c219","0b8a9268adaf4da35e7fa830c8981cfa22adbbe5b3f6f5ab91f6658899e657a7","11396ed8a44c02ab9798b7dca436009f866e8dae3c9c25e8c1fbc396880bf1bb","ba7bc87d01492633cb5a0e5da8a4a42a1c86270e7b3d2dea5d156828a84e4882","4893a895ea92c85345017a04ed427cbd6a1710453338df26881a6019432febdd","c21dc52e277bcfc75fac0436ccb75c204f9e1b3fa5e12729670910639f27343e","13f6f39e12b1518c6650bbb220c8985999020fe0f21d818e28f512b7771d00f9","9b5369969f6e7175740bf51223112ff209f94ba43ecd3bb09eefff9fd675624a","4fe9e626e7164748e8769bbf74b538e09607f07ed17c2f20af8d680ee49fc1da","24515859bc0b836719105bb6cc3d68255042a9f02a6022b3187948b204946bd2","ea0148f897b45a76544ae179784c95af1bd6721b8610af9ffa467a518a086a43","24c6a117721e606c9984335f71711877293a9651e44f59f3d21c1ea0856f9cc9","dd3273ead9fbde62a72949c97dbec2247ea08e0c6952e701a483d74ef92d6a17","405822be75ad3e4d162e07439bac80c6bcc6dbae1929e179cf467ec0b9ee4e2e","0db18c6e78ea846316c012478888f33c11ffadab9efd1cc8bcc12daded7a60b6","4d2b0eb911816f66abe4970898f97a2cfc902bcd743cbfa5017fad79f7ef90d8","bd0532fd6556073727d28da0edfd1736417a3f9f394877b6d5ef6ad88fba1d1a","89167d696a849fce5ca508032aabfe901c0868f833a8625d5a9c6e861ef935d2","e53a3c2a9f624d90f24bf4588aacd223e7bec1b9d0d479b68d2f4a9e6011147f","24b8685c62562f5d98615c5a0c1d05f297cf5065f15246edfe99e81ec4c0e011","93507c745e8f29090efb99399c3f77bec07db17acd75634249dc92f961573387","339dc5265ee5ed92e536a93a04c4ebbc2128f45eeec6ed29f379e0085283542c","4732aec92b20fb28c5fe9ad99521fb59974289ed1e45aecb282616202184064f","2e85db9e6fd73cfa3d7f28e0ab6b55417ea18931423bd47b409a96e4a169e8e6","c46e079fe54c76f95c67fb89081b3e399da2c7d109e7dca8e4b58d83e332e605","bf67d53d168abc1298888693338cb82854bdb2e69ef83f8a0092093c2d562107",{"version":"e7be367719c613d580d4b27fdf8fe64c9736f48217f4b322c0d63b2971460918","affectsGlobalScope":true},"3d77c73be94570813f8cadd1f05ebc3dc5e2e4fdefe4d340ca20cd018724ee36",{"version":"9d8f6e55f5a038f4dca0cacd6566f9b82c576eee35c694b89230e9dec1895a77","affectsGlobalScope":true},"62f1c00d3d246e0e3cf0224f91e122d560428ec1ccc36bb51d4574a84f1dbad0","53f0960fdcc53d097918adfd8861ffbe0db989c56ffc16c052197bf115da5ed6",{"version":"662163e5327f260b23ca0a1a1ad8a74078aabb587c904fcb5ef518986987eaff","affectsGlobalScope":true},"a40826e8476694e90da94aa008283a7de50d1dafd37beada623863f1901cb7fb",{"version":"f85c06e750743acf31f0cfd3be284a364d469761649e29547d0dd6be48875150","affectsGlobalScope":true},"b0c0d1d13be149f790a75b381b413490f98558649428bb916fd2d71a3f47a134","3c884d9d9ec454bdf0d5a0b8465bf8297d2caa4d853851d92cc417ac6f30b969","0364f8bb461d6e84252412d4e5590feda4eb582f77d47f7a024a7a9ff105dfdc","5433f7f77cd1fd53f45bd82445a4e437b2f6a72a32070e907530a4fea56c30c8","d0ca5d7df114035258a9d01165be309371fcccf0cccd9d57b1453204686d1ed0",{"version":"ee1ee365d88c4c6c0c0a5a5701d66ebc27ccd0bcfcfaa482c6e2e7fe7b98edf7","affectsGlobalScope":true},{"version":"9a30b7fefd7f8abbca4828d481c61c18e40fe5ff107e113b1c1fcd2c8dcf2743","affectsGlobalScope":true},"173b6275a81ebdb283b180654890f46516c21199734fed01a773b1c168b8c45c","304f66274aa8119e8d65a49b1cff84cbf803def6afe1b2cc987386e9a9890e22","1b9adafe8a7fefaeaf9099a0e06f602903f6268438147b843a33a5233ac71745","98273274f2dbb79b0b2009b20f74eca4a7146a3447c912d580cd5d2d94a7ae30","c933f7ba4b201c98b14275fd11a14abb950178afd2074703250fe3654fc10cd2","dccdf1677e531e33f8ac961a68bc537418c9a414797c1ea7e91307501cdc3f5e",{"version":"ea455cc68871b049bcecd9f56d4cf27b852d6dafd5e3b54468ca87cc11604e4d","affectsGlobalScope":true},"8f5814f29dbaf8bacd1764aebdf1c8a6eb86381f6a188ddbac0fcbaab855ce52","a63d03de72adfb91777784015bd3b4125abd2f5ef867fc5a13920b5649e8f52b","d20e003f3d518a7c1f749dbe27c6ab5e3be7b3c905a48361b04a9557de4a6900",{"version":"452e8a437aa57fe832dece2a5d3ea8dd0ab1de03ca778d09798c56ece0a29e80","affectsGlobalScope":true},{"version":"a20f1e119615bf7632729fd89b6c0b5ffdc2df3b512d6304146294528e3ebe19","affectsGlobalScope":true},"575fb200043b11b464db8e42cc64379c5fd322b6d787638e005b5ee98a64486d","6de2f225d942562733e231a695534b30039bdf1875b377bb7255881f0df8ede8","56249fd3ef1f6b90888e606f4ea648c43978ef43a7263aafad64f8d83cd3b8aa","139ad1dc93a503da85b7a0d5f615bddbae61ad796bc68fedd049150db67a1e26","7b166975fdbd3b37afb64707b98bca88e46577bbc6c59871f9383a7df2daacd1","9eece5e586312581ccd106d4853e861aaaa1a39f8e3ea672b8c3847eedd12f6e","81505c54d7cad0009352eaa21bd923ab7cdee7ec3405357a54d9a5da033a2084","269929a24b2816343a178008ac9ae9248304d92a8ba8e233055e0ed6dbe6ef71","93452d394fdd1dc551ec62f5042366f011a00d342d36d50793b3529bfc9bd633","3c1f19c7abcda6b3a4cf9438a15c7307a080bd3b51dfd56b198d9f86baf19447","2ee1645e0df9d84467cfe1d67b0ad3003c2f387de55874d565094464ee6f2927",{"version":"a321f588d51d742955993766d2969ed19006110a080572bfd24054178a5be640","affectsGlobalScope":true},{"version":"9cf780e96b687e4bdfd1907ed26a688c18b89797490a00598fa8b8ab683335dd","affectsGlobalScope":true},"98e00f3613402504bc2a2c9a621800ab48e0a463d1eed062208a4ae98ad8f84c","9ae88ce9f73446c24b2d2452e993b676da1b31fca5ceb7276e7f36279f693ed1","e49d7625faff2a7842e4e7b9b197f972633fca685afcf6b4403400c97d087c36","b82c38abc53922b1b3670c3af6f333c21b735722a8f156e7d357a2da7c53a0a0",{"version":"b423f53647708043299ded4daa68d95c967a2ac30aa1437adc4442129d7d0a6c","affectsGlobalScope":true},{"version":"21fcdcb618236f0feaca7e511e2da10c19970f86e09c934cef2d45b340ad92b5","affectsGlobalScope":true},"4f0fc7b7f54422bd97cfaf558ddb4bca86893839367b746a8f86b60ac7619673","4cdd8b6b51599180a387cc7c1c50f49eca5ce06595d781638fd0216520d98246","d91a7d8b5655c42986f1bdfe2105c4408f472831c8f20cf11a8c3345b6b56c8c",{"version":"8704423bf338bff381ebc951ed819935d0252d90cd6de7dffe5b0a5debb65d07","affectsGlobalScope":true},"b33379077284c9e55d2410d814b71b15522c5f71f9e93e15a8c3c41d463b00f6",{"version":"ab9b9a36e5284fd8d3bf2f7d5fcbc60052f25f27e4d20954782099282c60d23e","affectsGlobalScope":true},"a42be67ed1ddaec743582f41fc219db96a1b69719fccac6d1464321178d610fc","c663a7e4ee2cb54d99cf095479a5bcf1dd18d762ffdfa038aa1b2d79b070b0d7","5463c98206a890ea7a759fbcc97b0c042ab1a740b3e24037f7fbf40bae70a3c5","5bccd6ffc11fed820a432ac819200e6af38f8c3625e6eae0cf0f07ca85856392","f30cfcfff28ee8f87563225b47239bb07b9b11edd09dda0ea6499b18cca1a30e","0edb8a97ead1fefd337458449050857e80740e31a3f76cffa656262f4e651a50","6d2d14bb016a70a5ee1afb1cc7718d4369fb645979c725454c688f791ac7218f","8d7622e53b676dfd20828ba435649c217a5d9dee9cdc3713ee808fa2140513da","56558ae167446acf230ea2cc072a835309a37ae63d286b484308afd8c504c2d6","8510595d2ca2660e6407be65d8bf95f0c53877dbb812e269cdd980fc34de5f78",{"version":"d9411d8047fa05102fa6a7ac24678d912d7fa8cf5f977543cc1c68b6879db77d","signature":"7ad3e0aaeb840047fa4711306188cac803514091f251b6baecb9b2aacf15b976"},"6d268309f0e15dd820b2df9806234166554cb4e2fe00d11737adcb4e5489f700","58cf96187feb10cc8ad3bb080871cd30888ef63bc5db131f11458850ef8f6245","9102986ff52326a2016e8cddc1cf3092f0808ac916dcc8dc2d2c7195cd181987","fa82b7b22d9df87323e31e9e2ad75911028f3e544647fd212424b3c4452fee3f","01f20dac9dc14f0d306e5d1215c5c1c3b4d1805905e60ae92fabac4031eae7da","9ceec2a882368c0160a8a3879aa0efce0fb985751fc23ff6191006030969cfa4","cad5d6451789234434c28dd2d6a8267b0d64c479b1ad267321faa31ba90d570b","d5197053be441d40f4d074185a40d461137c8fa8db9e00cceedf2d9ca6583157",{"version":"4b1cf17121265b05b91d5fc9ac0d65868fa3a6af314207a0e4fe9f5f4237836e","signature":"3cd33c37432c2de7bdd9f1d48b3ea4fd03afad4969cfc5ba88d81e6ed03f432c"},{"version":"bb3c6e08fd9ba9ecdff61464835611a6f4e3cfc481a93dbcca54955f1520b497","signature":"6db29cf7af1d68c8194d98f1c444cea3b30a2c65deda3428452efaa05717b81d"},{"version":"b372f7c0506cdd643db284d1236961d64af030b3620d5d24a37bd2838432294e","signature":"561ef05d7e369040c28800d878d7e6461af62e459460263e911d508f319c8d5d"},{"version":"99744299c6ed40a1e3cfcd196366e4637caa51d9e53f0d6ff2fd66b38bcc28d2","signature":"bfac3bc2fd0ea0309e070d9dd562c405792fbf921a2f6467dee37eb78888cfb6"},{"version":"17f0527913dd4534bcdabe77c0df3d60d4bd4369b42876eb7e051f698d182e67","signature":"a1b60bd2328318dcbec30bdf529dad31a13315ff2df60c8bd71630c58a575b06"},{"version":"13cfe6635f9c03a7e6cf8a2292bcb958a5472b61f8571b13d344223fa3b55341","signature":"a399dd9b73e4bbfbed2ad1c1259d707f5f147f40dc5e3eeb541bf0bf2da42b25"},{"version":"5de87c7f41b18c016a8a71fc368338bbebcdb08f48457c41f3d47e0454343c0e","signature":"8cc6a35806cd10d448b0f2ab01fe0b6194ca57fdaced2d71781b68e83c55bd88"},{"version":"8bcf62f57052931576536b09b50c9f1e777b0cbb87ccdc6afb1a53ec8517cca1","signature":"8f364fec0ef20506aa9cf00b5cd8b620c1c0389687b11a3a32b0b5d4716ad894"},{"version":"438a50f997e321d98f7f6b46407e2a46acc5de9550569ed2d82ad3245bf83548","signature":"5d11703e2c5d4dbe00bbe79f3bc864d178cf8d6ebccc2d1448ea29e93654f029"},{"version":"0b188566ea6bb7f4251794faba6d0534505f75e08af589c5ce2497a34435c56e","signature":"f4e82c91aac3b61f3ad04f11a44c5b79f724ff8a09281d0afa24a6624633ff25"},"ed849d616865076f44a41c87f27698f7cdf230290c44bafc71d7c2bc6919b202",{"version":"f27753c06cdb9072f8ff706d23c24bfabb0224e575debf10ea01b7c1efe1cf1c","signature":"7b8b9017156ef8bf3bbe42785fac8956e5c9869f4a494536d7f548a7c1c7d98a"},{"version":"1c8dbedbe10722901b2da628b22a26921b8d1b11bfaaa220117850263cabba6f","signature":"07c34d1f83dfc5746de4229e01f0cb4d388a9f128eab6beadb4ae1621ebb87c6"},{"version":"a8985c08f974af3ba240ad89d4a2e483678fdfa3ed0d2741a6e9ed67d57d12d4","signature":"763bb8df872cbb8783e29e19bd7a1dea0f88f7fd7398343af38be8509a65df82"},{"version":"a031e8f05e3d040582f30fdf02a2b92dcee98ec44adb1a974a27ea47b7f46561","signature":"1950f058bfb5c505c748f9282d279455393e01b4c8670e7cc550d4f05613f981"},{"version":"4aab28c4bd16b397705467cce237518b886147480bedf08416294ea503e2728e","signature":"372b3681eb9618821c0e0e10bcc775b838e45b51912b8998bc5ba035100dc9e5"},{"version":"2ea09bfb3c0bc2a8f2dde6bd453b616d03a4a0372e8de6ba41a163a5015cc97e","signature":"c286b410193495d067668bcdbd13ea3f3a39001edff02edee248babf2652e563"},"18e2ed308bb90cde2d3d2b4ed6de12abe41b6f73e321616176b7f258de3c2774","929fc31f7523aaa1d19735b77e637af06e58d76007648ec088ecfbec1521cbfe","a6eb23f2a83113ce0ab7203bfda2be0888720f8d694a20abaef83b9f62832061","363dca5004ac5a3d9c2bba12812b97a64461911762f0b8f9320a8856ec53bcad","1447d46bff9e7c5c77da14515a7456ea5e919ce6e28f5e6746edf99818e4be47","557b8c7481296f4b7ed362320f3bbb40bb87404edf880c81224f365a8d1e17f3","283ed3d075bf7d3e8793f63b2a52f475ed84d95b7b6351c5d5bcc6c49d4b845b","7a6f74294b8fb90f5e3832be21e25898dd81b2a1adc36dda6929813ba4135311","89a5d8e15c48814223e8c3abc5dfc9cabbe36bce09d665dde5091729955ad663","5d40e6a7071d0d1e6e558e17214ff786ecb3ea73e31b25a88c2cbe2435fa1252","3931f0e7d90c0c6b3b52d5010c6f7156adcfcbb54f2325774135d77640df36c0","60cbc38a9b402c14c388a7254781752b279017b3adeb94b840dcbf4872a6a410","3d2ec84143e6462a786b5d9ecf06f4f6f67a59a1f16c5a3a5e41721ba8478b7f","96b8f393e636547f0477e387138cd7ca9a7c556343b89f446cfc5672dee5e643","2e34b7e7c07624978db18b34c8a528928a7c24bc4b047add3e9d90bdc49e267f","ba3f6f0ee47f46cdce55620aec5726de80e92a930982634afe9918c114c38f0b","6f38045547cdfd54ec19abcd943cace72c775fde739c5e0e1d917cf3030c16b5","6544dab49004fecb69a4ef775e9ad2773a6148b1f9bfd9b75508e3afa11f5d35","bd4c741820ec3574b7ed3b782c8d78034d6e4631d11997e701e6b955b86a87c1","e2dd36a524ea5b13de1ed104ede9cea79696588175c1df1940d6a29113a4aee0","ac63a01fcac70315fc9b416e9a57e568b18032c7cfcaa314e1751f03ef71286f","a878d4c7237a7af50e96534295fcf723134d70cbb1e9bfd8365266b912aee6ec",{"version":"74d37a17c3cdb67e03ede296c123bb0a4590f64614b6a303c857a50c76fd1f48","signature":"d5dc186100e52b4b8f97c9d09c6462cf6fa359a7d62d2403ebd596e843f68271"},{"version":"d26ee30a8f7c1bfe0b9954618224c24412832c8a91add7aa80d6fdf2a0a7745a","signature":"387e1f9577d2a83aca689b6abf6e3e86abae87f578e8788635baeb675f13e1df"},{"version":"51cb9f385c5ae02d228005eaabded3a1e9b51ee78cbae0a4f172f6ff9c3c8fc0","signature":"2ad4a77b1a4c9215f0391871d4da4afc3f23b1a813147a13ca9b3ad8ff85bd85"},{"version":"579945f69bb73bdbc126af5b84d68012733084dfb2e81bf178338e4567c46838","signature":"f88e179eb581dd7c9e8da094cd3505e7708ec9f973854b5d3c60ecaf3ebaa6b9"},{"version":"a6219ab754d1c77302f2fc9fe3437aa0dff7ba7dc614e38691f9d47e838536cc","signature":"85d9b79d06f74b9da7c0572065e3e71f5184e88523049dc61f2f31e1570fbb5f"},{"version":"0d2671b56be9f27055595b2f52a2b5ea130dbab296e0963a63aadc8f7416a5b3","signature":"27d091afaec0fb41ee0186f689a2f4be48f898600ee063a296b04a8cfea8429e"},"cc9ac6b245413dc56348b6c588ef2371e5d2f2179c62f272880ac41d36fba11f","130e4655e30a6d7a8004566642e24bf3016b5e5a2e5dcd72c0a61b663f7df711",{"version":"612f4324198c98cc596d05dbd8e02c93e64c19bf81d74ed44e2e3bc26c7a3dc3","signature":"62aba97d8d0ff6caa48694bc249de47bb92ad690ea5357ce3d8e44c44d186607"},"603177107b8f7d1e5b993470f4cdec86b61d48a052c5c12e51e340b93531334e","3fff2e6159326d7dbb59c163736a0c522f1cbba6730dc01823a973452666fccd","6a445cf1acf23219aac91c5909f5c338b9408fb7ae6467a434f0e15eff913814","6aa9a466f775ad6d8d48a4d69eac063e4ed47365dfa7aec82a8b554b70938bb4","c1dba063181dfe84123cc9e8afdb0e5a20a0ec72300def7786447499b67a61ff","fba062292ee802cb4f5de98f6f7fe10727fa0f3b8b5dfc5bc0ccb8f77a33ca4d",{"version":"35aed20164f7e1e9c8fa0e0dbe6c4baaf2042459251caba0d532af216af8cd7e","signature":"d67e678d1a4372e83c689185fe828ca49262a16ecdc9f53f9d0b190b26fb0ecc"},{"version":"65be30c9d1273048c3a137fcd7f88bcc584a3ce4b09a11f2c88e470057fe5cc8","signature":"ec9395ba50d412a16586a6951264ce0fad2e77d5be49f9b0b7d8c500d3fb8078"},"af89ab13b40dd28cd91818fc6329914d2b9663591831f032ff0f0cb4a028d4a5","63007f1618ada5041fb3b47630b64a9987d268bf740dd72334c38b5d23f5239b","3395f90467d2bb9db039a5c22ed6659ca2ff6f0b4f7ee5f223b0f77288f54ea7","20df2907d398e369d49e8906d6e0f096c465501e9ceff9d61293bf0f4e9020f1","302aa8248dab7c689c103162e542224aa7f3b0db46e29d0fb468fac721cf1c41","ea0a3bb69845621165c21e80ebb0d2b28dad22cd9920564516ce8e927a828f79","6a81475a67505af60be3242841c65ce4bf6d0b624d8b3fada646ba459a3eaad8","6834dd6cc060648604278cdb920a9316fa916e9116134b17dfad90e42800ca47","19fba62f1aab90f0110738261ed8bc1da82c89433fc43265f14870d4380d10b8","fbb2df54f4778b4d691bbc7c0a6e1e241dfffaca19f443cc9f230f450458bf89","da98d8109f379be48d459a6821ebd7cc728af62557e1c44f864e04360686af93","ef6e6d838cc600162626a53167046484f38e9a4bab9454e72350bed76c497228","cfe60041768a999abb3287444372ffedc9589ba9ba449548226b17a6da46ce35","c8b50ecedc9ff1b0e83c96f0a334d022874199f7c2d00d182ca6672176b0ea9d","b66ede73039e8751e06e3cab843e5a4265c1124a3285c3d854092c37a966b1f5",{"version":"6495e1160ae7950f8d5743202dbe8b87b5bfa2a594fe6dee2b7579cc7f299517","signature":"5456ba18b24c4a9a77f123c3a794df7a9023f0e8f9a6666b5ed31a939734a7a6"},{"version":"bce6042b814db95d7da4bdf53cc3010ac7f09330d20509523450e33387d9132e","signature":"d324925dc9b0f2349ea9c38e8cd0fc151f5520a02a7a44b50d4becac60d827ea"},"1f63ac6272e4d2d43cb25552b4ed8a89ffc86244ea655f685e8e3685433c7b23","91351db4fac763d38a774a29f00ffcaf186a88ef7a8d487acb9e03577d5fc8bc","094be99dc9410d3cb517ba523ae031864c5e258a3904ed8058773672768c2c6c","fafe1e5b2114bc57a6da341cad2bb44298543caa3fd7680e6bb0f29215048aa2","841f7ca2af7f4d9cca1f9fa2288a4849fc9d49ca15b47336892efd06a14dd1d8","796eea44840b57d4c6741d119d767c5ea294fdf610151158fd0a2f236cf21367","309ab701fcc8aa7f3c9b53fe84cb5ef7cbd579888de19423c8fc54402be9e8d9","5ad6d882be6f8e602795bc0bd0fac7806b16ba7715be494fe0279e2c5e3e23c0","596ab45ef67fa8dae4996a2a61dc5055ae2b3dc5102cf3b43ee7965a7088943b","a3f9f52ce73700565c8d9ba2aa75823ab8fc8e7258a27ecb828cd4257b8f918d","5f4884638ab10b753ec0c7406916fc746bb99cc0044b9a4a67b2006b7e57e8af","4b5603a1ccca455500cfb39517d41ec011f31ba84bb6de44473344a237d89168",{"version":"6a9eb9c5d3f7474937973fe4b0a9e53025634c2e39118eda436d89f3e9df976f","affectsGlobalScope":true},{"version":"86e56d97b13ef0a58bc9c59aee782ae7d47d63802b5b32129ec5e5d62c20dbfa","affectsGlobalScope":true},{"version":"c1f79c6d85cd84518fd7349588b3c61bdc189f58e3866f925cbf4631c81e31f9","affectsGlobalScope":true},{"version":"54db406753da16e177f094aa66da79840f447de6d87ddd1543a80c9418c52545","affectsGlobalScope":true},{"version":"42f28f4cfca4a70bd89c1d55d76c7978275030b894f6793f36890265c11a83a4","affectsGlobalScope":true},{"version":"7cf1027da9599f056355b46bbea31dbf7f715f797dffb9cbb3402d4490c503e5","affectsGlobalScope":true},"96dbd0787b57ae02981d26d5f2441f0f8444fb46d7578c56527eab89cff13a7d","68f02ba57c531227ef5804dd57f2e940b10c544c96dadd3c0ef958ba4b6fdbc1","91764b36fe5e1c5d688f5f90eeea47703a059ab9a81bf80f7bbc9b04507b7bd3","115327b8e1f68c03004d841b83e332ed16b8f48af59ac00f38313887d7ec2920","adb5ad16c19ff8dbfa9daa3a7dc8e1b039c381a2b94383144a53368681ad8ca0","a1f708ddf34053065f8f53682123421af299cee37ae110a86ba07851adf940da","395e6fa1fc8f46f827a5f7d3b7dabc836627ae57e41338f93c221b88d4978f15","749effab6d7e72df8d126868c82b8166cdde84d48453e44f65cbad42ad900b06","11705a4aad6e2e724b82ffee6c4fa271d798f0fb68806ace4b1c425c266f8d98","d68afd5ea85e35c4c4e8995e55f10d6861439ea9dc2666293c0cf4124bf56f32","d626f2c25d5d6daddb082576771a8e7b591233a7893a1739513c44f35a3f7489","7c59943d77166c1aecd731af8683a7b5a0984e1bc0427fa35be504d77c41fdcd","89dd83418d3c93418929123f21a02434537b5c79ede3c0c6ab5a495d602db155","8b1b666fe96fd9e713f1279a3e446f16ee824f46ca0c2c075e4e89f0b1258e6c","6aecbb60c2216da24acb86490f7c6270a820fd85424c8a509e3d284aa47f7a56","d357e56d630bcd0f63cfc678e306702555b4f791c2d8e07f037de39171be4cd3","238f87de951ed064c7ec3e30a987f386d4821bacfc8c7548cdccf848b8b6035c","a93ae01c9ed49ba423599144ffa3cd520db83e53b32471865905a65113bb3e59","6088973936033e869d3616b63d25c15363862b491f46af77d40a5215ee8cc1a8","9a4b7c467be504c4500cf6e54b0a3b8afdfbe0ed2c1da640202f44a7cef721b2","6de78fade656d64b03de50a84597d74c76e3ff5436a7ad082d01ce1d74099bf8","7d2a0ba1297be385a89b5515b88cd31b4a1eeef5236f710166dc1b36b1741e1b","9d92b037978bb9525bc4b673ebddd443277542e010c0aef019c03a170ccdaa73","54384a11c0f6ca8d5d8bab90d4bdab2c722aa8676a716340eb08082a02ca9ad6",{"version":"9253f5aa9552bf74e567cf957c0d019e3175cfaf39806d1e237bb6ac1030de37","signature":"c690e95d11aff99412d1ca20b622b02cb1603b032162a09621d7b0279a42b68e"},{"version":"f9c64057681304a919f6f6e8c5c102682d5f83cdd88c3227b6848e6dc59b7b90","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},"a62a02c433e6fee26404825310ad462433320ef2e9f80fa7b9156135fd975f8f","22f15ae5c80b3e795da92636aa03d8f981811d067d82bff01ca54093c0535ec0","b56d4bc83ec01834829979ad57de59b4947cd62f71b102ab0040b6960d5bdc81","a10213415bf98670b026b77a90c7933594f0b5c34bde5b74e80134fdf0331bba",{"version":"ebeb47324e6f4c9ce1e1aae7bee0383907e554b45dc5efd6cc02570e2f04dec4","signature":"b6d8db2aba9da17434e5b89238a83f61c4351117eb983386099cb2da471e3fc0"},{"version":"0229ccedabd55ed02687fb1c7f0754a4b3e492dd962abe84c693734a25d383d6","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"f57a831a821c73281c1a1ff6aea7a77979a935c38dd054b6bb0d17d5a88de16f","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},"5bca2169d85cde638dc45542bb3674c42e5a0eea70ac2737cb48848a0c9e10b4","3319e44b7252ab86cf9e519b9bdf95ac5a2cacfb859fecf2fee171ce1c0a35b5",{"version":"bdb020c4b9eafeed0f0dab872b2dc231d048a024638f5ab8643427b04aca8a60","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},"27679e96d1bd38c5938178aaf4abe8627493090b63d6bae2ce8436e6a87ebe4d","136f00f14878a614113b221f2797dd7f5a7fb2220f95cbbbc390a85675f991c0","b04de4c5a5e9e0cc6b6b3d99b0e046705d9226fc384cb89c73014b2be4a84417","af4eea486904e256eb4e3a79c21355b9b065298952e9f2a0a921e8d75168f4a7","1841e57d29c33dd1798d82ceca05b7a95430b7976f14dabd4bcf81f6d114f235","cd4ee8e901877e80dcb0d073d489cb18a512993164a531332b88279c0874664e","db4d7c9c5038c75e1df338d780a6c06c79589b5105f138dd29b62310aab749fe","b056f955c85dd0eb196ff290138eb4a83787c3f413505b9ae2676a602be7d40d","02f124f948535d4bbf50970ed38a8adb34c8c4289148fb0e6287eef4d86a0be5","27573b15894c6311146838fa3b45786bacc013a4bca6c84adc1b11a4e7c8a4c0","510616459e6edd01acbce333fb256e06bdffdad43ca233a9090164bf8bb83912","3725da27619321470183eb7dd61190b139e5bcc4cf9366d6d828906a76e31742",{"version":"ce087b0720c7ce0a245417efa7f1caa632389735cd8c08fbd91648e89289f5ed","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"9be82644fc4fc7001ada3237cc7039ecbd01de6f46d5eaef7f45dc3b332bf632","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"e37a60516fbd37a8e1b5754e0c4d83dcdebf8caa69af9e2f85128d2ad3a14671","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"badc99c99a2a4937bbc9c0b45d1fe87fdb76de541ecc4df06190c6b176576a26","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"57cc9477892b65bc1ac29fe692bf94b09e99a4aef71de4ad43deba65d517fd4e","signature":"e8e1588ea2f394850673db82c023d00334ee1adc8020f878dec1397f29599310"},{"version":"be6841ef527743e78855852946f910a72c13a7c958e3b23291623c3b473039e4","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"e9de90ec37c779c529f4ed850b6061e7614f656a3e9b28d58da922d25abc001f","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"28edc4982430b64f209794844087f5211a7a10e69b923f08b26496032901425a","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"fcc9bfbc389ea5ba817d368038a8d11f8c30f3e92ec89722503fbe088602ed17","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"b38fb980b2970ce5ee0961f36fc1caf8b021a9d93bdef7375936cbcc701f2afe","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"dc00f4ea8deeeeda44f2ada171bdb3e225a35d47d2995133bd6b0692d15fd965","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"2e5bc0aaa314127b7a9eb69781d884e83778aa1ab188c39fa44ca915848862d5","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"37abf966f15aea02fef48da8fb22a179f24cd0bbe365d44e1925d6496d722adb","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},"4ef576c5a52f34423f6328a6834c6fc874c6683a0626c0f21d6b2209f460dffd","7b195dbf43d2194d18627fe3e190979b5bd2f0752001193260c89b01c36460e2","7350c835566c20d980134ad870a072daa93754c6b65d602a46f2bc2e2ae12165","ee9b614565fe2e96c3202c092ea4e4bc902f51d1508bf8015d8f2275686ab040","f6f278c43d4e70fe1abb2c826a0b1c1ea7c4f6ff50b272aacdda3b39c51f4d61","c4e851542f10b993f5eff6dc91f4ca474e570b7c4c4098ebc4bb3ec84528504e","e86f647e06504800fe4b635e5f4a208d9518a47d317e55735764d4261957f1a0","5ccc3c7f73ef48c223635cd4506f21133560de7abc4c09c623327bb1b54386dc",{"version":"68e64f59387b867ac2095c6703ae2b29cf9238182c0d2f6c819c137c7b7e477c","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"21af2545d0971da878ee5759ecfabcd607bb4c2c7e37f6e8bdf1e9afa7c2cb09","signature":"cef616486b509f32ffa4cfc089081383e016ce41b2be7c3feabcb93a0de727d6"},{"version":"13181ae8f64d6d1c1845f8e57a4e1e52dc72993bd3a439360ae135f45992377d","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"a47dab43c145ad4ac232acd1d87313adbf913f0457947fa82759f97318df54f5","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"b9369fb6d4997b2aa16b9e736c7816cc35a8d1f60dc9a09592bb5e9654597ca6","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},"66336b5a5d5e897e932cbf1e306ff8ac8a9929971409a8049c8c8a249cd8b57c",{"version":"92cea114cd7f8323105dfed55e06ea98770ceae98facf77e1815c70cef032e50","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"5b31a8edcc52ba5af5085fa8477f51fb723d0c2f71edb5e648ec24c1ba0a1f72","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},"42baf4ca38c38deaf411ea73f37bc39ff56c6e5c761a968b64ac1b25c92b5cd8","d7dbe0ad36bdca8a6ecf143422a48e72cc8927bab7b23a1a2485c2f78a7022c6","8718fa41d7cf4aa91de4e8f164c90f88e0bf343aa92a1b9b725a9c675c64e16b","f992cd6cc0bcbaa4e6c810468c90f2d8595f8c6c3cf050c806397d3de8585562","68cc8d6fcc2f270d7108f02f3ebc59480a54615be3e09a47e14527f349e9d53e","3eb11dbf3489064a47a2e1cf9d261b1f100ef0b3b50ffca6c44dd99d6dd81ac1","bc222163edcb8df6ba9b506d053d6c5afcae50e85695151cf4636a3107deaba9","035a5df183489c2e22f3cf59fc1ed2b043d27f357eecc0eb8d8e840059d44245","f3d8c757e148ad968f0d98697987db363070abada5f503da3c06aefd9d4248c1","96d14f21b7652903852eef49379d04dbda28c16ed36468f8c9fa08f7c14c9538","fec943fdb3275eb6e006b35e04a8e2e99e9adf3f4b969ddf15315ac7575a93e4","742f21debb3937c3839a63245648238555bdab1ea095d43fd10c88a64029bf76","7cfdf3b9a5ba934a058bfc9390c074104dc7223b7e3c16fd5335206d789bc3d3","0944f27ebff4b20646b71e7e3faaaae50a6debd40bc63e225de1320dd15c5795","5d30565583300c9256072a013ac0318cc603ff769b4c5cafc222394ea93963e1","8a7219b41d3c1c93f3f3b779146f313efade2404eeece88dcd366df7e2364977","a109c4289d59d9019cfe1eeab506fe57817ee549499b02a83a7e9d3bdf662d63","89121c1bf2990f5219bfd802a3e7fc557de447c62058d6af68d6b6348d64499a","d4a22007b481fe2a2e6bfd3a42c00cd62d41edb36d30fc4697df2692e9891fc8","8841e2aa774b89bd23302dede20663306dc1b9902431ac64b24be8b8d0e3f649","fbca5ffaebf282ec3cdac47b0d1d4a138a8b0bb32105251a38acb235087d3318",{"version":"90ebf5865e27d8966ef44b073e6e83b0ddd45058bab1d58b1e4b5a47d36396c4","affectsGlobalScope":true},"cb482592bfcbdfcefa8d155590399e8bff66277e60e17bfada7c2f31322e7b87","22293bd6fa12747929f8dfca3ec1684a3fe08638aa18023dd286ab337e88a592","916be7d770b0ae0406be9486ac12eb9825f21514961dd050594c4b250617d5a8","cf3d384d082b933d987c4e2fe7bfb8710adfd9dc8155190056ed6695a25a559e","9871b7ee672bc16c78833bdab3052615834b08375cb144e4d2cba74473f4a589","c863198dae89420f3c552b5a03da6ed6d0acfa3807a64772b895db624b0de707","8b03a5e327d7db67112ebbc93b4f744133eda2c1743dbb0a990c61a8007823ef","86c73f2ee1752bac8eeeece234fd05dfcf0637a4fbd8032e4f5f43102faa8eec","42fad1f540271e35ca37cecda12c4ce2eef27f0f5cf0f8dd761d723c744d3159","ff3743a5de32bee10906aff63d1de726f6a7fd6ee2da4b8229054dfa69de2c34","83acd370f7f84f203e71ebba33ba61b7f1291ca027d7f9a662c6307d74e4ac22","1445cec898f90bdd18b2949b9590b3c012f5b7e1804e6e329fb0fe053946d5ec","0e5318ec2275d8da858b541920d9306650ae6ac8012f0e872fe66eb50321a669","cf530297c3fb3a92ec9591dd4fa229d58b5981e45fe6702a0bd2bea53a5e59be","c1f6f7d08d42148ddfe164d36d7aba91f467dbcb3caa715966ff95f55048b3a4","f4e9bf9103191ef3b3612d3ec0044ca4044ca5be27711fe648ada06fad4bcc85","0c1ee27b8f6a00097c2d6d91a21ee4d096ab52c1e28350f6362542b55380059a","7677d5b0db9e020d3017720f853ba18f415219fb3a9597343b1b1012cfd699f7","bc1c6bc119c1784b1a2be6d9c47addec0d83ef0d52c8fbe1f14a51b4dfffc675","52cf2ce99c2a23de70225e252e9822a22b4e0adb82643ab0b710858810e00bf1","770625067bb27a20b9826255a8d47b6b5b0a2d3dfcbd21f89904c731f671ba77","d1ed6765f4d7906a05968fb5cd6d1db8afa14dbe512a4884e8ea5c0f5e142c80","799c0f1b07c092626cf1efd71d459997635911bb5f7fc1196efe449bba87e965","2a184e4462b9914a30b1b5c41cf80c6d3428f17b20d3afb711fff3f0644001fd","9eabde32a3aa5d80de34af2c2206cdc3ee094c6504a8d0c2d6d20c7c179503cc","397c8051b6cfcb48aa22656f0faca2553c5f56187262135162ee79d2b2f6c966","a8ead142e0c87dcd5dc130eba1f8eeed506b08952d905c47621dc2f583b1bff9","a02f10ea5f73130efca046429254a4e3c06b5475baecc8f7b99a0014731be8b3","c2576a4083232b0e2d9bd06875dd43d371dee2e090325a9eac0133fd5650c1cb","4c9a0564bb317349de6a24eb4efea8bb79898fa72ad63a1809165f5bd42970dd","f40ac11d8859092d20f953aae14ba967282c3bb056431a37fced1866ec7a2681","cc11e9e79d4746cc59e0e17473a59d6f104692fd0eeea1bdb2e206eabed83b03","b444a410d34fb5e98aa5ee2b381362044f4884652e8bc8a11c8fe14bbd85518e","c35808c1f5e16d2c571aa65067e3cb95afeff843b259ecfa2fc107a9519b5392","14d5dc055143e941c8743c6a21fa459f961cbc3deedf1bfe47b11587ca4b3ef5","a3ad4e1fc542751005267d50a6298e6765928c0c3a8dce1572f2ba6ca518661c","f237e7c97a3a89f4591afd49ecb3bd8d14f51a1c4adc8fcae3430febedff5eb6","3ffdfbec93b7aed71082af62b8c3e0cc71261cc68d796665faa1e91604fbae8f","662201f943ed45b1ad600d03a90dffe20841e725203ced8b708c91fcd7f9379a","c9ef74c64ed051ea5b958621e7fb853fe3b56e8787c1587aefc6ea988b3c7e79","2462ccfac5f3375794b861abaa81da380f1bbd9401de59ffa43119a0b644253d","34baf65cfee92f110d6653322e2120c2d368ee64b3c7981dff08ed105c4f19b0","7d8ddf0f021c53099e34ee831a06c394d50371816caa98684812f089b4c6b3d4",{"version":"525b52b38b44420fb1758c0917e7b67cf379f7f9477d2ba7343f3d5f50a44258","affectsGlobalScope":true},"4006c872e38a2c4e09c593bc0cdd32b7b4f5c4843910bea0def631c483fff6c5","ab6aa3a65d473871ee093e3b7b71ed0f9c69e07d1d4295f45c9efd91a771241d","bae8d023ef6b23df7da26f51cea44321f95817c190342a36882e93b80d07a960","26a770cec4bd2e7dbba95c6e536390fffe83c6268b78974a93727903b515c4e7","74d5a87c3616cd5d8691059d531504403aa857e09cbaecb1c64dfb9ace0db185"],"root":[65,66,208,[217,226],[228,233],[256,261],264,271,272,288,289,332,333,[338,340],343,[356,368],[377,381],383,384],"options":{"allowJs":true,"checkJs":true,"composite":true,"declaration":true,"declarationMap":true,"emitDeclarationOnly":false,"esModuleInterop":true,"importsNotUsedAsValues":0,"module":7,"noEmitOnError":true,"noFallthroughCasesInSwitch":true,"noImplicitReturns":true,"noUnusedLocals":true,"noUnusedParameters":false,"outDir":"./","removeComments":false,"skipLibCheck":true,"sourceMap":true,"strict":true,"stripInternal":true,"target":9,"useUnknownInCatchVariables":true},"fileIdsList":[[334,336],[335],[265,266,267,268],[372],[370,371],[370],[369],[234,244,245,246],[241],[200,240,242,243],[72,200,349,350,351],[200],[84,200,287],[72,85,200,287],[72,85],[290,291,292,293,296,297,298,299,300],[72,84,85,200],[102,200,295],[200,287],[200,287,341],[84],[79,84,200,281],[273,282,283,284,285,286],[72,200],[79,84,200],[72,74,85,86,200],[74,84,86],[72,74,84,85,200],[71,87,200],[160,198],[73,74,79,84,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,103,104,105,199],[69,71,72],[86],[87,89],[69,71,73],[74,84],[74,87,200],[73,74,84],[72,73,74,86,89,102],[72,73],[72,85,86,200],[74,86],[79,84,86,89,96,200],[274,275,276,277,278,279,280],[200,276],[200,274],[200,275],[69,71,200],[84,200,316],[72,200,281,287,348],[72,85,200,294],[78,79],[78],[76,77,80],[84,269],[75,80,82,83],[80,82,84],[81,84],[160,163,190,198,385,386,387],[302],[389],[198],[396],[397,399],[400],[402],[398],[106],[147],[148,153,182],[149,154,160,161,168,179,190],[149,150,160,168],[151,191],[152,153,161,169],[153,179,187],[154,156,160,168],[147,155],[156,157],[160],[158,160],[147,160],[160,161,162,179,190],[160,161,162,175,179,182],[145,148,195],[156,160,163,168,179,190],[160,161,163,164,168,179,187,190],[163,165,179,187,190],[106,107,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197],[160,166],[167,190,195],[156,160,168,179],[169],[170],[147,171],[106,107,147,148,149,150,151,152,153,154,155,156,157,158,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196],[173],[174],[160,175,176],[175,177,191,193],[148,160,179,180,181,182],[148,179,181],[179,180],[182],[183],[106,179],[160,185,186],[185,186],[153,168,179,187],[188],[168,189],[148,163,174,190],[153,191],[179,192],[167,193],[194],[148,153,160,162,171,179,190,193,195],[179,196],[163,179,198],[410,449],[410,434,449],[449],[410],[410,435,449],[410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448],[435,449],[302,330],[329],[453],[160,179,198],[85,374],[302,303,304,305,306,307],[302,303],[316,320],[316,318,319,321,322,323,324,325,326,327],[316,320,321,328],[313,316,320,321],[316,320,321],[316,320,323],[316,328],[313,315],[255],[314],[72,85,203,205],[72,85,205],[72,202,204],[85],[67],[240,249,250,251],[70,71],[70],[68],[238],[69],[69,207],[236],[71,207,235,236,237,239],[67,68,69,70,238],[67,68,69],[310],[344,345,346,347],[345],[345,346],[354],[216],[209],[72,209],[209,210,211,212,213,214,215],[72,216],[330],[253],[240,252],[117,121,190],[117,179,190],[112],[114,117,187,190],[168,187],[112,198],[114,117,168,190],[109,110,113,116,148,160,179,190],[117,124],[109,115],[117,138,139],[113,117,148,182,190,198],[148,198],[138,148,198],[111,112,198],[117],[111,112,113,114,115,116,117,118,119,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,139,140,141,142,143,144],[117,132],[117,124,125],[115,117,125,126],[116],[109,112,117],[117,121,125,126],[121],[115,117,120,190],[109,114,117,124],[148,179],[112,117,138,148,195,198],[65,66,72,84,102,200,201,205,206,207,208,217,218,219,222,224,230,231,232,233,256,257,260,261,264,271,272,287],[217,218],[217],[200,217,218,221],[223,225],[221,223,229],[66,227],[200,220],[200,218,222,223,224,225,226,228],[218],[72,102,200,205,206],[218,222],[84,200,217],[200,201,207,217,218,244,247,248,254,255],[258,259,260],[200,262,263],[84,270],[200,218,244],[200,254,255,301,308,309,311,312,332],[200,201,244,287,288,294,308,330,331,338],[200,301,308,311,332],[206,373,375,376],[254,308,332,373,378],[153,217,373],[272,373],[200,288,294,317,328,342],[66,200,217,223,254,301,308,312,332,352,353,355,360,378,382],[200,254,301,308,311,332,352,353,355],[66,200,201,244,254,287,288,294,301,308,311,330,331,332],[66,200,301,308,311,332],[66,200,301,308,311,332,353],[217,218,219,254,259,262,308,360],[66,230,308],[230,308],[201,218,222,223,225,230,244,294,308,330,353,360],[201,222,230,231,244,294,308],[272,308,330],[66,201,233,244,259,308,353,360],[224,308],[160,200,201,244,287,288,294,301,317,328,331],[200,288,308,312,332],[200,201,217,218,244,254,338],[217,254,259,337],[65,200,208,217,218,219,222,230,232,233,287],[227],[200,217,218],[200,218],[200,288],[200,288,332],[200,217,218,338]],"referencedMap":[[337,1],[336,2],[269,3],[373,4],[372,5],[371,6],[370,7],[247,8],[242,9],[244,10],[243,9],[352,11],[290,12],[291,13],[292,14],[299,15],[301,16],[300,12],[293,17],[296,18],[297,19],[298,19],[342,20],[273,21],[282,22],[287,23],[283,12],[284,24],[285,12],[286,25],[98,26],[99,27],[86,28],[88,29],[199,30],[200,31],[73,32],[90,33],[100,34],[74,35],[87,36],[91,37],[92,38],[103,39],[104,40],[94,33],[96,41],[95,42],[97,43],[294,12],[277,12],[281,44],[276,12],[274,12],[275,12],[280,45],[278,46],[279,47],[201,48],[317,49],[349,50],[262,12],[295,51],[80,52],[77,53],[76,53],[78,54],[270,55],[83,21],[84,56],[75,21],[81,57],[82,58],[388,59],[303,60],[307,60],[305,60],[390,61],[391,62],[395,30],[397,63],[400,64],[401,65],[403,66],[399,67],[106,68],[107,68],[147,69],[148,70],[149,71],[150,72],[151,73],[152,74],[153,75],[154,76],[155,77],[156,78],[157,78],[159,79],[158,80],[160,81],[161,82],[162,83],[146,84],[163,85],[164,86],[165,87],[198,88],[166,89],[167,90],[168,91],[169,92],[170,93],[171,94],[172,95],[173,96],[174,97],[175,98],[176,98],[177,99],[179,100],[181,101],[180,102],[182,103],[183,104],[184,105],[185,106],[186,107],[187,108],[188,109],[189,110],[190,111],[191,112],[192,113],[193,114],[194,115],[195,116],[196,117],[387,118],[434,119],[435,120],[410,121],[413,121],[432,119],[433,119],[423,119],[422,122],[420,119],[415,119],[428,119],[426,119],[430,119],[414,119],[427,119],[431,119],[416,119],[417,119],[429,119],[411,119],[418,119],[419,119],[421,119],[425,119],[436,123],[424,119],[412,119],[449,124],[443,123],[445,125],[444,123],[437,123],[438,123],[440,123],[442,123],[446,125],[447,125],[439,125],[441,125],[450,126],[330,127],[454,128],[455,129],[375,130],[308,131],[306,60],[304,132],[321,133],[328,134],[323,135],[322,136],[325,137],[327,138],[319,139],[324,135],[326,137],[316,140],[313,141],[315,142],[204,143],[202,144],[205,145],[206,146],[203,15],[385,79],[251,147],[252,148],[68,149],[71,150],[238,151],[249,152],[250,152],[207,153],[236,154],[263,155],[240,156],[239,157],[70,158],[311,159],[348,160],[346,161],[347,162],[355,163],[312,159],[209,164],[212,165],[213,165],[210,166],[211,165],[216,167],[214,168],[215,164],[331,169],[254,170],[255,170],[253,171],[124,172],[134,173],[123,172],[144,174],[115,175],[114,176],[143,62],[137,177],[142,178],[117,179],[131,180],[116,181],[140,182],[112,183],[111,184],[141,185],[113,186],[118,187],[122,187],[145,188],[135,189],[126,190],[127,191],[129,192],[125,193],[128,194],[138,62],[120,195],[121,196],[130,197],[110,198],[133,189],[132,187],[139,199],[288,200],[219,201],[289,202],[217,168],[222,203],[226,204],[230,205],[228,206],[223,207],[221,207],[229,208],[225,209],[231,204],[232,210],[233,211],[218,212],[256,213],[257,202],[261,214],[259,141],[264,215],[271,216],[260,217],[333,218],[339,219],[340,220],[377,221],[379,222],[380,223],[381,224],[343,225],[383,226],[356,227],[357,228],[358,229],[359,230],[361,231],[362,232],[363,233],[364,234],[365,235],[366,220],[367,236],[368,237],[384,238],[332,239],[378,240],[360,241],[338,242]],"exportedModulesMap":[[337,1],[336,2],[269,3],[373,4],[372,5],[371,6],[370,7],[247,8],[242,9],[244,10],[243,9],[352,11],[290,12],[291,13],[292,14],[299,15],[301,16],[300,12],[293,17],[296,18],[297,19],[298,19],[342,20],[273,21],[282,22],[287,23],[283,12],[284,24],[285,12],[286,25],[98,26],[99,27],[86,28],[88,29],[199,30],[200,31],[73,32],[90,33],[100,34],[74,35],[87,36],[91,37],[92,38],[103,39],[104,40],[94,33],[96,41],[95,42],[97,43],[294,12],[277,12],[281,44],[276,12],[274,12],[275,12],[280,45],[278,46],[279,47],[201,48],[317,49],[349,50],[262,12],[295,51],[80,52],[77,53],[76,53],[78,54],[270,55],[83,21],[84,56],[75,21],[81,57],[82,58],[388,59],[303,60],[307,60],[305,60],[390,61],[391,62],[395,30],[397,63],[400,64],[401,65],[403,66],[399,67],[106,68],[107,68],[147,69],[148,70],[149,71],[150,72],[151,73],[152,74],[153,75],[154,76],[155,77],[156,78],[157,78],[159,79],[158,80],[160,81],[161,82],[162,83],[146,84],[163,85],[164,86],[165,87],[198,88],[166,89],[167,90],[168,91],[169,92],[170,93],[171,94],[172,95],[173,96],[174,97],[175,98],[176,98],[177,99],[179,100],[181,101],[180,102],[182,103],[183,104],[184,105],[185,106],[186,107],[187,108],[188,109],[189,110],[190,111],[191,112],[192,113],[193,114],[194,115],[195,116],[196,117],[387,118],[434,119],[435,120],[410,121],[413,121],[432,119],[433,119],[423,119],[422,122],[420,119],[415,119],[428,119],[426,119],[430,119],[414,119],[427,119],[431,119],[416,119],[417,119],[429,119],[411,119],[418,119],[419,119],[421,119],[425,119],[436,123],[424,119],[412,119],[449,124],[443,123],[445,125],[444,123],[437,123],[438,123],[440,123],[442,123],[446,125],[447,125],[439,125],[441,125],[450,126],[330,127],[454,128],[455,129],[375,130],[308,131],[306,60],[304,132],[321,133],[328,134],[323,135],[322,136],[325,137],[327,138],[319,139],[324,135],[326,137],[316,140],[313,141],[315,142],[204,143],[202,144],[205,145],[206,146],[203,15],[385,79],[251,147],[252,148],[68,149],[71,150],[238,151],[249,152],[250,152],[207,153],[236,154],[263,155],[240,156],[239,157],[70,158],[311,159],[348,160],[346,161],[347,162],[355,163],[312,159],[209,164],[212,165],[213,165],[210,166],[211,165],[216,167],[214,168],[215,164],[331,169],[254,170],[255,170],[253,171],[124,172],[134,173],[123,172],[144,174],[115,175],[114,176],[143,62],[137,177],[142,178],[117,179],[131,180],[116,181],[140,182],[112,183],[111,184],[141,185],[113,186],[118,187],[122,187],[145,188],[135,189],[126,190],[127,191],[129,192],[125,193],[128,194],[138,62],[120,195],[121,196],[130,197],[110,198],[133,189],[132,187],[139,199],[288,243],[219,201],[289,202],[217,168],[222,203],[226,204],[230,205],[228,244],[229,208],[225,209],[231,204],[232,24],[233,211],[218,212],[256,245],[257,202],[261,214],[264,12],[271,21],[260,246],[332,247],[378,248],[360,249],[338,202]],"semanticDiagnosticsPerFile":[334,337,336,335,268,269,266,267,265,373,372,371,370,369,234,247,242,244,241,243,245,246,350,351,352,341,290,291,292,299,301,300,293,296,297,298,342,273,282,287,283,284,285,286,98,99,86,88,105,89,199,200,73,90,100,74,87,91,92,101,103,104,93,94,96,95,97,294,277,281,276,274,275,280,278,279,201,317,349,262,295,80,77,76,78,270,83,84,75,81,82,388,303,307,305,302,390,391,386,392,393,394,395,396,397,400,401,403,398,399,404,405,406,389,407,106,107,147,148,149,150,151,152,153,154,155,156,157,159,158,160,161,162,146,197,163,164,165,198,166,167,168,169,170,171,172,173,174,175,176,177,178,179,181,180,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,408,409,387,354,434,435,410,413,432,433,423,422,420,415,428,426,430,414,427,431,416,417,429,411,418,419,421,425,436,424,412,449,448,443,445,444,437,438,440,442,446,447,439,441,450,330,329,451,452,402,453,454,455,374,375,308,108,306,304,321,318,328,323,322,325,327,319,324,326,353,227,344,316,313,314,315,320,376,204,202,205,206,102,203,85,385,251,67,252,68,235,71,238,249,250,207,236,69,263,240,239,70,237,309,311,348,346,347,345,355,310,312,79,209,212,213,210,211,216,214,215,331,63,64,11,12,15,14,2,16,17,18,19,20,21,22,23,3,24,4,25,29,26,27,28,30,31,32,5,33,34,35,36,6,40,37,38,39,41,7,42,47,48,43,44,45,46,8,52,49,50,51,53,9,54,55,56,59,57,58,60,61,10,1,62,13,72,248,382,254,255,253,124,134,123,144,115,114,143,137,142,117,131,116,140,112,111,141,113,118,119,122,109,145,135,126,127,129,125,128,138,120,121,130,110,133,132,136,139,65,66,288,219,208,289,217,222,226,220,230,228,223,221,229,225,231,232,233,218,256,257,261,259,264,271,260,224,258,272,333,339,340,377,379,380,381,343,383,356,357,358,359,361,362,363,364,365,366,367,368,384,332,378,360,338],"latestChangedDtsFile":"./test/unit/set.test.d.ts"},"version":"5.4.5"} ++{"program":{"fileNames":["../node_modules/typescript/lib/lib.es5.d.ts","../node_modules/typescript/lib/lib.es2015.d.ts","../node_modules/typescript/lib/lib.es2016.d.ts","../node_modules/typescript/lib/lib.es2017.d.ts","../node_modules/typescript/lib/lib.es2018.d.ts","../node_modules/typescript/lib/lib.es2019.d.ts","../node_modules/typescript/lib/lib.es2020.d.ts","../node_modules/typescript/lib/lib.es2021.d.ts","../node_modules/typescript/lib/lib.es2022.d.ts","../node_modules/typescript/lib/lib.es2023.d.ts","../node_modules/typescript/lib/lib.dom.d.ts","../node_modules/typescript/lib/lib.dom.iterable.d.ts","../node_modules/typescript/lib/lib.webworker.d.ts","../node_modules/typescript/lib/lib.es2015.core.d.ts","../node_modules/typescript/lib/lib.es2015.collection.d.ts","../node_modules/typescript/lib/lib.es2015.generator.d.ts","../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../node_modules/typescript/lib/lib.es2015.promise.d.ts","../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../node_modules/typescript/lib/lib.es2016.intl.d.ts","../node_modules/typescript/lib/lib.es2017.date.d.ts","../node_modules/typescript/lib/lib.es2017.object.d.ts","../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../node_modules/typescript/lib/lib.es2017.string.d.ts","../node_modules/typescript/lib/lib.es2017.intl.d.ts","../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../node_modules/typescript/lib/lib.es2018.intl.d.ts","../node_modules/typescript/lib/lib.es2018.promise.d.ts","../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../node_modules/typescript/lib/lib.es2019.array.d.ts","../node_modules/typescript/lib/lib.es2019.object.d.ts","../node_modules/typescript/lib/lib.es2019.string.d.ts","../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../node_modules/typescript/lib/lib.es2019.intl.d.ts","../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../node_modules/typescript/lib/lib.es2020.date.d.ts","../node_modules/typescript/lib/lib.es2020.promise.d.ts","../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../node_modules/typescript/lib/lib.es2020.string.d.ts","../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../node_modules/typescript/lib/lib.es2020.intl.d.ts","../node_modules/typescript/lib/lib.es2020.number.d.ts","../node_modules/typescript/lib/lib.es2021.promise.d.ts","../node_modules/typescript/lib/lib.es2021.string.d.ts","../node_modules/typescript/lib/lib.es2021.weakref.d.ts","../node_modules/typescript/lib/lib.es2021.intl.d.ts","../node_modules/typescript/lib/lib.es2022.array.d.ts","../node_modules/typescript/lib/lib.es2022.error.d.ts","../node_modules/typescript/lib/lib.es2022.intl.d.ts","../node_modules/typescript/lib/lib.es2022.object.d.ts","../node_modules/typescript/lib/lib.es2022.sharedmemory.d.ts","../node_modules/typescript/lib/lib.es2022.string.d.ts","../node_modules/typescript/lib/lib.es2022.regexp.d.ts","../node_modules/typescript/lib/lib.es2023.array.d.ts","../node_modules/typescript/lib/lib.es2023.collection.d.ts","../node_modules/typescript/lib/lib.esnext.intl.d.ts","../node_modules/typescript/lib/lib.decorators.d.ts","../node_modules/typescript/lib/lib.decorators.legacy.d.ts","../src/config.ts","../src/constants.ts","../src/errors.ts","../node_modules/multiformats/dist/src/bases/interface.d.ts","../node_modules/multiformats/dist/src/block/interface.d.ts","../node_modules/multiformats/dist/src/hashes/interface.d.ts","../node_modules/multiformats/dist/src/link/interface.d.ts","../node_modules/multiformats/dist/src/cid.d.ts","../node_modules/uint8arraylist/dist/src/index.d.ts","../node_modules/@libp2p/interface/dist/src/keys/index.d.ts","../node_modules/@libp2p/interface/dist/src/peer-id/index.d.ts","../node_modules/@multiformats/multiaddr/dist/src/protocols-table.d.ts","../node_modules/@multiformats/dns/dist/src/resolvers/dns-over-https.d.ts","../node_modules/@multiformats/dns/dist/src/resolvers/dns-json-over-https.d.ts","../node_modules/@multiformats/dns/dist/src/resolvers/index.d.ts","../node_modules/progress-events/dist/src/index.d.ts","../node_modules/@multiformats/dns/dist/src/index.d.ts","../node_modules/@multiformats/multiaddr/dist/src/resolvers/dnsaddr.d.ts","../node_modules/@multiformats/multiaddr/dist/src/resolvers/index.d.ts","../node_modules/@multiformats/multiaddr/dist/src/filter/multiaddr-filter.d.ts","../node_modules/@multiformats/multiaddr/dist/src/index.d.ts","../node_modules/it-stream-types/dist/src/index.d.ts","../node_modules/@libp2p/interface/dist/src/connection/index.d.ts","../node_modules/@libp2p/interface/dist/src/peer-info/index.d.ts","../node_modules/@libp2p/interface/dist/src/content-routing/index.d.ts","../node_modules/@libp2p/interface/dist/src/event-target.d.ts","../node_modules/@libp2p/interface/dist/src/metrics/index.d.ts","../node_modules/@libp2p/interface/dist/src/peer-routing/index.d.ts","../node_modules/@libp2p/interface/dist/src/peer-store/index.d.ts","../node_modules/@libp2p/interface/dist/src/startable.d.ts","../node_modules/@libp2p/interface/dist/src/stream-handler/index.d.ts","../node_modules/@libp2p/interface/dist/src/topology/index.d.ts","../node_modules/@libp2p/interface/dist/src/stream-muxer/index.d.ts","../node_modules/@libp2p/interface/dist/src/transport/index.d.ts","../node_modules/@libp2p/interface/dist/src/connection-encrypter/index.d.ts","../node_modules/@libp2p/interface/dist/src/connection-gater/index.d.ts","../node_modules/@libp2p/interface/dist/src/peer-discovery/index.d.ts","../node_modules/@libp2p/interface/dist/src/peer-store/tags.d.ts","../node_modules/it-pushable/dist/src/index.d.ts","../node_modules/@libp2p/interface/dist/src/pubsub/index.d.ts","../node_modules/@libp2p/interface/dist/src/record/index.d.ts","../node_modules/@libp2p/interface/dist/src/errors.d.ts","../node_modules/@types/node/assert.d.ts","../node_modules/@types/node/assert/strict.d.ts","../node_modules/buffer/index.d.ts","../node_modules/undici-types/header.d.ts","../node_modules/undici-types/readable.d.ts","../node_modules/undici-types/file.d.ts","../node_modules/undici-types/fetch.d.ts","../node_modules/undici-types/formdata.d.ts","../node_modules/undici-types/connector.d.ts","../node_modules/undici-types/client.d.ts","../node_modules/undici-types/errors.d.ts","../node_modules/undici-types/dispatcher.d.ts","../node_modules/undici-types/global-dispatcher.d.ts","../node_modules/undici-types/global-origin.d.ts","../node_modules/undici-types/pool-stats.d.ts","../node_modules/undici-types/pool.d.ts","../node_modules/undici-types/handlers.d.ts","../node_modules/undici-types/balanced-pool.d.ts","../node_modules/undici-types/agent.d.ts","../node_modules/undici-types/mock-interceptor.d.ts","../node_modules/undici-types/mock-agent.d.ts","../node_modules/undici-types/mock-client.d.ts","../node_modules/undici-types/mock-pool.d.ts","../node_modules/undici-types/mock-errors.d.ts","../node_modules/undici-types/proxy-agent.d.ts","../node_modules/undici-types/env-http-proxy-agent.d.ts","../node_modules/undici-types/retry-handler.d.ts","../node_modules/undici-types/retry-agent.d.ts","../node_modules/undici-types/api.d.ts","../node_modules/undici-types/interceptors.d.ts","../node_modules/undici-types/util.d.ts","../node_modules/undici-types/cookies.d.ts","../node_modules/undici-types/patch.d.ts","../node_modules/undici-types/websocket.d.ts","../node_modules/undici-types/eventsource.d.ts","../node_modules/undici-types/filereader.d.ts","../node_modules/undici-types/diagnostics-channel.d.ts","../node_modules/undici-types/content-type.d.ts","../node_modules/undici-types/cache.d.ts","../node_modules/undici-types/index.d.ts","../node_modules/@types/node/globals.d.ts","../node_modules/@types/node/async_hooks.d.ts","../node_modules/@types/node/buffer.d.ts","../node_modules/@types/node/child_process.d.ts","../node_modules/@types/node/cluster.d.ts","../node_modules/@types/node/console.d.ts","../node_modules/@types/node/constants.d.ts","../node_modules/@types/node/crypto.d.ts","../node_modules/@types/node/dgram.d.ts","../node_modules/@types/node/diagnostics_channel.d.ts","../node_modules/@types/node/dns.d.ts","../node_modules/@types/node/dns/promises.d.ts","../node_modules/@types/node/domain.d.ts","../node_modules/@types/node/dom-events.d.ts","../node_modules/@types/node/events.d.ts","../node_modules/@types/node/fs.d.ts","../node_modules/@types/node/fs/promises.d.ts","../node_modules/@types/node/http.d.ts","../node_modules/@types/node/http2.d.ts","../node_modules/@types/node/https.d.ts","../node_modules/@types/node/inspector.d.ts","../node_modules/@types/node/module.d.ts","../node_modules/@types/node/net.d.ts","../node_modules/@types/node/os.d.ts","../node_modules/@types/node/path.d.ts","../node_modules/@types/node/perf_hooks.d.ts","../node_modules/@types/node/process.d.ts","../node_modules/@types/node/punycode.d.ts","../node_modules/@types/node/querystring.d.ts","../node_modules/@types/node/readline.d.ts","../node_modules/@types/node/readline/promises.d.ts","../node_modules/@types/node/repl.d.ts","../node_modules/@types/node/sea.d.ts","../node_modules/@types/node/stream.d.ts","../node_modules/@types/node/stream/promises.d.ts","../node_modules/@types/node/stream/consumers.d.ts","../node_modules/@types/node/stream/web.d.ts","../node_modules/@types/node/string_decoder.d.ts","../node_modules/@types/node/test.d.ts","../node_modules/@types/node/timers.d.ts","../node_modules/@types/node/timers/promises.d.ts","../node_modules/@types/node/tls.d.ts","../node_modules/@types/node/trace_events.d.ts","../node_modules/@types/node/tty.d.ts","../node_modules/@types/node/url.d.ts","../node_modules/@types/node/util.d.ts","../node_modules/@types/node/v8.d.ts","../node_modules/@types/node/vm.d.ts","../node_modules/@types/node/wasi.d.ts","../node_modules/@types/node/worker_threads.d.ts","../node_modules/@types/node/zlib.d.ts","../node_modules/@types/node/globals.global.d.ts","../node_modules/@types/node/index.d.ts","../node_modules/@libp2p/interface/dist/src/events.d.ts","../node_modules/@libp2p/interface/dist/src/index.d.ts","../node_modules/@libp2p/peer-id/dist/src/index.d.ts","../node_modules/it-length-prefixed/dist/src/encode.d.ts","../node_modules/it-reader/dist/src/index.d.ts","../node_modules/it-length-prefixed/dist/src/decode.d.ts","../node_modules/it-length-prefixed/dist/src/index.d.ts","../node_modules/it-pipe/dist/src/index.d.ts","../node_modules/multiformats/dist/src/hashes/digest.d.ts","../src/message/decoderpc.ts","../node_modules/protons-runtime/dist/src/codec.d.ts","../node_modules/protons-runtime/dist/src/decode.d.ts","../node_modules/protons-runtime/dist/src/encode.d.ts","../node_modules/protons-runtime/dist/src/codecs/enum.d.ts","../node_modules/protons-runtime/dist/src/codecs/message.d.ts","../node_modules/protons-runtime/dist/src/utils/reader.d.ts","../node_modules/protons-runtime/dist/src/utils/writer.d.ts","../node_modules/protons-runtime/dist/src/index.d.ts","../src/message/rpc.ts","../src/types.ts","../src/message-cache.ts","../src/score/peer-score-thresholds.ts","../src/metrics.ts","../src/score/peer-score-params.ts","../src/utils/set.ts","../src/score/peer-stats.ts","../src/score/compute-score.ts","../node_modules/denque/index.d.ts","../src/score/message-deliveries.ts","../src/score/peer-score.ts","../src/score/index.ts","../src/score/scoremetrics.ts","../src/stream.ts","../src/tracer.ts","../node_modules/@libp2p/crypto/dist/src/hmac/index.d.ts","../node_modules/multiformats/dist/src/bytes.d.ts","../node_modules/multiformats/dist/src/hashes/hasher.d.ts","../node_modules/multiformats/dist/src/varint.d.ts","../node_modules/multiformats/dist/src/codecs/interface.d.ts","../node_modules/multiformats/dist/src/interface.d.ts","../node_modules/multiformats/dist/src/index.d.ts","../node_modules/@libp2p/crypto/dist/src/keys/interface.d.ts","../node_modules/@libp2p/crypto/dist/src/keys/ecdh/index.d.ts","../node_modules/@libp2p/crypto/dist/src/keys/key-stretcher.d.ts","../node_modules/@libp2p/crypto/dist/src/keys/index.d.ts","../node_modules/@libp2p/crypto/dist/src/pbkdf2.d.ts","../node_modules/@libp2p/crypto/dist/src/random-bytes.d.ts","../node_modules/@libp2p/crypto/dist/src/index.d.ts","../node_modules/uint8arrays/dist/src/concat.d.ts","../node_modules/multiformats/dist/src/codecs/json.d.ts","../node_modules/multiformats/dist/src/codecs/raw.d.ts","../node_modules/multiformats/dist/src/bases/base.d.ts","../node_modules/multiformats/dist/src/basics.d.ts","../node_modules/uint8arrays/dist/src/util/bases.d.ts","../node_modules/uint8arrays/dist/src/from-string.d.ts","../node_modules/uint8arrays/dist/src/to-string.d.ts","../src/utils/buildrawmessage.ts","../src/utils/create-gossip-rpc.ts","../src/utils/shuffle.ts","../src/utils/messageidtostring.ts","../src/utils/publishconfig.ts","../src/utils/index.ts","../node_modules/@libp2p/pubsub/dist/src/utils.d.ts","../node_modules/multiformats/dist/src/hashes/sha2.d.ts","../src/utils/msgidfn.ts","../node_modules/@chainsafe/netmask/dist/src/util.d.ts","../node_modules/@chainsafe/netmask/dist/src/ip.d.ts","../node_modules/@chainsafe/netmask/dist/src/ipnet.d.ts","../node_modules/@chainsafe/netmask/dist/src/cidr.d.ts","../node_modules/@chainsafe/netmask/dist/src/index.d.ts","../node_modules/@multiformats/multiaddr/dist/src/convert.d.ts","../src/utils/multiaddr.ts","../src/utils/time-cache.ts","../node_modules/@libp2p/interface-internal/dist/src/address-manager/index.d.ts","../node_modules/@libp2p/peer-collections/dist/src/map.d.ts","../node_modules/@libp2p/peer-collections/dist/src/set.d.ts","../node_modules/@libp2p/peer-collections/dist/src/list.d.ts","../node_modules/@libp2p/peer-collections/dist/src/filter.d.ts","../node_modules/@libp2p/peer-collections/dist/src/tracked-map.d.ts","../node_modules/@libp2p/peer-collections/dist/src/tracked-set.d.ts","../node_modules/@libp2p/peer-collections/dist/src/tracked-list.d.ts","../node_modules/@libp2p/peer-collections/dist/src/index.d.ts","../node_modules/@libp2p/interface-internal/dist/src/connection-manager/index.d.ts","../node_modules/@libp2p/interface-internal/dist/src/random-walk/index.d.ts","../node_modules/@libp2p/interface-internal/dist/src/record/index.d.ts","../node_modules/@libp2p/interface-internal/dist/src/registrar/index.d.ts","../node_modules/@libp2p/interface-internal/dist/src/transport-manager/index.d.ts","../node_modules/@libp2p/interface-internal/dist/src/index.d.ts","../src/index.ts","../src/message/index.ts","../node_modules/@libp2p/interface-compliance-tests/dist/src/mocks/connection-gater.d.ts","../node_modules/@libp2p/interface-compliance-tests/dist/src/mocks/connection-manager.d.ts","../node_modules/@libp2p/interface-compliance-tests/dist/src/mocks/connection.d.ts","../node_modules/@libp2p/interface-compliance-tests/dist/src/mocks/multiaddr-connection.d.ts","../node_modules/@libp2p/logger/dist/src/index.d.ts","../node_modules/@libp2p/utils/dist/src/abstract-stream.d.ts","../node_modules/@libp2p/interface-compliance-tests/dist/src/mocks/muxer.d.ts","../node_modules/@libp2p/interface-compliance-tests/dist/src/mocks/registrar.d.ts","../node_modules/@libp2p/interface-compliance-tests/dist/src/mocks/upgrader.d.ts","../node_modules/@libp2p/interface-compliance-tests/dist/src/mocks/duplex.d.ts","../node_modules/@libp2p/interface-compliance-tests/dist/src/mocks/metrics.d.ts","../node_modules/@libp2p/interface-compliance-tests/dist/src/mocks/index.d.ts","../node_modules/@types/chai/index.d.ts","../node_modules/@types/chai-as-promised/index.d.ts","../node_modules/chai-parentheses/index.d.ts","../node_modules/@types/chai-subset/index.d.ts","../node_modules/chai-bites/index.d.ts","../node_modules/@types/chai-string/index.d.ts","../node_modules/aegir/dist/utils/chai.d.ts","../node_modules/p-defer/index.d.ts","../node_modules/p-timeout/index.d.ts","../node_modules/p-event/index.d.ts","../node_modules/p-wait-for/index.d.ts","../node_modules/interface-datastore/dist/src/key.d.ts","../node_modules/interface-datastore/node_modules/interface-store/dist/src/errors.d.ts","../node_modules/interface-datastore/node_modules/interface-store/dist/src/index.d.ts","../node_modules/interface-datastore/dist/src/index.d.ts","../node_modules/@libp2p/peer-store/dist/src/index.d.ts","../node_modules/datastore-core/dist/src/errors.d.ts","../node_modules/datastore-core/dist/src/shard.d.ts","../node_modules/interface-store/dist/src/index.d.ts","../node_modules/datastore-core/dist/src/base.d.ts","../node_modules/datastore-core/dist/src/memory.d.ts","../node_modules/datastore-core/dist/src/keytransform.d.ts","../node_modules/datastore-core/dist/src/sharding.d.ts","../node_modules/datastore-core/dist/src/mount.d.ts","../node_modules/datastore-core/dist/src/tiered.d.ts","../node_modules/datastore-core/dist/src/namespace.d.ts","../node_modules/datastore-core/dist/src/index.d.ts","../node_modules/@types/sinonjs__fake-timers/index.d.ts","../node_modules/@types/sinon/index.d.ts","../node_modules/ts-sinon/dist/index.d.ts","../test/utils/create-pubsub.ts","../test/2-nodes.spec.ts","../node_modules/@chainsafe/as-sha256/lib/hashobject.d.ts","../node_modules/@chainsafe/as-sha256/lib/wasm.d.ts","../node_modules/@chainsafe/as-sha256/lib/sha256.d.ts","../node_modules/@chainsafe/as-sha256/lib/index.d.ts","../test/utils/msgid.ts","../test/accept-from.spec.ts","../test/allowedtopics.spec.ts","../node_modules/@libp2p/interface-compliance-tests/dist/src/index.d.ts","../node_modules/@libp2p/interface-compliance-tests/dist/src/pubsub/index.d.ts","../test/compliance.spec.ts","../node_modules/eventemitter3/index.d.ts","../node_modules/p-queue/dist/queue.d.ts","../node_modules/p-queue/dist/options.d.ts","../node_modules/p-queue/dist/priority-queue.d.ts","../node_modules/p-queue/dist/index.d.ts","../node_modules/@libp2p/pubsub/dist/src/index.d.ts","../node_modules/@libp2p/floodsub/dist/src/cache.d.ts","../node_modules/@libp2p/floodsub/dist/src/config.d.ts","../node_modules/@libp2p/floodsub/dist/src/index.d.ts","../node_modules/delay/index.d.ts","../node_modules/@types/retry/index.d.ts","../node_modules/p-retry/index.d.ts","../test/floodsub.spec.ts","../test/gossip.spec.ts","../test/heartbeat.spec.ts","../test/mesh.spec.ts","../test/utils/index.ts","../test/message-cache.spec.ts","../test/peer-score-params.spec.ts","../test/peer-score-thresholds.spec.ts","../test/peer-score.spec.ts","../test/scoremetrics.spec.ts","../test/signature-policy.spec.ts","../test/time-cache.spec.ts","../test/tracer.spec.ts","../node_modules/@dapplion/benchmark/lib/utils/mochacliexports.d.ts","../node_modules/@dapplion/benchmark/lib/types.d.ts","../node_modules/@dapplion/benchmark/lib/mochaplugin/runbenchfn.d.ts","../node_modules/@dapplion/benchmark/lib/mochaplugin/index.d.ts","../node_modules/@dapplion/benchmark/lib/index.d.ts","../node_modules/abortable-iterator/dist/src/abort-error.d.ts","../node_modules/abortable-iterator/dist/src/index.d.ts","../node_modules/it-all/dist/src/index.d.ts","../test/benchmark/asynciterable.test.ts","../test/utils/events.ts","../test/benchmark/index.test.ts","../test/benchmark/protobuf.test.ts","../test/benchmark/time-cache.test.ts","../node_modules/uint8arrays/dist/src/equals.d.ts","../test/e2e/go-gossipsub.spec.ts","../test/unit/set.test.ts","../node_modules/keyv/src/index.d.ts","../node_modules/@types/http-cache-semantics/index.d.ts","../node_modules/@types/responselike/index.d.ts","../node_modules/@types/cacheable-request/index.d.ts","../node_modules/@types/ms/index.d.ts","../node_modules/@types/debug/index.d.ts","../node_modules/@types/dns-packet/index.d.ts","../node_modules/@types/istanbul-lib-coverage/index.d.ts","../node_modules/@types/json-schema/index.d.ts","../node_modules/@types/json5/index.d.ts","../node_modules/@types/keyv/index.d.ts","../node_modules/@types/linkify-it/build/index.cjs.d.ts","../node_modules/@types/linkify-it/index.d.ts","../node_modules/@types/mdurl/build/index.cjs.d.ts","../node_modules/@types/mdurl/index.d.ts","../node_modules/@types/markdown-it/dist/index.cjs.d.ts","../node_modules/@types/markdown-it/index.d.ts","../node_modules/@types/unist/index.d.ts","../node_modules/@types/mdast/index.d.ts","../node_modules/@types/minimatch/index.d.ts","../node_modules/@types/minimist/index.d.ts","../node_modules/@types/mocha/index.d.ts","../node_modules/@types/murmurhash3js-revisited/index.d.ts","../node_modules/@types/normalize-package-data/index.d.ts","../node_modules/@types/parse-json/index.d.ts","../node_modules/@types/semver/classes/semver.d.ts","../node_modules/@types/semver/functions/parse.d.ts","../node_modules/@types/semver/functions/valid.d.ts","../node_modules/@types/semver/functions/clean.d.ts","../node_modules/@types/semver/functions/inc.d.ts","../node_modules/@types/semver/functions/diff.d.ts","../node_modules/@types/semver/functions/major.d.ts","../node_modules/@types/semver/functions/minor.d.ts","../node_modules/@types/semver/functions/patch.d.ts","../node_modules/@types/semver/functions/prerelease.d.ts","../node_modules/@types/semver/functions/compare.d.ts","../node_modules/@types/semver/functions/rcompare.d.ts","../node_modules/@types/semver/functions/compare-loose.d.ts","../node_modules/@types/semver/functions/compare-build.d.ts","../node_modules/@types/semver/functions/sort.d.ts","../node_modules/@types/semver/functions/rsort.d.ts","../node_modules/@types/semver/functions/gt.d.ts","../node_modules/@types/semver/functions/lt.d.ts","../node_modules/@types/semver/functions/eq.d.ts","../node_modules/@types/semver/functions/neq.d.ts","../node_modules/@types/semver/functions/gte.d.ts","../node_modules/@types/semver/functions/lte.d.ts","../node_modules/@types/semver/functions/cmp.d.ts","../node_modules/@types/semver/functions/coerce.d.ts","../node_modules/@types/semver/classes/comparator.d.ts","../node_modules/@types/semver/classes/range.d.ts","../node_modules/@types/semver/functions/satisfies.d.ts","../node_modules/@types/semver/ranges/max-satisfying.d.ts","../node_modules/@types/semver/ranges/min-satisfying.d.ts","../node_modules/@types/semver/ranges/to-comparators.d.ts","../node_modules/@types/semver/ranges/min-version.d.ts","../node_modules/@types/semver/ranges/valid.d.ts","../node_modules/@types/semver/ranges/outside.d.ts","../node_modules/@types/semver/ranges/gtr.d.ts","../node_modules/@types/semver/ranges/ltr.d.ts","../node_modules/@types/semver/ranges/intersects.d.ts","../node_modules/@types/semver/ranges/simplify.d.ts","../node_modules/@types/semver/ranges/subset.d.ts","../node_modules/@types/semver/internals/identifiers.d.ts","../node_modules/@types/semver/index.d.ts","../node_modules/@types/sinon-chai/index.d.ts","../node_modules/@types/strip-bom/index.d.ts","../node_modules/@types/strip-json-comments/index.d.ts","../node_modules/@types/yargs-parser/index.d.ts","../node_modules/@types/yargs/index.d.ts","../node_modules/@types/yauzl/index.d.ts"],"fileInfos":[{"version":"824cb491a40f7e8fdeb56f1df5edf91b23f3e3ee6b4cde84d4a99be32338faee","affectsGlobalScope":true},"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","3facaf05f0c5fc569c5649dd359892c98a85557e3e0c847964caeb67076f4d75","9a68c0c07ae2fa71b44384a839b7b8d81662a236d4b9ac30916718f7510b1b2d","5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4","feecb1be483ed332fad555aff858affd90a48ab19ba7272ee084704eb7167569","5514e54f17d6d74ecefedc73c504eadffdeda79c7ea205cf9febead32d45c4bc","1c0cdb8dc619bc549c3e5020643e7cf7ae7940058e8c7e5aefa5871b6d86f44b",{"version":"87d693a4920d794a73384b3c779cadcb8548ac6945aa7a925832fe2418c9527a","affectsGlobalScope":true},{"version":"76f838d5d49b65de83bc345c04aa54c62a3cfdb72a477dc0c0fce89a30596c30","affectsGlobalScope":true},{"version":"db88e2781075c7bca86634724f38a132de718ddf3a470a3a2cdb182f4364af9e","affectsGlobalScope":true},{"version":"138fb588d26538783b78d1e3b2c2cc12d55840b97bf5e08bca7f7a174fbe2f17","affectsGlobalScope":true},{"version":"dc2df20b1bcdc8c2d34af4926e2c3ab15ffe1160a63e58b7e09833f616efff44","affectsGlobalScope":true},{"version":"4443e68b35f3332f753eacc66a04ac1d2053b8b035a0e0ac1d455392b5e243b3","affectsGlobalScope":true},{"version":"bc47685641087c015972a3f072480889f0d6c65515f12bd85222f49a98952ed7","affectsGlobalScope":true},{"version":"0dc1e7ceda9b8b9b455c3a2d67b0412feab00bd2f66656cd8850e8831b08b537","affectsGlobalScope":true},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true},{"version":"4ff2a353abf8a80ee399af572debb8faab2d33ad38c4b4474cff7f26e7653b8d","affectsGlobalScope":true},{"version":"93495ff27b8746f55d19fcbcdbaccc99fd95f19d057aed1bd2c0cafe1335fbf0","affectsGlobalScope":true},{"version":"6fc23bb8c3965964be8c597310a2878b53a0306edb71d4b5a4dfe760186bcc01","affectsGlobalScope":true},{"version":"ea011c76963fb15ef1cdd7ce6a6808b46322c527de2077b6cfdf23ae6f5f9ec7","affectsGlobalScope":true},{"version":"38f0219c9e23c915ef9790ab1d680440d95419ad264816fa15009a8851e79119","affectsGlobalScope":true},{"version":"bb42a7797d996412ecdc5b2787720de477103a0b2e53058569069a0e2bae6c7e","affectsGlobalScope":true},{"version":"4738f2420687fd85629c9efb470793bb753709c2379e5f85bc1815d875ceadcd","affectsGlobalScope":true},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true},{"version":"4de680d5bb41c17f7f68e0419412ca23c98d5749dcaaea1896172f06435891fc","affectsGlobalScope":true},{"version":"9fc46429fbe091ac5ad2608c657201eb68b6f1b8341bd6d670047d32ed0a88fa","affectsGlobalScope":true},{"version":"61c37c1de663cf4171e1192466e52c7a382afa58da01b1dc75058f032ddf0839","affectsGlobalScope":true},{"version":"b541a838a13f9234aba650a825393ffc2292dc0fc87681a5d81ef0c96d281e7a","affectsGlobalScope":true},{"version":"b20fe0eca9a4e405f1a5ae24a2b3290b37cf7f21eba6cbe4fc3fab979237d4f3","affectsGlobalScope":true},{"version":"811ec78f7fefcabbda4bfa93b3eb67d9ae166ef95f9bff989d964061cbf81a0c","affectsGlobalScope":true},{"version":"717937616a17072082152a2ef351cb51f98802fb4b2fdabd32399843875974ca","affectsGlobalScope":true},{"version":"d7e7d9b7b50e5f22c915b525acc5a49a7a6584cf8f62d0569e557c5cfc4b2ac2","affectsGlobalScope":true},{"version":"71c37f4c9543f31dfced6c7840e068c5a5aacb7b89111a4364b1d5276b852557","affectsGlobalScope":true},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true},{"version":"49ed889be54031e1044af0ad2c603d627b8bda8b50c1a68435fe85583901d072","affectsGlobalScope":true},{"version":"e93d098658ce4f0c8a0779e6cab91d0259efb88a318137f686ad76f8410ca270","affectsGlobalScope":true},{"version":"063600664504610fe3e99b717a1223f8b1900087fab0b4cad1496a114744f8df","affectsGlobalScope":true},{"version":"934019d7e3c81950f9a8426d093458b65d5aff2c7c1511233c0fd5b941e608ab","affectsGlobalScope":true},{"version":"bf14a426dbbf1022d11bd08d6b8e709a2e9d246f0c6c1032f3b2edb9a902adbe","affectsGlobalScope":true},{"version":"5e07ed3809d48205d5b985642a59f2eba47c402374a7cf8006b686f79efadcbd","affectsGlobalScope":true},{"version":"2b72d528b2e2fe3c57889ca7baef5e13a56c957b946906d03767c642f386bbc3","affectsGlobalScope":true},{"version":"8073890e29d2f46fdbc19b8d6d2eb9ea58db9a2052f8640af20baff9afbc8640","affectsGlobalScope":true},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true},{"version":"af3dd424cf267428f30ccfc376f47a2c0114546b55c44d8c0f1d57d841e28d74","affectsGlobalScope":true},{"version":"995c005ab91a498455ea8dfb63aa9f83fa2ea793c3d8aa344be4a1678d06d399","affectsGlobalScope":true},{"version":"51e547984877a62227042850456de71a5c45e7fe86b7c975c6e68896c86fa23b","affectsGlobalScope":true},{"version":"956d27abdea9652e8368ce029bb1e0b9174e9678a273529f426df4b3d90abd60","affectsGlobalScope":true},{"version":"4fa6ed14e98aa80b91f61b9805c653ee82af3502dc21c9da5268d3857772ca05","affectsGlobalScope":true},{"version":"e6633e05da3ff36e6da2ec170d0d03ccf33de50ca4dc6f5aeecb572cedd162fb","affectsGlobalScope":true},{"version":"d8670852241d4c6e03f2b89d67497a4bbefe29ecaa5a444e2c11a9b05e6fccc6","affectsGlobalScope":true},{"version":"8444af78980e3b20b49324f4a16ba35024fef3ee069a0eb67616ea6ca821c47a","affectsGlobalScope":true},{"version":"caccc56c72713969e1cfe5c3d44e5bab151544d9d2b373d7dbe5a1e4166652be","affectsGlobalScope":true},{"version":"3287d9d085fbd618c3971944b65b4be57859f5415f495b33a6adc994edd2f004","affectsGlobalScope":true},{"version":"50d53ccd31f6667aff66e3d62adf948879a3a16f05d89882d1188084ee415bbc","affectsGlobalScope":true},{"version":"08a58483392df5fcc1db57d782e87734f77ae9eab42516028acbfe46f29a3ef7","affectsGlobalScope":true},{"version":"436aaf437562f276ec2ddbee2f2cdedac7664c1e4c1d2c36839ddd582eeb3d0a","affectsGlobalScope":true},{"version":"13f6e6380c78e15e140243dc4be2fa546c287c6d61f4729bc2dd7cf449605471","affectsGlobalScope":true},{"version":"33358442698bb565130f52ba79bfd3d4d484ac85fe33f3cb1759c54d18201393","affectsGlobalScope":true},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true},{"version":"8dd05b63a186702e76716cb824a892741fe274c82ec741669f6704e336b31bec","signature":"87c73268165bf20f01c101ac785e8a9d1d95ff203d05d3548a6c49952597e321"},{"version":"11f59b2fe369086ae532118462306d4d8622d2ceada716e834adfa26b456f914","signature":"ea438e982614f14ddf033f957aec98c89f09d9979734eee158f1d74c1a555f70"},{"version":"05dd3e847e286f95abb3a15d150acd3d54d5641baa75bf3dc042209f7cd6d2fe","signature":"0cb9fd85715d6d6e8a6cb449e73262f9b96654a8d7dc7ff6d42b7f6c3d0a7664"},"4a3605bef1a5ef29fd5a1696dd95b0b4e2259e2d07a4d88fac79f3a9765c44a2","370079895f1acdd4bb5194a403c85bf60cfbb2654bced9430a6c7210e7246be8","90240231e730deed31569f6c686766a538e4a024bbc33ea1738fe924f477ba61","552223520e823223ee13c5764e9b69b1819c985818a8bcda435d8d1dbd909bee","49b7c3ddd683c09aa437dd92681699387441f522524b14d2331ce494a9bf2f27","d35b5db21a04a45ae6323c4d4b25acc983dfe2870fc670fd05249eb19d839a5e","637b97f727f21c07a73f09130dc7bf5ac94d04511b179b5eb3e9a4d85a16147a","51720c0374406647b50f84f24c7b623f1d01e1955f7e929da7c5c0629b4390ad","5212dd78d1d63ab33332c8846a0ea5ce248159e74033cde16de48373036b4704","954b3c04ee9f94ca1e262f3e5a6e833b0da0066514b3d4b97b92b7f0c85f8700","a2fc9ce1ae5bed7068d701d8aeebf13321de0f42c217dc2e10f1622dcaa53a7f","8e81f220cb935d551e88cff11541d5e89d3a3494a52fe6247e98016a9dbd4c2d","6b2576a04253626ba41b7dc7ec5977bec07f3b6952b16249d9fa8a3a0d79901c","9de17491f2bfbccea92500e174079d53bdedae34dbebe5d4a12a06ab09814710","e88481085a8576fa52efc913e631c1a833d16179486469b8538d8c4fab2f7381","aec68502c8f4ffaecb4440b37363473582fec0bfee4fb8668a87daa7f700f708","d71577e78c7a4257074aaf82f595724175210c89e8b467ef82f949a6cbd891bc","cf548af8b03cbbc79fdc4f357b5560f618c6d2f68c8688e6eb759c3c11d962c3","c84146dbc9d2e5f43d2cbf15485a4eabf90219dbb66c0d481f20f12d3851bffc","9dc5a1d8f09f9faf21207253a92b461190d59c81ee12c9ac612630e699749990","99c24f331c9f4e75a779b9a988e942442db3cf29923ceb820d3bdd4ed1edfef2","25b1f20d5868ef9ef18132f7dd76b40b7038688ff7c56c58930537a8dff9f231","4105fa0ecfaffb578c8051c3de22e8c984191aac8de14641ee99beed9c5e5bd9","af080582e94b991e099383c1da15f189ca240c12ff5e2338344b7263ab10e305","8c92080253bac0506d82b83d555a029582595f0944abb349954ea732322baa5c","45d4c8d63a67224af62bebff18da32bb2817e306c9fd9e5d1dac6ef8d2da7ead","230eb449f719119cab1728252f20ecdd36d7a20cef659e4a51ada1a232a8aaad","5f264ca312dfcbf23917febc8d7a73ef5be9c248af605939de1c7c4129aa65f2","c1c7b50665ce0b8aa4b95f3843167ac7ac25d1f724d77c2a07b597abb9cf394c","1bf687d978bdd6d5aff10b9eb0ff0695179f8594d4446946fd0182d6d25fa433","ec26029e3a4eccf8ee79d5c76093fbe928cedc83d813fca9be4f055d61530013","e0ff6a627dfbfb9d32e49f34879a763680e37758c509ddd809cb316b96f34390","2113d72680c7ddad6d3b6f70a29432a35c074c94ec6823a7c16ccd69847d965c","c8ffd61bf2db2e7bccb996dd70c9499805cb338f1b1c781987e38ba99dd5b296","55e5a976b594dc02f054860fb59a5299872a5b3c8c90e96733a5c9c9d4ed1fb8","fac83d4c6898d5bf90c508cc84409ded40fdc14611cf42d7fb750fb2c7847979","1668310e691181966c371fce881c88cb1c2e65ac832ef5470434ad926998da2f","4f1eb6b9c2b666278e09019281953fc4ecadad3b2ba2781b2602445743eaaeca","b0c64c942cb2e55bf49e513dfe46ae15b85754829d6639d1ab69a56c388cc2eb","2db0dd3aaa2ed285950273ce96ae8a450b45423aa9da2d10e194570f1233fa6b","7394959e5a741b185456e1ef5d64599c36c60a323207450991e7a42e08911419","4967529644e391115ca5592184d4b63980569adf60ee685f968fd59ab1557188","5929864ce17fba74232584d90cb721a89b7ad277220627cc97054ba15a98ea8f","24bd580b5743dc56402c440dc7f9a4f5d592ad7a419f25414d37a7bfe11e342b","25c8056edf4314820382a5fdb4bb7816999acdcb929c8f75e3f39473b87e85bc","c464d66b20788266e5353b48dc4aa6bc0dc4a707276df1e7152ab0c9ae21fad8","78d0d27c130d35c60b5e5566c9f1e5be77caf39804636bc1a40133919a949f21","c6fd2c5a395f2432786c9cb8deb870b9b0e8ff7e22c029954fabdd692bff6195","1d6e127068ea8e104a912e42fc0a110e2aa5a66a356a917a163e8cf9a65e4a75","5ded6427296cdf3b9542de4471d2aa8d3983671d4cac0f4bf9c637208d1ced43","6bdc71028db658243775263e93a7db2fd2abfce3ca569c3cca5aee6ed5eb186d","cadc8aced301244057c4e7e73fbcae534b0f5b12a37b150d80e5a45aa4bebcbd","385aab901643aa54e1c36f5ef3107913b10d1b5bb8cbcd933d4263b80a0d7f20","9670d44354bab9d9982eca21945686b5c24a3f893db73c0dae0fd74217a4c219","0b8a9268adaf4da35e7fa830c8981cfa22adbbe5b3f6f5ab91f6658899e657a7","11396ed8a44c02ab9798b7dca436009f866e8dae3c9c25e8c1fbc396880bf1bb","ba7bc87d01492633cb5a0e5da8a4a42a1c86270e7b3d2dea5d156828a84e4882","4893a895ea92c85345017a04ed427cbd6a1710453338df26881a6019432febdd","c21dc52e277bcfc75fac0436ccb75c204f9e1b3fa5e12729670910639f27343e","13f6f39e12b1518c6650bbb220c8985999020fe0f21d818e28f512b7771d00f9","9b5369969f6e7175740bf51223112ff209f94ba43ecd3bb09eefff9fd675624a","4fe9e626e7164748e8769bbf74b538e09607f07ed17c2f20af8d680ee49fc1da","24515859bc0b836719105bb6cc3d68255042a9f02a6022b3187948b204946bd2","ea0148f897b45a76544ae179784c95af1bd6721b8610af9ffa467a518a086a43","24c6a117721e606c9984335f71711877293a9651e44f59f3d21c1ea0856f9cc9","dd3273ead9fbde62a72949c97dbec2247ea08e0c6952e701a483d74ef92d6a17","405822be75ad3e4d162e07439bac80c6bcc6dbae1929e179cf467ec0b9ee4e2e","0db18c6e78ea846316c012478888f33c11ffadab9efd1cc8bcc12daded7a60b6","4d2b0eb911816f66abe4970898f97a2cfc902bcd743cbfa5017fad79f7ef90d8","bd0532fd6556073727d28da0edfd1736417a3f9f394877b6d5ef6ad88fba1d1a","89167d696a849fce5ca508032aabfe901c0868f833a8625d5a9c6e861ef935d2","e53a3c2a9f624d90f24bf4588aacd223e7bec1b9d0d479b68d2f4a9e6011147f","24b8685c62562f5d98615c5a0c1d05f297cf5065f15246edfe99e81ec4c0e011","93507c745e8f29090efb99399c3f77bec07db17acd75634249dc92f961573387","339dc5265ee5ed92e536a93a04c4ebbc2128f45eeec6ed29f379e0085283542c","4732aec92b20fb28c5fe9ad99521fb59974289ed1e45aecb282616202184064f","2e85db9e6fd73cfa3d7f28e0ab6b55417ea18931423bd47b409a96e4a169e8e6","c46e079fe54c76f95c67fb89081b3e399da2c7d109e7dca8e4b58d83e332e605","bf67d53d168abc1298888693338cb82854bdb2e69ef83f8a0092093c2d562107",{"version":"c75ac0682b74face8d051331544f633445f5d203dc773d579fa109a7cbee9f06","affectsGlobalScope":true},"3d77c73be94570813f8cadd1f05ebc3dc5e2e4fdefe4d340ca20cd018724ee36",{"version":"e8dbde089a4b9d5b2124764ebbcfe577ffcb3a1df5cfb512a504c708ddfc7262","affectsGlobalScope":true},"62f1c00d3d246e0e3cf0224f91e122d560428ec1ccc36bb51d4574a84f1dbad0","53f0960fdcc53d097918adfd8861ffbe0db989c56ffc16c052197bf115da5ed6",{"version":"662163e5327f260b23ca0a1a1ad8a74078aabb587c904fcb5ef518986987eaff","affectsGlobalScope":true},"a40826e8476694e90da94aa008283a7de50d1dafd37beada623863f1901cb7fb",{"version":"f85c06e750743acf31f0cfd3be284a364d469761649e29547d0dd6be48875150","affectsGlobalScope":true},"b0c0d1d13be149f790a75b381b413490f98558649428bb916fd2d71a3f47a134","3c884d9d9ec454bdf0d5a0b8465bf8297d2caa4d853851d92cc417ac6f30b969","0364f8bb461d6e84252412d4e5590feda4eb582f77d47f7a024a7a9ff105dfdc","5433f7f77cd1fd53f45bd82445a4e437b2f6a72a32070e907530a4fea56c30c8","d0ca5d7df114035258a9d01165be309371fcccf0cccd9d57b1453204686d1ed0",{"version":"ee1ee365d88c4c6c0c0a5a5701d66ebc27ccd0bcfcfaa482c6e2e7fe7b98edf7","affectsGlobalScope":true},{"version":"9a30b7fefd7f8abbca4828d481c61c18e40fe5ff107e113b1c1fcd2c8dcf2743","affectsGlobalScope":true},"173b6275a81ebdb283b180654890f46516c21199734fed01a773b1c168b8c45c","304f66274aa8119e8d65a49b1cff84cbf803def6afe1b2cc987386e9a9890e22","1b9adafe8a7fefaeaf9099a0e06f602903f6268438147b843a33a5233ac71745","98273274f2dbb79b0b2009b20f74eca4a7146a3447c912d580cd5d2d94a7ae30","c933f7ba4b201c98b14275fd11a14abb950178afd2074703250fe3654fc10cd2","dccdf1677e531e33f8ac961a68bc537418c9a414797c1ea7e91307501cdc3f5e",{"version":"ea455cc68871b049bcecd9f56d4cf27b852d6dafd5e3b54468ca87cc11604e4d","affectsGlobalScope":true},"8f5814f29dbaf8bacd1764aebdf1c8a6eb86381f6a188ddbac0fcbaab855ce52","a63d03de72adfb91777784015bd3b4125abd2f5ef867fc5a13920b5649e8f52b","d20e003f3d518a7c1f749dbe27c6ab5e3be7b3c905a48361b04a9557de4a6900",{"version":"452e8a437aa57fe832dece2a5d3ea8dd0ab1de03ca778d09798c56ece0a29e80","affectsGlobalScope":true},{"version":"a20f1e119615bf7632729fd89b6c0b5ffdc2df3b512d6304146294528e3ebe19","affectsGlobalScope":true},"575fb200043b11b464db8e42cc64379c5fd322b6d787638e005b5ee98a64486d","6de2f225d942562733e231a695534b30039bdf1875b377bb7255881f0df8ede8","56249fd3ef1f6b90888e606f4ea648c43978ef43a7263aafad64f8d83cd3b8aa","139ad1dc93a503da85b7a0d5f615bddbae61ad796bc68fedd049150db67a1e26","7b166975fdbd3b37afb64707b98bca88e46577bbc6c59871f9383a7df2daacd1","9eece5e586312581ccd106d4853e861aaaa1a39f8e3ea672b8c3847eedd12f6e","81505c54d7cad0009352eaa21bd923ab7cdee7ec3405357a54d9a5da033a2084","269929a24b2816343a178008ac9ae9248304d92a8ba8e233055e0ed6dbe6ef71","93452d394fdd1dc551ec62f5042366f011a00d342d36d50793b3529bfc9bd633",{"version":"73aa178e8fb1449ef3666093d8dca25f96302a80ee45f8ff027df8e4792bf9fd","affectsGlobalScope":true},"2ee1645e0df9d84467cfe1d67b0ad3003c2f387de55874d565094464ee6f2927",{"version":"f61ec7355ade6c4cffc2b121bab7bd6882a262c44b498f4fedbbbc8c8830a8cd","affectsGlobalScope":true},{"version":"9cf780e96b687e4bdfd1907ed26a688c18b89797490a00598fa8b8ab683335dd","affectsGlobalScope":true},"98e00f3613402504bc2a2c9a621800ab48e0a463d1eed062208a4ae98ad8f84c","9ae88ce9f73446c24b2d2452e993b676da1b31fca5ceb7276e7f36279f693ed1","e49d7625faff2a7842e4e7b9b197f972633fca685afcf6b4403400c97d087c36","b82c38abc53922b1b3670c3af6f333c21b735722a8f156e7d357a2da7c53a0a0",{"version":"b423f53647708043299ded4daa68d95c967a2ac30aa1437adc4442129d7d0a6c","affectsGlobalScope":true},{"version":"21fcdcb618236f0feaca7e511e2da10c19970f86e09c934cef2d45b340ad92b5","affectsGlobalScope":true},"4f0fc7b7f54422bd97cfaf558ddb4bca86893839367b746a8f86b60ac7619673","4cdd8b6b51599180a387cc7c1c50f49eca5ce06595d781638fd0216520d98246","d91a7d8b5655c42986f1bdfe2105c4408f472831c8f20cf11a8c3345b6b56c8c",{"version":"8704423bf338bff381ebc951ed819935d0252d90cd6de7dffe5b0a5debb65d07","affectsGlobalScope":true},"b33379077284c9e55d2410d814b71b15522c5f71f9e93e15a8c3c41d463b00f6",{"version":"ab9b9a36e5284fd8d3bf2f7d5fcbc60052f25f27e4d20954782099282c60d23e","affectsGlobalScope":true},"a42be67ed1ddaec743582f41fc219db96a1b69719fccac6d1464321178d610fc","c663a7e4ee2cb54d99cf095479a5bcf1dd18d762ffdfa038aa1b2d79b070b0d7","5463c98206a890ea7a759fbcc97b0c042ab1a740b3e24037f7fbf40bae70a3c5","5bccd6ffc11fed820a432ac819200e6af38f8c3625e6eae0cf0f07ca85856392","f30cfcfff28ee8f87563225b47239bb07b9b11edd09dda0ea6499b18cca1a30e","0edb8a97ead1fefd337458449050857e80740e31a3f76cffa656262f4e651a50","6d2d14bb016a70a5ee1afb1cc7718d4369fb645979c725454c688f791ac7218f","8d7622e53b676dfd20828ba435649c217a5d9dee9cdc3713ee808fa2140513da","56558ae167446acf230ea2cc072a835309a37ae63d286b484308afd8c504c2d6","8510595d2ca2660e6407be65d8bf95f0c53877dbb812e269cdd980fc34de5f78",{"version":"d9411d8047fa05102fa6a7ac24678d912d7fa8cf5f977543cc1c68b6879db77d","signature":"7ad3e0aaeb840047fa4711306188cac803514091f251b6baecb9b2aacf15b976"},"6d268309f0e15dd820b2df9806234166554cb4e2fe00d11737adcb4e5489f700","58cf96187feb10cc8ad3bb080871cd30888ef63bc5db131f11458850ef8f6245","9102986ff52326a2016e8cddc1cf3092f0808ac916dcc8dc2d2c7195cd181987","fa82b7b22d9df87323e31e9e2ad75911028f3e544647fd212424b3c4452fee3f","01f20dac9dc14f0d306e5d1215c5c1c3b4d1805905e60ae92fabac4031eae7da","9ceec2a882368c0160a8a3879aa0efce0fb985751fc23ff6191006030969cfa4","cad5d6451789234434c28dd2d6a8267b0d64c479b1ad267321faa31ba90d570b","6516fc98fa10b0cb22c7e332bacea4a7ea80257e113f6cdddd924d03bfde218e",{"version":"bfa4bb83799e6951616f1c9ddcdf8667fb2fcf10d916e511b483a7629d826b90","signature":"3cd33c37432c2de7bdd9f1d48b3ea4fd03afad4969cfc5ba88d81e6ed03f432c"},{"version":"bb3c6e08fd9ba9ecdff61464835611a6f4e3cfc481a93dbcca54955f1520b497","signature":"6db29cf7af1d68c8194d98f1c444cea3b30a2c65deda3428452efaa05717b81d"},{"version":"b372f7c0506cdd643db284d1236961d64af030b3620d5d24a37bd2838432294e","signature":"561ef05d7e369040c28800d878d7e6461af62e459460263e911d508f319c8d5d"},{"version":"a33d38497edafe33166b68a9a66b66b940370aa86d34e2a404a031af6abc2e0a","signature":"a1b60bd2328318dcbec30bdf529dad31a13315ff2df60c8bd71630c58a575b06"},{"version":"13cfe6635f9c03a7e6cf8a2292bcb958a5472b61f8571b13d344223fa3b55341","signature":"a399dd9b73e4bbfbed2ad1c1259d707f5f147f40dc5e3eeb541bf0bf2da42b25"},{"version":"ba761e7d79bacd46b8492fa7853c2f8f5f689cec8292f41ab6fa15beeb166a39","signature":"8cc6a35806cd10d448b0f2ab01fe0b6194ca57fdaced2d71781b68e83c55bd88"},{"version":"8bcf62f57052931576536b09b50c9f1e777b0cbb87ccdc6afb1a53ec8517cca1","signature":"8f364fec0ef20506aa9cf00b5cd8b620c1c0389687b11a3a32b0b5d4716ad894"},{"version":"438a50f997e321d98f7f6b46407e2a46acc5de9550569ed2d82ad3245bf83548","signature":"5d11703e2c5d4dbe00bbe79f3bc864d178cf8d6ebccc2d1448ea29e93654f029"},{"version":"0b188566ea6bb7f4251794faba6d0534505f75e08af589c5ce2497a34435c56e","signature":"f4e82c91aac3b61f3ad04f11a44c5b79f724ff8a09281d0afa24a6624633ff25"},"ed849d616865076f44a41c87f27698f7cdf230290c44bafc71d7c2bc6919b202",{"version":"f27753c06cdb9072f8ff706d23c24bfabb0224e575debf10ea01b7c1efe1cf1c","signature":"7b8b9017156ef8bf3bbe42785fac8956e5c9869f4a494536d7f548a7c1c7d98a"},{"version":"1c8dbedbe10722901b2da628b22a26921b8d1b11bfaaa220117850263cabba6f","signature":"07c34d1f83dfc5746de4229e01f0cb4d388a9f128eab6beadb4ae1621ebb87c6"},{"version":"a8985c08f974af3ba240ad89d4a2e483678fdfa3ed0d2741a6e9ed67d57d12d4","signature":"763bb8df872cbb8783e29e19bd7a1dea0f88f7fd7398343af38be8509a65df82"},{"version":"a031e8f05e3d040582f30fdf02a2b92dcee98ec44adb1a974a27ea47b7f46561","signature":"1950f058bfb5c505c748f9282d279455393e01b4c8670e7cc550d4f05613f981"},{"version":"4aab28c4bd16b397705467cce237518b886147480bedf08416294ea503e2728e","signature":"372b3681eb9618821c0e0e10bcc775b838e45b51912b8998bc5ba035100dc9e5"},{"version":"2ea09bfb3c0bc2a8f2dde6bd453b616d03a4a0372e8de6ba41a163a5015cc97e","signature":"c286b410193495d067668bcdbd13ea3f3a39001edff02edee248babf2652e563"},"18e2ed308bb90cde2d3d2b4ed6de12abe41b6f73e321616176b7f258de3c2774","929fc31f7523aaa1d19735b77e637af06e58d76007648ec088ecfbec1521cbfe","a6eb23f2a83113ce0ab7203bfda2be0888720f8d694a20abaef83b9f62832061","363dca5004ac5a3d9c2bba12812b97a64461911762f0b8f9320a8856ec53bcad","1447d46bff9e7c5c77da14515a7456ea5e919ce6e28f5e6746edf99818e4be47","557b8c7481296f4b7ed362320f3bbb40bb87404edf880c81224f365a8d1e17f3","283ed3d075bf7d3e8793f63b2a52f475ed84d95b7b6351c5d5bcc6c49d4b845b","7a6f74294b8fb90f5e3832be21e25898dd81b2a1adc36dda6929813ba4135311","3f1370424c252aed11747282fc619f04497e426f63917bf2182fd46d51adc58a","5d40e6a7071d0d1e6e558e17214ff786ecb3ea73e31b25a88c2cbe2435fa1252","9e1d4141a748616ed5138f4c01853738a6e06b24c92520aff77a6b0deadcf431","60cbc38a9b402c14c388a7254781752b279017b3adeb94b840dcbf4872a6a410","3d2ec84143e6462a786b5d9ecf06f4f6f67a59a1f16c5a3a5e41721ba8478b7f","96b8f393e636547f0477e387138cd7ca9a7c556343b89f446cfc5672dee5e643","2e34b7e7c07624978db18b34c8a528928a7c24bc4b047add3e9d90bdc49e267f","ba3f6f0ee47f46cdce55620aec5726de80e92a930982634afe9918c114c38f0b","6f38045547cdfd54ec19abcd943cace72c775fde739c5e0e1d917cf3030c16b5","6544dab49004fecb69a4ef775e9ad2773a6148b1f9bfd9b75508e3afa11f5d35","bd4c741820ec3574b7ed3b782c8d78034d6e4631d11997e701e6b955b86a87c1","e2dd36a524ea5b13de1ed104ede9cea79696588175c1df1940d6a29113a4aee0","ac63a01fcac70315fc9b416e9a57e568b18032c7cfcaa314e1751f03ef71286f","a878d4c7237a7af50e96534295fcf723134d70cbb1e9bfd8365266b912aee6ec",{"version":"74d37a17c3cdb67e03ede296c123bb0a4590f64614b6a303c857a50c76fd1f48","signature":"d5dc186100e52b4b8f97c9d09c6462cf6fa359a7d62d2403ebd596e843f68271"},{"version":"d26ee30a8f7c1bfe0b9954618224c24412832c8a91add7aa80d6fdf2a0a7745a","signature":"387e1f9577d2a83aca689b6abf6e3e86abae87f578e8788635baeb675f13e1df"},{"version":"51cb9f385c5ae02d228005eaabded3a1e9b51ee78cbae0a4f172f6ff9c3c8fc0","signature":"2ad4a77b1a4c9215f0391871d4da4afc3f23b1a813147a13ca9b3ad8ff85bd85"},{"version":"579945f69bb73bdbc126af5b84d68012733084dfb2e81bf178338e4567c46838","signature":"f88e179eb581dd7c9e8da094cd3505e7708ec9f973854b5d3c60ecaf3ebaa6b9"},{"version":"a6219ab754d1c77302f2fc9fe3437aa0dff7ba7dc614e38691f9d47e838536cc","signature":"85d9b79d06f74b9da7c0572065e3e71f5184e88523049dc61f2f31e1570fbb5f"},{"version":"0d2671b56be9f27055595b2f52a2b5ea130dbab296e0963a63aadc8f7416a5b3","signature":"27d091afaec0fb41ee0186f689a2f4be48f898600ee063a296b04a8cfea8429e"},"cc9ac6b245413dc56348b6c588ef2371e5d2f2179c62f272880ac41d36fba11f","130e4655e30a6d7a8004566642e24bf3016b5e5a2e5dcd72c0a61b663f7df711",{"version":"612f4324198c98cc596d05dbd8e02c93e64c19bf81d74ed44e2e3bc26c7a3dc3","signature":"62aba97d8d0ff6caa48694bc249de47bb92ad690ea5357ce3d8e44c44d186607"},"603177107b8f7d1e5b993470f4cdec86b61d48a052c5c12e51e340b93531334e","3fff2e6159326d7dbb59c163736a0c522f1cbba6730dc01823a973452666fccd","6a445cf1acf23219aac91c5909f5c338b9408fb7ae6467a434f0e15eff913814","6aa9a466f775ad6d8d48a4d69eac063e4ed47365dfa7aec82a8b554b70938bb4","c1dba063181dfe84123cc9e8afdb0e5a20a0ec72300def7786447499b67a61ff","fba062292ee802cb4f5de98f6f7fe10727fa0f3b8b5dfc5bc0ccb8f77a33ca4d",{"version":"35aed20164f7e1e9c8fa0e0dbe6c4baaf2042459251caba0d532af216af8cd7e","signature":"d67e678d1a4372e83c689185fe828ca49262a16ecdc9f53f9d0b190b26fb0ecc"},{"version":"65be30c9d1273048c3a137fcd7f88bcc584a3ce4b09a11f2c88e470057fe5cc8","signature":"ec9395ba50d412a16586a6951264ce0fad2e77d5be49f9b0b7d8c500d3fb8078"},"af89ab13b40dd28cd91818fc6329914d2b9663591831f032ff0f0cb4a028d4a5","63007f1618ada5041fb3b47630b64a9987d268bf740dd72334c38b5d23f5239b","3395f90467d2bb9db039a5c22ed6659ca2ff6f0b4f7ee5f223b0f77288f54ea7","20df2907d398e369d49e8906d6e0f096c465501e9ceff9d61293bf0f4e9020f1","302aa8248dab7c689c103162e542224aa7f3b0db46e29d0fb468fac721cf1c41","ea0a3bb69845621165c21e80ebb0d2b28dad22cd9920564516ce8e927a828f79","6a81475a67505af60be3242841c65ce4bf6d0b624d8b3fada646ba459a3eaad8","6834dd6cc060648604278cdb920a9316fa916e9116134b17dfad90e42800ca47","19fba62f1aab90f0110738261ed8bc1da82c89433fc43265f14870d4380d10b8","fbb2df54f4778b4d691bbc7c0a6e1e241dfffaca19f443cc9f230f450458bf89","da98d8109f379be48d459a6821ebd7cc728af62557e1c44f864e04360686af93","ef6e6d838cc600162626a53167046484f38e9a4bab9454e72350bed76c497228","cfe60041768a999abb3287444372ffedc9589ba9ba449548226b17a6da46ce35","c8b50ecedc9ff1b0e83c96f0a334d022874199f7c2d00d182ca6672176b0ea9d","b66ede73039e8751e06e3cab843e5a4265c1124a3285c3d854092c37a966b1f5",{"version":"1b33f32780e4d3da2bd1ba84fd71994e87a2bd37d2561b8d8e3b32637b2cd4b6","signature":"5456ba18b24c4a9a77f123c3a794df7a9023f0e8f9a6666b5ed31a939734a7a6"},{"version":"bce6042b814db95d7da4bdf53cc3010ac7f09330d20509523450e33387d9132e","signature":"d324925dc9b0f2349ea9c38e8cd0fc151f5520a02a7a44b50d4becac60d827ea"},"1f63ac6272e4d2d43cb25552b4ed8a89ffc86244ea655f685e8e3685433c7b23","91351db4fac763d38a774a29f00ffcaf186a88ef7a8d487acb9e03577d5fc8bc","094be99dc9410d3cb517ba523ae031864c5e258a3904ed8058773672768c2c6c","fafe1e5b2114bc57a6da341cad2bb44298543caa3fd7680e6bb0f29215048aa2","841f7ca2af7f4d9cca1f9fa2288a4849fc9d49ca15b47336892efd06a14dd1d8","796eea44840b57d4c6741d119d767c5ea294fdf610151158fd0a2f236cf21367","309ab701fcc8aa7f3c9b53fe84cb5ef7cbd579888de19423c8fc54402be9e8d9","5ad6d882be6f8e602795bc0bd0fac7806b16ba7715be494fe0279e2c5e3e23c0","596ab45ef67fa8dae4996a2a61dc5055ae2b3dc5102cf3b43ee7965a7088943b","a3f9f52ce73700565c8d9ba2aa75823ab8fc8e7258a27ecb828cd4257b8f918d","5f4884638ab10b753ec0c7406916fc746bb99cc0044b9a4a67b2006b7e57e8af","4b5603a1ccca455500cfb39517d41ec011f31ba84bb6de44473344a237d89168",{"version":"6a9eb9c5d3f7474937973fe4b0a9e53025634c2e39118eda436d89f3e9df976f","affectsGlobalScope":true},{"version":"86e56d97b13ef0a58bc9c59aee782ae7d47d63802b5b32129ec5e5d62c20dbfa","affectsGlobalScope":true},{"version":"c1f79c6d85cd84518fd7349588b3c61bdc189f58e3866f925cbf4631c81e31f9","affectsGlobalScope":true},{"version":"54db406753da16e177f094aa66da79840f447de6d87ddd1543a80c9418c52545","affectsGlobalScope":true},{"version":"42f28f4cfca4a70bd89c1d55d76c7978275030b894f6793f36890265c11a83a4","affectsGlobalScope":true},{"version":"7cf1027da9599f056355b46bbea31dbf7f715f797dffb9cbb3402d4490c503e5","affectsGlobalScope":true},"96dbd0787b57ae02981d26d5f2441f0f8444fb46d7578c56527eab89cff13a7d","68f02ba57c531227ef5804dd57f2e940b10c544c96dadd3c0ef958ba4b6fdbc1","91764b36fe5e1c5d688f5f90eeea47703a059ab9a81bf80f7bbc9b04507b7bd3","115327b8e1f68c03004d841b83e332ed16b8f48af59ac00f38313887d7ec2920","adb5ad16c19ff8dbfa9daa3a7dc8e1b039c381a2b94383144a53368681ad8ca0","a1f708ddf34053065f8f53682123421af299cee37ae110a86ba07851adf940da","395e6fa1fc8f46f827a5f7d3b7dabc836627ae57e41338f93c221b88d4978f15","749effab6d7e72df8d126868c82b8166cdde84d48453e44f65cbad42ad900b06","11705a4aad6e2e724b82ffee6c4fa271d798f0fb68806ace4b1c425c266f8d98","d68afd5ea85e35c4c4e8995e55f10d6861439ea9dc2666293c0cf4124bf56f32","d626f2c25d5d6daddb082576771a8e7b591233a7893a1739513c44f35a3f7489","7c59943d77166c1aecd731af8683a7b5a0984e1bc0427fa35be504d77c41fdcd","89dd83418d3c93418929123f21a02434537b5c79ede3c0c6ab5a495d602db155","8b1b666fe96fd9e713f1279a3e446f16ee824f46ca0c2c075e4e89f0b1258e6c","6aecbb60c2216da24acb86490f7c6270a820fd85424c8a509e3d284aa47f7a56","d357e56d630bcd0f63cfc678e306702555b4f791c2d8e07f037de39171be4cd3","238f87de951ed064c7ec3e30a987f386d4821bacfc8c7548cdccf848b8b6035c","a93ae01c9ed49ba423599144ffa3cd520db83e53b32471865905a65113bb3e59","6088973936033e869d3616b63d25c15363862b491f46af77d40a5215ee8cc1a8","9a4b7c467be504c4500cf6e54b0a3b8afdfbe0ed2c1da640202f44a7cef721b2","6de78fade656d64b03de50a84597d74c76e3ff5436a7ad082d01ce1d74099bf8","7d2a0ba1297be385a89b5515b88cd31b4a1eeef5236f710166dc1b36b1741e1b","9d92b037978bb9525bc4b673ebddd443277542e010c0aef019c03a170ccdaa73","54384a11c0f6ca8d5d8bab90d4bdab2c722aa8676a716340eb08082a02ca9ad6",{"version":"9253f5aa9552bf74e567cf957c0d019e3175cfaf39806d1e237bb6ac1030de37","signature":"c690e95d11aff99412d1ca20b622b02cb1603b032162a09621d7b0279a42b68e"},{"version":"f9c64057681304a919f6f6e8c5c102682d5f83cdd88c3227b6848e6dc59b7b90","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},"a62a02c433e6fee26404825310ad462433320ef2e9f80fa7b9156135fd975f8f","22f15ae5c80b3e795da92636aa03d8f981811d067d82bff01ca54093c0535ec0","b56d4bc83ec01834829979ad57de59b4947cd62f71b102ab0040b6960d5bdc81","a10213415bf98670b026b77a90c7933594f0b5c34bde5b74e80134fdf0331bba",{"version":"ebeb47324e6f4c9ce1e1aae7bee0383907e554b45dc5efd6cc02570e2f04dec4","signature":"b6d8db2aba9da17434e5b89238a83f61c4351117eb983386099cb2da471e3fc0"},{"version":"0229ccedabd55ed02687fb1c7f0754a4b3e492dd962abe84c693734a25d383d6","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"f57a831a821c73281c1a1ff6aea7a77979a935c38dd054b6bb0d17d5a88de16f","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},"5bca2169d85cde638dc45542bb3674c42e5a0eea70ac2737cb48848a0c9e10b4","3319e44b7252ab86cf9e519b9bdf95ac5a2cacfb859fecf2fee171ce1c0a35b5",{"version":"bdb020c4b9eafeed0f0dab872b2dc231d048a024638f5ab8643427b04aca8a60","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},"27679e96d1bd38c5938178aaf4abe8627493090b63d6bae2ce8436e6a87ebe4d","136f00f14878a614113b221f2797dd7f5a7fb2220f95cbbbc390a85675f991c0","b04de4c5a5e9e0cc6b6b3d99b0e046705d9226fc384cb89c73014b2be4a84417","af4eea486904e256eb4e3a79c21355b9b065298952e9f2a0a921e8d75168f4a7","1841e57d29c33dd1798d82ceca05b7a95430b7976f14dabd4bcf81f6d114f235","cd4ee8e901877e80dcb0d073d489cb18a512993164a531332b88279c0874664e","db4d7c9c5038c75e1df338d780a6c06c79589b5105f138dd29b62310aab749fe","b056f955c85dd0eb196ff290138eb4a83787c3f413505b9ae2676a602be7d40d","02f124f948535d4bbf50970ed38a8adb34c8c4289148fb0e6287eef4d86a0be5","27573b15894c6311146838fa3b45786bacc013a4bca6c84adc1b11a4e7c8a4c0","510616459e6edd01acbce333fb256e06bdffdad43ca233a9090164bf8bb83912","3725da27619321470183eb7dd61190b139e5bcc4cf9366d6d828906a76e31742",{"version":"972db20765d00e12aeac350389e9232348f910d12eb7f9c73024c41201977a02","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"d4c318be1af78176bc87a945dbf5ffee8c3aa4430071b0b9a9040b348332c526","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"e37a60516fbd37a8e1b5754e0c4d83dcdebf8caa69af9e2f85128d2ad3a14671","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"badc99c99a2a4937bbc9c0b45d1fe87fdb76de541ecc4df06190c6b176576a26","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"57cc9477892b65bc1ac29fe692bf94b09e99a4aef71de4ad43deba65d517fd4e","signature":"e8e1588ea2f394850673db82c023d00334ee1adc8020f878dec1397f29599310"},{"version":"be6841ef527743e78855852946f910a72c13a7c958e3b23291623c3b473039e4","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"e9de90ec37c779c529f4ed850b6061e7614f656a3e9b28d58da922d25abc001f","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"28edc4982430b64f209794844087f5211a7a10e69b923f08b26496032901425a","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"fcc9bfbc389ea5ba817d368038a8d11f8c30f3e92ec89722503fbe088602ed17","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"b38fb980b2970ce5ee0961f36fc1caf8b021a9d93bdef7375936cbcc701f2afe","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"dc00f4ea8deeeeda44f2ada171bdb3e225a35d47d2995133bd6b0692d15fd965","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"2e5bc0aaa314127b7a9eb69781d884e83778aa1ab188c39fa44ca915848862d5","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"37abf966f15aea02fef48da8fb22a179f24cd0bbe365d44e1925d6496d722adb","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},"4ef576c5a52f34423f6328a6834c6fc874c6683a0626c0f21d6b2209f460dffd","7b195dbf43d2194d18627fe3e190979b5bd2f0752001193260c89b01c36460e2","7350c835566c20d980134ad870a072daa93754c6b65d602a46f2bc2e2ae12165","ee9b614565fe2e96c3202c092ea4e4bc902f51d1508bf8015d8f2275686ab040","f6f278c43d4e70fe1abb2c826a0b1c1ea7c4f6ff50b272aacdda3b39c51f4d61","c4e851542f10b993f5eff6dc91f4ca474e570b7c4c4098ebc4bb3ec84528504e","e86f647e06504800fe4b635e5f4a208d9518a47d317e55735764d4261957f1a0","5ccc3c7f73ef48c223635cd4506f21133560de7abc4c09c623327bb1b54386dc",{"version":"68e64f59387b867ac2095c6703ae2b29cf9238182c0d2f6c819c137c7b7e477c","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"21af2545d0971da878ee5759ecfabcd607bb4c2c7e37f6e8bdf1e9afa7c2cb09","signature":"cef616486b509f32ffa4cfc089081383e016ce41b2be7c3feabcb93a0de727d6"},{"version":"13181ae8f64d6d1c1845f8e57a4e1e52dc72993bd3a439360ae135f45992377d","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"a47dab43c145ad4ac232acd1d87313adbf913f0457947fa82759f97318df54f5","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"b9369fb6d4997b2aa16b9e736c7816cc35a8d1f60dc9a09592bb5e9654597ca6","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},"66336b5a5d5e897e932cbf1e306ff8ac8a9929971409a8049c8c8a249cd8b57c",{"version":"92cea114cd7f8323105dfed55e06ea98770ceae98facf77e1815c70cef032e50","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"5b31a8edcc52ba5af5085fa8477f51fb723d0c2f71edb5e648ec24c1ba0a1f72","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},"42baf4ca38c38deaf411ea73f37bc39ff56c6e5c761a968b64ac1b25c92b5cd8","d7dbe0ad36bdca8a6ecf143422a48e72cc8927bab7b23a1a2485c2f78a7022c6","8718fa41d7cf4aa91de4e8f164c90f88e0bf343aa92a1b9b725a9c675c64e16b","f992cd6cc0bcbaa4e6c810468c90f2d8595f8c6c3cf050c806397d3de8585562","68cc8d6fcc2f270d7108f02f3ebc59480a54615be3e09a47e14527f349e9d53e","3eb11dbf3489064a47a2e1cf9d261b1f100ef0b3b50ffca6c44dd99d6dd81ac1","bc222163edcb8df6ba9b506d053d6c5afcae50e85695151cf4636a3107deaba9","035a5df183489c2e22f3cf59fc1ed2b043d27f357eecc0eb8d8e840059d44245","f3d8c757e148ad968f0d98697987db363070abada5f503da3c06aefd9d4248c1","96d14f21b7652903852eef49379d04dbda28c16ed36468f8c9fa08f7c14c9538","fec943fdb3275eb6e006b35e04a8e2e99e9adf3f4b969ddf15315ac7575a93e4","742f21debb3937c3839a63245648238555bdab1ea095d43fd10c88a64029bf76","7cfdf3b9a5ba934a058bfc9390c074104dc7223b7e3c16fd5335206d789bc3d3","0944f27ebff4b20646b71e7e3faaaae50a6debd40bc63e225de1320dd15c5795","5d30565583300c9256072a013ac0318cc603ff769b4c5cafc222394ea93963e1","8a7219b41d3c1c93f3f3b779146f313efade2404eeece88dcd366df7e2364977","a109c4289d59d9019cfe1eeab506fe57817ee549499b02a83a7e9d3bdf662d63","89121c1bf2990f5219bfd802a3e7fc557de447c62058d6af68d6b6348d64499a","d4a22007b481fe2a2e6bfd3a42c00cd62d41edb36d30fc4697df2692e9891fc8","8841e2aa774b89bd23302dede20663306dc1b9902431ac64b24be8b8d0e3f649","fbca5ffaebf282ec3cdac47b0d1d4a138a8b0bb32105251a38acb235087d3318",{"version":"90ebf5865e27d8966ef44b073e6e83b0ddd45058bab1d58b1e4b5a47d36396c4","affectsGlobalScope":true},"cb482592bfcbdfcefa8d155590399e8bff66277e60e17bfada7c2f31322e7b87","22293bd6fa12747929f8dfca3ec1684a3fe08638aa18023dd286ab337e88a592","916be7d770b0ae0406be9486ac12eb9825f21514961dd050594c4b250617d5a8","cf3d384d082b933d987c4e2fe7bfb8710adfd9dc8155190056ed6695a25a559e","9871b7ee672bc16c78833bdab3052615834b08375cb144e4d2cba74473f4a589","c863198dae89420f3c552b5a03da6ed6d0acfa3807a64772b895db624b0de707","8b03a5e327d7db67112ebbc93b4f744133eda2c1743dbb0a990c61a8007823ef","86c73f2ee1752bac8eeeece234fd05dfcf0637a4fbd8032e4f5f43102faa8eec","42fad1f540271e35ca37cecda12c4ce2eef27f0f5cf0f8dd761d723c744d3159","ff3743a5de32bee10906aff63d1de726f6a7fd6ee2da4b8229054dfa69de2c34","83acd370f7f84f203e71ebba33ba61b7f1291ca027d7f9a662c6307d74e4ac22","1445cec898f90bdd18b2949b9590b3c012f5b7e1804e6e329fb0fe053946d5ec","0e5318ec2275d8da858b541920d9306650ae6ac8012f0e872fe66eb50321a669","cf530297c3fb3a92ec9591dd4fa229d58b5981e45fe6702a0bd2bea53a5e59be","c1f6f7d08d42148ddfe164d36d7aba91f467dbcb3caa715966ff95f55048b3a4","f4e9bf9103191ef3b3612d3ec0044ca4044ca5be27711fe648ada06fad4bcc85","0c1ee27b8f6a00097c2d6d91a21ee4d096ab52c1e28350f6362542b55380059a","7677d5b0db9e020d3017720f853ba18f415219fb3a9597343b1b1012cfd699f7","bc1c6bc119c1784b1a2be6d9c47addec0d83ef0d52c8fbe1f14a51b4dfffc675","52cf2ce99c2a23de70225e252e9822a22b4e0adb82643ab0b710858810e00bf1","770625067bb27a20b9826255a8d47b6b5b0a2d3dfcbd21f89904c731f671ba77","d1ed6765f4d7906a05968fb5cd6d1db8afa14dbe512a4884e8ea5c0f5e142c80","799c0f1b07c092626cf1efd71d459997635911bb5f7fc1196efe449bba87e965","2a184e4462b9914a30b1b5c41cf80c6d3428f17b20d3afb711fff3f0644001fd","9eabde32a3aa5d80de34af2c2206cdc3ee094c6504a8d0c2d6d20c7c179503cc","397c8051b6cfcb48aa22656f0faca2553c5f56187262135162ee79d2b2f6c966","a8ead142e0c87dcd5dc130eba1f8eeed506b08952d905c47621dc2f583b1bff9","a02f10ea5f73130efca046429254a4e3c06b5475baecc8f7b99a0014731be8b3","c2576a4083232b0e2d9bd06875dd43d371dee2e090325a9eac0133fd5650c1cb","4c9a0564bb317349de6a24eb4efea8bb79898fa72ad63a1809165f5bd42970dd","f40ac11d8859092d20f953aae14ba967282c3bb056431a37fced1866ec7a2681","cc11e9e79d4746cc59e0e17473a59d6f104692fd0eeea1bdb2e206eabed83b03","b444a410d34fb5e98aa5ee2b381362044f4884652e8bc8a11c8fe14bbd85518e","c35808c1f5e16d2c571aa65067e3cb95afeff843b259ecfa2fc107a9519b5392","14d5dc055143e941c8743c6a21fa459f961cbc3deedf1bfe47b11587ca4b3ef5","a3ad4e1fc542751005267d50a6298e6765928c0c3a8dce1572f2ba6ca518661c","f237e7c97a3a89f4591afd49ecb3bd8d14f51a1c4adc8fcae3430febedff5eb6","3ffdfbec93b7aed71082af62b8c3e0cc71261cc68d796665faa1e91604fbae8f","662201f943ed45b1ad600d03a90dffe20841e725203ced8b708c91fcd7f9379a","c9ef74c64ed051ea5b958621e7fb853fe3b56e8787c1587aefc6ea988b3c7e79","2462ccfac5f3375794b861abaa81da380f1bbd9401de59ffa43119a0b644253d","34baf65cfee92f110d6653322e2120c2d368ee64b3c7981dff08ed105c4f19b0","7d8ddf0f021c53099e34ee831a06c394d50371816caa98684812f089b4c6b3d4",{"version":"525b52b38b44420fb1758c0917e7b67cf379f7f9477d2ba7343f3d5f50a44258","affectsGlobalScope":true},"4006c872e38a2c4e09c593bc0cdd32b7b4f5c4843910bea0def631c483fff6c5","ab6aa3a65d473871ee093e3b7b71ed0f9c69e07d1d4295f45c9efd91a771241d","bae8d023ef6b23df7da26f51cea44321f95817c190342a36882e93b80d07a960","26a770cec4bd2e7dbba95c6e536390fffe83c6268b78974a93727903b515c4e7","74d5a87c3616cd5d8691059d531504403aa857e09cbaecb1c64dfb9ace0db185"],"root":[[65,67],209,[218,226],[228,233],[256,261],264,271,272,288,289,332,333,[338,340],343,[356,368],[377,381],383,384],"options":{"allowJs":true,"checkJs":true,"composite":true,"declaration":true,"declarationMap":true,"emitDeclarationOnly":false,"esModuleInterop":true,"importsNotUsedAsValues":0,"module":7,"noEmitOnError":true,"noFallthroughCasesInSwitch":true,"noImplicitReturns":true,"noUnusedLocals":true,"noUnusedParameters":false,"outDir":"./","removeComments":false,"skipLibCheck":true,"sourceMap":true,"strict":true,"stripInternal":true,"target":9,"useUnknownInCatchVariables":true},"fileIdsList":[[334,336],[335],[265,266,267,268],[372],[370,371],[370],[369],[234,244,245,246],[241],[201,240,242,243],[73,201,349,350,351],[201],[85,201,287],[73,86,201,287],[73,86],[290,291,292,293,296,297,298,299,300],[73,85,86,201],[103,201,295],[201,287],[201,287,341],[85],[80,85,201,281],[273,282,283,284,285,286],[73,201],[80,85,201],[73,75,86,87,201],[75,85,87],[73,75,85,86,201],[72,88,201],[161,199],[74,75,80,85,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,104,105,106,200],[70,72,73],[87],[88,90],[70,72,74],[75,85],[75,88,201],[74,75,85],[73,74,75,87,90,103],[73,74],[73,86,87,201],[75,87],[80,85,87,90,97,201],[274,275,276,277,278,279,280],[201,276],[201,274],[201,275],[70,72,201],[85,201,316],[73,201,281,287,348],[73,86,201,294],[79,80],[79],[77,78,81],[85,269],[76,81,83,84],[81,83,85],[82,85],[161,164,191,199,385,386,387],[302],[389],[199],[396],[397,399],[400],[402],[398],[107],[148],[149,154,183],[150,155,161,162,169,180,191],[150,151,161,169],[152,192],[153,154,162,170],[154,180,188],[155,157,161,169],[148,156],[157,158],[161],[159,161],[148,161],[161,162,163,180,191],[161,162,163,176,180,183],[146,196],[157,161,164,169,180,191],[161,162,164,165,169,180,188,191],[164,166,180,188,191],[107,108,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198],[161,167],[168,191,196],[157,161,169,180],[170],[171],[148,172],[107,108,148,149,150,151,152,153,154,155,156,157,158,159,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197],[174],[175],[161,176,177],[176,178,192,194],[149,161,180,181,182,183],[149,180,182],[180,181],[183],[184],[107,180],[161,186,187],[186,187],[154,169,180,188],[189],[169,190],[149,164,175,191],[154,192],[180,193],[168,194],[195],[149,154,161,163,172,180,191,194,196],[180,197],[164,180,199],[410,449],[410,434,449],[449],[410],[410,435,449],[410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448],[435,449],[302,330],[329],[453],[161,180,199],[86,374],[302,303,304,305,306,307],[302,303],[316,320],[316,318,319,321,322,323,324,325,326,327],[316,320,321,328],[313,316,320,321],[316,320,321],[316,320,323],[316,328],[313,315],[255],[314],[73,86,204,206],[73,86,206],[73,203,205],[86],[68],[240,249,250,251],[71,72],[71],[69],[238],[70],[70,208],[236],[72,208,235,236,237,239],[68,69,70,71,238],[68,69,70],[310],[344,345,346,347],[345],[345,346],[354],[217],[210],[73,210],[210,211,212,213,214,215,216],[73,217],[330],[253],[240,252],[118,122,191],[118,180,191],[113],[115,118,188,191],[169,188],[113,199],[115,118,169,191],[110,111,114,117,149,161,180,191],[118,125],[110,116],[118,139,140],[114,118,149,183,191,199],[149,199],[139,149,199],[112,113,199],[118],[112,113,114,115,116,117,118,119,120,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,140,141,142,143,144,145],[118,133],[118,125,126],[116,118,126,127],[117],[110,113,118],[118,122,126,127],[122],[116,118,121,191],[110,115,118,125],[149,180],[113,118,139,149,196,199],[65,66,73,85,103,201,202,206,207,208,209,218,219,220,222,224,230,231,232,233,256,257,260,261,264,271,272,287],[218,219],[218],[201,218,219,221],[223,225],[221,223,229],[66,227],[67],[201,219,222,223,224,225,226,228],[219],[73,103,201,206,207],[219,222],[85,201,218],[201,202,208,218,219,244,247,248,254,255],[258,259,260],[201,262,263],[85,270],[201,219,244],[201,254,255,301,308,309,311,312,332],[201,202,244,287,288,294,308,330,331,338],[201,301,308,311,332],[207,373,375,376],[254,308,332,373,378],[154,218,373],[272,373],[201,288,294,317,328,342],[66,201,218,223,254,301,308,312,332,352,353,355,360,378,382],[201,254,301,308,311,332,352,353,355],[66,201,202,244,254,287,288,294,301,308,311,330,331,332],[66,201,301,308,311,332],[66,201,301,308,311,332,353],[218,219,220,254,259,262,308,360],[66,230,308],[230,308],[202,219,222,223,225,230,244,294,308,330,353,360],[202,222,230,231,244,294,308],[272,308,330],[66,202,233,244,259,308,353,360],[224,308],[161,201,202,244,287,288,294,301,317,328,331],[201,288,308,312,332],[201,202,218,219,244,254,338],[218,254,259,337],[65,201,209,218,219,220,222,230,232,233,287],[227],[201,218,219],[201,219],[201,288],[201,288,332],[201,218,219,338]],"referencedMap":[[337,1],[336,2],[269,3],[373,4],[372,5],[371,6],[370,7],[247,8],[242,9],[244,10],[243,9],[352,11],[290,12],[291,13],[292,14],[299,15],[301,16],[300,12],[293,17],[296,18],[297,19],[298,19],[342,20],[273,21],[282,22],[287,23],[283,12],[284,24],[285,12],[286,25],[99,26],[100,27],[87,28],[89,29],[200,30],[201,31],[74,32],[91,33],[101,34],[75,35],[88,36],[92,37],[93,38],[104,39],[105,40],[95,33],[97,41],[96,42],[98,43],[294,12],[277,12],[281,44],[276,12],[274,12],[275,12],[280,45],[278,46],[279,47],[202,48],[317,49],[349,50],[262,12],[295,51],[81,52],[78,53],[77,53],[79,54],[270,55],[84,21],[85,56],[76,21],[82,57],[83,58],[388,59],[303,60],[307,60],[305,60],[390,61],[391,62],[395,30],[397,63],[400,64],[401,65],[403,66],[399,67],[107,68],[108,68],[148,69],[149,70],[150,71],[151,72],[152,73],[153,74],[154,75],[155,76],[156,77],[157,78],[158,78],[160,79],[159,80],[161,81],[162,82],[163,83],[147,84],[164,85],[165,86],[166,87],[199,88],[167,89],[168,90],[169,91],[170,92],[171,93],[172,94],[173,95],[174,96],[175,97],[176,98],[177,98],[178,99],[180,100],[182,101],[181,102],[183,103],[184,104],[185,105],[186,106],[187,107],[188,108],[189,109],[190,110],[191,111],[192,112],[193,113],[194,114],[195,115],[196,116],[197,117],[387,118],[434,119],[435,120],[410,121],[413,121],[432,119],[433,119],[423,119],[422,122],[420,119],[415,119],[428,119],[426,119],[430,119],[414,119],[427,119],[431,119],[416,119],[417,119],[429,119],[411,119],[418,119],[419,119],[421,119],[425,119],[436,123],[424,119],[412,119],[449,124],[443,123],[445,125],[444,123],[437,123],[438,123],[440,123],[442,123],[446,125],[447,125],[439,125],[441,125],[450,126],[330,127],[454,128],[455,129],[375,130],[308,131],[306,60],[304,132],[321,133],[328,134],[323,135],[322,136],[325,137],[327,138],[319,139],[324,135],[326,137],[316,140],[313,141],[315,142],[205,143],[203,144],[206,145],[207,146],[204,15],[385,79],[251,147],[252,148],[69,149],[72,150],[238,151],[249,152],[250,152],[208,153],[236,154],[263,155],[240,156],[239,157],[71,158],[311,159],[348,160],[346,161],[347,162],[355,163],[312,159],[210,164],[213,165],[214,165],[211,166],[212,165],[217,167],[215,168],[216,164],[331,169],[254,170],[255,170],[253,171],[125,172],[135,173],[124,172],[145,174],[116,175],[115,176],[144,62],[138,177],[143,178],[118,179],[132,180],[117,181],[141,182],[113,183],[112,184],[142,185],[114,186],[119,187],[123,187],[146,188],[136,189],[127,190],[128,191],[130,192],[126,193],[129,194],[139,62],[121,195],[122,196],[131,197],[111,198],[134,189],[133,187],[140,199],[288,200],[220,201],[289,202],[218,168],[222,203],[226,204],[230,205],[228,206],[223,207],[221,207],[229,208],[225,209],[231,204],[232,210],[233,211],[219,212],[256,213],[257,202],[261,214],[259,141],[264,215],[271,216],[260,217],[333,218],[339,219],[340,220],[377,221],[379,222],[380,223],[381,224],[343,225],[383,226],[356,227],[357,228],[358,229],[359,230],[361,231],[362,232],[363,233],[364,234],[365,235],[366,220],[367,236],[368,237],[384,238],[332,239],[378,240],[360,241],[338,242]],"exportedModulesMap":[[337,1],[336,2],[269,3],[373,4],[372,5],[371,6],[370,7],[247,8],[242,9],[244,10],[243,9],[352,11],[290,12],[291,13],[292,14],[299,15],[301,16],[300,12],[293,17],[296,18],[297,19],[298,19],[342,20],[273,21],[282,22],[287,23],[283,12],[284,24],[285,12],[286,25],[99,26],[100,27],[87,28],[89,29],[200,30],[201,31],[74,32],[91,33],[101,34],[75,35],[88,36],[92,37],[93,38],[104,39],[105,40],[95,33],[97,41],[96,42],[98,43],[294,12],[277,12],[281,44],[276,12],[274,12],[275,12],[280,45],[278,46],[279,47],[202,48],[317,49],[349,50],[262,12],[295,51],[81,52],[78,53],[77,53],[79,54],[270,55],[84,21],[85,56],[76,21],[82,57],[83,58],[388,59],[303,60],[307,60],[305,60],[390,61],[391,62],[395,30],[397,63],[400,64],[401,65],[403,66],[399,67],[107,68],[108,68],[148,69],[149,70],[150,71],[151,72],[152,73],[153,74],[154,75],[155,76],[156,77],[157,78],[158,78],[160,79],[159,80],[161,81],[162,82],[163,83],[147,84],[164,85],[165,86],[166,87],[199,88],[167,89],[168,90],[169,91],[170,92],[171,93],[172,94],[173,95],[174,96],[175,97],[176,98],[177,98],[178,99],[180,100],[182,101],[181,102],[183,103],[184,104],[185,105],[186,106],[187,107],[188,108],[189,109],[190,110],[191,111],[192,112],[193,113],[194,114],[195,115],[196,116],[197,117],[387,118],[434,119],[435,120],[410,121],[413,121],[432,119],[433,119],[423,119],[422,122],[420,119],[415,119],[428,119],[426,119],[430,119],[414,119],[427,119],[431,119],[416,119],[417,119],[429,119],[411,119],[418,119],[419,119],[421,119],[425,119],[436,123],[424,119],[412,119],[449,124],[443,123],[445,125],[444,123],[437,123],[438,123],[440,123],[442,123],[446,125],[447,125],[439,125],[441,125],[450,126],[330,127],[454,128],[455,129],[375,130],[308,131],[306,60],[304,132],[321,133],[328,134],[323,135],[322,136],[325,137],[327,138],[319,139],[324,135],[326,137],[316,140],[313,141],[315,142],[205,143],[203,144],[206,145],[207,146],[204,15],[385,79],[251,147],[252,148],[69,149],[72,150],[238,151],[249,152],[250,152],[208,153],[236,154],[263,155],[240,156],[239,157],[71,158],[311,159],[348,160],[346,161],[347,162],[355,163],[312,159],[210,164],[213,165],[214,165],[211,166],[212,165],[217,167],[215,168],[216,164],[331,169],[254,170],[255,170],[253,171],[125,172],[135,173],[124,172],[145,174],[116,175],[115,176],[144,62],[138,177],[143,178],[118,179],[132,180],[117,181],[141,182],[113,183],[112,184],[142,185],[114,186],[119,187],[123,187],[146,188],[136,189],[127,190],[128,191],[130,192],[126,193],[129,194],[139,62],[121,195],[122,196],[131,197],[111,198],[134,189],[133,187],[140,199],[288,243],[220,201],[289,202],[218,168],[222,203],[226,204],[230,205],[228,244],[229,208],[225,209],[231,204],[232,24],[233,211],[219,212],[256,245],[257,202],[261,214],[264,12],[271,21],[260,246],[332,247],[378,248],[360,249],[338,202]],"semanticDiagnosticsPerFile":[334,337,336,335,268,269,266,267,265,373,372,371,370,369,234,247,242,244,241,243,245,246,350,351,352,341,290,291,292,299,301,300,293,296,297,298,342,273,282,287,283,284,285,286,99,100,87,89,106,90,200,201,74,91,101,75,88,92,93,102,104,105,94,95,97,96,98,294,277,281,276,274,275,280,278,279,202,317,349,262,295,81,78,77,79,270,84,85,76,82,83,388,303,307,305,302,390,391,386,392,393,394,395,396,397,400,401,403,398,399,404,405,406,389,407,107,108,148,149,150,151,152,153,154,155,156,157,158,160,159,161,162,163,147,198,164,165,166,199,167,168,169,170,171,172,173,174,175,176,177,178,179,180,182,181,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,408,409,387,354,434,435,410,413,432,433,423,422,420,415,428,426,430,414,427,431,416,417,429,411,418,419,421,425,436,424,412,449,448,443,445,444,437,438,440,442,446,447,439,441,450,330,329,451,452,402,453,454,455,374,375,308,109,306,304,321,318,328,323,322,325,327,319,324,326,353,227,344,316,313,314,315,320,376,205,203,206,207,103,204,86,385,251,68,252,69,235,72,238,249,250,208,236,70,263,240,239,71,237,309,311,348,346,347,345,355,310,312,80,210,213,214,211,212,217,215,216,331,63,64,11,12,15,14,2,16,17,18,19,20,21,22,23,3,24,4,25,29,26,27,28,30,31,32,5,33,34,35,36,6,40,37,38,39,41,7,42,47,48,43,44,45,46,8,52,49,50,51,53,9,54,55,56,59,57,58,60,61,10,1,62,13,73,248,382,254,255,253,125,135,124,145,116,115,144,138,143,118,132,117,141,113,112,142,114,119,120,123,110,146,136,127,128,130,126,129,139,121,122,131,111,134,133,137,140,65,66,67,288,220,209,289,218,222,226,230,228,223,221,229,225,231,232,233,219,256,257,261,259,264,271,260,224,258,272,333,339,340,377,379,380,381,343,383,356,357,358,359,361,362,363,364,365,366,367,368,384,332,378,360,338],"latestChangedDtsFile":"./test/unit/set.test.d.ts"},"version":"5.4.5"} \ No newline at end of file +diff --git a/node_modules/@chainsafe/libp2p-gossipsub/src/errors.ts b/node_modules/@chainsafe/libp2p-gossipsub/src/errors.ts +new file mode 100644 +index 0000000..19723cf +--- /dev/null ++++ b/node_modules/@chainsafe/libp2p-gossipsub/src/errors.ts +@@ -0,0 +1,17 @@ ++export class InvalidPeerScoreParamsError extends Error { ++ static name = 'InvalidPeerScoreParamsError' ++ ++ constructor (message = 'Invalid peer score params') { ++ super(message) ++ this.name = 'InvalidPeerScoreParamsError' ++ } ++} ++ ++export class InvalidPeerScoreThresholdsError extends Error { ++ static name = 'InvalidPeerScoreThresholdsError' ++ ++ constructor (message = 'Invalid peer score thresholds') { ++ super(message) ++ this.name = 'InvalidPeerScoreThresholdsError' ++ } ++} diff --git a/node_modules/@chainsafe/libp2p-gossipsub/src/index.ts b/node_modules/@chainsafe/libp2p-gossipsub/src/index.ts -index 1f821e2..72227e6 100644 +index 1f821e2..782c053 100644 --- a/node_modules/@chainsafe/libp2p-gossipsub/src/index.ts +++ b/node_modules/@chainsafe/libp2p-gossipsub/src/index.ts @@ -1,8 +1,9 @@ @@ -5467,7 +5942,14 @@ index 1f821e2..72227e6 100644 const p = peer.toString() if (this.peers.has(p)) { -@@ -2616,7 +2619,7 @@ export class GossipSub extends TypedEventEmitter implements Pub +@@ -2610,13 +2613,13 @@ export class GossipSub extends TypedEventEmitter implements Pub + try { + peerInfo = await this.components.peerStore.get(id) + } catch (err: any) { +- if (err.code !== 'ERR_NOT_FOUND') { ++ if (err.name !== 'NotFoundError') { + throw err + } } return { @@ -5476,6 +5958,359 @@ index 1f821e2..72227e6 100644 signedPeerRecord: peerInfo?.peerRecordEnvelope } }) +diff --git a/node_modules/@chainsafe/libp2p-gossipsub/src/message/rpc.ts b/node_modules/@chainsafe/libp2p-gossipsub/src/message/rpc.ts +index a31ab91..32990a7 100644 +--- a/node_modules/@chainsafe/libp2p-gossipsub/src/message/rpc.ts ++++ b/node_modules/@chainsafe/libp2p-gossipsub/src/message/rpc.ts +@@ -4,7 +4,7 @@ + /* eslint-disable @typescript-eslint/no-unnecessary-boolean-literal-compare */ + /* eslint-disable @typescript-eslint/no-empty-interface */ + +-import { type Codec, CodeError, decodeMessage, type DecodeOptions, encodeMessage, message } from 'protons-runtime' ++import { type Codec, decodeMessage, type DecodeOptions, encodeMessage, MaxLengthError, message } from 'protons-runtime' + import type { Uint8ArrayList } from 'uint8arraylist' + + export interface RPC { +@@ -256,34 +256,42 @@ export namespace RPC { + switch (tag >>> 3) { + case 1: { + if (opts.limits?.ihave != null && obj.ihave.length === opts.limits.ihave) { +- throw new CodeError('decode error - map field "ihave" had too many elements', 'ERR_MAX_LENGTH') ++ throw new MaxLengthError('Decode error - map field "ihave" had too many elements') + } + +- obj.ihave.push(RPC.ControlIHave.codec().decode(reader, reader.uint32())) ++ obj.ihave.push(RPC.ControlIHave.codec().decode(reader, reader.uint32(), { ++ limits: opts.limits?.ihave$ ++ })) + break + } + case 2: { + if (opts.limits?.iwant != null && obj.iwant.length === opts.limits.iwant) { +- throw new CodeError('decode error - map field "iwant" had too many elements', 'ERR_MAX_LENGTH') ++ throw new MaxLengthError('Decode error - map field "iwant" had too many elements') + } + +- obj.iwant.push(RPC.ControlIWant.codec().decode(reader, reader.uint32())) ++ obj.iwant.push(RPC.ControlIWant.codec().decode(reader, reader.uint32(), { ++ limits: opts.limits?.iwant$ ++ })) + break + } + case 3: { + if (opts.limits?.graft != null && obj.graft.length === opts.limits.graft) { +- throw new CodeError('decode error - map field "graft" had too many elements', 'ERR_MAX_LENGTH') ++ throw new MaxLengthError('Decode error - map field "graft" had too many elements') + } + +- obj.graft.push(RPC.ControlGraft.codec().decode(reader, reader.uint32())) ++ obj.graft.push(RPC.ControlGraft.codec().decode(reader, reader.uint32(), { ++ limits: opts.limits?.graft$ ++ })) + break + } + case 4: { + if (opts.limits?.prune != null && obj.prune.length === opts.limits.prune) { +- throw new CodeError('decode error - map field "prune" had too many elements', 'ERR_MAX_LENGTH') ++ throw new MaxLengthError('Decode error - map field "prune" had too many elements') + } + +- obj.prune.push(RPC.ControlPrune.codec().decode(reader, reader.uint32())) ++ obj.prune.push(RPC.ControlPrune.codec().decode(reader, reader.uint32(), { ++ limits: opts.limits?.prune$ ++ })) + break + } + default: { +@@ -356,7 +364,7 @@ export namespace RPC { + } + case 2: { + if (opts.limits?.messageIDs != null && obj.messageIDs.length === opts.limits.messageIDs) { +- throw new CodeError('decode error - map field "messageIDs" had too many elements', 'ERR_MAX_LENGTH') ++ throw new MaxLengthError('Decode error - map field "messageIDs" had too many elements') + } + + obj.messageIDs.push(reader.bytes()) +@@ -422,7 +430,7 @@ export namespace RPC { + switch (tag >>> 3) { + case 1: { + if (opts.limits?.messageIDs != null && obj.messageIDs.length === opts.limits.messageIDs) { +- throw new CodeError('decode error - map field "messageIDs" had too many elements', 'ERR_MAX_LENGTH') ++ throw new MaxLengthError('Decode error - map field "messageIDs" had too many elements') + } + + obj.messageIDs.push(reader.bytes()) +@@ -562,10 +570,12 @@ export namespace RPC { + } + case 2: { + if (opts.limits?.peers != null && obj.peers.length === opts.limits.peers) { +- throw new CodeError('decode error - map field "peers" had too many elements', 'ERR_MAX_LENGTH') ++ throw new MaxLengthError('Decode error - map field "peers" had too many elements') + } + +- obj.peers.push(RPC.PeerInfo.codec().decode(reader, reader.uint32())) ++ obj.peers.push(RPC.PeerInfo.codec().decode(reader, reader.uint32(), { ++ limits: opts.limits?.peers$ ++ })) + break + } + case 3: { +@@ -708,22 +718,28 @@ export namespace RPC { + switch (tag >>> 3) { + case 1: { + if (opts.limits?.subscriptions != null && obj.subscriptions.length === opts.limits.subscriptions) { +- throw new CodeError('decode error - map field "subscriptions" had too many elements', 'ERR_MAX_LENGTH') ++ throw new MaxLengthError('Decode error - map field "subscriptions" had too many elements') + } + +- obj.subscriptions.push(RPC.SubOpts.codec().decode(reader, reader.uint32())) ++ obj.subscriptions.push(RPC.SubOpts.codec().decode(reader, reader.uint32(), { ++ limits: opts.limits?.subscriptions$ ++ })) + break + } + case 2: { + if (opts.limits?.messages != null && obj.messages.length === opts.limits.messages) { +- throw new CodeError('decode error - map field "messages" had too many elements', 'ERR_MAX_LENGTH') ++ throw new MaxLengthError('Decode error - map field "messages" had too many elements') + } + +- obj.messages.push(RPC.Message.codec().decode(reader, reader.uint32())) ++ obj.messages.push(RPC.Message.codec().decode(reader, reader.uint32(), { ++ limits: opts.limits?.messages$ ++ })) + break + } + case 3: { +- obj.control = RPC.ControlMessage.codec().decode(reader, reader.uint32()) ++ obj.control = RPC.ControlMessage.codec().decode(reader, reader.uint32(), { ++ limits: opts.limits?.control ++ }) + break + } + default: { +diff --git a/node_modules/@chainsafe/libp2p-gossipsub/src/score/constants.ts b/node_modules/@chainsafe/libp2p-gossipsub/src/score/constants.ts +deleted file mode 100644 +index 6647428..0000000 +--- a/node_modules/@chainsafe/libp2p-gossipsub/src/score/constants.ts ++++ /dev/null +@@ -1,2 +0,0 @@ +-export const ERR_INVALID_PEER_SCORE_PARAMS = 'ERR_INVALID_PEER_SCORE_PARAMS' +-export const ERR_INVALID_PEER_SCORE_THRESHOLDS = 'ERR_INVALID_PEER_SCORE_THRESHOLDS' +diff --git a/node_modules/@chainsafe/libp2p-gossipsub/src/score/peer-score-params.ts b/node_modules/@chainsafe/libp2p-gossipsub/src/score/peer-score-params.ts +index cf2761c..8048d28 100644 +--- a/node_modules/@chainsafe/libp2p-gossipsub/src/score/peer-score-params.ts ++++ b/node_modules/@chainsafe/libp2p-gossipsub/src/score/peer-score-params.ts +@@ -1,5 +1,4 @@ +-import { CodeError } from '@libp2p/interface' +-import { ERR_INVALID_PEER_SCORE_PARAMS } from './constants.js' ++import { InvalidPeerScoreParamsError } from '../errors.js' + + // This file defines PeerScoreParams and TopicScoreParams interfaces + // as well as constructors, default constructors, and validation functions +@@ -203,51 +202,42 @@ export function validatePeerScoreParams (p: PeerScoreParams): void { + try { + validateTopicScoreParams(params) + } catch (e) { +- throw new CodeError( +- `invalid score parameters for topic ${topic}: ${(e as Error).message}`, +- ERR_INVALID_PEER_SCORE_PARAMS +- ) ++ throw new InvalidPeerScoreParamsError(`invalid score parameters for topic ${topic}: ${(e as Error).message}`) + } + } + + // check that the topic score is 0 or something positive + if (p.topicScoreCap < 0) { +- throw new CodeError('invalid topic score cap; must be positive (or 0 for no cap)', ERR_INVALID_PEER_SCORE_PARAMS) ++ throw new InvalidPeerScoreParamsError('invalid topic score cap; must be positive (or 0 for no cap)') + } + + // check that we have an app specific score; the weight can be anything (but expected positive) + if (p.appSpecificScore === null || p.appSpecificScore === undefined) { +- throw new CodeError('missing application specific score function', ERR_INVALID_PEER_SCORE_PARAMS) ++ throw new InvalidPeerScoreParamsError('missing application specific score function') + } + + // check the IP colocation factor + if (p.IPColocationFactorWeight > 0) { +- throw new CodeError( +- 'invalid IPColocationFactorWeight; must be negative (or 0 to disable)', +- ERR_INVALID_PEER_SCORE_PARAMS +- ) ++ throw new InvalidPeerScoreParamsError('invalid IPColocationFactorWeight; must be negative (or 0 to disable)') + } + if (p.IPColocationFactorWeight !== 0 && p.IPColocationFactorThreshold < 1) { +- throw new CodeError('invalid IPColocationFactorThreshold; must be at least 1', ERR_INVALID_PEER_SCORE_PARAMS) ++ throw new InvalidPeerScoreParamsError('invalid IPColocationFactorThreshold; must be at least 1') + } + + // check the behaviour penalty + if (p.behaviourPenaltyWeight > 0) { +- throw new CodeError( +- 'invalid BehaviourPenaltyWeight; must be negative (or 0 to disable)', +- ERR_INVALID_PEER_SCORE_PARAMS +- ) ++ throw new InvalidPeerScoreParamsError('invalid BehaviourPenaltyWeight; must be negative (or 0 to disable)') + } + if (p.behaviourPenaltyWeight !== 0 && (p.behaviourPenaltyDecay <= 0 || p.behaviourPenaltyDecay >= 1)) { +- throw new CodeError('invalid BehaviourPenaltyDecay; must be between 0 and 1', ERR_INVALID_PEER_SCORE_PARAMS) ++ throw new InvalidPeerScoreParamsError('invalid BehaviourPenaltyDecay; must be between 0 and 1') + } + + // check the decay parameters + if (p.decayInterval < 1000) { +- throw new CodeError('invalid DecayInterval; must be at least 1s', ERR_INVALID_PEER_SCORE_PARAMS) ++ throw new InvalidPeerScoreParamsError('invalid DecayInterval; must be at least 1s') + } + if (p.decayToZero <= 0 || p.decayToZero >= 1) { +- throw new CodeError('invalid DecayToZero; must be between 0 and 1', ERR_INVALID_PEER_SCORE_PARAMS) ++ throw new InvalidPeerScoreParamsError('invalid DecayToZero; must be between 0 and 1') + } + + // no need to check the score retention; a value of 0 means that we don't retain scores +@@ -257,82 +247,70 @@ export function validatePeerScoreParams (p: PeerScoreParams): void { + export function validateTopicScoreParams (p: TopicScoreParams): void { + // make sure we have a sane topic weight + if (p.topicWeight < 0) { +- throw new CodeError('invalid topic weight; must be >= 0', ERR_INVALID_PEER_SCORE_PARAMS) ++ throw new InvalidPeerScoreParamsError('invalid topic weight; must be >= 0') + } + + // check P1 + if (p.timeInMeshQuantum === 0) { +- throw new CodeError('invalid TimeInMeshQuantum; must be non zero', ERR_INVALID_PEER_SCORE_PARAMS) ++ throw new InvalidPeerScoreParamsError('invalid TimeInMeshQuantum; must be non zero') + } + if (p.timeInMeshWeight < 0) { +- throw new CodeError('invalid TimeInMeshWeight; must be positive (or 0 to disable)', ERR_INVALID_PEER_SCORE_PARAMS) ++ throw new InvalidPeerScoreParamsError('invalid TimeInMeshWeight; must be positive (or 0 to disable)') + } + if (p.timeInMeshWeight !== 0 && p.timeInMeshQuantum <= 0) { +- throw new CodeError('invalid TimeInMeshQuantum; must be positive', ERR_INVALID_PEER_SCORE_PARAMS) ++ throw new InvalidPeerScoreParamsError('invalid TimeInMeshQuantum; must be positive') + } + if (p.timeInMeshWeight !== 0 && p.timeInMeshCap <= 0) { +- throw new CodeError('invalid TimeInMeshCap; must be positive', ERR_INVALID_PEER_SCORE_PARAMS) ++ throw new InvalidPeerScoreParamsError('invalid TimeInMeshCap; must be positive') + } + + // check P2 + if (p.firstMessageDeliveriesWeight < 0) { +- throw new CodeError( +- 'invallid FirstMessageDeliveriesWeight; must be positive (or 0 to disable)', +- ERR_INVALID_PEER_SCORE_PARAMS +- ) ++ throw new InvalidPeerScoreParamsError('invallid FirstMessageDeliveriesWeight; must be positive (or 0 to disable)') + } + if ( + p.firstMessageDeliveriesWeight !== 0 && + (p.firstMessageDeliveriesDecay <= 0 || p.firstMessageDeliveriesDecay >= 1) + ) { +- throw new CodeError('invalid FirstMessageDeliveriesDecay; must be between 0 and 1', ERR_INVALID_PEER_SCORE_PARAMS) ++ throw new InvalidPeerScoreParamsError('invalid FirstMessageDeliveriesDecay; must be between 0 and 1') + } + if (p.firstMessageDeliveriesWeight !== 0 && p.firstMessageDeliveriesCap <= 0) { +- throw new CodeError('invalid FirstMessageDeliveriesCap; must be positive', ERR_INVALID_PEER_SCORE_PARAMS) ++ throw new InvalidPeerScoreParamsError('invalid FirstMessageDeliveriesCap; must be positive') + } + + // check P3 + if (p.meshMessageDeliveriesWeight > 0) { +- throw new CodeError( +- 'invalid MeshMessageDeliveriesWeight; must be negative (or 0 to disable)', +- ERR_INVALID_PEER_SCORE_PARAMS +- ) ++ throw new InvalidPeerScoreParamsError('invalid MeshMessageDeliveriesWeight; must be negative (or 0 to disable)') + } + if (p.meshMessageDeliveriesWeight !== 0 && (p.meshMessageDeliveriesDecay <= 0 || p.meshMessageDeliveriesDecay >= 1)) { +- throw new CodeError('invalid MeshMessageDeliveriesDecay; must be between 0 and 1', ERR_INVALID_PEER_SCORE_PARAMS) ++ throw new InvalidPeerScoreParamsError('invalid MeshMessageDeliveriesDecay; must be between 0 and 1') + } + if (p.meshMessageDeliveriesWeight !== 0 && p.meshMessageDeliveriesCap <= 0) { +- throw new CodeError('invalid MeshMessageDeliveriesCap; must be positive', ERR_INVALID_PEER_SCORE_PARAMS) ++ throw new InvalidPeerScoreParamsError('invalid MeshMessageDeliveriesCap; must be positive') + } + if (p.meshMessageDeliveriesWeight !== 0 && p.meshMessageDeliveriesThreshold <= 0) { +- throw new CodeError('invalid MeshMessageDeliveriesThreshold; must be positive', ERR_INVALID_PEER_SCORE_PARAMS) ++ throw new InvalidPeerScoreParamsError('invalid MeshMessageDeliveriesThreshold; must be positive') + } + if (p.meshMessageDeliveriesWindow < 0) { +- throw new CodeError('invalid MeshMessageDeliveriesWindow; must be non-negative', ERR_INVALID_PEER_SCORE_PARAMS) ++ throw new InvalidPeerScoreParamsError('invalid MeshMessageDeliveriesWindow; must be non-negative') + } + if (p.meshMessageDeliveriesWeight !== 0 && p.meshMessageDeliveriesActivation < 1000) { +- throw new CodeError('invalid MeshMessageDeliveriesActivation; must be at least 1s', ERR_INVALID_PEER_SCORE_PARAMS) ++ throw new InvalidPeerScoreParamsError('invalid MeshMessageDeliveriesActivation; must be at least 1s') + } + + // check P3b + if (p.meshFailurePenaltyWeight > 0) { +- throw new CodeError( +- 'invalid MeshFailurePenaltyWeight; must be negative (or 0 to disable)', +- ERR_INVALID_PEER_SCORE_PARAMS +- ) ++ throw new InvalidPeerScoreParamsError('invalid MeshFailurePenaltyWeight; must be negative (or 0 to disable)') + } + if (p.meshFailurePenaltyWeight !== 0 && (p.meshFailurePenaltyDecay <= 0 || p.meshFailurePenaltyDecay >= 1)) { +- throw new CodeError('invalid MeshFailurePenaltyDecay; must be between 0 and 1', ERR_INVALID_PEER_SCORE_PARAMS) ++ throw new InvalidPeerScoreParamsError('invalid MeshFailurePenaltyDecay; must be between 0 and 1') + } + + // check P4 + if (p.invalidMessageDeliveriesWeight > 0) { +- throw new CodeError( +- 'invalid InvalidMessageDeliveriesWeight; must be negative (or 0 to disable)', +- ERR_INVALID_PEER_SCORE_PARAMS +- ) ++ throw new InvalidPeerScoreParamsError('invalid InvalidMessageDeliveriesWeight; must be negative (or 0 to disable)') + } + if (p.invalidMessageDeliveriesDecay <= 0 || p.invalidMessageDeliveriesDecay >= 1) { +- throw new CodeError('invalid InvalidMessageDeliveriesDecay; must be between 0 and 1', ERR_INVALID_PEER_SCORE_PARAMS) ++ throw new InvalidPeerScoreParamsError('invalid InvalidMessageDeliveriesDecay; must be between 0 and 1') + } + } +diff --git a/node_modules/@chainsafe/libp2p-gossipsub/src/score/peer-score-thresholds.ts b/node_modules/@chainsafe/libp2p-gossipsub/src/score/peer-score-thresholds.ts +index b2e8dcc..b50225b 100644 +--- a/node_modules/@chainsafe/libp2p-gossipsub/src/score/peer-score-thresholds.ts ++++ b/node_modules/@chainsafe/libp2p-gossipsub/src/score/peer-score-thresholds.ts +@@ -1,5 +1,4 @@ +-import { CodeError } from '@libp2p/interface' +-import { ERR_INVALID_PEER_SCORE_THRESHOLDS } from './constants.js' ++import { InvalidPeerScoreThresholdsError } from '../errors.js' + + // This file defines PeerScoreThresholds interface + // as well as a constructor, default constructor, and validation function +@@ -54,24 +53,18 @@ export function createPeerScoreThresholds (p: Partial = {}) + + export function validatePeerScoreThresholds (p: PeerScoreThresholds): void { + if (p.gossipThreshold > 0) { +- throw new CodeError('invalid gossip threshold; it must be <= 0', ERR_INVALID_PEER_SCORE_THRESHOLDS) ++ throw new InvalidPeerScoreThresholdsError('invalid gossip threshold; it must be <= 0') + } + if (p.publishThreshold > 0 || p.publishThreshold > p.gossipThreshold) { +- throw new CodeError( +- 'invalid publish threshold; it must be <= 0 and <= gossip threshold', +- ERR_INVALID_PEER_SCORE_THRESHOLDS +- ) ++ throw new InvalidPeerScoreThresholdsError('invalid publish threshold; it must be <= 0 and <= gossip threshold') + } + if (p.graylistThreshold > 0 || p.graylistThreshold > p.publishThreshold) { +- throw new CodeError( +- 'invalid graylist threshold; it must be <= 0 and <= publish threshold', +- ERR_INVALID_PEER_SCORE_THRESHOLDS +- ) ++ throw new InvalidPeerScoreThresholdsError('invalid graylist threshold; it must be <= 0 and <= publish threshold') + } + if (p.acceptPXThreshold < 0) { +- throw new CodeError('invalid accept PX threshold; it must be >= 0', ERR_INVALID_PEER_SCORE_THRESHOLDS) ++ throw new InvalidPeerScoreThresholdsError('invalid accept PX threshold; it must be >= 0') + } + if (p.opportunisticGraftThreshold < 0) { +- throw new CodeError('invalid opportunistic grafting threshold; it must be >= 0', ERR_INVALID_PEER_SCORE_THRESHOLDS) ++ throw new InvalidPeerScoreThresholdsError('invalid opportunistic grafting threshold; it must be >= 0') + } + } diff --git a/node_modules/@chainsafe/libp2p-gossipsub/src/utils/buildRawMessage.ts b/node_modules/@chainsafe/libp2p-gossipsub/src/utils/buildRawMessage.ts index 71b4007..3771dea 100644 --- a/node_modules/@chainsafe/libp2p-gossipsub/src/utils/buildRawMessage.ts diff --git a/patches/@chainsafe+libp2p-yamux+6.0.2.patch b/patches/@chainsafe+libp2p-yamux+6.0.2.patch new file mode 100644 index 0000000000..43f88d6e46 --- /dev/null +++ b/patches/@chainsafe+libp2p-yamux+6.0.2.patch @@ -0,0 +1,2295 @@ +diff --git a/node_modules/@chainsafe/libp2p-yamux/dist/index.min.js b/node_modules/@chainsafe/libp2p-yamux/dist/index.min.js +index 2e9672b..3d35f7c 100644 +--- a/node_modules/@chainsafe/libp2p-yamux/dist/index.min.js ++++ b/node_modules/@chainsafe/libp2p-yamux/dist/index.min.js +@@ -1,3 +1,3 @@ + (function (root, factory) {(typeof module === 'object' && module.exports) ? module.exports = factory() : root.ChainsafeLibp2PYamux = factory()}(typeof self !== 'undefined' ? self : this, function () { +-"use strict";var ChainsafeLibp2PYamux=(()=>{var Y=Object.defineProperty;var At=Object.getOwnPropertyDescriptor;var Dt=Object.getOwnPropertyNames;var xt=Object.prototype.hasOwnProperty;var vt=(r,t)=>{for(var e in t)Y(r,e,{get:t[e],enumerable:!0})},Lt=(r,t,e,s)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of Dt(t))!xt.call(r,n)&&n!==e&&Y(r,n,{get:()=>t[n],enumerable:!(s=At(t,n))||s.enumerable});return r};var Ct=r=>Lt(Y({},"__esModule",{value:!0}),r);var Xt={};vt(Xt,{GoAwayCode:()=>m,yamux:()=>Bt});var a=class extends Error{code;props;constructor(t,e,s){super(t),this.code=e,this.name=s?.name??"CodeError",this.props=s??{}}};var H=(r,...t)=>{try{[...t]}catch{}};function W(r){if(r!=null){if(typeof r[Symbol.iterator]=="function")return r[Symbol.iterator]();if(typeof r[Symbol.asyncIterator]=="function")return r[Symbol.asyncIterator]();if(typeof r.next=="function")return r}throw new Error("argument is not an iterator or iterable")}function y(){let r={};return r.promise=new Promise((t,e)=>{r.resolve=t,r.reject=e}),r}var M=class{buffer;mask;top;btm;next;constructor(t){if(!(t>0)||t-1&t)throw new Error("Max size for a FixedFIFO should be a power of two");this.buffer=new Array(t),this.mask=t-1,this.top=0,this.btm=0,this.next=null}push(t){return this.buffer[this.top]!==void 0?!1:(this.buffer[this.top]=t,this.top=this.top+1&this.mask,!0)}shift(){let t=this.buffer[this.btm];if(t!==void 0)return this.buffer[this.btm]=void 0,this.btm=this.btm+1&this.mask,t}isEmpty(){return this.buffer[this.btm]===void 0}},x=class{size;hwm;head;tail;constructor(t={}){this.hwm=t.splitLimit??16,this.head=new M(this.hwm),this.tail=this.head,this.size=0}calculateSize(t){return t?.byteLength!=null?t.byteLength:1}push(t){if(t?.value!=null&&(this.size+=this.calculateSize(t.value)),!this.head.push(t)){let e=this.head;this.head=e.next=new M(2*this.head.buffer.length),this.head.push(t)}}shift(){let t=this.tail.shift();if(t===void 0&&this.tail.next!=null){let e=this.tail.next;this.tail.next=null,this.tail=e,t=this.tail.shift()}return t?.value!=null&&(this.size-=this.calculateSize(t.value)),t}isEmpty(){return this.head.isEmpty()}};var q=class extends Error{type;code;constructor(t,e){super(t??"The operation was aborted"),this.type="aborted",this.code=e??"ABORT_ERR"}};function k(r={}){return Tt(e=>{let s=e.shift();if(s==null)return{done:!0};if(s.error!=null)throw s.error;return{done:s.done===!0,value:s.value}},r)}function Tt(r,t){t=t??{};let e=t.onEnd,s=new x,n,i,o,l=y(),u=async()=>{try{return s.isEmpty()?o?{done:!0}:await new Promise((h,I)=>{i=U=>{i=null,s.push(U);try{h(r(s))}catch(D){I(D)}return n}}):r(s)}finally{s.isEmpty()&&queueMicrotask(()=>{l.resolve(),l=y()})}},w=h=>i!=null?i(h):(s.push(h),n),b=h=>(s=new x,i!=null?i({error:h}):(s.push({error:h}),n)),d=h=>{if(o)return n;if(t?.objectMode!==!0&&h?.byteLength==null)throw new Error("objectMode was not true but tried to push non-Uint8Array value");return w({done:!1,value:h})},p=h=>o?n:(o=!0,h!=null?b(h):w({done:!0})),O=()=>(s=new x,p(),{done:!0}),_t=h=>(p(h),{done:!0});if(n={[Symbol.asyncIterator](){return this},next:u,return:O,throw:_t,push:d,end:p,get readableLength(){return s.size},onEmpty:async h=>{let I=h?.signal;if(I?.throwIfAborted(),s.isEmpty())return;let U,D;I!=null&&(U=new Promise((zt,It)=>{D=()=>{It(new q)},I.addEventListener("abort",D)}));try{await Promise.race([l.promise,U])}finally{D!=null&&I!=null&&I?.removeEventListener("abort",D)}}},e==null)return n;let A=n;return n={[Symbol.asyncIterator](){return this},next(){return A.next()},throw(h){return A.throw(h),e!=null&&(e(h),e=void 0),{done:!0}},return(){return A.return(),e!=null&&(e(),e=void 0),{done:!0}},push:d,end(h){return A.end(h),e!=null&&(e(h),e=void 0),n},get readableLength(){return A.readableLength},onEmpty:h=>A.onEmpty(h)},n}function v(r){return globalThis.Buffer!=null?new Uint8Array(r.buffer,r.byteOffset,r.byteLength):r}function E(r=0){return globalThis.Buffer?.alloc!=null?v(globalThis.Buffer.alloc(r)):new Uint8Array(r)}function C(r=0){return globalThis.Buffer?.allocUnsafe!=null?v(globalThis.Buffer.allocUnsafe(r)):new Uint8Array(r)}function K(r,t){if(globalThis.Buffer!=null)return v(globalThis.Buffer.concat(r,t));t==null&&(t=r.reduce((n,i)=>n+i.length,0));let e=C(t),s=0;for(let n of r)e.set(n,s),s+=n.length;return v(e)}function it(r,t){if(r===t)return!0;if(r.byteLength!==t.byteLength)return!1;for(let e=0;e0&&this.appendAll(t)}*[Symbol.iterator](){yield*this.bufs}get byteLength(){return this.length}append(...t){this.appendAll(t)}appendAll(t){let e=0;for(let s of t)if(s instanceof Uint8Array)e+=s.byteLength,this.bufs.push(s);else if(P(s))e+=s.byteLength,this.bufs.push(...s.bufs);else throw new Error("Could not append value, must be an Uint8Array or a Uint8ArrayList");this.length+=e}prepend(...t){this.prependAll(t)}prependAll(t){let e=0;for(let s of t.reverse())if(s instanceof Uint8Array)e+=s.byteLength,this.bufs.unshift(s);else if(P(s))e+=s.byteLength,this.bufs.unshift(...s.bufs);else throw new Error("Could not prepend value, must be an Uint8Array or a Uint8ArrayList");this.length+=e}get(t){let e=ot(this.bufs,t);return e.buf[e.index]}set(t,e){let s=ot(this.bufs,t);s.buf[s.index]=e}write(t,e=0){if(t instanceof Uint8Array)for(let s=0;s0;)if(t>=this.bufs[0].byteLength)t-=this.bufs[0].byteLength,this.length-=this.bufs[0].byteLength,this.bufs.shift();else{this.bufs[0]=this.bufs[0].subarray(t),this.length-=t;break}}}slice(t,e){let{bufs:s,length:n}=this._subList(t,e);return K(s,n)}subarray(t,e){let{bufs:s,length:n}=this._subList(t,e);return s.length===1?s[0]:K(s,n)}sublist(t,e){let{bufs:s,length:n}=this._subList(t,e),i=new r;return i.length=n,i.bufs=[...s],i}_subList(t,e){if(t=t??0,e=e??this.length,t<0&&(t=this.length+t),e<0&&(e=this.length+e),t<0||e>this.length)throw new RangeError("index is out of bounds");if(t===e)return{bufs:[],length:0};if(t===0&&e===this.length)return{bufs:this.bufs,length:this.length};let s=[],n=0;for(let i=0;i=u)continue;let w=t>=l&&tl&&e<=u;if(w&&b){if(t===l&&e===u){s.push(o);break}let d=t-l;s.push(o.subarray(d,d+(e-t)));break}if(w){if(t===0){s.push(o);continue}s.push(o.subarray(t-l));continue}if(b){if(e===u){s.push(o);break}s.push(o.subarray(0,e-l));break}s.push(o)}return{bufs:s,length:e-t}}indexOf(t,e=0){if(!P(t)&&!(t instanceof Uint8Array))throw new TypeError('The "value" argument must be a Uint8ArrayList or Uint8Array');let s=t instanceof Uint8Array?t:t.subarray();if(e=Number(e??0),isNaN(e)&&(e=0),e<0&&(e=this.length+e),e<0&&(e=0),t.length===0)return e>this.length?this.length:e;let n=s.byteLength;if(n===0)throw new TypeError("search must be at least 1 byte long");let i=256,o=new Int32Array(i);for(let d=0;d=0;p--){let O=this.get(d+p);if(s[p]!==O){b=Math.max(1,p-l[O]);break}}if(b===0)return d}return-1}getInt8(t){let e=this.subarray(t,t+1);return new DataView(e.buffer,e.byteOffset,e.byteLength).getInt8(0)}setInt8(t,e){let s=C(1);new DataView(s.buffer,s.byteOffset,s.byteLength).setInt8(0,e),this.write(s,t)}getInt16(t,e){let s=this.subarray(t,t+2);return new DataView(s.buffer,s.byteOffset,s.byteLength).getInt16(0,e)}setInt16(t,e,s){let n=E(2);new DataView(n.buffer,n.byteOffset,n.byteLength).setInt16(0,e,s),this.write(n,t)}getInt32(t,e){let s=this.subarray(t,t+4);return new DataView(s.buffer,s.byteOffset,s.byteLength).getInt32(0,e)}setInt32(t,e,s){let n=E(4);new DataView(n.buffer,n.byteOffset,n.byteLength).setInt32(0,e,s),this.write(n,t)}getBigInt64(t,e){let s=this.subarray(t,t+8);return new DataView(s.buffer,s.byteOffset,s.byteLength).getBigInt64(0,e)}setBigInt64(t,e,s){let n=E(8);new DataView(n.buffer,n.byteOffset,n.byteLength).setBigInt64(0,e,s),this.write(n,t)}getUint8(t){let e=this.subarray(t,t+1);return new DataView(e.buffer,e.byteOffset,e.byteLength).getUint8(0)}setUint8(t,e){let s=C(1);new DataView(s.buffer,s.byteOffset,s.byteLength).setUint8(0,e),this.write(s,t)}getUint16(t,e){let s=this.subarray(t,t+2);return new DataView(s.buffer,s.byteOffset,s.byteLength).getUint16(0,e)}setUint16(t,e,s){let n=E(2);new DataView(n.buffer,n.byteOffset,n.byteLength).setUint16(0,e,s),this.write(n,t)}getUint32(t,e){let s=this.subarray(t,t+4);return new DataView(s.buffer,s.byteOffset,s.byteLength).getUint32(0,e)}setUint32(t,e,s){let n=E(4);new DataView(n.buffer,n.byteOffset,n.byteLength).setUint32(0,e,s),this.write(n,t)}getBigUint64(t,e){let s=this.subarray(t,t+8);return new DataView(s.buffer,s.byteOffset,s.byteLength).getBigUint64(0,e)}setBigUint64(t,e,s){let n=E(8);new DataView(n.buffer,n.byteOffset,n.byteLength).setBigUint64(0,e,s),this.write(n,t)}getFloat32(t,e){let s=this.subarray(t,t+4);return new DataView(s.buffer,s.byteOffset,s.byteLength).getFloat32(0,e)}setFloat32(t,e,s){let n=E(4);new DataView(n.buffer,n.byteOffset,n.byteLength).setFloat32(0,e,s),this.write(n,t)}getFloat64(t,e){let s=this.subarray(t,t+8);return new DataView(s.buffer,s.byteOffset,s.byteLength).getFloat64(0,e)}setFloat64(t,e,s){let n=E(8);new DataView(n.buffer,n.byteOffset,n.byteLength).setFloat64(0,e,s),this.write(n,t)}equals(t){if(t==null||!(t instanceof r)||t.bufs.length!==this.bufs.length)return!1;for(let e=0;en+i.byteLength,0)),s.length=e,s}};var L="ERR_INVALID_FRAME",$="ERR_UNREQUESTED_PING",Q="ERR_NOT_MATCHING_PING",j="ERR_STREAM_ALREADY_EXISTS",J="ERR_DECODE_INVALID_VERSION",Z="ERR_BOTH_CLIENTS",tt="ERR_RECV_WINDOW_EXCEEDED",lt=new Set([L,$,Q,j,J,Z,tt]),R="ERR_INVALID_CONFIG",V="ERR_MUXER_LOCAL_CLOSED",et="ERR_MUXER_REMOTE_CLOSED";var ht="ERR_STREAM_ABORT",ut="ERROR_MAX_OUTBOUND_STREAMS_EXCEEDED",ct="ERR_DECODE_IN_PROGRESS",T=256*1024,ft=16*1024*1024;var dt={enableKeepAlive:!0,keepAliveInterval:3e4,maxInboundStreams:1e3,maxOutboundStreams:1e3,initialStreamWindowSize:T,maxStreamWindowSize:ft,maxMessageSize:64*1024};function mt(r){if(r.keepAliveInterval<=0)throw new a("keep-alive interval must be positive",R);if(r.maxInboundStreams<0)throw new a("max inbound streams must be larger or equal 0",R);if(r.maxOutboundStreams<0)throw new a("max outbound streams must be larger or equal 0",R);if(r.initialStreamWindowSize2**32-1)throw new a("MaxStreamWindowSize must be less than equal MAX_UINT32",R);if(r.maxMessageSize<1024)throw new a("MaxMessageSize must be greater than a kilobyte",R)}var f;(function(r){r[r.Data=0]="Data",r[r.WindowUpdate=1]="WindowUpdate",r[r.Ping=2]="Ping",r[r.GoAway=3]="GoAway"})(f||(f={}));var c;(function(r){r[r.SYN=1]="SYN",r[r.ACK=2]="ACK",r[r.FIN=4]="FIN",r[r.RST=8]="RST"})(c||(c={}));var ge=Object.values(c).filter(r=>typeof r!="string"),gt=0,m;(function(r){r[r.NormalTermination=0]="NormalTermination",r[r.ProtocolError=1]="ProtocolError",r[r.InternalError=2]="InternalError"})(m||(m={}));var _=12;var wt=2**24;function Nt(r){if(r[0]!==gt)throw new a("Invalid frame version",J);return{type:r[1],flag:(r[2]<<8)+r[3],streamID:r[4]*wt+(r[5]<<16)+(r[6]<<8)+r[7],length:r[8]*wt+(r[9]<<16)+(r[10]<<8)+r[11]}}var F=class{source;buffer;frameInProgress;constructor(t){this.source=Ot(t),this.buffer=new S,this.frameInProgress=!1}async*emitFrames(){for await(let t of this.source)for(this.buffer.append(t);;){let e=this.readHeader();if(e===void 0)break;let{type:s,length:n}=e;s===f.Data?(this.frameInProgress=!0,yield{header:e,readData:this.readBytes.bind(this,n)}):yield{header:e}}}readHeader(){if(this.frameInProgress)throw new a("decoding frame already in progress",ct);if(this.buffer.length<_)return;let t=Nt(this.buffer.subarray(0,_));return this.buffer.consume(_),t}async readBytes(t){if(this.buffer.length=t)break}let e=this.buffer.sublist(0,t);return this.buffer.consume(t),this.frameInProgress=!1,e}};function Ot(r){if(r[Symbol.iterator]!==void 0){let t=r[Symbol.iterator]();return t.return=void 0,{[Symbol.iterator](){return t}}}else if(r[Symbol.asyncIterator]!==void 0){let t=r[Symbol.asyncIterator]();return t.return=void 0,{[Symbol.asyncIterator](){return t}}}else throw new Error("a source must be either an iterable or an async iterable")}function st(r){let t=new Uint8Array(_);return t[1]=r.type,t[2]=r.flag>>>8,t[3]=r.flag,t[4]=r.streamID>>>24,t[5]=r.streamID>>>16,t[6]=r.streamID>>>8,t[7]=r.streamID,t[8]=r.length>>>24,t[9]=r.length>>>16,t[10]=r.length>>>8,t[11]=r.length,t}var G=class extends Error{type;code;constructor(t,e){super(t??"The operation was aborted"),this.type="aborted",this.name="AbortError",this.code=e??"ABORT_ERR"}};async function N(r,t,e){if(t==null)return r;if(t.aborted)return Promise.reject(new G(e?.errorMessage,e?.errorCode));let s,n=new G(e?.errorMessage,e?.errorCode);try{return await Promise.race([r,new Promise((i,o)=>{s=()=>{o(n)},t.addEventListener("abort",s)})])}finally{s!=null&&t.removeEventListener("abort",s)}}function bt(r){return r==null?!1:typeof r.then=="function"&&typeof r.catch=="function"&&typeof r.finally=="function"}function pt(r,t){let e=W(r).return?.();bt(e)&&e.catch(s=>{t.error("could not cause iterator to return",s)})}var Ut="ERR_STREAM_RESET",Wt="ERR_SINK_INVALID_STATE",Mt=5e3;function rt(r){return r==null?!1:typeof r.then=="function"&&typeof r.catch=="function"&&typeof r.finally=="function"}var B=class{id;direction;timeline;protocol;metadata;source;status;readStatus;writeStatus;log;sinkController;sinkEnd;closed;endErr;streamSource;onEnd;onCloseRead;onCloseWrite;onReset;onAbort;sendCloseWriteTimeout;sendingData;constructor(t){this.sinkController=new AbortController,this.sinkEnd=y(),this.closed=y(),this.log=t.log,this.status="open",this.readStatus="ready",this.writeStatus="ready",this.id=t.id,this.metadata=t.metadata??{},this.direction=t.direction,this.timeline={open:Date.now()},this.sendCloseWriteTimeout=t.sendCloseWriteTimeout??Mt,this.onEnd=t.onEnd,this.onCloseRead=t?.onCloseRead,this.onCloseWrite=t?.onCloseWrite,this.onReset=t?.onReset,this.onAbort=t?.onAbort,this.source=this.streamSource=k({onEnd:e=>{e!=null?this.log.trace("source ended with error",e):this.log.trace("source ended"),this.onSourceEnd(e)}}),this.sink=this.sink.bind(this)}async sink(t){if(this.writeStatus!=="ready")throw new a(`writable end state is "${this.writeStatus}" not "ready"`,Wt);try{this.writeStatus="writing";let e={signal:this.sinkController.signal};if(this.direction==="outbound"){let n=this.sendNewStream(e);rt(n)&&await n}let s=()=>{pt(t,this.log)};try{this.sinkController.signal.addEventListener("abort",s),this.log.trace("sink reading from source");for await(let n of t){n=n instanceof Uint8Array?new S(n):n;let i=this.sendData(n,e);rt(i)&&(this.sendingData=y(),await i,this.sendingData.resolve(),this.sendingData=void 0)}}finally{this.sinkController.signal.removeEventListener("abort",s)}this.log.trace('sink finished reading from source, write status is "%s"',this.writeStatus),this.writeStatus==="writing"&&(this.writeStatus="closing",this.log.trace("send close write to remote"),await this.sendCloseWrite({signal:AbortSignal.timeout(this.sendCloseWriteTimeout)}),this.writeStatus="closed"),this.onSinkEnd()}catch(e){throw this.log.trace("sink ended with error, calling abort with error",e),this.abort(e),e}finally{this.log.trace("resolve sink end"),this.sinkEnd.resolve()}}onSourceEnd(t){this.timeline.closeRead==null&&(this.timeline.closeRead=Date.now(),this.readStatus="closed",t!=null&&this.endErr==null&&(this.endErr=t),this.onCloseRead?.(),this.timeline.closeWrite!=null?(this.log.trace("source and sink ended"),this.timeline.close=Date.now(),this.status!=="aborted"&&this.status!=="reset"&&(this.status="closed"),this.onEnd!=null&&this.onEnd(this.endErr),this.closed.resolve()):this.log.trace("source ended, waiting for sink to end"))}onSinkEnd(t){this.timeline.closeWrite==null&&(this.timeline.closeWrite=Date.now(),this.writeStatus="closed",t!=null&&this.endErr==null&&(this.endErr=t),this.onCloseWrite?.(),this.timeline.closeRead!=null?(this.log.trace("sink and source ended"),this.timeline.close=Date.now(),this.status!=="aborted"&&this.status!=="reset"&&(this.status="closed"),this.onEnd!=null&&this.onEnd(this.endErr),this.closed.resolve()):this.log.trace("sink ended, waiting for source to end"))}async close(t){this.log.trace("closing gracefully"),this.status="closing",await N(Promise.all([this.closeWrite(t),this.closeRead(t),this.closed.promise]),t?.signal),this.status="closed",this.log.trace("closed gracefully")}async closeRead(t={}){if(this.readStatus==="closing"||this.readStatus==="closed")return;this.log.trace('closing readable end of stream with starting read status "%s"',this.readStatus);let e=this.readStatus;this.readStatus="closing",this.status!=="reset"&&this.status!=="aborted"&&this.timeline.closeRead==null&&(this.log.trace("send close read to remote"),await this.sendCloseRead(t)),e==="ready"&&(this.log.trace("ending internal source queue with %d queued bytes",this.streamSource.readableLength),this.streamSource.end()),this.log.trace("closed readable end of stream")}async closeWrite(t={}){this.writeStatus==="closing"||this.writeStatus==="closed"||(this.log.trace('closing writable end of stream with starting write status "%s"',this.writeStatus),this.writeStatus==="ready"&&(this.log.trace("sink was never sunk, sink an empty array"),await N(this.sink([]),t.signal)),this.writeStatus==="writing"&&(this.sendingData!=null&&await N(this.sendingData.promise,t.signal),this.log.trace("aborting source passed to .sink"),this.sinkController.abort(),await N(this.sinkEnd.promise,t.signal)),this.writeStatus="closed",this.log.trace("closed writable end of stream"))}abort(t){if(this.status==="closed"||this.status==="aborted"||this.status==="reset")return;this.log("abort with error",t),this.log("try to send reset to remote");let e=this.sendReset();rt(e)&&e.catch(s=>{this.log.error("error sending reset message",s)}),this.status="aborted",this.timeline.abort=Date.now(),this._closeSinkAndSource(t),this.onAbort?.(t)}reset(){if(this.status==="closed"||this.status==="aborted"||this.status==="reset")return;let t=new a("stream reset",Ut);this.status="reset",this.timeline.reset=Date.now(),this._closeSinkAndSource(t),this.onReset?.()}_closeSinkAndSource(t){this._closeSink(t),this._closeSource(t)}_closeSink(t){this.writeStatus==="writing"&&(this.log.trace("end sink source"),this.sinkController.abort()),this.onSinkEnd(t)}_closeSource(t){this.readStatus!=="closing"&&this.readStatus!=="closed"&&(this.log.trace("ending source with %d bytes to be read by consumer",this.streamSource.readableLength),this.readStatus="closing",this.streamSource.end(t))}remoteCloseWrite(){if(this.readStatus==="closing"||this.readStatus==="closed"){this.log("received remote close write but local source is already closed");return}this.log.trace("remote close write"),this._closeSource()}remoteCloseRead(){if(this.writeStatus==="closing"||this.writeStatus==="closed"){this.log("received remote close read but local sink is already closed");return}this.log.trace("remote close read"),this._closeSink()}destroy(){if(this.status==="closed"||this.status==="aborted"||this.status==="reset"){this.log("received destroy but we are already closed");return}this.log.trace("stream destroyed"),this._closeSinkAndSource()}sourcePush(t){this.streamSource.push(t)}sourceReadableLength(){return this.streamSource.readableLength}};function kt(r){let[t,e]=r[Symbol.asyncIterator]!=null?[r[Symbol.asyncIterator](),Symbol.asyncIterator]:[r[Symbol.iterator](),Symbol.iterator],s=[];return{peek:()=>t.next(),push:n=>{s.push(n)},next:()=>s.length>0?{done:!1,value:s.shift()}:t.next(),[e](){return this}}}var yt=kt;function Pt(r){return r[Symbol.asyncIterator]!=null}function Et(r){return r?.then!=null}function Vt(r,t){if(Pt(r))return async function*(){for await(let l of r){let u=t(l);Et(u)&&await u,yield l}}();let e=yt(r),{value:s,done:n}=e.next();if(n===!0)return function*(){}();if(typeof t(s)?.then=="function")return async function*(){yield s;for await(let l of e){let u=t(l);Et(u)&&await u,yield l}}();let o=t;return function*(){yield s;for(let l of e)o(l),yield l}()}var St=Vt;var g;(function(r){r[r.Init=0]="Init",r[r.SYNSent=1]="SYNSent",r[r.SYNReceived=2]="SYNReceived",r[r.Established=3]="Established",r[r.Finished=4]="Finished"})(g||(g={}));var X=class extends B{name;state;config;_id;sendWindowCapacity;sendWindowCapacityUpdate;recvWindow;recvWindowCapacity;epochStart;getRTT;sendFrame;constructor(t){super({...t,onEnd:e=>{this.state=g.Finished,t.onEnd?.(e)}}),this.config=t.config,this._id=parseInt(t.id,10),this.name=t.name,this.state=t.state,this.sendWindowCapacity=T,this.recvWindow=this.config.initialStreamWindowSize,this.recvWindowCapacity=this.recvWindow,this.epochStart=Date.now(),this.getRTT=t.getRTT,this.sendFrame=t.sendFrame,this.source=St(this.source,()=>{this.sendWindowUpdate()})}async sendNewStream(){}async sendData(t,e={}){for(t=t.sublist();t.byteLength!==0;){if(this.sendWindowCapacity===0&&(this.log?.trace("wait for send window capacity, status %s",this.status),await this.waitForSendWindowCapacity(e),this.status==="closed"||this.status==="aborted"||this.status==="reset")){this.log?.trace("%s while waiting for send window capacity",this.status);return}let s=Math.min(this.sendWindowCapacity,this.config.maxMessageSize-_,t.length),n=this.getSendFlags();this.sendFrame({type:f.Data,flag:n,streamID:this._id,length:s},t.sublist(0,s)),this.sendWindowCapacity-=s,t.consume(s)}}async sendReset(){this.sendFrame({type:f.WindowUpdate,flag:c.RST,streamID:this._id,length:0})}async sendCloseWrite(){let t=this.getSendFlags()|c.FIN;this.sendFrame({type:f.WindowUpdate,flag:t,streamID:this._id,length:0})}async sendCloseRead(){}async waitForSendWindowCapacity(t={}){if(this.sendWindowCapacity>0)return;let e,s,n=()=>{this.status==="open"||this.status==="closing"?s(new a("stream aborted",ht)):e()};t.signal?.addEventListener("abort",n);try{await new Promise((i,o)=>{this.sendWindowCapacityUpdate=()=>{i()},s=o,e=i})}finally{t.signal?.removeEventListener("abort",n)}}handleWindowUpdate(t){this.log?.trace("stream received window update id=%s",this._id),this.processFlags(t.flag);let e=this.sendWindowCapacity;this.sendWindowCapacity+=t.length,e===0&&t.length>0&&this.sendWindowCapacityUpdate?.()}async handleData(t,e){if(this.log?.trace("stream received data id=%s",this._id),this.processFlags(t.flag),this.recvWindowCapacity-1&&e-this.epochStart=this.recvWindow&&t===0)return;let n=this.recvWindow-this.recvWindowCapacity;this.recvWindowCapacity=this.recvWindow,this.epochStart=e,this.sendFrame({type:f.WindowUpdate,flag:t,streamID:this._id,length:n})}};var Rt="/yamux/1.0.0",Ft=500,z=class{protocol=Rt;_components;_init;constructor(t,e={}){this._components=t,this._init=e}createStreamMuxer(t){return new nt(this._components,{...this._init,...t})}},nt=class{protocol=Rt;source;sink;config;log;logger;closeController;nextStreamID;_streams;nextPingID;activePing;rtt;client;localGoAway;remoteGoAway;numInboundStreams;numOutboundStreams;onIncomingStream;onStreamEnd;constructor(t,e){this.client=e.direction==="outbound",this.config={...dt,...e},this.logger=t.logger,this.log=this.logger.forComponent("libp2p:yamux"),mt(this.config),this.closeController=new AbortController,H(1/0,this.closeController.signal),this.onIncomingStream=e.onIncomingStream,this.onStreamEnd=e.onStreamEnd,this._streams=new Map,this.source=k({onEnd:()=>{this.log?.trace("muxer source ended"),this._streams.forEach(s=>{s.destroy()})}}),this.sink=async s=>{let n=()=>{let l=W(s);if(l.return!=null){let u=l.return();Gt(u)&&u.catch(w=>{this.log?.("could not cause sink source to return",w)})}},i,o;try{let l=new F(s);try{this.closeController.signal.addEventListener("abort",n);for await(let u of l.emitFrames())await this.handleFrame(u.header,u.readData)}finally{this.closeController.signal.removeEventListener("abort",n)}i=m.NormalTermination}catch(l){let u=l.code;lt.has(u)?(this.log?.error("protocol error in sink",l),i=m.ProtocolError):(this.log?.error("internal error in sink",l),i=m.InternalError),o=l}this.log?.trace("muxer sink ended"),o!=null?this.abort(o,i):await this.close({reason:i})},this.numInboundStreams=0,this.numOutboundStreams=0,this.nextStreamID=this.client?1:2,this.nextPingID=0,this.rtt=-1,this.log?.trace("muxer created"),this.config.enableKeepAlive&&this.keepAliveLoop().catch(s=>this.log?.error("keepalive error: %s",s)),this.ping().catch(s=>this.log?.error("ping error: %s",s))}get streams(){return Array.from(this._streams.values())}newStream(t){if(this.remoteGoAway!==void 0)throw new a("muxer closed remotely",et);if(this.localGoAway!==void 0)throw new a("muxer closed locally",V);let e=this.nextStreamID;if(this.nextStreamID+=2,this.numOutboundStreams>=this.config.maxOutboundStreams)throw new a("max outbound streams exceeded",ut);this.log?.trace("new outgoing stream id=%s",e);let s=this._newStream(e,t,g.Init,"outbound");return this._streams.set(e,s),this.numOutboundStreams++,s.sendWindowUpdate(),s}async ping(){if(this.remoteGoAway!==void 0)throw new a("muxer closed remotely",et);if(this.localGoAway!==void 0)throw new a("muxer closed locally",V);if(this.activePing===void 0){let t=()=>{};this.activePing={id:this.nextPingID++,promise:new Promise((n,i)=>{let o=()=>{i(new a("muxer closed locally",V))};this.closeController.signal.addEventListener("abort",o,{once:!0}),t=()=>{this.closeController.signal.removeEventListener("abort",o),n()}}),resolve:t};let e=Date.now();this.sendPing(this.activePing.id);try{await this.activePing.promise}finally{delete this.activePing}let s=Date.now();this.rtt=s-e}else await this.activePing.promise;return this.rtt}getRTT(){return this.rtt}async close(t={}){if(this.closeController.signal.aborted)return;let e=t?.reason??m.NormalTermination;if(this.log?.trace("muxer close reason=%s",e),t.signal==null){let s=AbortSignal.timeout(Ft);H(1/0,s),t={...t,signal:s}}try{await Promise.all([...this._streams.values()].map(async s=>s.close(t))),this.sendGoAway(e),this._closeMuxer()}catch(s){this.abort(s)}}abort(t,e){if(!this.closeController.signal.aborted){e=e??m.InternalError,this.log?.error("muxer abort reason=%s error=%s",e,t);for(let s of this._streams.values())s.abort(t);this.sendGoAway(e),this._closeMuxer()}}isClosed(){return this.closeController.signal.aborted}_closeMuxer(){this.closeController.abort(),this.source.end()}_newStream(t,e,s,n){if(this._streams.get(t)!=null)throw new a("Stream already exists",j,{id:t});let i=new X({id:t.toString(),name:e,state:s,direction:n,sendFrame:this.sendFrame.bind(this),onEnd:()=>{this.closeStream(t),this.onStreamEnd?.(i)},log:this.logger.forComponent(`libp2p:yamux:${n}:${t}`),config:this.config,getRTT:this.getRTT.bind(this)});return i}closeStream(t){this.client===(t%2===0)?this.numInboundStreams--:this.numOutboundStreams--,this._streams.delete(t)}async keepAliveLoop(){let t=new Promise((e,s)=>{this.closeController.signal.addEventListener("abort",s,{once:!0})});for(this.log?.trace("muxer keepalive enabled interval=%s",this.config.keepAliveInterval);;){let e;try{await Promise.race([t,new Promise(s=>{e=setTimeout(s,this.config.keepAliveInterval)})]),this.ping().catch(s=>this.log?.error("ping error: %s",s))}catch{clearInterval(e);return}}}async handleFrame(t,e){let{streamID:s,type:n,length:i}=t;if(this.log?.trace("received frame %o",t),s===0)switch(n){case f.Ping:{this.handlePing(t);return}case f.GoAway:{this.handleGoAway(i);return}default:throw new a("Invalid frame type",L,{header:t})}else switch(t.type){case f.Data:case f.WindowUpdate:{await this.handleStreamMessage(t,e);return}default:throw new a("Invalid frame type",L,{header:t})}}handlePing(t){if(t.flag===c.SYN)this.log?.trace("received ping request pingId=%s",t.length),this.sendPing(t.length,c.ACK);else if(t.flag===c.ACK)this.log?.trace("received ping response pingId=%s",t.length),this.handlePingResponse(t.length);else throw new a("Invalid frame flag",L,{header:t})}handlePingResponse(t){if(this.activePing===void 0)throw new a("ping not requested",$);if(this.activePing.id!==t)throw new a("ping doesn't match our id",Q);this.activePing.resolve()}handleGoAway(t){this.log?.trace("received GoAway reason=%s",m[t]??"unknown"),this.remoteGoAway=t;for(let e of this._streams.values())e.reset();this._closeMuxer()}async handleStreamMessage(t,e){let{streamID:s,flag:n,type:i}=t;(n&c.SYN)===c.SYN&&this.incomingStream(s);let o=this._streams.get(s);if(o===void 0){if(i===f.Data){if(this.log?.("discarding data for stream id=%s",s),e===void 0)throw new Error("unreachable");await e()}else this.log?.("frame for missing stream id=%s",s);return}switch(i){case f.WindowUpdate:{o.handleWindowUpdate(t);return}case f.Data:{if(e===void 0)throw new Error("unreachable");await o.handleData(t,e);return}default:throw new Error("unreachable")}}incomingStream(t){if(this.client!==(t%2===0))throw new a("both endpoints are clients",Z);if(this._streams.has(t))return;if(this.log?.trace("new incoming stream id=%s",t),this.localGoAway!==void 0){this.sendFrame({type:f.WindowUpdate,flag:c.RST,streamID:t,length:0});return}if(this.numInboundStreams>=this.config.maxInboundStreams){this.log?.("maxIncomingStreams exceeded, forcing stream reset"),this.sendFrame({type:f.WindowUpdate,flag:c.RST,streamID:t,length:0});return}let e=this._newStream(t,void 0,g.SYNReceived,"inbound");this.numInboundStreams++,this._streams.set(t,e),this.onIncomingStream?.(e)}sendFrame(t,e){if(this.log?.trace("sending frame %o",t),t.type===f.Data){if(e===void 0)throw new a("invalid frame",L);this.source.push(new S(st(t),e))}else this.source.push(st(t))}sendPing(t,e=c.SYN){e===c.SYN?this.log?.trace("sending ping request pingId=%s",t):this.log?.trace("sending ping response pingId=%s",t),this.sendFrame({type:f.Ping,flag:e,streamID:0,length:t})}sendGoAway(t=m.NormalTermination){this.log?.("sending GoAway reason=%s",m[t]),this.localGoAway=t,this.sendFrame({type:f.GoAway,flag:0,streamID:0,length:t})}};function Gt(r){return r!=null&&typeof r.then=="function"}function Bt(r={}){return t=>new z(t,r)}return Ct(Xt);})(); ++"use strict";var ChainsafeLibp2PYamux=(()=>{var tt=Object.defineProperty;var At=Object.getOwnPropertyDescriptor;var Lt=Object.getOwnPropertyNames;var Dt=Object.prototype.hasOwnProperty;var Ct=(s,t)=>{for(var e in t)tt(s,e,{get:t[e],enumerable:!0})},Wt=(s,t,e,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of Lt(t))!Dt.call(s,n)&&n!==e&&tt(s,n,{get:()=>t[n],enumerable:!(r=At(t,n))||r.enumerable});return s};var kt=s=>Wt(tt({},"__esModule",{value:!0}),s);var Vt={};Ct(Vt,{GoAwayCode:()=>p,yamux:()=>zt});var M=class extends Error{constructor(t="The operation was aborted"){super(t),this.name="AbortError"}};var m=class extends Error{constructor(t="Invalid parameters"){super(t),this.name="InvalidParametersError"}};var E=class extends Error{constructor(t="The muxer is closed"){super(t),this.name="MuxerClosedError"}},O=class extends Error{constructor(t="The stream has been reset"){super(t),this.name="StreamResetError"}},F=class extends Error{constructor(t="The stream is in an invalid state"){super(t),this.name="StreamStateError"}};var z=class extends Error{constructor(t="Too many outbound protocol streams"){super(t),this.name="TooManyOutboundProtocolStreamsError"}};var et=(s,...t)=>{try{[...t]}catch{}};var at=Symbol.for("@libp2p/service-capabilities"),Ht=Symbol.for("@libp2p/service-dependencies");function V(s){if(s!=null){if(typeof s[Symbol.iterator]=="function")return s[Symbol.iterator]();if(typeof s[Symbol.asyncIterator]=="function")return s[Symbol.asyncIterator]();if(typeof s.next=="function")return s}throw new Error("argument is not an iterator or iterable")}function x(){let s={};return s.promise=new Promise((t,e)=>{s.resolve=t,s.reject=e}),s}var G=class{buffer;mask;top;btm;next;constructor(t){if(!(t>0)||t-1&t)throw new Error("Max size for a FixedFIFO should be a power of two");this.buffer=new Array(t),this.mask=t-1,this.top=0,this.btm=0,this.next=null}push(t){return this.buffer[this.top]!==void 0?!1:(this.buffer[this.top]=t,this.top=this.top+1&this.mask,!0)}shift(){let t=this.buffer[this.btm];if(t!==void 0)return this.buffer[this.btm]=void 0,this.btm=this.btm+1&this.mask,t}isEmpty(){return this.buffer[this.btm]===void 0}},C=class{size;hwm;head;tail;constructor(t={}){this.hwm=t.splitLimit??16,this.head=new G(this.hwm),this.tail=this.head,this.size=0}calculateSize(t){return t?.byteLength!=null?t.byteLength:1}push(t){if(t?.value!=null&&(this.size+=this.calculateSize(t.value)),!this.head.push(t)){let e=this.head;this.head=e.next=new G(2*this.head.buffer.length),this.head.push(t)}}shift(){let t=this.tail.shift();if(t===void 0&&this.tail.next!=null){let e=this.tail.next;this.tail.next=null,this.tail=e,t=this.tail.shift()}return t?.value!=null&&(this.size-=this.calculateSize(t.value)),t}isEmpty(){return this.head.isEmpty()}};var rt=class extends Error{type;code;constructor(t,e){super(t??"The operation was aborted"),this.type="aborted",this.code=e??"ABORT_ERR"}};function B(s={}){return _t(e=>{let r=e.shift();if(r==null)return{done:!0};if(r.error!=null)throw r.error;return{done:r.done===!0,value:r.value}},s)}function _t(s,t){t=t??{};let e=t.onEnd,r=new C,n,i,o,a=x(),l=async()=>{try{return r.isEmpty()?o?{done:!0}:await new Promise((u,A)=>{i=N=>{i=null,r.push(N);try{u(s(r))}catch(D){A(D)}return n}}):s(r)}finally{r.isEmpty()&&queueMicrotask(()=>{a.resolve(),a=x()})}},f=u=>i!=null?i(u):(r.push(u),n),b=u=>(r=new C,i!=null?i({error:u}):(r.push({error:u}),n)),d=u=>{if(o)return n;if(t?.objectMode!==!0&&u?.byteLength==null)throw new Error("objectMode was not true but tried to push non-Uint8Array value");return f({done:!1,value:u})},y=u=>o?n:(o=!0,u!=null?b(u):f({done:!0})),T=()=>(r=new C,y(),{done:!0}),vt=u=>(y(u),{done:!0});if(n={[Symbol.asyncIterator](){return this},next:l,return:T,throw:vt,push:d,end:y,get readableLength(){return r.size},onEmpty:async u=>{let A=u?.signal;if(A?.throwIfAborted(),r.isEmpty())return;let N,D;A!=null&&(N=new Promise((Gt,It)=>{D=()=>{It(new rt)},A.addEventListener("abort",D)}));try{await Promise.race([a.promise,N])}finally{D!=null&&A!=null&&A?.removeEventListener("abort",D)}}},e==null)return n;let L=n;return n={[Symbol.asyncIterator](){return this},next(){return L.next()},throw(u){return L.throw(u),e!=null&&(e(u),e=void 0),{done:!0}},return(){return L.return(),e!=null&&(e(),e=void 0),{done:!0}},push:d,end(u){return L.end(u),e!=null&&(e(u),e=void 0),n},get readableLength(){return L.readableLength},onEmpty:u=>L.onEmpty(u)},n}function S(s=0){return new Uint8Array(s)}function R(s=0){return new Uint8Array(s)}function st(s,t){t==null&&(t=s.reduce((n,i)=>n+i.length,0));let e=R(t),r=0;for(let n of s)e.set(n,r),r+=n.length;return e}function lt(s,t){if(s===t)return!0;if(s.byteLength!==t.byteLength)return!1;for(let e=0;e0&&this.appendAll(t)}*[Symbol.iterator](){yield*this.bufs}get byteLength(){return this.length}append(...t){this.appendAll(t)}appendAll(t){let e=0;for(let r of t)if(r instanceof Uint8Array)e+=r.byteLength,this.bufs.push(r);else if(q(r))e+=r.byteLength,this.bufs.push(...r.bufs);else throw new Error("Could not append value, must be an Uint8Array or a Uint8ArrayList");this.length+=e}prepend(...t){this.prependAll(t)}prependAll(t){let e=0;for(let r of t.reverse())if(r instanceof Uint8Array)e+=r.byteLength,this.bufs.unshift(r);else if(q(r))e+=r.byteLength,this.bufs.unshift(...r.bufs);else throw new Error("Could not prepend value, must be an Uint8Array or a Uint8ArrayList");this.length+=e}get(t){let e=ut(this.bufs,t);return e.buf[e.index]}set(t,e){let r=ut(this.bufs,t);r.buf[r.index]=e}write(t,e=0){if(t instanceof Uint8Array)for(let r=0;r0;)if(t>=this.bufs[0].byteLength)t-=this.bufs[0].byteLength,this.length-=this.bufs[0].byteLength,this.bufs.shift();else{this.bufs[0]=this.bufs[0].subarray(t),this.length-=t;break}}}slice(t,e){let{bufs:r,length:n}=this._subList(t,e);return st(r,n)}subarray(t,e){let{bufs:r,length:n}=this._subList(t,e);return r.length===1?r[0]:st(r,n)}sublist(t,e){let{bufs:r,length:n}=this._subList(t,e),i=new s;return i.length=n,i.bufs=[...r],i}_subList(t,e){if(t=t??0,e=e??this.length,t<0&&(t=this.length+t),e<0&&(e=this.length+e),t<0||e>this.length)throw new RangeError("index is out of bounds");if(t===e)return{bufs:[],length:0};if(t===0&&e===this.length)return{bufs:this.bufs,length:this.length};let r=[],n=0;for(let i=0;i=l)continue;let f=t>=a&&ta&&e<=l;if(f&&b){if(t===a&&e===l){r.push(o);break}let d=t-a;r.push(o.subarray(d,d+(e-t)));break}if(f){if(t===0){r.push(o);continue}r.push(o.subarray(t-a));continue}if(b){if(e===l){r.push(o);break}r.push(o.subarray(0,e-a));break}r.push(o)}return{bufs:r,length:e-t}}indexOf(t,e=0){if(!q(t)&&!(t instanceof Uint8Array))throw new TypeError('The "value" argument must be a Uint8ArrayList or Uint8Array');let r=t instanceof Uint8Array?t:t.subarray();if(e=Number(e??0),isNaN(e)&&(e=0),e<0&&(e=this.length+e),e<0&&(e=0),t.length===0)return e>this.length?this.length:e;let n=r.byteLength;if(n===0)throw new TypeError("search must be at least 1 byte long");let i=256,o=new Int32Array(i);for(let d=0;d=0;y--){let T=this.get(d+y);if(r[y]!==T){b=Math.max(1,y-a[T]);break}}if(b===0)return d}return-1}getInt8(t){let e=this.subarray(t,t+1);return new DataView(e.buffer,e.byteOffset,e.byteLength).getInt8(0)}setInt8(t,e){let r=R(1);new DataView(r.buffer,r.byteOffset,r.byteLength).setInt8(0,e),this.write(r,t)}getInt16(t,e){let r=this.subarray(t,t+2);return new DataView(r.buffer,r.byteOffset,r.byteLength).getInt16(0,e)}setInt16(t,e,r){let n=S(2);new DataView(n.buffer,n.byteOffset,n.byteLength).setInt16(0,e,r),this.write(n,t)}getInt32(t,e){let r=this.subarray(t,t+4);return new DataView(r.buffer,r.byteOffset,r.byteLength).getInt32(0,e)}setInt32(t,e,r){let n=S(4);new DataView(n.buffer,n.byteOffset,n.byteLength).setInt32(0,e,r),this.write(n,t)}getBigInt64(t,e){let r=this.subarray(t,t+8);return new DataView(r.buffer,r.byteOffset,r.byteLength).getBigInt64(0,e)}setBigInt64(t,e,r){let n=S(8);new DataView(n.buffer,n.byteOffset,n.byteLength).setBigInt64(0,e,r),this.write(n,t)}getUint8(t){let e=this.subarray(t,t+1);return new DataView(e.buffer,e.byteOffset,e.byteLength).getUint8(0)}setUint8(t,e){let r=R(1);new DataView(r.buffer,r.byteOffset,r.byteLength).setUint8(0,e),this.write(r,t)}getUint16(t,e){let r=this.subarray(t,t+2);return new DataView(r.buffer,r.byteOffset,r.byteLength).getUint16(0,e)}setUint16(t,e,r){let n=S(2);new DataView(n.buffer,n.byteOffset,n.byteLength).setUint16(0,e,r),this.write(n,t)}getUint32(t,e){let r=this.subarray(t,t+4);return new DataView(r.buffer,r.byteOffset,r.byteLength).getUint32(0,e)}setUint32(t,e,r){let n=S(4);new DataView(n.buffer,n.byteOffset,n.byteLength).setUint32(0,e,r),this.write(n,t)}getBigUint64(t,e){let r=this.subarray(t,t+8);return new DataView(r.buffer,r.byteOffset,r.byteLength).getBigUint64(0,e)}setBigUint64(t,e,r){let n=S(8);new DataView(n.buffer,n.byteOffset,n.byteLength).setBigUint64(0,e,r),this.write(n,t)}getFloat32(t,e){let r=this.subarray(t,t+4);return new DataView(r.buffer,r.byteOffset,r.byteLength).getFloat32(0,e)}setFloat32(t,e,r){let n=S(4);new DataView(n.buffer,n.byteOffset,n.byteLength).setFloat32(0,e,r),this.write(n,t)}getFloat64(t,e){let r=this.subarray(t,t+8);return new DataView(r.buffer,r.byteOffset,r.byteLength).getFloat64(0,e)}setFloat64(t,e,r){let n=S(8);new DataView(n.buffer,n.byteOffset,n.byteLength).setFloat64(0,e,r),this.write(n,t)}equals(t){if(t==null||!(t instanceof s)||t.bufs.length!==this.bufs.length)return!1;for(let e=0;en+i.byteLength,0)),r.length=e,r}};var w=class extends Error{static name="InvalidFrameError";constructor(t="The frame was invalid"){super(t),this.name="InvalidFrameError"}},W=class extends Error{static name="UnrequestedPingError";constructor(t="Unrequested ping error"){super(t),this.name="UnrequestedPingError"}},k=class extends Error{static name="NotMatchingPingError";constructor(t="Unrequested ping error"){super(t),this.name="NotMatchingPingError"}},Y=class extends Error{static name="InvalidStateError";constructor(t="Invalid state"){super(t),this.name="InvalidStateError"}},H=class extends Error{static name="StreamAlreadyExistsError";constructor(t="Strean already exists"){super(t),this.name="StreamAlreadyExistsError"}},K=class extends Error{static name="DecodeInvalidVersionError";constructor(t="Decode invalid version"){super(t),this.name="DecodeInvalidVersionError"}},$=class extends Error{static name="BothClientsError";constructor(t="Both clients"){super(t),this.name="BothClientsError"}},_=class extends Error{static name="ReceiveWindowExceededError";constructor(t="Receive window exceeded"){super(t),this.name="ReceiveWindowExceededError"}};var ct=new Set([w.name,W.name,k.name,H.name,K.name,$.name,_.name]),U=256*1024,dt=16*1024*1024;var ft={enableKeepAlive:!0,keepAliveInterval:3e4,maxInboundStreams:1e3,maxOutboundStreams:1e3,initialStreamWindowSize:U,maxStreamWindowSize:dt,maxMessageSize:64*1024};function mt(s){if(s.keepAliveInterval<=0)throw new m("keep-alive interval must be positive");if(s.maxInboundStreams<0)throw new m("max inbound streams must be larger or equal 0");if(s.maxOutboundStreams<0)throw new m("max outbound streams must be larger or equal 0");if(s.initialStreamWindowSize2**32-1)throw new m("MaxStreamWindowSize must be less than equal MAX_UINT32");if(s.maxMessageSize<1024)throw new m("MaxMessageSize must be greater than a kilobyte")}var c;(function(s){s[s.Data=0]="Data",s[s.WindowUpdate=1]="WindowUpdate",s[s.Ping=2]="Ping",s[s.GoAway=3]="GoAway"})(c||(c={}));var h;(function(s){s[s.SYN=1]="SYN",s[s.ACK=2]="ACK",s[s.FIN=4]="FIN",s[s.RST=8]="RST"})(h||(h={}));var Fe=Object.values(h).filter(s=>typeof s!="string"),pt=0,p;(function(s){s[s.NormalTermination=0]="NormalTermination",s[s.ProtocolError=1]="ProtocolError",s[s.InternalError=2]="InternalError"})(p||(p={}));var I=12;var gt=2**24;function Rt(s){if(s[0]!==pt)throw new w("Invalid frame version");return{type:s[1],flag:(s[2]<<8)+s[3],streamID:s[4]*gt+(s[5]<<16)+(s[6]<<8)+s[7],length:s[8]*gt+(s[9]<<16)+(s[10]<<8)+s[11]}}var X=class{source;buffer;frameInProgress;constructor(t){this.source=Ut(t),this.buffer=new v,this.frameInProgress=!1}async*emitFrames(){for await(let t of this.source)for(this.buffer.append(t);;){let e=this.readHeader();if(e===void 0)break;let{type:r,length:n}=e;r===c.Data?(this.frameInProgress=!0,yield{header:e,readData:this.readBytes.bind(this,n)}):yield{header:e}}}readHeader(){if(this.frameInProgress)throw new Y("decoding frame already in progress");if(this.buffer.length=t)break}let e=this.buffer.sublist(0,t);return this.buffer.consume(t),this.frameInProgress=!1,e}};function Ut(s){if(s[Symbol.iterator]!==void 0){let t=s[Symbol.iterator]();return t.return=void 0,{[Symbol.iterator](){return t}}}else if(s[Symbol.asyncIterator]!==void 0){let t=s[Symbol.asyncIterator]();return t.return=void 0,{[Symbol.asyncIterator](){return t}}}else throw new Error("a source must be either an iterable or an async iterable")}function nt(s){let t=new Uint8Array(I);return t[1]=s.type,t[2]=s.flag>>>8,t[3]=s.flag,t[4]=s.streamID>>>24,t[5]=s.streamID>>>16,t[6]=s.streamID>>>8,t[7]=s.streamID,t[8]=s.length>>>24,t[9]=s.length>>>16,t[10]=s.length>>>8,t[11]=s.length,t}var j=class extends Error{type;code;constructor(t,e,r){super(t??"The operation was aborted"),this.type="aborted",this.name=r??"AbortError",this.code=e??"ABORT_ERR"}};async function P(s,t,e){if(t==null)return s;if(t.aborted)return Promise.reject(new j(e?.errorMessage,e?.errorCode,e?.errorName));let r,n=new j(e?.errorMessage,e?.errorCode,e?.errorName);try{return await Promise.race([s,new Promise((i,o)=>{r=()=>{o(n)},t.addEventListener("abort",r)})])}finally{r!=null&&t.removeEventListener("abort",r)}}function wt(s){return s==null?!1:typeof s.then=="function"&&typeof s.catch=="function"&&typeof s.finally=="function"}function bt(s,t){let e=V(s).return?.();wt(e)&&e.catch(r=>{t.error("could not cause iterator to return",r)})}var Pt=5e3;function it(s){return s==null?!1:typeof s.then=="function"&&typeof s.catch=="function"&&typeof s.finally=="function"}var J=class{id;direction;timeline;protocol;metadata;source;status;readStatus;writeStatus;log;sinkController;sinkEnd;closed;endErr;streamSource;onEnd;onCloseRead;onCloseWrite;onReset;onAbort;sendCloseWriteTimeout;sendingData;constructor(t){this.sinkController=new AbortController,this.sinkEnd=x(),this.closed=x(),this.log=t.log,this.status="open",this.readStatus="ready",this.writeStatus="ready",this.id=t.id,this.metadata=t.metadata??{},this.direction=t.direction,this.timeline={open:Date.now()},this.sendCloseWriteTimeout=t.sendCloseWriteTimeout??Pt,this.onEnd=t.onEnd,this.onCloseRead=t?.onCloseRead,this.onCloseWrite=t?.onCloseWrite,this.onReset=t?.onReset,this.onAbort=t?.onAbort,this.source=this.streamSource=B({onEnd:e=>{e!=null?this.log.trace("source ended with error",e):this.log.trace("source ended"),this.onSourceEnd(e)}}),this.sink=this.sink.bind(this)}async sink(t){if(this.writeStatus!=="ready")throw new F(`writable end state is "${this.writeStatus}" not "ready"`);try{this.writeStatus="writing";let e={signal:this.sinkController.signal};if(this.direction==="outbound"){let n=this.sendNewStream(e);it(n)&&await n}let r=()=>{bt(t,this.log)};try{this.sinkController.signal.addEventListener("abort",r),this.log.trace("sink reading from source");for await(let n of t){n=n instanceof Uint8Array?new v(n):n;let i=this.sendData(n,e);it(i)&&(this.sendingData=x(),await i,this.sendingData.resolve(),this.sendingData=void 0)}}finally{this.sinkController.signal.removeEventListener("abort",r)}this.log.trace('sink finished reading from source, write status is "%s"',this.writeStatus),this.writeStatus==="writing"&&(this.writeStatus="closing",this.log.trace("send close write to remote"),await this.sendCloseWrite({signal:AbortSignal.timeout(this.sendCloseWriteTimeout)}),this.writeStatus="closed"),this.onSinkEnd()}catch(e){throw this.log.trace("sink ended with error, calling abort with error",e),this.abort(e),e}finally{this.log.trace("resolve sink end"),this.sinkEnd.resolve()}}onSourceEnd(t){this.timeline.closeRead==null&&(this.timeline.closeRead=Date.now(),this.readStatus="closed",t!=null&&this.endErr==null&&(this.endErr=t),this.onCloseRead?.(),this.timeline.closeWrite!=null?(this.log.trace("source and sink ended"),this.timeline.close=Date.now(),this.status!=="aborted"&&this.status!=="reset"&&(this.status="closed"),this.onEnd!=null&&this.onEnd(this.endErr),this.closed.resolve()):this.log.trace("source ended, waiting for sink to end"))}onSinkEnd(t){this.timeline.closeWrite==null&&(this.timeline.closeWrite=Date.now(),this.writeStatus="closed",t!=null&&this.endErr==null&&(this.endErr=t),this.onCloseWrite?.(),this.timeline.closeRead!=null?(this.log.trace("sink and source ended"),this.timeline.close=Date.now(),this.status!=="aborted"&&this.status!=="reset"&&(this.status="closed"),this.onEnd!=null&&this.onEnd(this.endErr),this.closed.resolve()):this.log.trace("sink ended, waiting for source to end"))}async close(t){this.log.trace("closing gracefully"),this.status="closing",await P(Promise.all([this.closeWrite(t),this.closeRead(t),this.closed.promise]),t?.signal),this.status="closed",this.log.trace("closed gracefully")}async closeRead(t={}){if(this.readStatus==="closing"||this.readStatus==="closed")return;this.log.trace('closing readable end of stream with starting read status "%s"',this.readStatus);let e=this.readStatus;this.readStatus="closing",this.status!=="reset"&&this.status!=="aborted"&&this.timeline.closeRead==null&&(this.log.trace("send close read to remote"),await this.sendCloseRead(t)),e==="ready"&&(this.log.trace("ending internal source queue with %d queued bytes",this.streamSource.readableLength),this.streamSource.end()),this.log.trace("closed readable end of stream")}async closeWrite(t={}){this.writeStatus==="closing"||this.writeStatus==="closed"||(this.log.trace('closing writable end of stream with starting write status "%s"',this.writeStatus),this.writeStatus==="ready"&&(this.log.trace("sink was never sunk, sink an empty array"),await P(this.sink([]),t.signal)),this.writeStatus==="writing"&&(this.sendingData!=null&&await P(this.sendingData.promise,t.signal),this.log.trace("aborting source passed to .sink"),this.sinkController.abort(),await P(this.sinkEnd.promise,t.signal)),this.writeStatus="closed",this.log.trace("closed writable end of stream"))}abort(t){if(this.status==="closed"||this.status==="aborted"||this.status==="reset")return;this.log("abort with error",t),this.log("try to send reset to remote");let e=this.sendReset();it(e)&&e.catch(r=>{this.log.error("error sending reset message",r)}),this.status="aborted",this.timeline.abort=Date.now(),this._closeSinkAndSource(t),this.onAbort?.(t)}reset(){if(this.status==="closed"||this.status==="aborted"||this.status==="reset")return;let t=new O("stream reset");this.status="reset",this.timeline.reset=Date.now(),this._closeSinkAndSource(t),this.onReset?.()}_closeSinkAndSource(t){this._closeSink(t),this._closeSource(t)}_closeSink(t){this.writeStatus==="writing"&&(this.log.trace("end sink source"),this.sinkController.abort()),this.onSinkEnd(t)}_closeSource(t){this.readStatus!=="closing"&&this.readStatus!=="closed"&&(this.log.trace("ending source with %d bytes to be read by consumer",this.streamSource.readableLength),this.readStatus="closing",this.streamSource.end(t))}remoteCloseWrite(){if(this.readStatus==="closing"||this.readStatus==="closed"){this.log("received remote close write but local source is already closed");return}this.log.trace("remote close write"),this._closeSource()}remoteCloseRead(){if(this.writeStatus==="closing"||this.writeStatus==="closed"){this.log("received remote close read but local sink is already closed");return}this.log.trace("remote close read"),this._closeSink()}destroy(){if(this.status==="closed"||this.status==="aborted"||this.status==="reset"){this.log("received destroy but we are already closed");return}this.log.trace("stream destroyed"),this._closeSinkAndSource()}sourcePush(t){this.streamSource.push(t)}sourceReadableLength(){return this.streamSource.readableLength}};function Tt(s){let[t,e]=s[Symbol.asyncIterator]!=null?[s[Symbol.asyncIterator](),Symbol.asyncIterator]:[s[Symbol.iterator](),Symbol.iterator],r=[];return{peek:()=>t.next(),push:n=>{r.push(n)},next:()=>r.length>0?{done:!1,value:r.shift()}:t.next(),[e](){return this}}}var yt=Tt;function Nt(s){return s[Symbol.asyncIterator]!=null}function xt(s){return s?.then!=null}function Mt(s,t){let e=0;if(Nt(s))return async function*(){for await(let l of s){let f=t(l,e++);xt(f)&&await f,yield l}}();let r=yt(s),{value:n,done:i}=r.next();if(i===!0)return function*(){}();if(typeof t(n,e++)?.then=="function")return async function*(){yield n;for await(let l of r){let f=t(l,e++);xt(f)&&await f,yield l}}();let a=t;return function*(){yield n;for(let l of r)a(l,e++),yield l}()}var St=Mt;var g;(function(s){s[s.Init=0]="Init",s[s.SYNSent=1]="SYNSent",s[s.SYNReceived=2]="SYNReceived",s[s.Established=3]="Established",s[s.Finished=4]="Finished"})(g||(g={}));var Q=class extends J{name;state;config;_id;sendWindowCapacity;sendWindowCapacityUpdate;recvWindow;recvWindowCapacity;epochStart;getRTT;sendFrame;constructor(t){super({...t,onEnd:e=>{this.state=g.Finished,t.onEnd?.(e)}}),this.config=t.config,this._id=parseInt(t.id,10),this.name=t.name,this.state=t.state,this.sendWindowCapacity=U,this.recvWindow=this.config.initialStreamWindowSize,this.recvWindowCapacity=this.recvWindow,this.epochStart=Date.now(),this.getRTT=t.getRTT,this.sendFrame=t.sendFrame,this.source=St(this.source,()=>{this.sendWindowUpdate()})}async sendNewStream(){}async sendData(t,e={}){for(t=t.sublist();t.byteLength!==0;){if(this.sendWindowCapacity===0&&(this.log?.trace("wait for send window capacity, status %s",this.status),await this.waitForSendWindowCapacity(e),this.status==="closed"||this.status==="aborted"||this.status==="reset")){this.log?.trace("%s while waiting for send window capacity",this.status);return}let r=Math.min(this.sendWindowCapacity,this.config.maxMessageSize-I,t.length),n=this.getSendFlags();this.sendFrame({type:c.Data,flag:n,streamID:this._id,length:r},t.sublist(0,r)),this.sendWindowCapacity-=r,t.consume(r)}}async sendReset(){this.sendFrame({type:c.WindowUpdate,flag:h.RST,streamID:this._id,length:0})}async sendCloseWrite(){let t=this.getSendFlags()|h.FIN;this.sendFrame({type:c.WindowUpdate,flag:t,streamID:this._id,length:0})}async sendCloseRead(){}async waitForSendWindowCapacity(t={}){if(this.sendWindowCapacity>0)return;let e,r,n=()=>{this.status==="open"||this.status==="closing"?r(new M("Stream aborted")):e()};t.signal?.addEventListener("abort",n);try{await new Promise((i,o)=>{this.sendWindowCapacityUpdate=()=>{i()},r=o,e=i})}finally{t.signal?.removeEventListener("abort",n)}}handleWindowUpdate(t){this.log?.trace("stream received window update id=%s",this._id),this.processFlags(t.flag);let e=this.sendWindowCapacity;this.sendWindowCapacity+=t.length,e===0&&t.length>0&&this.sendWindowCapacityUpdate?.()}async handleData(t,e){if(this.log?.trace("stream received data id=%s",this._id),this.processFlags(t.flag),this.recvWindowCapacity-1&&e-this.epochStart=this.recvWindow&&t===0)return;let n=this.recvWindow-this.recvWindowCapacity;this.recvWindowCapacity=this.recvWindow,this.epochStart=e,this.sendFrame({type:c.WindowUpdate,flag:t,streamID:this._id,length:n})}};var Et="/yamux/1.0.0",Ot=500,Z=class{protocol=Et;_components;_init;constructor(t,e={}){this._components=t,this._init=e}[Symbol.toStringTag]="@chainsafe/libp2p-yamux";[at]=["@libp2p/stream-multiplexing"];createStreamMuxer(t){return new ot(this._components,{...this._init,...t})}},ot=class{protocol=Et;source;sink;config;log;logger;closeController;nextStreamID;_streams;nextPingID;activePing;rtt;client;localGoAway;remoteGoAway;numInboundStreams;numOutboundStreams;onIncomingStream;onStreamEnd;constructor(t,e){this.client=e.direction==="outbound",this.config={...ft,...e},this.logger=t.logger,this.log=this.logger.forComponent("libp2p:yamux"),mt(this.config),this.closeController=new AbortController,et(1/0,this.closeController.signal),this.onIncomingStream=e.onIncomingStream,this.onStreamEnd=e.onStreamEnd,this._streams=new Map,this.source=B({onEnd:()=>{this.log?.trace("muxer source ended"),this._streams.forEach(r=>{r.destroy()})}}),this.sink=async r=>{let n=()=>{let a=V(r);if(a.return!=null){let l=a.return();Ft(l)&&l.catch(f=>{this.log?.("could not cause sink source to return",f)})}},i,o;try{let a=new X(r);try{this.closeController.signal.addEventListener("abort",n);for await(let l of a.emitFrames())await this.handleFrame(l.header,l.readData)}finally{this.closeController.signal.removeEventListener("abort",n)}i=p.NormalTermination}catch(a){ct.has(a.name)?(this.log?.error("protocol error in sink",a),i=p.ProtocolError):(this.log?.error("internal error in sink",a),i=p.InternalError),o=a}this.log?.trace("muxer sink ended"),o!=null?this.abort(o,i):await this.close({reason:i})},this.numInboundStreams=0,this.numOutboundStreams=0,this.nextStreamID=this.client?1:2,this.nextPingID=0,this.rtt=-1,this.log?.trace("muxer created"),this.config.enableKeepAlive&&this.keepAliveLoop().catch(r=>this.log?.error("keepalive error: %s",r)),this.ping().catch(r=>this.log?.error("ping error: %s",r))}get streams(){return Array.from(this._streams.values())}newStream(t){if(this.remoteGoAway!==void 0)throw new E("Muxer closed remotely");if(this.localGoAway!==void 0)throw new E("Muxer closed locally");let e=this.nextStreamID;if(this.nextStreamID+=2,this.numOutboundStreams>=this.config.maxOutboundStreams)throw new z("max outbound streams exceeded");this.log?.trace("new outgoing stream id=%s",e);let r=this._newStream(e,t,g.Init,"outbound");return this._streams.set(e,r),this.numOutboundStreams++,r.sendWindowUpdate(),r}async ping(){if(this.remoteGoAway!==void 0)throw new E("Muxer closed remotely");if(this.localGoAway!==void 0)throw new E("Muxer closed locally");if(this.activePing===void 0){let t=()=>{};this.activePing={id:this.nextPingID++,promise:new Promise((n,i)=>{let o=()=>{i(new E("Muxer closed locally"))};this.closeController.signal.addEventListener("abort",o,{once:!0}),t=()=>{this.closeController.signal.removeEventListener("abort",o),n()}}),resolve:t};let e=Date.now();this.sendPing(this.activePing.id);try{await this.activePing.promise}finally{delete this.activePing}let r=Date.now();this.rtt=r-e}else await this.activePing.promise;return this.rtt}getRTT(){return this.rtt}async close(t={}){if(this.closeController.signal.aborted)return;let e=t?.reason??p.NormalTermination;if(this.log?.trace("muxer close reason=%s",e),t.signal==null){let r=AbortSignal.timeout(Ot);et(1/0,r),t={...t,signal:r}}try{await Promise.all([...this._streams.values()].map(async r=>r.close(t))),this.sendGoAway(e),this._closeMuxer()}catch(r){this.abort(r)}}abort(t,e){if(!this.closeController.signal.aborted){e=e??p.InternalError,this.log?.error("muxer abort reason=%s error=%s",e,t);for(let r of this._streams.values())r.abort(t);this.sendGoAway(e),this._closeMuxer()}}isClosed(){return this.closeController.signal.aborted}_closeMuxer(){this.closeController.abort(),this.source.end()}_newStream(t,e,r,n){if(this._streams.get(t)!=null)throw new m("Stream already exists with that id");let i=new Q({id:t.toString(),name:e,state:r,direction:n,sendFrame:this.sendFrame.bind(this),onEnd:()=>{this.closeStream(t),this.onStreamEnd?.(i)},log:this.logger.forComponent(`libp2p:yamux:${n}:${t}`),config:this.config,getRTT:this.getRTT.bind(this)});return i}closeStream(t){this.client===(t%2===0)?this.numInboundStreams--:this.numOutboundStreams--,this._streams.delete(t)}async keepAliveLoop(){let t=new Promise((e,r)=>{this.closeController.signal.addEventListener("abort",r,{once:!0})});for(this.log?.trace("muxer keepalive enabled interval=%s",this.config.keepAliveInterval);;){let e;try{await Promise.race([t,new Promise(r=>{e=setTimeout(r,this.config.keepAliveInterval)})]),this.ping().catch(r=>this.log?.error("ping error: %s",r))}catch{clearInterval(e);return}}}async handleFrame(t,e){let{streamID:r,type:n,length:i}=t;if(this.log?.trace("received frame %o",t),r===0)switch(n){case c.Ping:{this.handlePing(t);return}case c.GoAway:{this.handleGoAway(i);return}default:throw new w("Invalid frame type")}else switch(t.type){case c.Data:case c.WindowUpdate:{await this.handleStreamMessage(t,e);return}default:throw new w("Invalid frame type")}}handlePing(t){if(t.flag===h.SYN)this.log?.trace("received ping request pingId=%s",t.length),this.sendPing(t.length,h.ACK);else if(t.flag===h.ACK)this.log?.trace("received ping response pingId=%s",t.length),this.handlePingResponse(t.length);else throw new w("Invalid frame flag")}handlePingResponse(t){if(this.activePing===void 0)throw new W("ping not requested");if(this.activePing.id!==t)throw new k("ping doesn't match our id");this.activePing.resolve()}handleGoAway(t){this.log?.trace("received GoAway reason=%s",p[t]??"unknown"),this.remoteGoAway=t;for(let e of this._streams.values())e.reset();this._closeMuxer()}async handleStreamMessage(t,e){let{streamID:r,flag:n,type:i}=t;(n&h.SYN)===h.SYN&&this.incomingStream(r);let o=this._streams.get(r);if(o===void 0){if(i===c.Data){if(this.log?.("discarding data for stream id=%s",r),e===void 0)throw new Error("unreachable");await e()}else this.log?.("frame for missing stream id=%s",r);return}switch(i){case c.WindowUpdate:{o.handleWindowUpdate(t);return}case c.Data:{if(e===void 0)throw new Error("unreachable");await o.handleData(t,e);return}default:throw new Error("unreachable")}}incomingStream(t){if(this.client!==(t%2===0))throw new m("Both endpoints are clients");if(this._streams.has(t))return;if(this.log?.trace("new incoming stream id=%s",t),this.localGoAway!==void 0){this.sendFrame({type:c.WindowUpdate,flag:h.RST,streamID:t,length:0});return}if(this.numInboundStreams>=this.config.maxInboundStreams){this.log?.("maxIncomingStreams exceeded, forcing stream reset"),this.sendFrame({type:c.WindowUpdate,flag:h.RST,streamID:t,length:0});return}let e=this._newStream(t,void 0,g.SYNReceived,"inbound");this.numInboundStreams++,this._streams.set(t,e),this.onIncomingStream?.(e)}sendFrame(t,e){if(this.log?.trace("sending frame %o",t),t.type===c.Data){if(e===void 0)throw new w("Invalid frame");this.source.push(new v(nt(t),e))}else this.source.push(nt(t))}sendPing(t,e=h.SYN){e===h.SYN?this.log?.trace("sending ping request pingId=%s",t):this.log?.trace("sending ping response pingId=%s",t),this.sendFrame({type:c.Ping,flag:e,streamID:0,length:t})}sendGoAway(t=p.NormalTermination){this.log?.("sending GoAway reason=%s",p[t]),this.localGoAway=t,this.sendFrame({type:c.GoAway,flag:0,streamID:0,length:t})}};function Ft(s){return s!=null&&typeof s.then=="function"}function zt(s={}){return t=>new Z(t,s)}return kt(Vt);})(); + return ChainsafeLibp2PYamux})); +diff --git a/node_modules/@chainsafe/libp2p-yamux/dist/src/config.js b/node_modules/@chainsafe/libp2p-yamux/dist/src/config.js +index 5649b52..4c45130 100644 +--- a/node_modules/@chainsafe/libp2p-yamux/dist/src/config.js ++++ b/node_modules/@chainsafe/libp2p-yamux/dist/src/config.js +@@ -1,35 +1,35 @@ +-import { CodeError } from '@libp2p/interface'; +-import { ERR_INVALID_CONFIG, INITIAL_STREAM_WINDOW, MAX_STREAM_WINDOW } from './constants.js'; ++import { InvalidParametersError } from '@libp2p/interface'; ++import { INITIAL_STREAM_WINDOW, MAX_STREAM_WINDOW } from './constants.js'; + export const defaultConfig = { + enableKeepAlive: true, +- keepAliveInterval: 30000, +- maxInboundStreams: 1000, +- maxOutboundStreams: 1000, ++ keepAliveInterval: 30_000, ++ maxInboundStreams: 1_000, ++ maxOutboundStreams: 1_000, + initialStreamWindowSize: INITIAL_STREAM_WINDOW, + maxStreamWindowSize: MAX_STREAM_WINDOW, + maxMessageSize: 64 * 1024 + }; + export function verifyConfig(config) { + if (config.keepAliveInterval <= 0) { +- throw new CodeError('keep-alive interval must be positive', ERR_INVALID_CONFIG); ++ throw new InvalidParametersError('keep-alive interval must be positive'); + } + if (config.maxInboundStreams < 0) { +- throw new CodeError('max inbound streams must be larger or equal 0', ERR_INVALID_CONFIG); ++ throw new InvalidParametersError('max inbound streams must be larger or equal 0'); + } + if (config.maxOutboundStreams < 0) { +- throw new CodeError('max outbound streams must be larger or equal 0', ERR_INVALID_CONFIG); ++ throw new InvalidParametersError('max outbound streams must be larger or equal 0'); + } + if (config.initialStreamWindowSize < INITIAL_STREAM_WINDOW) { +- throw new CodeError('InitialStreamWindowSize must be larger or equal 256 kB', ERR_INVALID_CONFIG); ++ throw new InvalidParametersError('InitialStreamWindowSize must be larger or equal 256 kB'); + } + if (config.maxStreamWindowSize < config.initialStreamWindowSize) { +- throw new CodeError('MaxStreamWindowSize must be larger than the InitialStreamWindowSize', ERR_INVALID_CONFIG); ++ throw new InvalidParametersError('MaxStreamWindowSize must be larger than the InitialStreamWindowSize'); + } + if (config.maxStreamWindowSize > 2 ** 32 - 1) { +- throw new CodeError('MaxStreamWindowSize must be less than equal MAX_UINT32', ERR_INVALID_CONFIG); ++ throw new InvalidParametersError('MaxStreamWindowSize must be less than equal MAX_UINT32'); + } + if (config.maxMessageSize < 1024) { +- throw new CodeError('MaxMessageSize must be greater than a kilobyte', ERR_INVALID_CONFIG); ++ throw new InvalidParametersError('MaxMessageSize must be greater than a kilobyte'); + } + } + //# sourceMappingURL=config.js.map +\ No newline at end of file +diff --git a/node_modules/@chainsafe/libp2p-yamux/dist/src/config.js.map b/node_modules/@chainsafe/libp2p-yamux/dist/src/config.js.map +index 86bf355..2aca98b 100644 +--- a/node_modules/@chainsafe/libp2p-yamux/dist/src/config.js.map ++++ b/node_modules/@chainsafe/libp2p-yamux/dist/src/config.js.map +@@ -1 +1 @@ +-{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAC7C,OAAO,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAA;AA+C7F,MAAM,CAAC,MAAM,aAAa,GAAW;IACnC,eAAe,EAAE,IAAI;IACrB,iBAAiB,EAAE,KAAM;IACzB,iBAAiB,EAAE,IAAK;IACxB,kBAAkB,EAAE,IAAK;IACzB,uBAAuB,EAAE,qBAAqB;IAC9C,mBAAmB,EAAE,iBAAiB;IACtC,cAAc,EAAE,EAAE,GAAG,IAAI;CAC1B,CAAA;AAED,MAAM,UAAU,YAAY,CAAE,MAAc;IAC1C,IAAI,MAAM,CAAC,iBAAiB,IAAI,CAAC,EAAE,CAAC;QAClC,MAAM,IAAI,SAAS,CAAC,sCAAsC,EAAE,kBAAkB,CAAC,CAAA;IACjF,CAAC;IACD,IAAI,MAAM,CAAC,iBAAiB,GAAG,CAAC,EAAE,CAAC;QACjC,MAAM,IAAI,SAAS,CAAC,+CAA+C,EAAE,kBAAkB,CAAC,CAAA;IAC1F,CAAC;IACD,IAAI,MAAM,CAAC,kBAAkB,GAAG,CAAC,EAAE,CAAC;QAClC,MAAM,IAAI,SAAS,CAAC,gDAAgD,EAAE,kBAAkB,CAAC,CAAA;IAC3F,CAAC;IACD,IAAI,MAAM,CAAC,uBAAuB,GAAG,qBAAqB,EAAE,CAAC;QAC3D,MAAM,IAAI,SAAS,CAAC,wDAAwD,EAAE,kBAAkB,CAAC,CAAA;IACnG,CAAC;IACD,IAAI,MAAM,CAAC,mBAAmB,GAAG,MAAM,CAAC,uBAAuB,EAAE,CAAC;QAChE,MAAM,IAAI,SAAS,CAAC,qEAAqE,EAAE,kBAAkB,CAAC,CAAA;IAChH,CAAC;IACD,IAAI,MAAM,CAAC,mBAAmB,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,CAAC;QAC7C,MAAM,IAAI,SAAS,CAAC,wDAAwD,EAAE,kBAAkB,CAAC,CAAA;IACnG,CAAC;IACD,IAAI,MAAM,CAAC,cAAc,GAAG,IAAI,EAAE,CAAC;QACjC,MAAM,IAAI,SAAS,CAAC,gDAAgD,EAAE,kBAAkB,CAAC,CAAA;IAC3F,CAAC;AACH,CAAC"} +\ No newline at end of file ++{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAA;AAC1D,OAAO,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAA;AA+CzE,MAAM,CAAC,MAAM,aAAa,GAAW;IACnC,eAAe,EAAE,IAAI;IACrB,iBAAiB,EAAE,MAAM;IACzB,iBAAiB,EAAE,KAAK;IACxB,kBAAkB,EAAE,KAAK;IACzB,uBAAuB,EAAE,qBAAqB;IAC9C,mBAAmB,EAAE,iBAAiB;IACtC,cAAc,EAAE,EAAE,GAAG,IAAI;CAC1B,CAAA;AAED,MAAM,UAAU,YAAY,CAAE,MAAc;IAC1C,IAAI,MAAM,CAAC,iBAAiB,IAAI,CAAC,EAAE,CAAC;QAClC,MAAM,IAAI,sBAAsB,CAAC,sCAAsC,CAAC,CAAA;IAC1E,CAAC;IACD,IAAI,MAAM,CAAC,iBAAiB,GAAG,CAAC,EAAE,CAAC;QACjC,MAAM,IAAI,sBAAsB,CAAC,+CAA+C,CAAC,CAAA;IACnF,CAAC;IACD,IAAI,MAAM,CAAC,kBAAkB,GAAG,CAAC,EAAE,CAAC;QAClC,MAAM,IAAI,sBAAsB,CAAC,gDAAgD,CAAC,CAAA;IACpF,CAAC;IACD,IAAI,MAAM,CAAC,uBAAuB,GAAG,qBAAqB,EAAE,CAAC;QAC3D,MAAM,IAAI,sBAAsB,CAAC,wDAAwD,CAAC,CAAA;IAC5F,CAAC;IACD,IAAI,MAAM,CAAC,mBAAmB,GAAG,MAAM,CAAC,uBAAuB,EAAE,CAAC;QAChE,MAAM,IAAI,sBAAsB,CAAC,qEAAqE,CAAC,CAAA;IACzG,CAAC;IACD,IAAI,MAAM,CAAC,mBAAmB,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,CAAC;QAC7C,MAAM,IAAI,sBAAsB,CAAC,wDAAwD,CAAC,CAAA;IAC5F,CAAC;IACD,IAAI,MAAM,CAAC,cAAc,GAAG,IAAI,EAAE,CAAC;QACjC,MAAM,IAAI,sBAAsB,CAAC,gDAAgD,CAAC,CAAA;IACpF,CAAC;AACH,CAAC"} +\ No newline at end of file +diff --git a/node_modules/@chainsafe/libp2p-yamux/dist/src/constants.d.ts b/node_modules/@chainsafe/libp2p-yamux/dist/src/constants.d.ts +index a9ad1e4..de64bbe 100644 +--- a/node_modules/@chainsafe/libp2p-yamux/dist/src/constants.d.ts ++++ b/node_modules/@chainsafe/libp2p-yamux/dist/src/constants.d.ts +@@ -1,18 +1,4 @@ +-export declare const ERR_INVALID_FRAME = "ERR_INVALID_FRAME"; +-export declare const ERR_UNREQUESTED_PING = "ERR_UNREQUESTED_PING"; +-export declare const ERR_NOT_MATCHING_PING = "ERR_NOT_MATCHING_PING"; +-export declare const ERR_STREAM_ALREADY_EXISTS = "ERR_STREAM_ALREADY_EXISTS"; +-export declare const ERR_DECODE_INVALID_VERSION = "ERR_DECODE_INVALID_VERSION"; +-export declare const ERR_BOTH_CLIENTS = "ERR_BOTH_CLIENTS"; +-export declare const ERR_RECV_WINDOW_EXCEEDED = "ERR_RECV_WINDOW_EXCEEDED"; + export declare const PROTOCOL_ERRORS: Set; +-export declare const ERR_INVALID_CONFIG = "ERR_INVALID_CONFIG"; +-export declare const ERR_MUXER_LOCAL_CLOSED = "ERR_MUXER_LOCAL_CLOSED"; +-export declare const ERR_MUXER_REMOTE_CLOSED = "ERR_MUXER_REMOTE_CLOSED"; +-export declare const ERR_STREAM_RESET = "ERR_STREAM_RESET"; +-export declare const ERR_STREAM_ABORT = "ERR_STREAM_ABORT"; +-export declare const ERR_MAX_OUTBOUND_STREAMS_EXCEEDED = "ERROR_MAX_OUTBOUND_STREAMS_EXCEEDED"; +-export declare const ERR_DECODE_IN_PROGRESS = "ERR_DECODE_IN_PROGRESS"; + /** + * INITIAL_STREAM_WINDOW is the initial stream window size. + * +diff --git a/node_modules/@chainsafe/libp2p-yamux/dist/src/constants.d.ts.map b/node_modules/@chainsafe/libp2p-yamux/dist/src/constants.d.ts.map +index 81d5aa8..6c1aae4 100644 +--- a/node_modules/@chainsafe/libp2p-yamux/dist/src/constants.d.ts.map ++++ b/node_modules/@chainsafe/libp2p-yamux/dist/src/constants.d.ts.map +@@ -1 +1 @@ +-{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/constants.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,iBAAiB,sBAAsB,CAAA;AACpD,eAAO,MAAM,oBAAoB,yBAAyB,CAAA;AAC1D,eAAO,MAAM,qBAAqB,0BAA0B,CAAA;AAC5D,eAAO,MAAM,yBAAyB,8BAA8B,CAAA;AACpE,eAAO,MAAM,0BAA0B,+BAA+B,CAAA;AACtE,eAAO,MAAM,gBAAgB,qBAAqB,CAAA;AAClD,eAAO,MAAM,wBAAwB,6BAA6B,CAAA;AAElE,eAAO,MAAM,eAAe,aAQ1B,CAAA;AAIF,eAAO,MAAM,kBAAkB,uBAAuB,CAAA;AACtD,eAAO,MAAM,sBAAsB,2BAA2B,CAAA;AAC9D,eAAO,MAAM,uBAAuB,4BAA4B,CAAA;AAChE,eAAO,MAAM,gBAAgB,qBAAqB,CAAA;AAClD,eAAO,MAAM,gBAAgB,qBAAqB,CAAA;AAClD,eAAO,MAAM,iCAAiC,wCAAwC,CAAA;AACtF,eAAO,MAAM,sBAAsB,2BAA2B,CAAA;AAE9D;;;;GAIG;AACH,eAAO,MAAM,qBAAqB,QAAa,CAAA;AAE/C;;GAEG;AACH,eAAO,MAAM,iBAAiB,QAAmB,CAAA"} +\ No newline at end of file ++{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/constants.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,eAAe,aAQ1B,CAAA;AAEF;;;;GAIG;AACH,eAAO,MAAM,qBAAqB,QAAa,CAAA;AAE/C;;GAEG;AACH,eAAO,MAAM,iBAAiB,QAAmB,CAAA"} +\ No newline at end of file +diff --git a/node_modules/@chainsafe/libp2p-yamux/dist/src/constants.js b/node_modules/@chainsafe/libp2p-yamux/dist/src/constants.js +index ddc9564..42f2d07 100644 +--- a/node_modules/@chainsafe/libp2p-yamux/dist/src/constants.js ++++ b/node_modules/@chainsafe/libp2p-yamux/dist/src/constants.js +@@ -1,28 +1,14 @@ + // Protocol violation errors +-export const ERR_INVALID_FRAME = 'ERR_INVALID_FRAME'; +-export const ERR_UNREQUESTED_PING = 'ERR_UNREQUESTED_PING'; +-export const ERR_NOT_MATCHING_PING = 'ERR_NOT_MATCHING_PING'; +-export const ERR_STREAM_ALREADY_EXISTS = 'ERR_STREAM_ALREADY_EXISTS'; +-export const ERR_DECODE_INVALID_VERSION = 'ERR_DECODE_INVALID_VERSION'; +-export const ERR_BOTH_CLIENTS = 'ERR_BOTH_CLIENTS'; +-export const ERR_RECV_WINDOW_EXCEEDED = 'ERR_RECV_WINDOW_EXCEEDED'; ++import { BothClientsError, DecodeInvalidVersionError, InvalidFrameError, NotMatchingPingError, ReceiveWindowExceededError, StreamAlreadyExistsError, UnrequestedPingError } from './errors.js'; + export const PROTOCOL_ERRORS = new Set([ +- ERR_INVALID_FRAME, +- ERR_UNREQUESTED_PING, +- ERR_NOT_MATCHING_PING, +- ERR_STREAM_ALREADY_EXISTS, +- ERR_DECODE_INVALID_VERSION, +- ERR_BOTH_CLIENTS, +- ERR_RECV_WINDOW_EXCEEDED ++ InvalidFrameError.name, ++ UnrequestedPingError.name, ++ NotMatchingPingError.name, ++ StreamAlreadyExistsError.name, ++ DecodeInvalidVersionError.name, ++ BothClientsError.name, ++ ReceiveWindowExceededError.name + ]); +-// local errors +-export const ERR_INVALID_CONFIG = 'ERR_INVALID_CONFIG'; +-export const ERR_MUXER_LOCAL_CLOSED = 'ERR_MUXER_LOCAL_CLOSED'; +-export const ERR_MUXER_REMOTE_CLOSED = 'ERR_MUXER_REMOTE_CLOSED'; +-export const ERR_STREAM_RESET = 'ERR_STREAM_RESET'; +-export const ERR_STREAM_ABORT = 'ERR_STREAM_ABORT'; +-export const ERR_MAX_OUTBOUND_STREAMS_EXCEEDED = 'ERROR_MAX_OUTBOUND_STREAMS_EXCEEDED'; +-export const ERR_DECODE_IN_PROGRESS = 'ERR_DECODE_IN_PROGRESS'; + /** + * INITIAL_STREAM_WINDOW is the initial stream window size. + * +diff --git a/node_modules/@chainsafe/libp2p-yamux/dist/src/constants.js.map b/node_modules/@chainsafe/libp2p-yamux/dist/src/constants.js.map +index 6995fa2..46abbd8 100644 +--- a/node_modules/@chainsafe/libp2p-yamux/dist/src/constants.js.map ++++ b/node_modules/@chainsafe/libp2p-yamux/dist/src/constants.js.map +@@ -1 +1 @@ +-{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/constants.ts"],"names":[],"mappings":"AAAA,4BAA4B;AAE5B,MAAM,CAAC,MAAM,iBAAiB,GAAG,mBAAmB,CAAA;AACpD,MAAM,CAAC,MAAM,oBAAoB,GAAG,sBAAsB,CAAA;AAC1D,MAAM,CAAC,MAAM,qBAAqB,GAAG,uBAAuB,CAAA;AAC5D,MAAM,CAAC,MAAM,yBAAyB,GAAG,2BAA2B,CAAA;AACpE,MAAM,CAAC,MAAM,0BAA0B,GAAG,4BAA4B,CAAA;AACtE,MAAM,CAAC,MAAM,gBAAgB,GAAG,kBAAkB,CAAA;AAClD,MAAM,CAAC,MAAM,wBAAwB,GAAG,0BAA0B,CAAA;AAElE,MAAM,CAAC,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC;IACrC,iBAAiB;IACjB,oBAAoB;IACpB,qBAAqB;IACrB,yBAAyB;IACzB,0BAA0B;IAC1B,gBAAgB;IAChB,wBAAwB;CACzB,CAAC,CAAA;AAEF,eAAe;AAEf,MAAM,CAAC,MAAM,kBAAkB,GAAG,oBAAoB,CAAA;AACtD,MAAM,CAAC,MAAM,sBAAsB,GAAG,wBAAwB,CAAA;AAC9D,MAAM,CAAC,MAAM,uBAAuB,GAAG,yBAAyB,CAAA;AAChE,MAAM,CAAC,MAAM,gBAAgB,GAAG,kBAAkB,CAAA;AAClD,MAAM,CAAC,MAAM,gBAAgB,GAAG,kBAAkB,CAAA;AAClD,MAAM,CAAC,MAAM,iCAAiC,GAAG,qCAAqC,CAAA;AACtF,MAAM,CAAC,MAAM,sBAAsB,GAAG,wBAAwB,CAAA;AAE9D;;;;GAIG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,GAAG,GAAG,IAAI,CAAA;AAE/C;;GAEG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,EAAE,GAAG,IAAI,GAAG,IAAI,CAAA"} +\ No newline at end of file ++{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/constants.ts"],"names":[],"mappings":"AAAA,4BAA4B;AAE5B,OAAO,EAAE,gBAAgB,EAAE,yBAAyB,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,0BAA0B,EAAE,wBAAwB,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAA;AAE9L,MAAM,CAAC,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC;IACrC,iBAAiB,CAAC,IAAI;IACtB,oBAAoB,CAAC,IAAI;IACzB,oBAAoB,CAAC,IAAI;IACzB,wBAAwB,CAAC,IAAI;IAC7B,yBAAyB,CAAC,IAAI;IAC9B,gBAAgB,CAAC,IAAI;IACrB,0BAA0B,CAAC,IAAI;CAChC,CAAC,CAAA;AAEF;;;;GAIG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,GAAG,GAAG,IAAI,CAAA;AAE/C;;GAEG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,EAAE,GAAG,IAAI,GAAG,IAAI,CAAA"} +\ No newline at end of file +diff --git a/node_modules/@chainsafe/libp2p-yamux/dist/src/decode.d.ts.map b/node_modules/@chainsafe/libp2p-yamux/dist/src/decode.d.ts.map +index ddcf0ad..c3a0e2e 100644 +--- a/node_modules/@chainsafe/libp2p-yamux/dist/src/decode.d.ts.map ++++ b/node_modules/@chainsafe/libp2p-yamux/dist/src/decode.d.ts.map +@@ -1 +1 @@ +-{"version":3,"file":"decode.d.ts","sourceRoot":"","sources":["../../src/decode.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAE/C,OAAO,EAAE,KAAK,WAAW,EAA2C,MAAM,YAAY,CAAA;AACtF,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAA;AAM7C;;;;GAIG;AACH,wBAAgB,YAAY,CAAE,IAAI,EAAE,UAAU,GAAG,WAAW,CAU3D;AAED;;GAEG;AACH,qBAAa,OAAO;IAClB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAqC;IAC5D,oCAAoC;IACpC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAgB;IACvC,2EAA2E;IAC3E,OAAO,CAAC,eAAe,CAAS;gBAEnB,MAAM,EAAE,MAAM,CAAC,UAAU,GAAG,cAAc,CAAC;IAcxD;;;;;OAKG;IACK,UAAU,IAAK,cAAc,CAAC;QAAE,MAAM,EAAE,WAAW,CAAC;QAAC,QAAQ,CAAC,IAAI,OAAO,CAAC,cAAc,CAAC,CAAA;KAAE,CAAC;IA4BpG,OAAO,CAAC,UAAU;YAiBJ,SAAS;CAoBxB;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,EAAG,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAgBjE"} +\ No newline at end of file ++{"version":3,"file":"decode.d.ts","sourceRoot":"","sources":["../../src/decode.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAE/C,OAAO,EAAE,KAAK,WAAW,EAA2C,MAAM,YAAY,CAAA;AACtF,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAA;AAM7C;;;;GAIG;AACH,wBAAgB,YAAY,CAAE,IAAI,EAAE,UAAU,GAAG,WAAW,CAU3D;AAED;;GAEG;AACH,qBAAa,OAAO;IAClB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAqC;IAC5D,oCAAoC;IACpC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAgB;IACvC,2EAA2E;IAC3E,OAAO,CAAC,eAAe,CAAS;gBAEnB,MAAM,EAAE,MAAM,CAAC,UAAU,GAAG,cAAc,CAAC;IAcxD;;;;;OAKG;IACK,UAAU,IAAK,cAAc,CAAC;QAAE,MAAM,EAAE,WAAW,CAAC;QAAC,QAAQ,CAAC,IAAI,OAAO,CAAC,cAAc,CAAC,CAAA;KAAE,CAAC;IA4BpG,OAAO,CAAC,UAAU;YAiBJ,SAAS;CAoBxB;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,EAAG,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAgBjE"} +\ No newline at end of file +diff --git a/node_modules/@chainsafe/libp2p-yamux/dist/src/decode.js b/node_modules/@chainsafe/libp2p-yamux/dist/src/decode.js +index b290624..58728fd 100644 +--- a/node_modules/@chainsafe/libp2p-yamux/dist/src/decode.js ++++ b/node_modules/@chainsafe/libp2p-yamux/dist/src/decode.js +@@ -1,6 +1,5 @@ +-import { CodeError } from '@libp2p/interface'; + import { Uint8ArrayList } from 'uint8arraylist'; +-import { ERR_DECODE_INVALID_VERSION, ERR_DECODE_IN_PROGRESS } from './constants.js'; ++import { InvalidFrameError, InvalidStateError } from './errors.js'; + import { FrameType, HEADER_LENGTH, YAMUX_VERSION } from './frame.js'; + // used to bitshift in decoding + // native bitshift can overflow into a negative number, so we bitshift by multiplying by a power of 2 +@@ -12,7 +11,7 @@ const twoPow24 = 2 ** 24; + */ + export function decodeHeader(data) { + if (data[0] !== YAMUX_VERSION) { +- throw new CodeError('Invalid frame version', ERR_DECODE_INVALID_VERSION); ++ throw new InvalidFrameError('Invalid frame version'); + } + return { + type: data[1], +@@ -79,7 +78,7 @@ export class Decoder { + // Sanity check to ensure a header isn't read when another frame is partially decoded + // In practice this shouldn't happen + if (this.frameInProgress) { +- throw new CodeError('decoding frame already in progress', ERR_DECODE_IN_PROGRESS); ++ throw new InvalidStateError('decoding frame already in progress'); + } + if (this.buffer.length < HEADER_LENGTH) { + // not enough data yet +diff --git a/node_modules/@chainsafe/libp2p-yamux/dist/src/decode.js.map b/node_modules/@chainsafe/libp2p-yamux/dist/src/decode.js.map +index 9ae2e29..853ffe8 100644 +--- a/node_modules/@chainsafe/libp2p-yamux/dist/src/decode.js.map ++++ b/node_modules/@chainsafe/libp2p-yamux/dist/src/decode.js.map +@@ -1 +1 @@ +-{"version":3,"file":"decode.js","sourceRoot":"","sources":["../../src/decode.ts"],"names":[],"mappings":"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"} +\ No newline at end of file ++{"version":3,"file":"decode.js","sourceRoot":"","sources":["../../src/decode.ts"],"names":[],"mappings":"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"} +\ No newline at end of file +diff --git a/node_modules/@chainsafe/libp2p-yamux/dist/src/errors.d.ts b/node_modules/@chainsafe/libp2p-yamux/dist/src/errors.d.ts +new file mode 100644 +index 0000000..78554f6 +--- /dev/null ++++ b/node_modules/@chainsafe/libp2p-yamux/dist/src/errors.d.ts +@@ -0,0 +1,33 @@ ++export declare class InvalidFrameError extends Error { ++ static name: string; ++ constructor(message?: string); ++} ++export declare class UnrequestedPingError extends Error { ++ static name: string; ++ constructor(message?: string); ++} ++export declare class NotMatchingPingError extends Error { ++ static name: string; ++ constructor(message?: string); ++} ++export declare class InvalidStateError extends Error { ++ static name: string; ++ constructor(message?: string); ++} ++export declare class StreamAlreadyExistsError extends Error { ++ static name: string; ++ constructor(message?: string); ++} ++export declare class DecodeInvalidVersionError extends Error { ++ static name: string; ++ constructor(message?: string); ++} ++export declare class BothClientsError extends Error { ++ static name: string; ++ constructor(message?: string); ++} ++export declare class ReceiveWindowExceededError extends Error { ++ static name: string; ++ constructor(message?: string); ++} ++//# sourceMappingURL=errors.d.ts.map +\ No newline at end of file +diff --git a/node_modules/@chainsafe/libp2p-yamux/dist/src/errors.d.ts.map b/node_modules/@chainsafe/libp2p-yamux/dist/src/errors.d.ts.map +new file mode 100644 +index 0000000..7aad1b8 +--- /dev/null ++++ b/node_modules/@chainsafe/libp2p-yamux/dist/src/errors.d.ts.map +@@ -0,0 +1 @@ ++{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/errors.ts"],"names":[],"mappings":"AAAA,qBAAa,iBAAkB,SAAQ,KAAK;IAC1C,MAAM,CAAC,IAAI,SAAsB;gBAEpB,OAAO,SAA0B;CAI/C;AAED,qBAAa,oBAAqB,SAAQ,KAAK;IAC7C,MAAM,CAAC,IAAI,SAAyB;gBAEvB,OAAO,SAA2B;CAIhD;AAED,qBAAa,oBAAqB,SAAQ,KAAK;IAC7C,MAAM,CAAC,IAAI,SAAyB;gBAEvB,OAAO,SAA2B;CAIhD;AAED,qBAAa,iBAAkB,SAAQ,KAAK;IAC1C,MAAM,CAAC,IAAI,SAAsB;gBAEpB,OAAO,SAAkB;CAIvC;AAED,qBAAa,wBAAyB,SAAQ,KAAK;IACjD,MAAM,CAAC,IAAI,SAA6B;gBAE3B,OAAO,SAA0B;CAI/C;AAED,qBAAa,yBAA0B,SAAQ,KAAK;IAClD,MAAM,CAAC,IAAI,SAA8B;gBAE5B,OAAO,SAA2B;CAIhD;AAED,qBAAa,gBAAiB,SAAQ,KAAK;IACzC,MAAM,CAAC,IAAI,SAAqB;gBAEnB,OAAO,SAAiB;CAItC;AAED,qBAAa,0BAA2B,SAAQ,KAAK;IACnD,MAAM,CAAC,IAAI,SAA+B;gBAE7B,OAAO,SAA4B;CAIjD"} +\ No newline at end of file +diff --git a/node_modules/@chainsafe/libp2p-yamux/dist/src/errors.js b/node_modules/@chainsafe/libp2p-yamux/dist/src/errors.js +new file mode 100644 +index 0000000..68c9fc7 +--- /dev/null ++++ b/node_modules/@chainsafe/libp2p-yamux/dist/src/errors.js +@@ -0,0 +1,57 @@ ++export class InvalidFrameError extends Error { ++ static name = 'InvalidFrameError'; ++ constructor(message = 'The frame was invalid') { ++ super(message); ++ this.name = 'InvalidFrameError'; ++ } ++} ++export class UnrequestedPingError extends Error { ++ static name = 'UnrequestedPingError'; ++ constructor(message = 'Unrequested ping error') { ++ super(message); ++ this.name = 'UnrequestedPingError'; ++ } ++} ++export class NotMatchingPingError extends Error { ++ static name = 'NotMatchingPingError'; ++ constructor(message = 'Unrequested ping error') { ++ super(message); ++ this.name = 'NotMatchingPingError'; ++ } ++} ++export class InvalidStateError extends Error { ++ static name = 'InvalidStateError'; ++ constructor(message = 'Invalid state') { ++ super(message); ++ this.name = 'InvalidStateError'; ++ } ++} ++export class StreamAlreadyExistsError extends Error { ++ static name = 'StreamAlreadyExistsError'; ++ constructor(message = 'Strean already exists') { ++ super(message); ++ this.name = 'StreamAlreadyExistsError'; ++ } ++} ++export class DecodeInvalidVersionError extends Error { ++ static name = 'DecodeInvalidVersionError'; ++ constructor(message = 'Decode invalid version') { ++ super(message); ++ this.name = 'DecodeInvalidVersionError'; ++ } ++} ++export class BothClientsError extends Error { ++ static name = 'BothClientsError'; ++ constructor(message = 'Both clients') { ++ super(message); ++ this.name = 'BothClientsError'; ++ } ++} ++export class ReceiveWindowExceededError extends Error { ++ static name = 'ReceiveWindowExceededError'; ++ constructor(message = 'Receive window exceeded') { ++ super(message); ++ this.name = 'ReceiveWindowExceededError'; ++ } ++} ++//# sourceMappingURL=errors.js.map +\ No newline at end of file +diff --git a/node_modules/@chainsafe/libp2p-yamux/dist/src/errors.js.map b/node_modules/@chainsafe/libp2p-yamux/dist/src/errors.js.map +new file mode 100644 +index 0000000..987ed82 +--- /dev/null ++++ b/node_modules/@chainsafe/libp2p-yamux/dist/src/errors.js.map +@@ -0,0 +1 @@ ++{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/errors.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,iBAAkB,SAAQ,KAAK;IAC1C,MAAM,CAAC,IAAI,GAAG,mBAAmB,CAAA;IAEjC,YAAa,OAAO,GAAG,uBAAuB;QAC5C,KAAK,CAAC,OAAO,CAAC,CAAA;QACd,IAAI,CAAC,IAAI,GAAG,mBAAmB,CAAA;IACjC,CAAC;;AAGH,MAAM,OAAO,oBAAqB,SAAQ,KAAK;IAC7C,MAAM,CAAC,IAAI,GAAG,sBAAsB,CAAA;IAEpC,YAAa,OAAO,GAAG,wBAAwB;QAC7C,KAAK,CAAC,OAAO,CAAC,CAAA;QACd,IAAI,CAAC,IAAI,GAAG,sBAAsB,CAAA;IACpC,CAAC;;AAGH,MAAM,OAAO,oBAAqB,SAAQ,KAAK;IAC7C,MAAM,CAAC,IAAI,GAAG,sBAAsB,CAAA;IAEpC,YAAa,OAAO,GAAG,wBAAwB;QAC7C,KAAK,CAAC,OAAO,CAAC,CAAA;QACd,IAAI,CAAC,IAAI,GAAG,sBAAsB,CAAA;IACpC,CAAC;;AAGH,MAAM,OAAO,iBAAkB,SAAQ,KAAK;IAC1C,MAAM,CAAC,IAAI,GAAG,mBAAmB,CAAA;IAEjC,YAAa,OAAO,GAAG,eAAe;QACpC,KAAK,CAAC,OAAO,CAAC,CAAA;QACd,IAAI,CAAC,IAAI,GAAG,mBAAmB,CAAA;IACjC,CAAC;;AAGH,MAAM,OAAO,wBAAyB,SAAQ,KAAK;IACjD,MAAM,CAAC,IAAI,GAAG,0BAA0B,CAAA;IAExC,YAAa,OAAO,GAAG,uBAAuB;QAC5C,KAAK,CAAC,OAAO,CAAC,CAAA;QACd,IAAI,CAAC,IAAI,GAAG,0BAA0B,CAAA;IACxC,CAAC;;AAGH,MAAM,OAAO,yBAA0B,SAAQ,KAAK;IAClD,MAAM,CAAC,IAAI,GAAG,2BAA2B,CAAA;IAEzC,YAAa,OAAO,GAAG,wBAAwB;QAC7C,KAAK,CAAC,OAAO,CAAC,CAAA;QACd,IAAI,CAAC,IAAI,GAAG,2BAA2B,CAAA;IACzC,CAAC;;AAGH,MAAM,OAAO,gBAAiB,SAAQ,KAAK;IACzC,MAAM,CAAC,IAAI,GAAG,kBAAkB,CAAA;IAEhC,YAAa,OAAO,GAAG,cAAc;QACnC,KAAK,CAAC,OAAO,CAAC,CAAA;QACd,IAAI,CAAC,IAAI,GAAG,kBAAkB,CAAA;IAChC,CAAC;;AAGH,MAAM,OAAO,0BAA2B,SAAQ,KAAK;IACnD,MAAM,CAAC,IAAI,GAAG,4BAA4B,CAAA;IAE1C,YAAa,OAAO,GAAG,yBAAyB;QAC9C,KAAK,CAAC,OAAO,CAAC,CAAA;QACd,IAAI,CAAC,IAAI,GAAG,4BAA4B,CAAA;IAC1C,CAAC"} +\ No newline at end of file +diff --git a/node_modules/@chainsafe/libp2p-yamux/dist/src/muxer.d.ts b/node_modules/@chainsafe/libp2p-yamux/dist/src/muxer.d.ts +index 8b9d7f0..be2692e 100644 +--- a/node_modules/@chainsafe/libp2p-yamux/dist/src/muxer.d.ts ++++ b/node_modules/@chainsafe/libp2p-yamux/dist/src/muxer.d.ts +@@ -1,3 +1,4 @@ ++import { serviceCapabilities } from '@libp2p/interface'; + import { type Pushable } from 'it-pushable'; + import { Uint8ArrayList } from 'uint8arraylist'; + import { type Config } from './config.js'; +@@ -13,6 +14,8 @@ export declare class Yamux implements StreamMuxerFactory { + private readonly _components; + private readonly _init; + constructor(components: YamuxMuxerComponents, init?: YamuxMuxerInit); ++ readonly [Symbol.toStringTag] = "@chainsafe/libp2p-yamux"; ++ readonly [serviceCapabilities]: string[]; + createStreamMuxer(init?: YamuxMuxerInit): YamuxMuxer; + } + export interface CloseOptions extends AbortOptions { +diff --git a/node_modules/@chainsafe/libp2p-yamux/dist/src/muxer.d.ts.map b/node_modules/@chainsafe/libp2p-yamux/dist/src/muxer.d.ts.map +index 2859b2e..bb74393 100644 +--- a/node_modules/@chainsafe/libp2p-yamux/dist/src/muxer.d.ts.map ++++ b/node_modules/@chainsafe/libp2p-yamux/dist/src/muxer.d.ts.map +@@ -1 +1 @@ +-{"version":3,"file":"muxer.d.ts","sourceRoot":"","sources":["../../src/muxer.ts"],"names":[],"mappings":"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"} +\ No newline at end of file ++{"version":3,"file":"muxer.d.ts","sourceRoot":"","sources":["../../src/muxer.ts"],"names":[],"mappings":"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"} +\ No newline at end of file +diff --git a/node_modules/@chainsafe/libp2p-yamux/dist/src/muxer.js b/node_modules/@chainsafe/libp2p-yamux/dist/src/muxer.js +index ec5b5d3..6eeb7a3 100644 +--- a/node_modules/@chainsafe/libp2p-yamux/dist/src/muxer.js ++++ b/node_modules/@chainsafe/libp2p-yamux/dist/src/muxer.js +@@ -1,11 +1,12 @@ +-import { CodeError, setMaxListeners } from '@libp2p/interface'; ++import { InvalidParametersError, MuxerClosedError, TooManyOutboundProtocolStreamsError, serviceCapabilities, setMaxListeners } from '@libp2p/interface'; + import { getIterator } from 'get-iterator'; + import { pushable } from 'it-pushable'; + import { Uint8ArrayList } from 'uint8arraylist'; + import { defaultConfig, verifyConfig } from './config.js'; +-import { ERR_BOTH_CLIENTS, ERR_INVALID_FRAME, ERR_MAX_OUTBOUND_STREAMS_EXCEEDED, ERR_MUXER_LOCAL_CLOSED, ERR_MUXER_REMOTE_CLOSED, ERR_NOT_MATCHING_PING, ERR_STREAM_ALREADY_EXISTS, ERR_UNREQUESTED_PING, PROTOCOL_ERRORS } from './constants.js'; ++import { PROTOCOL_ERRORS } from './constants.js'; + import { Decoder } from './decode.js'; + import { encodeHeader } from './encode.js'; ++import { InvalidFrameError, NotMatchingPingError, UnrequestedPingError } from './errors.js'; + import { Flag, FrameType, GoAwayCode } from './frame.js'; + import { StreamState, YamuxStream } from './stream.js'; + const YAMUX_PROTOCOL_ID = '/yamux/1.0.0'; +@@ -18,6 +19,10 @@ export class Yamux { + this._components = components; + this._init = init; + } ++ [Symbol.toStringTag] = '@chainsafe/libp2p-yamux'; ++ [serviceCapabilities] = [ ++ '@libp2p/stream-multiplexing' ++ ]; + createStreamMuxer(init) { + return new YamuxMuxer(this._components, { + ...this._init, +@@ -101,8 +106,7 @@ export class YamuxMuxer { + } + catch (err) { + // either a protocol or internal error +- const errCode = err.code; +- if (PROTOCOL_ERRORS.has(errCode)) { ++ if (PROTOCOL_ERRORS.has(err.name)) { + this.log?.error('protocol error in sink', err); + reason = GoAwayCode.ProtocolError; + } +@@ -138,16 +142,16 @@ export class YamuxMuxer { + } + newStream(name) { + if (this.remoteGoAway !== undefined) { +- throw new CodeError('muxer closed remotely', ERR_MUXER_REMOTE_CLOSED); ++ throw new MuxerClosedError('Muxer closed remotely'); + } + if (this.localGoAway !== undefined) { +- throw new CodeError('muxer closed locally', ERR_MUXER_LOCAL_CLOSED); ++ throw new MuxerClosedError('Muxer closed locally'); + } + const id = this.nextStreamID; + this.nextStreamID += 2; + // check against our configured maximum number of outbound streams + if (this.numOutboundStreams >= this.config.maxOutboundStreams) { +- throw new CodeError('max outbound streams exceeded', ERR_MAX_OUTBOUND_STREAMS_EXCEEDED); ++ throw new TooManyOutboundProtocolStreamsError('max outbound streams exceeded'); + } + this.log?.trace('new outgoing stream id=%s', id); + const stream = this._newStream(id, name, StreamState.Init, 'outbound'); +@@ -167,10 +171,10 @@ export class YamuxMuxer { + */ + async ping() { + if (this.remoteGoAway !== undefined) { +- throw new CodeError('muxer closed remotely', ERR_MUXER_REMOTE_CLOSED); ++ throw new MuxerClosedError('Muxer closed remotely'); + } + if (this.localGoAway !== undefined) { +- throw new CodeError('muxer closed locally', ERR_MUXER_LOCAL_CLOSED); ++ throw new MuxerClosedError('Muxer closed locally'); + } + // An active ping does not yet exist, handle the process here + if (this.activePing === undefined) { +@@ -181,7 +185,7 @@ export class YamuxMuxer { + // this promise awaits resolution or the close controller aborting + promise: new Promise((resolve, reject) => { + const closed = () => { +- reject(new CodeError('muxer closed locally', ERR_MUXER_LOCAL_CLOSED)); ++ reject(new MuxerClosedError('Muxer closed locally')); + }; + this.closeController.signal.addEventListener('abort', closed, { once: true }); + _resolve = () => { +@@ -281,7 +285,7 @@ export class YamuxMuxer { + /** Create a new stream */ + _newStream(id, name, state, direction) { + if (this._streams.get(id) != null) { +- throw new CodeError('Stream already exists', ERR_STREAM_ALREADY_EXISTS, { id }); ++ throw new InvalidParametersError('Stream already exists with that id'); + } + const stream = new YamuxStream({ + id: id.toString(), +@@ -350,7 +354,7 @@ export class YamuxMuxer { + } + default: + // Invalid state +- throw new CodeError('Invalid frame type', ERR_INVALID_FRAME, { header }); ++ throw new InvalidFrameError('Invalid frame type'); + } + } + else { +@@ -363,7 +367,7 @@ export class YamuxMuxer { + } + default: + // Invalid state +- throw new CodeError('Invalid frame type', ERR_INVALID_FRAME, { header }); ++ throw new InvalidFrameError('Invalid frame type'); + } + } + } +@@ -379,17 +383,17 @@ export class YamuxMuxer { + } + else { + // Invalid state +- throw new CodeError('Invalid frame flag', ERR_INVALID_FRAME, { header }); ++ throw new InvalidFrameError('Invalid frame flag'); + } + } + handlePingResponse(pingId) { + if (this.activePing === undefined) { + // this ping was not requested +- throw new CodeError('ping not requested', ERR_UNREQUESTED_PING); ++ throw new UnrequestedPingError('ping not requested'); + } + if (this.activePing.id !== pingId) { + // this ping doesn't match our active ping request +- throw new CodeError('ping doesn\'t match our id', ERR_NOT_MATCHING_PING); ++ throw new NotMatchingPingError('ping doesn\'t match our id'); + } + // valid ping response + this.activePing.resolve(); +@@ -441,7 +445,7 @@ export class YamuxMuxer { + } + incomingStream(id) { + if (this.client !== (id % 2 === 0)) { +- throw new CodeError('both endpoints are clients', ERR_BOTH_CLIENTS); ++ throw new InvalidParametersError('Both endpoints are clients'); + } + if (this._streams.has(id)) { + return; +@@ -479,7 +483,7 @@ export class YamuxMuxer { + this.log?.trace('sending frame %o', header); + if (header.type === FrameType.Data) { + if (data === undefined) { +- throw new CodeError('invalid frame', ERR_INVALID_FRAME); ++ throw new InvalidFrameError('Invalid frame'); + } + this.source.push(new Uint8ArrayList(encodeHeader(header), data)); + } +diff --git a/node_modules/@chainsafe/libp2p-yamux/dist/src/muxer.js.map b/node_modules/@chainsafe/libp2p-yamux/dist/src/muxer.js.map +index 3afa4ab..2b10694 100644 +--- a/node_modules/@chainsafe/libp2p-yamux/dist/src/muxer.js.map ++++ b/node_modules/@chainsafe/libp2p-yamux/dist/src/muxer.js.map +@@ -1 +1 @@ +-{"version":3,"file":"muxer.js","sourceRoot":"","sources":["../../src/muxer.ts"],"names":[],"mappings":"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"} +\ No newline at end of file ++{"version":3,"file":"muxer.js","sourceRoot":"","sources":["../../src/muxer.ts"],"names":[],"mappings":"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"} +\ No newline at end of file +diff --git a/node_modules/@chainsafe/libp2p-yamux/dist/src/stream.d.ts.map b/node_modules/@chainsafe/libp2p-yamux/dist/src/stream.d.ts.map +index cc64eb9..6486734 100644 +--- a/node_modules/@chainsafe/libp2p-yamux/dist/src/stream.d.ts.map ++++ b/node_modules/@chainsafe/libp2p-yamux/dist/src/stream.d.ts.map +@@ -1 +1 @@ +-{"version":3,"file":"stream.d.ts","sourceRoot":"","sources":["../../src/stream.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,KAAK,kBAAkB,EAAE,MAAM,+BAA+B,CAAA;AAGvF,OAAO,EAAQ,KAAK,WAAW,EAA4B,MAAM,YAAY,CAAA;AAC7E,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AACzC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AACrD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAEpD,oBAAY,WAAW;IACrB,IAAI,IAAA;IACJ,OAAO,IAAA;IACP,WAAW,IAAA;IACX,WAAW,IAAA;IACX,QAAQ,IAAA;CACT;AAED,MAAM,WAAW,eAAgB,SAAQ,kBAAkB;IACzD,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,SAAS,CAAC,MAAM,EAAE,WAAW,EAAE,IAAI,CAAC,EAAE,cAAc,GAAG,IAAI,CAAA;IAC3D,MAAM,IAAI,MAAM,CAAA;IAChB,MAAM,EAAE,MAAM,CAAA;IACd,KAAK,EAAE,WAAW,CAAA;CACnB;AAED,yEAAyE;AACzE,qBAAa,WAAY,SAAQ,cAAc;IAC7C,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,WAAW,CAAA;IAElB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAQ;IAC/B,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAQ;IAE5B,4CAA4C;IAC5C,OAAO,CAAC,kBAAkB,CAAQ;IAClC,sEAAsE;IACtE,OAAO,CAAC,wBAAwB,CAAC,CAAY;IAE7C,gEAAgE;IAChE,OAAO,CAAC,UAAU,CAAQ;IAC1B,+CAA+C;IAC/C,OAAO,CAAC,kBAAkB,CAAQ;IAElC;;;;OAIG;IACH,OAAO,CAAC,UAAU,CAAQ;IAC1B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAc;IAErC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAsD;gBAEnE,IAAI,EAAE,eAAe;IA0BlC;;;;;;OAMG;IACG,aAAa,IAAK,OAAO,CAAC,IAAI,CAAC;IAIrC;;OAEG;IACG,QAAQ,CAAE,GAAG,EAAE,cAAc,EAAE,OAAO,GAAE,YAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;IAkC/E;;OAEG;IACG,SAAS,IAAK,OAAO,CAAC,IAAI,CAAC;IASjC;;;OAGG;IACG,cAAc,IAAK,OAAO,CAAC,IAAI,CAAC;IAUtC;;;OAGG;IACG,aAAa,IAAK,OAAO,CAAC,IAAI,CAAC;IAIrC;;;;OAIG;IACG,yBAAyB,CAAE,OAAO,GAAE,YAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;IA8B3E;;OAEG;IACH,kBAAkB,CAAE,MAAM,EAAE,WAAW,GAAG,IAAI;IAa9C;;OAEG;IACG,UAAU,CAAE,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC,cAAc,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAe9F;;OAEG;IACH,OAAO,CAAC,YAAY;IAcpB;;;;;OAKG;IACH,OAAO,CAAC,YAAY;IAapB;;OAEG;IACH,gBAAgB,IAAK,IAAI;CAkC1B"} +\ No newline at end of file ++{"version":3,"file":"stream.d.ts","sourceRoot":"","sources":["../../src/stream.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,KAAK,kBAAkB,EAAE,MAAM,+BAA+B,CAAA;AAIvF,OAAO,EAAQ,KAAK,WAAW,EAA4B,MAAM,YAAY,CAAA;AAC7E,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AACzC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AACrD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAEpD,oBAAY,WAAW;IACrB,IAAI,IAAA;IACJ,OAAO,IAAA;IACP,WAAW,IAAA;IACX,WAAW,IAAA;IACX,QAAQ,IAAA;CACT;AAED,MAAM,WAAW,eAAgB,SAAQ,kBAAkB;IACzD,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,SAAS,CAAC,MAAM,EAAE,WAAW,EAAE,IAAI,CAAC,EAAE,cAAc,GAAG,IAAI,CAAA;IAC3D,MAAM,IAAI,MAAM,CAAA;IAChB,MAAM,EAAE,MAAM,CAAA;IACd,KAAK,EAAE,WAAW,CAAA;CACnB;AAED,yEAAyE;AACzE,qBAAa,WAAY,SAAQ,cAAc;IAC7C,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,WAAW,CAAA;IAElB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAQ;IAC/B,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAQ;IAE5B,4CAA4C;IAC5C,OAAO,CAAC,kBAAkB,CAAQ;IAClC,sEAAsE;IACtE,OAAO,CAAC,wBAAwB,CAAC,CAAY;IAE7C,gEAAgE;IAChE,OAAO,CAAC,UAAU,CAAQ;IAC1B,+CAA+C;IAC/C,OAAO,CAAC,kBAAkB,CAAQ;IAElC;;;;OAIG;IACH,OAAO,CAAC,UAAU,CAAQ;IAC1B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAc;IAErC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAsD;gBAEnE,IAAI,EAAE,eAAe;IA0BlC;;;;;;OAMG;IACG,aAAa,IAAK,OAAO,CAAC,IAAI,CAAC;IAIrC;;OAEG;IACG,QAAQ,CAAE,GAAG,EAAE,cAAc,EAAE,OAAO,GAAE,YAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;IAkC/E;;OAEG;IACG,SAAS,IAAK,OAAO,CAAC,IAAI,CAAC;IASjC;;;OAGG;IACG,cAAc,IAAK,OAAO,CAAC,IAAI,CAAC;IAUtC;;;OAGG;IACG,aAAa,IAAK,OAAO,CAAC,IAAI,CAAC;IAIrC;;;;OAIG;IACG,yBAAyB,CAAE,OAAO,GAAE,YAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;IA8B3E;;OAEG;IACH,kBAAkB,CAAE,MAAM,EAAE,WAAW,GAAG,IAAI;IAa9C;;OAEG;IACG,UAAU,CAAE,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC,cAAc,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAe9F;;OAEG;IACH,OAAO,CAAC,YAAY;IAcpB;;;;;OAKG;IACH,OAAO,CAAC,YAAY;IAapB;;OAEG;IACH,gBAAgB,IAAK,IAAI;CAkC1B"} +\ No newline at end of file +diff --git a/node_modules/@chainsafe/libp2p-yamux/dist/src/stream.js b/node_modules/@chainsafe/libp2p-yamux/dist/src/stream.js +index 5b28564..6096431 100644 +--- a/node_modules/@chainsafe/libp2p-yamux/dist/src/stream.js ++++ b/node_modules/@chainsafe/libp2p-yamux/dist/src/stream.js +@@ -1,7 +1,8 @@ +-import { CodeError } from '@libp2p/interface'; ++import { AbortError } from '@libp2p/interface'; + import { AbstractStream } from '@libp2p/utils/abstract-stream'; + import each from 'it-foreach'; +-import { ERR_RECV_WINDOW_EXCEEDED, ERR_STREAM_ABORT, INITIAL_STREAM_WINDOW } from './constants.js'; ++import { INITIAL_STREAM_WINDOW } from './constants.js'; ++import { ReceiveWindowExceededError } from './errors.js'; + import { Flag, FrameType, HEADER_LENGTH } from './frame.js'; + export var StreamState; + (function (StreamState) { +@@ -137,7 +138,7 @@ export class YamuxStream extends AbstractStream { + let reject; + const abort = () => { + if (this.status === 'open' || this.status === 'closing') { +- reject(new CodeError('stream aborted', ERR_STREAM_ABORT)); ++ reject(new AbortError('Stream aborted')); + } + else { + // the stream was closed already, ignore the failure to send +@@ -180,7 +181,7 @@ export class YamuxStream extends AbstractStream { + this.processFlags(header.flag); + // check that our recv window is not exceeded + if (this.recvWindowCapacity < header.length) { +- throw new CodeError('receive window exceeded', ERR_RECV_WINDOW_EXCEEDED, { available: this.recvWindowCapacity, recv: header.length }); ++ throw new ReceiveWindowExceededError('Receive window exceeded'); + } + const data = await readData(); + this.recvWindowCapacity -= header.length; +diff --git a/node_modules/@chainsafe/libp2p-yamux/dist/src/stream.js.map b/node_modules/@chainsafe/libp2p-yamux/dist/src/stream.js.map +index 93bddc8..cc3a8e7 100644 +--- a/node_modules/@chainsafe/libp2p-yamux/dist/src/stream.js.map ++++ b/node_modules/@chainsafe/libp2p-yamux/dist/src/stream.js.map +@@ -1 +1 @@ +-{"version":3,"file":"stream.js","sourceRoot":"","sources":["../../src/stream.ts"],"names":[],"mappings":"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"} +\ No newline at end of file ++{"version":3,"file":"stream.js","sourceRoot":"","sources":["../../src/stream.ts"],"names":[],"mappings":"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"} +\ No newline at end of file +diff --git a/node_modules/@chainsafe/libp2p-yamux/dist/test/bench/codec.bench.d.ts b/node_modules/@chainsafe/libp2p-yamux/dist/test/bench/codec.bench.d.ts +new file mode 100644 +index 0000000..b4e5636 +--- /dev/null ++++ b/node_modules/@chainsafe/libp2p-yamux/dist/test/bench/codec.bench.d.ts +@@ -0,0 +1,2 @@ ++export {}; ++//# sourceMappingURL=codec.bench.d.ts.map +\ No newline at end of file +diff --git a/node_modules/@chainsafe/libp2p-yamux/dist/test/bench/codec.bench.d.ts.map b/node_modules/@chainsafe/libp2p-yamux/dist/test/bench/codec.bench.d.ts.map +new file mode 100644 +index 0000000..73758eb +--- /dev/null ++++ b/node_modules/@chainsafe/libp2p-yamux/dist/test/bench/codec.bench.d.ts.map +@@ -0,0 +1 @@ ++{"version":3,"file":"codec.bench.d.ts","sourceRoot":"","sources":["../../../test/bench/codec.bench.ts"],"names":[],"mappings":""} +\ No newline at end of file +diff --git a/node_modules/@chainsafe/libp2p-yamux/dist/test/bench/codec.bench.js b/node_modules/@chainsafe/libp2p-yamux/dist/test/bench/codec.bench.js +new file mode 100644 +index 0000000..84f5ae8 +--- /dev/null ++++ b/node_modules/@chainsafe/libp2p-yamux/dist/test/bench/codec.bench.js +@@ -0,0 +1,46 @@ ++import { itBench } from '@dapplion/benchmark'; ++import { decodeHeader } from '../../src/decode.js'; ++import { encodeHeader } from '../../src/encode.js'; ++import { Flag, FrameType } from '../../src/frame.js'; ++import { decodeHeaderNaive, encodeHeaderNaive } from '../codec.util.js'; ++describe('codec benchmark', () => { ++ for (const { encode, name } of [ ++ { encode: encodeHeader, name: 'encodeFrameHeader' }, ++ { encode: encodeHeaderNaive, name: 'encodeFrameHeaderNaive' } ++ ]) { ++ itBench({ ++ id: `frame header - ${name}`, ++ timeoutBench: 100000000, ++ beforeEach: () => { ++ return { ++ type: FrameType.WindowUpdate, ++ flag: Flag.ACK, ++ streamID: 0xffffffff, ++ length: 0xffffffff ++ }; ++ }, ++ fn: (header) => { ++ encode(header); ++ } ++ }); ++ } ++ for (const { decode, name } of [ ++ { decode: decodeHeader, name: 'decodeHeader' }, ++ { decode: decodeHeaderNaive, name: 'decodeHeaderNaive' } ++ ]) { ++ itBench({ ++ id: `frame header ${name}`, ++ beforeEach: () => { ++ const header = new Uint8Array(12); ++ for (let i = 1; i < 12; i++) { ++ header[i] = 255; ++ } ++ return header; ++ }, ++ fn: (header) => { ++ decode(header); ++ } ++ }); ++ } ++}); ++//# sourceMappingURL=codec.bench.js.map +\ No newline at end of file +diff --git a/node_modules/@chainsafe/libp2p-yamux/dist/test/bench/codec.bench.js.map b/node_modules/@chainsafe/libp2p-yamux/dist/test/bench/codec.bench.js.map +new file mode 100644 +index 0000000..79117ac +--- /dev/null ++++ b/node_modules/@chainsafe/libp2p-yamux/dist/test/bench/codec.bench.js.map +@@ -0,0 +1 @@ ++{"version":3,"file":"codec.bench.js","sourceRoot":"","sources":["../../../test/bench/codec.bench.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAClD,OAAO,EAAE,IAAI,EAAoB,SAAS,EAAE,MAAM,oBAAoB,CAAA;AACtE,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAA;AAEvE,QAAQ,CAAC,iBAAiB,EAAE,GAAG,EAAE;IAC/B,KAAK,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI;QAC7B,EAAE,MAAM,EAAE,YAAY,EAAE,IAAI,EAAE,mBAAmB,EAAE;QACnD,EAAE,MAAM,EAAE,iBAAiB,EAAE,IAAI,EAAE,wBAAwB,EAAE;KAC9D,EAAE,CAAC;QACF,OAAO,CAAyB;YAC9B,EAAE,EAAE,kBAAkB,IAAI,EAAE;YAC5B,YAAY,EAAE,SAAS;YACvB,UAAU,EAAE,GAAG,EAAE;gBACf,OAAO;oBACL,IAAI,EAAE,SAAS,CAAC,YAAY;oBAC5B,IAAI,EAAE,IAAI,CAAC,GAAG;oBACd,QAAQ,EAAE,UAAU;oBACpB,MAAM,EAAE,UAAU;iBACnB,CAAA;YACH,CAAC;YACD,EAAE,EAAE,CAAC,MAAM,EAAE,EAAE;gBACb,MAAM,CAAC,MAAM,CAAC,CAAA;YAChB,CAAC;SACF,CAAC,CAAA;IACJ,CAAC;IAED,KAAK,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI;QAC7B,EAAE,MAAM,EAAE,YAAY,EAAE,IAAI,EAAE,cAAc,EAAE;QAC9C,EAAE,MAAM,EAAE,iBAAiB,EAAE,IAAI,EAAE,mBAAmB,EAAE;KACzD,EAAE,CAAC;QACF,OAAO,CAAwB;YAC7B,EAAE,EAAE,gBAAgB,IAAI,EAAE;YAC1B,UAAU,EAAE,GAAG,EAAE;gBACf,MAAM,MAAM,GAAG,IAAI,UAAU,CAAC,EAAE,CAAC,CAAA;gBACjC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;oBAC5B,MAAM,CAAC,CAAC,CAAC,GAAG,GAAG,CAAA;gBACjB,CAAC;gBACD,OAAO,MAAM,CAAA;YACf,CAAC;YACD,EAAE,EAAE,CAAC,MAAM,EAAE,EAAE;gBACb,MAAM,CAAC,MAAM,CAAC,CAAA;YAChB,CAAC;SACF,CAAC,CAAA;IACJ,CAAC;AACH,CAAC,CAAC,CAAA"} +\ No newline at end of file +diff --git a/node_modules/@chainsafe/libp2p-yamux/dist/test/bench/comparison.bench.d.ts b/node_modules/@chainsafe/libp2p-yamux/dist/test/bench/comparison.bench.d.ts +new file mode 100644 +index 0000000..cb9667d +--- /dev/null ++++ b/node_modules/@chainsafe/libp2p-yamux/dist/test/bench/comparison.bench.d.ts +@@ -0,0 +1,2 @@ ++export {}; ++//# sourceMappingURL=comparison.bench.d.ts.map +\ No newline at end of file +diff --git a/node_modules/@chainsafe/libp2p-yamux/dist/test/bench/comparison.bench.d.ts.map b/node_modules/@chainsafe/libp2p-yamux/dist/test/bench/comparison.bench.d.ts.map +new file mode 100644 +index 0000000..c29eccd +--- /dev/null ++++ b/node_modules/@chainsafe/libp2p-yamux/dist/test/bench/comparison.bench.d.ts.map +@@ -0,0 +1 @@ ++{"version":3,"file":"comparison.bench.d.ts","sourceRoot":"","sources":["../../../test/bench/comparison.bench.ts"],"names":[],"mappings":""} +\ No newline at end of file +diff --git a/node_modules/@chainsafe/libp2p-yamux/dist/test/bench/comparison.bench.js b/node_modules/@chainsafe/libp2p-yamux/dist/test/bench/comparison.bench.js +new file mode 100644 +index 0000000..19512e4 +--- /dev/null ++++ b/node_modules/@chainsafe/libp2p-yamux/dist/test/bench/comparison.bench.js +@@ -0,0 +1,36 @@ ++import { itBench } from '@dapplion/benchmark'; ++import drain from 'it-drain'; ++import { pipe } from 'it-pipe'; ++import { testClientServer as testMplexClientServer } from '../mplex.util.js'; ++import { testClientServer as testYamuxClientServer } from '../util.js'; ++describe('comparison benchmark', () => { ++ for (const { impl, name } of [ ++ { impl: testYamuxClientServer, name: 'yamux' }, ++ { impl: testMplexClientServer, name: 'mplex' } ++ ]) { ++ for (const { numMessages, msgSize } of [ ++ { numMessages: 1, msgSize: 2 ** 6 }, ++ { numMessages: 1, msgSize: 2 ** 10 }, ++ { numMessages: 1, msgSize: 2 ** 16 }, ++ { numMessages: 1, msgSize: 2 ** 20 }, ++ { numMessages: 1000, msgSize: 2 ** 6 }, ++ { numMessages: 1000, msgSize: 2 ** 10 }, ++ { numMessages: 1000, msgSize: 2 ** 16 }, ++ { numMessages: 1000, msgSize: 2 ** 20 } ++ ]) { ++ itBench({ ++ id: `${name} send and receive ${numMessages} ${msgSize / 1024}KB chunks`, ++ beforeEach: () => impl({ ++ onIncomingStream: (stream) => { ++ void pipe(stream, drain).then(async () => { await stream.close(); }); ++ } ++ }), ++ fn: async ({ client, server }) => { ++ const stream = await client.newStream(); ++ await pipe(Array.from({ length: numMessages }, () => new Uint8Array(msgSize)), stream, drain); ++ } ++ }); ++ } ++ } ++}); ++//# sourceMappingURL=comparison.bench.js.map +\ No newline at end of file +diff --git a/node_modules/@chainsafe/libp2p-yamux/dist/test/bench/comparison.bench.js.map b/node_modules/@chainsafe/libp2p-yamux/dist/test/bench/comparison.bench.js.map +new file mode 100644 +index 0000000..5ca068d +--- /dev/null ++++ b/node_modules/@chainsafe/libp2p-yamux/dist/test/bench/comparison.bench.js.map +@@ -0,0 +1 @@ ++{"version":3,"file":"comparison.bench.js","sourceRoot":"","sources":["../../../test/bench/comparison.bench.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAC7C,OAAO,KAAK,MAAM,UAAU,CAAA;AAC5B,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAA;AAC9B,OAAO,EAAE,gBAAgB,IAAI,qBAAqB,EAAE,MAAM,kBAAkB,CAAA;AAC5E,OAAO,EAAE,gBAAgB,IAAI,qBAAqB,EAAE,MAAM,YAAY,CAAA;AAEtE,QAAQ,CAAC,sBAAsB,EAAE,GAAG,EAAE;IACpC,KAAK,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI;QAC3B,EAAE,IAAI,EAAE,qBAAqB,EAAE,IAAI,EAAE,OAAO,EAAE;QAC9C,EAAE,IAAI,EAAE,qBAAqB,EAAE,IAAI,EAAE,OAAO,EAAE;KAC/C,EAAE,CAAC;QACF,KAAK,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,IAAI;YACrC,EAAE,WAAW,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,IAAI,CAAC,EAAE;YACnC,EAAE,WAAW,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;YACpC,EAAE,WAAW,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;YACpC,EAAE,WAAW,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;YACpC,EAAE,WAAW,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,IAAI,CAAC,EAAE;YACtC,EAAE,WAAW,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;YACvC,EAAE,WAAW,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;YACvC,EAAE,WAAW,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;SACxC,EAAE,CAAC;YACF,OAAO,CAAqC;gBAC1C,EAAE,EAAE,GAAG,IAAI,qBAAqB,WAAW,IAAI,OAAO,GAAG,IAAI,WAAW;gBACxE,UAAU,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC;oBACrB,gBAAgB,EAAE,CAAC,MAAM,EAAE,EAAE;wBAC3B,KAAK,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,GAAG,MAAM,MAAM,CAAC,KAAK,EAAE,CAAA,CAAC,CAAC,CAAC,CAAA;oBACrE,CAAC;iBACF,CAAC;gBACF,EAAE,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE;oBAC/B,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,SAAS,EAAE,CAAA;oBACvC,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,EAAE,GAAG,EAAE,CAAC,IAAI,UAAU,CAAC,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,CAAA;gBAC/F,CAAC;aACF,CAAC,CAAA;QACJ,CAAC;IACH,CAAC;AACH,CAAC,CAAC,CAAA"} +\ No newline at end of file +diff --git a/node_modules/@chainsafe/libp2p-yamux/dist/test/codec.spec.d.ts b/node_modules/@chainsafe/libp2p-yamux/dist/test/codec.spec.d.ts +new file mode 100644 +index 0000000..633c753 +--- /dev/null ++++ b/node_modules/@chainsafe/libp2p-yamux/dist/test/codec.spec.d.ts +@@ -0,0 +1,2 @@ ++export {}; ++//# sourceMappingURL=codec.spec.d.ts.map +\ No newline at end of file +diff --git a/node_modules/@chainsafe/libp2p-yamux/dist/test/codec.spec.d.ts.map b/node_modules/@chainsafe/libp2p-yamux/dist/test/codec.spec.d.ts.map +new file mode 100644 +index 0000000..9645478 +--- /dev/null ++++ b/node_modules/@chainsafe/libp2p-yamux/dist/test/codec.spec.d.ts.map +@@ -0,0 +1 @@ ++{"version":3,"file":"codec.spec.d.ts","sourceRoot":"","sources":["../../test/codec.spec.ts"],"names":[],"mappings":""} +\ No newline at end of file +diff --git a/node_modules/@chainsafe/libp2p-yamux/dist/test/codec.spec.js b/node_modules/@chainsafe/libp2p-yamux/dist/test/codec.spec.js +new file mode 100644 +index 0000000..4d61ce2 +--- /dev/null ++++ b/node_modules/@chainsafe/libp2p-yamux/dist/test/codec.spec.js +@@ -0,0 +1,28 @@ ++import { expect } from 'aegir/chai'; ++import { decodeHeader } from '../src/decode.js'; ++import { encodeHeader } from '../src/encode.js'; ++import { Flag, FrameType, GoAwayCode, stringifyHeader } from '../src/frame.js'; ++import { decodeHeaderNaive, encodeHeaderNaive } from './codec.util.js'; ++const frames = [ ++ { header: { type: FrameType.Ping, flag: Flag.SYN, streamID: 0, length: 1 } }, ++ { header: { type: FrameType.WindowUpdate, flag: Flag.SYN, streamID: 1, length: 1 } }, ++ { header: { type: FrameType.GoAway, flag: 0, streamID: 0, length: GoAwayCode.NormalTermination } }, ++ { header: { type: FrameType.Ping, flag: Flag.ACK, streamID: 0, length: 100 } }, ++ { header: { type: FrameType.WindowUpdate, flag: 0, streamID: 99, length: 1000 } }, ++ { header: { type: FrameType.WindowUpdate, flag: 0, streamID: 0xffffffff, length: 0xffffffff } }, ++ { header: { type: FrameType.GoAway, flag: 0, streamID: 0, length: GoAwayCode.ProtocolError } } ++]; ++describe('codec', () => { ++ for (const { header } of frames) { ++ it(`should round trip encode/decode header ${stringifyHeader(header)}`, () => { ++ expect(decodeHeader(encodeHeader(header))).to.deep.equal(header); ++ }); ++ } ++ for (const { header } of frames) { ++ it(`should match naive implementations of encode/decode for header ${stringifyHeader(header)}`, () => { ++ expect(encodeHeader(header)).to.deep.equal(encodeHeaderNaive(header)); ++ expect(decodeHeader(encodeHeader(header))).to.deep.equal(decodeHeaderNaive(encodeHeaderNaive(header))); ++ }); ++ } ++}); ++//# sourceMappingURL=codec.spec.js.map +\ No newline at end of file +diff --git a/node_modules/@chainsafe/libp2p-yamux/dist/test/codec.spec.js.map b/node_modules/@chainsafe/libp2p-yamux/dist/test/codec.spec.js.map +new file mode 100644 +index 0000000..772f8f2 +--- /dev/null ++++ b/node_modules/@chainsafe/libp2p-yamux/dist/test/codec.spec.js.map +@@ -0,0 +1 @@ ++{"version":3,"file":"codec.spec.js","sourceRoot":"","sources":["../../test/codec.spec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AACnC,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAA;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAA;AAC/C,OAAO,EAAE,IAAI,EAAoB,SAAS,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AAChG,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAA;AAEtE,MAAM,MAAM,GAAsD;IAChE,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,GAAG,EAAE,QAAQ,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE;IAC5E,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,SAAS,CAAC,YAAY,EAAE,IAAI,EAAE,IAAI,CAAC,GAAG,EAAE,QAAQ,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE;IACpF,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,MAAM,EAAE,UAAU,CAAC,iBAAiB,EAAE,EAAE;IAClG,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,GAAG,EAAE,QAAQ,EAAE,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE;IAC9E,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,SAAS,CAAC,YAAY,EAAE,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE;IACjF,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,SAAS,CAAC,YAAY,EAAE,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,EAAE;IAC/F,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,MAAM,EAAE,UAAU,CAAC,aAAa,EAAE,EAAE;CAC/F,CAAA;AAED,QAAQ,CAAC,OAAO,EAAE,GAAG,EAAE;IACrB,KAAK,MAAM,EAAE,MAAM,EAAE,IAAI,MAAM,EAAE,CAAC;QAChC,EAAE,CAAC,0CAA0C,eAAe,CAAC,MAAM,CAAC,EAAE,EAAE,GAAG,EAAE;YAC3E,MAAM,CAAC,YAAY,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;QAClE,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,KAAK,MAAM,EAAE,MAAM,EAAE,IAAI,MAAM,EAAE,CAAC;QAChC,EAAE,CAAC,kEAAkE,eAAe,CAAC,MAAM,CAAC,EAAE,EAAE,GAAG,EAAE;YACnG,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAA;YACrE,MAAM,CAAC,YAAY,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;QACxG,CAAC,CAAC,CAAA;IACJ,CAAC;AACH,CAAC,CAAC,CAAA"} +\ No newline at end of file +diff --git a/node_modules/@chainsafe/libp2p-yamux/dist/test/codec.util.d.ts b/node_modules/@chainsafe/libp2p-yamux/dist/test/codec.util.d.ts +new file mode 100644 +index 0000000..8b9852f +--- /dev/null ++++ b/node_modules/@chainsafe/libp2p-yamux/dist/test/codec.util.d.ts +@@ -0,0 +1,4 @@ ++import { type FrameHeader } from '../src/frame.js'; ++export declare function decodeHeaderNaive(data: Uint8Array): FrameHeader; ++export declare function encodeHeaderNaive(header: FrameHeader): Uint8Array; ++//# sourceMappingURL=codec.util.d.ts.map +\ No newline at end of file +diff --git a/node_modules/@chainsafe/libp2p-yamux/dist/test/codec.util.d.ts.map b/node_modules/@chainsafe/libp2p-yamux/dist/test/codec.util.d.ts.map +new file mode 100644 +index 0000000..af7bf64 +--- /dev/null ++++ b/node_modules/@chainsafe/libp2p-yamux/dist/test/codec.util.d.ts.map +@@ -0,0 +1 @@ ++{"version":3,"file":"codec.util.d.ts","sourceRoot":"","sources":["../../test/codec.util.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,WAAW,EAAgC,MAAM,iBAAiB,CAAA;AAIhF,wBAAgB,iBAAiB,CAAE,IAAI,EAAE,UAAU,GAAG,WAAW,CAYhE;AAED,wBAAgB,iBAAiB,CAAE,MAAM,EAAE,WAAW,GAAG,UAAU,CAclE"} +\ No newline at end of file +diff --git a/node_modules/@chainsafe/libp2p-yamux/dist/test/codec.util.js b/node_modules/@chainsafe/libp2p-yamux/dist/test/codec.util.js +new file mode 100644 +index 0000000..b989960 +--- /dev/null ++++ b/node_modules/@chainsafe/libp2p-yamux/dist/test/codec.util.js +@@ -0,0 +1,27 @@ ++import { InvalidFrameError } from '../src/errors.js'; ++import { HEADER_LENGTH, YAMUX_VERSION } from '../src/frame.js'; ++// Slower encode / decode functions that use dataview ++export function decodeHeaderNaive(data) { ++ const view = new DataView(data.buffer, data.byteOffset, data.byteLength); ++ if (view.getUint8(0) !== YAMUX_VERSION) { ++ throw new InvalidFrameError('Invalid frame version'); ++ } ++ return { ++ type: view.getUint8(1), ++ flag: view.getUint16(2, false), ++ streamID: view.getUint32(4, false), ++ length: view.getUint32(8, false) ++ }; ++} ++export function encodeHeaderNaive(header) { ++ const frame = new Uint8Array(HEADER_LENGTH); ++ const frameView = new DataView(frame.buffer, frame.byteOffset, frame.byteLength); ++ // always assume version 0 ++ // frameView.setUint8(0, header.version) ++ frameView.setUint8(1, header.type); ++ frameView.setUint16(2, header.flag, false); ++ frameView.setUint32(4, header.streamID, false); ++ frameView.setUint32(8, header.length, false); ++ return frame; ++} ++//# sourceMappingURL=codec.util.js.map +\ No newline at end of file +diff --git a/node_modules/@chainsafe/libp2p-yamux/dist/test/codec.util.js.map b/node_modules/@chainsafe/libp2p-yamux/dist/test/codec.util.js.map +new file mode 100644 +index 0000000..a261962 +--- /dev/null ++++ b/node_modules/@chainsafe/libp2p-yamux/dist/test/codec.util.js.map +@@ -0,0 +1 @@ ++{"version":3,"file":"codec.util.js","sourceRoot":"","sources":["../../test/codec.util.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAA;AACpD,OAAO,EAAoB,aAAa,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAEhF,qDAAqD;AAErD,MAAM,UAAU,iBAAiB,CAAE,IAAgB;IACjD,MAAM,IAAI,GAAG,IAAI,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,CAAA;IAExE,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,aAAa,EAAE,CAAC;QACvC,MAAM,IAAI,iBAAiB,CAAC,uBAAuB,CAAC,CAAA;IACtD,CAAC;IACD,OAAO;QACL,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;QACtB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC;QAC9B,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC;QAClC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC;KACjC,CAAA;AACH,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAE,MAAmB;IACpD,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,aAAa,CAAC,CAAA;IAE3C,MAAM,SAAS,GAAG,IAAI,QAAQ,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,UAAU,CAAC,CAAA;IAEhF,0BAA0B;IAC1B,wCAAwC;IAExC,SAAS,CAAC,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,CAAA;IAClC,SAAS,CAAC,SAAS,CAAC,CAAC,EAAE,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;IAC1C,SAAS,CAAC,SAAS,CAAC,CAAC,EAAE,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAA;IAC9C,SAAS,CAAC,SAAS,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;IAE5C,OAAO,KAAK,CAAA;AACd,CAAC"} +\ No newline at end of file +diff --git a/node_modules/@chainsafe/libp2p-yamux/dist/test/compliance.spec.d.ts b/node_modules/@chainsafe/libp2p-yamux/dist/test/compliance.spec.d.ts +new file mode 100644 +index 0000000..dac08d9 +--- /dev/null ++++ b/node_modules/@chainsafe/libp2p-yamux/dist/test/compliance.spec.d.ts +@@ -0,0 +1,2 @@ ++export {}; ++//# sourceMappingURL=compliance.spec.d.ts.map +\ No newline at end of file +diff --git a/node_modules/@chainsafe/libp2p-yamux/dist/test/compliance.spec.d.ts.map b/node_modules/@chainsafe/libp2p-yamux/dist/test/compliance.spec.d.ts.map +new file mode 100644 +index 0000000..dc9e719 +--- /dev/null ++++ b/node_modules/@chainsafe/libp2p-yamux/dist/test/compliance.spec.d.ts.map +@@ -0,0 +1 @@ ++{"version":3,"file":"compliance.spec.d.ts","sourceRoot":"","sources":["../../test/compliance.spec.ts"],"names":[],"mappings":""} +\ No newline at end of file +diff --git a/node_modules/@chainsafe/libp2p-yamux/dist/test/compliance.spec.js b/node_modules/@chainsafe/libp2p-yamux/dist/test/compliance.spec.js +new file mode 100644 +index 0000000..92fc32e +--- /dev/null ++++ b/node_modules/@chainsafe/libp2p-yamux/dist/test/compliance.spec.js +@@ -0,0 +1,15 @@ ++/* eslint-env mocha */ ++import tests from '@libp2p/interface-compliance-tests/stream-muxer'; ++import { defaultLogger } from '@libp2p/logger'; ++import { TestYamux } from './util.js'; ++describe('compliance', () => { ++ tests({ ++ async setup() { ++ return new TestYamux({ ++ logger: defaultLogger() ++ }); ++ }, ++ async teardown() { } ++ }); ++}); ++//# sourceMappingURL=compliance.spec.js.map +\ No newline at end of file +diff --git a/node_modules/@chainsafe/libp2p-yamux/dist/test/compliance.spec.js.map b/node_modules/@chainsafe/libp2p-yamux/dist/test/compliance.spec.js.map +new file mode 100644 +index 0000000..20a514a +--- /dev/null ++++ b/node_modules/@chainsafe/libp2p-yamux/dist/test/compliance.spec.js.map +@@ -0,0 +1 @@ ++{"version":3,"file":"compliance.spec.js","sourceRoot":"","sources":["../../test/compliance.spec.ts"],"names":[],"mappings":"AAAA,sBAAsB;AAEtB,OAAO,KAAK,MAAM,iDAAiD,CAAA;AACnE,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAA;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAA;AAErC,QAAQ,CAAC,YAAY,EAAE,GAAG,EAAE;IAC1B,KAAK,CAAC;QACJ,KAAK,CAAC,KAAK;YACT,OAAO,IAAI,SAAS,CAAC;gBACnB,MAAM,EAAE,aAAa,EAAE;aACxB,CAAC,CAAA;QACJ,CAAC;QACD,KAAK,CAAC,QAAQ,KAAK,CAAC;KACrB,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"} +\ No newline at end of file +diff --git a/node_modules/@chainsafe/libp2p-yamux/dist/test/decode.spec.d.ts b/node_modules/@chainsafe/libp2p-yamux/dist/test/decode.spec.d.ts +new file mode 100644 +index 0000000..07a9f5c +--- /dev/null ++++ b/node_modules/@chainsafe/libp2p-yamux/dist/test/decode.spec.d.ts +@@ -0,0 +1,2 @@ ++export declare const randomRanges: (length: number) => number[][]; ++//# sourceMappingURL=decode.spec.d.ts.map +\ No newline at end of file +diff --git a/node_modules/@chainsafe/libp2p-yamux/dist/test/decode.spec.d.ts.map b/node_modules/@chainsafe/libp2p-yamux/dist/test/decode.spec.d.ts.map +new file mode 100644 +index 0000000..39c0c82 +--- /dev/null ++++ b/node_modules/@chainsafe/libp2p-yamux/dist/test/decode.spec.d.ts.map +@@ -0,0 +1 @@ ++{"version":3,"file":"decode.spec.d.ts","sourceRoot":"","sources":["../../test/decode.spec.ts"],"names":[],"mappings":"AAmDA,eAAO,MAAM,YAAY,WAAY,MAAM,KAAG,MAAM,EAAE,EAUrD,CAAA"} +\ No newline at end of file +diff --git a/node_modules/@chainsafe/libp2p-yamux/dist/test/decode.spec.js b/node_modules/@chainsafe/libp2p-yamux/dist/test/decode.spec.js +new file mode 100644 +index 0000000..419e242 +--- /dev/null ++++ b/node_modules/@chainsafe/libp2p-yamux/dist/test/decode.spec.js +@@ -0,0 +1,297 @@ ++/* eslint-disable @typescript-eslint/dot-notation */ ++import { expect } from 'aegir/chai'; ++import { pushable } from 'it-pushable'; ++import { Decoder } from '../src/decode.js'; ++import { encodeHeader } from '../src/encode.js'; ++import { Flag, FrameType, GoAwayCode } from '../src/frame.js'; ++import { timeout } from './util.js'; ++const frames = [ ++ { header: { type: FrameType.Ping, flag: Flag.SYN, streamID: 0, length: 1 } }, ++ { header: { type: FrameType.WindowUpdate, flag: Flag.SYN, streamID: 1, length: 1 } }, ++ { header: { type: FrameType.GoAway, flag: 0, streamID: 0, length: GoAwayCode.NormalTermination } }, ++ { header: { type: FrameType.Ping, flag: Flag.ACK, streamID: 0, length: 100 } }, ++ { header: { type: FrameType.WindowUpdate, flag: 0, streamID: 99, length: 1000 } }, ++ { header: { type: FrameType.GoAway, flag: 0, streamID: 0, length: GoAwayCode.ProtocolError } } ++]; ++const data = (length) => Uint8Array.from(Array.from({ length }), (_, i) => i); ++const expectEqualBytes = (actual, expected, reason) => { ++ expect(actual instanceof Uint8Array ? actual : actual.subarray(), reason).to.deep.equal(expected instanceof Uint8Array ? expected : expected.subarray()); ++}; ++const expectEqualDataFrame = (actual, expected, reason = '') => { ++ expect(actual.header, reason + ' header').to.deep.equal(expected.header); ++ if (actual.data == null && expected.data != null) { ++ expect.fail('actual has no data but expected does'); ++ } ++ if (actual.data != null && expected.data == null) { ++ expect.fail('actual has data but expected does not'); ++ } ++ if (actual.data != null && expected.data != null) { ++ expectEqualBytes(actual.data, expected.data, reason + ' data?: string'); ++ } ++}; ++const expectEqualDataFrames = (actual, expected) => { ++ if (actual.length !== expected.length) { ++ expect.fail('actual'); ++ } ++ for (let i = 0; i < actual.length; i++) { ++ expectEqualDataFrame(actual[i], expected[i], String(i)); ++ } ++}; ++const dataFrame = (length) => ({ ++ header: { type: FrameType.Data, flag: 0, streamID: 1, length }, ++ data: data(length) ++}); ++export const randomRanges = (length) => { ++ const indices = []; ++ let i = 0; ++ let j = 0; ++ while (i < length) { ++ j = i; ++ i += Math.floor(Math.random() * length); ++ indices.push([j, i]); ++ } ++ return indices; ++}; ++describe('Decoder internals', () => { ++ describe('readHeader', () => { ++ const frame = frames[0]; ++ const p = pushable(); ++ const d = new Decoder(p); ++ afterEach(() => { ++ d['buffer'].consume(d['buffer'].length); ++ }); ++ it('should handle an empty buffer', async () => { ++ expect(d['buffer'].length, 'a freshly created decoder should have an empty buffer').to.equal(0); ++ expect(d['readHeader'](), 'an empty buffer should read no header').to.equal(undefined); ++ }); ++ it('should handle buffer length == header length', async () => { ++ d['buffer'].append(encodeHeader(frame.header)); ++ expect(d['readHeader'](), 'the decoded header should match the input').to.deep.equal(frame.header); ++ expect(d['buffer'].length, 'the buffer should be fully drained').to.equal(0); ++ }); ++ it('should handle buffer length < header length', async () => { ++ const upTo = 2; ++ d['buffer'].append(encodeHeader(frame.header).slice(0, upTo)); ++ expect(d['readHeader'](), 'an buffer that has insufficient bytes should read no header').to.equal(undefined); ++ expect(d['buffer'].length, 'a buffer that has insufficient bytes should not be consumed').to.equal(upTo); ++ d['buffer'].append(encodeHeader(frame.header).slice(upTo)); ++ expect(d['readHeader'](), 'the decoded header should match the input').to.deep.equal(frame.header); ++ expect(d['buffer'].length, 'the buffer should be fully drained').to.equal(0); ++ }); ++ it('should handle buffer length > header length', async () => { ++ const more = 10; ++ d['buffer'].append(encodeHeader(frame.header)); ++ d['buffer'].append(new Uint8Array(more)); ++ expect(d['readHeader'](), 'the decoded header should match the input').to.deep.equal(frame.header); ++ expect(d['buffer'].length, 'the buffer should be partially drained').to.equal(more); ++ }); ++ }); ++ describe('readBytes', () => { ++ const p = pushable(); ++ const d = new Decoder(p); ++ afterEach(() => { ++ d['buffer'].consume(d['buffer'].length); ++ }); ++ it('should handle buffer length == requested length', async () => { ++ const requested = 10; ++ d['buffer'].append(data(requested)); ++ let actual; ++ try { ++ actual = await Promise.race([timeout(1), d['readBytes'](requested)]); ++ } ++ catch (e) { ++ expect.fail('readBytes timed out'); ++ } ++ expectEqualBytes(actual, data(requested), 'read bytes should equal input'); ++ expect(d['buffer'].length, 'buffer should be drained').to.deep.equal(0); ++ }); ++ it('should handle buffer length > requested length', async () => { ++ const requested = 10; ++ d['buffer'].append(data(requested * 2)); ++ let actual; ++ try { ++ actual = await Promise.race([timeout(1), d['readBytes'](requested)]); ++ } ++ catch (e) { ++ expect.fail('readBytes timed out'); ++ } ++ expectEqualBytes(actual, data(requested), 'read bytes should equal input'); ++ expect(d['buffer'].length, 'buffer should be partially drained').to.deep.equal(requested); ++ }); ++ it('should handle buffer length < requested length, data available', async () => { ++ const requested = 10; ++ p.push(data(requested)); ++ let actual; ++ try { ++ actual = await Promise.race([timeout(10), d['readBytes'](requested)]); ++ } ++ catch (e) { ++ expect.fail('readBytes timed out'); ++ } ++ expectEqualBytes(actual, data(requested), 'read bytes should equal input'); ++ expect(d['buffer'].length, 'buffer should be drained').to.deep.equal(0); ++ }); ++ it('should handle buffer length < requested length, data not available', async () => { ++ const requested = 10; ++ p.push(data(requested - 1)); ++ try { ++ await Promise.race([timeout(10), d['readBytes'](requested)]); ++ expect.fail('readBytes should not resolve until the source + buffer have enough bytes'); ++ } ++ catch (e) { ++ } ++ }); ++ }); ++}); ++describe('Decoder', () => { ++ describe('emitFrames', () => { ++ let p; ++ let d; ++ beforeEach(() => { ++ p = pushable(); ++ d = new Decoder(p); ++ }); ++ it('should emit frames from source chunked by frame', async () => { ++ const expected = []; ++ for (const [i, frame] of frames.entries()) { ++ p.push(encodeHeader(frame.header)); ++ expected.push(frame); ++ // sprinkle in more data frames ++ if (i % 2 === 1) { ++ const df = dataFrame(i * 100); ++ p.push(encodeHeader(df.header)); ++ p.push(df.data); ++ expected.push(df); ++ } ++ } ++ p.end(); ++ const actual = []; ++ for await (const frame of d.emitFrames()) { ++ if (frame.readData === undefined) { ++ actual.push(frame); ++ } ++ else { ++ actual.push({ header: frame.header, data: await frame.readData() }); ++ } ++ } ++ expectEqualDataFrames(actual, expected); ++ }); ++ it('should emit frames from source chunked by partial frame', async () => { ++ const chunkSize = 5; ++ const expected = []; ++ for (const [i, frame] of frames.entries()) { ++ const encoded = encodeHeader(frame.header); ++ for (let i = 0; i < encoded.length; i += chunkSize) { ++ p.push(encoded.slice(i, i + chunkSize)); ++ } ++ expected.push(frame); ++ // sprinkle in more data frames ++ if (i % 2 === 1) { ++ const df = dataFrame(i * 100); ++ const encoded = Uint8Array.from([...encodeHeader(df.header), ...df.data]); ++ for (let i = 0; i < encoded.length; i += chunkSize) { ++ p.push(encoded.slice(i, i + chunkSize)); ++ } ++ expected.push(df); ++ } ++ } ++ p.end(); ++ const actual = []; ++ for await (const frame of d.emitFrames()) { ++ if (frame.readData === undefined) { ++ actual.push(frame); ++ } ++ else { ++ actual.push({ header: frame.header, data: await frame.readData() }); ++ } ++ } ++ expect(p.readableLength).to.equal(0); ++ expectEqualDataFrames(actual, expected); ++ }); ++ it('should emit frames from source chunked by multiple frames', async () => { ++ const expected = []; ++ for (let i = 0; i < frames.length; i++) { ++ const encoded1 = encodeHeader(frames[i].header); ++ expected.push(frames[i]); ++ i++; ++ const encoded2 = encodeHeader(frames[i].header); ++ expected.push(frames[i]); ++ // sprinkle in more data frames ++ const df = dataFrame(i * 100); ++ const encoded3 = Uint8Array.from([...encodeHeader(df.header), ...df.data]); ++ expected.push(df); ++ const encodedChunk = new Uint8Array(encoded1.length + encoded2.length + encoded3.length); ++ encodedChunk.set(encoded1, 0); ++ encodedChunk.set(encoded2, encoded1.length); ++ encodedChunk.set(encoded3, encoded1.length + encoded2.length); ++ p.push(encodedChunk); ++ } ++ p.end(); ++ const actual = []; ++ for await (const frame of d.emitFrames()) { ++ if (frame.readData === undefined) { ++ actual.push(frame); ++ } ++ else { ++ actual.push({ header: frame.header, data: await frame.readData() }); ++ } ++ } ++ expectEqualDataFrames(actual, expected); ++ }); ++ it('should emit frames from source chunked chaoticly', async () => { ++ const expected = []; ++ const encodedFrames = []; ++ for (const [i, frame] of frames.entries()) { ++ encodedFrames.push(encodeHeader(frame.header)); ++ expected.push(frame); ++ // sprinkle in more data frames ++ if (i % 2 === 1) { ++ const df = dataFrame(i * 100); ++ encodedFrames.push(encodeHeader(df.header)); ++ encodedFrames.push(df.data); ++ expected.push(df); ++ } ++ } ++ // create a single byte array of all frames to send ++ // so that we can chunk them chaoticly ++ const encoded = new Uint8Array(encodedFrames.reduce((a, b) => a + b.length, 0)); ++ let i = 0; ++ for (const e of encodedFrames) { ++ encoded.set(e, i); ++ i += e.length; ++ } ++ for (const [i, j] of randomRanges(encoded.length)) { ++ p.push(encoded.slice(i, j)); ++ } ++ p.end(); ++ const actual = []; ++ for await (const frame of d.emitFrames()) { ++ if (frame.readData === undefined) { ++ actual.push(frame); ++ } ++ else { ++ actual.push({ header: frame.header, data: await frame.readData() }); ++ } ++ } ++ expectEqualDataFrames(actual, expected); ++ }); ++ it('should error decoding frame while another decode is in progress', async () => { ++ const df1 = dataFrame(100); ++ p.push(encodeHeader(df1.header)); ++ p.push(df1.data); ++ const df2 = dataFrame(100); ++ p.push(encodeHeader(df2.header)); ++ p.push(df2.data); ++ try { ++ for await (const frame of d.emitFrames()) { ++ void frame; ++ } ++ expect.fail('decoding another frame before the first is finished should error'); ++ } ++ catch (e) { ++ expect(e).to.have.property('name', 'InvalidStateError'); ++ } ++ }); ++ }); ++}); ++//# sourceMappingURL=decode.spec.js.map +\ No newline at end of file +diff --git a/node_modules/@chainsafe/libp2p-yamux/dist/test/decode.spec.js.map b/node_modules/@chainsafe/libp2p-yamux/dist/test/decode.spec.js.map +new file mode 100644 +index 0000000..b429593 +--- /dev/null ++++ b/node_modules/@chainsafe/libp2p-yamux/dist/test/decode.spec.js.map +@@ -0,0 +1 @@ ++{"version":3,"file":"decode.spec.js","sourceRoot":"","sources":["../../test/decode.spec.ts"],"names":[],"mappings":"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"} +\ No newline at end of file +diff --git a/node_modules/@chainsafe/libp2p-yamux/dist/test/mplex.util.d.ts b/node_modules/@chainsafe/libp2p-yamux/dist/test/mplex.util.d.ts +new file mode 100644 +index 0000000..f0903d1 +--- /dev/null ++++ b/node_modules/@chainsafe/libp2p-yamux/dist/test/mplex.util.d.ts +@@ -0,0 +1,28 @@ ++import type { StreamMuxer, StreamMuxerInit } from '@libp2p/interface'; ++import type { Source, Transform } from 'it-stream-types'; ++export declare function testYamuxMuxer(name: string, client: boolean, conf?: StreamMuxerInit): StreamMuxer; ++/** ++ * Create a transform that can be paused and unpaused ++ */ ++export declare function pauseableTransform(): { ++ transform: Transform, AsyncGenerator>; ++ pause(): void; ++ unpause(): void; ++}; ++export declare function testClientServer(conf?: StreamMuxerInit): { ++ client: StreamMuxer & { ++ pauseRead(): void; ++ unpauseRead(): void; ++ pauseWrite(): void; ++ unpauseWrite(): void; ++ }; ++ server: StreamMuxer & { ++ pauseRead(): void; ++ unpauseRead(): void; ++ pauseWrite(): void; ++ unpauseWrite(): void; ++ }; ++}; ++export declare function timeout(ms: number): Promise; ++export declare function sleep(ms: number): Promise; ++//# sourceMappingURL=mplex.util.d.ts.map +\ No newline at end of file +diff --git a/node_modules/@chainsafe/libp2p-yamux/dist/test/mplex.util.d.ts.map b/node_modules/@chainsafe/libp2p-yamux/dist/test/mplex.util.d.ts.map +new file mode 100644 +index 0000000..100dcf8 +--- /dev/null ++++ b/node_modules/@chainsafe/libp2p-yamux/dist/test/mplex.util.d.ts.map +@@ -0,0 +1 @@ ++{"version":3,"file":"mplex.util.d.ts","sourceRoot":"","sources":["../../test/mplex.util.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AACrE,OAAO,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAMxD,wBAAgB,cAAc,CAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,GAAE,eAAoB,GAAG,WAAW,CAKtG;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAE,CAAC,KAAM;IAAE,SAAS,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC;IAAC,KAAK,IAAI,IAAI,CAAC;IAAC,OAAO,IAAI,IAAI,CAAA;CAAE,CAsBhI;AAED,wBAAgB,gBAAgB,CAAE,IAAI,GAAE,eAAoB,GAAG;IAC7D,MAAM,EAAE,WAAW,GAAG;QACpB,SAAS,IAAI,IAAI,CAAA;QACjB,WAAW,IAAI,IAAI,CAAA;QACnB,UAAU,IAAI,IAAI,CAAA;QAClB,YAAY,IAAI,IAAI,CAAA;KACrB,CAAA;IACD,MAAM,EAAE,WAAW,GAAG;QACpB,SAAS,IAAI,IAAI,CAAA;QACjB,WAAW,IAAI,IAAI,CAAA;QACnB,UAAU,IAAI,IAAI,CAAA;QAClB,YAAY,IAAI,IAAI,CAAA;KACrB,CAAA;CACF,CA0BA;AAED,wBAAsB,OAAO,CAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAE3D;AAED,wBAAsB,KAAK,CAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAEzD"} +\ No newline at end of file +diff --git a/node_modules/@chainsafe/libp2p-yamux/dist/test/mplex.util.js b/node_modules/@chainsafe/libp2p-yamux/dist/test/mplex.util.js +new file mode 100644 +index 0000000..e4116a5 +--- /dev/null ++++ b/node_modules/@chainsafe/libp2p-yamux/dist/test/mplex.util.js +@@ -0,0 +1,72 @@ ++import { defaultLogger } from '@libp2p/logger'; ++import { mplex } from '@libp2p/mplex'; ++import { duplexPair } from 'it-pair/duplex'; ++import { pipe } from 'it-pipe'; ++import {} from 'uint8arraylist'; ++const factory = mplex()({ ++ logger: defaultLogger() ++}); ++export function testYamuxMuxer(name, client, conf = {}) { ++ return factory.createStreamMuxer({ ++ ...conf, ++ direction: client ? 'outbound' : 'inbound' ++ }); ++} ++/** ++ * Create a transform that can be paused and unpaused ++ */ ++export function pauseableTransform() { ++ let resolvePausePromise; ++ let pausePromise; ++ const unpause = () => { ++ resolvePausePromise?.(null); ++ }; ++ const pause = () => { ++ pausePromise = new Promise(resolve => { ++ resolvePausePromise = resolve; ++ }); ++ }; ++ const transform = async function* (source) { ++ for await (const d of source) { ++ if (pausePromise !== undefined) { ++ await pausePromise; ++ pausePromise = undefined; ++ resolvePausePromise = undefined; ++ } ++ yield d; ++ } ++ }; ++ return { transform, pause, unpause }; ++} ++export function testClientServer(conf = {}) { ++ const pair = duplexPair(); ++ const client = testYamuxMuxer('libp2p:mplex:client', true, conf); ++ const server = testYamuxMuxer('libp2p:mplex:server', false, conf); ++ const clientReadTransform = pauseableTransform(); ++ const clientWriteTransform = pauseableTransform(); ++ const serverReadTransform = pauseableTransform(); ++ const serverWriteTransform = pauseableTransform(); ++ void pipe(pair[0], clientReadTransform.transform, client, clientWriteTransform.transform, pair[0]); ++ void pipe(pair[1], serverReadTransform.transform, server, serverWriteTransform.transform, pair[1]); ++ return { ++ client: Object.assign(client, { ++ pauseRead: clientReadTransform.pause, ++ unpauseRead: clientReadTransform.unpause, ++ pauseWrite: clientWriteTransform.pause, ++ unpauseWrite: clientWriteTransform.unpause ++ }), ++ server: Object.assign(server, { ++ pauseRead: serverReadTransform.pause, ++ unpauseRead: serverReadTransform.unpause, ++ pauseWrite: serverWriteTransform.pause, ++ unpauseWrite: serverWriteTransform.unpause ++ }) ++ }; ++} ++export async function timeout(ms) { ++ return new Promise((_resolve, reject) => setTimeout(() => { reject(new Error(`timeout after ${ms}ms`)); }, ms)); ++} ++export async function sleep(ms) { ++ return new Promise(resolve => setTimeout(() => { resolve(ms); }, ms)); ++} ++//# sourceMappingURL=mplex.util.js.map +\ No newline at end of file +diff --git a/node_modules/@chainsafe/libp2p-yamux/dist/test/mplex.util.js.map b/node_modules/@chainsafe/libp2p-yamux/dist/test/mplex.util.js.map +new file mode 100644 +index 0000000..543cad8 +--- /dev/null ++++ b/node_modules/@chainsafe/libp2p-yamux/dist/test/mplex.util.js.map +@@ -0,0 +1 @@ ++{"version":3,"file":"mplex.util.js","sourceRoot":"","sources":["../../test/mplex.util.ts"],"names":[],"mappings":"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"} +\ No newline at end of file +diff --git a/node_modules/@chainsafe/libp2p-yamux/dist/test/muxer.spec.d.ts b/node_modules/@chainsafe/libp2p-yamux/dist/test/muxer.spec.d.ts +new file mode 100644 +index 0000000..5855d5d +--- /dev/null ++++ b/node_modules/@chainsafe/libp2p-yamux/dist/test/muxer.spec.d.ts +@@ -0,0 +1,2 @@ ++export {}; ++//# sourceMappingURL=muxer.spec.d.ts.map +\ No newline at end of file +diff --git a/node_modules/@chainsafe/libp2p-yamux/dist/test/muxer.spec.d.ts.map b/node_modules/@chainsafe/libp2p-yamux/dist/test/muxer.spec.d.ts.map +new file mode 100644 +index 0000000..cb814f4 +--- /dev/null ++++ b/node_modules/@chainsafe/libp2p-yamux/dist/test/muxer.spec.d.ts.map +@@ -0,0 +1 @@ ++{"version":3,"file":"muxer.spec.d.ts","sourceRoot":"","sources":["../../test/muxer.spec.ts"],"names":[],"mappings":""} +\ No newline at end of file +diff --git a/node_modules/@chainsafe/libp2p-yamux/dist/test/muxer.spec.js b/node_modules/@chainsafe/libp2p-yamux/dist/test/muxer.spec.js +new file mode 100644 +index 0000000..985763c +--- /dev/null ++++ b/node_modules/@chainsafe/libp2p-yamux/dist/test/muxer.spec.js +@@ -0,0 +1,117 @@ ++/* eslint-env mocha */ ++import { expect } from 'aegir/chai'; ++import { duplexPair } from 'it-pair/duplex'; ++import { pipe } from 'it-pipe'; ++import {} from 'uint8arraylist'; ++import { sleep, testClientServer, testYamuxMuxer } from './util.js'; ++describe('muxer', () => { ++ let client; ++ let server; ++ afterEach(async () => { ++ if (client != null) { ++ await client.close(); ++ } ++ if (server != null) { ++ await server.close(); ++ } ++ }); ++ it('test repeated close', async () => { ++ const client1 = testYamuxMuxer('libp2p:yamux:1', true); ++ // inspect logs to ensure its only closed once ++ await client1.close(); ++ await client1.close(); ++ await client1.close(); ++ }); ++ it('test client<->client', async () => { ++ const pair = duplexPair(); ++ const client1 = testYamuxMuxer('libp2p:yamux:1', true); ++ const client2 = testYamuxMuxer('libp2p:yamux:2', true); ++ void pipe(pair[0], client1, pair[0]); ++ void pipe(pair[1], client2, pair[1]); ++ client1.newStream(); ++ client2.newStream(); ++ await sleep(20); ++ expect(client1.isClosed()).to.equal(true); ++ expect(client2.isClosed()).to.equal(true); ++ }); ++ it('test server<->server', async () => { ++ const pair = duplexPair(); ++ const client1 = testYamuxMuxer('libp2p:yamux:1', false); ++ const client2 = testYamuxMuxer('libp2p:yamux:2', false); ++ void pipe(pair[0], client1, pair[0]); ++ void pipe(pair[1], client2, pair[1]); ++ client1.newStream(); ++ client2.newStream(); ++ await sleep(20); ++ expect(client1.isClosed()).to.equal(true); ++ expect(client2.isClosed()).to.equal(true); ++ }); ++ it('test ping', async () => { ++ ({ client, server } = testClientServer()); ++ server.pauseRead(); ++ const clientRTT = client.ping(); ++ await sleep(10); ++ server.unpauseRead(); ++ expect(await clientRTT).to.not.equal(0); ++ server.pauseWrite(); ++ const serverRTT = server.ping(); ++ await sleep(10); ++ server.unpauseWrite(); ++ expect(await serverRTT).to.not.equal(0); ++ }); ++ it('test multiple simultaneous pings', async () => { ++ ({ client, server } = testClientServer()); ++ client.pauseWrite(); ++ const promise = [ ++ client.ping(), ++ client.ping(), ++ client.ping() ++ ]; ++ await sleep(10); ++ client.unpauseWrite(); ++ const clientRTTs = await Promise.all(promise); ++ expect(clientRTTs[0]).to.not.equal(0); ++ expect(clientRTTs[0]).to.equal(clientRTTs[1]); ++ expect(clientRTTs[1]).to.equal(clientRTTs[2]); ++ // eslint-disable-next-line @typescript-eslint/dot-notation ++ expect(client['nextPingID']).to.equal(1); ++ await client.close(); ++ }); ++ it('test go away', async () => { ++ ({ client, server } = testClientServer()); ++ await client.close(); ++ expect(() => { ++ client.newStream(); ++ }).to.throw().with.property('name', 'MuxerClosedError', 'should not be able to open a stream after close'); ++ }); ++ it('test keep alive', async () => { ++ ({ client, server } = testClientServer({ enableKeepAlive: true, keepAliveInterval: 10 })); ++ await sleep(1000); ++ // eslint-disable-next-line @typescript-eslint/dot-notation ++ expect(client['nextPingID']).to.be.gt(2); ++ await client.close(); ++ await server.close(); ++ }); ++ it('test max inbound streams', async () => { ++ ({ client, server } = testClientServer({ maxInboundStreams: 1 })); ++ client.newStream(); ++ client.newStream(); ++ await sleep(10); ++ expect(server.streams.length).to.equal(1); ++ expect(client.streams.length).to.equal(1); ++ }); ++ it('test max outbound streams', async () => { ++ ({ client, server } = testClientServer({ maxOutboundStreams: 1 })); ++ client.newStream(); ++ await sleep(10); ++ try { ++ client.newStream(); ++ expect.fail('stream creation should fail if exceeding maxOutboundStreams'); ++ } ++ catch (e) { ++ expect(server.streams.length).to.equal(1); ++ expect(client.streams.length).to.equal(1); ++ } ++ }); ++}); ++//# sourceMappingURL=muxer.spec.js.map +\ No newline at end of file +diff --git a/node_modules/@chainsafe/libp2p-yamux/dist/test/muxer.spec.js.map b/node_modules/@chainsafe/libp2p-yamux/dist/test/muxer.spec.js.map +new file mode 100644 +index 0000000..9ced80e +--- /dev/null ++++ b/node_modules/@chainsafe/libp2p-yamux/dist/test/muxer.spec.js.map +@@ -0,0 +1 @@ ++{"version":3,"file":"muxer.spec.js","sourceRoot":"","sources":["../../test/muxer.spec.ts"],"names":[],"mappings":"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"} +\ No newline at end of file +diff --git a/node_modules/@chainsafe/libp2p-yamux/dist/test/stream.spec.d.ts b/node_modules/@chainsafe/libp2p-yamux/dist/test/stream.spec.d.ts +new file mode 100644 +index 0000000..2ce8297 +--- /dev/null ++++ b/node_modules/@chainsafe/libp2p-yamux/dist/test/stream.spec.d.ts +@@ -0,0 +1,2 @@ ++export {}; ++//# sourceMappingURL=stream.spec.d.ts.map +\ No newline at end of file +diff --git a/node_modules/@chainsafe/libp2p-yamux/dist/test/stream.spec.d.ts.map b/node_modules/@chainsafe/libp2p-yamux/dist/test/stream.spec.d.ts.map +new file mode 100644 +index 0000000..77bed14 +--- /dev/null ++++ b/node_modules/@chainsafe/libp2p-yamux/dist/test/stream.spec.d.ts.map +@@ -0,0 +1 @@ ++{"version":3,"file":"stream.spec.d.ts","sourceRoot":"","sources":["../../test/stream.spec.ts"],"names":[],"mappings":""} +\ No newline at end of file +diff --git a/node_modules/@chainsafe/libp2p-yamux/dist/test/stream.spec.js b/node_modules/@chainsafe/libp2p-yamux/dist/test/stream.spec.js +new file mode 100644 +index 0000000..24e2b31 +--- /dev/null ++++ b/node_modules/@chainsafe/libp2p-yamux/dist/test/stream.spec.js +@@ -0,0 +1,200 @@ ++/* eslint-env mocha */ ++import { expect } from 'aegir/chai'; ++import { pipe } from 'it-pipe'; ++import { pushable } from 'it-pushable'; ++import { defaultConfig } from '../src/config.js'; ++import { GoAwayCode } from '../src/frame.js'; ++import { StreamState } from '../src/stream.js'; ++import { sleep, testClientServer } from './util.js'; ++describe('stream', () => { ++ let client; ++ let server; ++ afterEach(async () => { ++ if (client != null) { ++ await client.close(); ++ } ++ if (server != null) { ++ await server.close(); ++ } ++ }); ++ it('test send data - small', async () => { ++ ({ client, server } = testClientServer({ initialStreamWindowSize: defaultConfig.initialStreamWindowSize })); ++ const { default: drain } = await import('it-drain'); ++ const p = pushable(); ++ const c1 = client.newStream(); ++ await sleep(10); ++ const s1 = server.streams[0]; ++ const sendPipe = pipe(p, c1); ++ const recvPipe = pipe(s1, drain); ++ for (let i = 0; i < 10; i++) { ++ p.push(new Uint8Array(256)); ++ } ++ p.end(); ++ await Promise.all([sendPipe, recvPipe]); ++ // the window capacities should have refilled via window updates as received data was consumed ++ // eslint-disable-next-line @typescript-eslint/dot-notation ++ expect(c1['sendWindowCapacity']).to.be.gte(defaultConfig.initialStreamWindowSize); ++ // eslint-disable-next-line @typescript-eslint/dot-notation ++ expect(s1['recvWindowCapacity']).to.be.gte(defaultConfig.initialStreamWindowSize); ++ }); ++ it('test send data - large', async () => { ++ ({ client, server } = testClientServer({ initialStreamWindowSize: defaultConfig.initialStreamWindowSize })); ++ const { default: drain } = await import('it-drain'); ++ const p = pushable(); ++ const c1 = client.newStream(); ++ await sleep(10); ++ const s1 = server.streams[0]; ++ const sendPipe = pipe(p, c1); ++ const recvPipe = pipe(s1, drain); ++ // amount of data is greater than initial window size ++ // and each payload is also greater than the max message size ++ // this will payload chunking and also waiting for window updates before continuing to send ++ for (let i = 0; i < 10; i++) { ++ p.push(new Uint8Array(defaultConfig.initialStreamWindowSize)); ++ } ++ p.end(); ++ await Promise.all([sendPipe, recvPipe]); ++ // the window capacities should have refilled via window updates as received data was consumed ++ // eslint-disable-next-line @typescript-eslint/dot-notation ++ expect(c1['sendWindowCapacity']).to.be.gte(defaultConfig.initialStreamWindowSize); ++ // eslint-disable-next-line @typescript-eslint/dot-notation ++ expect(s1['recvWindowCapacity']).to.be.gte(defaultConfig.initialStreamWindowSize); ++ }); ++ it('test send data - large with increasing recv window size', async () => { ++ ({ client, server } = testClientServer({ initialStreamWindowSize: defaultConfig.initialStreamWindowSize })); ++ const { default: drain } = await import('it-drain'); ++ const p = pushable(); ++ const c1 = client.newStream(); ++ server.pauseWrite(); ++ void server.ping(); ++ await sleep(10); ++ server.unpauseWrite(); ++ const s1 = server.streams[0]; ++ const sendPipe = pipe(p, c1); ++ const recvPipe = pipe(s1, drain); ++ // amount of data is greater than initial window size ++ // and each payload is also greater than the max message size ++ // this will payload chunking and also waiting for window updates before continuing to send ++ for (let i = 0; i < 10; i++) { ++ p.push(new Uint8Array(defaultConfig.initialStreamWindowSize)); ++ } ++ p.end(); ++ await Promise.all([sendPipe, recvPipe]); ++ // the window capacities should have refilled via window updates as received data was consumed ++ // eslint-disable-next-line @typescript-eslint/dot-notation ++ expect(c1['sendWindowCapacity']).to.be.gte(defaultConfig.initialStreamWindowSize); ++ // eslint-disable-next-line @typescript-eslint/dot-notation ++ expect(s1['recvWindowCapacity']).to.be.gte(defaultConfig.initialStreamWindowSize); ++ }); ++ it('test many streams', async () => { ++ ({ client, server } = testClientServer()); ++ for (let i = 0; i < 1000; i++) { ++ client.newStream(); ++ } ++ await sleep(100); ++ expect(client.streams.length).to.equal(1000); ++ expect(server.streams.length).to.equal(1000); ++ }); ++ it('test many streams - ping pong', async () => { ++ ({ client, server } = testClientServer({ ++ // echo on incoming streams ++ onIncomingStream: (stream) => { void pipe(stream, stream); } ++ })); ++ const numStreams = 10; ++ const p = []; ++ for (let i = 0; i < numStreams; i++) { ++ client.newStream(); ++ p.push(pushable()); ++ } ++ await sleep(100); ++ for (let i = 0; i < numStreams; i++) { ++ const s = client.streams[i]; ++ void pipe(p[i], s); ++ p[i].push(new Uint8Array(16)); ++ } ++ await sleep(100); ++ expect(client.streams.length).to.equal(numStreams); ++ expect(server.streams.length).to.equal(numStreams); ++ await client.close(); ++ }); ++ it('test stream close', async () => { ++ ({ client, server } = testClientServer()); ++ const c1 = client.newStream(); ++ await c1.close(); ++ await sleep(5); ++ expect(c1.state).to.equal(StreamState.Finished); ++ const s1 = server.streams[0]; ++ expect(s1).to.not.be.undefined(); ++ expect(s1.state).to.equal(StreamState.SYNReceived); ++ }); ++ it('test stream close read', async () => { ++ ({ client, server } = testClientServer()); ++ const c1 = client.newStream(); ++ await c1.closeRead(); ++ await sleep(5); ++ const s1 = server.streams[0]; ++ expect(s1).to.not.be.undefined(); ++ expect(s1.readStatus).to.equal('ready'); ++ expect(s1.writeStatus).to.equal('ready'); ++ }); ++ it('test stream close write', async () => { ++ ({ client, server } = testClientServer()); ++ const c1 = client.newStream(); ++ await c1.closeWrite(); ++ await sleep(5); ++ expect(c1.readStatus).to.equal('ready'); ++ expect(c1.writeStatus).to.equal('closed'); ++ const s1 = server.streams[0]; ++ expect(s1).to.not.be.undefined(); ++ expect(s1.readStatus).to.equal('closed'); ++ expect(s1.writeStatus).to.equal('ready'); ++ }); ++ it('test window overflow', async () => { ++ ({ client, server } = testClientServer({ maxMessageSize: defaultConfig.initialStreamWindowSize, initialStreamWindowSize: defaultConfig.initialStreamWindowSize })); ++ const { default: drain } = await import('it-drain'); ++ const p = pushable(); ++ const c1 = client.newStream(); ++ await sleep(10); ++ const s1 = server.streams[0]; ++ const sendPipe = pipe(p, c1); ++ const c1SendData = c1.sendData.bind(c1); ++ c1.sendData = async (data) => { ++ await c1SendData(data); ++ // eslint-disable-next-line @typescript-eslint/dot-notation ++ c1['sendWindowCapacity'] = defaultConfig.initialStreamWindowSize * 10; ++ }; ++ p.push(new Uint8Array(defaultConfig.initialStreamWindowSize)); ++ p.push(new Uint8Array(defaultConfig.initialStreamWindowSize)); ++ await sleep(10); ++ const recvPipe = pipe(s1, drain); ++ p.end(); ++ try { ++ await Promise.all([sendPipe, recvPipe]); ++ } ++ catch (e) { ++ expect(e).to.have.property('name', 'ReceiveWindowExceededError'); ++ } ++ expect(client).to.have.property('remoteGoAway', GoAwayCode.ProtocolError); ++ expect(server).to.have.property('localGoAway', GoAwayCode.ProtocolError); ++ }); ++ it('test stream sink error', async () => { ++ ({ client, server } = testClientServer()); ++ // don't let the server respond ++ server.pauseRead(); ++ const p = pushable(); ++ const c1 = client.newStream(); ++ const sendPipe = pipe(p, c1); ++ // send more data than the window size, will trigger a wait ++ p.push(new Uint8Array(defaultConfig.initialStreamWindowSize)); ++ p.push(new Uint8Array(defaultConfig.initialStreamWindowSize)); ++ await sleep(10); ++ // the client should fail to close gracefully because there is unsent data ++ // that will never be sent ++ await client.close({ ++ signal: AbortSignal.timeout(10) ++ }); ++ p.end(); ++ await sendPipe; ++ }); ++}); ++//# sourceMappingURL=stream.spec.js.map +\ No newline at end of file +diff --git a/node_modules/@chainsafe/libp2p-yamux/dist/test/stream.spec.js.map b/node_modules/@chainsafe/libp2p-yamux/dist/test/stream.spec.js.map +new file mode 100644 +index 0000000..7145483 +--- /dev/null ++++ b/node_modules/@chainsafe/libp2p-yamux/dist/test/stream.spec.js.map +@@ -0,0 +1 @@ ++{"version":3,"file":"stream.spec.js","sourceRoot":"","sources":["../../test/stream.spec.ts"],"names":[],"mappings":"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"} +\ No newline at end of file +diff --git a/node_modules/@chainsafe/libp2p-yamux/dist/test/util.d.ts b/node_modules/@chainsafe/libp2p-yamux/dist/test/util.d.ts +new file mode 100644 +index 0000000..01e449e +--- /dev/null ++++ b/node_modules/@chainsafe/libp2p-yamux/dist/test/util.d.ts +@@ -0,0 +1,36 @@ ++import { Yamux, YamuxMuxer, type YamuxMuxerInit } from '../src/muxer.js'; ++import type { Config } from '../src/config.js'; ++import type { Source, Transform } from 'it-stream-types'; ++export declare const testConf: Partial; ++/** ++ * Yamux must be configured with a client setting `client` to true ++ * and a server setting `client` to falsey ++ * ++ * Since the compliance tests create a dialer and listener, ++ * manually alternate setting `client` to true and false ++ */ ++export declare class TestYamux extends Yamux { ++ createStreamMuxer(init?: YamuxMuxerInit): YamuxMuxer; ++} ++export declare function testYamuxMuxer(name: string, client: boolean, conf?: YamuxMuxerInit): YamuxMuxer; ++/** ++ * Create a transform that can be paused and unpaused ++ */ ++export declare function pauseableTransform(): { ++ transform: Transform, AsyncGenerator>; ++ pause(): void; ++ unpause(): void; ++}; ++export interface YamuxFixture extends YamuxMuxer { ++ pauseRead(): void; ++ unpauseRead(): void; ++ pauseWrite(): void; ++ unpauseWrite(): void; ++} ++export declare function testClientServer(conf?: YamuxMuxerInit): { ++ client: YamuxFixture; ++ server: YamuxFixture; ++}; ++export declare function timeout(ms: number): Promise; ++export declare function sleep(ms: number): Promise; ++//# sourceMappingURL=util.d.ts.map +\ No newline at end of file +diff --git a/node_modules/@chainsafe/libp2p-yamux/dist/test/util.d.ts.map b/node_modules/@chainsafe/libp2p-yamux/dist/test/util.d.ts.map +new file mode 100644 +index 0000000..e0a07d9 +--- /dev/null ++++ b/node_modules/@chainsafe/libp2p-yamux/dist/test/util.d.ts.map +@@ -0,0 +1 @@ ++{"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../test/util.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,cAAc,EAAE,MAAM,iBAAiB,CAAA;AACxE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAA;AAC9C,OAAO,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAWxD,eAAO,MAAM,QAAQ,EAAE,OAAO,CAAC,MAAM,CAEpC,CAAA;AAED;;;;;;GAMG;AACH,qBAAa,SAAU,SAAQ,KAAK;IAClC,iBAAiB,CAAE,IAAI,CAAC,EAAE,cAAc,GAAG,UAAU;CAItD;AAED,wBAAgB,cAAc,CAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,GAAE,cAAmB,GAAG,UAAU,CAQpG;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAE,CAAC,KAAM;IAAE,SAAS,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC;IAAC,KAAK,IAAI,IAAI,CAAC;IAAC,OAAO,IAAI,IAAI,CAAA;CAAE,CAsBhI;AAED,MAAM,WAAW,YAAa,SAAQ,UAAU;IAC9C,SAAS,IAAI,IAAI,CAAA;IACjB,WAAW,IAAI,IAAI,CAAA;IACnB,UAAU,IAAI,IAAI,CAAA;IAClB,YAAY,IAAI,IAAI,CAAA;CACrB;AAED,wBAAgB,gBAAgB,CAAE,IAAI,GAAE,cAAmB,GAAG;IAC5D,MAAM,EAAE,YAAY,CAAA;IACpB,MAAM,EAAE,YAAY,CAAA;CACrB,CA0BA;AAED,wBAAsB,OAAO,CAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAE3D;AAED,wBAAsB,KAAK,CAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAEzD"} +\ No newline at end of file +diff --git a/node_modules/@chainsafe/libp2p-yamux/dist/test/util.js b/node_modules/@chainsafe/libp2p-yamux/dist/test/util.js +new file mode 100644 +index 0000000..e157153 +--- /dev/null ++++ b/node_modules/@chainsafe/libp2p-yamux/dist/test/util.js +@@ -0,0 +1,96 @@ ++import { prefixLogger } from '@libp2p/logger'; ++import { duplexPair } from 'it-pair/duplex'; ++import { pipe } from 'it-pipe'; ++import {} from 'uint8arraylist'; ++import { Yamux, YamuxMuxer } from '../src/muxer.js'; ++const isClient = (() => { ++ let client = false; ++ return () => { ++ const isClient = !client; ++ client = isClient; ++ return isClient; ++ }; ++})(); ++export const testConf = { ++ enableKeepAlive: false ++}; ++/** ++ * Yamux must be configured with a client setting `client` to true ++ * and a server setting `client` to falsey ++ * ++ * Since the compliance tests create a dialer and listener, ++ * manually alternate setting `client` to true and false ++ */ ++export class TestYamux extends Yamux { ++ createStreamMuxer(init) { ++ const client = isClient(); ++ return super.createStreamMuxer({ ...testConf, ...init, direction: client ? 'outbound' : 'inbound' }); ++ } ++} ++export function testYamuxMuxer(name, client, conf = {}) { ++ return new YamuxMuxer({ ++ logger: prefixLogger(name) ++ }, { ++ ...testConf, ++ ...conf, ++ direction: client ? 'outbound' : 'inbound' ++ }); ++} ++/** ++ * Create a transform that can be paused and unpaused ++ */ ++export function pauseableTransform() { ++ let resolvePausePromise; ++ let pausePromise; ++ const unpause = () => { ++ resolvePausePromise?.(null); ++ }; ++ const pause = () => { ++ pausePromise = new Promise(resolve => { ++ resolvePausePromise = resolve; ++ }); ++ }; ++ const transform = async function* (source) { ++ for await (const d of source) { ++ if (pausePromise !== undefined) { ++ await pausePromise; ++ pausePromise = undefined; ++ resolvePausePromise = undefined; ++ } ++ yield d; ++ } ++ }; ++ return { transform, pause, unpause }; ++} ++export function testClientServer(conf = {}) { ++ const pair = duplexPair(); ++ const client = testYamuxMuxer('client', true, conf); ++ const server = testYamuxMuxer('server', false, conf); ++ const clientReadTransform = pauseableTransform(); ++ const clientWriteTransform = pauseableTransform(); ++ const serverReadTransform = pauseableTransform(); ++ const serverWriteTransform = pauseableTransform(); ++ void pipe(pair[0], clientReadTransform.transform, client, clientWriteTransform.transform, pair[0]); ++ void pipe(pair[1], serverReadTransform.transform, server, serverWriteTransform.transform, pair[1]); ++ return { ++ client: Object.assign(client, { ++ pauseRead: clientReadTransform.pause, ++ unpauseRead: clientReadTransform.unpause, ++ pauseWrite: clientWriteTransform.pause, ++ unpauseWrite: clientWriteTransform.unpause ++ }), ++ server: Object.assign(server, { ++ pauseRead: serverReadTransform.pause, ++ unpauseRead: serverReadTransform.unpause, ++ pauseWrite: serverWriteTransform.pause, ++ unpauseWrite: serverWriteTransform.unpause ++ }) ++ }; ++} ++export async function timeout(ms) { ++ return new Promise((_resolve, reject) => setTimeout(() => { reject(new Error(`timeout after ${ms}ms`)); }, ms)); ++} ++export async function sleep(ms) { ++ return new Promise(resolve => setTimeout(() => { resolve(ms); }, ms)); ++} ++//# sourceMappingURL=util.js.map +\ No newline at end of file +diff --git a/node_modules/@chainsafe/libp2p-yamux/dist/test/util.js.map b/node_modules/@chainsafe/libp2p-yamux/dist/test/util.js.map +new file mode 100644 +index 0000000..0371ce2 +--- /dev/null ++++ b/node_modules/@chainsafe/libp2p-yamux/dist/test/util.js.map +@@ -0,0 +1 @@ ++{"version":3,"file":"util.js","sourceRoot":"","sources":["../../test/util.ts"],"names":[],"mappings":"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"} +\ No newline at end of file +diff --git a/node_modules/@chainsafe/libp2p-yamux/dist/tsconfig.tsbuildinfo b/node_modules/@chainsafe/libp2p-yamux/dist/tsconfig.tsbuildinfo +new file mode 100644 +index 0000000..3fc08ac +--- /dev/null ++++ b/node_modules/@chainsafe/libp2p-yamux/dist/tsconfig.tsbuildinfo +@@ -0,0 +1 @@ ++{"program":{"fileNames":["../node_modules/typescript/lib/lib.es5.d.ts","../node_modules/typescript/lib/lib.es2015.d.ts","../node_modules/typescript/lib/lib.es2016.d.ts","../node_modules/typescript/lib/lib.es2017.d.ts","../node_modules/typescript/lib/lib.es2018.d.ts","../node_modules/typescript/lib/lib.es2019.d.ts","../node_modules/typescript/lib/lib.es2020.d.ts","../node_modules/typescript/lib/lib.es2021.d.ts","../node_modules/typescript/lib/lib.es2022.d.ts","../node_modules/typescript/lib/lib.es2023.d.ts","../node_modules/typescript/lib/lib.dom.d.ts","../node_modules/typescript/lib/lib.dom.iterable.d.ts","../node_modules/typescript/lib/lib.webworker.d.ts","../node_modules/typescript/lib/lib.es2015.core.d.ts","../node_modules/typescript/lib/lib.es2015.collection.d.ts","../node_modules/typescript/lib/lib.es2015.generator.d.ts","../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../node_modules/typescript/lib/lib.es2015.promise.d.ts","../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../node_modules/typescript/lib/lib.es2016.intl.d.ts","../node_modules/typescript/lib/lib.es2017.date.d.ts","../node_modules/typescript/lib/lib.es2017.object.d.ts","../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../node_modules/typescript/lib/lib.es2017.string.d.ts","../node_modules/typescript/lib/lib.es2017.intl.d.ts","../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../node_modules/typescript/lib/lib.es2018.intl.d.ts","../node_modules/typescript/lib/lib.es2018.promise.d.ts","../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../node_modules/typescript/lib/lib.es2019.array.d.ts","../node_modules/typescript/lib/lib.es2019.object.d.ts","../node_modules/typescript/lib/lib.es2019.string.d.ts","../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../node_modules/typescript/lib/lib.es2019.intl.d.ts","../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../node_modules/typescript/lib/lib.es2020.date.d.ts","../node_modules/typescript/lib/lib.es2020.promise.d.ts","../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../node_modules/typescript/lib/lib.es2020.string.d.ts","../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../node_modules/typescript/lib/lib.es2020.intl.d.ts","../node_modules/typescript/lib/lib.es2020.number.d.ts","../node_modules/typescript/lib/lib.es2021.promise.d.ts","../node_modules/typescript/lib/lib.es2021.string.d.ts","../node_modules/typescript/lib/lib.es2021.weakref.d.ts","../node_modules/typescript/lib/lib.es2021.intl.d.ts","../node_modules/typescript/lib/lib.es2022.array.d.ts","../node_modules/typescript/lib/lib.es2022.error.d.ts","../node_modules/typescript/lib/lib.es2022.intl.d.ts","../node_modules/typescript/lib/lib.es2022.object.d.ts","../node_modules/typescript/lib/lib.es2022.sharedmemory.d.ts","../node_modules/typescript/lib/lib.es2022.string.d.ts","../node_modules/typescript/lib/lib.es2022.regexp.d.ts","../node_modules/typescript/lib/lib.es2023.array.d.ts","../node_modules/typescript/lib/lib.es2023.collection.d.ts","../node_modules/typescript/lib/lib.esnext.intl.d.ts","../node_modules/typescript/lib/lib.decorators.d.ts","../node_modules/typescript/lib/lib.decorators.legacy.d.ts","../node_modules/multiformats/dist/src/bases/interface.d.ts","../node_modules/multiformats/dist/src/block/interface.d.ts","../node_modules/multiformats/dist/src/hashes/interface.d.ts","../node_modules/multiformats/dist/src/link/interface.d.ts","../node_modules/multiformats/dist/src/cid.d.ts","../node_modules/uint8arraylist/dist/src/index.d.ts","../node_modules/@libp2p/interface/dist/src/keys/index.d.ts","../node_modules/@libp2p/interface/dist/src/peer-id/index.d.ts","../node_modules/@multiformats/multiaddr/dist/src/protocols-table.d.ts","../node_modules/@multiformats/dns/dist/src/resolvers/dns-over-https.d.ts","../node_modules/@multiformats/dns/dist/src/resolvers/dns-json-over-https.d.ts","../node_modules/@multiformats/dns/dist/src/resolvers/index.d.ts","../node_modules/progress-events/dist/src/index.d.ts","../node_modules/@multiformats/dns/dist/src/index.d.ts","../node_modules/@multiformats/multiaddr/dist/src/resolvers/dnsaddr.d.ts","../node_modules/@multiformats/multiaddr/dist/src/resolvers/index.d.ts","../node_modules/@multiformats/multiaddr/dist/src/filter/multiaddr-filter.d.ts","../node_modules/@multiformats/multiaddr/dist/src/index.d.ts","../node_modules/it-stream-types/dist/src/index.d.ts","../node_modules/@libp2p/interface/dist/src/connection/index.d.ts","../node_modules/@libp2p/interface/dist/src/peer-info/index.d.ts","../node_modules/@libp2p/interface/dist/src/content-routing/index.d.ts","../node_modules/@libp2p/interface/dist/src/event-target.d.ts","../node_modules/@libp2p/interface/dist/src/metrics/index.d.ts","../node_modules/@libp2p/interface/dist/src/peer-routing/index.d.ts","../node_modules/@libp2p/interface/dist/src/peer-store/index.d.ts","../node_modules/@libp2p/interface/dist/src/startable.d.ts","../node_modules/@libp2p/interface/dist/src/stream-handler/index.d.ts","../node_modules/@libp2p/interface/dist/src/topology/index.d.ts","../node_modules/@libp2p/interface/dist/src/stream-muxer/index.d.ts","../node_modules/@libp2p/interface/dist/src/transport/index.d.ts","../node_modules/@libp2p/interface/dist/src/connection-encrypter/index.d.ts","../node_modules/@libp2p/interface/dist/src/connection-gater/index.d.ts","../node_modules/@libp2p/interface/dist/src/peer-discovery/index.d.ts","../node_modules/@libp2p/interface/dist/src/peer-store/tags.d.ts","../node_modules/it-pushable/dist/src/index.d.ts","../node_modules/@libp2p/interface/dist/src/pubsub/index.d.ts","../node_modules/@libp2p/interface/dist/src/record/index.d.ts","../node_modules/@libp2p/interface/dist/src/errors.d.ts","../node_modules/@types/node/assert.d.ts","../node_modules/@types/node/assert/strict.d.ts","../node_modules/buffer/index.d.ts","../node_modules/undici-types/header.d.ts","../node_modules/undici-types/readable.d.ts","../node_modules/undici-types/file.d.ts","../node_modules/undici-types/fetch.d.ts","../node_modules/undici-types/formdata.d.ts","../node_modules/undici-types/connector.d.ts","../node_modules/undici-types/client.d.ts","../node_modules/undici-types/errors.d.ts","../node_modules/undici-types/dispatcher.d.ts","../node_modules/undici-types/global-dispatcher.d.ts","../node_modules/undici-types/global-origin.d.ts","../node_modules/undici-types/pool-stats.d.ts","../node_modules/undici-types/pool.d.ts","../node_modules/undici-types/handlers.d.ts","../node_modules/undici-types/balanced-pool.d.ts","../node_modules/undici-types/agent.d.ts","../node_modules/undici-types/mock-interceptor.d.ts","../node_modules/undici-types/mock-agent.d.ts","../node_modules/undici-types/mock-client.d.ts","../node_modules/undici-types/mock-pool.d.ts","../node_modules/undici-types/mock-errors.d.ts","../node_modules/undici-types/proxy-agent.d.ts","../node_modules/undici-types/env-http-proxy-agent.d.ts","../node_modules/undici-types/retry-handler.d.ts","../node_modules/undici-types/retry-agent.d.ts","../node_modules/undici-types/api.d.ts","../node_modules/undici-types/interceptors.d.ts","../node_modules/undici-types/util.d.ts","../node_modules/undici-types/cookies.d.ts","../node_modules/undici-types/patch.d.ts","../node_modules/undici-types/websocket.d.ts","../node_modules/undici-types/eventsource.d.ts","../node_modules/undici-types/filereader.d.ts","../node_modules/undici-types/diagnostics-channel.d.ts","../node_modules/undici-types/content-type.d.ts","../node_modules/undici-types/cache.d.ts","../node_modules/undici-types/index.d.ts","../node_modules/@types/node/globals.d.ts","../node_modules/@types/node/async_hooks.d.ts","../node_modules/@types/node/buffer.d.ts","../node_modules/@types/node/child_process.d.ts","../node_modules/@types/node/cluster.d.ts","../node_modules/@types/node/console.d.ts","../node_modules/@types/node/constants.d.ts","../node_modules/@types/node/crypto.d.ts","../node_modules/@types/node/dgram.d.ts","../node_modules/@types/node/diagnostics_channel.d.ts","../node_modules/@types/node/dns.d.ts","../node_modules/@types/node/dns/promises.d.ts","../node_modules/@types/node/domain.d.ts","../node_modules/@types/node/dom-events.d.ts","../node_modules/@types/node/events.d.ts","../node_modules/@types/node/fs.d.ts","../node_modules/@types/node/fs/promises.d.ts","../node_modules/@types/node/http.d.ts","../node_modules/@types/node/http2.d.ts","../node_modules/@types/node/https.d.ts","../node_modules/@types/node/inspector.d.ts","../node_modules/@types/node/module.d.ts","../node_modules/@types/node/net.d.ts","../node_modules/@types/node/os.d.ts","../node_modules/@types/node/path.d.ts","../node_modules/@types/node/perf_hooks.d.ts","../node_modules/@types/node/process.d.ts","../node_modules/@types/node/punycode.d.ts","../node_modules/@types/node/querystring.d.ts","../node_modules/@types/node/readline.d.ts","../node_modules/@types/node/readline/promises.d.ts","../node_modules/@types/node/repl.d.ts","../node_modules/@types/node/sea.d.ts","../node_modules/@types/node/sqlite.d.ts","../node_modules/@types/node/stream.d.ts","../node_modules/@types/node/stream/promises.d.ts","../node_modules/@types/node/stream/consumers.d.ts","../node_modules/@types/node/stream/web.d.ts","../node_modules/@types/node/string_decoder.d.ts","../node_modules/@types/node/test.d.ts","../node_modules/@types/node/timers.d.ts","../node_modules/@types/node/timers/promises.d.ts","../node_modules/@types/node/tls.d.ts","../node_modules/@types/node/trace_events.d.ts","../node_modules/@types/node/tty.d.ts","../node_modules/@types/node/url.d.ts","../node_modules/@types/node/util.d.ts","../node_modules/@types/node/v8.d.ts","../node_modules/@types/node/vm.d.ts","../node_modules/@types/node/wasi.d.ts","../node_modules/@types/node/worker_threads.d.ts","../node_modules/@types/node/zlib.d.ts","../node_modules/@types/node/globals.global.d.ts","../node_modules/@types/node/index.d.ts","../node_modules/@libp2p/interface/dist/src/events.d.ts","../node_modules/@libp2p/interface/dist/src/index.d.ts","../src/errors.ts","../src/constants.ts","../src/config.ts","../src/frame.ts","../src/decode.ts","../src/encode.ts","../node_modules/get-iterator/dist/src/index.d.ts","../node_modules/@libp2p/logger/dist/src/index.d.ts","../node_modules/@libp2p/utils/dist/src/abstract-stream.d.ts","../node_modules/it-foreach/dist/src/index.d.ts","../src/stream.ts","../src/muxer.ts","../src/index.ts","../node_modules/@types/chai/index.d.ts","../node_modules/@types/chai-as-promised/index.d.ts","../node_modules/chai-parentheses/index.d.ts","../node_modules/@types/chai-subset/index.d.ts","../node_modules/chai-bites/index.d.ts","../node_modules/@types/chai-string/index.d.ts","../node_modules/aegir/dist/utils/chai.d.ts","../test/codec.util.ts","../test/codec.spec.ts","../node_modules/@libp2p/interface-compliance-tests/dist/src/index.d.ts","../node_modules/@libp2p/interface-compliance-tests/dist/src/stream-muxer/index.d.ts","../node_modules/it-pair/dist/src/duplex.d.ts","../node_modules/it-pipe/dist/src/index.d.ts","../test/util.ts","../test/compliance.spec.ts","../test/decode.spec.ts","../node_modules/@libp2p/mplex/dist/src/message-types.d.ts","../node_modules/@libp2p/mplex/dist/src/stream.d.ts","../node_modules/@libp2p/mplex/dist/src/mplex.d.ts","../node_modules/@libp2p/mplex/dist/src/index.d.ts","../test/mplex.util.ts","../test/muxer.spec.ts","../node_modules/it-drain/dist/src/index.d.ts","../test/stream.spec.ts","../node_modules/@dapplion/benchmark/lib/utils/mochacliexports.d.ts","../node_modules/@dapplion/benchmark/lib/types.d.ts","../node_modules/@dapplion/benchmark/lib/mochaplugin/runbenchfn.d.ts","../node_modules/@dapplion/benchmark/lib/mochaplugin/index.d.ts","../node_modules/@dapplion/benchmark/lib/index.d.ts","../test/bench/codec.bench.ts","../test/bench/comparison.bench.ts","../node_modules/keyv/src/index.d.ts","../node_modules/@types/http-cache-semantics/index.d.ts","../node_modules/@types/responselike/index.d.ts","../node_modules/@types/cacheable-request/index.d.ts","../node_modules/@types/ms/index.d.ts","../node_modules/@types/debug/index.d.ts","../node_modules/@types/dns-packet/index.d.ts","../node_modules/@types/istanbul-lib-coverage/index.d.ts","../node_modules/@types/json-schema/index.d.ts","../node_modules/@types/json5/index.d.ts","../node_modules/@types/keyv/index.d.ts","../node_modules/@types/unist/index.d.ts","../node_modules/@types/mdast/index.d.ts","../node_modules/@types/minimatch/index.d.ts","../node_modules/@types/minimist/index.d.ts","../node_modules/@types/mocha/index.d.ts","../node_modules/@types/murmurhash3js-revisited/index.d.ts","../node_modules/@types/normalize-package-data/index.d.ts","../node_modules/@types/parse-json/index.d.ts","../node_modules/@types/retry/index.d.ts","../node_modules/@types/semver/classes/semver.d.ts","../node_modules/@types/semver/functions/parse.d.ts","../node_modules/@types/semver/functions/valid.d.ts","../node_modules/@types/semver/functions/clean.d.ts","../node_modules/@types/semver/functions/inc.d.ts","../node_modules/@types/semver/functions/diff.d.ts","../node_modules/@types/semver/functions/major.d.ts","../node_modules/@types/semver/functions/minor.d.ts","../node_modules/@types/semver/functions/patch.d.ts","../node_modules/@types/semver/functions/prerelease.d.ts","../node_modules/@types/semver/functions/compare.d.ts","../node_modules/@types/semver/functions/rcompare.d.ts","../node_modules/@types/semver/functions/compare-loose.d.ts","../node_modules/@types/semver/functions/compare-build.d.ts","../node_modules/@types/semver/functions/sort.d.ts","../node_modules/@types/semver/functions/rsort.d.ts","../node_modules/@types/semver/functions/gt.d.ts","../node_modules/@types/semver/functions/lt.d.ts","../node_modules/@types/semver/functions/eq.d.ts","../node_modules/@types/semver/functions/neq.d.ts","../node_modules/@types/semver/functions/gte.d.ts","../node_modules/@types/semver/functions/lte.d.ts","../node_modules/@types/semver/functions/cmp.d.ts","../node_modules/@types/semver/functions/coerce.d.ts","../node_modules/@types/semver/classes/comparator.d.ts","../node_modules/@types/semver/classes/range.d.ts","../node_modules/@types/semver/functions/satisfies.d.ts","../node_modules/@types/semver/ranges/max-satisfying.d.ts","../node_modules/@types/semver/ranges/min-satisfying.d.ts","../node_modules/@types/semver/ranges/to-comparators.d.ts","../node_modules/@types/semver/ranges/min-version.d.ts","../node_modules/@types/semver/ranges/valid.d.ts","../node_modules/@types/semver/ranges/outside.d.ts","../node_modules/@types/semver/ranges/gtr.d.ts","../node_modules/@types/semver/ranges/ltr.d.ts","../node_modules/@types/semver/ranges/intersects.d.ts","../node_modules/@types/semver/ranges/simplify.d.ts","../node_modules/@types/semver/ranges/subset.d.ts","../node_modules/@types/semver/internals/identifiers.d.ts","../node_modules/@types/semver/index.d.ts","../node_modules/@types/strip-bom/index.d.ts","../node_modules/@types/strip-json-comments/index.d.ts","../node_modules/@types/yargs-parser/index.d.ts","../node_modules/@types/yargs/index.d.ts","../node_modules/@types/yauzl/index.d.ts"],"fileInfos":[{"version":"824cb491a40f7e8fdeb56f1df5edf91b23f3e3ee6b4cde84d4a99be32338faee","affectsGlobalScope":true},"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","3facaf05f0c5fc569c5649dd359892c98a85557e3e0c847964caeb67076f4d75","9a68c0c07ae2fa71b44384a839b7b8d81662a236d4b9ac30916718f7510b1b2d","5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4","feecb1be483ed332fad555aff858affd90a48ab19ba7272ee084704eb7167569","5514e54f17d6d74ecefedc73c504eadffdeda79c7ea205cf9febead32d45c4bc","1c0cdb8dc619bc549c3e5020643e7cf7ae7940058e8c7e5aefa5871b6d86f44b",{"version":"87d693a4920d794a73384b3c779cadcb8548ac6945aa7a925832fe2418c9527a","affectsGlobalScope":true},{"version":"76f838d5d49b65de83bc345c04aa54c62a3cfdb72a477dc0c0fce89a30596c30","affectsGlobalScope":true},{"version":"db88e2781075c7bca86634724f38a132de718ddf3a470a3a2cdb182f4364af9e","affectsGlobalScope":true},{"version":"138fb588d26538783b78d1e3b2c2cc12d55840b97bf5e08bca7f7a174fbe2f17","affectsGlobalScope":true},{"version":"dc2df20b1bcdc8c2d34af4926e2c3ab15ffe1160a63e58b7e09833f616efff44","affectsGlobalScope":true},{"version":"4443e68b35f3332f753eacc66a04ac1d2053b8b035a0e0ac1d455392b5e243b3","affectsGlobalScope":true},{"version":"bc47685641087c015972a3f072480889f0d6c65515f12bd85222f49a98952ed7","affectsGlobalScope":true},{"version":"0dc1e7ceda9b8b9b455c3a2d67b0412feab00bd2f66656cd8850e8831b08b537","affectsGlobalScope":true},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true},{"version":"4ff2a353abf8a80ee399af572debb8faab2d33ad38c4b4474cff7f26e7653b8d","affectsGlobalScope":true},{"version":"93495ff27b8746f55d19fcbcdbaccc99fd95f19d057aed1bd2c0cafe1335fbf0","affectsGlobalScope":true},{"version":"6fc23bb8c3965964be8c597310a2878b53a0306edb71d4b5a4dfe760186bcc01","affectsGlobalScope":true},{"version":"ea011c76963fb15ef1cdd7ce6a6808b46322c527de2077b6cfdf23ae6f5f9ec7","affectsGlobalScope":true},{"version":"38f0219c9e23c915ef9790ab1d680440d95419ad264816fa15009a8851e79119","affectsGlobalScope":true},{"version":"bb42a7797d996412ecdc5b2787720de477103a0b2e53058569069a0e2bae6c7e","affectsGlobalScope":true},{"version":"4738f2420687fd85629c9efb470793bb753709c2379e5f85bc1815d875ceadcd","affectsGlobalScope":true},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true},{"version":"4de680d5bb41c17f7f68e0419412ca23c98d5749dcaaea1896172f06435891fc","affectsGlobalScope":true},{"version":"9fc46429fbe091ac5ad2608c657201eb68b6f1b8341bd6d670047d32ed0a88fa","affectsGlobalScope":true},{"version":"61c37c1de663cf4171e1192466e52c7a382afa58da01b1dc75058f032ddf0839","affectsGlobalScope":true},{"version":"b541a838a13f9234aba650a825393ffc2292dc0fc87681a5d81ef0c96d281e7a","affectsGlobalScope":true},{"version":"b20fe0eca9a4e405f1a5ae24a2b3290b37cf7f21eba6cbe4fc3fab979237d4f3","affectsGlobalScope":true},{"version":"811ec78f7fefcabbda4bfa93b3eb67d9ae166ef95f9bff989d964061cbf81a0c","affectsGlobalScope":true},{"version":"717937616a17072082152a2ef351cb51f98802fb4b2fdabd32399843875974ca","affectsGlobalScope":true},{"version":"d7e7d9b7b50e5f22c915b525acc5a49a7a6584cf8f62d0569e557c5cfc4b2ac2","affectsGlobalScope":true},{"version":"71c37f4c9543f31dfced6c7840e068c5a5aacb7b89111a4364b1d5276b852557","affectsGlobalScope":true},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true},{"version":"49ed889be54031e1044af0ad2c603d627b8bda8b50c1a68435fe85583901d072","affectsGlobalScope":true},{"version":"e93d098658ce4f0c8a0779e6cab91d0259efb88a318137f686ad76f8410ca270","affectsGlobalScope":true},{"version":"063600664504610fe3e99b717a1223f8b1900087fab0b4cad1496a114744f8df","affectsGlobalScope":true},{"version":"934019d7e3c81950f9a8426d093458b65d5aff2c7c1511233c0fd5b941e608ab","affectsGlobalScope":true},{"version":"bf14a426dbbf1022d11bd08d6b8e709a2e9d246f0c6c1032f3b2edb9a902adbe","affectsGlobalScope":true},{"version":"5e07ed3809d48205d5b985642a59f2eba47c402374a7cf8006b686f79efadcbd","affectsGlobalScope":true},{"version":"2b72d528b2e2fe3c57889ca7baef5e13a56c957b946906d03767c642f386bbc3","affectsGlobalScope":true},{"version":"8073890e29d2f46fdbc19b8d6d2eb9ea58db9a2052f8640af20baff9afbc8640","affectsGlobalScope":true},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true},{"version":"af3dd424cf267428f30ccfc376f47a2c0114546b55c44d8c0f1d57d841e28d74","affectsGlobalScope":true},{"version":"995c005ab91a498455ea8dfb63aa9f83fa2ea793c3d8aa344be4a1678d06d399","affectsGlobalScope":true},{"version":"51e547984877a62227042850456de71a5c45e7fe86b7c975c6e68896c86fa23b","affectsGlobalScope":true},{"version":"956d27abdea9652e8368ce029bb1e0b9174e9678a273529f426df4b3d90abd60","affectsGlobalScope":true},{"version":"4fa6ed14e98aa80b91f61b9805c653ee82af3502dc21c9da5268d3857772ca05","affectsGlobalScope":true},{"version":"e6633e05da3ff36e6da2ec170d0d03ccf33de50ca4dc6f5aeecb572cedd162fb","affectsGlobalScope":true},{"version":"d8670852241d4c6e03f2b89d67497a4bbefe29ecaa5a444e2c11a9b05e6fccc6","affectsGlobalScope":true},{"version":"8444af78980e3b20b49324f4a16ba35024fef3ee069a0eb67616ea6ca821c47a","affectsGlobalScope":true},{"version":"caccc56c72713969e1cfe5c3d44e5bab151544d9d2b373d7dbe5a1e4166652be","affectsGlobalScope":true},{"version":"3287d9d085fbd618c3971944b65b4be57859f5415f495b33a6adc994edd2f004","affectsGlobalScope":true},{"version":"50d53ccd31f6667aff66e3d62adf948879a3a16f05d89882d1188084ee415bbc","affectsGlobalScope":true},{"version":"08a58483392df5fcc1db57d782e87734f77ae9eab42516028acbfe46f29a3ef7","affectsGlobalScope":true},{"version":"436aaf437562f276ec2ddbee2f2cdedac7664c1e4c1d2c36839ddd582eeb3d0a","affectsGlobalScope":true},{"version":"13f6e6380c78e15e140243dc4be2fa546c287c6d61f4729bc2dd7cf449605471","affectsGlobalScope":true},{"version":"33358442698bb565130f52ba79bfd3d4d484ac85fe33f3cb1759c54d18201393","affectsGlobalScope":true},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true},"4a3605bef1a5ef29fd5a1696dd95b0b4e2259e2d07a4d88fac79f3a9765c44a2","370079895f1acdd4bb5194a403c85bf60cfbb2654bced9430a6c7210e7246be8","90240231e730deed31569f6c686766a538e4a024bbc33ea1738fe924f477ba61","552223520e823223ee13c5764e9b69b1819c985818a8bcda435d8d1dbd909bee","49b7c3ddd683c09aa437dd92681699387441f522524b14d2331ce494a9bf2f27","d35b5db21a04a45ae6323c4d4b25acc983dfe2870fc670fd05249eb19d839a5e","637b97f727f21c07a73f09130dc7bf5ac94d04511b179b5eb3e9a4d85a16147a","51720c0374406647b50f84f24c7b623f1d01e1955f7e929da7c5c0629b4390ad","5212dd78d1d63ab33332c8846a0ea5ce248159e74033cde16de48373036b4704","954b3c04ee9f94ca1e262f3e5a6e833b0da0066514b3d4b97b92b7f0c85f8700","a2fc9ce1ae5bed7068d701d8aeebf13321de0f42c217dc2e10f1622dcaa53a7f","8e81f220cb935d551e88cff11541d5e89d3a3494a52fe6247e98016a9dbd4c2d","6b2576a04253626ba41b7dc7ec5977bec07f3b6952b16249d9fa8a3a0d79901c","9de17491f2bfbccea92500e174079d53bdedae34dbebe5d4a12a06ab09814710","e88481085a8576fa52efc913e631c1a833d16179486469b8538d8c4fab2f7381","aec68502c8f4ffaecb4440b37363473582fec0bfee4fb8668a87daa7f700f708","d71577e78c7a4257074aaf82f595724175210c89e8b467ef82f949a6cbd891bc","cf548af8b03cbbc79fdc4f357b5560f618c6d2f68c8688e6eb759c3c11d962c3","c84146dbc9d2e5f43d2cbf15485a4eabf90219dbb66c0d481f20f12d3851bffc","9dc5a1d8f09f9faf21207253a92b461190d59c81ee12c9ac612630e699749990","99c24f331c9f4e75a779b9a988e942442db3cf29923ceb820d3bdd4ed1edfef2","25b1f20d5868ef9ef18132f7dd76b40b7038688ff7c56c58930537a8dff9f231","4105fa0ecfaffb578c8051c3de22e8c984191aac8de14641ee99beed9c5e5bd9","af080582e94b991e099383c1da15f189ca240c12ff5e2338344b7263ab10e305","8c92080253bac0506d82b83d555a029582595f0944abb349954ea732322baa5c","45d4c8d63a67224af62bebff18da32bb2817e306c9fd9e5d1dac6ef8d2da7ead","230eb449f719119cab1728252f20ecdd36d7a20cef659e4a51ada1a232a8aaad","5f264ca312dfcbf23917febc8d7a73ef5be9c248af605939de1c7c4129aa65f2","c1c7b50665ce0b8aa4b95f3843167ac7ac25d1f724d77c2a07b597abb9cf394c","1bf687d978bdd6d5aff10b9eb0ff0695179f8594d4446946fd0182d6d25fa433","ec26029e3a4eccf8ee79d5c76093fbe928cedc83d813fca9be4f055d61530013","e0ff6a627dfbfb9d32e49f34879a763680e37758c509ddd809cb316b96f34390","2113d72680c7ddad6d3b6f70a29432a35c074c94ec6823a7c16ccd69847d965c","c8ffd61bf2db2e7bccb996dd70c9499805cb338f1b1c781987e38ba99dd5b296","55e5a976b594dc02f054860fb59a5299872a5b3c8c90e96733a5c9c9d4ed1fb8","fac83d4c6898d5bf90c508cc84409ded40fdc14611cf42d7fb750fb2c7847979","1668310e691181966c371fce881c88cb1c2e65ac832ef5470434ad926998da2f","4f1eb6b9c2b666278e09019281953fc4ecadad3b2ba2781b2602445743eaaeca","b0c64c942cb2e55bf49e513dfe46ae15b85754829d6639d1ab69a56c388cc2eb","e142fda89ed689ea53d6f2c93693898464c7d29a0ae71c6dc8cdfe5a1d76c775","7394959e5a741b185456e1ef5d64599c36c60a323207450991e7a42e08911419","4967529644e391115ca5592184d4b63980569adf60ee685f968fd59ab1557188","5929864ce17fba74232584d90cb721a89b7ad277220627cc97054ba15a98ea8f","24bd580b5743dc56402c440dc7f9a4f5d592ad7a419f25414d37a7bfe11e342b","25c8056edf4314820382a5fdb4bb7816999acdcb929c8f75e3f39473b87e85bc","c464d66b20788266e5353b48dc4aa6bc0dc4a707276df1e7152ab0c9ae21fad8","78d0d27c130d35c60b5e5566c9f1e5be77caf39804636bc1a40133919a949f21","c6fd2c5a395f2432786c9cb8deb870b9b0e8ff7e22c029954fabdd692bff6195","1d6e127068ea8e104a912e42fc0a110e2aa5a66a356a917a163e8cf9a65e4a75","5ded6427296cdf3b9542de4471d2aa8d3983671d4cac0f4bf9c637208d1ced43","6bdc71028db658243775263e93a7db2fd2abfce3ca569c3cca5aee6ed5eb186d","cadc8aced301244057c4e7e73fbcae534b0f5b12a37b150d80e5a45aa4bebcbd","385aab901643aa54e1c36f5ef3107913b10d1b5bb8cbcd933d4263b80a0d7f20","9670d44354bab9d9982eca21945686b5c24a3f893db73c0dae0fd74217a4c219","0b8a9268adaf4da35e7fa830c8981cfa22adbbe5b3f6f5ab91f6658899e657a7","11396ed8a44c02ab9798b7dca436009f866e8dae3c9c25e8c1fbc396880bf1bb","ba7bc87d01492633cb5a0e5da8a4a42a1c86270e7b3d2dea5d156828a84e4882","4893a895ea92c85345017a04ed427cbd6a1710453338df26881a6019432febdd","c21dc52e277bcfc75fac0436ccb75c204f9e1b3fa5e12729670910639f27343e","13f6f39e12b1518c6650bbb220c8985999020fe0f21d818e28f512b7771d00f9","9b5369969f6e7175740bf51223112ff209f94ba43ecd3bb09eefff9fd675624a","4fe9e626e7164748e8769bbf74b538e09607f07ed17c2f20af8d680ee49fc1da","24515859bc0b836719105bb6cc3d68255042a9f02a6022b3187948b204946bd2","ea0148f897b45a76544ae179784c95af1bd6721b8610af9ffa467a518a086a43","24c6a117721e606c9984335f71711877293a9651e44f59f3d21c1ea0856f9cc9","dd3273ead9fbde62a72949c97dbec2247ea08e0c6952e701a483d74ef92d6a17","405822be75ad3e4d162e07439bac80c6bcc6dbae1929e179cf467ec0b9ee4e2e","0db18c6e78ea846316c012478888f33c11ffadab9efd1cc8bcc12daded7a60b6","4d2b0eb911816f66abe4970898f97a2cfc902bcd743cbfa5017fad79f7ef90d8","bd0532fd6556073727d28da0edfd1736417a3f9f394877b6d5ef6ad88fba1d1a","89167d696a849fce5ca508032aabfe901c0868f833a8625d5a9c6e861ef935d2","e53a3c2a9f624d90f24bf4588aacd223e7bec1b9d0d479b68d2f4a9e6011147f","24b8685c62562f5d98615c5a0c1d05f297cf5065f15246edfe99e81ec4c0e011","93507c745e8f29090efb99399c3f77bec07db17acd75634249dc92f961573387","339dc5265ee5ed92e536a93a04c4ebbc2128f45eeec6ed29f379e0085283542c","4732aec92b20fb28c5fe9ad99521fb59974289ed1e45aecb282616202184064f","2e85db9e6fd73cfa3d7f28e0ab6b55417ea18931423bd47b409a96e4a169e8e6","c46e079fe54c76f95c67fb89081b3e399da2c7d109e7dca8e4b58d83e332e605","bf67d53d168abc1298888693338cb82854bdb2e69ef83f8a0092093c2d562107",{"version":"964f307d249df0d7e8eb16d594536c0ac6cc63c8d467edf635d05542821dec8e","affectsGlobalScope":true},"db3ec8993b7596a4ef47f309c7b25ee2505b519c13050424d9c34701e5973315",{"version":"6a1ebd564896d530364f67b3257c62555b61d60494a73dfe8893274878c6589d","affectsGlobalScope":true},"af49b066a76ce26673fe49d1885cc6b44153f1071ed2d952f2a90fccba1095c9","f22fd1dc2df53eaf5ce0ff9e0a3326fc66f880d6a652210d50563ae72625455f",{"version":"3ddbdb519e87a7827c4f0c4007013f3628ca0ebb9e2b018cf31e5b2f61c593f1","affectsGlobalScope":true},"a40826e8476694e90da94aa008283a7de50d1dafd37beada623863f1901cb7fb",{"version":"6d498d4fd8036ea02a4edcae10375854a0eb1df0496cf0b9d692577d3c0fd603","affectsGlobalScope":true},"24642567d3729bcc545bacb65ee7c0db423400c7f1ef757cab25d05650064f98","fd09b892597ab93e7f79745ce725a3aaf6dd005e8db20f0c63a5d10984cba328","a3be878ff1e1964ab2dc8e0a3b67087cf838731c7f3d8f603337e7b712fdd558","5433f7f77cd1fd53f45bd82445a4e437b2f6a72a32070e907530a4fea56c30c8","9be74296ee565af0c12d7071541fdd23260f53c3da7731fb6361f61150a791f6",{"version":"ee1ee365d88c4c6c0c0a5a5701d66ebc27ccd0bcfcfaa482c6e2e7fe7b98edf7","affectsGlobalScope":true},{"version":"f501a53b94ba382d9ba396a5c486969a3abc68309828fa67f916035f5d37fe2b","affectsGlobalScope":true},"aa658b5d765f630c312ac9202d110bbaf2b82d180376457f0a9d57b42629714a","312ac7cbd070107766a9886fd27f9faad997ef57d93fdfb4095df2c618ac8162","2e9b4e7f9942af902eb85bae6066d04ef1afee51d61554a62d144df3da7dec94","672ad3045f329e94002256f8ed460cfd06173a50c92cde41edaadfacffd16808","64da4965d1e0559e134d9c1621ae400279a216f87ed00c4cce4f2c7c78021712","2205527b976f4f1844adc46a3f0528729fb68cac70027a5fb13c49ca23593797",{"version":"0166fce1204d520fdfd6b5febb3cda3deee438bcbf8ce9ffeb2b1bcde7155346","affectsGlobalScope":true},"d8b13eab85b532285031b06a971fa051bf0175d8fff68065a24a6da9c1c986cf","50c382ba1827988c59aa9cc9d046e386d55d70f762e9e352e95ee8cb7337cdb8","bb9627ab9d078c79bb5623de4ac8e5d08f806ec9b970962dfc83b3211373690d",{"version":"21d7e87f271e72d02f8d167edc902f90b04525edc7918f00f01dd0bd00599f7e","affectsGlobalScope":true},{"version":"6f6abdaf8764ef01a552a958f45e795b5e79153b87ddad3af5264b86d2681b72","affectsGlobalScope":true},"a215554477f7629e3dcbc8cde104bec036b78673650272f5ffdc5a2cee399a0a","c3497fc242aabfedcd430b5932412f94f157b5906568e737f6a18cc77b36a954","cdc1de3b672f9ef03ff15c443aa1b631edca35b6ae6970a7da6400647ff74d95","139ad1dc93a503da85b7a0d5f615bddbae61ad796bc68fedd049150db67a1e26","bf01fdd3b93cf633b3f7420718457af19c57ab8cbfea49268df60bae2e84d627","15c5e91b5f08be34a78e3d976179bf5b7a9cc28dc0ef1ffebffeb3c7812a2dca","5f461d6f5d9ff474f1121cc3fd86aa3cd67476c701f55c306d323c5112201207","65b39cc6b610a4a4aecc321f6efb436f10c0509d686124795b4c36a5e915b89e","269929a24b2816343a178008ac9ae9248304d92a8ba8e233055e0ed6dbe6ef71","93452d394fdd1dc551ec62f5042366f011a00d342d36d50793b3529bfc9bd633",{"version":"83fe38aa2243059ea859325c006da3964ead69b773429fe049ebb0426e75424d","affectsGlobalScope":true},"d3edb86744e2c19f2c1503849ac7594a5e06024f2451bacae032390f2e20314a",{"version":"e501cbca25bd54f0bcb89c00f092d3cae227e970b93fd76207287fd8110b123d","affectsGlobalScope":true},{"version":"8a3e61347b8f80aa5af532094498bceb0c0b257b25a6aa8ab4880fd6ed57c95a","affectsGlobalScope":true},"98e00f3613402504bc2a2c9a621800ab48e0a463d1eed062208a4ae98ad8f84c","950f6810f7c80e0cffefcf1bcc6ade3485c94394720e334c3c2be3c16b6922fb","5475df7cfc493a08483c9d7aa61cc04791aecba9d0a2efc213f23c4006d4d3cd","000720870b275764c65e9f28ac97cc9e4d9e4a36942d4750ca8603e416e9c57c",{"version":"54412c70bacb9ed547ed6caae8836f712a83ccf58d94466f3387447ec4e82dc3","affectsGlobalScope":true},{"version":"e74e7b0baa7a24f073080091427d36a75836d584b9393e6ac2b1daf1647fe65a","affectsGlobalScope":true},"4c48e931a72f6971b5add7fdb1136be1d617f124594e94595f7114af749395e0","478eb5c32250678a906d91e0529c70243fc4d75477a08f3da408e2615396f558","e686a88c9ee004c8ba12ffc9d674ca3192a4c50ed0ca6bd5b2825c289e2b2bfe",{"version":"0d27932df2fbc3728e78b98892540e24084424ce12d3bd32f62a23cf307f411f","affectsGlobalScope":true},"4423fb3d6abe6eefb8d7f79eb2df9510824a216ec1c6feee46718c9b18e6d89f",{"version":"ab9b9a36e5284fd8d3bf2f7d5fcbc60052f25f27e4d20954782099282c60d23e","affectsGlobalScope":true},"01c47d1c006b3a15b51d89d7764fff7e4fabc4e412b3a61ee5357bd74b822879","c663a7e4ee2cb54d99cf095479a5bcf1dd18d762ffdfa038aa1b2d79b070b0d7","5463c98206a890ea7a759fbcc97b0c042ab1a740b3e24037f7fbf40bae70a3c5",{"version":"d6b10c26a79e4a5279a89103fcb895efee984b816f4279fa63937f66959dd062","signature":"2467a90b050241d2d8c9f63d86ff92422df9338b31cfa50be881f732f431e604"},{"version":"8b1ff9ccd34be40dcda7dcfc83819baa4c7ebf5ce3df3f636f946881de83de74","signature":"18a534f034fbfae93f07df2888b6f1989c17d5bb64ae8abd04ac1abfe882e398"},{"version":"8d814e3e7c47be9f5ac16f8cc9aab5c4e2d5b9dd084d46bb0b28f40ec1be5d7b","signature":"8211eeec7cb8f7b3605df9b4fec52960d4b6f9bce9435ce50e7fd94f143640d4"},{"version":"77b3667a04dcec1bbf3d5958cdd117e58ea93543370e019d5d2f313b33475d76","signature":"1633b84fd3346ad6500a88e7a119ac778bb6f6b2746a3b7b8164c5ef2721822f"},{"version":"78ff8d9c2ba3e5c23c66df3250610f3ab73086ae2f1795dca45280c558e772ad","signature":"487f7ccc7eed3378abe19ae3c149f799b13302a7b01803299bfce47458e6fb50"},{"version":"813aef3c48ba035ef86423017092460ca5cc552336f0519f71417c0e02d57c48","signature":"de47457474d7e0c031a66c92c6809813beced704dcff00b327252dbfbd735246"},"485ae32287d8df9e74f68a9dc96c9211a7cfe8b302717043a988a40d930330d2","841f7ca2af7f4d9cca1f9fa2288a4849fc9d49ca15b47336892efd06a14dd1d8","796eea44840b57d4c6741d119d767c5ea294fdf610151158fd0a2f236cf21367","ede411049b43adefd22786bd3a806a1cabf2463f74e6a2dba1963642cff0ca1e",{"version":"3ced32859ef1908d33702c48b1f5e7785176fceeceb7f6742ab50d0f586f945d","signature":"47fbed5e984278b46c60b87df76e63d4ea31bf80f29d49cbfb5cd140dd8e0a6e"},{"version":"229f75b6cddd3679ba24d805cfe3ca37639b50fcf2ce9c3470e9515c300e5583","signature":"58aa2c2157a9620698ca6280d24143dc332221cf0008c0af1c99d74494785989"},{"version":"bcd646b1cf077257f27c6387fc47a4f5f0d364a282c2668f070372c0881ceeaf","signature":"4d00cb0cbfca5ad8ceaee993887e618bada234de55a9bbc2adc33192ae57f4c4"},{"version":"6a9eb9c5d3f7474937973fe4b0a9e53025634c2e39118eda436d89f3e9df976f","affectsGlobalScope":true},{"version":"86e56d97b13ef0a58bc9c59aee782ae7d47d63802b5b32129ec5e5d62c20dbfa","affectsGlobalScope":true},{"version":"c1f79c6d85cd84518fd7349588b3c61bdc189f58e3866f925cbf4631c81e31f9","affectsGlobalScope":true},{"version":"54db406753da16e177f094aa66da79840f447de6d87ddd1543a80c9418c52545","affectsGlobalScope":true},{"version":"42f28f4cfca4a70bd89c1d55d76c7978275030b894f6793f36890265c11a83a4","affectsGlobalScope":true},{"version":"7cf1027da9599f056355b46bbea31dbf7f715f797dffb9cbb3402d4490c503e5","affectsGlobalScope":true},"96dbd0787b57ae02981d26d5f2441f0f8444fb46d7578c56527eab89cff13a7d",{"version":"a4f3216e3344157d3c3221bc75eeb509f0570e5a07a9d77a0138c9c8524a11e7","signature":"e0a5e1d0a21126716c6561a24e50810c24e63a549cb06d96d6cb675512c1b31c"},{"version":"8a54db2a8b7bfa3a68970b795708c982b45f76165538e8938a1fbdd7dbcd19f9","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},"5bca2169d85cde638dc45542bb3674c42e5a0eea70ac2737cb48848a0c9e10b4","48d887068d506cf9fc97a6d0e8f60dc53439edac36263b0ec6e01502dbbffc52","b1129d7c114eba7c7b155dc809d6371ef86a0738f7ca93b3efef9b796d6168d9","56558ae167446acf230ea2cc072a835309a37ae63d286b484308afd8c504c2d6",{"version":"abd063f8a03ad2888fb894c63c2bc9c91178c9d82a01325e7165ddf0636d81c7","signature":"336e4501c7d103776d3666e631ae3fa88d7e3d4435772da4b962fe2930c4cdd8"},{"version":"b5008d10c2de89d2856e1adb189d1e7ade03c99ef0f26548fc6591aacf69d075","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"27ece4a50c50091904515b65b2312455ca83d46595f376d829bebbca4c3a9f13","signature":"d44159b9ee3018b60e80fd577633a4e1ee533c89f1b1042ceba9e41b655baaf1"},"22c980472aeac42a88c7954c9645c5cf0c511142afd048699daf516b25f9ea2d","aabcb267f8a73a9923157af617c47e2d707481760e60967dfa836613e2b7433b","1571f35df4f2a4b83c321fda357626c289d86dbf88a2c222cda192e747c1e42d","d2b72d643d4b2b9c659f811341341acaa47557b9cee8ababe606b83146d84ee7",{"version":"0e8ea01ba86ef72b016946c3ea8a889886d106703b7c69da07fbda59680e19ff","signature":"ef8a8ab34e45e09e63c4fe13ebe87995bfb8e36a5e06346bce529d5123ec3fad"},{"version":"75dc9ac75407533765ffe76d008214335b0dcb3ecb3a269cbb435e11d512726b","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},"687ec53a7422d8cf80477fffa82a2db211f724039267931642befcd4907aec26",{"version":"54bc6f45ee0e57dc5724c2e1b3b6b0055c002ee819966d4f561158b82b0f8ca7","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},"4ef576c5a52f34423f6328a6834c6fc874c6683a0626c0f21d6b2209f460dffd","7b195dbf43d2194d18627fe3e190979b5bd2f0752001193260c89b01c36460e2","7350c835566c20d980134ad870a072daa93754c6b65d602a46f2bc2e2ae12165","ee9b614565fe2e96c3202c092ea4e4bc902f51d1508bf8015d8f2275686ab040","f6f278c43d4e70fe1abb2c826a0b1c1ea7c4f6ff50b272aacdda3b39c51f4d61",{"version":"507c17c9560d122d5a84b1a9c445f1dda6bab818e816490c92cae62cc85e177a","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"6fdcba0554752fe51578f0fadbbfa35ed5d3687ca9d48d533dfd49356879ea49","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},"42baf4ca38c38deaf411ea73f37bc39ff56c6e5c761a968b64ac1b25c92b5cd8","d7dbe0ad36bdca8a6ecf143422a48e72cc8927bab7b23a1a2485c2f78a7022c6","8718fa41d7cf4aa91de4e8f164c90f88e0bf343aa92a1b9b725a9c675c64e16b","f992cd6cc0bcbaa4e6c810468c90f2d8595f8c6c3cf050c806397d3de8585562","68cc8d6fcc2f270d7108f02f3ebc59480a54615be3e09a47e14527f349e9d53e","3eb11dbf3489064a47a2e1cf9d261b1f100ef0b3b50ffca6c44dd99d6dd81ac1","bc222163edcb8df6ba9b506d053d6c5afcae50e85695151cf4636a3107deaba9","035a5df183489c2e22f3cf59fc1ed2b043d27f357eecc0eb8d8e840059d44245","f3d8c757e148ad968f0d98697987db363070abada5f503da3c06aefd9d4248c1","96d14f21b7652903852eef49379d04dbda28c16ed36468f8c9fa08f7c14c9538","fec943fdb3275eb6e006b35e04a8e2e99e9adf3f4b969ddf15315ac7575a93e4","89121c1bf2990f5219bfd802a3e7fc557de447c62058d6af68d6b6348d64499a","d4a22007b481fe2a2e6bfd3a42c00cd62d41edb36d30fc4697df2692e9891fc8","8841e2aa774b89bd23302dede20663306dc1b9902431ac64b24be8b8d0e3f649","fbca5ffaebf282ec3cdac47b0d1d4a138a8b0bb32105251a38acb235087d3318",{"version":"90ebf5865e27d8966ef44b073e6e83b0ddd45058bab1d58b1e4b5a47d36396c4","affectsGlobalScope":true},"cb482592bfcbdfcefa8d155590399e8bff66277e60e17bfada7c2f31322e7b87","22293bd6fa12747929f8dfca3ec1684a3fe08638aa18023dd286ab337e88a592","916be7d770b0ae0406be9486ac12eb9825f21514961dd050594c4b250617d5a8","510616459e6edd01acbce333fb256e06bdffdad43ca233a9090164bf8bb83912","cf3d384d082b933d987c4e2fe7bfb8710adfd9dc8155190056ed6695a25a559e","9871b7ee672bc16c78833bdab3052615834b08375cb144e4d2cba74473f4a589","c863198dae89420f3c552b5a03da6ed6d0acfa3807a64772b895db624b0de707","8b03a5e327d7db67112ebbc93b4f744133eda2c1743dbb0a990c61a8007823ef","86c73f2ee1752bac8eeeece234fd05dfcf0637a4fbd8032e4f5f43102faa8eec","42fad1f540271e35ca37cecda12c4ce2eef27f0f5cf0f8dd761d723c744d3159","ff3743a5de32bee10906aff63d1de726f6a7fd6ee2da4b8229054dfa69de2c34","83acd370f7f84f203e71ebba33ba61b7f1291ca027d7f9a662c6307d74e4ac22","1445cec898f90bdd18b2949b9590b3c012f5b7e1804e6e329fb0fe053946d5ec","0e5318ec2275d8da858b541920d9306650ae6ac8012f0e872fe66eb50321a669","cf530297c3fb3a92ec9591dd4fa229d58b5981e45fe6702a0bd2bea53a5e59be","c1f6f7d08d42148ddfe164d36d7aba91f467dbcb3caa715966ff95f55048b3a4","f4e9bf9103191ef3b3612d3ec0044ca4044ca5be27711fe648ada06fad4bcc85","0c1ee27b8f6a00097c2d6d91a21ee4d096ab52c1e28350f6362542b55380059a","7677d5b0db9e020d3017720f853ba18f415219fb3a9597343b1b1012cfd699f7","bc1c6bc119c1784b1a2be6d9c47addec0d83ef0d52c8fbe1f14a51b4dfffc675","52cf2ce99c2a23de70225e252e9822a22b4e0adb82643ab0b710858810e00bf1","770625067bb27a20b9826255a8d47b6b5b0a2d3dfcbd21f89904c731f671ba77","d1ed6765f4d7906a05968fb5cd6d1db8afa14dbe512a4884e8ea5c0f5e142c80","799c0f1b07c092626cf1efd71d459997635911bb5f7fc1196efe449bba87e965","2a184e4462b9914a30b1b5c41cf80c6d3428f17b20d3afb711fff3f0644001fd","9eabde32a3aa5d80de34af2c2206cdc3ee094c6504a8d0c2d6d20c7c179503cc","397c8051b6cfcb48aa22656f0faca2553c5f56187262135162ee79d2b2f6c966","a8ead142e0c87dcd5dc130eba1f8eeed506b08952d905c47621dc2f583b1bff9","a02f10ea5f73130efca046429254a4e3c06b5475baecc8f7b99a0014731be8b3","c2576a4083232b0e2d9bd06875dd43d371dee2e090325a9eac0133fd5650c1cb","4c9a0564bb317349de6a24eb4efea8bb79898fa72ad63a1809165f5bd42970dd","f40ac11d8859092d20f953aae14ba967282c3bb056431a37fced1866ec7a2681","cc11e9e79d4746cc59e0e17473a59d6f104692fd0eeea1bdb2e206eabed83b03","b444a410d34fb5e98aa5ee2b381362044f4884652e8bc8a11c8fe14bbd85518e","c35808c1f5e16d2c571aa65067e3cb95afeff843b259ecfa2fc107a9519b5392","14d5dc055143e941c8743c6a21fa459f961cbc3deedf1bfe47b11587ca4b3ef5","a3ad4e1fc542751005267d50a6298e6765928c0c3a8dce1572f2ba6ca518661c","f237e7c97a3a89f4591afd49ecb3bd8d14f51a1c4adc8fcae3430febedff5eb6","3ffdfbec93b7aed71082af62b8c3e0cc71261cc68d796665faa1e91604fbae8f","662201f943ed45b1ad600d03a90dffe20841e725203ced8b708c91fcd7f9379a","c9ef74c64ed051ea5b958621e7fb853fe3b56e8787c1587aefc6ea988b3c7e79","2462ccfac5f3375794b861abaa81da380f1bbd9401de59ffa43119a0b644253d","34baf65cfee92f110d6653322e2120c2d368ee64b3c7981dff08ed105c4f19b0","7d8ddf0f021c53099e34ee831a06c394d50371816caa98684812f089b4c6b3d4","4006c872e38a2c4e09c593bc0cdd32b7b4f5c4843910bea0def631c483fff6c5","ab6aa3a65d473871ee093e3b7b71ed0f9c69e07d1d4295f45c9efd91a771241d","bae8d023ef6b23df7da26f51cea44321f95817c190342a36882e93b80d07a960","26a770cec4bd2e7dbba95c6e536390fffe83c6268b78974a93727903b515c4e7","74d5a87c3616cd5d8691059d531504403aa857e09cbaecb1c64dfb9ace0db185"],"root":[[200,205],[210,212],220,221,[226,228],233,234,236,242,243],"options":{"allowJs":true,"checkJs":true,"composite":true,"declaration":true,"declarationMap":true,"emitDeclarationOnly":false,"esModuleInterop":true,"module":7,"noEmitOnError":true,"outDir":"./","removeComments":false,"skipLibCheck":true,"sourceMap":true,"strict":true,"stripInternal":true,"target":9},"fileIdsList":[[240],[238,239],[238],[237],[199,222],[70,72,83,84,199],[72,82,84],[70,72,82,83,199],[69,85,199],[158,197],[71,72,77,82,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,101,102,103,198],[67,69,70],[84],[85,87],[67,69,71],[72,82],[72,85,199],[71,72,82],[70,71,72,84,87,100],[70,71],[70,83,84,199],[72,84],[77,82,84,87,94,199],[199],[199,231],[70],[70,83,199,229,230,232],[70,199,208,229],[70,83,199,207],[76,77],[76],[74,75,78],[82],[73,78,80,81],[78,80,82],[79,82],[158,161,189,197,244,245,246],[213],[248],[197],[255],[104],[145],[146,151,181],[147,152,158,159,166,178,189],[147,148,158,166],[149,190],[150,151,159,167],[151,178,186],[152,154,158,166],[145,153],[154,155],[158],[156,158],[145,158],[158,159,160,178,189],[158,159,160,173,178,181],[143,194],[143,154,158,161,166,178,189],[158,159,161,162,166,178,186,189],[161,163,178,186,189],[104,105,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196],[158,164],[165,189,194],[154,158,166,178],[167],[168],[145,169],[104,105,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195],[171],[172],[158,173,174],[173,175,190,192],[146,158,178,179,180,181],[146,178,180],[178,179],[181],[182],[104,178],[158,184,185],[184,185],[151,166,178,186],[187],[166,188],[146,161,172,189],[151,190],[178,191],[165,192],[193],[146,151,158,160,169,178,189,192,194],[178,195],[161,178,197],[264,303],[264,288,303],[303],[264],[264,289,303],[264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302],[289,303],[306],[158,178,197],[213,214,215,216,217,218],[213,214],[83],[68,69],[68],[65,66,67],[115,119,189],[115,178,189],[110],[112,115,186,189],[166,186],[110,197],[112,115,166,189],[107,108,111,114,146,158,178,189],[115,122],[107,113],[115,136,137],[111,115,146,181,189,197],[146,197],[136,146,197],[109,110,197],[115],[109,110,111,112,113,114,115,116,117,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,137,138,139,140,141,142],[115,130],[115,122,123],[113,115,123,124],[114],[107,110,115],[115,119,123,124],[119],[113,115,118,189],[107,112,115,122],[146,178],[110,115,136,146,194,197],[199,201],[200],[70,83,200,203],[203],[199,203,211],[70,83,100,199,200,201,202,203,204,205,206,210,212],[70,199,200,201,202,203,208,209],[203,204,205,220,241],[225,226,233,235,241],[203,204,205,219,220],[200,203],[207,223,226],[70,100,203,204,205,219,226],[70,83,199,207,224,225,232],[70,219,224,225,226],[70,100,202,203,210,219,225,226,235],[70,83,202,207,211,224,225],[70,83,203],[70,83,100,199,202,203,210,212],[70,199,202,203,208],[83,199],[83,202,211]],"referencedMap":[[241,1],[240,2],[239,3],[238,4],[223,5],[96,6],[97,7],[84,8],[86,9],[198,10],[199,11],[71,12],[88,13],[98,14],[72,15],[85,16],[89,17],[90,18],[101,19],[102,20],[92,13],[94,21],[93,22],[95,23],[207,24],[232,25],[229,26],[231,27],[230,28],[208,29],[78,30],[75,31],[74,31],[76,32],[81,33],[82,34],[73,33],[79,35],[80,36],[247,37],[214,38],[218,38],[216,38],[249,39],[250,40],[254,10],[256,41],[104,42],[105,42],[145,43],[146,44],[147,45],[148,46],[149,47],[150,48],[151,49],[152,50],[153,51],[154,52],[155,52],[157,53],[156,54],[158,55],[159,56],[160,57],[144,58],[161,59],[162,60],[163,61],[197,62],[164,63],[165,64],[166,65],[167,66],[168,67],[169,68],[170,69],[171,70],[172,71],[173,72],[174,72],[175,73],[178,74],[180,75],[179,76],[181,77],[182,78],[183,79],[184,80],[185,81],[186,82],[187,83],[188,84],[189,85],[190,86],[191,87],[192,88],[193,89],[194,90],[195,91],[246,92],[288,93],[289,94],[264,95],[267,95],[286,93],[287,93],[277,93],[276,96],[274,93],[269,93],[282,93],[280,93],[284,93],[268,93],[281,93],[285,93],[270,93],[271,93],[283,93],[265,93],[272,93],[273,93],[275,93],[279,93],[290,97],[278,93],[266,93],[303,98],[297,97],[299,99],[298,97],[291,97],[292,97],[294,97],[296,97],[300,99],[301,99],[293,99],[295,99],[307,100],[308,101],[219,102],[217,38],[215,103],[224,104],[225,104],[244,53],[66,105],[69,106],[68,107],[122,108],[132,109],[121,108],[142,110],[113,111],[112,112],[141,40],[135,113],[140,114],[115,115],[129,116],[114,117],[138,118],[110,119],[109,120],[139,121],[111,122],[116,123],[120,123],[143,124],[133,125],[124,126],[125,127],[127,128],[123,129],[126,130],[136,40],[118,131],[119,132],[128,133],[108,134],[131,125],[130,123],[137,135],[202,136],[201,137],[204,138],[205,139],[212,140],[211,141],[210,142],[242,143],[243,144],[221,145],[220,146],[227,147],[228,148],[233,149],[234,150],[236,151],[226,152]],"exportedModulesMap":[[241,1],[240,2],[239,3],[238,4],[223,5],[96,6],[97,7],[84,8],[86,9],[198,10],[199,11],[71,12],[88,13],[98,14],[72,15],[85,16],[89,17],[90,18],[101,19],[102,20],[92,13],[94,21],[93,22],[95,23],[207,24],[232,25],[229,26],[231,27],[230,28],[208,29],[78,30],[75,31],[74,31],[76,32],[81,33],[82,34],[73,33],[79,35],[80,36],[247,37],[214,38],[218,38],[216,38],[249,39],[250,40],[254,10],[256,41],[104,42],[105,42],[145,43],[146,44],[147,45],[148,46],[149,47],[150,48],[151,49],[152,50],[153,51],[154,52],[155,52],[157,53],[156,54],[158,55],[159,56],[160,57],[144,58],[161,59],[162,60],[163,61],[197,62],[164,63],[165,64],[166,65],[167,66],[168,67],[169,68],[170,69],[171,70],[172,71],[173,72],[174,72],[175,73],[178,74],[180,75],[179,76],[181,77],[182,78],[183,79],[184,80],[185,81],[186,82],[187,83],[188,84],[189,85],[190,86],[191,87],[192,88],[193,89],[194,90],[195,91],[246,92],[288,93],[289,94],[264,95],[267,95],[286,93],[287,93],[277,93],[276,96],[274,93],[269,93],[282,93],[280,93],[284,93],[268,93],[281,93],[285,93],[270,93],[271,93],[283,93],[265,93],[272,93],[273,93],[275,93],[279,93],[290,97],[278,93],[266,93],[303,98],[297,97],[299,99],[298,97],[291,97],[292,97],[294,97],[296,97],[300,99],[301,99],[293,99],[295,99],[307,100],[308,101],[219,102],[217,38],[215,103],[224,104],[225,104],[244,53],[66,105],[69,106],[68,107],[122,108],[132,109],[121,108],[142,110],[113,111],[112,112],[141,40],[135,113],[140,114],[115,115],[129,116],[114,117],[138,118],[110,119],[109,120],[139,121],[111,122],[116,123],[120,123],[143,124],[133,125],[124,126],[125,127],[127,128],[123,129],[126,130],[136,40],[118,131],[119,132],[128,133],[108,134],[131,125],[130,123],[137,135],[204,153],[205,139],[212,140],[211,154],[210,155],[220,139],[233,156],[226,157]],"semanticDiagnosticsPerFile":[241,240,239,238,237,222,223,96,97,84,86,103,87,198,199,71,88,98,72,85,89,90,99,101,102,91,92,94,93,95,207,232,229,231,230,208,78,75,74,76,81,82,73,79,80,247,214,218,216,213,249,250,245,251,252,253,254,256,257,258,259,248,260,104,105,145,146,147,148,149,150,151,152,153,154,155,157,156,158,159,160,144,196,161,162,163,197,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,180,179,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,261,262,246,263,288,289,264,267,286,287,277,276,274,269,282,280,284,268,281,285,270,271,283,265,272,273,275,279,290,278,266,303,302,297,299,298,291,292,294,296,300,301,293,295,304,305,255,306,307,308,219,106,217,215,206,235,209,224,225,100,83,244,65,66,69,67,68,77,63,64,11,12,15,14,2,16,17,18,19,20,21,22,23,3,24,4,25,29,26,27,28,30,31,32,5,33,34,35,36,6,40,37,38,39,41,7,42,47,48,43,44,45,46,8,52,49,50,51,53,9,54,55,56,59,57,58,60,61,10,1,62,13,70,122,132,121,142,113,112,141,135,140,115,129,114,138,110,109,139,111,116,117,120,107,143,133,124,125,127,123,126,136,118,119,128,108,131,130,134,137,202,201,204,205,200,203,212,211,210,242,243,221,220,227,228,233,234,236,226],"latestChangedDtsFile":"./src/errors.d.ts"},"version":"5.4.5"} +\ No newline at end of file +diff --git a/node_modules/@chainsafe/libp2p-yamux/dist/typedoc-urls.json b/node_modules/@chainsafe/libp2p-yamux/dist/typedoc-urls.json +deleted file mode 100644 +index 21b4891..0000000 +--- a/node_modules/@chainsafe/libp2p-yamux/dist/typedoc-urls.json ++++ /dev/null +@@ -1,22 +0,0 @@ +-{ +- "Config": "https://ChainSafe.github.io/js-libp2p-yamux/interfaces/config.Config.html", +- "./config:Config": "https://ChainSafe.github.io/js-libp2p-yamux/interfaces/config.Config.html", +- "defaultConfig": "https://ChainSafe.github.io/js-libp2p-yamux/variables/config.defaultConfig.html", +- "./config:defaultConfig": "https://ChainSafe.github.io/js-libp2p-yamux/variables/config.defaultConfig.html", +- "verifyConfig": "https://ChainSafe.github.io/js-libp2p-yamux/functions/config.verifyConfig.html", +- "./config:verifyConfig": "https://ChainSafe.github.io/js-libp2p-yamux/functions/config.verifyConfig.html", +- "FrameType": "https://ChainSafe.github.io/js-libp2p-yamux/enums/index.FrameType.html", +- "GoAwayCode": "https://ChainSafe.github.io/js-libp2p-yamux/enums/index.GoAwayCode.html", +- "FrameHeader": "https://ChainSafe.github.io/js-libp2p-yamux/interfaces/index.FrameHeader.html", +- "YamuxMuxerComponents": "https://ChainSafe.github.io/js-libp2p-yamux/interfaces/index.YamuxMuxerComponents.html", +- ".:YamuxMuxerComponents": "https://ChainSafe.github.io/js-libp2p-yamux/interfaces/index.YamuxMuxerComponents.html", +- "YamuxMuxerInit": "https://ChainSafe.github.io/js-libp2p-yamux/interfaces/index.YamuxMuxerInit.html", +- "yamux": "https://ChainSafe.github.io/js-libp2p-yamux/functions/index.yamux.html", +- ".:yamux": "https://ChainSafe.github.io/js-libp2p-yamux/functions/index.yamux.html", +- "StreamState": "https://ChainSafe.github.io/js-libp2p-yamux/enums/stream.StreamState.html", +- "./stream:StreamState": "https://ChainSafe.github.io/js-libp2p-yamux/enums/stream.StreamState.html", +- "YamuxStream": "https://ChainSafe.github.io/js-libp2p-yamux/classes/stream.YamuxStream.html", +- "./stream:YamuxStream": "https://ChainSafe.github.io/js-libp2p-yamux/classes/stream.YamuxStream.html", +- "YamuxStreamInit": "https://ChainSafe.github.io/js-libp2p-yamux/interfaces/stream.YamuxStreamInit.html", +- "./stream:YamuxStreamInit": "https://ChainSafe.github.io/js-libp2p-yamux/interfaces/stream.YamuxStreamInit.html" +-} +\ No newline at end of file +diff --git a/node_modules/@chainsafe/libp2p-yamux/src/config.ts b/node_modules/@chainsafe/libp2p-yamux/src/config.ts +index 62fd092..2cd9c54 100644 +--- a/node_modules/@chainsafe/libp2p-yamux/src/config.ts ++++ b/node_modules/@chainsafe/libp2p-yamux/src/config.ts +@@ -1,5 +1,5 @@ +-import { CodeError } from '@libp2p/interface' +-import { ERR_INVALID_CONFIG, INITIAL_STREAM_WINDOW, MAX_STREAM_WINDOW } from './constants.js' ++import { InvalidParametersError } from '@libp2p/interface' ++import { INITIAL_STREAM_WINDOW, MAX_STREAM_WINDOW } from './constants.js' + + // TOOD use config items or delete them + export interface Config { +@@ -58,24 +58,24 @@ export const defaultConfig: Config = { + + export function verifyConfig (config: Config): void { + if (config.keepAliveInterval <= 0) { +- throw new CodeError('keep-alive interval must be positive', ERR_INVALID_CONFIG) ++ throw new InvalidParametersError('keep-alive interval must be positive') + } + if (config.maxInboundStreams < 0) { +- throw new CodeError('max inbound streams must be larger or equal 0', ERR_INVALID_CONFIG) ++ throw new InvalidParametersError('max inbound streams must be larger or equal 0') + } + if (config.maxOutboundStreams < 0) { +- throw new CodeError('max outbound streams must be larger or equal 0', ERR_INVALID_CONFIG) ++ throw new InvalidParametersError('max outbound streams must be larger or equal 0') + } + if (config.initialStreamWindowSize < INITIAL_STREAM_WINDOW) { +- throw new CodeError('InitialStreamWindowSize must be larger or equal 256 kB', ERR_INVALID_CONFIG) ++ throw new InvalidParametersError('InitialStreamWindowSize must be larger or equal 256 kB') + } + if (config.maxStreamWindowSize < config.initialStreamWindowSize) { +- throw new CodeError('MaxStreamWindowSize must be larger than the InitialStreamWindowSize', ERR_INVALID_CONFIG) ++ throw new InvalidParametersError('MaxStreamWindowSize must be larger than the InitialStreamWindowSize') + } + if (config.maxStreamWindowSize > 2 ** 32 - 1) { +- throw new CodeError('MaxStreamWindowSize must be less than equal MAX_UINT32', ERR_INVALID_CONFIG) ++ throw new InvalidParametersError('MaxStreamWindowSize must be less than equal MAX_UINT32') + } + if (config.maxMessageSize < 1024) { +- throw new CodeError('MaxMessageSize must be greater than a kilobyte', ERR_INVALID_CONFIG) ++ throw new InvalidParametersError('MaxMessageSize must be greater than a kilobyte') + } + } +diff --git a/node_modules/@chainsafe/libp2p-yamux/src/constants.ts b/node_modules/@chainsafe/libp2p-yamux/src/constants.ts +index d288300..546b38f 100644 +--- a/node_modules/@chainsafe/libp2p-yamux/src/constants.ts ++++ b/node_modules/@chainsafe/libp2p-yamux/src/constants.ts +@@ -1,33 +1,17 @@ + // Protocol violation errors + +-export const ERR_INVALID_FRAME = 'ERR_INVALID_FRAME' +-export const ERR_UNREQUESTED_PING = 'ERR_UNREQUESTED_PING' +-export const ERR_NOT_MATCHING_PING = 'ERR_NOT_MATCHING_PING' +-export const ERR_STREAM_ALREADY_EXISTS = 'ERR_STREAM_ALREADY_EXISTS' +-export const ERR_DECODE_INVALID_VERSION = 'ERR_DECODE_INVALID_VERSION' +-export const ERR_BOTH_CLIENTS = 'ERR_BOTH_CLIENTS' +-export const ERR_RECV_WINDOW_EXCEEDED = 'ERR_RECV_WINDOW_EXCEEDED' ++import { BothClientsError, DecodeInvalidVersionError, InvalidFrameError, NotMatchingPingError, ReceiveWindowExceededError, StreamAlreadyExistsError, UnrequestedPingError } from './errors.js' + + export const PROTOCOL_ERRORS = new Set([ +- ERR_INVALID_FRAME, +- ERR_UNREQUESTED_PING, +- ERR_NOT_MATCHING_PING, +- ERR_STREAM_ALREADY_EXISTS, +- ERR_DECODE_INVALID_VERSION, +- ERR_BOTH_CLIENTS, +- ERR_RECV_WINDOW_EXCEEDED ++ InvalidFrameError.name, ++ UnrequestedPingError.name, ++ NotMatchingPingError.name, ++ StreamAlreadyExistsError.name, ++ DecodeInvalidVersionError.name, ++ BothClientsError.name, ++ ReceiveWindowExceededError.name + ]) + +-// local errors +- +-export const ERR_INVALID_CONFIG = 'ERR_INVALID_CONFIG' +-export const ERR_MUXER_LOCAL_CLOSED = 'ERR_MUXER_LOCAL_CLOSED' +-export const ERR_MUXER_REMOTE_CLOSED = 'ERR_MUXER_REMOTE_CLOSED' +-export const ERR_STREAM_RESET = 'ERR_STREAM_RESET' +-export const ERR_STREAM_ABORT = 'ERR_STREAM_ABORT' +-export const ERR_MAX_OUTBOUND_STREAMS_EXCEEDED = 'ERROR_MAX_OUTBOUND_STREAMS_EXCEEDED' +-export const ERR_DECODE_IN_PROGRESS = 'ERR_DECODE_IN_PROGRESS' +- + /** + * INITIAL_STREAM_WINDOW is the initial stream window size. + * +diff --git a/node_modules/@chainsafe/libp2p-yamux/src/decode.ts b/node_modules/@chainsafe/libp2p-yamux/src/decode.ts +index 56440b9..dccb75d 100644 +--- a/node_modules/@chainsafe/libp2p-yamux/src/decode.ts ++++ b/node_modules/@chainsafe/libp2p-yamux/src/decode.ts +@@ -1,6 +1,5 @@ +-import { CodeError } from '@libp2p/interface' + import { Uint8ArrayList } from 'uint8arraylist' +-import { ERR_DECODE_INVALID_VERSION, ERR_DECODE_IN_PROGRESS } from './constants.js' ++import { InvalidFrameError, InvalidStateError } from './errors.js' + import { type FrameHeader, FrameType, HEADER_LENGTH, YAMUX_VERSION } from './frame.js' + import type { Source } from 'it-stream-types' + +@@ -15,7 +14,7 @@ const twoPow24 = 2 ** 24 + */ + export function decodeHeader (data: Uint8Array): FrameHeader { + if (data[0] !== YAMUX_VERSION) { +- throw new CodeError('Invalid frame version', ERR_DECODE_INVALID_VERSION) ++ throw new InvalidFrameError('Invalid frame version') + } + return { + type: data[1], +@@ -87,7 +86,7 @@ export class Decoder { + // Sanity check to ensure a header isn't read when another frame is partially decoded + // In practice this shouldn't happen + if (this.frameInProgress) { +- throw new CodeError('decoding frame already in progress', ERR_DECODE_IN_PROGRESS) ++ throw new InvalidStateError('decoding frame already in progress') + } + + if (this.buffer.length < HEADER_LENGTH) { +diff --git a/node_modules/@chainsafe/libp2p-yamux/src/errors.ts b/node_modules/@chainsafe/libp2p-yamux/src/errors.ts +new file mode 100644 +index 0000000..acf0bbd +--- /dev/null ++++ b/node_modules/@chainsafe/libp2p-yamux/src/errors.ts +@@ -0,0 +1,71 @@ ++export class InvalidFrameError extends Error { ++ static name = 'InvalidFrameError' ++ ++ constructor (message = 'The frame was invalid') { ++ super(message) ++ this.name = 'InvalidFrameError' ++ } ++} ++ ++export class UnrequestedPingError extends Error { ++ static name = 'UnrequestedPingError' ++ ++ constructor (message = 'Unrequested ping error') { ++ super(message) ++ this.name = 'UnrequestedPingError' ++ } ++} ++ ++export class NotMatchingPingError extends Error { ++ static name = 'NotMatchingPingError' ++ ++ constructor (message = 'Unrequested ping error') { ++ super(message) ++ this.name = 'NotMatchingPingError' ++ } ++} ++ ++export class InvalidStateError extends Error { ++ static name = 'InvalidStateError' ++ ++ constructor (message = 'Invalid state') { ++ super(message) ++ this.name = 'InvalidStateError' ++ } ++} ++ ++export class StreamAlreadyExistsError extends Error { ++ static name = 'StreamAlreadyExistsError' ++ ++ constructor (message = 'Strean already exists') { ++ super(message) ++ this.name = 'StreamAlreadyExistsError' ++ } ++} ++ ++export class DecodeInvalidVersionError extends Error { ++ static name = 'DecodeInvalidVersionError' ++ ++ constructor (message = 'Decode invalid version') { ++ super(message) ++ this.name = 'DecodeInvalidVersionError' ++ } ++} ++ ++export class BothClientsError extends Error { ++ static name = 'BothClientsError' ++ ++ constructor (message = 'Both clients') { ++ super(message) ++ this.name = 'BothClientsError' ++ } ++} ++ ++export class ReceiveWindowExceededError extends Error { ++ static name = 'ReceiveWindowExceededError' ++ ++ constructor (message = 'Receive window exceeded') { ++ super(message) ++ this.name = 'ReceiveWindowExceededError' ++ } ++} +diff --git a/node_modules/@chainsafe/libp2p-yamux/src/muxer.ts b/node_modules/@chainsafe/libp2p-yamux/src/muxer.ts +index df4e792..adb7ecb 100644 +--- a/node_modules/@chainsafe/libp2p-yamux/src/muxer.ts ++++ b/node_modules/@chainsafe/libp2p-yamux/src/muxer.ts +@@ -1,11 +1,12 @@ +-import { CodeError, setMaxListeners } from '@libp2p/interface' ++import { InvalidParametersError, MuxerClosedError, TooManyOutboundProtocolStreamsError, serviceCapabilities, setMaxListeners } from '@libp2p/interface' + import { getIterator } from 'get-iterator' + import { pushable, type Pushable } from 'it-pushable' + import { Uint8ArrayList } from 'uint8arraylist' + import { type Config, defaultConfig, verifyConfig } from './config.js' +-import { ERR_BOTH_CLIENTS, ERR_INVALID_FRAME, ERR_MAX_OUTBOUND_STREAMS_EXCEEDED, ERR_MUXER_LOCAL_CLOSED, ERR_MUXER_REMOTE_CLOSED, ERR_NOT_MATCHING_PING, ERR_STREAM_ALREADY_EXISTS, ERR_UNREQUESTED_PING, PROTOCOL_ERRORS } from './constants.js' ++import { PROTOCOL_ERRORS } from './constants.js' + import { Decoder } from './decode.js' + import { encodeHeader } from './encode.js' ++import { InvalidFrameError, NotMatchingPingError, UnrequestedPingError } from './errors.js' + import { Flag, type FrameHeader, FrameType, GoAwayCode } from './frame.js' + import { StreamState, YamuxStream } from './stream.js' + import type { YamuxMuxerComponents } from './index.js' +@@ -28,6 +29,12 @@ export class Yamux implements StreamMuxerFactory { + this._init = init + } + ++ readonly [Symbol.toStringTag] = '@chainsafe/libp2p-yamux' ++ ++ readonly [serviceCapabilities]: string[] = [ ++ '@libp2p/stream-multiplexing' ++ ] ++ + createStreamMuxer (init?: YamuxMuxerInit): YamuxMuxer { + return new YamuxMuxer(this._components, { + ...this._init, +@@ -133,10 +140,9 @@ export class YamuxMuxer implements StreamMuxer { + } + + reason = GoAwayCode.NormalTermination +- } catch (err: unknown) { ++ } catch (err: any) { + // either a protocol or internal error +- const errCode = (err as { code: string }).code +- if (PROTOCOL_ERRORS.has(errCode)) { ++ if (PROTOCOL_ERRORS.has(err.name)) { + this.log?.error('protocol error in sink', err) + reason = GoAwayCode.ProtocolError + } else { +@@ -181,10 +187,10 @@ export class YamuxMuxer implements StreamMuxer { + + newStream (name?: string | undefined): YamuxStream { + if (this.remoteGoAway !== undefined) { +- throw new CodeError('muxer closed remotely', ERR_MUXER_REMOTE_CLOSED) ++ throw new MuxerClosedError('Muxer closed remotely') + } + if (this.localGoAway !== undefined) { +- throw new CodeError('muxer closed locally', ERR_MUXER_LOCAL_CLOSED) ++ throw new MuxerClosedError('Muxer closed locally') + } + + const id = this.nextStreamID +@@ -192,7 +198,7 @@ export class YamuxMuxer implements StreamMuxer { + + // check against our configured maximum number of outbound streams + if (this.numOutboundStreams >= this.config.maxOutboundStreams) { +- throw new CodeError('max outbound streams exceeded', ERR_MAX_OUTBOUND_STREAMS_EXCEEDED) ++ throw new TooManyOutboundProtocolStreamsError('max outbound streams exceeded') + } + + this.log?.trace('new outgoing stream id=%s', id) +@@ -218,10 +224,10 @@ export class YamuxMuxer implements StreamMuxer { + */ + async ping (): Promise { + if (this.remoteGoAway !== undefined) { +- throw new CodeError('muxer closed remotely', ERR_MUXER_REMOTE_CLOSED) ++ throw new MuxerClosedError('Muxer closed remotely') + } + if (this.localGoAway !== undefined) { +- throw new CodeError('muxer closed locally', ERR_MUXER_LOCAL_CLOSED) ++ throw new MuxerClosedError('Muxer closed locally') + } + + // An active ping does not yet exist, handle the process here +@@ -233,7 +239,7 @@ export class YamuxMuxer implements StreamMuxer { + // this promise awaits resolution or the close controller aborting + promise: new Promise((resolve, reject) => { + const closed = (): void => { +- reject(new CodeError('muxer closed locally', ERR_MUXER_LOCAL_CLOSED)) ++ reject(new MuxerClosedError('Muxer closed locally')) + } + this.closeController.signal.addEventListener('abort', closed, { once: true }) + _resolve = (): void => { +@@ -351,7 +357,7 @@ export class YamuxMuxer implements StreamMuxer { + /** Create a new stream */ + private _newStream (id: number, name: string | undefined, state: StreamState, direction: 'inbound' | 'outbound'): YamuxStream { + if (this._streams.get(id) != null) { +- throw new CodeError('Stream already exists', ERR_STREAM_ALREADY_EXISTS, { id }) ++ throw new InvalidParametersError('Stream already exists with that id') + } + + const stream = new YamuxStream({ +@@ -422,7 +428,7 @@ export class YamuxMuxer implements StreamMuxer { + { this.handleGoAway(length); return } + default: + // Invalid state +- throw new CodeError('Invalid frame type', ERR_INVALID_FRAME, { header }) ++ throw new InvalidFrameError('Invalid frame type') + } + } else { + switch (header.type) { +@@ -431,7 +437,7 @@ export class YamuxMuxer implements StreamMuxer { + { await this.handleStreamMessage(header, readData); return } + default: + // Invalid state +- throw new CodeError('Invalid frame type', ERR_INVALID_FRAME, { header }) ++ throw new InvalidFrameError('Invalid frame type') + } + } + } +@@ -446,18 +452,18 @@ export class YamuxMuxer implements StreamMuxer { + this.handlePingResponse(header.length) + } else { + // Invalid state +- throw new CodeError('Invalid frame flag', ERR_INVALID_FRAME, { header }) ++ throw new InvalidFrameError('Invalid frame flag') + } + } + + private handlePingResponse (pingId: number): void { + if (this.activePing === undefined) { + // this ping was not requested +- throw new CodeError('ping not requested', ERR_UNREQUESTED_PING) ++ throw new UnrequestedPingError('ping not requested') + } + if (this.activePing.id !== pingId) { + // this ping doesn't match our active ping request +- throw new CodeError('ping doesn\'t match our id', ERR_NOT_MATCHING_PING) ++ throw new NotMatchingPingError('ping doesn\'t match our id') + } + + // valid ping response +@@ -516,7 +522,7 @@ export class YamuxMuxer implements StreamMuxer { + + private incomingStream (id: number): void { + if (this.client !== (id % 2 === 0)) { +- throw new CodeError('both endpoints are clients', ERR_BOTH_CLIENTS) ++ throw new InvalidParametersError('Both endpoints are clients') + } + if (this._streams.has(id)) { + return +@@ -559,7 +565,7 @@ export class YamuxMuxer implements StreamMuxer { + this.log?.trace('sending frame %o', header) + if (header.type === FrameType.Data) { + if (data === undefined) { +- throw new CodeError('invalid frame', ERR_INVALID_FRAME) ++ throw new InvalidFrameError('Invalid frame') + } + this.source.push( + new Uint8ArrayList(encodeHeader(header), data) +diff --git a/node_modules/@chainsafe/libp2p-yamux/src/stream.ts b/node_modules/@chainsafe/libp2p-yamux/src/stream.ts +index 3ebfa8f..7e17922 100644 +--- a/node_modules/@chainsafe/libp2p-yamux/src/stream.ts ++++ b/node_modules/@chainsafe/libp2p-yamux/src/stream.ts +@@ -1,7 +1,8 @@ +-import { CodeError } from '@libp2p/interface' ++import { AbortError } from '@libp2p/interface' + import { AbstractStream, type AbstractStreamInit } from '@libp2p/utils/abstract-stream' + import each from 'it-foreach' +-import { ERR_RECV_WINDOW_EXCEEDED, ERR_STREAM_ABORT, INITIAL_STREAM_WINDOW } from './constants.js' ++import { INITIAL_STREAM_WINDOW } from './constants.js' ++import { ReceiveWindowExceededError } from './errors.js' + import { Flag, type FrameHeader, FrameType, HEADER_LENGTH } from './frame.js' + import type { Config } from './config.js' + import type { AbortOptions } from '@libp2p/interface' +@@ -173,7 +174,7 @@ export class YamuxStream extends AbstractStream { + let reject: (err: Error) => void + const abort = (): void => { + if (this.status === 'open' || this.status === 'closing') { +- reject(new CodeError('stream aborted', ERR_STREAM_ABORT)) ++ reject(new AbortError('Stream aborted')) + } else { + // the stream was closed already, ignore the failure to send + resolve() +@@ -219,7 +220,7 @@ export class YamuxStream extends AbstractStream { + + // check that our recv window is not exceeded + if (this.recvWindowCapacity < header.length) { +- throw new CodeError('receive window exceeded', ERR_RECV_WINDOW_EXCEEDED, { available: this.recvWindowCapacity, recv: header.length }) ++ throw new ReceiveWindowExceededError('Receive window exceeded') + } + + const data = await readData() diff --git a/patches/@libp2p+daemon-client+8.0.6.patch b/patches/@libp2p+daemon-client+8.0.6.patch index 27951daf17..38594023eb 100644 --- a/patches/@libp2p+daemon-client+8.0.6.patch +++ b/patches/@libp2p+daemon-client+8.0.6.patch @@ -1,18 +1,18 @@ diff --git a/node_modules/@libp2p/daemon-client/dist/index.min.js b/node_modules/@libp2p/daemon-client/dist/index.min.js -index 7aa56da..94f2543 100644 +index 7aa56da..82ec293 100644 --- a/node_modules/@libp2p/daemon-client/dist/index.min.js +++ b/node_modules/@libp2p/daemon-client/dist/index.min.js @@ -1,7 +1,30 @@ (function (root, factory) {(typeof module === 'object' && module.exports) ? module.exports = factory() : root.Libp2PDaemonClient = factory()}(typeof self !== 'undefined' ? self : this, function () { -"use strict";var Libp2PDaemonClient=(()=>{var Zi=Object.create;var ce=Object.defineProperty;var qi=Object.getOwnPropertyDescriptor;var ji=Object.getOwnPropertyNames;var to=Object.getPrototypeOf,eo=Object.prototype.hasOwnProperty;var $=(r=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(r,{get:(t,e)=>(typeof require<"u"?require:t)[e]}):r)(function(r){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+r+'" is not supported')});var xt=(r,t)=>()=>(t||r((t={exports:{}}).exports,t),t.exports),H=(r,t)=>{for(var e in t)ce(r,e,{get:t[e],enumerable:!0})},wn=(r,t,e,i)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of ji(t))!eo.call(r,n)&&n!==e&&ce(r,n,{get:()=>t[n],enumerable:!(i=qi(t,n))||i.enumerable});return r};var kt=(r,t,e)=>(e=r!=null?Zi(to(r)):{},wn(t||!r||!r.__esModule?ce(e,"default",{value:r,enumerable:!0}):e,r)),ro=r=>wn(ce({},"__esModule",{value:!0}),r);var Xn=xt((lu,Yn)=>{var $t=1e3,zt=$t*60,Ht=zt*60,Rt=Ht*24,Is=Rt*7,As=Rt*365.25;Yn.exports=function(r,t){t=t||{};var e=typeof r;if(e==="string"&&r.length>0)return Cs(r);if(e==="number"&&isFinite(r))return t.long?vs(r):Ts(r);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(r))};function Cs(r){if(r=String(r),!(r.length>100)){var t=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(r);if(t){var e=parseFloat(t[1]),i=(t[2]||"ms").toLowerCase();switch(i){case"years":case"year":case"yrs":case"yr":case"y":return e*As;case"weeks":case"week":case"w":return e*Is;case"days":case"day":case"d":return e*Rt;case"hours":case"hour":case"hrs":case"hr":case"h":return e*Ht;case"minutes":case"minute":case"mins":case"min":case"m":return e*zt;case"seconds":case"second":case"secs":case"sec":case"s":return e*$t;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return e;default:return}}}}function Ts(r){var t=Math.abs(r);return t>=Rt?Math.round(r/Rt)+"d":t>=Ht?Math.round(r/Ht)+"h":t>=zt?Math.round(r/zt)+"m":t>=$t?Math.round(r/$t)+"s":r+"ms"}function vs(r){var t=Math.abs(r);return t>=Rt?Te(r,t,Rt,"day"):t>=Ht?Te(r,t,Ht,"hour"):t>=zt?Te(r,t,zt,"minute"):t>=$t?Te(r,t,$t,"second"):r+" ms"}function Te(r,t,e,i){var n=t>=e*1.5;return Math.round(r/e)+" "+i+(n?"s":"")}});var Br=xt((du,Jn)=>{function Ss(r){e.debug=e,e.default=e,e.coerce=a,e.disable=o,e.enable=n,e.enabled=s,e.humanize=Xn(),e.destroy=g,Object.keys(r).forEach(u=>{e[u]=r[u]}),e.names=[],e.skips=[],e.formatters={};function t(u){let l=0;for(let m=0;m{if(J==="%%")return"%";O++;let Q=e.formatters[z];if(typeof Q=="function"){let Ot=I[O];J=Q.call(E,Ot),I.splice(O,1),O--}return J}),e.formatArgs.call(E,I),(E.log||e.log).apply(E,I)}return w.namespace=u,w.useColors=e.useColors(),w.color=e.selectColor(u),w.extend=i,w.destroy=e.destroy,Object.defineProperty(w,"enabled",{enumerable:!0,configurable:!1,get:()=>m!==null?m:(y!==e.namespaces&&(y=e.namespaces,p=e.enabled(u)),p),set:I=>{m=I}}),typeof e.init=="function"&&e.init(w),w}function i(u,l){let m=e(this.namespace+(typeof l>"u"?":":l)+u);return m.log=this.log,m}function n(u){e.save(u),e.namespaces=u,e.names=[],e.skips=[];let l,m=(typeof u=="string"?u:"").split(/[\s,]+/),y=m.length;for(l=0;l"-"+l)].join(",");return e.enable(""),u}function s(u){if(u[u.length-1]==="*")return!0;let l,m;for(l=0,m=e.skips.length;l{W.formatArgs=Ds;W.save=Ls;W.load=Ns;W.useColors=Rs;W.storage=_s();W.destroy=(()=>{let r=!1;return()=>{r||(r=!0,console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."))}})();W.colors=["#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 Rs(){if(typeof window<"u"&&window.process&&(window.process.type==="renderer"||window.process.__nwjs))return!0;if(typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/))return!1;let r;return typeof document<"u"&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||typeof window<"u"&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||typeof navigator<"u"&&navigator.userAgent&&(r=navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/))&&parseInt(r[1],10)>=31||typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)}function Ds(r){if(r[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+r[0]+(this.useColors?"%c ":" ")+"+"+ve.exports.humanize(this.diff),!this.useColors)return;let t="color: "+this.color;r.splice(1,0,t,"color: inherit");let e=0,i=0;r[0].replace(/%[a-zA-Z%]/g,n=>{n!=="%%"&&(e++,n==="%c"&&(i=e))}),r.splice(i,0,t)}W.log=console.debug||console.log||(()=>{});function Ls(r){try{r?W.storage.setItem("debug",r):W.storage.removeItem("debug")}catch{}}function Ns(){let r;try{r=W.storage.getItem("debug")}catch{}return!r&&typeof process<"u"&&"env"in process&&(r=process.env.DEBUG),r}function _s(){try{return localStorage}catch{}}ve.exports=Br()(W);var{formatters:Ps}=ve.exports;Ps.j=function(r){try{return JSON.stringify(r)}catch(t){return"[UnexpectedJSONParseError]: "+t.message}}});var qn=xt((fu,Zn)=>{"use strict";Zn.exports=(r,t)=>{t=t||process.argv;let e=r.startsWith("-")?"":r.length===1?"-":"--",i=t.indexOf(e+r),n=t.indexOf("--");return i!==-1&&(n===-1?!0:i{"use strict";var Os=$("os"),st=qn(),V=process.env,Kt;st("no-color")||st("no-colors")||st("color=false")?Kt=!1:(st("color")||st("colors")||st("color=true")||st("color=always"))&&(Kt=!0);"FORCE_COLOR"in V&&(Kt=V.FORCE_COLOR.length===0||parseInt(V.FORCE_COLOR,10)!==0);function ks(r){return r===0?!1:{level:r,hasBasic:!0,has256:r>=2,has16m:r>=3}}function Us(r){if(Kt===!1)return 0;if(st("color=16m")||st("color=full")||st("color=truecolor"))return 3;if(st("color=256"))return 2;if(r&&!r.isTTY&&Kt!==!0)return 0;let t=Kt?1:0;if(process.platform==="win32"){let e=Os.release().split(".");return Number(process.versions.node.split(".")[0])>=8&&Number(e[0])>=10&&Number(e[2])>=10586?Number(e[2])>=14931?3:2:1}if("CI"in V)return["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI"].some(e=>e in V)||V.CI_NAME==="codeship"?1:t;if("TEAMCITY_VERSION"in V)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(V.TEAMCITY_VERSION)?1:0;if(V.COLORTERM==="truecolor")return 3;if("TERM_PROGRAM"in V){let e=parseInt((V.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(V.TERM_PROGRAM){case"iTerm.app":return e>=3?3:2;case"Apple_Terminal":return 2}}return/-256(color)?$/i.test(V.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(V.TERM)||"COLORTERM"in V?1:(V.TERM==="dumb",t)}function Mr(r){let t=Us(r);return ks(t)}jn.exports={supportsColor:Mr,stdout:Mr(process.stdout),stderr:Mr(process.stderr)}});var ri=xt((_,Re)=>{var Fs=$("tty"),Se=$("util");_.init=Hs;_.log=Gs;_.formatArgs=Ms;_.save=$s;_.load=zs;_.useColors=Bs;_.destroy=Se.deprecate(()=>{},"Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.");_.colors=[6,2,3,4,5,1];try{let r=ti();r&&(r.stderr||r).level>=2&&(_.colors=[20,21,26,27,32,33,38,39,40,41,42,43,44,45,56,57,62,63,68,69,74,75,76,77,78,79,80,81,92,93,98,99,112,113,128,129,134,135,148,149,160,161,162,163,164,165,166,167,168,169,170,171,172,173,178,179,184,185,196,197,198,199,200,201,202,203,204,205,206,207,208,209,214,215,220,221])}catch{}_.inspectOpts=Object.keys(process.env).filter(r=>/^debug_/i.test(r)).reduce((r,t)=>{let e=t.substring(6).toLowerCase().replace(/_([a-z])/g,(n,o)=>o.toUpperCase()),i=process.env[t];return/^(yes|on|true|enabled)$/i.test(i)?i=!0:/^(no|off|false|disabled)$/i.test(i)?i=!1:i==="null"?i=null:i=Number(i),r[e]=i,r},{});function Bs(){return"colors"in _.inspectOpts?!!_.inspectOpts.colors:Fs.isatty(process.stderr.fd)}function Ms(r){let{namespace:t,useColors:e}=this;if(e){let i=this.color,n="\x1B[3"+(i<8?i:"8;5;"+i),o=` ${n};1m${t} \x1B[0m`;r[0]=o+r[0].split(` -+"use strict";var Libp2PDaemonClient=(()=>{var ac=Object.create;var er=Object.defineProperty;var uc=Object.getOwnPropertyDescriptor;var lc=Object.getOwnPropertyNames;var fc=Object.getPrototypeOf,dc=Object.prototype.hasOwnProperty;var Y=(r=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(r,{get:(t,e)=>(typeof require<"u"?require:t)[e]}):r)(function(r){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+r+'" is not supported')});var at=(r,t)=>{for(var e in t)er(r,e,{get:t[e],enumerable:!0})},oi=(r,t,e,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of lc(t))!dc.call(r,o)&&o!==e&&er(r,o,{get:()=>t[o],enumerable:!(n=uc(t,o))||n.enumerable});return r};var dt=(r,t,e)=>(e=r!=null?ac(fc(r)):{},oi(t||!r||!r.__esModule?er(e,"default",{value:r,enumerable:!0}):e,r)),hc=r=>oi(er({},"__esModule",{value:!0}),r);var wl={};at(wl,{createClient:()=>bl});var mn=Y("node:buffer");function ie(r){return new Uint8Array(r.buffer,r.byteOffset,r.byteLength)}function Pt(r=0){return ie(mn.Buffer.alloc(r))}function bt(r=0){return ie(mn.Buffer.allocUnsafe(r))}var pc=Math.pow(2,7),mc=Math.pow(2,14),gc=Math.pow(2,21),gn=Math.pow(2,28),yn=Math.pow(2,35),bn=Math.pow(2,42),wn=Math.pow(2,49),N=128,rt=127;function nt(r){if(rNumber.MAX_SAFE_INTEGER)throw new RangeError("Could not encode varint");return 8}function En(r,t,e=0){switch(nt(r)){case 8:t[e++]=r&255|N,r/=128;case 7:t[e++]=r&255|N,r/=128;case 6:t[e++]=r&255|N,r/=128;case 5:t[e++]=r&255|N,r/=128;case 4:t[e++]=r&255|N,r>>>=7;case 3:t[e++]=r&255|N,r>>>=7;case 2:t[e++]=r&255|N,r>>>=7;case 1:{t[e++]=r&255,r>>>=7;break}default:throw new Error("unreachable")}return t}function yc(r,t,e=0){switch(nt(r)){case 8:t.set(e++,r&255|N),r/=128;case 7:t.set(e++,r&255|N),r/=128;case 6:t.set(e++,r&255|N),r/=128;case 5:t.set(e++,r&255|N),r/=128;case 4:t.set(e++,r&255|N),r>>>=7;case 3:t.set(e++,r&255|N),r>>>=7;case 2:t.set(e++,r&255|N),r>>>=7;case 1:{t.set(e++,r&255),r>>>=7;break}default:throw new Error("unreachable")}return t}function xn(r,t){let e=r[t],n=0;if(n+=e&rt,e>>31>0){let e=~this.lo+1>>>0,n=~this.hi>>>0;return e===0&&(n=n+1>>>0),-(e+n*4294967296)}return this.lo+this.hi*4294967296}toBigInt(t=!1){if(t)return BigInt(this.lo>>>0)+(BigInt(this.hi>>>0)<<32n);if(this.hi>>>31){let e=~this.lo+1>>>0,n=~this.hi>>>0;return e===0&&(n=n+1>>>0),-(BigInt(e)+(BigInt(n)<<32n))}return BigInt(this.lo>>>0)+(BigInt(this.hi>>>0)<<32n)}toString(t=!1){return this.toBigInt(t).toString()}zzEncode(){let t=this.hi>>31;return this.hi=((this.hi<<1|this.lo>>>31)^t)>>>0,this.lo=(this.lo<<1^t)>>>0,this}zzDecode(){let t=-(this.lo&1);return this.lo=((this.lo>>>1|this.hi<<31)^t)>>>0,this.hi=(this.hi>>>1^t)>>>0,this}length(){let t=this.lo,e=(this.lo>>>28|this.hi<<4)>>>0,n=this.hi>>>24;return n===0?e===0?t<16384?t<128?1:2:t<2097152?3:4:e<16384?e<128?5:6:e<2097152?7:8:n<128?9:10}static fromBigInt(t){if(t===0n)return se;if(tEc)return this.fromNumber(Number(t));let e=t<0n;e&&(t=-t);let n=t>>32n,o=t-(n<<32n);return e&&(n=~n|0n,o=~o|0n,++o>ui&&(o=0n,++n>ui&&(n=0n))),new r(Number(o),Number(n))}static fromNumber(t){if(t===0)return se;let e=t<0;e&&(t=-t);let n=t>>>0,o=(t-n)/4294967296>>>0;return e&&(o=~o>>>0,n=~n>>>0,++n>4294967295&&(n=0,++o>4294967295&&(o=0))),new r(n,o)}static from(t){return typeof t=="number"?r.fromNumber(t):typeof t=="bigint"?r.fromBigInt(t):typeof t=="string"?r.fromBigInt(BigInt(t)):t.low!=null||t.high!=null?new r(t.low>>>0,t.high>>>0):se}},se=new ht(0,0);se.toBigInt=function(){return 0n};se.zzEncode=se.zzDecode=function(){return this};se.length=function(){return 1};var ui=4294967296n;function li(r){let t=0,e=0;for(let n=0;n191&&c<224?i[s++]=(c&31)<<6|r[t++]&63:c>239&&c<365?(c=((c&7)<<18|(r[t++]&63)<<12|(r[t++]&63)<<6|r[t++]&63)-65536,i[s++]=55296+(c>>10),i[s++]=56320+(c&1023)):i[s++]=(c&15)<<12|(r[t++]&63)<<6|r[t++]&63,s>8191&&((o??(o=[])).push(String.fromCharCode.apply(String,i)),s=0);return o!=null?(s>0&&o.push(String.fromCharCode.apply(String,i.slice(0,s))),o.join("")):String.fromCharCode.apply(String,i.slice(0,s))}function Sn(r,t,e){let n=e,o,i;for(let s=0;s>6|192,t[e++]=o&63|128):(o&64512)===55296&&((i=r.charCodeAt(s+1))&64512)===56320?(o=65536+((o&1023)<<10)+(i&1023),++s,t[e++]=o>>18|240,t[e++]=o>>12&63|128,t[e++]=o>>6&63|128,t[e++]=o&63|128):(t[e++]=o>>12|224,t[e++]=o>>6&63|128,t[e++]=o&63|128);return e-n}function St(r,t){return RangeError(`index out of range: ${r.pos} + ${t??1} > ${r.len}`)}function rr(r,t){return(r[t-4]|r[t-3]<<8|r[t-2]<<16|r[t-1]<<24)>>>0}var Tn=class{buf;pos;len;_slice=Uint8Array.prototype.subarray;constructor(t){this.buf=t,this.pos=0,this.len=t.length}uint32(){let t=4294967295;if(t=(this.buf[this.pos]&127)>>>0,this.buf[this.pos++]<128||(t=(t|(this.buf[this.pos]&127)<<7)>>>0,this.buf[this.pos++]<128)||(t=(t|(this.buf[this.pos]&127)<<14)>>>0,this.buf[this.pos++]<128)||(t=(t|(this.buf[this.pos]&127)<<21)>>>0,this.buf[this.pos++]<128)||(t=(t|(this.buf[this.pos]&15)<<28)>>>0,this.buf[this.pos++]<128))return t;if((this.pos+=5)>this.len)throw this.pos=this.len,St(this,10);return t}int32(){return this.uint32()|0}sint32(){let t=this.uint32();return t>>>1^-(t&1)|0}bool(){return this.uint32()!==0}fixed32(){if(this.pos+4>this.len)throw St(this,4);return rr(this.buf,this.pos+=4)}sfixed32(){if(this.pos+4>this.len)throw St(this,4);return rr(this.buf,this.pos+=4)|0}float(){if(this.pos+4>this.len)throw St(this,4);let t=si(this.buf,this.pos);return this.pos+=4,t}double(){if(this.pos+8>this.len)throw St(this,4);let t=ai(this.buf,this.pos);return this.pos+=8,t}bytes(){let t=this.uint32(),e=this.pos,n=this.pos+t;if(n>this.len)throw St(this,t);return this.pos+=t,e===n?new Uint8Array(0):this.buf.subarray(e,n)}string(){let t=this.bytes();return fi(t,0,t.length)}skip(t){if(typeof t=="number"){if(this.pos+t>this.len)throw St(this,t);this.pos+=t}else do if(this.pos>=this.len)throw St(this);while(this.buf[this.pos++]&128);return this}skipType(t){switch(t){case 0:this.skip();break;case 1:this.skip(8);break;case 2:this.skip(this.uint32());break;case 3:for(;(t=this.uint32()&7)!==4;)this.skipType(t);break;case 5:this.skip(4);break;default:throw Error(`invalid wire type ${t} at offset ${this.pos}`)}return this}readLongVarint(){let t=new ht(0,0),e=0;if(this.len-this.pos>4){for(;e<4;++e)if(t.lo=(t.lo|(this.buf[this.pos]&127)<>>0,this.buf[this.pos++]<128)return t;if(t.lo=(t.lo|(this.buf[this.pos]&127)<<28)>>>0,t.hi=(t.hi|(this.buf[this.pos]&127)>>4)>>>0,this.buf[this.pos++]<128)return t;e=0}else{for(;e<3;++e){if(this.pos>=this.len)throw St(this);if(t.lo=(t.lo|(this.buf[this.pos]&127)<>>0,this.buf[this.pos++]<128)return t}return t.lo=(t.lo|(this.buf[this.pos++]&127)<>>0,t}if(this.len-this.pos>4){for(;e<5;++e)if(t.hi=(t.hi|(this.buf[this.pos]&127)<>>0,this.buf[this.pos++]<128)return t}else for(;e<5;++e){if(this.pos>=this.len)throw St(this);if(t.hi=(t.hi|(this.buf[this.pos]&127)<>>0,this.buf[this.pos++]<128)return t}throw Error("invalid varint encoding")}readFixed64(){if(this.pos+8>this.len)throw St(this,8);let t=rr(this.buf,this.pos+=4),e=rr(this.buf,this.pos+=4);return new ht(t,e)}int64(){return this.readLongVarint().toBigInt()}int64Number(){return this.readLongVarint().toNumber()}int64String(){return this.readLongVarint().toString()}uint64(){return this.readLongVarint().toBigInt(!0)}uint64Number(){let t=xn(this.buf,this.pos);return this.pos+=nt(t),t}uint64String(){return this.readLongVarint().toString(!0)}sint64(){return this.readLongVarint().zzDecode().toBigInt()}sint64Number(){return this.readLongVarint().zzDecode().toNumber()}sint64String(){return this.readLongVarint().zzDecode().toString()}fixed64(){return this.readFixed64().toBigInt()}fixed64Number(){return this.readFixed64().toNumber()}fixed64String(){return this.readFixed64().toString()}sfixed64(){return this.readFixed64().toBigInt()}sfixed64Number(){return this.readFixed64().toNumber()}sfixed64String(){return this.readFixed64().toString()}};function Rn(r){return new Tn(r instanceof Uint8Array?r:r.subarray())}function M(r,t,e){let n=Rn(r);return t.decode(n,void 0,e)}var Ni=Y("node:buffer");var Nn={};at(Nn,{base10:()=>Tc});var Pl=new Uint8Array(0);function hi(r,t){if(r===t)return!0;if(r.byteLength!==t.byteLength)return!1;for(let e=0;e=255)throw new TypeError("Alphabet too long");for(var e=new Uint8Array(256),n=0;n>>0,_=new Uint8Array(S);m!==w;){for(var D=h[m],I=0,A=S-1;(D!==0||I>>0,_[A]=D%c>>>0,D=D/c>>>0;if(D!==0)throw new Error("Non-zero carry");p=I,m++}for(var R=S-p;R!==S&&_[R]===0;)R++;for(var X=a.repeat(f);R>>0,S=new Uint8Array(w);h[f];){var _=e[h.charCodeAt(f)];if(_===255)return;for(var D=0,I=w-1;(_!==0||D>>0,S[I]=_%256>>>0,_=_/256>>>0;if(_!==0)throw new Error("Non-zero carry");m=D,f++}if(h[f]!==" "){for(var A=w-m;A!==w&&S[A]===0;)A++;for(var R=new Uint8Array(p+(w-A)),X=p;A!==w;)R[X++]=S[A++];return R}}}function y(h){var f=g(h);if(f)return f;throw new Error(`Non-${t} character`)}return{encode:u,decodeUnsafe:g,decode:y}}var Ic=xc,vc=Ic,yi=vc;var Ln=class{name;prefix;baseEncode;constructor(t,e,n){this.name=t,this.prefix=e,this.baseEncode=n}encode(t){if(t instanceof Uint8Array)return`${this.prefix}${this.baseEncode(t)}`;throw Error("Unknown type, must be binary type")}},Dn=class{name;prefix;baseDecode;prefixCodePoint;constructor(t,e,n){if(this.name=t,this.prefix=e,e.codePointAt(0)===void 0)throw new Error("Invalid prefix character");this.prefixCodePoint=e.codePointAt(0),this.baseDecode=n}decode(t){if(typeof t=="string"){if(t.codePointAt(0)!==this.prefixCodePoint)throw Error(`Unable to decode multibase string ${JSON.stringify(t)}, ${this.name} decoder only supports inputs prefixed with ${this.prefix}`);return this.baseDecode(t.slice(this.prefix.length))}else throw Error("Can only multibase decode strings")}or(t){return bi(this,t)}},_n=class{decoders;constructor(t){this.decoders=t}or(t){return bi(this,t)}decode(t){let e=t[0],n=this.decoders[e];if(n!=null)return n.decode(t);throw RangeError(`Unable to decode multibase string ${JSON.stringify(t)}, only inputs prefixed with ${Object.keys(this.decoders)} are supported`)}};function bi(r,t){return new _n({...r.decoders??{[r.prefix]:r},...t.decoders??{[t.prefix]:t}})}var Bn=class{name;prefix;baseEncode;baseDecode;encoder;decoder;constructor(t,e,n,o){this.name=t,this.prefix=e,this.baseEncode=n,this.baseDecode=o,this.encoder=new Ln(t,e,n),this.decoder=new Dn(t,e,o)}encode(t){return this.encoder.encode(t)}decode(t){return this.decoder.decode(t)}};function xe({name:r,prefix:t,encode:e,decode:n}){return new Bn(r,t,e,n)}function qt({name:r,prefix:t,alphabet:e}){let{encode:n,decode:o}=yi(e,r);return xe({prefix:t,name:r,encode:n,decode:i=>wt(o(i))})}function Ac(r,t,e,n){let o={};for(let l=0;l=8&&(c-=8,s[d++]=255&a>>c)}if(c>=e||255&a<<8-c)throw new SyntaxError("Unexpected end of data");return s}function Sc(r,t,e){let n=t[t.length-1]==="=",o=(1<e;)s-=e,i+=t[o&c>>s];if(s!==0&&(i+=t[o&c<Rc,base16upper:()=>Lc});var Rc=G({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),Lc=G({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var Cn={};at(Cn,{base2:()=>Dc});var Dc=G({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var kn={};at(kn,{base256emoji:()=>Cc});var wi=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}"),_c=wi.reduce((r,t,e)=>(r[e]=t,r),[]),Bc=wi.reduce((r,t,e)=>(r[t.codePointAt(0)]=e,r),[]);function Nc(r){return r.reduce((t,e)=>(t+=_c[e],t),"")}function Pc(r){let t=[];for(let e of r){let n=Bc[e.codePointAt(0)];if(n===void 0)throw new Error(`Non-base256emoji character: ${e}`);t.push(n)}return new Uint8Array(t)}var Cc=xe({prefix:"\u{1F680}",name:"base256emoji",encode:Nc,decode:Pc});var On={};at(On,{base32:()=>Tt,base32hex:()=>Mc,base32hexpad:()=>Vc,base32hexpadupper:()=>Fc,base32hexupper:()=>Kc,base32pad:()=>Oc,base32padupper:()=>Uc,base32upper:()=>kc,base32z:()=>$c});var Tt=G({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),kc=G({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),Oc=G({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),Uc=G({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),Mc=G({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),Kc=G({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),Vc=G({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),Fc=G({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),$c=G({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var Un={};at(Un,{base36:()=>Gc,base36upper:()=>Hc});var Gc=qt({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),Hc=qt({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var Mn={};at(Mn,{base58btc:()=>K,base58flickr:()=>zc});var K=qt({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),zc=qt({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var Vn={};at(Vn,{base64:()=>Kn,base64pad:()=>qc,base64url:()=>Wc,base64urlpad:()=>Yc});var Kn=G({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),qc=G({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),Wc=G({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),Yc=G({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});var Fn={};at(Fn,{base8:()=>Zc});var Zc=G({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var $n={};at($n,{identity:()=>Xc});var Xc=xe({prefix:"\0",name:"identity",encode:r=>mi(r),decode:r=>pi(r)});var Zl=new TextEncoder,Xl=new TextDecoder;var Hn={};at(Hn,{identity:()=>kt});var jc=Ii,Ei=128,ta=127,ea=~ta,ra=Math.pow(2,31);function Ii(r,t,e){t=t||[],e=e||0;for(var n=e;r>=ra;)t[e++]=r&255|Ei,r/=128;for(;r&ea;)t[e++]=r&255|Ei,r>>>=7;return t[e]=r|0,Ii.bytes=e-n+1,t}var na=Gn,oa=128,xi=127;function Gn(r,n){var e=0,n=n||0,o=0,i=n,s,c=r.length;do{if(i>=c)throw Gn.bytes=0,new RangeError("Could not decode varint");s=r[i++],e+=o<28?(s&xi)<=oa);return Gn.bytes=i-n,e}var ia=Math.pow(2,7),sa=Math.pow(2,14),ca=Math.pow(2,21),aa=Math.pow(2,28),ua=Math.pow(2,35),la=Math.pow(2,42),fa=Math.pow(2,49),da=Math.pow(2,56),ha=Math.pow(2,63),pa=function(r){return rYn,sha512:()=>wa});var Wn=dt(Y("crypto"),1);function qn({name:r,code:t,encode:e}){return new zn(r,t,e)}var zn=class{name;code;encode;constructor(t,e,n){this.name=t,this.code=e,this.encode=n}digest(t){if(t instanceof Uint8Array){let e=this.encode(t);return e instanceof Uint8Array?ce(this.code,e):e.then(n=>ce(this.code,n))}else throw Error("Unknown type, must be binary type")}};var Yn=qn({name:"sha2-256",code:18,encode:r=>wt(Wn.default.createHash("sha256").update(r).digest())}),wa=qn({name:"sha2-512",code:19,encode:r=>wt(Wn.default.createHash("sha512").update(r).digest())});function Ri(r,t){let{bytes:e,version:n}=r;switch(n){case 0:return xa(e,Xn(r),t??K.encoder);default:return Ia(e,Xn(r),t??Tt.encoder)}}var Li=new WeakMap;function Xn(r){let t=Li.get(r);if(t==null){let e=new Map;return Li.set(r,e),e}return t}var Q=class r{code;version;multihash;bytes;"/";constructor(t,e,n,o){this.code=e,this.version=t,this.multihash=n,this.bytes=o,this["/"]=o}get asCID(){return this}get byteOffset(){return this.bytes.byteOffset}get byteLength(){return this.bytes.byteLength}toV0(){switch(this.version){case 0:return this;case 1:{let{code:t,multihash:e}=this;if(t!==Fe)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(e.code!==va)throw new Error("Cannot convert non sha2-256 multihash CID to CIDv0");return r.createV0(e)}default:throw Error(`Can not convert CID version ${this.version} to version 0. This is a bug please report`)}}toV1(){switch(this.version){case 0:{let{code:t,digest:e}=this.multihash,n=ce(t,e);return r.createV1(this.code,n)}case 1:return this;default:throw Error(`Can not convert CID version ${this.version} to version 1. This is a bug please report`)}}equals(t){return r.equals(this,t)}static equals(t,e){let n=e;return n!=null&&t.code===n.code&&t.version===n.version&&vi(t.multihash,n.multihash)}toString(t){return Ri(this,t)}toJSON(){return{"/":Ri(this)}}link(){return this}[Symbol.toStringTag]="CID";[Symbol.for("nodejs.util.inspect.custom")](){return`CID(${this.toString()})`}static asCID(t){if(t==null)return null;let e=t;if(e instanceof r)return e;if(e["/"]!=null&&e["/"]===e.bytes||e.asCID===e){let{version:n,code:o,multihash:i,bytes:s}=e;return new r(n,o,i,s??Di(n,o,i.bytes))}else if(e[Aa]===!0){let{version:n,multihash:o,code:i}=e,s=ut(o);return r.create(n,i,s)}else return null}static create(t,e,n){if(typeof e!="number")throw new Error("String codecs are no longer supported");if(!(n.bytes instanceof Uint8Array))throw new Error("Invalid digest");switch(t){case 0:{if(e!==Fe)throw new Error(`Version 0 CID must use dag-pb (code: ${Fe}) block encoding`);return new r(t,e,n,n.bytes)}case 1:{let o=Di(t,e,n.bytes);return new r(t,e,n,o)}default:throw new Error("Invalid version")}}static createV0(t){return r.create(0,Fe,t)}static createV1(t,e){return r.create(1,t,e)}static decode(t){let[e,n]=r.decodeFirst(t);if(n.length!==0)throw new Error("Incorrect length");return e}static decodeFirst(t){let e=r.inspectBytes(t),n=e.size-e.multihashSize,o=wt(t.subarray(n,n+e.multihashSize));if(o.byteLength!==e.multihashSize)throw new Error("Incorrect length");let i=o.subarray(e.multihashSize-e.digestSize),s=new Ae(e.multihashCode,e.digestSize,i,o);return[e.version===0?r.createV0(s):r.createV1(e.codec,s),t.subarray(e.size)]}static inspectBytes(t){let e=0,n=()=>{let[u,g]=Ve(t.subarray(e));return e+=g,u},o=n(),i=Fe;if(o===18?(o=0,e=0):i=n(),o!==0&&o!==1)throw new RangeError(`Invalid CID version ${o}`);let s=e,c=n(),a=n(),d=e+a,l=d-s;return{version:o,codec:i,multihashCode:c,digestSize:a,multihashSize:l,size:d}}static parse(t,e){let[n,o]=Ea(t,e),i=r.decode(o);if(i.version===0&&t[0]!=="Q")throw Error("Version 0 CID string must not include multibase prefix");return Xn(i).set(n,t),i}};function Ea(r,t){switch(r[0]){case"Q":{let e=t??K;return[K.prefix,e.decode(`${K.prefix}${r}`)]}case K.prefix:{let e=t??K;return[K.prefix,e.decode(r)]}case Tt.prefix:{let e=t??Tt;return[Tt.prefix,e.decode(r)]}default:{if(t==null)throw Error("To parse non base32 or base58btc encoded CID multibase decoder must be provided");return[r[0],t.decode(r)]}}}function xa(r,t,e){let{prefix:n}=e;if(n!==K.prefix)throw Error(`Cannot string encode V0 in ${e.name} encoding`);let o=t.get(n);if(o==null){let i=e.encode(r).slice(1);return t.set(n,i),i}else return o}function Ia(r,t,e){let{prefix:n}=e,o=t.get(n);if(o==null){let i=e.encode(r);return t.set(n,i),i}else return o}var Fe=112,va=18;function Di(r,t,e){let n=ve(r),o=n+ve(t),i=new Uint8Array(o+e.byteLength);return Ie(r,i,0),Ie(t,i,n),i.set(e,o),i}var Aa=Symbol.for("@ipld/js-cid/CID");var $e={...$n,...Cn,...Fn,...Nn,...Pn,...On,...Un,...Mn,...Vn,...kn},wf={...Zn,...Hn};function Bi(r,t,e,n){return{name:r,prefix:t,encoder:{name:r,prefix:t,encode:e},decoder:{decode:n}}}var _i=Bi("utf8","u",r=>"u"+new TextDecoder("utf8").decode(r),r=>new TextEncoder().encode(r.substring(1))),Jn=Bi("ascii","a",r=>{let t="a";for(let e=0;e{r=r.substring(1);let t=bt(r.length);for(let e=0;e>>1,n,o=t;return function(s){if(s<1||s>e)return bt(s);o+s>t&&(n=bt(t),o=0);let c=n.subarray(o,o+=s);return o&7&&(o=(o|7)+1),c}}var ae=class{fn;len;next;val;constructor(t,e,n){this.fn=t,this.len=e,this.next=void 0,this.val=n}};function jn(){}var eo=class{head;tail;len;next;constructor(t){this.head=t.head,this.tail=t.tail,this.len=t.len,this.next=t.states}},Ta=Qn();function Ra(r){return globalThis.Buffer!=null?bt(r):Ta(r)}var He=class{len;head;tail;states;constructor(){this.len=0,this.head=new ae(jn,0,0),this.tail=this.head,this.states=null}_push(t,e,n){return this.tail=this.tail.next=new ae(t,e,n),this.len+=e,this}uint32(t){return this.len+=(this.tail=this.tail.next=new ro((t=t>>>0)<128?1:t<16384?2:t<2097152?3:t<268435456?4:5,t)).len,this}int32(t){return t<0?this._push(ir,10,ht.fromNumber(t)):this.uint32(t)}sint32(t){return this.uint32((t<<1^t>>31)>>>0)}uint64(t){let e=ht.fromBigInt(t);return this._push(ir,e.length(),e)}uint64Number(t){return this._push(En,nt(t),t)}uint64String(t){return this.uint64(BigInt(t))}int64(t){return this.uint64(t)}int64Number(t){return this.uint64Number(t)}int64String(t){return this.uint64String(t)}sint64(t){let e=ht.fromBigInt(t).zzEncode();return this._push(ir,e.length(),e)}sint64Number(t){let e=ht.fromNumber(t).zzEncode();return this._push(ir,e.length(),e)}sint64String(t){return this.sint64(BigInt(t))}bool(t){return this._push(to,1,t?1:0)}fixed32(t){return this._push(Ge,4,t>>>0)}sfixed32(t){return this.fixed32(t)}fixed64(t){let e=ht.fromBigInt(t);return this._push(Ge,4,e.lo)._push(Ge,4,e.hi)}fixed64Number(t){let e=ht.fromNumber(t);return this._push(Ge,4,e.lo)._push(Ge,4,e.hi)}fixed64String(t){return this.fixed64(BigInt(t))}sfixed64(t){return this.fixed64(t)}sfixed64Number(t){return this.fixed64Number(t)}sfixed64String(t){return this.fixed64String(t)}float(t){return this._push(ii,4,t)}double(t){return this._push(ci,8,t)}bytes(t){let e=t.length>>>0;return e===0?this._push(to,1,0):this.uint32(e)._push(Da,e,t)}string(t){let e=li(t);return e!==0?this.uint32(e)._push(Sn,e,t):this._push(to,1,0)}fork(){return this.states=new eo(this),this.head=this.tail=new ae(jn,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 ae(jn,0,0),this.len=0),this}ldelim(){let t=this.head,e=this.tail,n=this.len;return this.reset().uint32(n),n!==0&&(this.tail.next=t.next,this.tail=e,this.len+=n),this}finish(){let t=this.head.next,e=Ra(this.len),n=0;for(;t!=null;)t.fn(t.val,e,n),n+=t.len,t=t.next;return e}};function to(r,t,e){t[e]=r&255}function La(r,t,e){for(;r>127;)t[e++]=r&127|128,r>>>=7;t[e]=r}var ro=class extends ae{next;constructor(t,e){super(La,t,e),this.next=void 0}};function ir(r,t,e){for(;r.hi!==0;)t[e++]=r.lo&127|128,r.lo=(r.lo>>>7|r.hi<<25)>>>0,r.hi>>>=7;for(;r.lo>127;)t[e++]=r.lo&127|128,r.lo=r.lo>>>7;t[e++]=r.lo}function Ge(r,t,e){t[e]=r&255,t[e+1]=r>>>8&255,t[e+2]=r>>>16&255,t[e+3]=r>>>24}function Da(r,t,e){t.set(r,e)}globalThis.Buffer!=null&&(He.prototype.bytes=function(r){let t=r.length>>>0;return this.uint32(t),t>0&&this._push(_a,t,r),this},He.prototype.string=function(r){let t=globalThis.Buffer.byteLength(r);return this.uint32(t),t>0&&this._push(Ba,t,r),this});function _a(r,t,e){t.set(r,e)}function Ba(r,t,e){r.length<40?Sn(r,t,e):t.utf8Write!=null?t.utf8Write(r,e):t.set(Wt(r),e)}function no(){return new He}function V(r,t){let e=no();return t.encode(r,e,{lengthDelimited:!1}),e.finish()}var Se;(function(r){r[r.VARINT=0]="VARINT",r[r.BIT64=1]="BIT64",r[r.LENGTH_DELIMITED=2]="LENGTH_DELIMITED",r[r.START_GROUP=3]="START_GROUP",r[r.END_GROUP=4]="END_GROUP",r[r.BIT32=5]="BIT32"})(Se||(Se={}));function sr(r,t,e,n){return{name:r,type:t,encode:e,decode:n}}function Rt(r){function t(o){if(r[o.toString()]==null)throw new Error("Invalid enum value");return r[o]}let e=function(i,s){let c=t(i);s.int32(c)},n=function(i){let s=i.int32();return t(s)};return sr("enum",Se.VARINT,e,n)}function F(r,t){return sr("message",Se.LENGTH_DELIMITED,r,t)}var H;(function(r){let t;(function(o){o.IDENTIFY="IDENTIFY",o.CONNECT="CONNECT",o.STREAM_OPEN="STREAM_OPEN",o.STREAM_HANDLER="STREAM_HANDLER",o.DHT="DHT",o.LIST_PEERS="LIST_PEERS",o.CONNMANAGER="CONNMANAGER",o.DISCONNECT="DISCONNECT",o.PUBSUB="PUBSUB",o.PEERSTORE="PEERSTORE"})(t=r.Type||(r.Type={}));let e;(function(o){o[o.IDENTIFY=0]="IDENTIFY",o[o.CONNECT=1]="CONNECT",o[o.STREAM_OPEN=2]="STREAM_OPEN",o[o.STREAM_HANDLER=3]="STREAM_HANDLER",o[o.DHT=4]="DHT",o[o.LIST_PEERS=5]="LIST_PEERS",o[o.CONNMANAGER=6]="CONNMANAGER",o[o.DISCONNECT=7]="DISCONNECT",o[o.PUBSUB=8]="PUBSUB",o[o.PEERSTORE=9]="PEERSTORE"})(e||(e={})),function(o){o.codec=()=>Rt(e)}(t=r.Type||(r.Type={}));let n;r.codec=()=>(n==null&&(n=F((o,i,s={})=>{s.lengthDelimited!==!1&&i.fork(),o.type!=null&&(i.uint32(8),r.Type.codec().encode(o.type,i)),o.connect!=null&&(i.uint32(18),ar.codec().encode(o.connect,i)),o.streamOpen!=null&&(i.uint32(26),ur.codec().encode(o.streamOpen,i)),o.streamHandler!=null&&(i.uint32(34),lr.codec().encode(o.streamHandler,i)),o.dht!=null&&(i.uint32(42),Et.codec().encode(o.dht,i)),o.connManager!=null&&(i.uint32(50),dr.codec().encode(o.connManager,i)),o.disconnect!=null&&(i.uint32(58),hr.codec().encode(o.disconnect,i)),o.pubsub!=null&&(i.uint32(66),Ot.codec().encode(o.pubsub,i)),o.peerStore!=null&&(i.uint32(74),gr.codec().encode(o.peerStore,i)),s.lengthDelimited!==!1&&i.ldelim()},(o,i)=>{let s={},c=i==null?o.len:o.pos+i;for(;o.pos>>3){case 1:s.type=r.Type.codec().decode(o);break;case 2:s.connect=ar.codec().decode(o,o.uint32());break;case 3:s.streamOpen=ur.codec().decode(o,o.uint32());break;case 4:s.streamHandler=lr.codec().decode(o,o.uint32());break;case 5:s.dht=Et.codec().decode(o,o.uint32());break;case 6:s.connManager=dr.codec().decode(o,o.uint32());break;case 7:s.disconnect=hr.codec().decode(o,o.uint32());break;case 8:s.pubsub=Ot.codec().decode(o,o.uint32());break;case 9:s.peerStore=gr.codec().decode(o,o.uint32());break;default:o.skipType(a&7);break}}return s})),n),r.encode=o=>V(o,r.codec()),r.decode=o=>M(o,r.codec())})(H||(H={}));var B;(function(r){let t;(function(o){o.OK="OK",o.ERROR="ERROR"})(t=r.Type||(r.Type={}));let e;(function(o){o[o.OK=0]="OK",o[o.ERROR=1]="ERROR"})(e||(e={})),function(o){o.codec=()=>Rt(e)}(t=r.Type||(r.Type={}));let n;r.codec=()=>(n==null&&(n=F((o,i,s={})=>{if(s.lengthDelimited!==!1&&i.fork(),o.type!=null&&(i.uint32(8),r.Type.codec().encode(o.type,i)),o.error!=null&&(i.uint32(18),fr.codec().encode(o.error,i)),o.streamInfo!=null&&(i.uint32(26),Te.codec().encode(o.streamInfo,i)),o.identify!=null&&(i.uint32(34),cr.codec().encode(o.identify,i)),o.dht!=null&&(i.uint32(42),Lt.codec().encode(o.dht,i)),o.peers!=null)for(let c of o.peers)i.uint32(50),Yt.codec().encode(c,i);o.pubsub!=null&&(i.uint32(58),mr.codec().encode(o.pubsub,i)),o.peerStore!=null&&(i.uint32(66),yr.codec().encode(o.peerStore,i)),s.lengthDelimited!==!1&&i.ldelim()},(o,i)=>{let s={peers:[]},c=i==null?o.len:o.pos+i;for(;o.pos>>3){case 1:s.type=r.Type.codec().decode(o);break;case 2:s.error=fr.codec().decode(o,o.uint32());break;case 3:s.streamInfo=Te.codec().decode(o,o.uint32());break;case 4:s.identify=cr.codec().decode(o,o.uint32());break;case 5:s.dht=Lt.codec().decode(o,o.uint32());break;case 6:s.peers.push(Yt.codec().decode(o,o.uint32()));break;case 7:s.pubsub=mr.codec().decode(o,o.uint32());break;case 8:s.peerStore=yr.codec().decode(o,o.uint32());break;default:o.skipType(a&7);break}}return s})),n),r.encode=o=>V(o,r.codec()),r.decode=o=>M(o,r.codec())})(B||(B={}));var cr;(function(r){let t;r.codec=()=>(t==null&&(t=F((e,n,o={})=>{if(o.lengthDelimited!==!1&&n.fork(),e.id!=null&&e.id.byteLength>0&&(n.uint32(10),n.bytes(e.id)),e.addrs!=null)for(let i of e.addrs)n.uint32(18),n.bytes(i);o.lengthDelimited!==!1&&n.ldelim()},(e,n)=>{let o={id:new Uint8Array(0),addrs:[]},i=n==null?e.len:e.pos+n;for(;e.pos>>3){case 1:o.id=e.bytes();break;case 2:o.addrs.push(e.bytes());break;default:e.skipType(s&7);break}}return o})),t),r.encode=e=>V(e,r.codec()),r.decode=e=>M(e,r.codec())})(cr||(cr={}));var ar;(function(r){let t;r.codec=()=>(t==null&&(t=F((e,n,o={})=>{if(o.lengthDelimited!==!1&&n.fork(),e.peer!=null&&e.peer.byteLength>0&&(n.uint32(10),n.bytes(e.peer)),e.addrs!=null)for(let i of e.addrs)n.uint32(18),n.bytes(i);e.timeout!=null&&(n.uint32(24),n.int64(e.timeout)),o.lengthDelimited!==!1&&n.ldelim()},(e,n)=>{let o={peer:new Uint8Array(0),addrs:[]},i=n==null?e.len:e.pos+n;for(;e.pos>>3){case 1:o.peer=e.bytes();break;case 2:o.addrs.push(e.bytes());break;case 3:o.timeout=e.int64();break;default:e.skipType(s&7);break}}return o})),t),r.encode=e=>V(e,r.codec()),r.decode=e=>M(e,r.codec())})(ar||(ar={}));var ur;(function(r){let t;r.codec=()=>(t==null&&(t=F((e,n,o={})=>{if(o.lengthDelimited!==!1&&n.fork(),e.peer!=null&&e.peer.byteLength>0&&(n.uint32(10),n.bytes(e.peer)),e.proto!=null)for(let i of e.proto)n.uint32(18),n.string(i);e.timeout!=null&&(n.uint32(24),n.int64(e.timeout)),o.lengthDelimited!==!1&&n.ldelim()},(e,n)=>{let o={peer:new Uint8Array(0),proto:[]},i=n==null?e.len:e.pos+n;for(;e.pos>>3){case 1:o.peer=e.bytes();break;case 2:o.proto.push(e.string());break;case 3:o.timeout=e.int64();break;default:e.skipType(s&7);break}}return o})),t),r.encode=e=>V(e,r.codec()),r.decode=e=>M(e,r.codec())})(ur||(ur={}));var lr;(function(r){let t;r.codec=()=>(t==null&&(t=F((e,n,o={})=>{if(o.lengthDelimited!==!1&&n.fork(),e.addr!=null&&e.addr.byteLength>0&&(n.uint32(10),n.bytes(e.addr)),e.proto!=null)for(let i of e.proto)n.uint32(18),n.string(i);o.lengthDelimited!==!1&&n.ldelim()},(e,n)=>{let o={addr:new Uint8Array(0),proto:[]},i=n==null?e.len:e.pos+n;for(;e.pos>>3){case 1:o.addr=e.bytes();break;case 2:o.proto.push(e.string());break;default:e.skipType(s&7);break}}return o})),t),r.encode=e=>V(e,r.codec()),r.decode=e=>M(e,r.codec())})(lr||(lr={}));var fr;(function(r){let t;r.codec=()=>(t==null&&(t=F((e,n,o={})=>{o.lengthDelimited!==!1&&n.fork(),e.msg!=null&&e.msg!==""&&(n.uint32(10),n.string(e.msg)),o.lengthDelimited!==!1&&n.ldelim()},(e,n)=>{let o={msg:""},i=n==null?e.len:e.pos+n;for(;e.pos>>3){case 1:o.msg=e.string();break;default:e.skipType(s&7);break}}return o})),t),r.encode=e=>V(e,r.codec()),r.decode=e=>M(e,r.codec())})(fr||(fr={}));var Te;(function(r){let t;r.codec=()=>(t==null&&(t=F((e,n,o={})=>{o.lengthDelimited!==!1&&n.fork(),e.peer!=null&&e.peer.byteLength>0&&(n.uint32(10),n.bytes(e.peer)),e.addr!=null&&e.addr.byteLength>0&&(n.uint32(18),n.bytes(e.addr)),e.proto!=null&&e.proto!==""&&(n.uint32(26),n.string(e.proto)),o.lengthDelimited!==!1&&n.ldelim()},(e,n)=>{let o={peer:new Uint8Array(0),addr:new Uint8Array(0),proto:""},i=n==null?e.len:e.pos+n;for(;e.pos>>3){case 1:o.peer=e.bytes();break;case 2:o.addr=e.bytes();break;case 3:o.proto=e.string();break;default:e.skipType(s&7);break}}return o})),t),r.encode=e=>V(e,r.codec()),r.decode=e=>M(e,r.codec())})(Te||(Te={}));var Et;(function(r){let t;(function(o){o.FIND_PEER="FIND_PEER",o.FIND_PEERS_CONNECTED_TO_PEER="FIND_PEERS_CONNECTED_TO_PEER",o.FIND_PROVIDERS="FIND_PROVIDERS",o.GET_CLOSEST_PEERS="GET_CLOSEST_PEERS",o.GET_PUBLIC_KEY="GET_PUBLIC_KEY",o.GET_VALUE="GET_VALUE",o.SEARCH_VALUE="SEARCH_VALUE",o.PUT_VALUE="PUT_VALUE",o.PROVIDE="PROVIDE"})(t=r.Type||(r.Type={}));let e;(function(o){o[o.FIND_PEER=0]="FIND_PEER",o[o.FIND_PEERS_CONNECTED_TO_PEER=1]="FIND_PEERS_CONNECTED_TO_PEER",o[o.FIND_PROVIDERS=2]="FIND_PROVIDERS",o[o.GET_CLOSEST_PEERS=3]="GET_CLOSEST_PEERS",o[o.GET_PUBLIC_KEY=4]="GET_PUBLIC_KEY",o[o.GET_VALUE=5]="GET_VALUE",o[o.SEARCH_VALUE=6]="SEARCH_VALUE",o[o.PUT_VALUE=7]="PUT_VALUE",o[o.PROVIDE=8]="PROVIDE"})(e||(e={})),function(o){o.codec=()=>Rt(e)}(t=r.Type||(r.Type={}));let n;r.codec=()=>(n==null&&(n=F((o,i,s={})=>{s.lengthDelimited!==!1&&i.fork(),o.type!=null&&(i.uint32(8),r.Type.codec().encode(o.type,i)),o.peer!=null&&(i.uint32(18),i.bytes(o.peer)),o.cid!=null&&(i.uint32(26),i.bytes(o.cid)),o.key!=null&&(i.uint32(34),i.bytes(o.key)),o.value!=null&&(i.uint32(42),i.bytes(o.value)),o.count!=null&&(i.uint32(48),i.int32(o.count)),o.timeout!=null&&(i.uint32(56),i.int64(o.timeout)),s.lengthDelimited!==!1&&i.ldelim()},(o,i)=>{let s={},c=i==null?o.len:o.pos+i;for(;o.pos>>3){case 1:s.type=r.Type.codec().decode(o);break;case 2:s.peer=o.bytes();break;case 3:s.cid=o.bytes();break;case 4:s.key=o.bytes();break;case 5:s.value=o.bytes();break;case 6:s.count=o.int32();break;case 7:s.timeout=o.int64();break;default:o.skipType(a&7);break}}return s})),n),r.encode=o=>V(o,r.codec()),r.decode=o=>M(o,r.codec())})(Et||(Et={}));var Lt;(function(r){let t;(function(o){o.BEGIN="BEGIN",o.VALUE="VALUE",o.END="END"})(t=r.Type||(r.Type={}));let e;(function(o){o[o.BEGIN=0]="BEGIN",o[o.VALUE=1]="VALUE",o[o.END=2]="END"})(e||(e={})),function(o){o.codec=()=>Rt(e)}(t=r.Type||(r.Type={}));let n;r.codec=()=>(n==null&&(n=F((o,i,s={})=>{s.lengthDelimited!==!1&&i.fork(),o.type!=null&&(i.uint32(8),r.Type.codec().encode(o.type,i)),o.peer!=null&&(i.uint32(18),Yt.codec().encode(o.peer,i)),o.value!=null&&(i.uint32(26),i.bytes(o.value)),s.lengthDelimited!==!1&&i.ldelim()},(o,i)=>{let s={},c=i==null?o.len:o.pos+i;for(;o.pos>>3){case 1:s.type=r.Type.codec().decode(o);break;case 2:s.peer=Yt.codec().decode(o,o.uint32());break;case 3:s.value=o.bytes();break;default:o.skipType(a&7);break}}return s})),n),r.encode=o=>V(o,r.codec()),r.decode=o=>M(o,r.codec())})(Lt||(Lt={}));var Yt;(function(r){let t;r.codec=()=>(t==null&&(t=F((e,n,o={})=>{if(o.lengthDelimited!==!1&&n.fork(),e.id!=null&&e.id.byteLength>0&&(n.uint32(10),n.bytes(e.id)),e.addrs!=null)for(let i of e.addrs)n.uint32(18),n.bytes(i);o.lengthDelimited!==!1&&n.ldelim()},(e,n)=>{let o={id:new Uint8Array(0),addrs:[]},i=n==null?e.len:e.pos+n;for(;e.pos>>3){case 1:o.id=e.bytes();break;case 2:o.addrs.push(e.bytes());break;default:e.skipType(s&7);break}}return o})),t),r.encode=e=>V(e,r.codec()),r.decode=e=>M(e,r.codec())})(Yt||(Yt={}));var dr;(function(r){let t;(function(o){o.TAG_PEER="TAG_PEER",o.UNTAG_PEER="UNTAG_PEER",o.TRIM="TRIM"})(t=r.Type||(r.Type={}));let e;(function(o){o[o.TAG_PEER=0]="TAG_PEER",o[o.UNTAG_PEER=1]="UNTAG_PEER",o[o.TRIM=2]="TRIM"})(e||(e={})),function(o){o.codec=()=>Rt(e)}(t=r.Type||(r.Type={}));let n;r.codec=()=>(n==null&&(n=F((o,i,s={})=>{s.lengthDelimited!==!1&&i.fork(),o.type!=null&&(i.uint32(8),r.Type.codec().encode(o.type,i)),o.peer!=null&&(i.uint32(18),i.bytes(o.peer)),o.tag!=null&&(i.uint32(26),i.string(o.tag)),o.weight!=null&&(i.uint32(32),i.int64(o.weight)),s.lengthDelimited!==!1&&i.ldelim()},(o,i)=>{let s={},c=i==null?o.len:o.pos+i;for(;o.pos>>3){case 1:s.type=r.Type.codec().decode(o);break;case 2:s.peer=o.bytes();break;case 3:s.tag=o.string();break;case 4:s.weight=o.int64();break;default:o.skipType(a&7);break}}return s})),n),r.encode=o=>V(o,r.codec()),r.decode=o=>M(o,r.codec())})(dr||(dr={}));var hr;(function(r){let t;r.codec=()=>(t==null&&(t=F((e,n,o={})=>{o.lengthDelimited!==!1&&n.fork(),e.peer!=null&&e.peer.byteLength>0&&(n.uint32(10),n.bytes(e.peer)),o.lengthDelimited!==!1&&n.ldelim()},(e,n)=>{let o={peer:new Uint8Array(0)},i=n==null?e.len:e.pos+n;for(;e.pos>>3){case 1:o.peer=e.bytes();break;default:e.skipType(s&7);break}}return o})),t),r.encode=e=>V(e,r.codec()),r.decode=e=>M(e,r.codec())})(hr||(hr={}));var Ot;(function(r){let t;(function(o){o.GET_TOPICS="GET_TOPICS",o.LIST_PEERS="LIST_PEERS",o.PUBLISH="PUBLISH",o.SUBSCRIBE="SUBSCRIBE"})(t=r.Type||(r.Type={}));let e;(function(o){o[o.GET_TOPICS=0]="GET_TOPICS",o[o.LIST_PEERS=1]="LIST_PEERS",o[o.PUBLISH=2]="PUBLISH",o[o.SUBSCRIBE=3]="SUBSCRIBE"})(e||(e={})),function(o){o.codec=()=>Rt(e)}(t=r.Type||(r.Type={}));let n;r.codec=()=>(n==null&&(n=F((o,i,s={})=>{s.lengthDelimited!==!1&&i.fork(),o.type!=null&&(i.uint32(8),r.Type.codec().encode(o.type,i)),o.topic!=null&&(i.uint32(18),i.string(o.topic)),o.data!=null&&(i.uint32(26),i.bytes(o.data)),s.lengthDelimited!==!1&&i.ldelim()},(o,i)=>{let s={},c=i==null?o.len:o.pos+i;for(;o.pos>>3){case 1:s.type=r.Type.codec().decode(o);break;case 2:s.topic=o.string();break;case 3:s.data=o.bytes();break;default:o.skipType(a&7);break}}return s})),n),r.encode=o=>V(o,r.codec()),r.decode=o=>M(o,r.codec())})(Ot||(Ot={}));var pr;(function(r){let t;r.codec=()=>(t==null&&(t=F((e,n,o={})=>{if(o.lengthDelimited!==!1&&n.fork(),e.from!=null&&(n.uint32(10),n.bytes(e.from)),e.data!=null&&(n.uint32(18),n.bytes(e.data)),e.seqno!=null&&(n.uint32(26),n.bytes(e.seqno)),e.topicIDs!=null)for(let i of e.topicIDs)n.uint32(34),n.string(i);e.signature!=null&&(n.uint32(42),n.bytes(e.signature)),e.key!=null&&(n.uint32(50),n.bytes(e.key)),o.lengthDelimited!==!1&&n.ldelim()},(e,n)=>{let o={topicIDs:[]},i=n==null?e.len:e.pos+n;for(;e.pos>>3){case 1:o.from=e.bytes();break;case 2:o.data=e.bytes();break;case 3:o.seqno=e.bytes();break;case 4:o.topicIDs.push(e.string());break;case 5:o.signature=e.bytes();break;case 6:o.key=e.bytes();break;default:e.skipType(s&7);break}}return o})),t),r.encode=e=>V(e,r.codec()),r.decode=e=>M(e,r.codec())})(pr||(pr={}));var mr;(function(r){let t;r.codec=()=>(t==null&&(t=F((e,n,o={})=>{if(o.lengthDelimited!==!1&&n.fork(),e.topics!=null)for(let i of e.topics)n.uint32(10),n.string(i);if(e.peerIDs!=null)for(let i of e.peerIDs)n.uint32(18),n.bytes(i);o.lengthDelimited!==!1&&n.ldelim()},(e,n)=>{let o={topics:[],peerIDs:[]},i=n==null?e.len:e.pos+n;for(;e.pos>>3){case 1:o.topics.push(e.string());break;case 2:o.peerIDs.push(e.bytes());break;default:e.skipType(s&7);break}}return o})),t),r.encode=e=>V(e,r.codec()),r.decode=e=>M(e,r.codec())})(mr||(mr={}));var gr;(function(r){let t;(function(o){o.UNSPECIFIED="UNSPECIFIED",o.GET_PROTOCOLS="GET_PROTOCOLS",o.GET_PEER_INFO="GET_PEER_INFO"})(t=r.Type||(r.Type={}));let e;(function(o){o[o.UNSPECIFIED=0]="UNSPECIFIED",o[o.GET_PROTOCOLS=1]="GET_PROTOCOLS",o[o.GET_PEER_INFO=2]="GET_PEER_INFO"})(e||(e={})),function(o){o.codec=()=>Rt(e)}(t=r.Type||(r.Type={}));let n;r.codec=()=>(n==null&&(n=F((o,i,s={})=>{if(s.lengthDelimited!==!1&&i.fork(),o.type!=null&&(i.uint32(8),r.Type.codec().encode(o.type,i)),o.id!=null&&(i.uint32(18),i.bytes(o.id)),o.protos!=null)for(let c of o.protos)i.uint32(26),i.string(c);s.lengthDelimited!==!1&&i.ldelim()},(o,i)=>{let s={protos:[]},c=i==null?o.len:o.pos+i;for(;o.pos>>3){case 1:s.type=r.Type.codec().decode(o);break;case 2:s.id=o.bytes();break;case 3:s.protos.push(o.string());break;default:o.skipType(a&7);break}}return s})),n),r.encode=o=>V(o,r.codec()),r.decode=o=>M(o,r.codec())})(gr||(gr={}));var yr;(function(r){let t;r.codec=()=>(t==null&&(t=F((e,n,o={})=>{if(o.lengthDelimited!==!1&&n.fork(),e.peer!=null&&(n.uint32(10),Yt.codec().encode(e.peer,n)),e.protos!=null)for(let i of e.protos)n.uint32(18),n.string(i);o.lengthDelimited!==!1&&n.ldelim()},(e,n)=>{let o={protos:[]},i=n==null?e.len:e.pos+n;for(;e.pos>>3){case 1:o.peer=Yt.codec().decode(e,e.uint32());break;case 2:o.protos.push(e.string());break;default:e.skipType(s&7);break}}return o})),t),r.encode=e=>V(e,r.codec()),r.decode=e=>M(e,r.codec())})(yr||(yr={}));var ki=dt(Y("node:tty"),1),vr=dt(Y("node:util"),1);function Na(r,t){try{if(typeof r=="string"&&r.length>0)return Pa(r);if(typeof r=="number"&&isFinite(r))return t?.long?ka(r):Ca(r);throw new Error("Value is not a string or number.")}catch(e){let n=Oa(e)?`${e.message}. value=${JSON.stringify(r)}`:"An unknown error has occured.";throw new Error(n)}}function Pa(r){if(r=String(r),r.length>100)throw new Error("Value exceeds the maximum length of 100 characters.");let t=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(r);if(!t)return NaN;let e=parseFloat(t[1]),n=(t[2]||"ms").toLowerCase();switch(n){case"years":case"year":case"yrs":case"yr":case"y":return e*315576e5;case"weeks":case"week":case"w":return e*6048e5;case"days":case"day":case"d":return e*864e5;case"hours":case"hour":case"hrs":case"hr":case"h":return e*36e5;case"minutes":case"minute":case"mins":case"min":case"m":return e*6e4;case"seconds":case"second":case"secs":case"sec":case"s":return e*1e3;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return e;default:throw new Error(`The unit ${n} was matched, but no matching case exists.`)}}var wr=Na;function Ca(r){let t=Math.abs(r);return t>=864e5?`${Math.round(r/864e5)}d`:t>=36e5?`${Math.round(r/36e5)}h`:t>=6e4?`${Math.round(r/6e4)}m`:t>=1e3?`${Math.round(r/1e3)}s`:`${r}ms`}function ka(r){let t=Math.abs(r);return t>=864e5?br(r,t,864e5,"day"):t>=36e5?br(r,t,36e5,"hour"):t>=6e4?br(r,t,6e4,"minute"):t>=1e3?br(r,t,1e3,"second"):`${r} ms`}function br(r,t,e,n){let o=t>=e*1.5;return`${Math.round(r/e)} ${n}${o?"s":""}`}function Oa(r){return typeof r=="object"&&r!==null&&"message"in r}var xr=dt(Y("node:process"),1),Ci=dt(Y("node:os"),1),oo=dt(Y("node:tty"),1);function xt(r,t=globalThis.Deno?globalThis.Deno.args:xr.default.argv){let e=r.startsWith("-")?"":r.length===1?"-":"--",n=t.indexOf(e+r),o=t.indexOf("--");return n!==-1&&(o===-1||n=2,has16m:r>=3}}function Ka(r,{streamIsTTY:t,sniffFlags:e=!0}={}){let n=Ua();n!==void 0&&(Er=n);let o=e?Er:n;if(o===0)return 0;if(e){if(xt("color=16m")||xt("color=full")||xt("color=truecolor"))return 3;if(xt("color=256"))return 2}if("TF_BUILD"in $&&"AGENT_NAME"in $)return 1;if(r&&!t&&o===void 0)return 0;let i=o||0;if($.TERM==="dumb")return i;if(xr.default.platform==="win32"){let s=Ci.default.release().split(".");return Number(s[0])>=10&&Number(s[2])>=10586?Number(s[2])>=14931?3:2:1}if("CI"in $)return"GITHUB_ACTIONS"in $||"GITEA_ACTIONS"in $?3:["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI","BUILDKITE","DRONE"].some(s=>s in $)||$.CI_NAME==="codeship"?1:i;if("TEAMCITY_VERSION"in $)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test($.TEAMCITY_VERSION)?1:0;if($.COLORTERM==="truecolor"||$.TERM==="xterm-kitty")return 3;if("TERM_PROGRAM"in $){let s=Number.parseInt(($.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch($.TERM_PROGRAM){case"iTerm.app":return s>=3?3:2;case"Apple_Terminal":return 2}}return/-256(color)?$/i.test($.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test($.TERM)||"COLORTERM"in $?1:i}function Pi(r,t={}){let e=Ka(r,{streamIsTTY:r&&r.isTTY,...t});return Ma(e)}var Va={stdout:Pi({isTTY:oo.default.isatty(1)}),stderr:Pi({isTTY:oo.default.isatty(2)})},Ir=Va;function io(r){e.debug=e,e.default=e,e.coerce=a,e.disable=i,e.enable=o,e.enabled=s,e.humanize=wr,e.destroy=d,Object.keys(r).forEach(l=>{e[l]=r[l]}),e.names=[],e.skips=[],e.formatters={};function t(l){let u=0;for(let g=0;g{if(I==="%%")return"%";_++;let R=e.formatters[A];if(typeof R=="function"){let X=p[_];I=R.call(m,X),p.splice(_,1),_--}return I}),e.formatArgs.call(m,p),(m.log||e.log).apply(m,p)}return f.namespace=l,f.useColors=e.useColors(),f.color=e.selectColor(l),f.extend=n,f.destroy=e.destroy,Object.defineProperty(f,"enabled",{enumerable:!0,configurable:!1,get:()=>g!==null?g:(y!==e.namespaces&&(y=e.namespaces,h=e.enabled(l)),h),set:p=>{g=p}}),typeof e.init=="function"&&e.init(f),f}function n(l,u){let g=e(this.namespace+(typeof u>"u"?":":u)+l);return g.log=this.log,g}function o(l){e.save(l),e.namespaces=l,e.names=[],e.skips=[];let u,g=(typeof l=="string"?l:"").split(/[\s,]+/),y=g.length;for(u=0;u"-"+u)].join(",");return e.enable(""),l}function s(l){if(l[l.length-1]==="*")return!0;let u,g;for(u=0,g=e.skips.length;u=2&&(Oi=[20,21,26,27,32,33,38,39,40,41,42,43,44,45,56,57,62,63,68,69,74,75,76,77,78,79,80,81,92,93,98,99,112,113,128,129,134,135,148,149,160,161,162,163,164,165,166,167,168,169,170,171,172,173,178,179,184,185,196,197,198,199,200,201,202,203,204,205,206,207,208,209,214,215,220,221]);var Re=Object.keys(process.env).filter(r=>/^debug_/i.test(r)).reduce((r,t)=>{let e=t.substring(6).toLowerCase().replace(/_([a-z])/g,(o,i)=>i.toUpperCase()),n=process.env[t];return/^(yes|on|true|enabled)$/i.test(n)?n=!0:/^(no|off|false|disabled)$/i.test(n)?n=!1:n==="null"?n=null:n=Number(n),r[e]=n,r},{});function Fa(){return"colors"in Re?!!Re.colors:ki.default.isatty(process.stderr.fd)}function $a(r){let{namespace:t,useColors:e}=this;if(e!=null){let n=this.color,o="\x1B[3"+(n<8?n:"8;5;"+n),i=` ${o};1m${t} \x1B[0m`;r[0]=i+r[0].split(` ++"use strict";var Libp2PDaemonClient=(()=>{var fc=Object.create;var or=Object.defineProperty;var dc=Object.getOwnPropertyDescriptor;var hc=Object.getOwnPropertyNames;var pc=Object.getPrototypeOf,mc=Object.prototype.hasOwnProperty;var Z=(r=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(r,{get:(t,e)=>(typeof require<"u"?require:t)[e]}):r)(function(r){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+r+'" is not supported')});var lt=(r,t)=>{for(var e in t)or(r,e,{get:t[e],enumerable:!0})},ci=(r,t,e,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of hc(t))!mc.call(r,o)&&o!==e&&or(r,o,{get:()=>t[o],enumerable:!(n=dc(t,o))||n.enumerable});return r};var pt=(r,t,e)=>(e=r!=null?fc(pc(r)):{},ci(t||!r||!r.__esModule?or(e,"default",{value:r,enumerable:!0}):e,r)),gc=r=>ci(or({},"__esModule",{value:!0}),r);var vl={};lt(vl,{OperationFailedError:()=>O,createClient:()=>El});var bn=Z("node:buffer");function ce(r){return new Uint8Array(r.buffer,r.byteOffset,r.byteLength)}function Rt(r=0){return ce(bn.Buffer.alloc(r))}function xt(r=0){return ce(bn.Buffer.allocUnsafe(r))}var yc=Math.pow(2,7),bc=Math.pow(2,14),wc=Math.pow(2,21),wn=Math.pow(2,28),xn=Math.pow(2,35),En=Math.pow(2,42),vn=Math.pow(2,49),N=128,ot=127;function it(r){if(rNumber.MAX_SAFE_INTEGER)throw new RangeError("Could not encode varint");return 8}function In(r,t,e=0){switch(it(r)){case 8:t[e++]=r&255|N,r/=128;case 7:t[e++]=r&255|N,r/=128;case 6:t[e++]=r&255|N,r/=128;case 5:t[e++]=r&255|N,r/=128;case 4:t[e++]=r&255|N,r>>>=7;case 3:t[e++]=r&255|N,r>>>=7;case 2:t[e++]=r&255|N,r>>>=7;case 1:{t[e++]=r&255,r>>>=7;break}default:throw new Error("unreachable")}return t}function xc(r,t,e=0){switch(it(r)){case 8:t.set(e++,r&255|N),r/=128;case 7:t.set(e++,r&255|N),r/=128;case 6:t.set(e++,r&255|N),r/=128;case 5:t.set(e++,r&255|N),r/=128;case 4:t.set(e++,r&255|N),r>>>=7;case 3:t.set(e++,r&255|N),r>>>=7;case 2:t.set(e++,r&255|N),r>>>=7;case 1:{t.set(e++,r&255),r>>>=7;break}default:throw new Error("unreachable")}return t}function Sn(r,t){let e=r[t],n=0;if(n+=e&ot,e>>31>0){let e=~this.lo+1>>>0,n=~this.hi>>>0;return e===0&&(n=n+1>>>0),-(e+n*4294967296)}return this.lo+this.hi*4294967296}toBigInt(t=!1){if(t)return BigInt(this.lo>>>0)+(BigInt(this.hi>>>0)<<32n);if(this.hi>>>31){let e=~this.lo+1>>>0,n=~this.hi>>>0;return e===0&&(n=n+1>>>0),-(BigInt(e)+(BigInt(n)<<32n))}return BigInt(this.lo>>>0)+(BigInt(this.hi>>>0)<<32n)}toString(t=!1){return this.toBigInt(t).toString()}zzEncode(){let t=this.hi>>31;return this.hi=((this.hi<<1|this.lo>>>31)^t)>>>0,this.lo=(this.lo<<1^t)>>>0,this}zzDecode(){let t=-(this.lo&1);return this.lo=((this.lo>>>1|this.hi<<31)^t)>>>0,this.hi=(this.hi>>>1^t)>>>0,this}length(){let t=this.lo,e=(this.lo>>>28|this.hi<<4)>>>0,n=this.hi>>>24;return n===0?e===0?t<16384?t<128?1:2:t<2097152?3:4:e<16384?e<128?5:6:e<2097152?7:8:n<128?9:10}static fromBigInt(t){if(t===0n)return ae;if(tIc)return this.fromNumber(Number(t));let e=t<0n;e&&(t=-t);let n=t>>32n,o=t-(n<<32n);return e&&(n=~n|0n,o=~o|0n,++o>di&&(o=0n,++n>di&&(n=0n))),new r(Number(o),Number(n))}static fromNumber(t){if(t===0)return ae;let e=t<0;e&&(t=-t);let n=t>>>0,o=(t-n)/4294967296>>>0;return e&&(o=~o>>>0,n=~n>>>0,++n>4294967295&&(n=0,++o>4294967295&&(o=0))),new r(n,o)}static from(t){return typeof t=="number"?r.fromNumber(t):typeof t=="bigint"?r.fromBigInt(t):typeof t=="string"?r.fromBigInt(BigInt(t)):t.low!=null||t.high!=null?new r(t.low>>>0,t.high>>>0):ae}},ae=new mt(0,0);ae.toBigInt=function(){return 0n};ae.zzEncode=ae.zzDecode=function(){return this};ae.length=function(){return 1};var di=4294967296n;function hi(r){let t=0,e=0;for(let n=0;n191&&c<224?i[s++]=(c&31)<<6|r[t++]&63:c>239&&c<365?(c=((c&7)<<18|(r[t++]&63)<<12|(r[t++]&63)<<6|r[t++]&63)-65536,i[s++]=55296+(c>>10),i[s++]=56320+(c&1023)):i[s++]=(c&15)<<12|(r[t++]&63)<<6|r[t++]&63,s>8191&&((o??(o=[])).push(String.fromCharCode.apply(String,i)),s=0);return o!=null?(s>0&&o.push(String.fromCharCode.apply(String,i.slice(0,s))),o.join("")):String.fromCharCode.apply(String,i.slice(0,s))}function Bn(r,t,e){let n=e,o,i;for(let s=0;s>6|192,t[e++]=o&63|128):(o&64512)===55296&&((i=r.charCodeAt(s+1))&64512)===56320?(o=65536+((o&1023)<<10)+(i&1023),++s,t[e++]=o>>18|240,t[e++]=o>>12&63|128,t[e++]=o>>6&63|128,t[e++]=o&63|128):(t[e++]=o>>12|224,t[e++]=o>>6&63|128,t[e++]=o&63|128);return e-n}function Lt(r,t){return RangeError(`index out of range: ${r.pos} + ${t??1} > ${r.len}`)}function ir(r,t){return(r[t-4]|r[t-3]<<8|r[t-2]<<16|r[t-1]<<24)>>>0}var Cn=class{buf;pos;len;_slice=Uint8Array.prototype.subarray;constructor(t){this.buf=t,this.pos=0,this.len=t.length}uint32(){let t=4294967295;if(t=(this.buf[this.pos]&127)>>>0,this.buf[this.pos++]<128||(t=(t|(this.buf[this.pos]&127)<<7)>>>0,this.buf[this.pos++]<128)||(t=(t|(this.buf[this.pos]&127)<<14)>>>0,this.buf[this.pos++]<128)||(t=(t|(this.buf[this.pos]&127)<<21)>>>0,this.buf[this.pos++]<128)||(t=(t|(this.buf[this.pos]&15)<<28)>>>0,this.buf[this.pos++]<128))return t;if((this.pos+=5)>this.len)throw this.pos=this.len,Lt(this,10);return t}int32(){return this.uint32()|0}sint32(){let t=this.uint32();return t>>>1^-(t&1)|0}bool(){return this.uint32()!==0}fixed32(){if(this.pos+4>this.len)throw Lt(this,4);return ir(this.buf,this.pos+=4)}sfixed32(){if(this.pos+4>this.len)throw Lt(this,4);return ir(this.buf,this.pos+=4)|0}float(){if(this.pos+4>this.len)throw Lt(this,4);let t=ui(this.buf,this.pos);return this.pos+=4,t}double(){if(this.pos+8>this.len)throw Lt(this,4);let t=fi(this.buf,this.pos);return this.pos+=8,t}bytes(){let t=this.uint32(),e=this.pos,n=this.pos+t;if(n>this.len)throw Lt(this,t);return this.pos+=t,e===n?new Uint8Array(0):this.buf.subarray(e,n)}string(){let t=this.bytes();return pi(t,0,t.length)}skip(t){if(typeof t=="number"){if(this.pos+t>this.len)throw Lt(this,t);this.pos+=t}else do if(this.pos>=this.len)throw Lt(this);while(this.buf[this.pos++]&128);return this}skipType(t){switch(t){case 0:this.skip();break;case 1:this.skip(8);break;case 2:this.skip(this.uint32());break;case 3:for(;(t=this.uint32()&7)!==4;)this.skipType(t);break;case 5:this.skip(4);break;default:throw Error(`invalid wire type ${t} at offset ${this.pos}`)}return this}readLongVarint(){let t=new mt(0,0),e=0;if(this.len-this.pos>4){for(;e<4;++e)if(t.lo=(t.lo|(this.buf[this.pos]&127)<>>0,this.buf[this.pos++]<128)return t;if(t.lo=(t.lo|(this.buf[this.pos]&127)<<28)>>>0,t.hi=(t.hi|(this.buf[this.pos]&127)>>4)>>>0,this.buf[this.pos++]<128)return t;e=0}else{for(;e<3;++e){if(this.pos>=this.len)throw Lt(this);if(t.lo=(t.lo|(this.buf[this.pos]&127)<>>0,this.buf[this.pos++]<128)return t}return t.lo=(t.lo|(this.buf[this.pos++]&127)<>>0,t}if(this.len-this.pos>4){for(;e<5;++e)if(t.hi=(t.hi|(this.buf[this.pos]&127)<>>0,this.buf[this.pos++]<128)return t}else for(;e<5;++e){if(this.pos>=this.len)throw Lt(this);if(t.hi=(t.hi|(this.buf[this.pos]&127)<>>0,this.buf[this.pos++]<128)return t}throw Error("invalid varint encoding")}readFixed64(){if(this.pos+8>this.len)throw Lt(this,8);let t=ir(this.buf,this.pos+=4),e=ir(this.buf,this.pos+=4);return new mt(t,e)}int64(){return this.readLongVarint().toBigInt()}int64Number(){return this.readLongVarint().toNumber()}int64String(){return this.readLongVarint().toString()}uint64(){return this.readLongVarint().toBigInt(!0)}uint64Number(){let t=Sn(this.buf,this.pos);return this.pos+=it(t),t}uint64String(){return this.readLongVarint().toString(!0)}sint64(){return this.readLongVarint().zzDecode().toBigInt()}sint64Number(){return this.readLongVarint().zzDecode().toNumber()}sint64String(){return this.readLongVarint().zzDecode().toString()}fixed64(){return this.readFixed64().toBigInt()}fixed64Number(){return this.readFixed64().toNumber()}fixed64String(){return this.readFixed64().toString()}sfixed64(){return this.readFixed64().toBigInt()}sfixed64Number(){return this.readFixed64().toNumber()}sfixed64String(){return this.readFixed64().toString()}};function Pn(r){return new Cn(r instanceof Uint8Array?r:r.subarray())}function K(r,t,e){let n=Pn(r);return t.decode(n,void 0,e)}var Ri=Z("node:buffer");var Rn={};lt(Rn,{base10:()=>Cc});var Ul=new Uint8Array(0);function gi(r,t){if(r===t)return!0;if(r.byteLength!==t.byteLength)return!1;for(let e=0;e=255)throw new TypeError("Alphabet too long");for(var e=new Uint8Array(256),n=0;n>>0,C=new Uint8Array(S);m!==w;){for(var B=h[m],E=0,I=S-1;(B!==0||E>>0,C[I]=B%c>>>0,B=B/c>>>0;if(B!==0)throw new Error("Non-zero carry");p=E,m++}for(var T=S-p;T!==S&&C[T]===0;)T++;for(var Q=a.repeat(f);T>>0,S=new Uint8Array(w);h[f];){var C=e[h.charCodeAt(f)];if(C===255)return;for(var B=0,E=w-1;(C!==0||B>>0,S[E]=C%256>>>0,C=C/256>>>0;if(C!==0)throw new Error("Non-zero carry");m=B,f++}if(h[f]!==" "){for(var I=w-m;I!==w&&S[I]===0;)I++;for(var T=new Uint8Array(p+(w-I)),Q=p;I!==w;)T[Q++]=S[I++];return T}}}function y(h){var f=g(h);if(f)return f;throw new Error(`Non-${t} character`)}return{encode:u,decodeUnsafe:g,decode:y}}var Ac=Sc,Tc=Ac,xi=Tc;var Nn=class{name;prefix;baseEncode;constructor(t,e,n){this.name=t,this.prefix=e,this.baseEncode=n}encode(t){if(t instanceof Uint8Array)return`${this.prefix}${this.baseEncode(t)}`;throw Error("Unknown type, must be binary type")}},kn=class{name;prefix;baseDecode;prefixCodePoint;constructor(t,e,n){if(this.name=t,this.prefix=e,e.codePointAt(0)===void 0)throw new Error("Invalid prefix character");this.prefixCodePoint=e.codePointAt(0),this.baseDecode=n}decode(t){if(typeof t=="string"){if(t.codePointAt(0)!==this.prefixCodePoint)throw Error(`Unable to decode multibase string ${JSON.stringify(t)}, ${this.name} decoder only supports inputs prefixed with ${this.prefix}`);return this.baseDecode(t.slice(this.prefix.length))}else throw Error("Can only multibase decode strings")}or(t){return Ei(this,t)}},Dn=class{decoders;constructor(t){this.decoders=t}or(t){return Ei(this,t)}decode(t){let e=t[0],n=this.decoders[e];if(n!=null)return n.decode(t);throw RangeError(`Unable to decode multibase string ${JSON.stringify(t)}, only inputs prefixed with ${Object.keys(this.decoders)} are supported`)}};function Ei(r,t){return new Dn({...r.decoders??{[r.prefix]:r},...t.decoders??{[t.prefix]:t}})}var On=class{name;prefix;baseEncode;baseDecode;encoder;decoder;constructor(t,e,n,o){this.name=t,this.prefix=e,this.baseEncode=n,this.baseDecode=o,this.encoder=new Nn(t,e,n),this.decoder=new kn(t,e,o)}encode(t){return this.encoder.encode(t)}decode(t){return this.decoder.decode(t)}};function ve({name:r,prefix:t,encode:e,decode:n}){return new On(r,t,e,n)}function Yt({name:r,prefix:t,alphabet:e}){let{encode:n,decode:o}=xi(e,r);return ve({prefix:t,name:r,encode:n,decode:i=>Et(o(i))})}function Lc(r,t,e,n){let o={};for(let l=0;l=8&&(c-=8,s[d++]=255&a>>c)}if(c>=e||255&a<<8-c)throw new SyntaxError("Unexpected end of data");return s}function Bc(r,t,e){let n=t[t.length-1]==="=",o=(1<e;)s-=e,i+=t[o&c>>s];if(s!==0&&(i+=t[o&c<Pc,base16upper:()=>Nc});var Pc=z({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),Nc=z({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var _n={};lt(_n,{base2:()=>kc});var kc=z({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var Mn={};lt(Mn,{base256emoji:()=>_c});var vi=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}"),Dc=vi.reduce((r,t,e)=>(r[e]=t,r),[]),Oc=vi.reduce((r,t,e)=>(r[t.codePointAt(0)]=e,r),[]);function Rc(r){return r.reduce((t,e)=>(t+=Dc[e],t),"")}function Uc(r){let t=[];for(let e of r){let n=Oc[e.codePointAt(0)];if(n===void 0)throw new Error(`Non-base256emoji character: ${e}`);t.push(n)}return new Uint8Array(t)}var _c=ve({prefix:"\u{1F680}",name:"base256emoji",encode:Rc,decode:Uc});var Kn={};lt(Kn,{base32:()=>Bt,base32hex:()=>Vc,base32hexpad:()=>Gc,base32hexpadupper:()=>zc,base32hexupper:()=>Fc,base32pad:()=>Kc,base32padupper:()=>$c,base32upper:()=>Mc,base32z:()=>Hc});var Bt=z({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),Mc=z({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),Kc=z({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),$c=z({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),Vc=z({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),Fc=z({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),Gc=z({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),zc=z({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),Hc=z({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var $n={};lt($n,{base36:()=>qc,base36upper:()=>Wc});var qc=Yt({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),Wc=Yt({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var Vn={};lt(Vn,{base58btc:()=>$,base58flickr:()=>Yc});var $=Yt({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),Yc=Yt({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var Gn={};lt(Gn,{base64:()=>Fn,base64pad:()=>Zc,base64url:()=>Xc,base64urlpad:()=>Jc});var Fn=z({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),Zc=z({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),Xc=z({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),Jc=z({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});var zn={};lt(zn,{base8:()=>Qc});var Qc=z({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var Hn={};lt(Hn,{identity:()=>jc});var jc=ve({prefix:"\0",name:"identity",encode:r=>bi(r),decode:r=>yi(r)});var Ql=new TextEncoder,jl=new TextDecoder;var Wn={};lt(Wn,{identity:()=>_t});var ra=Ai,Ii=128,na=127,oa=~na,ia=Math.pow(2,31);function Ai(r,t,e){t=t||[],e=e||0;for(var n=e;r>=ia;)t[e++]=r&255|Ii,r/=128;for(;r&oa;)t[e++]=r&255|Ii,r>>>=7;return t[e]=r|0,Ai.bytes=e-n+1,t}var sa=qn,ca=128,Si=127;function qn(r,n){var e=0,n=n||0,o=0,i=n,s,c=r.length;do{if(i>=c)throw qn.bytes=0,new RangeError("Could not decode varint");s=r[i++],e+=o<28?(s&Si)<=ca);return qn.bytes=i-n,e}var aa=Math.pow(2,7),ua=Math.pow(2,14),la=Math.pow(2,21),fa=Math.pow(2,28),da=Math.pow(2,35),ha=Math.pow(2,42),pa=Math.pow(2,49),ma=Math.pow(2,56),ga=Math.pow(2,63),ya=function(r){return rJn,sha512:()=>va});var Xn=pt(Z("crypto"),1);function Zn({name:r,code:t,encode:e}){return new Yn(r,t,e)}var Yn=class{name;code;encode;constructor(t,e,n){this.name=t,this.code=e,this.encode=n}digest(t){if(t instanceof Uint8Array){let e=this.encode(t);return e instanceof Uint8Array?ue(this.code,e):e.then(n=>ue(this.code,n))}else throw Error("Unknown type, must be binary type")}};var Jn=Zn({name:"sha2-256",code:18,encode:r=>Et(Xn.default.createHash("sha256").update(r).digest())}),va=Zn({name:"sha2-512",code:19,encode:r=>Et(Xn.default.createHash("sha512").update(r).digest())});function Pi(r,t){let{bytes:e,version:n}=r;switch(n){case 0:return Sa(e,jn(r),t??$.encoder);default:return Aa(e,jn(r),t??Bt.encoder)}}var Ni=new WeakMap;function jn(r){let t=Ni.get(r);if(t==null){let e=new Map;return Ni.set(r,e),e}return t}var tt=class r{code;version;multihash;bytes;"/";constructor(t,e,n,o){this.code=e,this.version=t,this.multihash=n,this.bytes=o,this["/"]=o}get asCID(){return this}get byteOffset(){return this.bytes.byteOffset}get byteLength(){return this.bytes.byteLength}toV0(){switch(this.version){case 0:return this;case 1:{let{code:t,multihash:e}=this;if(t!==Fe)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(e.code!==Ta)throw new Error("Cannot convert non sha2-256 multihash CID to CIDv0");return r.createV0(e)}default:throw Error(`Can not convert CID version ${this.version} to version 0. This is a bug please report`)}}toV1(){switch(this.version){case 0:{let{code:t,digest:e}=this.multihash,n=ue(t,e);return r.createV1(this.code,n)}case 1:return this;default:throw Error(`Can not convert CID version ${this.version} to version 1. This is a bug please report`)}}equals(t){return r.equals(this,t)}static equals(t,e){let n=e;return n!=null&&t.code===n.code&&t.version===n.version&&Ti(t.multihash,n.multihash)}toString(t){return Pi(this,t)}toJSON(){return{"/":Pi(this)}}link(){return this}[Symbol.toStringTag]="CID";[Symbol.for("nodejs.util.inspect.custom")](){return`CID(${this.toString()})`}static asCID(t){if(t==null)return null;let e=t;if(e instanceof r)return e;if(e["/"]!=null&&e["/"]===e.bytes||e.asCID===e){let{version:n,code:o,multihash:i,bytes:s}=e;return new r(n,o,i,s??ki(n,o,i.bytes))}else if(e[La]===!0){let{version:n,multihash:o,code:i}=e,s=ft(o);return r.create(n,i,s)}else return null}static create(t,e,n){if(typeof e!="number")throw new Error("String codecs are no longer supported");if(!(n.bytes instanceof Uint8Array))throw new Error("Invalid digest");switch(t){case 0:{if(e!==Fe)throw new Error(`Version 0 CID must use dag-pb (code: ${Fe}) block encoding`);return new r(t,e,n,n.bytes)}case 1:{let o=ki(t,e,n.bytes);return new r(t,e,n,o)}default:throw new Error("Invalid version")}}static createV0(t){return r.create(0,Fe,t)}static createV1(t,e){return r.create(1,t,e)}static decode(t){let[e,n]=r.decodeFirst(t);if(n.length!==0)throw new Error("Incorrect length");return e}static decodeFirst(t){let e=r.inspectBytes(t),n=e.size-e.multihashSize,o=Et(t.subarray(n,n+e.multihashSize));if(o.byteLength!==e.multihashSize)throw new Error("Incorrect length");let i=o.subarray(e.multihashSize-e.digestSize),s=new Ae(e.multihashCode,e.digestSize,i,o);return[e.version===0?r.createV0(s):r.createV1(e.codec,s),t.subarray(e.size)]}static inspectBytes(t){let e=0,n=()=>{let[u,g]=Ve(t.subarray(e));return e+=g,u},o=n(),i=Fe;if(o===18?(o=0,e=0):i=n(),o!==0&&o!==1)throw new RangeError(`Invalid CID version ${o}`);let s=e,c=n(),a=n(),d=e+a,l=d-s;return{version:o,codec:i,multihashCode:c,digestSize:a,multihashSize:l,size:d}}static parse(t,e){let[n,o]=Ia(t,e),i=r.decode(o);if(i.version===0&&t[0]!=="Q")throw Error("Version 0 CID string must not include multibase prefix");return jn(i).set(n,t),i}};function Ia(r,t){switch(r[0]){case"Q":{let e=t??$;return[$.prefix,e.decode(`${$.prefix}${r}`)]}case $.prefix:{let e=t??$;return[$.prefix,e.decode(r)]}case Bt.prefix:{let e=t??Bt;return[Bt.prefix,e.decode(r)]}default:{if(t==null)throw Error("To parse non base32 or base58btc encoded CID multibase decoder must be provided");return[r[0],t.decode(r)]}}}function Sa(r,t,e){let{prefix:n}=e;if(n!==$.prefix)throw Error(`Cannot string encode V0 in ${e.name} encoding`);let o=t.get(n);if(o==null){let i=e.encode(r).slice(1);return t.set(n,i),i}else return o}function Aa(r,t,e){let{prefix:n}=e,o=t.get(n);if(o==null){let i=e.encode(r);return t.set(n,i),i}else return o}var Fe=112,Ta=18;function ki(r,t,e){let n=Se(r),o=n+Se(t),i=new Uint8Array(o+e.byteLength);return Ie(r,i,0),Ie(t,i,n),i.set(e,o),i}var La=Symbol.for("@ipld/js-cid/CID");var Ge={...Hn,..._n,...zn,...Rn,...Un,...Kn,...$n,...Vn,...Gn,...Mn},vf={...Qn,...Wn};function Oi(r,t,e,n){return{name:r,prefix:t,encoder:{name:r,prefix:t,encode:e},decoder:{decode:n}}}var Di=Oi("utf8","u",r=>"u"+new TextDecoder("utf8").decode(r),r=>new TextEncoder().encode(r.substring(1))),to=Oi("ascii","a",r=>{let t="a";for(let e=0;e{r=r.substring(1);let t=xt(r.length);for(let e=0;e>>1,n,o=t;return function(s){if(s<1||s>e)return xt(s);o+s>t&&(n=xt(t),o=0);let c=n.subarray(o,o+=s);return o&7&&(o=(o|7)+1),c}}var le=class{fn;len;next;val;constructor(t,e,n){this.fn=t,this.len=e,this.next=void 0,this.val=n}};function ro(){}var oo=class{head;tail;len;next;constructor(t){this.head=t.head,this.tail=t.tail,this.len=t.len,this.next=t.states}},Ca=eo();function Pa(r){return globalThis.Buffer!=null?xt(r):Ca(r)}var He=class{len;head;tail;states;constructor(){this.len=0,this.head=new le(ro,0,0),this.tail=this.head,this.states=null}_push(t,e,n){return this.tail=this.tail.next=new le(t,e,n),this.len+=e,this}uint32(t){return this.len+=(this.tail=this.tail.next=new io((t=t>>>0)<128?1:t<16384?2:t<2097152?3:t<268435456?4:5,t)).len,this}int32(t){return t<0?this._push(ar,10,mt.fromNumber(t)):this.uint32(t)}sint32(t){return this.uint32((t<<1^t>>31)>>>0)}uint64(t){let e=mt.fromBigInt(t);return this._push(ar,e.length(),e)}uint64Number(t){return this._push(In,it(t),t)}uint64String(t){return this.uint64(BigInt(t))}int64(t){return this.uint64(t)}int64Number(t){return this.uint64Number(t)}int64String(t){return this.uint64String(t)}sint64(t){let e=mt.fromBigInt(t).zzEncode();return this._push(ar,e.length(),e)}sint64Number(t){let e=mt.fromNumber(t).zzEncode();return this._push(ar,e.length(),e)}sint64String(t){return this.sint64(BigInt(t))}bool(t){return this._push(no,1,t?1:0)}fixed32(t){return this._push(ze,4,t>>>0)}sfixed32(t){return this.fixed32(t)}fixed64(t){let e=mt.fromBigInt(t);return this._push(ze,4,e.lo)._push(ze,4,e.hi)}fixed64Number(t){let e=mt.fromNumber(t);return this._push(ze,4,e.lo)._push(ze,4,e.hi)}fixed64String(t){return this.fixed64(BigInt(t))}sfixed64(t){return this.fixed64(t)}sfixed64Number(t){return this.fixed64Number(t)}sfixed64String(t){return this.fixed64String(t)}float(t){return this._push(ai,4,t)}double(t){return this._push(li,8,t)}bytes(t){let e=t.length>>>0;return e===0?this._push(no,1,0):this.uint32(e)._push(ka,e,t)}string(t){let e=hi(t);return e!==0?this.uint32(e)._push(Bn,e,t):this._push(no,1,0)}fork(){return this.states=new oo(this),this.head=this.tail=new le(ro,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 le(ro,0,0),this.len=0),this}ldelim(){let t=this.head,e=this.tail,n=this.len;return this.reset().uint32(n),n!==0&&(this.tail.next=t.next,this.tail=e,this.len+=n),this}finish(){let t=this.head.next,e=Pa(this.len),n=0;for(;t!=null;)t.fn(t.val,e,n),n+=t.len,t=t.next;return e}};function no(r,t,e){t[e]=r&255}function Na(r,t,e){for(;r>127;)t[e++]=r&127|128,r>>>=7;t[e]=r}var io=class extends le{next;constructor(t,e){super(Na,t,e),this.next=void 0}};function ar(r,t,e){for(;r.hi!==0;)t[e++]=r.lo&127|128,r.lo=(r.lo>>>7|r.hi<<25)>>>0,r.hi>>>=7;for(;r.lo>127;)t[e++]=r.lo&127|128,r.lo=r.lo>>>7;t[e++]=r.lo}function ze(r,t,e){t[e]=r&255,t[e+1]=r>>>8&255,t[e+2]=r>>>16&255,t[e+3]=r>>>24}function ka(r,t,e){t.set(r,e)}globalThis.Buffer!=null&&(He.prototype.bytes=function(r){let t=r.length>>>0;return this.uint32(t),t>0&&this._push(Da,t,r),this},He.prototype.string=function(r){let t=globalThis.Buffer.byteLength(r);return this.uint32(t),t>0&&this._push(Oa,t,r),this});function Da(r,t,e){t.set(r,e)}function Oa(r,t,e){r.length<40?Bn(r,t,e):t.utf8Write!=null?t.utf8Write(r,e):t.set(Zt(r),e)}function so(){return new He}function V(r,t){let e=so();return t.encode(r,e,{lengthDelimited:!1}),e.finish()}var Te;(function(r){r[r.VARINT=0]="VARINT",r[r.BIT64=1]="BIT64",r[r.LENGTH_DELIMITED=2]="LENGTH_DELIMITED",r[r.START_GROUP=3]="START_GROUP",r[r.END_GROUP=4]="END_GROUP",r[r.BIT32=5]="BIT32"})(Te||(Te={}));function ur(r,t,e,n){return{name:r,type:t,encode:e,decode:n}}function Ct(r){function t(o){if(r[o.toString()]==null)throw new Error("Invalid enum value");return r[o]}let e=function(i,s){let c=t(i);s.int32(c)},n=function(i){let s=i.int32();return t(s)};return ur("enum",Te.VARINT,e,n)}function F(r,t){return ur("message",Te.LENGTH_DELIMITED,r,t)}var H;(function(r){let t;(function(o){o.IDENTIFY="IDENTIFY",o.CONNECT="CONNECT",o.STREAM_OPEN="STREAM_OPEN",o.STREAM_HANDLER="STREAM_HANDLER",o.DHT="DHT",o.LIST_PEERS="LIST_PEERS",o.CONNMANAGER="CONNMANAGER",o.DISCONNECT="DISCONNECT",o.PUBSUB="PUBSUB",o.PEERSTORE="PEERSTORE"})(t=r.Type||(r.Type={}));let e;(function(o){o[o.IDENTIFY=0]="IDENTIFY",o[o.CONNECT=1]="CONNECT",o[o.STREAM_OPEN=2]="STREAM_OPEN",o[o.STREAM_HANDLER=3]="STREAM_HANDLER",o[o.DHT=4]="DHT",o[o.LIST_PEERS=5]="LIST_PEERS",o[o.CONNMANAGER=6]="CONNMANAGER",o[o.DISCONNECT=7]="DISCONNECT",o[o.PUBSUB=8]="PUBSUB",o[o.PEERSTORE=9]="PEERSTORE"})(e||(e={})),function(o){o.codec=()=>Ct(e)}(t=r.Type||(r.Type={}));let n;r.codec=()=>(n==null&&(n=F((o,i,s={})=>{s.lengthDelimited!==!1&&i.fork(),o.type!=null&&(i.uint32(8),r.Type.codec().encode(o.type,i)),o.connect!=null&&(i.uint32(18),fr.codec().encode(o.connect,i)),o.streamOpen!=null&&(i.uint32(26),dr.codec().encode(o.streamOpen,i)),o.streamHandler!=null&&(i.uint32(34),hr.codec().encode(o.streamHandler,i)),o.dht!=null&&(i.uint32(42),vt.codec().encode(o.dht,i)),o.connManager!=null&&(i.uint32(50),mr.codec().encode(o.connManager,i)),o.disconnect!=null&&(i.uint32(58),gr.codec().encode(o.disconnect,i)),o.pubsub!=null&&(i.uint32(66),Mt.codec().encode(o.pubsub,i)),o.peerStore!=null&&(i.uint32(74),wr.codec().encode(o.peerStore,i)),s.lengthDelimited!==!1&&i.ldelim()},(o,i)=>{let s={},c=i==null?o.len:o.pos+i;for(;o.pos>>3){case 1:s.type=r.Type.codec().decode(o);break;case 2:s.connect=fr.codec().decode(o,o.uint32());break;case 3:s.streamOpen=dr.codec().decode(o,o.uint32());break;case 4:s.streamHandler=hr.codec().decode(o,o.uint32());break;case 5:s.dht=vt.codec().decode(o,o.uint32());break;case 6:s.connManager=mr.codec().decode(o,o.uint32());break;case 7:s.disconnect=gr.codec().decode(o,o.uint32());break;case 8:s.pubsub=Mt.codec().decode(o,o.uint32());break;case 9:s.peerStore=wr.codec().decode(o,o.uint32());break;default:o.skipType(a&7);break}}return s})),n),r.encode=o=>V(o,r.codec()),r.decode=o=>K(o,r.codec())})(H||(H={}));var P;(function(r){let t;(function(o){o.OK="OK",o.ERROR="ERROR"})(t=r.Type||(r.Type={}));let e;(function(o){o[o.OK=0]="OK",o[o.ERROR=1]="ERROR"})(e||(e={})),function(o){o.codec=()=>Ct(e)}(t=r.Type||(r.Type={}));let n;r.codec=()=>(n==null&&(n=F((o,i,s={})=>{if(s.lengthDelimited!==!1&&i.fork(),o.type!=null&&(i.uint32(8),r.Type.codec().encode(o.type,i)),o.error!=null&&(i.uint32(18),pr.codec().encode(o.error,i)),o.streamInfo!=null&&(i.uint32(26),Le.codec().encode(o.streamInfo,i)),o.identify!=null&&(i.uint32(34),lr.codec().encode(o.identify,i)),o.dht!=null&&(i.uint32(42),Pt.codec().encode(o.dht,i)),o.peers!=null)for(let c of o.peers)i.uint32(50),Xt.codec().encode(c,i);o.pubsub!=null&&(i.uint32(58),br.codec().encode(o.pubsub,i)),o.peerStore!=null&&(i.uint32(66),xr.codec().encode(o.peerStore,i)),s.lengthDelimited!==!1&&i.ldelim()},(o,i)=>{let s={peers:[]},c=i==null?o.len:o.pos+i;for(;o.pos>>3){case 1:s.type=r.Type.codec().decode(o);break;case 2:s.error=pr.codec().decode(o,o.uint32());break;case 3:s.streamInfo=Le.codec().decode(o,o.uint32());break;case 4:s.identify=lr.codec().decode(o,o.uint32());break;case 5:s.dht=Pt.codec().decode(o,o.uint32());break;case 6:s.peers.push(Xt.codec().decode(o,o.uint32()));break;case 7:s.pubsub=br.codec().decode(o,o.uint32());break;case 8:s.peerStore=xr.codec().decode(o,o.uint32());break;default:o.skipType(a&7);break}}return s})),n),r.encode=o=>V(o,r.codec()),r.decode=o=>K(o,r.codec())})(P||(P={}));var lr;(function(r){let t;r.codec=()=>(t==null&&(t=F((e,n,o={})=>{if(o.lengthDelimited!==!1&&n.fork(),e.id!=null&&e.id.byteLength>0&&(n.uint32(10),n.bytes(e.id)),e.addrs!=null)for(let i of e.addrs)n.uint32(18),n.bytes(i);o.lengthDelimited!==!1&&n.ldelim()},(e,n)=>{let o={id:new Uint8Array(0),addrs:[]},i=n==null?e.len:e.pos+n;for(;e.pos>>3){case 1:o.id=e.bytes();break;case 2:o.addrs.push(e.bytes());break;default:e.skipType(s&7);break}}return o})),t),r.encode=e=>V(e,r.codec()),r.decode=e=>K(e,r.codec())})(lr||(lr={}));var fr;(function(r){let t;r.codec=()=>(t==null&&(t=F((e,n,o={})=>{if(o.lengthDelimited!==!1&&n.fork(),e.peer!=null&&e.peer.byteLength>0&&(n.uint32(10),n.bytes(e.peer)),e.addrs!=null)for(let i of e.addrs)n.uint32(18),n.bytes(i);e.timeout!=null&&(n.uint32(24),n.int64(e.timeout)),o.lengthDelimited!==!1&&n.ldelim()},(e,n)=>{let o={peer:new Uint8Array(0),addrs:[]},i=n==null?e.len:e.pos+n;for(;e.pos>>3){case 1:o.peer=e.bytes();break;case 2:o.addrs.push(e.bytes());break;case 3:o.timeout=e.int64();break;default:e.skipType(s&7);break}}return o})),t),r.encode=e=>V(e,r.codec()),r.decode=e=>K(e,r.codec())})(fr||(fr={}));var dr;(function(r){let t;r.codec=()=>(t==null&&(t=F((e,n,o={})=>{if(o.lengthDelimited!==!1&&n.fork(),e.peer!=null&&e.peer.byteLength>0&&(n.uint32(10),n.bytes(e.peer)),e.proto!=null)for(let i of e.proto)n.uint32(18),n.string(i);e.timeout!=null&&(n.uint32(24),n.int64(e.timeout)),o.lengthDelimited!==!1&&n.ldelim()},(e,n)=>{let o={peer:new Uint8Array(0),proto:[]},i=n==null?e.len:e.pos+n;for(;e.pos>>3){case 1:o.peer=e.bytes();break;case 2:o.proto.push(e.string());break;case 3:o.timeout=e.int64();break;default:e.skipType(s&7);break}}return o})),t),r.encode=e=>V(e,r.codec()),r.decode=e=>K(e,r.codec())})(dr||(dr={}));var hr;(function(r){let t;r.codec=()=>(t==null&&(t=F((e,n,o={})=>{if(o.lengthDelimited!==!1&&n.fork(),e.addr!=null&&e.addr.byteLength>0&&(n.uint32(10),n.bytes(e.addr)),e.proto!=null)for(let i of e.proto)n.uint32(18),n.string(i);o.lengthDelimited!==!1&&n.ldelim()},(e,n)=>{let o={addr:new Uint8Array(0),proto:[]},i=n==null?e.len:e.pos+n;for(;e.pos>>3){case 1:o.addr=e.bytes();break;case 2:o.proto.push(e.string());break;default:e.skipType(s&7);break}}return o})),t),r.encode=e=>V(e,r.codec()),r.decode=e=>K(e,r.codec())})(hr||(hr={}));var pr;(function(r){let t;r.codec=()=>(t==null&&(t=F((e,n,o={})=>{o.lengthDelimited!==!1&&n.fork(),e.msg!=null&&e.msg!==""&&(n.uint32(10),n.string(e.msg)),o.lengthDelimited!==!1&&n.ldelim()},(e,n)=>{let o={msg:""},i=n==null?e.len:e.pos+n;for(;e.pos>>3){case 1:o.msg=e.string();break;default:e.skipType(s&7);break}}return o})),t),r.encode=e=>V(e,r.codec()),r.decode=e=>K(e,r.codec())})(pr||(pr={}));var Le;(function(r){let t;r.codec=()=>(t==null&&(t=F((e,n,o={})=>{o.lengthDelimited!==!1&&n.fork(),e.peer!=null&&e.peer.byteLength>0&&(n.uint32(10),n.bytes(e.peer)),e.addr!=null&&e.addr.byteLength>0&&(n.uint32(18),n.bytes(e.addr)),e.proto!=null&&e.proto!==""&&(n.uint32(26),n.string(e.proto)),o.lengthDelimited!==!1&&n.ldelim()},(e,n)=>{let o={peer:new Uint8Array(0),addr:new Uint8Array(0),proto:""},i=n==null?e.len:e.pos+n;for(;e.pos>>3){case 1:o.peer=e.bytes();break;case 2:o.addr=e.bytes();break;case 3:o.proto=e.string();break;default:e.skipType(s&7);break}}return o})),t),r.encode=e=>V(e,r.codec()),r.decode=e=>K(e,r.codec())})(Le||(Le={}));var vt;(function(r){let t;(function(o){o.FIND_PEER="FIND_PEER",o.FIND_PEERS_CONNECTED_TO_PEER="FIND_PEERS_CONNECTED_TO_PEER",o.FIND_PROVIDERS="FIND_PROVIDERS",o.GET_CLOSEST_PEERS="GET_CLOSEST_PEERS",o.GET_PUBLIC_KEY="GET_PUBLIC_KEY",o.GET_VALUE="GET_VALUE",o.SEARCH_VALUE="SEARCH_VALUE",o.PUT_VALUE="PUT_VALUE",o.PROVIDE="PROVIDE"})(t=r.Type||(r.Type={}));let e;(function(o){o[o.FIND_PEER=0]="FIND_PEER",o[o.FIND_PEERS_CONNECTED_TO_PEER=1]="FIND_PEERS_CONNECTED_TO_PEER",o[o.FIND_PROVIDERS=2]="FIND_PROVIDERS",o[o.GET_CLOSEST_PEERS=3]="GET_CLOSEST_PEERS",o[o.GET_PUBLIC_KEY=4]="GET_PUBLIC_KEY",o[o.GET_VALUE=5]="GET_VALUE",o[o.SEARCH_VALUE=6]="SEARCH_VALUE",o[o.PUT_VALUE=7]="PUT_VALUE",o[o.PROVIDE=8]="PROVIDE"})(e||(e={})),function(o){o.codec=()=>Ct(e)}(t=r.Type||(r.Type={}));let n;r.codec=()=>(n==null&&(n=F((o,i,s={})=>{s.lengthDelimited!==!1&&i.fork(),o.type!=null&&(i.uint32(8),r.Type.codec().encode(o.type,i)),o.peer!=null&&(i.uint32(18),i.bytes(o.peer)),o.cid!=null&&(i.uint32(26),i.bytes(o.cid)),o.key!=null&&(i.uint32(34),i.bytes(o.key)),o.value!=null&&(i.uint32(42),i.bytes(o.value)),o.count!=null&&(i.uint32(48),i.int32(o.count)),o.timeout!=null&&(i.uint32(56),i.int64(o.timeout)),s.lengthDelimited!==!1&&i.ldelim()},(o,i)=>{let s={},c=i==null?o.len:o.pos+i;for(;o.pos>>3){case 1:s.type=r.Type.codec().decode(o);break;case 2:s.peer=o.bytes();break;case 3:s.cid=o.bytes();break;case 4:s.key=o.bytes();break;case 5:s.value=o.bytes();break;case 6:s.count=o.int32();break;case 7:s.timeout=o.int64();break;default:o.skipType(a&7);break}}return s})),n),r.encode=o=>V(o,r.codec()),r.decode=o=>K(o,r.codec())})(vt||(vt={}));var Pt;(function(r){let t;(function(o){o.BEGIN="BEGIN",o.VALUE="VALUE",o.END="END"})(t=r.Type||(r.Type={}));let e;(function(o){o[o.BEGIN=0]="BEGIN",o[o.VALUE=1]="VALUE",o[o.END=2]="END"})(e||(e={})),function(o){o.codec=()=>Ct(e)}(t=r.Type||(r.Type={}));let n;r.codec=()=>(n==null&&(n=F((o,i,s={})=>{s.lengthDelimited!==!1&&i.fork(),o.type!=null&&(i.uint32(8),r.Type.codec().encode(o.type,i)),o.peer!=null&&(i.uint32(18),Xt.codec().encode(o.peer,i)),o.value!=null&&(i.uint32(26),i.bytes(o.value)),s.lengthDelimited!==!1&&i.ldelim()},(o,i)=>{let s={},c=i==null?o.len:o.pos+i;for(;o.pos>>3){case 1:s.type=r.Type.codec().decode(o);break;case 2:s.peer=Xt.codec().decode(o,o.uint32());break;case 3:s.value=o.bytes();break;default:o.skipType(a&7);break}}return s})),n),r.encode=o=>V(o,r.codec()),r.decode=o=>K(o,r.codec())})(Pt||(Pt={}));var Xt;(function(r){let t;r.codec=()=>(t==null&&(t=F((e,n,o={})=>{if(o.lengthDelimited!==!1&&n.fork(),e.id!=null&&e.id.byteLength>0&&(n.uint32(10),n.bytes(e.id)),e.addrs!=null)for(let i of e.addrs)n.uint32(18),n.bytes(i);o.lengthDelimited!==!1&&n.ldelim()},(e,n)=>{let o={id:new Uint8Array(0),addrs:[]},i=n==null?e.len:e.pos+n;for(;e.pos>>3){case 1:o.id=e.bytes();break;case 2:o.addrs.push(e.bytes());break;default:e.skipType(s&7);break}}return o})),t),r.encode=e=>V(e,r.codec()),r.decode=e=>K(e,r.codec())})(Xt||(Xt={}));var mr;(function(r){let t;(function(o){o.TAG_PEER="TAG_PEER",o.UNTAG_PEER="UNTAG_PEER",o.TRIM="TRIM"})(t=r.Type||(r.Type={}));let e;(function(o){o[o.TAG_PEER=0]="TAG_PEER",o[o.UNTAG_PEER=1]="UNTAG_PEER",o[o.TRIM=2]="TRIM"})(e||(e={})),function(o){o.codec=()=>Ct(e)}(t=r.Type||(r.Type={}));let n;r.codec=()=>(n==null&&(n=F((o,i,s={})=>{s.lengthDelimited!==!1&&i.fork(),o.type!=null&&(i.uint32(8),r.Type.codec().encode(o.type,i)),o.peer!=null&&(i.uint32(18),i.bytes(o.peer)),o.tag!=null&&(i.uint32(26),i.string(o.tag)),o.weight!=null&&(i.uint32(32),i.int64(o.weight)),s.lengthDelimited!==!1&&i.ldelim()},(o,i)=>{let s={},c=i==null?o.len:o.pos+i;for(;o.pos>>3){case 1:s.type=r.Type.codec().decode(o);break;case 2:s.peer=o.bytes();break;case 3:s.tag=o.string();break;case 4:s.weight=o.int64();break;default:o.skipType(a&7);break}}return s})),n),r.encode=o=>V(o,r.codec()),r.decode=o=>K(o,r.codec())})(mr||(mr={}));var gr;(function(r){let t;r.codec=()=>(t==null&&(t=F((e,n,o={})=>{o.lengthDelimited!==!1&&n.fork(),e.peer!=null&&e.peer.byteLength>0&&(n.uint32(10),n.bytes(e.peer)),o.lengthDelimited!==!1&&n.ldelim()},(e,n)=>{let o={peer:new Uint8Array(0)},i=n==null?e.len:e.pos+n;for(;e.pos>>3){case 1:o.peer=e.bytes();break;default:e.skipType(s&7);break}}return o})),t),r.encode=e=>V(e,r.codec()),r.decode=e=>K(e,r.codec())})(gr||(gr={}));var Mt;(function(r){let t;(function(o){o.GET_TOPICS="GET_TOPICS",o.LIST_PEERS="LIST_PEERS",o.PUBLISH="PUBLISH",o.SUBSCRIBE="SUBSCRIBE"})(t=r.Type||(r.Type={}));let e;(function(o){o[o.GET_TOPICS=0]="GET_TOPICS",o[o.LIST_PEERS=1]="LIST_PEERS",o[o.PUBLISH=2]="PUBLISH",o[o.SUBSCRIBE=3]="SUBSCRIBE"})(e||(e={})),function(o){o.codec=()=>Ct(e)}(t=r.Type||(r.Type={}));let n;r.codec=()=>(n==null&&(n=F((o,i,s={})=>{s.lengthDelimited!==!1&&i.fork(),o.type!=null&&(i.uint32(8),r.Type.codec().encode(o.type,i)),o.topic!=null&&(i.uint32(18),i.string(o.topic)),o.data!=null&&(i.uint32(26),i.bytes(o.data)),s.lengthDelimited!==!1&&i.ldelim()},(o,i)=>{let s={},c=i==null?o.len:o.pos+i;for(;o.pos>>3){case 1:s.type=r.Type.codec().decode(o);break;case 2:s.topic=o.string();break;case 3:s.data=o.bytes();break;default:o.skipType(a&7);break}}return s})),n),r.encode=o=>V(o,r.codec()),r.decode=o=>K(o,r.codec())})(Mt||(Mt={}));var yr;(function(r){let t;r.codec=()=>(t==null&&(t=F((e,n,o={})=>{if(o.lengthDelimited!==!1&&n.fork(),e.from!=null&&(n.uint32(10),n.bytes(e.from)),e.data!=null&&(n.uint32(18),n.bytes(e.data)),e.seqno!=null&&(n.uint32(26),n.bytes(e.seqno)),e.topicIDs!=null)for(let i of e.topicIDs)n.uint32(34),n.string(i);e.signature!=null&&(n.uint32(42),n.bytes(e.signature)),e.key!=null&&(n.uint32(50),n.bytes(e.key)),o.lengthDelimited!==!1&&n.ldelim()},(e,n)=>{let o={topicIDs:[]},i=n==null?e.len:e.pos+n;for(;e.pos>>3){case 1:o.from=e.bytes();break;case 2:o.data=e.bytes();break;case 3:o.seqno=e.bytes();break;case 4:o.topicIDs.push(e.string());break;case 5:o.signature=e.bytes();break;case 6:o.key=e.bytes();break;default:e.skipType(s&7);break}}return o})),t),r.encode=e=>V(e,r.codec()),r.decode=e=>K(e,r.codec())})(yr||(yr={}));var br;(function(r){let t;r.codec=()=>(t==null&&(t=F((e,n,o={})=>{if(o.lengthDelimited!==!1&&n.fork(),e.topics!=null)for(let i of e.topics)n.uint32(10),n.string(i);if(e.peerIDs!=null)for(let i of e.peerIDs)n.uint32(18),n.bytes(i);o.lengthDelimited!==!1&&n.ldelim()},(e,n)=>{let o={topics:[],peerIDs:[]},i=n==null?e.len:e.pos+n;for(;e.pos>>3){case 1:o.topics.push(e.string());break;case 2:o.peerIDs.push(e.bytes());break;default:e.skipType(s&7);break}}return o})),t),r.encode=e=>V(e,r.codec()),r.decode=e=>K(e,r.codec())})(br||(br={}));var wr;(function(r){let t;(function(o){o.UNSPECIFIED="UNSPECIFIED",o.GET_PROTOCOLS="GET_PROTOCOLS",o.GET_PEER_INFO="GET_PEER_INFO"})(t=r.Type||(r.Type={}));let e;(function(o){o[o.UNSPECIFIED=0]="UNSPECIFIED",o[o.GET_PROTOCOLS=1]="GET_PROTOCOLS",o[o.GET_PEER_INFO=2]="GET_PEER_INFO"})(e||(e={})),function(o){o.codec=()=>Ct(e)}(t=r.Type||(r.Type={}));let n;r.codec=()=>(n==null&&(n=F((o,i,s={})=>{if(s.lengthDelimited!==!1&&i.fork(),o.type!=null&&(i.uint32(8),r.Type.codec().encode(o.type,i)),o.id!=null&&(i.uint32(18),i.bytes(o.id)),o.protos!=null)for(let c of o.protos)i.uint32(26),i.string(c);s.lengthDelimited!==!1&&i.ldelim()},(o,i)=>{let s={protos:[]},c=i==null?o.len:o.pos+i;for(;o.pos>>3){case 1:s.type=r.Type.codec().decode(o);break;case 2:s.id=o.bytes();break;case 3:s.protos.push(o.string());break;default:o.skipType(a&7);break}}return s})),n),r.encode=o=>V(o,r.codec()),r.decode=o=>K(o,r.codec())})(wr||(wr={}));var xr;(function(r){let t;r.codec=()=>(t==null&&(t=F((e,n,o={})=>{if(o.lengthDelimited!==!1&&n.fork(),e.peer!=null&&(n.uint32(10),Xt.codec().encode(e.peer,n)),e.protos!=null)for(let i of e.protos)n.uint32(18),n.string(i);o.lengthDelimited!==!1&&n.ldelim()},(e,n)=>{let o={protos:[]},i=n==null?e.len:e.pos+n;for(;e.pos>>3){case 1:o.peer=Xt.codec().decode(e,e.uint32());break;case 2:o.protos.push(e.string());break;default:e.skipType(s&7);break}}return o})),t),r.encode=e=>V(e,r.codec()),r.decode=e=>K(e,r.codec())})(xr||(xr={}));var Mi=pt(Z("node:tty"),1),Tr=pt(Z("node:util"),1);function Ra(r,t){try{if(typeof r=="string"&&r.length>0)return Ua(r);if(typeof r=="number"&&isFinite(r))return t?.long?Ma(r):_a(r);throw new Error("Value is not a string or number.")}catch(e){let n=Ka(e)?`${e.message}. value=${JSON.stringify(r)}`:"An unknown error has occured.";throw new Error(n)}}function Ua(r){if(r=String(r),r.length>100)throw new Error("Value exceeds the maximum length of 100 characters.");let t=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(r);if(!t)return NaN;let e=parseFloat(t[1]),n=(t[2]||"ms").toLowerCase();switch(n){case"years":case"year":case"yrs":case"yr":case"y":return e*315576e5;case"weeks":case"week":case"w":return e*6048e5;case"days":case"day":case"d":return e*864e5;case"hours":case"hour":case"hrs":case"hr":case"h":return e*36e5;case"minutes":case"minute":case"mins":case"min":case"m":return e*6e4;case"seconds":case"second":case"secs":case"sec":case"s":return e*1e3;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return e;default:throw new Error(`The unit ${n} was matched, but no matching case exists.`)}}var vr=Ra;function _a(r){let t=Math.abs(r);return t>=864e5?`${Math.round(r/864e5)}d`:t>=36e5?`${Math.round(r/36e5)}h`:t>=6e4?`${Math.round(r/6e4)}m`:t>=1e3?`${Math.round(r/1e3)}s`:`${r}ms`}function Ma(r){let t=Math.abs(r);return t>=864e5?Er(r,t,864e5,"day"):t>=36e5?Er(r,t,36e5,"hour"):t>=6e4?Er(r,t,6e4,"minute"):t>=1e3?Er(r,t,1e3,"second"):`${r} ms`}function Er(r,t,e,n){let o=t>=e*1.5;return`${Math.round(r/e)} ${n}${o?"s":""}`}function Ka(r){return typeof r=="object"&&r!==null&&"message"in r}var Sr=pt(Z("node:process"),1),_i=pt(Z("node:os"),1),co=pt(Z("node:tty"),1);function It(r,t=globalThis.Deno?globalThis.Deno.args:Sr.default.argv){let e=r.startsWith("-")?"":r.length===1?"-":"--",n=t.indexOf(e+r),o=t.indexOf("--");return n!==-1&&(o===-1||n=2,has16m:r>=3}}function Fa(r,{streamIsTTY:t,sniffFlags:e=!0}={}){let n=$a();n!==void 0&&(Ir=n);let o=e?Ir:n;if(o===0)return 0;if(e){if(It("color=16m")||It("color=full")||It("color=truecolor"))return 3;if(It("color=256"))return 2}if("TF_BUILD"in G&&"AGENT_NAME"in G)return 1;if(r&&!t&&o===void 0)return 0;let i=o||0;if(G.TERM==="dumb")return i;if(Sr.default.platform==="win32"){let s=_i.default.release().split(".");return Number(s[0])>=10&&Number(s[2])>=10586?Number(s[2])>=14931?3:2:1}if("CI"in G)return"GITHUB_ACTIONS"in G||"GITEA_ACTIONS"in G?3:["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI","BUILDKITE","DRONE"].some(s=>s in G)||G.CI_NAME==="codeship"?1:i;if("TEAMCITY_VERSION"in G)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(G.TEAMCITY_VERSION)?1:0;if(G.COLORTERM==="truecolor"||G.TERM==="xterm-kitty")return 3;if("TERM_PROGRAM"in G){let s=Number.parseInt((G.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(G.TERM_PROGRAM){case"iTerm.app":return s>=3?3:2;case"Apple_Terminal":return 2}}return/-256(color)?$/i.test(G.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(G.TERM)||"COLORTERM"in G?1:i}function Ui(r,t={}){let e=Fa(r,{streamIsTTY:r&&r.isTTY,...t});return Va(e)}var Ga={stdout:Ui({isTTY:co.default.isatty(1)}),stderr:Ui({isTTY:co.default.isatty(2)})},Ar=Ga;function ao(r){e.debug=e,e.default=e,e.coerce=a,e.disable=i,e.enable=o,e.enabled=s,e.humanize=vr,e.destroy=d,Object.keys(r).forEach(l=>{e[l]=r[l]}),e.names=[],e.skips=[],e.formatters={};function t(l){let u=0;for(let g=0;g{if(E==="%%")return"%";C++;let T=e.formatters[I];if(typeof T=="function"){let Q=p[C];E=T.call(m,Q),p.splice(C,1),C--}return E}),e.formatArgs.call(m,p),(m.log||e.log).apply(m,p)}return f.namespace=l,f.useColors=e.useColors(),f.color=e.selectColor(l),f.extend=n,f.destroy=e.destroy,Object.defineProperty(f,"enabled",{enumerable:!0,configurable:!1,get:()=>g!==null?g:(y!==e.namespaces&&(y=e.namespaces,h=e.enabled(l)),h),set:p=>{g=p}}),typeof e.init=="function"&&e.init(f),f}function n(l,u){let g=e(this.namespace+(typeof u>"u"?":":u)+l);return g.log=this.log,g}function o(l){e.save(l),e.namespaces=l,e.names=[],e.skips=[];let u,g=(typeof l=="string"?l:"").split(/[\s,]+/),y=g.length;for(u=0;u"-"+u)].join(",");return e.enable(""),l}function s(l){if(l[l.length-1]==="*")return!0;let u,g;for(u=0,g=e.skips.length;u=2&&(Ki=[20,21,26,27,32,33,38,39,40,41,42,43,44,45,56,57,62,63,68,69,74,75,76,77,78,79,80,81,92,93,98,99,112,113,128,129,134,135,148,149,160,161,162,163,164,165,166,167,168,169,170,171,172,173,178,179,184,185,196,197,198,199,200,201,202,203,204,205,206,207,208,209,214,215,220,221]);var Be=Object.keys(process.env).filter(r=>/^debug_/i.test(r)).reduce((r,t)=>{let e=t.substring(6).toLowerCase().replace(/_([a-z])/g,(o,i)=>i.toUpperCase()),n=process.env[t];return/^(yes|on|true|enabled)$/i.test(n)?n=!0:/^(no|off|false|disabled)$/i.test(n)?n=!1:n==="null"?n=null:n=Number(n),r[e]=n,r},{});function za(){return"colors"in Be?!!Be.colors:Mi.default.isatty(process.stderr.fd)}function Ha(r){let{namespace:t,useColors:e}=this;if(e!=null){let n=this.color,o="\x1B[3"+(n<8?n:"8;5;"+n),i=` ${o};1m${t} \x1B[0m`;r[0]=i+r[0].split(` `).join(` -`+o),r.push(n+"m+"+Re.exports.humanize(this.diff)+"\x1B[0m")}else r[0]=Vs()+t+" "+r[0]}function Vs(){return _.inspectOpts.hideDate?"":new Date().toISOString()+" "}function Gs(...r){return process.stderr.write(Se.formatWithOptions(_.inspectOpts,...r)+` -`)}function $s(r){r?process.env.DEBUG=r:delete process.env.DEBUG}function zs(){return process.env.DEBUG}function Hs(r){r.inspectOpts={};let t=Object.keys(_.inspectOpts);for(let e=0;et.trim()).join(" ")};ei.O=function(r){return this.inspectOpts.colors=this.useColors,Se.inspect(r,this.inspectOpts)}});var ni=xt((pu,Vr)=>{typeof process>"u"||process.type==="renderer"||process.browser===!0||process.__nwjs?Vr.exports=Qn():Vr.exports=ri()});var _c={};H(_c,{createClient:()=>Nc});var Qe=$("node:buffer");function It(r){return new Uint8Array(r.buffer,r.byteOffset,r.byteLength)}function at(r=0){return It(Qe.Buffer.alloc(r))}function Z(r=0){return It(Qe.Buffer.allocUnsafe(r))}var no=Math.pow(2,7),io=Math.pow(2,14),oo=Math.pow(2,21),Ze=Math.pow(2,28),qe=Math.pow(2,35),je=Math.pow(2,42),tr=Math.pow(2,49),x=128,F=127;function B(r){if(rNumber.MAX_SAFE_INTEGER)throw new RangeError("Could not encode varint");return 8}function er(r,t,e=0){switch(B(r)){case 8:t[e++]=r&255|x,r/=128;case 7:t[e++]=r&255|x,r/=128;case 6:t[e++]=r&255|x,r/=128;case 5:t[e++]=r&255|x,r/=128;case 4:t[e++]=r&255|x,r>>>=7;case 3:t[e++]=r&255|x,r>>>=7;case 2:t[e++]=r&255|x,r>>>=7;case 1:{t[e++]=r&255,r>>>=7;break}default:throw new Error("unreachable")}return t}function so(r,t,e=0){switch(B(r)){case 8:t.set(e++,r&255|x),r/=128;case 7:t.set(e++,r&255|x),r/=128;case 6:t.set(e++,r&255|x),r/=128;case 5:t.set(e++,r&255|x),r/=128;case 4:t.set(e++,r&255|x),r>>>=7;case 3:t.set(e++,r&255|x),r>>>=7;case 2:t.set(e++,r&255|x),r>>>=7;case 1:{t.set(e++,r&255),r>>>=7;break}default:throw new Error("unreachable")}return t}function rr(r,t){let e=r[t],i=0;if(i+=e&F,e>>31>0){let e=~this.lo+1>>>0,i=~this.hi>>>0;return e===0&&(i=i+1>>>0),-(e+i*4294967296)}return this.lo+this.hi*4294967296}toBigInt(t=!1){if(t)return BigInt(this.lo>>>0)+(BigInt(this.hi>>>0)<<32n);if(this.hi>>>31){let e=~this.lo+1>>>0,i=~this.hi>>>0;return e===0&&(i=i+1>>>0),-(BigInt(e)+(BigInt(i)<<32n))}return BigInt(this.lo>>>0)+(BigInt(this.hi>>>0)<<32n)}toString(t=!1){return this.toBigInt(t).toString()}zzEncode(){let t=this.hi>>31;return this.hi=((this.hi<<1|this.lo>>>31)^t)>>>0,this.lo=(this.lo<<1^t)>>>0,this}zzDecode(){let t=-(this.lo&1);return this.lo=((this.lo>>>1|this.hi<<31)^t)>>>0,this.hi=(this.hi>>>1^t)>>>0,this}length(){let t=this.lo,e=(this.lo>>>28|this.hi<<4)>>>0,i=this.hi>>>24;return i===0?e===0?t<16384?t<128?1:2:t<2097152?3:4:e<16384?e<128?5:6:e<2097152?7:8:i<128?9:10}static fromBigInt(t){if(t===0n)return At;if(tuo)return this.fromNumber(Number(t));let e=t<0n;e&&(t=-t);let i=t>>32n,n=t-(i<<32n);return e&&(i=~i|0n,n=~n|0n,++n>An&&(n=0n,++i>An&&(i=0n))),new r(Number(n),Number(i))}static fromNumber(t){if(t===0)return At;let e=t<0;e&&(t=-t);let i=t>>>0,n=(t-i)/4294967296>>>0;return e&&(n=~n>>>0,i=~i>>>0,++i>4294967295&&(i=0,++n>4294967295&&(n=0))),new r(i,n)}static from(t){return typeof t=="number"?r.fromNumber(t):typeof t=="bigint"?r.fromBigInt(t):typeof t=="string"?r.fromBigInt(BigInt(t)):t.low!=null||t.high!=null?new r(t.low>>>0,t.high>>>0):At}},At=new K(0,0);At.toBigInt=function(){return 0n};At.zzEncode=At.zzDecode=function(){return this};At.length=function(){return 1};var An=4294967296n;function Cn(r){let t=0,e=0;for(let i=0;i191&&c<224?o[s++]=(c&31)<<6|r[t++]&63:c>239&&c<365?(c=((c&7)<<18|(r[t++]&63)<<12|(r[t++]&63)<<6|r[t++]&63)-65536,o[s++]=55296+(c>>10),o[s++]=56320+(c&1023)):o[s++]=(c&15)<<12|(r[t++]&63)<<6|r[t++]&63,s>8191&&((n??(n=[])).push(String.fromCharCode.apply(String,o)),s=0);return n!=null?(s>0&&n.push(String.fromCharCode.apply(String,o.slice(0,s))),n.join("")):String.fromCharCode.apply(String,o.slice(0,s))}function sr(r,t,e){let i=e,n,o;for(let s=0;s>6|192,t[e++]=n&63|128):(n&64512)===55296&&((o=r.charCodeAt(s+1))&64512)===56320?(n=65536+((n&1023)<<10)+(o&1023),++s,t[e++]=n>>18|240,t[e++]=n>>12&63|128,t[e++]=n>>6&63|128,t[e++]=n&63|128):(t[e++]=n>>12|224,t[e++]=n>>6&63|128,t[e++]=n&63|128);return e-i}function nt(r,t){return RangeError(`index out of range: ${r.pos} + ${t??1} > ${r.len}`)}function ae(r,t){return(r[t-4]|r[t-3]<<8|r[t-2]<<16|r[t-1]<<24)>>>0}var cr=class{buf;pos;len;_slice=Uint8Array.prototype.subarray;constructor(t){this.buf=t,this.pos=0,this.len=t.length}uint32(){let t=4294967295;if(t=(this.buf[this.pos]&127)>>>0,this.buf[this.pos++]<128||(t=(t|(this.buf[this.pos]&127)<<7)>>>0,this.buf[this.pos++]<128)||(t=(t|(this.buf[this.pos]&127)<<14)>>>0,this.buf[this.pos++]<128)||(t=(t|(this.buf[this.pos]&127)<<21)>>>0,this.buf[this.pos++]<128)||(t=(t|(this.buf[this.pos]&15)<<28)>>>0,this.buf[this.pos++]<128))return t;if((this.pos+=5)>this.len)throw this.pos=this.len,nt(this,10);return t}int32(){return this.uint32()|0}sint32(){let t=this.uint32();return t>>>1^-(t&1)|0}bool(){return this.uint32()!==0}fixed32(){if(this.pos+4>this.len)throw nt(this,4);return ae(this.buf,this.pos+=4)}sfixed32(){if(this.pos+4>this.len)throw nt(this,4);return ae(this.buf,this.pos+=4)|0}float(){if(this.pos+4>this.len)throw nt(this,4);let t=En(this.buf,this.pos);return this.pos+=4,t}double(){if(this.pos+8>this.len)throw nt(this,4);let t=In(this.buf,this.pos);return this.pos+=8,t}bytes(){let t=this.uint32(),e=this.pos,i=this.pos+t;if(i>this.len)throw nt(this,t);return this.pos+=t,e===i?new Uint8Array(0):this.buf.subarray(e,i)}string(){let t=this.bytes();return Tn(t,0,t.length)}skip(t){if(typeof t=="number"){if(this.pos+t>this.len)throw nt(this,t);this.pos+=t}else do if(this.pos>=this.len)throw nt(this);while(this.buf[this.pos++]&128);return this}skipType(t){switch(t){case 0:this.skip();break;case 1:this.skip(8);break;case 2:this.skip(this.uint32());break;case 3:for(;(t=this.uint32()&7)!==4;)this.skipType(t);break;case 5:this.skip(4);break;default:throw Error(`invalid wire type ${t} at offset ${this.pos}`)}return this}readLongVarint(){let t=new K(0,0),e=0;if(this.len-this.pos>4){for(;e<4;++e)if(t.lo=(t.lo|(this.buf[this.pos]&127)<>>0,this.buf[this.pos++]<128)return t;if(t.lo=(t.lo|(this.buf[this.pos]&127)<<28)>>>0,t.hi=(t.hi|(this.buf[this.pos]&127)>>4)>>>0,this.buf[this.pos++]<128)return t;e=0}else{for(;e<3;++e){if(this.pos>=this.len)throw nt(this);if(t.lo=(t.lo|(this.buf[this.pos]&127)<>>0,this.buf[this.pos++]<128)return t}return t.lo=(t.lo|(this.buf[this.pos++]&127)<>>0,t}if(this.len-this.pos>4){for(;e<5;++e)if(t.hi=(t.hi|(this.buf[this.pos]&127)<>>0,this.buf[this.pos++]<128)return t}else for(;e<5;++e){if(this.pos>=this.len)throw nt(this);if(t.hi=(t.hi|(this.buf[this.pos]&127)<>>0,this.buf[this.pos++]<128)return t}throw Error("invalid varint encoding")}readFixed64(){if(this.pos+8>this.len)throw nt(this,8);let t=ae(this.buf,this.pos+=4),e=ae(this.buf,this.pos+=4);return new K(t,e)}int64(){return this.readLongVarint().toBigInt()}int64Number(){return this.readLongVarint().toNumber()}int64String(){return this.readLongVarint().toString()}uint64(){return this.readLongVarint().toBigInt(!0)}uint64Number(){let t=rr(this.buf,this.pos);return this.pos+=B(t),t}uint64String(){return this.readLongVarint().toString(!0)}sint64(){return this.readLongVarint().zzDecode().toBigInt()}sint64Number(){return this.readLongVarint().zzDecode().toNumber()}sint64String(){return this.readLongVarint().zzDecode().toString()}fixed64(){return this.readFixed64().toBigInt()}fixed64Number(){return this.readFixed64().toNumber()}fixed64String(){return this.readFixed64().toString()}sfixed64(){return this.readFixed64().toBigInt()}sfixed64Number(){return this.readFixed64().toNumber()}sfixed64String(){return this.readFixed64().toString()}};function ar(r){return new cr(r instanceof Uint8Array?r:r.subarray())}function R(r,t,e){let i=ar(r);return t.decode(i,void 0,e)}var Wn=$("node:buffer");var hr={};H(hr,{base10:()=>go});var Wc=new Uint8Array(0);function Sn(r,t){if(r===t)return!0;if(r.byteLength!==t.byteLength)return!1;for(let e=0;e=255)throw new TypeError("Alphabet too long");for(var e=new Uint8Array(256),i=0;i>>0,O=new Uint8Array(X);E!==C;){for(var rt=p[E],J=0,z=X-1;(rt!==0||J>>0,O[z]=rt%c>>>0,rt=rt/c>>>0;if(rt!==0)throw new Error("Non-zero carry");I=J,E++}for(var Q=X-I;Q!==X&&O[Q]===0;)Q++;for(var Ot=a.repeat(w);Q>>0,X=new Uint8Array(C);p[w];){var O=e[p.charCodeAt(w)];if(O===255)return;for(var rt=0,J=C-1;(O!==0||rt>>0,X[J]=O%256>>>0,O=O/256>>>0;if(O!==0)throw new Error("Non-zero carry");E=rt,w++}if(p[w]!==" "){for(var z=C-E;z!==C&&X[z]===0;)z++;for(var Q=new Uint8Array(I+(C-z)),Ot=I;z!==C;)Q[Ot++]=X[z++];return Q}}}function y(p){var w=m(p);if(w)return w;throw new Error(`Non-${t} character`)}return{encode:l,decodeUnsafe:m,decode:y}}var fo=lo,ho=fo,Nn=ho;var ur=class{name;prefix;baseEncode;constructor(t,e,i){this.name=t,this.prefix=e,this.baseEncode=i}encode(t){if(t instanceof Uint8Array)return`${this.prefix}${this.baseEncode(t)}`;throw Error("Unknown type, must be binary type")}},lr=class{name;prefix;baseDecode;prefixCodePoint;constructor(t,e,i){if(this.name=t,this.prefix=e,e.codePointAt(0)===void 0)throw new Error("Invalid prefix character");this.prefixCodePoint=e.codePointAt(0),this.baseDecode=i}decode(t){if(typeof t=="string"){if(t.codePointAt(0)!==this.prefixCodePoint)throw Error(`Unable to decode multibase string ${JSON.stringify(t)}, ${this.name} decoder only supports inputs prefixed with ${this.prefix}`);return this.baseDecode(t.slice(this.prefix.length))}else throw Error("Can only multibase decode strings")}or(t){return _n(this,t)}},dr=class{decoders;constructor(t){this.decoders=t}or(t){return _n(this,t)}decode(t){let e=t[0],i=this.decoders[e];if(i!=null)return i.decode(t);throw RangeError(`Unable to decode multibase string ${JSON.stringify(t)}, only inputs prefixed with ${Object.keys(this.decoders)} are supported`)}};function _n(r,t){return new dr({...r.decoders??{[r.prefix]:r},...t.decoders??{[t.prefix]:t}})}var fr=class{name;prefix;baseEncode;baseDecode;encoder;decoder;constructor(t,e,i,n){this.name=t,this.prefix=e,this.baseEncode=i,this.baseDecode=n,this.encoder=new ur(t,e,i),this.decoder=new lr(t,e,n)}encode(t){return this.encoder.encode(t)}decode(t){return this.decoder.decode(t)}};function Ut({name:r,prefix:t,encode:e,decode:i}){return new fr(r,t,e,i)}function mt({name:r,prefix:t,alphabet:e}){let{encode:i,decode:n}=Nn(e,r);return Ut({prefix:t,name:r,encode:i,decode:o=>q(n(o))})}function po(r,t,e,i){let n={};for(let u=0;u=8&&(c-=8,s[g++]=255&a>>c)}if(c>=e||255&a<<8-c)throw new SyntaxError("Unexpected end of data");return s}function mo(r,t,e){let i=t[t.length-1]==="=",n=(1<e;)s-=e,o+=t[n&c>>s];if(s!==0&&(o+=t[n&c<yo,base16upper:()=>wo});var yo=T({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),wo=T({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var mr={};H(mr,{base2:()=>bo});var bo=T({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var gr={};H(gr,{base256emoji:()=>Co});var Pn=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}"),Eo=Pn.reduce((r,t,e)=>(r[e]=t,r),[]),xo=Pn.reduce((r,t,e)=>(r[t.codePointAt(0)]=e,r),[]);function Io(r){return r.reduce((t,e)=>(t+=Eo[e],t),"")}function Ao(r){let t=[];for(let e of r){let i=xo[e.codePointAt(0)];if(i===void 0)throw new Error(`Non-base256emoji character: ${e}`);t.push(i)}return new Uint8Array(t)}var Co=Ut({prefix:"\u{1F680}",name:"base256emoji",encode:Io,decode:Ao});var yr={};H(yr,{base32:()=>it,base32hex:()=>Ro,base32hexpad:()=>Lo,base32hexpadupper:()=>No,base32hexupper:()=>Do,base32pad:()=>vo,base32padupper:()=>So,base32upper:()=>To,base32z:()=>_o});var it=T({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),To=T({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),vo=T({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),So=T({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),Ro=T({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),Do=T({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),Lo=T({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),No=T({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),_o=T({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var wr={};H(wr,{base36:()=>Po,base36upper:()=>Oo});var Po=mt({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),Oo=mt({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var br={};H(br,{base58btc:()=>N,base58flickr:()=>ko});var N=mt({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),ko=mt({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var xr={};H(xr,{base64:()=>Er,base64pad:()=>Uo,base64url:()=>Fo,base64urlpad:()=>Bo});var Er=T({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),Uo=T({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),Fo=T({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),Bo=T({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});var Ir={};H(Ir,{base8:()=>Mo});var Mo=T({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var Ar={};H(Ar,{identity:()=>Vo});var Vo=Ut({prefix:"\0",name:"identity",encode:r=>Dn(r),decode:r=>Rn(r)});var aa=new TextEncoder,ua=new TextDecoder;var Tr={};H(Tr,{identity:()=>qt});var zo=Un,On=128,Ho=127,Ko=~Ho,Wo=Math.pow(2,31);function Un(r,t,e){t=t||[],e=e||0;for(var i=e;r>=Wo;)t[e++]=r&255|On,r/=128;for(;r&Ko;)t[e++]=r&255|On,r>>>=7;return t[e]=r|0,Un.bytes=e-i+1,t}var Yo=Cr,Xo=128,kn=127;function Cr(r,i){var e=0,i=i||0,n=0,o=i,s,c=r.length;do{if(o>=c)throw Cr.bytes=0,new RangeError("Could not decode varint");s=r[o++],e+=n<28?(s&kn)<=Xo);return Cr.bytes=o-i,e}var Jo=Math.pow(2,7),Qo=Math.pow(2,14),Zo=Math.pow(2,21),qo=Math.pow(2,28),jo=Math.pow(2,35),ts=Math.pow(2,42),es=Math.pow(2,49),rs=Math.pow(2,56),ns=Math.pow(2,63),is=function(r){return rle,sha512:()=>us});var Rr=kt($("crypto"),1);function Sr({name:r,code:t,encode:e}){return new vr(r,t,e)}var vr=class{name;code;encode;constructor(t,e,i){this.name=t,this.code=e,this.encode=i}digest(t){if(t instanceof Uint8Array){let e=this.encode(t);return e instanceof Uint8Array?gt(this.code,e):e.then(i=>gt(this.code,i))}else throw Error("Unknown type, must be binary type")}};var le=Sr({name:"sha2-256",code:18,encode:r=>q(Rr.default.createHash("sha256").update(r).digest())}),us=Sr({name:"sha2-512",code:19,encode:r=>q(Rr.default.createHash("sha512").update(r).digest())});function Gn(r,t){let{bytes:e,version:i}=r;switch(i){case 0:return ds(e,Lr(r),t??N.encoder);default:return fs(e,Lr(r),t??it.encoder)}}var $n=new WeakMap;function Lr(r){let t=$n.get(r);if(t==null){let e=new Map;return $n.set(r,e),e}return t}var G=class r{code;version;multihash;bytes;"/";constructor(t,e,i,n){this.code=e,this.version=t,this.multihash=i,this.bytes=n,this["/"]=n}get asCID(){return this}get byteOffset(){return this.bytes.byteOffset}get byteLength(){return this.bytes.byteLength}toV0(){switch(this.version){case 0:return this;case 1:{let{code:t,multihash:e}=this;if(t!==jt)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(e.code!==hs)throw new Error("Cannot convert non sha2-256 multihash CID to CIDv0");return r.createV0(e)}default:throw Error(`Can not convert CID version ${this.version} to version 0. This is a bug please report`)}}toV1(){switch(this.version){case 0:{let{code:t,digest:e}=this.multihash,i=gt(t,e);return r.createV1(this.code,i)}case 1:return this;default:throw Error(`Can not convert CID version ${this.version} to version 1. This is a bug please report`)}}equals(t){return r.equals(this,t)}static equals(t,e){let i=e;return i!=null&&t.code===i.code&&t.version===i.version&&Fn(t.multihash,i.multihash)}toString(t){return Gn(this,t)}toJSON(){return{"/":Gn(this)}}link(){return this}[Symbol.toStringTag]="CID";[Symbol.for("nodejs.util.inspect.custom")](){return`CID(${this.toString()})`}static asCID(t){if(t==null)return null;let e=t;if(e instanceof r)return e;if(e["/"]!=null&&e["/"]===e.bytes||e.asCID===e){let{version:i,code:n,multihash:o,bytes:s}=e;return new r(i,n,o,s??zn(i,n,o.bytes))}else if(e[ps]===!0){let{version:i,multihash:n,code:o}=e,s=Ct(n);return r.create(i,o,s)}else return null}static create(t,e,i){if(typeof e!="number")throw new Error("String codecs are no longer supported");if(!(i.bytes instanceof Uint8Array))throw new Error("Invalid digest");switch(t){case 0:{if(e!==jt)throw new Error(`Version 0 CID must use dag-pb (code: ${jt}) block encoding`);return new r(t,e,i,i.bytes)}case 1:{let n=zn(t,e,i.bytes);return new r(t,e,i,n)}default:throw new Error("Invalid version")}}static createV0(t){return r.create(0,jt,t)}static createV1(t,e){return r.create(1,t,e)}static decode(t){let[e,i]=r.decodeFirst(t);if(i.length!==0)throw new Error("Incorrect length");return e}static decodeFirst(t){let e=r.inspectBytes(t),i=e.size-e.multihashSize,n=q(t.subarray(i,i+e.multihashSize));if(n.byteLength!==e.multihashSize)throw new Error("Incorrect length");let o=n.subarray(e.multihashSize-e.digestSize),s=new Mt(e.multihashCode,e.digestSize,o,n);return[e.version===0?r.createV0(s):r.createV1(e.codec,s),t.subarray(e.size)]}static inspectBytes(t){let e=0,i=()=>{let[l,m]=Zt(t.subarray(e));return e+=m,l},n=i(),o=jt;if(n===18?(n=0,e=0):o=i(),n!==0&&n!==1)throw new RangeError(`Invalid CID version ${n}`);let s=e,c=i(),a=i(),g=e+a,u=g-s;return{version:n,codec:o,multihashCode:c,digestSize:a,multihashSize:u,size:g}}static parse(t,e){let[i,n]=ls(t,e),o=r.decode(n);if(o.version===0&&t[0]!=="Q")throw Error("Version 0 CID string must not include multibase prefix");return Lr(o).set(i,t),o}};function ls(r,t){switch(r[0]){case"Q":{let e=t??N;return[N.prefix,e.decode(`${N.prefix}${r}`)]}case N.prefix:{let e=t??N;return[N.prefix,e.decode(r)]}case it.prefix:{let e=t??it;return[it.prefix,e.decode(r)]}default:{if(t==null)throw Error("To parse non base32 or base58btc encoded CID multibase decoder must be provided");return[r[0],t.decode(r)]}}}function ds(r,t,e){let{prefix:i}=e;if(i!==N.prefix)throw Error(`Cannot string encode V0 in ${e.name} encoding`);let n=t.get(i);if(n==null){let o=e.encode(r).slice(1);return t.set(i,o),o}else return n}function fs(r,t,e){let{prefix:i}=e,n=t.get(i);if(n==null){let o=e.encode(r);return t.set(i,o),o}else return n}var jt=112,hs=18;function zn(r,t,e){let i=Bt(r),n=i+Bt(t),o=new Uint8Array(n+e.byteLength);return Ft(r,o,0),Ft(t,o,i),o.set(e,n),o}var ps=Symbol.for("@ipld/js-cid/CID");var yt={...Ar,...mr,...Ir,...hr,...pr,...yr,...wr,...br,...xr,...gr},Na={...Dr,...Tr};function Kn(r,t,e,i){return{name:r,prefix:t,encoder:{name:r,prefix:t,encode:e},decoder:{decode:i}}}var Hn=Kn("utf8","u",r=>"u"+new TextDecoder("utf8").decode(r),r=>new TextEncoder().encode(r.substring(1))),Nr=Kn("ascii","a",r=>{let t="a";for(let e=0;e{r=r.substring(1);let t=Z(r.length);for(let e=0;e>>1,i,n=t;return function(s){if(s<1||s>e)return Z(s);n+s>t&&(i=Z(t),n=0);let c=i.subarray(n,n+=s);return n&7&&(n=(n|7)+1),c}}var St=class{fn;len;next;val;constructor(t,e,i){this.fn=t,this.len=e,this.next=void 0,this.val=i}};function Pr(){}var kr=class{head;tail;len;next;constructor(t){this.head=t.head,this.tail=t.tail,this.len=t.len,this.next=t.states}},gs=_r();function ys(r){return globalThis.Buffer!=null?Z(r):gs(r)}var ee=class{len;head;tail;states;constructor(){this.len=0,this.head=new St(Pr,0,0),this.tail=this.head,this.states=null}_push(t,e,i){return this.tail=this.tail.next=new St(t,e,i),this.len+=e,this}uint32(t){return this.len+=(this.tail=this.tail.next=new Ur((t=t>>>0)<128?1:t<16384?2:t<2097152?3:t<268435456?4:5,t)).len,this}int32(t){return t<0?this._push(fe,10,K.fromNumber(t)):this.uint32(t)}sint32(t){return this.uint32((t<<1^t>>31)>>>0)}uint64(t){let e=K.fromBigInt(t);return this._push(fe,e.length(),e)}uint64Number(t){return this._push(er,B(t),t)}uint64String(t){return this.uint64(BigInt(t))}int64(t){return this.uint64(t)}int64Number(t){return this.uint64Number(t)}int64String(t){return this.uint64String(t)}sint64(t){let e=K.fromBigInt(t).zzEncode();return this._push(fe,e.length(),e)}sint64Number(t){let e=K.fromNumber(t).zzEncode();return this._push(fe,e.length(),e)}sint64String(t){return this.sint64(BigInt(t))}bool(t){return this._push(Or,1,t?1:0)}fixed32(t){return this._push(te,4,t>>>0)}sfixed32(t){return this.fixed32(t)}fixed64(t){let e=K.fromBigInt(t);return this._push(te,4,e.lo)._push(te,4,e.hi)}fixed64Number(t){let e=K.fromNumber(t);return this._push(te,4,e.lo)._push(te,4,e.hi)}fixed64String(t){return this.fixed64(BigInt(t))}sfixed64(t){return this.fixed64(t)}sfixed64Number(t){return this.fixed64Number(t)}sfixed64String(t){return this.fixed64String(t)}float(t){return this._push(bn,4,t)}double(t){return this._push(xn,8,t)}bytes(t){let e=t.length>>>0;return e===0?this._push(Or,1,0):this.uint32(e)._push(bs,e,t)}string(t){let e=Cn(t);return e!==0?this.uint32(e)._push(sr,e,t):this._push(Or,1,0)}fork(){return this.states=new kr(this),this.head=this.tail=new St(Pr,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 St(Pr,0,0),this.len=0),this}ldelim(){let t=this.head,e=this.tail,i=this.len;return this.reset().uint32(i),i!==0&&(this.tail.next=t.next,this.tail=e,this.len+=i),this}finish(){let t=this.head.next,e=ys(this.len),i=0;for(;t!=null;)t.fn(t.val,e,i),i+=t.len,t=t.next;return e}};function Or(r,t,e){t[e]=r&255}function ws(r,t,e){for(;r>127;)t[e++]=r&127|128,r>>>=7;t[e]=r}var Ur=class extends St{next;constructor(t,e){super(ws,t,e),this.next=void 0}};function fe(r,t,e){for(;r.hi!==0;)t[e++]=r.lo&127|128,r.lo=(r.lo>>>7|r.hi<<25)>>>0,r.hi>>>=7;for(;r.lo>127;)t[e++]=r.lo&127|128,r.lo=r.lo>>>7;t[e++]=r.lo}function te(r,t,e){t[e]=r&255,t[e+1]=r>>>8&255,t[e+2]=r>>>16&255,t[e+3]=r>>>24}function bs(r,t,e){t.set(r,e)}globalThis.Buffer!=null&&(ee.prototype.bytes=function(r){let t=r.length>>>0;return this.uint32(t),t>0&&this._push(Es,t,r),this},ee.prototype.string=function(r){let t=globalThis.Buffer.byteLength(r);return this.uint32(t),t>0&&this._push(xs,t,r),this});function Es(r,t,e){t.set(r,e)}function xs(r,t,e){r.length<40?sr(r,t,e):t.utf8Write!=null?t.utf8Write(r,e):t.set(vt(r),e)}function Fr(){return new ee}function D(r,t){let e=Fr();return t.encode(r,e,{lengthDelimited:!1}),e.finish()}var Vt;(function(r){r[r.VARINT=0]="VARINT",r[r.BIT64=1]="BIT64",r[r.LENGTH_DELIMITED=2]="LENGTH_DELIMITED",r[r.START_GROUP=3]="START_GROUP",r[r.END_GROUP=4]="END_GROUP",r[r.BIT32=5]="BIT32"})(Vt||(Vt={}));function he(r,t,e,i){return{name:r,type:t,encode:e,decode:i}}function lt(r){function t(n){if(r[n.toString()]==null)throw new Error("Invalid enum value");return r[n]}let e=function(o,s){let c=t(o);s.int32(c)},i=function(o){let s=o.int32();return t(s)};return he("enum",Vt.VARINT,e,i)}function L(r,t){return he("message",Vt.LENGTH_DELIMITED,r,t)}var v;(function(r){let t;(function(n){n.IDENTIFY="IDENTIFY",n.CONNECT="CONNECT",n.STREAM_OPEN="STREAM_OPEN",n.STREAM_HANDLER="STREAM_HANDLER",n.DHT="DHT",n.LIST_PEERS="LIST_PEERS",n.CONNMANAGER="CONNMANAGER",n.DISCONNECT="DISCONNECT",n.PUBSUB="PUBSUB",n.PEERSTORE="PEERSTORE"})(t=r.Type||(r.Type={}));let e;(function(n){n[n.IDENTIFY=0]="IDENTIFY",n[n.CONNECT=1]="CONNECT",n[n.STREAM_OPEN=2]="STREAM_OPEN",n[n.STREAM_HANDLER=3]="STREAM_HANDLER",n[n.DHT=4]="DHT",n[n.LIST_PEERS=5]="LIST_PEERS",n[n.CONNMANAGER=6]="CONNMANAGER",n[n.DISCONNECT=7]="DISCONNECT",n[n.PUBSUB=8]="PUBSUB",n[n.PEERSTORE=9]="PEERSTORE"})(e||(e={})),function(n){n.codec=()=>lt(e)}(t=r.Type||(r.Type={}));let i;r.codec=()=>(i==null&&(i=L((n,o,s={})=>{s.lengthDelimited!==!1&&o.fork(),n.type!=null&&(o.uint32(8),r.Type.codec().encode(n.type,o)),n.connect!=null&&(o.uint32(18),me.codec().encode(n.connect,o)),n.streamOpen!=null&&(o.uint32(26),ge.codec().encode(n.streamOpen,o)),n.streamHandler!=null&&(o.uint32(34),ye.codec().encode(n.streamHandler,o)),n.dht!=null&&(o.uint32(42),j.codec().encode(n.dht,o)),n.connManager!=null&&(o.uint32(50),be.codec().encode(n.connManager,o)),n.disconnect!=null&&(o.uint32(58),Ee.codec().encode(n.disconnect,o)),n.pubsub!=null&&(o.uint32(66),dt.codec().encode(n.pubsub,o)),n.peerStore!=null&&(o.uint32(74),Ae.codec().encode(n.peerStore,o)),s.lengthDelimited!==!1&&o.ldelim()},(n,o)=>{let s={},c=o==null?n.len:n.pos+o;for(;n.pos>>3){case 1:s.type=r.Type.codec().decode(n);break;case 2:s.connect=me.codec().decode(n,n.uint32());break;case 3:s.streamOpen=ge.codec().decode(n,n.uint32());break;case 4:s.streamHandler=ye.codec().decode(n,n.uint32());break;case 5:s.dht=j.codec().decode(n,n.uint32());break;case 6:s.connManager=be.codec().decode(n,n.uint32());break;case 7:s.disconnect=Ee.codec().decode(n,n.uint32());break;case 8:s.pubsub=dt.codec().decode(n,n.uint32());break;case 9:s.peerStore=Ae.codec().decode(n,n.uint32());break;default:n.skipType(a&7);break}}return s})),i),r.encode=n=>D(n,r.codec()),r.decode=n=>R(n,r.codec())})(v||(v={}));var b;(function(r){let t;(function(n){n.OK="OK",n.ERROR="ERROR"})(t=r.Type||(r.Type={}));let e;(function(n){n[n.OK=0]="OK",n[n.ERROR=1]="ERROR"})(e||(e={})),function(n){n.codec=()=>lt(e)}(t=r.Type||(r.Type={}));let i;r.codec=()=>(i==null&&(i=L((n,o,s={})=>{if(s.lengthDelimited!==!1&&o.fork(),n.type!=null&&(o.uint32(8),r.Type.codec().encode(n.type,o)),n.error!=null&&(o.uint32(18),we.codec().encode(n.error,o)),n.streamInfo!=null&&(o.uint32(26),Gt.codec().encode(n.streamInfo,o)),n.identify!=null&&(o.uint32(34),pe.codec().encode(n.identify,o)),n.dht!=null&&(o.uint32(42),ot.codec().encode(n.dht,o)),n.peers!=null)for(let c of n.peers)o.uint32(50),wt.codec().encode(c,o);n.pubsub!=null&&(o.uint32(58),Ie.codec().encode(n.pubsub,o)),n.peerStore!=null&&(o.uint32(66),Ce.codec().encode(n.peerStore,o)),s.lengthDelimited!==!1&&o.ldelim()},(n,o)=>{let s={peers:[]},c=o==null?n.len:n.pos+o;for(;n.pos>>3){case 1:s.type=r.Type.codec().decode(n);break;case 2:s.error=we.codec().decode(n,n.uint32());break;case 3:s.streamInfo=Gt.codec().decode(n,n.uint32());break;case 4:s.identify=pe.codec().decode(n,n.uint32());break;case 5:s.dht=ot.codec().decode(n,n.uint32());break;case 6:s.peers.push(wt.codec().decode(n,n.uint32()));break;case 7:s.pubsub=Ie.codec().decode(n,n.uint32());break;case 8:s.peerStore=Ce.codec().decode(n,n.uint32());break;default:n.skipType(a&7);break}}return s})),i),r.encode=n=>D(n,r.codec()),r.decode=n=>R(n,r.codec())})(b||(b={}));var pe;(function(r){let t;r.codec=()=>(t==null&&(t=L((e,i,n={})=>{if(n.lengthDelimited!==!1&&i.fork(),e.id!=null&&e.id.byteLength>0&&(i.uint32(10),i.bytes(e.id)),e.addrs!=null)for(let o of e.addrs)i.uint32(18),i.bytes(o);n.lengthDelimited!==!1&&i.ldelim()},(e,i)=>{let n={id:new Uint8Array(0),addrs:[]},o=i==null?e.len:e.pos+i;for(;e.pos>>3){case 1:n.id=e.bytes();break;case 2:n.addrs.push(e.bytes());break;default:e.skipType(s&7);break}}return n})),t),r.encode=e=>D(e,r.codec()),r.decode=e=>R(e,r.codec())})(pe||(pe={}));var me;(function(r){let t;r.codec=()=>(t==null&&(t=L((e,i,n={})=>{if(n.lengthDelimited!==!1&&i.fork(),e.peer!=null&&e.peer.byteLength>0&&(i.uint32(10),i.bytes(e.peer)),e.addrs!=null)for(let o of e.addrs)i.uint32(18),i.bytes(o);e.timeout!=null&&(i.uint32(24),i.int64(e.timeout)),n.lengthDelimited!==!1&&i.ldelim()},(e,i)=>{let n={peer:new Uint8Array(0),addrs:[]},o=i==null?e.len:e.pos+i;for(;e.pos>>3){case 1:n.peer=e.bytes();break;case 2:n.addrs.push(e.bytes());break;case 3:n.timeout=e.int64();break;default:e.skipType(s&7);break}}return n})),t),r.encode=e=>D(e,r.codec()),r.decode=e=>R(e,r.codec())})(me||(me={}));var ge;(function(r){let t;r.codec=()=>(t==null&&(t=L((e,i,n={})=>{if(n.lengthDelimited!==!1&&i.fork(),e.peer!=null&&e.peer.byteLength>0&&(i.uint32(10),i.bytes(e.peer)),e.proto!=null)for(let o of e.proto)i.uint32(18),i.string(o);e.timeout!=null&&(i.uint32(24),i.int64(e.timeout)),n.lengthDelimited!==!1&&i.ldelim()},(e,i)=>{let n={peer:new Uint8Array(0),proto:[]},o=i==null?e.len:e.pos+i;for(;e.pos>>3){case 1:n.peer=e.bytes();break;case 2:n.proto.push(e.string());break;case 3:n.timeout=e.int64();break;default:e.skipType(s&7);break}}return n})),t),r.encode=e=>D(e,r.codec()),r.decode=e=>R(e,r.codec())})(ge||(ge={}));var ye;(function(r){let t;r.codec=()=>(t==null&&(t=L((e,i,n={})=>{if(n.lengthDelimited!==!1&&i.fork(),e.addr!=null&&e.addr.byteLength>0&&(i.uint32(10),i.bytes(e.addr)),e.proto!=null)for(let o of e.proto)i.uint32(18),i.string(o);n.lengthDelimited!==!1&&i.ldelim()},(e,i)=>{let n={addr:new Uint8Array(0),proto:[]},o=i==null?e.len:e.pos+i;for(;e.pos>>3){case 1:n.addr=e.bytes();break;case 2:n.proto.push(e.string());break;default:e.skipType(s&7);break}}return n})),t),r.encode=e=>D(e,r.codec()),r.decode=e=>R(e,r.codec())})(ye||(ye={}));var we;(function(r){let t;r.codec=()=>(t==null&&(t=L((e,i,n={})=>{n.lengthDelimited!==!1&&i.fork(),e.msg!=null&&e.msg!==""&&(i.uint32(10),i.string(e.msg)),n.lengthDelimited!==!1&&i.ldelim()},(e,i)=>{let n={msg:""},o=i==null?e.len:e.pos+i;for(;e.pos>>3){case 1:n.msg=e.string();break;default:e.skipType(s&7);break}}return n})),t),r.encode=e=>D(e,r.codec()),r.decode=e=>R(e,r.codec())})(we||(we={}));var Gt;(function(r){let t;r.codec=()=>(t==null&&(t=L((e,i,n={})=>{n.lengthDelimited!==!1&&i.fork(),e.peer!=null&&e.peer.byteLength>0&&(i.uint32(10),i.bytes(e.peer)),e.addr!=null&&e.addr.byteLength>0&&(i.uint32(18),i.bytes(e.addr)),e.proto!=null&&e.proto!==""&&(i.uint32(26),i.string(e.proto)),n.lengthDelimited!==!1&&i.ldelim()},(e,i)=>{let n={peer:new Uint8Array(0),addr:new Uint8Array(0),proto:""},o=i==null?e.len:e.pos+i;for(;e.pos>>3){case 1:n.peer=e.bytes();break;case 2:n.addr=e.bytes();break;case 3:n.proto=e.string();break;default:e.skipType(s&7);break}}return n})),t),r.encode=e=>D(e,r.codec()),r.decode=e=>R(e,r.codec())})(Gt||(Gt={}));var j;(function(r){let t;(function(n){n.FIND_PEER="FIND_PEER",n.FIND_PEERS_CONNECTED_TO_PEER="FIND_PEERS_CONNECTED_TO_PEER",n.FIND_PROVIDERS="FIND_PROVIDERS",n.GET_CLOSEST_PEERS="GET_CLOSEST_PEERS",n.GET_PUBLIC_KEY="GET_PUBLIC_KEY",n.GET_VALUE="GET_VALUE",n.SEARCH_VALUE="SEARCH_VALUE",n.PUT_VALUE="PUT_VALUE",n.PROVIDE="PROVIDE"})(t=r.Type||(r.Type={}));let e;(function(n){n[n.FIND_PEER=0]="FIND_PEER",n[n.FIND_PEERS_CONNECTED_TO_PEER=1]="FIND_PEERS_CONNECTED_TO_PEER",n[n.FIND_PROVIDERS=2]="FIND_PROVIDERS",n[n.GET_CLOSEST_PEERS=3]="GET_CLOSEST_PEERS",n[n.GET_PUBLIC_KEY=4]="GET_PUBLIC_KEY",n[n.GET_VALUE=5]="GET_VALUE",n[n.SEARCH_VALUE=6]="SEARCH_VALUE",n[n.PUT_VALUE=7]="PUT_VALUE",n[n.PROVIDE=8]="PROVIDE"})(e||(e={})),function(n){n.codec=()=>lt(e)}(t=r.Type||(r.Type={}));let i;r.codec=()=>(i==null&&(i=L((n,o,s={})=>{s.lengthDelimited!==!1&&o.fork(),n.type!=null&&(o.uint32(8),r.Type.codec().encode(n.type,o)),n.peer!=null&&(o.uint32(18),o.bytes(n.peer)),n.cid!=null&&(o.uint32(26),o.bytes(n.cid)),n.key!=null&&(o.uint32(34),o.bytes(n.key)),n.value!=null&&(o.uint32(42),o.bytes(n.value)),n.count!=null&&(o.uint32(48),o.int32(n.count)),n.timeout!=null&&(o.uint32(56),o.int64(n.timeout)),s.lengthDelimited!==!1&&o.ldelim()},(n,o)=>{let s={},c=o==null?n.len:n.pos+o;for(;n.pos>>3){case 1:s.type=r.Type.codec().decode(n);break;case 2:s.peer=n.bytes();break;case 3:s.cid=n.bytes();break;case 4:s.key=n.bytes();break;case 5:s.value=n.bytes();break;case 6:s.count=n.int32();break;case 7:s.timeout=n.int64();break;default:n.skipType(a&7);break}}return s})),i),r.encode=n=>D(n,r.codec()),r.decode=n=>R(n,r.codec())})(j||(j={}));var ot;(function(r){let t;(function(n){n.BEGIN="BEGIN",n.VALUE="VALUE",n.END="END"})(t=r.Type||(r.Type={}));let e;(function(n){n[n.BEGIN=0]="BEGIN",n[n.VALUE=1]="VALUE",n[n.END=2]="END"})(e||(e={})),function(n){n.codec=()=>lt(e)}(t=r.Type||(r.Type={}));let i;r.codec=()=>(i==null&&(i=L((n,o,s={})=>{s.lengthDelimited!==!1&&o.fork(),n.type!=null&&(o.uint32(8),r.Type.codec().encode(n.type,o)),n.peer!=null&&(o.uint32(18),wt.codec().encode(n.peer,o)),n.value!=null&&(o.uint32(26),o.bytes(n.value)),s.lengthDelimited!==!1&&o.ldelim()},(n,o)=>{let s={},c=o==null?n.len:n.pos+o;for(;n.pos>>3){case 1:s.type=r.Type.codec().decode(n);break;case 2:s.peer=wt.codec().decode(n,n.uint32());break;case 3:s.value=n.bytes();break;default:n.skipType(a&7);break}}return s})),i),r.encode=n=>D(n,r.codec()),r.decode=n=>R(n,r.codec())})(ot||(ot={}));var wt;(function(r){let t;r.codec=()=>(t==null&&(t=L((e,i,n={})=>{if(n.lengthDelimited!==!1&&i.fork(),e.id!=null&&e.id.byteLength>0&&(i.uint32(10),i.bytes(e.id)),e.addrs!=null)for(let o of e.addrs)i.uint32(18),i.bytes(o);n.lengthDelimited!==!1&&i.ldelim()},(e,i)=>{let n={id:new Uint8Array(0),addrs:[]},o=i==null?e.len:e.pos+i;for(;e.pos>>3){case 1:n.id=e.bytes();break;case 2:n.addrs.push(e.bytes());break;default:e.skipType(s&7);break}}return n})),t),r.encode=e=>D(e,r.codec()),r.decode=e=>R(e,r.codec())})(wt||(wt={}));var be;(function(r){let t;(function(n){n.TAG_PEER="TAG_PEER",n.UNTAG_PEER="UNTAG_PEER",n.TRIM="TRIM"})(t=r.Type||(r.Type={}));let e;(function(n){n[n.TAG_PEER=0]="TAG_PEER",n[n.UNTAG_PEER=1]="UNTAG_PEER",n[n.TRIM=2]="TRIM"})(e||(e={})),function(n){n.codec=()=>lt(e)}(t=r.Type||(r.Type={}));let i;r.codec=()=>(i==null&&(i=L((n,o,s={})=>{s.lengthDelimited!==!1&&o.fork(),n.type!=null&&(o.uint32(8),r.Type.codec().encode(n.type,o)),n.peer!=null&&(o.uint32(18),o.bytes(n.peer)),n.tag!=null&&(o.uint32(26),o.string(n.tag)),n.weight!=null&&(o.uint32(32),o.int64(n.weight)),s.lengthDelimited!==!1&&o.ldelim()},(n,o)=>{let s={},c=o==null?n.len:n.pos+o;for(;n.pos>>3){case 1:s.type=r.Type.codec().decode(n);break;case 2:s.peer=n.bytes();break;case 3:s.tag=n.string();break;case 4:s.weight=n.int64();break;default:n.skipType(a&7);break}}return s})),i),r.encode=n=>D(n,r.codec()),r.decode=n=>R(n,r.codec())})(be||(be={}));var Ee;(function(r){let t;r.codec=()=>(t==null&&(t=L((e,i,n={})=>{n.lengthDelimited!==!1&&i.fork(),e.peer!=null&&e.peer.byteLength>0&&(i.uint32(10),i.bytes(e.peer)),n.lengthDelimited!==!1&&i.ldelim()},(e,i)=>{let n={peer:new Uint8Array(0)},o=i==null?e.len:e.pos+i;for(;e.pos>>3){case 1:n.peer=e.bytes();break;default:e.skipType(s&7);break}}return n})),t),r.encode=e=>D(e,r.codec()),r.decode=e=>R(e,r.codec())})(Ee||(Ee={}));var dt;(function(r){let t;(function(n){n.GET_TOPICS="GET_TOPICS",n.LIST_PEERS="LIST_PEERS",n.PUBLISH="PUBLISH",n.SUBSCRIBE="SUBSCRIBE"})(t=r.Type||(r.Type={}));let e;(function(n){n[n.GET_TOPICS=0]="GET_TOPICS",n[n.LIST_PEERS=1]="LIST_PEERS",n[n.PUBLISH=2]="PUBLISH",n[n.SUBSCRIBE=3]="SUBSCRIBE"})(e||(e={})),function(n){n.codec=()=>lt(e)}(t=r.Type||(r.Type={}));let i;r.codec=()=>(i==null&&(i=L((n,o,s={})=>{s.lengthDelimited!==!1&&o.fork(),n.type!=null&&(o.uint32(8),r.Type.codec().encode(n.type,o)),n.topic!=null&&(o.uint32(18),o.string(n.topic)),n.data!=null&&(o.uint32(26),o.bytes(n.data)),s.lengthDelimited!==!1&&o.ldelim()},(n,o)=>{let s={},c=o==null?n.len:n.pos+o;for(;n.pos>>3){case 1:s.type=r.Type.codec().decode(n);break;case 2:s.topic=n.string();break;case 3:s.data=n.bytes();break;default:n.skipType(a&7);break}}return s})),i),r.encode=n=>D(n,r.codec()),r.decode=n=>R(n,r.codec())})(dt||(dt={}));var xe;(function(r){let t;r.codec=()=>(t==null&&(t=L((e,i,n={})=>{if(n.lengthDelimited!==!1&&i.fork(),e.from!=null&&(i.uint32(10),i.bytes(e.from)),e.data!=null&&(i.uint32(18),i.bytes(e.data)),e.seqno!=null&&(i.uint32(26),i.bytes(e.seqno)),e.topicIDs!=null)for(let o of e.topicIDs)i.uint32(34),i.string(o);e.signature!=null&&(i.uint32(42),i.bytes(e.signature)),e.key!=null&&(i.uint32(50),i.bytes(e.key)),n.lengthDelimited!==!1&&i.ldelim()},(e,i)=>{let n={topicIDs:[]},o=i==null?e.len:e.pos+i;for(;e.pos>>3){case 1:n.from=e.bytes();break;case 2:n.data=e.bytes();break;case 3:n.seqno=e.bytes();break;case 4:n.topicIDs.push(e.string());break;case 5:n.signature=e.bytes();break;case 6:n.key=e.bytes();break;default:e.skipType(s&7);break}}return n})),t),r.encode=e=>D(e,r.codec()),r.decode=e=>R(e,r.codec())})(xe||(xe={}));var Ie;(function(r){let t;r.codec=()=>(t==null&&(t=L((e,i,n={})=>{if(n.lengthDelimited!==!1&&i.fork(),e.topics!=null)for(let o of e.topics)i.uint32(10),i.string(o);if(e.peerIDs!=null)for(let o of e.peerIDs)i.uint32(18),i.bytes(o);n.lengthDelimited!==!1&&i.ldelim()},(e,i)=>{let n={topics:[],peerIDs:[]},o=i==null?e.len:e.pos+i;for(;e.pos>>3){case 1:n.topics.push(e.string());break;case 2:n.peerIDs.push(e.bytes());break;default:e.skipType(s&7);break}}return n})),t),r.encode=e=>D(e,r.codec()),r.decode=e=>R(e,r.codec())})(Ie||(Ie={}));var Ae;(function(r){let t;(function(n){n.UNSPECIFIED="UNSPECIFIED",n.GET_PROTOCOLS="GET_PROTOCOLS",n.GET_PEER_INFO="GET_PEER_INFO"})(t=r.Type||(r.Type={}));let e;(function(n){n[n.UNSPECIFIED=0]="UNSPECIFIED",n[n.GET_PROTOCOLS=1]="GET_PROTOCOLS",n[n.GET_PEER_INFO=2]="GET_PEER_INFO"})(e||(e={})),function(n){n.codec=()=>lt(e)}(t=r.Type||(r.Type={}));let i;r.codec=()=>(i==null&&(i=L((n,o,s={})=>{if(s.lengthDelimited!==!1&&o.fork(),n.type!=null&&(o.uint32(8),r.Type.codec().encode(n.type,o)),n.id!=null&&(o.uint32(18),o.bytes(n.id)),n.protos!=null)for(let c of n.protos)o.uint32(26),o.string(c);s.lengthDelimited!==!1&&o.ldelim()},(n,o)=>{let s={protos:[]},c=o==null?n.len:n.pos+o;for(;n.pos>>3){case 1:s.type=r.Type.codec().decode(n);break;case 2:s.id=n.bytes();break;case 3:s.protos.push(n.string());break;default:n.skipType(a&7);break}}return s})),i),r.encode=n=>D(n,r.codec()),r.decode=n=>R(n,r.codec())})(Ae||(Ae={}));var Ce;(function(r){let t;r.codec=()=>(t==null&&(t=L((e,i,n={})=>{if(n.lengthDelimited!==!1&&i.fork(),e.peer!=null&&(i.uint32(10),wt.codec().encode(e.peer,i)),e.protos!=null)for(let o of e.protos)i.uint32(18),i.string(o);n.lengthDelimited!==!1&&i.ldelim()},(e,i)=>{let n={protos:[]},o=i==null?e.len:e.pos+i;for(;e.pos>>3){case 1:n.peer=wt.codec().decode(e,e.uint32());break;case 2:n.protos.push(e.string());break;default:e.skipType(s&7);break}}return n})),t),r.encode=e=>D(e,r.codec()),r.decode=e=>R(e,r.codec())})(Ce||(Ce={}));var Y=kt(ni(),1);Y.default.formatters.b=r=>r==null?"undefined":N.baseEncode(r);Y.default.formatters.t=r=>r==null?"undefined":it.baseEncode(r);Y.default.formatters.m=r=>r==null?"undefined":Er.baseEncode(r);Y.default.formatters.p=r=>r==null?"undefined":r.toString();Y.default.formatters.c=r=>r==null?"undefined":r.toString();Y.default.formatters.k=r=>r==null?"undefined":r.toString();Y.default.formatters.a=r=>r==null?"undefined":r.toString();function Ks(r){let t=()=>{};return t.enabled=!1,t.color="",t.diff=0,t.log=()=>{},t.namespace=r,t.destroy=()=>!0,t.extend=()=>t,t}function ii(){return{forComponent(r){return Dt(r)}}}function Dt(r){let t=Ks(`${r}:trace`);return Y.default.enabled(`${r}:trace`)&&Y.default.names.map(e=>e.toString()).find(e=>e.includes(":trace"))!=null&&(t=(0,Y.default)(`${r}:trace`)),Object.assign((0,Y.default)(r),{error:(0,Y.default)(`${r}:error`),trace:t})}function Wt(){let r={};return r.promise=new Promise((t,e)=>{r.resolve=t,r.reject=e}),r}var De=class extends Error{type;code;constructor(t,e){super(t??"The operation was aborted"),this.type="aborted",this.name="AbortError",this.code=e??"ABORT_ERR"}};async function oi(r,t,e){if(t==null)return r;if(t.aborted)return Promise.reject(new De(e?.errorMessage,e?.errorCode));let i,n=new De(e?.errorMessage,e?.errorCode);try{return await Promise.race([r,new Promise((o,s)=>{i=()=>{s(n)},t.addEventListener("abort",i)})])}finally{i!=null&&t.removeEventListener("abort",i)}}var Gr=class{readNext;haveNext;ended;nextResult;constructor(){this.ended=!1,this.readNext=Wt(),this.haveNext=Wt()}[Symbol.asyncIterator](){return this}async next(){if(this.nextResult==null&&await this.haveNext.promise,this.nextResult==null)throw new Error("HaveNext promise resolved but nextResult was undefined");let t=this.nextResult;return this.nextResult=void 0,this.readNext.resolve(),this.readNext=Wt(),t}async throw(t){return this.ended=!0,t!=null&&(this.haveNext.promise.catch(()=>{}),this.haveNext.reject(t)),{done:!0,value:void 0}}async return(){let t={done:!0,value:void 0};return await this._push(void 0),t}async push(t,e){await this._push(t,e)}async end(t,e){t!=null?await this.throw(t):await this._push(void 0,e)}async _push(t,e){if(t!=null&&this.ended)throw new Error("Cannot push value onto an ended pushable");for(;this.nextResult!=null;)await this.readNext.promise;t!=null?this.nextResult={done:!1,value:t}:(this.ended=!0,this.nextResult={done:!0,value:void 0}),this.haveNext.resolve(),this.haveNext=Wt(),await oi(this.readNext.promise,e?.signal,e)}};function si(){return new Gr}var ci=$("node:buffer");function tt(r,t){return It(ci.Buffer.concat(r,t))}function Lt(r,t){if(r===t)return!0;if(r.byteLength!==t.byteLength)return!1;for(let e=0;e0&&this.appendAll(t)}*[Symbol.iterator](){yield*this.bufs}get byteLength(){return this.length}append(...t){this.appendAll(t)}appendAll(t){let e=0;for(let i of t)if(i instanceof Uint8Array)e+=i.byteLength,this.bufs.push(i);else if(Le(i))e+=i.byteLength,this.bufs.push(...i.bufs);else throw new Error("Could not append value, must be an Uint8Array or a Uint8ArrayList");this.length+=e}prepend(...t){this.prependAll(t)}prependAll(t){let e=0;for(let i of t.reverse())if(i instanceof Uint8Array)e+=i.byteLength,this.bufs.unshift(i);else if(Le(i))e+=i.byteLength,this.bufs.unshift(...i.bufs);else throw new Error("Could not prepend value, must be an Uint8Array or a Uint8ArrayList");this.length+=e}get(t){let e=ai(this.bufs,t);return e.buf[e.index]}set(t,e){let i=ai(this.bufs,t);i.buf[i.index]=e}write(t,e=0){if(t instanceof Uint8Array)for(let i=0;i0;)if(t>=this.bufs[0].byteLength)t-=this.bufs[0].byteLength,this.length-=this.bufs[0].byteLength,this.bufs.shift();else{this.bufs[0]=this.bufs[0].subarray(t),this.length-=t;break}}}slice(t,e){let{bufs:i,length:n}=this._subList(t,e);return tt(i,n)}subarray(t,e){let{bufs:i,length:n}=this._subList(t,e);return i.length===1?i[0]:tt(i,n)}sublist(t,e){let{bufs:i,length:n}=this._subList(t,e),o=new r;return o.length=n,o.bufs=[...i],o}_subList(t,e){if(t=t??0,e=e??this.length,t<0&&(t=this.length+t),e<0&&(e=this.length+e),t<0||e>this.length)throw new RangeError("index is out of bounds");if(t===e)return{bufs:[],length:0};if(t===0&&e===this.length)return{bufs:this.bufs,length:this.length};let i=[],n=0;for(let o=0;o=a)continue;let g=t>=c&&tc&&e<=a;if(g&&u){if(t===c&&e===a){i.push(s);break}let l=t-c;i.push(s.subarray(l,l+(e-t)));break}if(g){if(t===0){i.push(s);continue}i.push(s.subarray(t-c));continue}if(u){if(e===a){i.push(s);break}i.push(s.subarray(0,e-c));break}i.push(s)}return{bufs:i,length:e-t}}indexOf(t,e=0){if(!Le(t)&&!(t instanceof Uint8Array))throw new TypeError('The "value" argument must be a Uint8ArrayList or Uint8Array');let i=t instanceof Uint8Array?t:t.subarray();if(e=Number(e??0),isNaN(e)&&(e=0),e<0&&(e=this.length+e),e<0&&(e=0),t.length===0)return e>this.length?this.length:e;let n=i.byteLength;if(n===0)throw new TypeError("search must be at least 1 byte long");let o=256,s=new Int32Array(o);for(let l=0;l=0;m--){let y=this.get(l+m);if(i[m]!==y){u=Math.max(1,m-c[y]);break}}if(u===0)return l}return-1}getInt8(t){let e=this.subarray(t,t+1);return new DataView(e.buffer,e.byteOffset,e.byteLength).getInt8(0)}setInt8(t,e){let i=Z(1);new DataView(i.buffer,i.byteOffset,i.byteLength).setInt8(0,e),this.write(i,t)}getInt16(t,e){let i=this.subarray(t,t+2);return new DataView(i.buffer,i.byteOffset,i.byteLength).getInt16(0,e)}setInt16(t,e,i){let n=at(2);new DataView(n.buffer,n.byteOffset,n.byteLength).setInt16(0,e,i),this.write(n,t)}getInt32(t,e){let i=this.subarray(t,t+4);return new DataView(i.buffer,i.byteOffset,i.byteLength).getInt32(0,e)}setInt32(t,e,i){let n=at(4);new DataView(n.buffer,n.byteOffset,n.byteLength).setInt32(0,e,i),this.write(n,t)}getBigInt64(t,e){let i=this.subarray(t,t+8);return new DataView(i.buffer,i.byteOffset,i.byteLength).getBigInt64(0,e)}setBigInt64(t,e,i){let n=at(8);new DataView(n.buffer,n.byteOffset,n.byteLength).setBigInt64(0,e,i),this.write(n,t)}getUint8(t){let e=this.subarray(t,t+1);return new DataView(e.buffer,e.byteOffset,e.byteLength).getUint8(0)}setUint8(t,e){let i=Z(1);new DataView(i.buffer,i.byteOffset,i.byteLength).setUint8(0,e),this.write(i,t)}getUint16(t,e){let i=this.subarray(t,t+2);return new DataView(i.buffer,i.byteOffset,i.byteLength).getUint16(0,e)}setUint16(t,e,i){let n=at(2);new DataView(n.buffer,n.byteOffset,n.byteLength).setUint16(0,e,i),this.write(n,t)}getUint32(t,e){let i=this.subarray(t,t+4);return new DataView(i.buffer,i.byteOffset,i.byteLength).getUint32(0,e)}setUint32(t,e,i){let n=at(4);new DataView(n.buffer,n.byteOffset,n.byteLength).setUint32(0,e,i),this.write(n,t)}getBigUint64(t,e){let i=this.subarray(t,t+8);return new DataView(i.buffer,i.byteOffset,i.byteLength).getBigUint64(0,e)}setBigUint64(t,e,i){let n=at(8);new DataView(n.buffer,n.byteOffset,n.byteLength).setBigUint64(0,e,i),this.write(n,t)}getFloat32(t,e){let i=this.subarray(t,t+4);return new DataView(i.buffer,i.byteOffset,i.byteLength).getFloat32(0,e)}setFloat32(t,e,i){let n=at(4);new DataView(n.buffer,n.byteOffset,n.byteLength).setFloat32(0,e,i),this.write(n,t)}getFloat64(t,e){let i=this.subarray(t,t+8);return new DataView(i.buffer,i.byteOffset,i.byteLength).getFloat64(0,e)}setFloat64(t,e,i){let n=at(8);new DataView(n.buffer,n.byteOffset,n.byteLength).setFloat64(0,e,i),this.write(n,t)}equals(t){if(t==null||!(t instanceof r)||t.bufs.length!==this.bufs.length)return!1;for(let e=0;en+o.byteLength,0)),i.length=e,i}};var Ne=class extends Error{code;constructor(t,e){super(t),this.code=e}},$r=class extends Ne{type;constructor(t){super(t,"ABORT_ERR"),this.type="aborted"}};function li(r,t){let e=si();r.sink(e).catch(async s=>{await e.end(s)}),r.sink=async s=>{for await(let c of s)await e.push(c);await e.end()};let i=r.source;r.source[Symbol.iterator]!=null?i=r.source[Symbol.iterator]():r.source[Symbol.asyncIterator]!=null&&(i=r.source[Symbol.asyncIterator]());let n=new ft;return{read:async(s,c)=>{c?.signal?.throwIfAborted();let a,g=new Promise((u,l)=>{a=()=>{l(new $r("Read aborted"))},c?.signal?.addEventListener("abort",a)});try{if(s==null){let{done:l,value:m}=await Promise.race([i.next(),g]);return l===!0?new ft:m}for(;n.byteLength{c?.signal?.throwIfAborted(),s instanceof Uint8Array?await e.push(s,c):await e.push(s.subarray(),c)},unwrap:()=>{if(n.byteLength>0){let s=r.source;r.source=async function*(){t?.yieldBytes===!1?yield n:yield*n,yield*s}()}return r}}}var _e=class extends Error{code;constructor(t,e){super(t),this.code=e}};function Pe(r,t={}){let e=li(r,t);t.maxDataLength!=null&&t.maxLengthLength==null&&(t.maxLengthLength=B(t.maxDataLength));let i=t?.lengthDecoder??ut,n=t?.lengthEncoder??ht;return{read:async s=>{let c=-1,a=new ft;for(;;){a.append(await e.read(1,s));try{c=i(a)}catch(g){if(g instanceof RangeError)continue;throw g}if(t?.maxLengthLength!=null&&a.byteLength>t.maxLengthLength)throw new _e("message length length too long","ERR_MSG_LENGTH_TOO_LONG");if(c>-1)break}if(t?.maxDataLength!=null&&c>t.maxDataLength)throw new _e("message length too long","ERR_MSG_DATA_TOO_LONG");return e.read(c,s)},write:async(s,c)=>{await e.write(new ft(n(s.byteLength),s),c)},writeV:async(s,c)=>{let a=new ft(...s.flatMap(g=>[n(g.byteLength),g]));await e.write(a,c)},unwrap:()=>e.unwrap()}}var zr=Dt("libp2p:daemon-protocol:stream-handler"),Oe=class{stream;lp;constructor(t){let{stream:e,maxLength:i}=t;this.stream=e,this.lp=Pe(this.stream,{maxDataLength:i??4096})}async read(){try{return await this.lp.read()}catch(t){zr.error("read received no value",t)}}async write(t){zr("write message"),await this.lp.write(t)}rest(){return this.lp.unwrap()}async close(){zr("closing the stream"),await this.rest().close()}};var Hr={upgradeInbound:async r=>r,upgradeOutbound:async r=>r};var ke=Symbol.for("@libp2p/peer-id");function Yt(r){return r!=null&&!!r[ke]}var fi=Symbol.for("@libp2p/transport");var di;(function(r){r[r.FATAL_ALL=0]="FATAL_ALL",r[r.NO_FATAL=1]="NO_FATAL"})(di||(di={}));var re=class r extends Error{code;type;constructor(t="The operation was aborted"){super(t),this.name="AbortError",this.code=r.code,this.type=r.type}static code="ABORT_ERR";static type="aborted"},f=class extends Error{code;props;constructor(t,e,i){super(t),this.code=e,this.name=i?.name??"CodeError",this.props=i??{}}};var hi=$("events"),pi=(r,...t)=>{try{(0,hi.setMaxListeners)(r,...t)}catch{}};var Ue=class extends EventTarget{#t=new Map;constructor(){super(),pi(1/0,this)}listenerCount(t){let e=this.#t.get(t);return e==null?0:e.length}addEventListener(t,e,i){super.addEventListener(t,e,i);let n=this.#t.get(t);n==null&&(n=[],this.#t.set(t,n)),n.push({callback:e,once:(i!==!0&&i!==!1&&i?.once)??!1})}removeEventListener(t,e,i){super.removeEventListener(t.toString(),e??null,i);let n=this.#t.get(t);n!=null&&(n=n.filter(({callback:o})=>o!==e),this.#t.set(t,n))}dispatchEvent(t){let e=super.dispatchEvent(t),i=this.#t.get(t.type);return i==null||(i=i.filter(({once:n})=>!n),this.#t.set(t.type,i)),e}safeDispatchEvent(t,e={}){return this.dispatchEvent(new Ws(t,e))}},Kr=class extends Event{detail;constructor(t,e){super(t,e),this.detail=e?.detail}},Ws=globalThis.CustomEvent??Kr;var mi=Symbol.for("@libp2p/service-capabilities"),Yu=Symbol.for("@libp2p/service-dependencies");var gi=$("node:buffer");function k(r,t="utf8"){let e=de[t];if(e==null)throw new Error(`Unsupported encoding "${t}"`);return t==="utf8"||t==="utf-8"?gi.Buffer.from(r.buffer,r.byteOffset,r.byteLength).toString("utf8"):e.encoder.encode(r).substring(1)}var wi=Symbol.for("nodejs.util.inspect.custom"),yi=Object.values(yt).map(r=>r.decoder).reduce((r,t)=>r.or(t),yt.identity.decoder),bi=114,Ei=36,xi=37,ne=class{type;multihash;privateKey;publicKey;string;constructor(t){this.type=t.type,this.multihash=t.multihash,this.privateKey=t.privateKey,Object.defineProperty(this,"string",{enumerable:!1,writable:!0})}get[Symbol.toStringTag](){return`PeerId(${this.toString()})`}[ke]=!0;toString(){return this.string==null&&(this.string=N.encode(this.multihash.bytes).slice(1)),this.string}toCID(){return G.createV1(bi,this.multihash)}toBytes(){return this.multihash.bytes}toJSON(){return this.toString()}equals(t){if(t==null)return!1;if(t instanceof Uint8Array)return Lt(this.multihash.bytes,t);if(typeof t=="string")return Ys(t).equals(this);if(t?.multihash?.bytes!=null)return Lt(this.multihash.bytes,t.multihash.bytes);throw new Error("not valid Id")}[wi](){return`PeerId(${this.toString()})`}},ie=class extends ne{type="RSA";publicKey;constructor(t){super({...t,type:"RSA"}),this.publicKey=t.publicKey}},oe=class extends ne{type="Ed25519";publicKey;constructor(t){super({...t,type:"Ed25519"}),this.publicKey=t.multihash.digest}},se=class extends ne{type="secp256k1";publicKey;constructor(t){super({...t,type:"secp256k1"}),this.publicKey=t.multihash.digest}},Wr=2336,Yr=class{type="url";multihash;privateKey;publicKey;url;constructor(t){this.url=t.toString(),this.multihash=qt.digest(vt(this.url))}[wi](){return`PeerId(${this.url})`}[ke]=!0;toString(){return this.toCID().toString()}toCID(){return G.createV1(Wr,this.multihash)}toBytes(){return this.toCID().bytes}equals(t){return t==null?!1:(t instanceof Uint8Array&&(t=k(t)),t.toString()===this.toString())}};function Ys(r,t){if(t=t??yi,r.charAt(0)==="1"||r.charAt(0)==="Q"){let e=Ct(N.decode(`z${r}`));return r.startsWith("12D")?new oe({multihash:e}):r.startsWith("16U")?new se({multihash:e}):new ie({multihash:e})}return ct(yi.decode(r))}function ct(r){try{let t=Ct(r);if(t.code===qt.code){if(t.digest.length===Ei)return new oe({multihash:t});if(t.digest.length===xi)return new se({multihash:t})}if(t.code===le.code)return new ie({multihash:t})}catch{return Xs(G.decode(r))}throw new Error("Supplied PeerID CID is invalid")}function Xs(r){if(r==null||r.multihash==null||r.version==null||r.version===1&&r.code!==bi&&r.code!==Wr)throw new Error("Supplied PeerID CID is invalid");if(r.code===Wr){let e=k(r.multihash.digest);return new Yr(new URL(e))}let t=r.multihash;if(t.code===le.code)return new ie({multihash:r.multihash});if(t.code===qt.code){if(t.digest.length===Ei)return new oe({multihash:r.multihash});if(t.digest.length===xi)return new se({multihash:r.multihash})}throw new Error("Supplied PeerID CID is invalid")}var Xi=kt($("net"),1);var Fe=class{index=0;input="";new(t){return this.index=0,this.input=t,this}readAtomically(t){let e=this.index,i=t();return i===void 0&&(this.index=e),i}parseWith(t){let e=t();if(this.index===this.input.length)return e}peekChar(){if(!(this.index>=this.input.length))return this.input[this.index]}readChar(){if(!(this.index>=this.input.length))return this.input[this.index++]}readGivenChar(t){return this.readAtomically(()=>{let e=this.readChar();if(e===t)return e})}readSeparator(t,e,i){return this.readAtomically(()=>{if(!(e>0&&this.readGivenChar(t)===void 0))return i()})}readNumber(t,e,i,n){return this.readAtomically(()=>{let o=0,s=0,c=this.peekChar();if(c===void 0)return;let a=c==="0",g=2**(8*n)-1;for(;;){let u=this.readAtomically(()=>{let l=this.readChar();if(l===void 0)return;let m=Number.parseInt(l,t);if(!Number.isNaN(m))return m});if(u===void 0)break;if(o*=t,o+=u,o>g||(s+=1,e!==void 0&&s>e))return}if(s!==0)return!i&&a&&s>1?void 0:o})}readIPv4Addr(){return this.readAtomically(()=>{let t=new Uint8Array(4);for(let e=0;ethis.readNumber(10,3,!1,1));if(i===void 0)return;t[e]=i}return t})}readIPv6Addr(){let t=e=>{for(let i=0;ithis.readIPv4Addr());if(s!==void 0)return e[n]=s[0],e[n+1]=s[1],e[n+2]=s[2],e[n+3]=s[3],[n+4,!0]}let o=this.readSeparator(":",i,()=>this.readNumber(16,4,!0,2));if(o===void 0)return[n,!1];e[n]=o>>8,e[n+1]=o&255}return[e.length,!1]};return this.readAtomically(()=>{let e=new Uint8Array(16),[i,n]=t(e);if(i===16)return e;if(n||this.readGivenChar(":")===void 0||this.readGivenChar(":")===void 0)return;let o=new Uint8Array(14),s=16-(i+2),[c]=t(o.subarray(0,s));return e.set(o.subarray(0,c),16-c),e})}readIPAddr(){return this.readIPv4Addr()??this.readIPv6Addr()}};var Nl=new Fe;var Ml=parseInt("0xFFFF",16),Vl=new Uint8Array([0,0,0,0,0,0,0,0,0,0,255,255]);var et=$("node:net");function Be(r){return!!(0,et.isIP)(r)}var Ci=et.isIPv4,tc=et.isIPv6,Xr=function(r){let t=0;if(r=r.toString().trim(),Ci(r)){let e=new Uint8Array(t+4);return r.split(/\./g).forEach(i=>{e[t++]=parseInt(i,10)&255}),e}if(tc(r)){let e=r.split(":",8),i;for(i=0;i0;i--)o.push("0");e.splice.apply(e,o)}let n=new Uint8Array(t+16);for(i=0;i>8&255,n[t++]=o&255}return n}throw new Error("invalid ip address")},Ti=function(r,t=0,e){t=~~t,e=e??r.length-t;let i=new DataView(r.buffer);if(e===4){let n=[];for(let o=0;o{let t=nc(...r);Jr[t.code]=t,Xt[t.name]=t});function nc(r,t,e,i,n){return{code:r,size:t,name:e,resolvable:!!i,path:!!n}}function A(r){if(typeof r=="number"){if(Jr[r]!=null)return Jr[r];throw new Error(`no protocol with code: ${r}`)}else if(typeof r=="string"){if(Xt[r]!=null)return Xt[r];throw new Error(`no protocol with name: ${r}`)}throw new Error(`invalid protocol id type: ${typeof r}`)}var Cd=A("ip4"),Td=A("ip6"),vd=A("ipcidr");function jr(r,t){switch(A(r).code){case 4:case 41:return oc(t);case 42:return qr(t);case 6:case 273:case 33:case 132:return Ri(t).toString();case 53:case 54:case 55:case 56:case 400:case 449:case 777:return qr(t);case 421:return uc(t);case 444:return Si(t);case 445:return Si(t);case 466:return ac(t);case 481:return globalThis.encodeURIComponent(qr(t));default:return k(t,"base16")}}function tn(r,t){switch(A(r).code){case 4:return vi(t);case 41:return vi(t);case 42:return Zr(t);case 6:case 273:case 33:case 132:return en(parseInt(t,10));case 53:case 54:case 55:case 56:case 400:case 449:case 777:return Zr(t);case 421:return sc(t);case 444:return lc(t);case 445:return dc(t);case 466:return cc(t);case 481:return Zr(globalThis.decodeURIComponent(t));default:return vt(t,"base16")}}var Qr=Object.values(yt).map(r=>r.decoder),ic=function(){let r=Qr[0].or(Qr[1]);return Qr.slice(2).forEach(t=>r=r.or(t)),r}();function vi(r){if(!Be(r))throw new Error("invalid ip address");return Xr(r)}function oc(r){let t=Ti(r,0,r.length);if(t==null)throw new Error("ipBuff is required");if(!Be(t))throw new Error("invalid ip address");return t}function en(r){let t=new ArrayBuffer(2);return new DataView(t).setUint16(0,r),new Uint8Array(t)}function Ri(r){return new DataView(r.buffer).getUint16(r.byteOffset)}function Zr(r){let t=vt(r),e=Uint8Array.from(ht(t.length));return tt([e,t],e.length+t.length)}function qr(r){let t=ut(r);if(r=r.slice(B(t)),r.length!==t)throw new Error("inconsistent lengths");return k(r)}function sc(r){let t;r[0]==="Q"||r[0]==="1"?t=Ct(N.decode(`z${r}`)).bytes:t=G.parse(r).multihash.bytes;let e=Uint8Array.from(ht(t.length));return tt([e,t],e.length+t.length)}function cc(r){let t=ic.decode(r),e=Uint8Array.from(ht(t.length));return tt([e,t],e.length+t.length)}function ac(r){let t=ut(r),e=r.slice(B(t));if(e.length!==t)throw new Error("inconsistent lengths");return"u"+k(e,"base64url")}function uc(r){let t=ut(r),e=r.slice(B(t));if(e.length!==t)throw new Error("inconsistent lengths");return k(e,"base58btc")}function lc(r){let t=r.split(":");if(t.length!==2)throw new Error(`failed to parse onion addr: ["'${t.join('", "')}'"]' does not contain a port number`);if(t[0].length!==16)throw new Error(`failed to parse onion addr: ${t[0]} not a Tor onion address.`);let e=it.decode("b"+t[0]),i=parseInt(t[1],10);if(i<1||i>65536)throw new Error("Port number is not in range(1, 65536)");let n=en(i);return tt([e,n],e.length+n.length)}function dc(r){let t=r.split(":");if(t.length!==2)throw new Error(`failed to parse onion addr: ["'${t.join('", "')}'"]' does not contain a port number`);if(t[0].length!==56)throw new Error(`failed to parse onion addr: ${t[0]} not a Tor onion3 address.`);let e=it.decode(`b${t[0]}`),i=parseInt(t[1],10);if(i<1||i>65536)throw new Error("Port number is not in range(1, 65536)");let n=en(i);return tt([e,n],e.length+n.length)}function Si(r){let t=r.slice(0,r.length-2),e=r.slice(r.length-2),i=k(t,"base32"),n=Ri(e);return`${i}:${n}`}function Di(r){r=rn(r);let t=[],e=[],i=null,n=r.split("/").slice(1);if(n.length===1&&n[0]==="")return{bytes:new Uint8Array,string:"/",tuples:[],stringTuples:[],path:null};for(let o=0;o=n.length)throw Ni("invalid address: "+r);if(c.path===!0){i=rn(n.slice(o).join("/")),t.push([c.code,tn(c.code,i)]),e.push([c.code,i]);break}let a=tn(c.code,n[o]);t.push([c.code,a]),e.push([c.code,jr(c.code,a)])}return{string:Li(e),bytes:on(t),tuples:t,stringTuples:e,path:i}}function nn(r){let t=[],e=[],i=null,n=0;for(;nr.length)throw Ni("Invalid address Uint8Array: "+k(r,"base16"));t.push([o,g]);let u=jr(o,g);if(e.push([o,u]),c.path===!0){i=u;break}}return{bytes:Uint8Array.from(r),string:Li(e),tuples:t,stringTuples:e,path:i}}function Li(r){let t=[];return r.map(e=>{let i=A(e[0]);return t.push(i.name),e.length>1&&e[1]!=null&&t.push(e[1]),null}),rn(t.join("/"))}function on(r){return tt(r.map(t=>{let e=A(t[0]),i=Uint8Array.from(ht(e.code));return t.length>1&&t[1]!=null&&(i=tt([i,t[1]])),i}))}function fc(r,t){if(r.size>0)return r.size/8;if(r.size===0)return 0;{let e=ut(t instanceof Uint8Array?t:Uint8Array.from(t));return e+B(e)}}function rn(r){return"/"+r.trim().split("/").filter(t=>t).join("/")}function Ni(r){return new Error("Error parsing address: "+r)}var hc=Symbol.for("nodejs.util.inspect.custom"),sn=Symbol.for("@multiformats/js-multiaddr/multiaddr"),pc=[A("dns").code,A("dns4").code,A("dns6").code,A("dnsaddr").code],Me=class r{bytes;#t;#e;#r;#n;[sn]=!0;constructor(t){t==null&&(t="");let e;if(t instanceof Uint8Array)e=nn(t);else if(typeof t=="string"){if(t.length>0&&t.charAt(0)!=="/")throw new Error(`multiaddr "${t}" must start with a "/"`);e=Di(t)}else if(Ve(t))e=nn(t.bytes);else throw new Error("addr must be a string, Buffer, or another Multiaddr");this.bytes=e.bytes,this.#t=e.string,this.#e=e.tuples,this.#r=e.stringTuples,this.#n=e.path}toString(){return this.#t}toJSON(){return this.toString()}toOptions(){let t,e,i,n,o="",s=A("tcp"),c=A("udp"),a=A("ip4"),g=A("ip6"),u=A("dns6"),l=A("ip6zone");for(let[y,p]of this.stringTuples())y===l.code&&(o=`%${p??""}`),pc.includes(y)&&(e=s.name,n=443,i=`${p??""}${o}`,t=y===u.code?6:4),(y===s.code||y===c.code)&&(e=A(y).name,n=parseInt(p??"")),(y===a.code||y===g.code)&&(e=A(y).name,i=`${p??""}${o}`,t=y===g.code?6:4);if(t==null||e==null||i==null||n==null)throw new Error('multiaddr must have a valid format: "/{ip4, ip6, dns4, dns6, dnsaddr}/{address}/{tcp, udp}/{port}".');return{family:t,host:i,transport:e,port:n}}protos(){return this.#e.map(([t])=>Object.assign({},A(t)))}protoCodes(){return this.#e.map(([t])=>t)}protoNames(){return this.#e.map(([t])=>A(t).name)}tuples(){return this.#e}stringTuples(){return this.#r}encapsulate(t){return t=new r(t),new r(this.toString()+t.toString())}decapsulate(t){let e=t.toString(),i=this.toString(),n=i.lastIndexOf(e);if(n<0)throw new Error(`Address ${this.toString()} does not contain subaddress: ${t.toString()}`);return new r(i.slice(0,n))}decapsulateCode(t){let e=this.tuples();for(let i=e.length-1;i>=0;i--)if(e[i][0]===t)return new r(on(e.slice(0,i)));return this}getPeerId(){try{let t=[];this.stringTuples().forEach(([i,n])=>{i===Xt.p2p.code&&t.push([i,n]),i===Xt["p2p-circuit"].code&&(t=[])});let e=t.pop();if(e?.[1]!=null){let i=e[1];return i[0]==="Q"||i[0]==="1"?k(N.decode(`z${i}`),"base58btc"):k(G.parse(i).multihash.bytes,"base58btc")}return null}catch{return null}}getPath(){return this.#n}equals(t){return Lt(this.bytes,t.bytes)}async resolve(t){let e=this.protos().find(o=>o.resolvable);if(e==null)return[this];let i=_i.get(e.name);if(i==null)throw new f(`no available resolver for ${e.name}`,"ERR_NO_AVAILABLE_RESOLVER");return(await i(this,t)).map(o=>U(o))}nodeAddress(){let t=this.toOptions();if(t.transport!=="tcp"&&t.transport!=="udp")throw new Error(`multiaddr must have a valid format - no protocol with name: "${t.transport}". Must have a valid transport protocol: "{tcp, udp}"`);return{family:t.family,address:t.host,port:t.port}}isThinWaistAddress(t){let e=(t??this).protos();return!(e.length!==2||e[0].code!==4&&e[0].code!==41||e[1].code!==6&&e[1].code!==273)}[hc](){return`Multiaddr(${this.#t})`}};var _i=new Map;function Ve(r){return!!r?.[sn]}function U(r){return new Me(r)}var mc=d("dns4"),gc=d("dns6"),yc=d("dnsaddr"),_t=S(d("dns"),yc,mc,gc),ze=S(d("ip4"),d("ip6")),Et=S(h(ze,d("tcp")),h(_t,d("tcp"))),He=h(ze,d("udp")),wc=h(He,d("utp")),bc=h(He,d("quic")),Ec=h(He,d("quic-v1")),cn=S(h(Et,d("ws")),h(_t,d("ws"))),Ge=S(h(cn,d("p2p")),cn),an=S(h(Et,d("wss")),h(_t,d("wss")),h(Et,d("tls"),d("ws")),h(_t,d("tls"),d("ws"))),$e=S(h(an,d("p2p")),an),un=S(h(Et,d("http")),h(ze,d("http")),h(_t,d("http"))),ln=S(h(Et,d("https")),h(ze,d("https")),h(_t,d("https"))),Pi=h(He,d("webrtc-direct"),d("certhash")),Ui=S(h(Pi,d("p2p")),Pi),Oi=h(Ec,d("webtransport"),d("certhash"),d("certhash")),Fi=S(h(Oi,d("p2p")),Oi),Bi=S(h(Ge,d("p2p-webrtc-star"),d("p2p")),h($e,d("p2p-webrtc-star"),d("p2p")),h(Ge,d("p2p-webrtc-star")),h($e,d("p2p-webrtc-star"))),qd=S(h(Ge,d("p2p-websocket-star"),d("p2p")),h($e,d("p2p-websocket-star"),d("p2p")),h(Ge,d("p2p-websocket-star")),h($e,d("p2p-websocket-star"))),Mi=S(h(un,d("p2p-webrtc-direct"),d("p2p")),h(ln,d("p2p-webrtc-direct"),d("p2p")),h(un,d("p2p-webrtc-direct")),h(ln,d("p2p-webrtc-direct"))),Pt=S(cn,an,un,ln,Bi,Mi,Et,wc,bc,_t,Ui,Fi),jd=S(h(Pt,d("p2p-stardust"),d("p2p")),h(Pt,d("p2p-stardust"))),bt=S(h(Pt,d("p2p")),Bi,Mi,Ui,Fi,d("p2p")),ki=S(h(bt,d("p2p-circuit"),bt),h(bt,d("p2p-circuit")),h(d("p2p-circuit"),bt),h(Pt,d("p2p-circuit")),h(d("p2p-circuit"),Pt),d("p2p-circuit")),Vi=()=>S(h(ki,Vi),ki),Nt=Vi(),tf=S(h(Nt,bt,Nt),h(bt,Nt),h(Nt,bt),Nt,bt);var ef=S(h(Nt,d("webrtc"),d("p2p")),h(Nt,d("webrtc")),h(Pt,d("webrtc"),d("p2p")),h(Pt,d("webrtc")),d("webrtc"));function Gi(r){function t(e){let i;try{i=U(e)}catch{return!1}let n=r(i.protoNames());return n===null?!1:n===!0||n===!1?n:n.length===0}return t}function h(...r){function t(e){if(e.length(i=typeof n=="function"?n().partialMatch(e):n.partialMatch(e),Array.isArray(i)&&(e=i),i===null)),i}return{toString:function(){return"{ "+r.join(" ")+" }"},input:r,matches:Gi(t),partialMatch:t}}function S(...r){function t(i){let n=null;return r.some(o=>{let s=typeof o=="function"?o().partialMatch(i):o.partialMatch(i);return s!=null?(n=s,!0):!1}),n}return{toString:function(){return"{ "+r.join(" ")+" }"},input:r,matches:Gi(t),partialMatch:t}}function d(r){let t=r;function e(n){let o;try{o=U(n)}catch{return!1}let s=o.protoNames();return s.length===1&&s[0]===t}function i(n){return n.length===0?null:n[0]===t?n.slice(1):null}return{toString:function(){return t},matches:e,partialMatch:i}}var Ke=class extends Event{type;detail;constructor(t,e){super(t),this.type=t,this.detail=e}};var Yi=kt($("net"),1);var dn={ERR_INVALID_IP_PARAMETER:"ERR_INVALID_IP_PARAMETER",ERR_INVALID_PORT_PARAMETER:"ERR_INVALID_PORT_PARAMETER",ERR_INVALID_IP:"ERR_INVALID_IP"};function $i(r,t){if(typeof r!="string")throw new f(`invalid ip provided: ${r}`,dn.ERR_INVALID_IP_PARAMETER);if(typeof t=="string"&&(t=parseInt(t)),isNaN(t))throw new f(`invalid port provided: ${t}`,dn.ERR_INVALID_PORT_PARAMETER);if((0,et.isIPv4)(r))return U(`/ip4/${r}/tcp/${t}`);if((0,et.isIPv6)(r))return U(`/ip6/${r}/tcp/${t}`);throw new f(`invalid ip:port for creating a multiaddr: ${r}:${t}`,dn.ERR_INVALID_IP)}function zi(r){if(Ac(r))return async function*(){let t=r.getReader();try{for(;;){let{done:e,value:i}=await t.read();if(e)return;yield i}}finally{t.releaseLock()}}();if(Ic(r))return r;throw new Error("unknown stream")}function Ic(r){return r[Symbol.asyncIterator]!=null}function Ac(r){return typeof r?.getReader=="function"}function Hi(r){return async t=>{let e=async()=>{Cc(t)&&await t.return(void 0)},i,n,o=E=>{i=E,e().catch(C=>{C=new AggregateError([i,C],"The Writable emitted an error, additionally an error occurred while ending the Source")}).finally(()=>{n?.(E)})},s,c=!1,a=()=>{c=!0,s?.()},g,u=!1,l=()=>{u=!0,g?.()},m,y=()=>{m?.()},p=async()=>new Promise((E,C)=>{s=m=E,n=C,r.once("drain",y)}),w=async()=>(await e(),new Promise((E,C)=>{if(c||u||i!=null){E();return}g=s=E,n=C})),I=()=>{r.removeListener("error",o),r.removeListener("close",a),r.removeListener("finish",l),r.removeListener("drain",y)};r.once("error",o),r.once("close",a),r.once("finish",l);try{for await(let E of t){if(!r.writable||r.destroyed||i!=null)break;r.write(E)||await p()}}catch(E){i==null&&r.destroy(E),i=E}try{if(r.writable&&r.end(),await w(),i!=null)throw i}finally{I()}}}function Cc(r){return r.return!=null}function fn(r){return{sink:Hi(r),source:zi(r)}}var hn=kt($("os"),1),Ki=kt($("path"),1);var Tc={ip4:"IPv4",ip6:"IPv6"};function Jt(r,t={}){let e=r.getPath();return e!=null?hn.default.platform()==="win32"?{path:Ki.default.join("\\\\.\\pipe\\",e)}:{path:e}:{...t,...r.toOptions()}}function pn(r,t,e){let i=n=>U(`/${r}/${n}/tcp/${e}`);return(vc(t)?Rc(Tc[r]):[t]).map(i)}function vc(r){return["0.0.0.0","::"].includes(r)}var Sc=hn.default.networkInterfaces();function Rc(r){let t=[];for(let[,e]of Object.entries(Sc))if(e!=null)for(let i of e)i.family===r&&t.push(i.address);return t}var We=(r,t)=>{let e=null,i=t.logger.forComponent("libp2p:tcp:socket"),n=t.metrics,o=t.metricPrefix??"",s=t.socketInactivityTimeout??3e5,c=t.socketCloseTimeout??500;t.listeningAddr?.getPath()!=null&&(t.remoteAddr=t.listeningAddr),t.remoteAddr?.getPath()!=null&&(t.localAddr=t.remoteAddr);let a;if(t.remoteAddr!=null)a=t.remoteAddr;else{if(r.remoteAddress==null||r.remotePort==null)throw new f("Could not determine remote address or port","ERR_NO_REMOTE_ADDRESS");a=$i(r.remoteAddress,r.remotePort)}let g=Jt(a),u=g.path??`${g.host??""}:${g.port??""}`,{sink:l,source:m}=fn(r);r.setTimeout(s,()=>{i("%s socket read timeout",u),n?.increment({[`${o}timeout`]:!0});let p;r.readable&&(p=new f("Socket read timeout","ERR_SOCKET_READ_TIMEOUT")),r.destroy(p)}),r.once("close",()=>{i("%s socket close",u),n?.increment({[`${o}close`]:!0}),y.timeline.close==null&&(y.timeline.close=Date.now())}),r.once("end",()=>{i("%s socket end",u),n?.increment({[`${o}end`]:!0})});let y={async sink(p){try{await l(async function*(){for await(let w of p)w instanceof Uint8Array?yield w:yield w.subarray()}())}catch(w){w.type!=="aborted"&&i.error("%s error in sink",u,w)}r.end()},source:m,remoteAddr:a,timeline:{open:Date.now()},async close(p={}){if(r.destroyed){i("The %s socket is destroyed",u);return}if(e!=null)return i("The %s socket is closed or closing",u),e;if(p.signal==null){let I=AbortSignal.timeout(c);p={...p,signal:I}}let w=()=>{r.destroy(new f("Destroying socket after timeout","ERR_CLOSE_TIMEOUT"))};p.signal?.addEventListener("abort",w);try{i("%s closing socket",u),e=new Promise((I,E)=>{r.once("close",()=>{i("%s socket closed",u),I()}),r.once("error",C=>{i("%s socket error",u,C),y.timeline.close==null&&(y.timeline.close=Date.now()),r.destroyed||E(C)}),r.setTimeout(c),r.end(),r.writableLength>0?r.once("drain",()=>{i("%s socket drained",u),r.destroy()}):r.destroy()}),await e}catch(I){this.abort(I)}finally{p.signal?.removeEventListener("abort",w)}},abort:p=>{i("%s socket abort due to error",u,p),r.destroyed||r.destroy(p),y.timeline.close==null&&(y.timeline.close=Date.now())},log:i};return y};async function Wi(r,t){try{await r.close()}catch(e){t.log.error("an error occurred closing the connection",e),r.abort(e)}}var P;(function(r){r[r.INACTIVE=0]="INACTIVE",r[r.ACTIVE=1]="ACTIVE",r[r.PAUSED=2]="PAUSED"})(P||(P={}));var Ye=class extends Ue{context;server;connections=new Set;status={code:P.INACTIVE};metrics;addr;log;constructor(t){if(super(),this.context=t,t.keepAlive=t.keepAlive??!0,t.noDelay=t.noDelay??!0,this.log=t.logger.forComponent("libp2p:tcp:listener"),this.addr="unknown",this.server=Yi.default.createServer(t,this.onSocket.bind(this)),t.maxConnections!==void 0&&(this.server.maxConnections=t.maxConnections),t.closeServerOnMaxConnections!=null&&t.closeServerOnMaxConnections.closeAbove= listenBelow","ERR_CONNECTION_LIMITS");this.server.on("listening",()=>{if(t.metrics!=null){let e=this.server.address();e==null?this.addr="unknown":typeof e=="string"?this.addr=e:this.addr=`${e.address}:${e.port}`,t.metrics?.registerMetricGroup("libp2p_tcp_inbound_connections_total",{label:"address",help:"Current active connections in TCP listener",calculate:()=>({[this.addr]:this.connections.size})}),this.metrics={status:t.metrics.registerMetricGroup("libp2p_tcp_listener_status_info",{label:"address",help:"Current status of the TCP listener socket"}),errors:t.metrics.registerMetricGroup("libp2p_tcp_listener_errors_total",{label:"address",help:"Total count of TCP listener errors by type"}),events:t.metrics.registerMetricGroup("libp2p_tcp_listener_events_total",{label:"address",help:"Total count of TCP listener events by type"})},this.metrics?.status.update({[this.addr]:P.ACTIVE})}this.safeDispatchEvent("listening")}).on("error",e=>{this.metrics?.errors.increment({[`${this.addr} listen_error`]:!0}),this.safeDispatchEvent("error",{detail:e})}).on("close",()=>{this.metrics?.status.update({[this.addr]:this.status.code}),this.status.code!==P.PAUSED&&this.safeDispatchEvent("close")})}onSocket(t){if(this.status.code!==P.ACTIVE)throw new f("Server is not listening yet","ERR_SERVER_NOT_RUNNING");t.on("error",i=>{this.log("socket error",i),this.metrics?.events.increment({[`${this.addr} error`]:!0})});let e;try{e=We(t,{listeningAddr:this.status.listeningAddr,socketInactivityTimeout:this.context.socketInactivityTimeout,socketCloseTimeout:this.context.socketCloseTimeout,metrics:this.metrics?.events,metricPrefix:`${this.addr} `,logger:this.context.logger})}catch(i){this.log.error("inbound connection failed",i),this.metrics?.errors.increment({[`${this.addr} inbound_to_connection`]:!0});return}this.log("new inbound connection %s",e.remoteAddr);try{this.context.upgrader.upgradeInbound(e).then(i=>{this.log("inbound connection upgraded %s",e.remoteAddr),this.connections.add(e),t.once("close",()=>{this.connections.delete(e),this.context.closeServerOnMaxConnections!=null&&this.connections.size{this.log.error("error attempting to listen server once connection count under limit",n),this.context.closeServerOnMaxConnections?.onListenError?.(n)})}),this.context.handler!=null&&this.context.handler(i),this.context.closeServerOnMaxConnections!=null&&this.connections.size>=this.context.closeServerOnMaxConnections.closeAbove&&this.pause(!1).catch(n=>{this.log.error("error attempting to close server once connection count over limit",n)}),this.safeDispatchEvent("connection",{detail:i})}).catch(async i=>{this.log.error("inbound connection failed",i),this.metrics?.errors.increment({[`${this.addr} inbound_upgrade`]:!0}),await Wi(e,{log:this.log})}).catch(i=>{this.log.error("closing inbound connection failed",i)})}catch(i){this.log.error("inbound connection failed",i),Wi(e,{log:this.log}).catch(n=>{this.log.error("closing inbound connection failed",n),this.metrics?.errors.increment({[`${this.addr} inbound_closing_failed`]:!0})})}}getAddrs(){if(this.status.code===P.INACTIVE)return[];let t=[],e=this.server.address(),{listeningAddr:i,peerId:n}=this.status;if(e==null)return[];if(typeof e=="string")t=[i];else try{i.toString().startsWith("/ip4")?t=t.concat(pn("ip4",e.address,e.port)):e.family==="IPv6"&&(t=t.concat(pn("ip6",e.address,e.port)))}catch(o){this.log.error("could not turn %s:%s into multiaddr",e.address,e.port,o)}return t.map(o=>n!=null?o.encapsulate(`/p2p/${n}`):o)}async listen(t){if(this.status.code===P.ACTIVE||this.status.code===P.PAUSED)throw new f("server is already listening","ERR_SERVER_ALREADY_LISTENING");let e=t.getPeerId(),i=e==null?t.decapsulateCode(421):t,{backlog:n}=this.context;try{this.status={code:P.ACTIVE,listeningAddr:i,peerId:e,netConfig:Jt(i,{backlog:n})},await this.resume()}catch(o){throw this.status={code:P.INACTIVE},o}}async close(){let t=new f("Listener is closing","ERR_LISTENER_CLOSING");this.connections.forEach(e=>{e.abort(t)}),await this.pause(!0)}async resume(){if(this.server.listening||this.status.code===P.INACTIVE)return;let t=this.status.netConfig;await new Promise((e,i)=>{this.server.once("error",i),this.server.listen(t,e)}),this.status={...this.status,code:P.ACTIVE},this.log("listening on %s",this.server.address())}async pause(t){if(!this.server.listening&&this.status.code===P.PAUSED&&t){this.status={code:P.INACTIVE};return}!this.server.listening||this.status.code!==P.ACTIVE||(this.log("closing server on %s",this.server.address()),this.status=t?{code:P.INACTIVE}:{...this.status,code:P.PAUSED},await new Promise((e,i)=>{this.server.close(n=>{if(n!=null){i(n);return}e()})}))}};var mn=class{opts;metrics;components;log;constructor(t,e={}){this.log=t.logger.forComponent("libp2p:tcp"),this.opts=e,this.components=t,t.metrics!=null&&(this.metrics={dialerEvents:t.metrics.registerCounterGroup("libp2p_tcp_dialer_events_total",{label:"event",help:"Total count of TCP dialer events by type"})})}[fi]=!0;[Symbol.toStringTag]="@libp2p/tcp";[mi]=["@libp2p/transport"];async dial(t,e){e.keepAlive=e.keepAlive??!0,e.noDelay=e.noDelay??!0;let i=await this._connect(t,e);i.on("error",c=>{this.log("socket error",c)});let n=We(i,{remoteAddr:t,socketInactivityTimeout:this.opts.outboundSocketInactivityTimeout,socketCloseTimeout:this.opts.socketCloseTimeout,metrics:this.metrics?.dialerEvents,logger:this.components.logger}),o=()=>{n.close().catch(c=>{this.log.error("Error closing maConn after abort",c)})};e.signal?.addEventListener("abort",o,{once:!0}),this.log("new outbound connection %s",n.remoteAddr);let s=await e.upgrader.upgradeOutbound(n);if(this.log("outbound connection %s upgraded",n.remoteAddr),e.signal?.removeEventListener("abort",o),e.signal?.aborted===!0)throw s.close().catch(c=>{this.log.error("Error closing conn after abort",c)}),new re;return s}async _connect(t,e){return e.signal?.throwIfAborted(),e.onProgress?.(new Ke("tcp:open-connection")),new Promise((i,n)=>{let o=Date.now(),s=Jt(t,{...this.opts.dialOpts??{},...e});this.log("dialing %a",t);let c=Xi.default.connect(s),a=y=>{let p=s.path??`${s.host??""}:${s.port}`;y.message=`connection error ${p}: ${y.message}`,this.metrics?.dialerEvents.increment({error:!0}),m(y)},g=()=>{this.log("connection timeout %a",t),this.metrics?.dialerEvents.increment({timeout:!0});let y=new f(`connection timeout after ${Date.now()-o}ms`,"ERR_CONNECT_TIMEOUT");c.emit("error",y)},u=()=>{this.log("connection opened %a",t),this.metrics?.dialerEvents.increment({connect:!0}),m()},l=()=>{this.log("connection aborted %a",t),this.metrics?.dialerEvents.increment({abort:!0}),c.destroy(),m(new re)},m=y=>{if(c.removeListener("error",a),c.removeListener("timeout",g),c.removeListener("connect",u),e.signal!=null&&e.signal.removeEventListener("abort",l),y!=null){n(y);return}i(c)};c.on("error",a),c.on("timeout",g),c.on("connect",u),e.signal!=null&&e.signal.addEventListener("abort",l)})}createListener(t){return new Ye({...this.opts.listenOpts??{},...t,maxConnections:this.opts.maxConnections,backlog:this.opts.backlog,closeServerOnMaxConnections:this.opts.closeServerOnMaxConnections,socketInactivityTimeout:this.opts.inboundSocketInactivityTimeout,socketCloseTimeout:this.opts.socketCloseTimeout,metrics:this.components.metrics,logger:this.components.logger})}listenFilter(t){return t=Array.isArray(t)?t:[t],t.filter(e=>e.protoCodes().includes(290)?!1:e.protoCodes().includes(400)?!0:Et.matches(e.decapsulateCode(421)))}dialFilter(t){return this.listenFilter(t)}};function Ji(r={}){return t=>new mn(t,r)}function Qi(r,t){let e=Pe(r,t),i={read:async(n,o)=>{let s=await e.read(o);return n.decode(s)},write:async(n,o,s)=>{await e.write(o.encode(n),s)},writeV:async(n,o,s)=>{await e.writeV(n.map(c=>o.encode(c)),s)},pb:n=>({read:async o=>i.read(n,o),write:async(o,s)=>i.write(o,n,s),writeV:async(o,s)=>i.writeV(o,n,s),unwrap:()=>i}),unwrap:()=>e.unwrap()};return i}var Lc=Dt("libp2p:daemon-client:dht"),Xe=class{client;constructor(t){this.client=t}async put(t,e){if(!(t instanceof Uint8Array))throw new f("invalid key received","ERR_INVALID_KEY");if(!(e instanceof Uint8Array))throw new f("value received is not a Uint8Array","ERR_INVALID_VALUE");let i=await this.client.send({type:v.Type.DHT,dht:{type:j.Type.PUT_VALUE,key:t,value:e}}),n=await i.read(b);if(Lc("read",n),await i.unwrap().close(),n.type!==b.Type.OK)throw new f(n.error?.msg??"DHT put failed","ERR_DHT_PUT_FAILED")}async get(t){if(!(t instanceof Uint8Array))throw new f("invalid key received","ERR_INVALID_KEY");let e=await this.client.send({type:v.Type.DHT,dht:{type:j.Type.GET_VALUE,key:t}}),i=await e.read(b);if(await e.unwrap().close(),i.type!==b.Type.OK)throw new f(i.error?.msg??"DHT get failed","ERR_DHT_GET_FAILED");if(i.dht==null||i.dht.value==null)throw new f("Invalid DHT get response","ERR_DHT_GET_FAILED");return i.dht.value}async findPeer(t){if(!Yt(t))throw new f("invalid peer id received","ERR_INVALID_PEER_ID");let e=await this.client.send({type:v.Type.DHT,dht:{type:j.Type.FIND_PEER,peer:t.toBytes()}}),i=await e.read(b);if(await e.unwrap().close(),i.type!==b.Type.OK)throw new f(i.error?.msg??"DHT find peer failed","ERR_DHT_FIND_PEER_FAILED");if(i.dht==null||i.dht.peer==null||i.dht.peer.addrs==null)throw new f("Invalid response","ERR_DHT_FIND_PEER_FAILED");return{id:ct(i.dht.peer.id),multiaddrs:i.dht.peer.addrs.map(n=>U(n))}}async provide(t){if(t==null||G.asCID(t)==null)throw new f("invalid cid received","ERR_INVALID_CID");let e=await this.client.send({type:v.Type.DHT,dht:{type:j.Type.PROVIDE,cid:t.bytes}}),i=await e.read(b);if(await e.unwrap().close(),i.type!==b.Type.OK)throw new f(i.error?.msg??"DHT provide failed","ERR_DHT_PROVIDE_FAILED")}async*findProviders(t,e=1){if(t==null||G.asCID(t)==null)throw new f("invalid cid received","ERR_INVALID_CID");let i=await this.client.send({type:v.Type.DHT,dht:{type:j.Type.FIND_PROVIDERS,cid:t.bytes,count:e}}),n=await i.read(b);if(n.type!==b.Type.OK)throw await i.unwrap().close(),new f(n.error?.msg??"DHT find providers failed","ERR_DHT_FIND_PROVIDERS_FAILED");for(;;){let o=await i.read(ot);if(o.type===ot.Type.END){await i.unwrap().close();return}if(o.type===ot.Type.VALUE&&o.peer!=null&&o.peer?.addrs!=null)yield{id:ct(o.peer.id),multiaddrs:o.peer.addrs.map(s=>U(s))};else throw await i.unwrap().close(),new f("unexpected message received","ERR_UNEXPECTED_MESSAGE_RECEIVED")}}async*getClosestPeers(t){if(!(t instanceof Uint8Array))throw new f("invalid key received","ERR_INVALID_KEY");let e=await this.client.send({type:v.Type.DHT,dht:{type:j.Type.GET_CLOSEST_PEERS,key:t}}),i=await e.read(b);if(i.type!==b.Type.OK)throw await e.unwrap().close(),new f(i.error?.msg??"DHT find providers failed","ERR_DHT_FIND_PROVIDERS_FAILED");for(;;){let n=await e.read(ot);if(n.type===ot.Type.END){await e.unwrap().close();return}if(n.type===ot.Type.VALUE&&n.value!=null)yield{id:ct(n.value),multiaddrs:[]};else throw await e.unwrap().close(),new f("unexpected message received","ERR_UNEXPECTED_MESSAGE_RECEIVED")}}async getPublicKey(t){if(!Yt(t))throw new f("invalid peer id received","ERR_INVALID_PEER_ID");let e=await this.client.send({type:v.Type.DHT,dht:{type:j.Type.GET_PUBLIC_KEY,peer:t.toBytes()}}),i=await e.read(b);if(await e.unwrap().close(),i.type!==b.Type.OK)throw new f(i.error?.msg??"DHT get public key failed","ERR_DHT_GET_PUBLIC_KEY_FAILED");if(i.dht==null)throw new f("Invalid response","ERR_DHT_GET_PUBLIC_KEY_FAILED");return i.dht.value}};var Je=class{client;constructor(t){this.client=t}async getTopics(){let t=await this.client.send({type:v.Type.PUBSUB,pubsub:{type:dt.Type.GET_TOPICS}}),e=await t.read(b);if(await t.unwrap().close(),e.type!==b.Type.OK)throw new f(e.error?.msg??"Pubsub get topics failed","ERR_PUBSUB_GET_TOPICS_FAILED");if(e.pubsub==null||e.pubsub.topics==null)throw new f("Invalid response","ERR_PUBSUB_GET_TOPICS_FAILED");return e.pubsub.topics}async publish(t,e){if(typeof t!="string")throw new f("invalid topic received","ERR_INVALID_TOPIC");if(!(e instanceof Uint8Array))throw new f("data received is not a Uint8Array","ERR_INVALID_DATA");let i=await this.client.send({type:v.Type.PUBSUB,pubsub:{type:dt.Type.PUBLISH,topic:t,data:e}}),n=await i.read(b);if(await i.unwrap().close(),n.type!==b.Type.OK)throw new f(n.error?.msg??"Pubsub publish failed","ERR_PUBSUB_PUBLISH_FAILED")}async subscribe(t){if(typeof t!="string")throw new f("invalid topic received","ERR_INVALID_TOPIC");let e=await this.client.send({type:v.Type.PUBSUB,pubsub:{type:dt.Type.SUBSCRIBE,topic:t}}),i=await e.read(b);if(i.type!==b.Type.OK)throw new f(i.error?.msg??"Pubsub publish failed","ERR_PUBSUB_PUBLISH_FAILED");let n=!0;return{async*messages(){for(;n;)yield await e.read(xe)},async cancel(){n=!1,await e.unwrap().close()}}}async getSubscribers(t){if(typeof t!="string")throw new f("invalid topic received","ERR_INVALID_TOPIC");let e=await this.client.send({type:v.Type.PUBSUB,pubsub:{type:dt.Type.LIST_PEERS,topic:t}}),i=await e.read(b);if(await e.unwrap().close(),i.type!==b.Type.OK)throw new f(i.error?.msg??"Pubsub get subscribers failed","ERR_PUBSUB_GET_SUBSCRIBERS_FAILED");if(i.pubsub==null||i.pubsub.topics==null)throw new f("Invalid response","ERR_PUBSUB_GET_SUBSCRIBERS_FAILED");return i.pubsub.peerIDs.map(n=>ct(n))}};var gn=Dt("libp2p:daemon-client"),yn=class{multiaddr;dht;pubsub;tcp;constructor(t){this.multiaddr=t,this.tcp=Ji()({logger:ii()}),this.dht=new Xe(this),this.pubsub=new Je(this)}async connectDaemon(){return this.tcp.dial(this.multiaddr,{upgrader:Hr})}async send(t){let e=await this.connectDaemon(),i=t.pubsub?.type??t.dht?.type??t.peerStore?.type??"";gn("send",t.type,i);let n=Qi(e);return await n.write(t,v),n}async connect(t,e){if(!Yt(t))throw new f("invalid peer id received","ERR_INVALID_PEER_ID");if(!Array.isArray(e))throw new f("addrs received are not in an array","ERR_INVALID_ADDRS_TYPE");e.forEach(o=>{if(!Ve(o))throw new f("received an address that is not a multiaddr","ERR_NO_MULTIADDR_RECEIVED")});let i=await this.send({type:v.Type.CONNECT,connect:{peer:t.toBytes(),addrs:e.map(o=>o.bytes)}}),n=await i.read(b);if(n.type!==b.Type.OK){let o=n.error??{msg:"unspecified"};throw new f(o.msg??"unspecified","ERR_CONNECT_FAILED")}await i.unwrap().close()}async identify(){let t=await this.send({type:v.Type.IDENTIFY}),e=await t.read(b);if(e.type!==b.Type.OK)throw new f(e.error?.msg??"Identify failed","ERR_IDENTIFY_FAILED");if(e.identify==null||e.identify.addrs==null)throw new f("Invalid response","ERR_IDENTIFY_FAILED");let i=ct(e.identify?.id),n=e.identify.addrs.map(o=>U(o));return await t.unwrap().close(),{peerId:i,addrs:n}}async listPeers(){let t=await this.send({type:v.Type.LIST_PEERS}),e=await t.read(b);if(e.type!==b.Type.OK)throw new f(e.error?.msg??"List peers failed","ERR_LIST_PEERS_FAILED");return await t.unwrap().close(),e.peers.map(i=>ct(i.id))}async openStream(t,e){if(!Yt(t))throw new f("invalid peer id received","ERR_INVALID_PEER_ID");if(typeof e!="string")throw new f("invalid protocol received","ERR_INVALID_PROTOCOL");let i=await this.send({type:v.Type.STREAM_OPEN,streamOpen:{peer:t.toBytes(),proto:[e]}}),n=await i.read(b);if(n.type!==b.Type.OK)throw await i.unwrap().close(),new f(n.error?.msg??"Open stream failed","ERR_OPEN_STREAM_FAILED");return i.unwrap()}async registerStreamHandler(t,e){if(typeof t!="string")throw new f("invalid protocol received","ERR_INVALID_PROTOCOL");let i=this.tcp.createListener({upgrader:Hr,handler:c=>{Promise.resolve().then(async()=>{let a=new Oe({stream:c}),g=await a.read();if(g==null)throw new f("Could not read open stream response","ERR_OPEN_STREAM_FAILED");if(Gt.decode(g).proto!==t)throw new f("Incorrect protocol","ERR_OPEN_STREAM_FAILED");await e(a.rest())}).finally(()=>{c.close().catch(a=>{gn.error(a)}),i.close().catch(a=>{gn.error(a)})})}});await i.listen(U("/ip4/127.0.0.1/tcp/0"));let n=i.getAddrs()[0];if(n==null)throw new f("Could not listen on port","ERR_REGISTER_STREAM_HANDLER_FAILED");let o=await this.send({type:v.Type.STREAM_HANDLER,streamHandler:{addr:n.bytes,proto:[t]}}),s=await o.read(b);if(await o.unwrap().close(),s.type!==b.Type.OK)throw new f(s.error?.msg??"Register stream handler failed","ERR_REGISTER_STREAM_HANDLER_FAILED")}};function Nc(r){return new yn(r)}return ro(_c);})(); -+`+i),r.push(o+"m+"+wr(this.diff)+"\x1B[0m")}else r[0]=Ga()+t+" "+r[0]}function Ga(){return Re.hideDate!=null?"":new Date().toISOString()+" "}function Ha(...r){return process.stderr.write(vr.default.format(...r)+` -+`)}function za(r){r!=null?process.env.DEBUG=r:delete process.env.DEBUG}function qa(){return process.env.DEBUG}function Wa(r){r.inspectOpts={};let t=Object.keys(Re);for(let e=0;ee.trim()).join(" ")},r.O=function(t){return this.inspectOpts.colors=this.useColors,vr.default.inspect(t,this.inspectOpts)}}var Ui=io({init:Wa,log:Ha,formatArgs:$a,save:za,load:qa,useColors:Fa,setupFormatters:Ya,colors:Oi,inspectOpts:Re});var pt=Ui;pt.formatters.b=r=>r==null?"undefined":K.baseEncode(r);pt.formatters.t=r=>r==null?"undefined":Tt.baseEncode(r);pt.formatters.m=r=>r==null?"undefined":Kn.baseEncode(r);pt.formatters.p=r=>r==null?"undefined":r.toString();pt.formatters.c=r=>r==null?"undefined":r.toString();pt.formatters.k=r=>r==null?"undefined":r.toString();pt.formatters.a=r=>r==null?"undefined":r.toString();function Za(r){let t=()=>{};return t.enabled=!1,t.color="",t.diff=0,t.log=()=>{},t.namespace=r,t.destroy=()=>!0,t.extend=()=>t,t}function Mi(){return{forComponent(r){return ue(r)}}}function ue(r){let t=Za(`${r}:trace`);return pt.enabled(`${r}:trace`)&&pt.names.map(e=>e.toString()).find(e=>e.includes(":trace"))!=null&&(t=pt(`${r}:trace`)),Object.assign(pt(r),{error:pt(`${r}:error`),trace:t})}function Le(){let r={};return r.promise=new Promise((t,e)=>{r.resolve=t,r.reject=e}),r}var Ar=class extends Error{type;code;constructor(t,e,n){super(t??"The operation was aborted"),this.type="aborted",this.name=n??"AbortError",this.code=e??"ABORT_ERR"}};async function Ki(r,t,e){if(t==null)return r;if(t.aborted)return Promise.reject(new Ar(e?.errorMessage,e?.errorCode,e?.errorName));let n,o=new Ar(e?.errorMessage,e?.errorCode,e?.errorName);try{return await Promise.race([r,new Promise((i,s)=>{n=()=>{s(o)},t.addEventListener("abort",n)})])}finally{n!=null&&t.removeEventListener("abort",n)}}var so=class{readNext;haveNext;ended;nextResult;constructor(){this.ended=!1,this.readNext=Le(),this.haveNext=Le()}[Symbol.asyncIterator](){return this}async next(){if(this.nextResult==null&&await this.haveNext.promise,this.nextResult==null)throw new Error("HaveNext promise resolved but nextResult was undefined");let t=this.nextResult;return this.nextResult=void 0,this.readNext.resolve(),this.readNext=Le(),t}async throw(t){return this.ended=!0,t!=null&&(this.haveNext.promise.catch(()=>{}),this.haveNext.reject(t)),{done:!0,value:void 0}}async return(){let t={done:!0,value:void 0};return await this._push(void 0),t}async push(t,e){await this._push(t,e)}async end(t,e){t!=null?await this.throw(t):await this._push(void 0,e)}async _push(t,e){if(t!=null&&this.ended)throw new Error("Cannot push value onto an ended pushable");for(;this.nextResult!=null;)await this.readNext.promise;t!=null?this.nextResult={done:!1,value:t}:(this.ended=!0,this.nextResult={done:!0,value:void 0}),this.haveNext.resolve(),this.haveNext=Le(),await Ki(this.readNext.promise,e?.signal,e)}};function Vi(){return new so}var Fi=Y("node:buffer");function mt(r,t){return ie(Fi.Buffer.concat(r,t))}function Dt(r,t){if(r===t)return!0;if(r.byteLength!==t.byteLength)return!1;for(let e=0;e0&&this.appendAll(t)}*[Symbol.iterator](){yield*this.bufs}get byteLength(){return this.length}append(...t){this.appendAll(t)}appendAll(t){let e=0;for(let n of t)if(n instanceof Uint8Array)e+=n.byteLength,this.bufs.push(n);else if(Sr(n))e+=n.byteLength,this.bufs.push(...n.bufs);else throw new Error("Could not append value, must be an Uint8Array or a Uint8ArrayList");this.length+=e}prepend(...t){this.prependAll(t)}prependAll(t){let e=0;for(let n of t.reverse())if(n instanceof Uint8Array)e+=n.byteLength,this.bufs.unshift(n);else if(Sr(n))e+=n.byteLength,this.bufs.unshift(...n.bufs);else throw new Error("Could not prepend value, must be an Uint8Array or a Uint8ArrayList");this.length+=e}get(t){let e=$i(this.bufs,t);return e.buf[e.index]}set(t,e){let n=$i(this.bufs,t);n.buf[n.index]=e}write(t,e=0){if(t instanceof Uint8Array)for(let n=0;n0;)if(t>=this.bufs[0].byteLength)t-=this.bufs[0].byteLength,this.length-=this.bufs[0].byteLength,this.bufs.shift();else{this.bufs[0]=this.bufs[0].subarray(t),this.length-=t;break}}}slice(t,e){let{bufs:n,length:o}=this._subList(t,e);return mt(n,o)}subarray(t,e){let{bufs:n,length:o}=this._subList(t,e);return n.length===1?n[0]:mt(n,o)}sublist(t,e){let{bufs:n,length:o}=this._subList(t,e),i=new r;return i.length=o,i.bufs=[...n],i}_subList(t,e){if(t=t??0,e=e??this.length,t<0&&(t=this.length+t),e<0&&(e=this.length+e),t<0||e>this.length)throw new RangeError("index is out of bounds");if(t===e)return{bufs:[],length:0};if(t===0&&e===this.length)return{bufs:this.bufs,length:this.length};let n=[],o=0;for(let i=0;i=a)continue;let d=t>=c&&tc&&e<=a;if(d&&l){if(t===c&&e===a){n.push(s);break}let u=t-c;n.push(s.subarray(u,u+(e-t)));break}if(d){if(t===0){n.push(s);continue}n.push(s.subarray(t-c));continue}if(l){if(e===a){n.push(s);break}n.push(s.subarray(0,e-c));break}n.push(s)}return{bufs:n,length:e-t}}indexOf(t,e=0){if(!Sr(t)&&!(t instanceof Uint8Array))throw new TypeError('The "value" argument must be a Uint8ArrayList or Uint8Array');let n=t instanceof Uint8Array?t:t.subarray();if(e=Number(e??0),isNaN(e)&&(e=0),e<0&&(e=this.length+e),e<0&&(e=0),t.length===0)return e>this.length?this.length:e;let o=n.byteLength;if(o===0)throw new TypeError("search must be at least 1 byte long");let i=256,s=new Int32Array(i);for(let u=0;u=0;g--){let y=this.get(u+g);if(n[g]!==y){l=Math.max(1,g-c[y]);break}}if(l===0)return u}return-1}getInt8(t){let e=this.subarray(t,t+1);return new DataView(e.buffer,e.byteOffset,e.byteLength).getInt8(0)}setInt8(t,e){let n=bt(1);new DataView(n.buffer,n.byteOffset,n.byteLength).setInt8(0,e),this.write(n,t)}getInt16(t,e){let n=this.subarray(t,t+2);return new DataView(n.buffer,n.byteOffset,n.byteLength).getInt16(0,e)}setInt16(t,e,n){let o=Pt(2);new DataView(o.buffer,o.byteOffset,o.byteLength).setInt16(0,e,n),this.write(o,t)}getInt32(t,e){let n=this.subarray(t,t+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getInt32(0,e)}setInt32(t,e,n){let o=Pt(4);new DataView(o.buffer,o.byteOffset,o.byteLength).setInt32(0,e,n),this.write(o,t)}getBigInt64(t,e){let n=this.subarray(t,t+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getBigInt64(0,e)}setBigInt64(t,e,n){let o=Pt(8);new DataView(o.buffer,o.byteOffset,o.byteLength).setBigInt64(0,e,n),this.write(o,t)}getUint8(t){let e=this.subarray(t,t+1);return new DataView(e.buffer,e.byteOffset,e.byteLength).getUint8(0)}setUint8(t,e){let n=bt(1);new DataView(n.buffer,n.byteOffset,n.byteLength).setUint8(0,e),this.write(n,t)}getUint16(t,e){let n=this.subarray(t,t+2);return new DataView(n.buffer,n.byteOffset,n.byteLength).getUint16(0,e)}setUint16(t,e,n){let o=Pt(2);new DataView(o.buffer,o.byteOffset,o.byteLength).setUint16(0,e,n),this.write(o,t)}getUint32(t,e){let n=this.subarray(t,t+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getUint32(0,e)}setUint32(t,e,n){let o=Pt(4);new DataView(o.buffer,o.byteOffset,o.byteLength).setUint32(0,e,n),this.write(o,t)}getBigUint64(t,e){let n=this.subarray(t,t+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getBigUint64(0,e)}setBigUint64(t,e,n){let o=Pt(8);new DataView(o.buffer,o.byteOffset,o.byteLength).setBigUint64(0,e,n),this.write(o,t)}getFloat32(t,e){let n=this.subarray(t,t+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getFloat32(0,e)}setFloat32(t,e,n){let o=Pt(4);new DataView(o.buffer,o.byteOffset,o.byteLength).setFloat32(0,e,n),this.write(o,t)}getFloat64(t,e){let n=this.subarray(t,t+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getFloat64(0,e)}setFloat64(t,e,n){let o=Pt(8);new DataView(o.buffer,o.byteOffset,o.byteLength).setFloat64(0,e,n),this.write(o,t)}equals(t){if(t==null||!(t instanceof r)||t.bufs.length!==this.bufs.length)return!1;for(let e=0;eo+i.byteLength,0)),n.length=e,n}};var Tr=class extends Error{name="UnexpectedEOFError";code="ERR_UNEXPECTED_EOF"};var co=class extends Error{code;constructor(t,e){super(t),this.code=e}},ao=class extends co{type;constructor(t){super(t,"ABORT_ERR"),this.type="aborted",this.name="AbortError"}};function Hi(r,t){let e=Vi();r.sink(e).catch(async s=>{await e.end(s)}),r.sink=async s=>{for await(let c of s)await e.push(c);await e.end()};let n=r.source;r.source[Symbol.iterator]!=null?n=r.source[Symbol.iterator]():r.source[Symbol.asyncIterator]!=null&&(n=r.source[Symbol.asyncIterator]());let o=new Ut;return{read:async(s,c)=>{c?.signal?.throwIfAborted();let a,d=new Promise((l,u)=>{a=()=>{u(new ao("Read aborted"))},c?.signal?.addEventListener("abort",a)});try{if(s==null){let{done:u,value:g}=await Promise.race([n.next(),d]);return u===!0?new Ut:g}for(;o.byteLength{c?.signal?.throwIfAborted(),s instanceof Uint8Array?await e.push(s,c):await e.push(s.subarray(),c)},unwrap:()=>{if(o.byteLength>0){let s=r.source;r.source=async function*(){t?.yieldBytes===!1?yield o:yield*o,yield*s}()}return r}}}var Rr=class extends Error{name="InvalidMessageLengthError";code="ERR_INVALID_MSG_LENGTH"},Lr=class extends Error{name="InvalidDataLengthError";code="ERR_MSG_DATA_TOO_LONG"},Dr=class extends Error{name="InvalidDataLengthLengthError";code="ERR_MSG_LENGTH_TOO_LONG"};function _r(r,t={}){let e=Hi(r,t);t.maxDataLength!=null&&t.maxLengthLength==null&&(t.maxLengthLength=nt(t.maxDataLength));let n=t?.lengthDecoder??Ct,o=t?.lengthEncoder??Ht;return{read:async s=>{let c=-1,a=new Ut;for(;;){a.append(await e.read(1,s));try{c=n(a)}catch(d){if(d instanceof RangeError)continue;throw d}if(c<0)throw new Rr("Invalid message length");if(t?.maxLengthLength!=null&&a.byteLength>t.maxLengthLength)throw new Dr("message length length too long");if(c>-1)break}if(t?.maxDataLength!=null&&c>t.maxDataLength)throw new Lr("message length too long");return e.read(c,s)},write:async(s,c)=>{await e.write(new Ut(o(s.byteLength),s),c)},writeV:async(s,c)=>{let a=new Ut(...s.flatMap(d=>[o(d.byteLength),d]));await e.write(a,c)},unwrap:()=>e.unwrap()}}var uo=ue("libp2p:daemon-protocol:stream-handler"),Br=class{stream;lp;constructor(t){let{stream:e,maxLength:n}=t;this.stream=e,this.lp=_r(this.stream,{maxDataLength:n??4096})}async read(){try{return await this.lp.read()}catch(t){uo.error("read received no value",t)}}async write(t){uo("write message"),await this.lp.write(t)}rest(){return this.lp.unwrap()}async close(){uo("closing the stream"),await this.rest().close()}};var lo={upgradeInbound:async r=>r,upgradeOutbound:async r=>r};var Nr=Symbol.for("@libp2p/peer-id");function De(r){return!!r?.[Nr]}var qi=Symbol.for("@libp2p/transport");var zi;(function(r){r[r.FATAL_ALL=0]="FATAL_ALL",r[r.NO_FATAL=1]="NO_FATAL"})(zi||(zi={}));var ze=class extends Error{constructor(t="The operation was aborted"){super(t),this.name="AbortError"}},E=class extends Error{code;props;constructor(t,e,n){super(t),this.code=e,this.name=n?.name??"CodeError",this.props=n??{}}};var le=class extends Error{constructor(t="Invalid parameters"){super(t),this.name="InvalidParametersError"}},Pr=class extends Error{constructor(t="Invalid public key"){super(t),this.name="InvalidPublicKeyError"}};var Cr=class extends Error{constructor(t="Invalid Multihash"){super(t),this.name="InvalidMultihashError"}};var qe=class extends Error{constructor(t="Unsupported key type"){super(t),this.name="UnsupportedKeyTypeError"}};var Wi=Y("events"),Yi=(r,...t)=>{try{(0,Wi.setMaxListeners)(r,...t)}catch{}};var kr=class extends EventTarget{#t=new Map;constructor(){super(),Yi(1/0,this)}listenerCount(t){let e=this.#t.get(t);return e==null?0:e.length}addEventListener(t,e,n){super.addEventListener(t,e,n);let o=this.#t.get(t);o==null&&(o=[],this.#t.set(t,o)),o.push({callback:e,once:(n!==!0&&n!==!1&&n?.once)??!1})}removeEventListener(t,e,n){super.removeEventListener(t.toString(),e??null,n);let o=this.#t.get(t);o!=null&&(o=o.filter(({callback:i})=>i!==e),this.#t.set(t,o))}dispatchEvent(t){let e=super.dispatchEvent(t),n=this.#t.get(t.type);return n==null||(n=n.filter(({once:o})=>!o),this.#t.set(t.type,n)),e}safeDispatchEvent(t,e={}){return this.dispatchEvent(new CustomEvent(t,e))}};var Zi=Symbol.for("@libp2p/service-capabilities"),zd=Symbol.for("@libp2p/service-dependencies");var Or=dt(Y("crypto"),1);var Xi=Y("node:buffer");function W(r,t="utf8"){let e=or[t];if(e==null)throw new Error(`Unsupported encoding "${t}"`);return t==="utf8"||t==="utf-8"?Xi.Buffer.from(r.buffer,r.byteOffset,r.byteLength).toString("utf8"):e.encoder.encode(r).substring(1)}var Eh=Or.default.generateKeyPairSync,We=32;var Xa=64;function Ji(r,t,e){if(r.byteLength!==We)throw new TypeError('"key" must be 32 bytes in length.');if(!(r instanceof Uint8Array))throw new TypeError('"key" must be a node.js Buffer, or Uint8Array.');if(t.byteLength!==Xa)throw new TypeError('"sig" must be 64 bytes in length.');if(!(t instanceof Uint8Array))throw new TypeError('"sig" must be a node.js Buffer, or Uint8Array.');let n=Or.default.createPublicKey({format:"jwk",key:{crv:"Ed25519",x:W(r,"base64url"),kty:"OKP"}});return Or.default.verify(null,e instanceof Uint8Array?e:e.subarray(),n,t)}var Ur=class{type="Ed25519";raw;constructor(t){this.raw=fo(t,We)}toMultihash(){return kt.digest(Mr(this))}toCID(){return Q.createV1(114,this.toMultihash())}toString(){return K.encode(this.toMultihash().bytes).substring(1)}equals(t){return t==null||!(t.raw instanceof Uint8Array)?!1:Dt(this.raw,t.raw)}verify(t,e){return Ji(this.raw,e,t)}};function ji(r){return r=fo(r,We),new Ur(r)}function fo(r,t){if(r=Uint8Array.from(r??[]),r.length!==t)throw new le(`Key must be a Uint8Array of length ${t}, got ${r.length}`);return r}var It;(function(r){r.RSA="RSA",r.Ed25519="Ed25519",r.secp256k1="secp256k1"})(It||(It={}));var ho;(function(r){r[r.RSA=0]="RSA",r[r.Ed25519=1]="Ed25519",r[r.secp256k1=2]="secp256k1"})(ho||(ho={}));(function(r){r.codec=()=>Rt(ho)})(It||(It={}));var Ye;(function(r){let t;r.codec=()=>(t==null&&(t=F((e,n,o={})=>{o.lengthDelimited!==!1&&n.fork(),e.Type!=null&&(n.uint32(8),It.codec().encode(e.Type,n)),e.Data!=null&&(n.uint32(18),n.bytes(e.Data)),o.lengthDelimited!==!1&&n.ldelim()},(e,n,o={})=>{let i={},s=n==null?e.len:e.pos+n;for(;e.pos>>3){case 1:{i.Type=It.codec().decode(e);break}case 2:{i.Data=e.bytes();break}default:{e.skipType(c&7);break}}}return i})),t),r.encode=e=>V(e,r.codec()),r.decode=(e,n)=>M(e,r.codec(),n)})(Ye||(Ye={}));var po;(function(r){let t;r.codec=()=>(t==null&&(t=F((e,n,o={})=>{o.lengthDelimited!==!1&&n.fork(),e.Type!=null&&(n.uint32(8),It.codec().encode(e.Type,n)),e.Data!=null&&(n.uint32(18),n.bytes(e.Data)),o.lengthDelimited!==!1&&n.ldelim()},(e,n,o={})=>{let i={},s=n==null?e.len:e.pos+n;for(;e.pos>>3){case 1:{i.Type=It.codec().decode(e);break}case 2:{i.Data=e.bytes();break}default:{e.skipType(c&7);break}}}return i})),t),r.encode=e=>V(e,r.codec()),r.decode=(e,n)=>M(e,r.codec(),n)})(po||(po={}));function ts(r){if(!Number.isSafeInteger(r)||r<0)throw new Error(`positive integer expected, not ${r}`)}function ja(r){return r instanceof Uint8Array||r!=null&&typeof r=="object"&&r.constructor.name==="Uint8Array"}function _e(r,...t){if(!ja(r))throw new Error("Uint8Array expected");if(t.length>0&&!t.includes(r.length))throw new Error(`Uint8Array expected of length ${t}, not of length=${r.length}`)}function es(r){if(typeof r!="function"||typeof r.create!="function")throw new Error("Hash should be wrapped by utils.wrapConstructor");ts(r.outputLen),ts(r.blockLen)}function Be(r,t=!0){if(r.destroyed)throw new Error("Hash instance has been destroyed");if(t&&r.finished)throw new Error("Hash#digest() has already been called")}function rs(r,t){_e(r);let e=t.outputLen;if(r.lengthnew DataView(r.buffer,r.byteOffset,r.byteLength),_t=(r,t)=>r<<32-t|r>>>t;var Fh=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;function tu(r){if(typeof r!="string")throw new Error(`utf8ToBytes expected string, got ${typeof r}`);return new Uint8Array(new TextEncoder().encode(r))}function Xe(r){return typeof r=="string"&&(r=tu(r)),_e(r),r}function ns(...r){let t=0;for(let n=0;nr().update(Xe(n)).digest(),e=r();return t.outputLen=e.outputLen,t.blockLen=e.blockLen,t.create=()=>r(),t}function is(r=32){if(Kr&&typeof Kr.getRandomValues=="function")return Kr.getRandomValues(new Uint8Array(r));throw new Error("crypto.getRandomValues must be defined")}var Fr=class extends Ne{constructor(t,e){super(),this.finished=!1,this.destroyed=!1,es(t);let n=Xe(e);if(this.iHash=t.create(),typeof this.iHash.update!="function")throw new Error("Expected instance of class which extends utils.Hash");this.blockLen=this.iHash.blockLen,this.outputLen=this.iHash.outputLen;let o=this.blockLen,i=new Uint8Array(o);i.set(n.length>o?t.create().update(n).digest():n);for(let s=0;snew Fr(r,t).update(e).digest();mo.create=(r,t)=>new Fr(r,t);function eu(r,t,e,n){if(typeof r.setBigUint64=="function")return r.setBigUint64(t,e,n);let o=BigInt(32),i=BigInt(4294967295),s=Number(e>>o&i),c=Number(e&i),a=n?4:0,d=n?0:4;r.setUint32(t+a,s,n),r.setUint32(t+d,c,n)}var ss=(r,t,e)=>r&t^~r&e,cs=(r,t,e)=>r&t^r&e^t&e,$r=class extends Ne{constructor(t,e,n,o){super(),this.blockLen=t,this.outputLen=e,this.padOffset=n,this.isLE=o,this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.buffer=new Uint8Array(t),this.view=Vr(this.buffer)}update(t){Be(this);let{view:e,buffer:n,blockLen:o}=this;t=Xe(t);let i=t.length;for(let s=0;so-s&&(this.process(n,0),s=0);for(let u=s;ul.length)throw new Error("_sha2: outputLen bigger than state");for(let u=0;u>>3,f=_t(y,17)^_t(y,19)^y>>>10;Xt[u]=f+Xt[u-7]+h+Xt[u-16]|0}let{A:n,B:o,C:i,D:s,E:c,F:a,G:d,H:l}=this;for(let u=0;u<64;u++){let g=_t(c,6)^_t(c,11)^_t(c,25),y=l+g+ss(c,a,d)+ru[u]+Xt[u]|0,f=(_t(n,2)^_t(n,13)^_t(n,22))+cs(n,o,i)|0;l=d,d=a,a=c,c=s+y|0,s=i,i=o,o=n,n=y+f|0}n=n+this.A|0,o=o+this.B|0,i=i+this.C|0,s=s+this.D|0,c=c+this.E|0,a=a+this.F|0,d=d+this.G|0,l=l+this.H|0,this.set(n,o,i,s,c,a,d,l)}roundClean(){Xt.fill(0)}destroy(){this.set(0,0,0,0,0,0,0,0),this.buffer.fill(0)}};var as=os(()=>new go);var Io={};at(Io,{aInRange:()=>jt,abool:()=>fe,abytes:()=>Pe,bitGet:()=>uu,bitLen:()=>au,bitMask:()=>Qe,bitSet:()=>lu,bytesToHex:()=>de,bytesToNumberBE:()=>Kt,bytesToNumberLE:()=>Hr,concatBytes:()=>Ce,createHmacDrbg:()=>xo,ensureBytes:()=>gt,equalBytes:()=>su,hexToBytes:()=>he,hexToNumber:()=>Eo,inRange:()=>Je,isBytes:()=>Jt,memoized:()=>qr,notImplemented:()=>du,numberToBytesBE:()=>Qt,numberToBytesLE:()=>zr,numberToHexUnpadded:()=>fs,numberToVarBytesBE:()=>iu,utf8ToBytes:()=>cu,validateObject:()=>te});var wo=BigInt(0),Gr=BigInt(1),nu=BigInt(2);function Jt(r){return r instanceof Uint8Array||r!=null&&typeof r=="object"&&r.constructor.name==="Uint8Array"}function Pe(r){if(!Jt(r))throw new Error("Uint8Array expected")}function fe(r,t){if(typeof t!="boolean")throw new Error(`${r} must be valid boolean, got "${t}".`)}var ou=Array.from({length:256},(r,t)=>t.toString(16).padStart(2,"0"));function de(r){Pe(r);let t="";for(let e=0;e=Mt._0&&r<=Mt._9)return r-Mt._0;if(r>=Mt._A&&r<=Mt._F)return r-(Mt._A-10);if(r>=Mt._a&&r<=Mt._f)return r-(Mt._a-10)}function he(r){if(typeof r!="string")throw new Error("hex string expected, got "+typeof r);let t=r.length,e=t/2;if(t%2)throw new Error("padded hex string expected, got unpadded hex of length "+t);let n=new Uint8Array(e);for(let o=0,i=0;otypeof r=="bigint"&&wo<=r;function Je(r,t,e){return yo(r)&&yo(t)&&yo(e)&&t<=r&&rwo;r>>=Gr,t+=1);return t}function uu(r,t){return r>>BigInt(t)&Gr}function lu(r,t,e){return r|(e?Gr:wo)<(nu<new Uint8Array(r),ls=r=>Uint8Array.from(r);function xo(r,t,e){if(typeof r!="number"||r<2)throw new Error("hashLen must be a number");if(typeof t!="number"||t<2)throw new Error("qByteLen must be a number");if(typeof e!="function")throw new Error("hmacFn must be a function");let n=bo(r),o=bo(r),i=0,s=()=>{n.fill(1),o.fill(0),i=0},c=(...u)=>e(o,n,...u),a=(u=bo())=>{o=c(ls([0]),u),n=c(),u.length!==0&&(o=c(ls([1]),u),n=c())},d=()=>{if(i++>=1e3)throw new Error("drbg: tried 1000 values");let u=0,g=[];for(;u{s(),a(u);let y;for(;!(y=g(d()));)a();return s(),y}}var fu={bigint:r=>typeof r=="bigint",function:r=>typeof r=="function",boolean:r=>typeof r=="boolean",string:r=>typeof r=="string",stringOrUint8Array:r=>typeof r=="string"||Jt(r),isSafeInteger:r=>Number.isSafeInteger(r),array:r=>Array.isArray(r),field:(r,t)=>t.Fp.isValid(r),hash:r=>typeof r=="function"&&Number.isSafeInteger(r.outputLen)};function te(r,t,e={}){let n=(o,i,s)=>{let c=fu[i];if(typeof c!="function")throw new Error(`Invalid validator "${i}", expected function`);let a=r[o];if(!(s&&a===void 0)&&!c(a,r))throw new Error(`Invalid param ${String(o)}=${a} (${typeof a}), expected ${i}`)};for(let[o,i]of Object.entries(t))n(o,i,!1);for(let[o,i]of Object.entries(e))n(o,i,!0);return r}var du=()=>{throw new Error("not implemented")};function qr(r){let t=new WeakMap;return(e,...n)=>{let o=t.get(e);if(o!==void 0)return o;let i=r(e,...n);return t.set(e,i),i}}var Z=BigInt(0),z=BigInt(1),pe=BigInt(2),hu=BigInt(3),vo=BigInt(4),ds=BigInt(5),hs=BigInt(8),pu=BigInt(9),mu=BigInt(16);function it(r,t){let e=r%t;return e>=Z?e:t+e}function gu(r,t,e){if(e<=Z||t 0");if(e===z)return Z;let n=z;for(;t>Z;)t&z&&(n=n*r%e),r=r*r%e,t>>=z;return n}function yt(r,t,e){let n=r;for(;t-- >Z;)n*=n,n%=e;return n}function Wr(r,t){if(r===Z||t<=Z)throw new Error(`invert: expected positive integers, got n=${r} mod=${t}`);let e=it(r,t),n=t,o=Z,i=z,s=z,c=Z;for(;e!==Z;){let d=n/e,l=n%e,u=o-s*d,g=i-c*d;n=e,e=l,o=s,i=c,s=u,c=g}if(n!==z)throw new Error("invert: does not exist");return it(o,t)}function yu(r){let t=(r-z)/pe,e,n,o;for(e=r-z,n=0;e%pe===Z;e/=pe,n++);for(o=pe;o(n[o]="function",n),t);return te(r,e)}function Eu(r,t,e){if(e 0");if(e===Z)return r.ONE;if(e===z)return t;let n=r.ONE,o=t;for(;e>Z;)e&z&&(n=r.mul(n,o)),o=r.sqr(o),e>>=z;return n}function xu(r,t){let e=new Array(t.length),n=t.reduce((i,s,c)=>r.is0(s)?i:(e[c]=i,r.mul(i,s)),r.ONE),o=r.inv(n);return t.reduceRight((i,s,c)=>r.is0(s)?i:(e[c]=r.mul(i,e[c]),r.mul(i,s)),o),e}function So(r,t){let e=t!==void 0?t:r.toString(2).length,n=Math.ceil(e/8);return{nBitLength:e,nByteLength:n}}function ps(r,t,e=!1,n={}){if(r<=Z)throw new Error(`Expected Field ORDER > 0, got ${r}`);let{nBitLength:o,nByteLength:i}=So(r,t);if(i>2048)throw new Error("Field lengths over 2048 bytes are not supported");let s=bu(r),c=Object.freeze({ORDER:r,BITS:o,BYTES:i,MASK:Qe(o),ZERO:Z,ONE:z,create:a=>it(a,r),isValid:a=>{if(typeof a!="bigint")throw new Error(`Invalid field element: expected bigint, got ${typeof a}`);return Z<=a&&aa===Z,isOdd:a=>(a&z)===z,neg:a=>it(-a,r),eql:(a,d)=>a===d,sqr:a=>it(a*a,r),add:(a,d)=>it(a+d,r),sub:(a,d)=>it(a-d,r),mul:(a,d)=>it(a*d,r),pow:(a,d)=>Eu(c,a,d),div:(a,d)=>it(a*Wr(d,r),r),sqrN:a=>a*a,addN:(a,d)=>a+d,subN:(a,d)=>a-d,mulN:(a,d)=>a*d,inv:a=>Wr(a,r),sqrt:n.sqrt||(a=>s(c,a)),invertBatch:a=>xu(c,a),cmov:(a,d,l)=>l?d:a,toBytes:a=>e?zr(a,i):Qt(a,i),fromBytes:a=>{if(a.length!==i)throw new Error(`Fp.fromBytes: expected ${i}, got ${a.length}`);return e?Hr(a):Kt(a)}});return Object.freeze(c)}function ms(r){if(typeof r!="bigint")throw new Error("field order must be bigint");let t=r.toString(2).length;return Math.ceil(t/8)}function To(r){let t=ms(r);return t+Math.ceil(t/2)}function gs(r,t,e=!1){let n=r.length,o=ms(t),i=To(t);if(n<16||n1024)throw new Error(`expected ${i}-1024 bytes of input, got ${n}`);let s=e?Kt(r):Hr(r),c=it(s,t-z)+z;return e?zr(c,o):Qt(c,o)}var vu=BigInt(0),Ro=BigInt(1),Lo=new WeakMap,ys=new WeakMap;function bs(r,t){let e=(i,s)=>{let c=s.negate();return i?c:s},n=i=>{if(!Number.isSafeInteger(i)||i<=0||i>t)throw new Error(`Wrong window size=${i}, should be [1..${t}]`)},o=i=>{n(i);let s=Math.ceil(t/i)+1,c=2**(i-1);return{windows:s,windowSize:c}};return{constTimeNegate:e,unsafeLadder(i,s){let c=r.ZERO,a=i;for(;s>vu;)s&Ro&&(c=c.add(a)),a=a.double(),s>>=Ro;return c},precomputeWindow(i,s){let{windows:c,windowSize:a}=o(s),d=[],l=i,u=l;for(let g=0;g>=h,m>d&&(m-=y,c+=Ro);let w=p,S=p+Math.abs(m)-1,_=f%2!==0,D=m<0;m===0?u=u.add(e(_,s[w])):l=l.add(e(D,s[S]))}return{p:l,f:u}},wNAFCached(i,s,c){let a=ys.get(i)||1,d=Lo.get(i);return d||(d=this.precomputeWindow(i,a),a!==1&&Lo.set(i,c(d))),this.wNAF(a,d,s)},setWindowSize(i,s){n(s),ys.set(i,s),Lo.delete(i)}}}function Do(r){return Ao(r.Fp),te(r,{n:"bigint",h:"bigint",Gx:"field",Gy:"field"},{nBitLength:"isSafeInteger",nByteLength:"isSafeInteger"}),Object.freeze({...So(r.n,r.nBitLength),...r,p:r.Fp.ORDER})}function ws(r){r.lowS!==void 0&&fe("lowS",r.lowS),r.prehash!==void 0&&fe("prehash",r.prehash)}function Au(r){let t=Do(r);te(t,{a:"field",b:"field"},{allowedPrivateKeyLengths:"array",wrapPrivateKey:"boolean",isTorsionFree:"function",clearCofactor:"function",allowInfinityPoint:"boolean",fromBytes:"function",toBytes:"function"});let{endo:e,Fp:n,a:o}=t;if(e){if(!n.eql(o,n.ZERO))throw new Error("Endomorphism can only be defined for Koblitz curves that have a=0");if(typeof e!="object"||typeof e.beta!="bigint"||typeof e.splitScalar!="function")throw new Error("Expected endomorphism with beta: bigint and splitScalar: function")}return Object.freeze({...t})}var{bytesToNumberBE:Su,hexToBytes:Tu}=Io,me={Err:class extends Error{constructor(t=""){super(t)}},_parseInt(r){let{Err:t}=me;if(r.length<2||r[0]!==2)throw new t("Invalid signature integer tag");let e=r[1],n=r.subarray(2,e+2);if(!e||n.length!==e)throw new t("Invalid signature integer: wrong length");if(n[0]&128)throw new t("Invalid signature integer: negative");if(n[0]===0&&!(n[1]&128))throw new t("Invalid signature integer: unnecessary leading zero");return{d:Su(n),l:r.subarray(e+2)}},toSig(r){let{Err:t}=me,e=typeof r=="string"?Tu(r):r;Pe(e);let n=e.length;if(n<2||e[0]!=48)throw new t("Invalid signature tag");if(e[1]!==n-2)throw new t("Invalid signature: incorrect length");let{d:o,l:i}=me._parseInt(e.subarray(2)),{d:s,l:c}=me._parseInt(i);if(c.length)throw new t("Invalid signature: left bytes after parsing");return{r:o,s}},hexFromSig(r){let t=d=>Number.parseInt(d[0],16)&8?"00"+d:d,e=d=>{let l=d.toString(16);return l.length&1?`0${l}`:l},n=t(e(r.s)),o=t(e(r.r)),i=n.length/2,s=o.length/2,c=e(i),a=e(s);return`30${e(s+i+4)}02${a}${o}02${c}${n}`}},ee=BigInt(0),j=BigInt(1),sp=BigInt(2),Es=BigInt(3),cp=BigInt(4);function Ru(r){let t=Au(r),{Fp:e}=t,n=t.toBytes||((h,f,p)=>{let m=f.toAffine();return Ce(Uint8Array.from([4]),e.toBytes(m.x),e.toBytes(m.y))}),o=t.fromBytes||(h=>{let f=h.subarray(1),p=e.fromBytes(f.subarray(0,e.BYTES)),m=e.fromBytes(f.subarray(e.BYTES,2*e.BYTES));return{x:p,y:m}});function i(h){let{a:f,b:p}=t,m=e.sqr(h),w=e.mul(m,h);return e.add(e.add(w,e.mul(h,f)),p)}if(!e.eql(e.sqr(t.Gy),i(t.Gx)))throw new Error("bad generator point: equation left != right");function s(h){return Je(h,j,t.n)}function c(h){let{allowedPrivateKeyLengths:f,nByteLength:p,wrapPrivateKey:m,n:w}=t;if(f&&typeof h!="bigint"){if(Jt(h)&&(h=de(h)),typeof h!="string"||!f.includes(h.length))throw new Error("Invalid key");h=h.padStart(p*2,"0")}let S;try{S=typeof h=="bigint"?h:Kt(gt("private key",h,p))}catch{throw new Error(`private key must be ${p} bytes, hex or bigint, not ${typeof h}`)}return m&&(S=it(S,w)),jt("private key",S,j,w),S}function a(h){if(!(h instanceof u))throw new Error("ProjectivePoint expected")}let d=qr((h,f)=>{let{px:p,py:m,pz:w}=h;if(e.eql(w,e.ONE))return{x:p,y:m};let S=h.is0();f==null&&(f=S?e.ONE:e.inv(w));let _=e.mul(p,f),D=e.mul(m,f),I=e.mul(w,f);if(S)return{x:e.ZERO,y:e.ZERO};if(!e.eql(I,e.ONE))throw new Error("invZ was invalid");return{x:_,y:D}}),l=qr(h=>{if(h.is0()){if(t.allowInfinityPoint&&!e.is0(h.py))return;throw new Error("bad point: ZERO")}let{x:f,y:p}=h.toAffine();if(!e.isValid(f)||!e.isValid(p))throw new Error("bad point: x or y not FE");let m=e.sqr(p),w=i(f);if(!e.eql(m,w))throw new Error("bad point: equation left != right");if(!h.isTorsionFree())throw new Error("bad point: not in prime-order subgroup");return!0});class u{constructor(f,p,m){if(this.px=f,this.py=p,this.pz=m,f==null||!e.isValid(f))throw new Error("x required");if(p==null||!e.isValid(p))throw new Error("y required");if(m==null||!e.isValid(m))throw new Error("z required");Object.freeze(this)}static fromAffine(f){let{x:p,y:m}=f||{};if(!f||!e.isValid(p)||!e.isValid(m))throw new Error("invalid affine point");if(f instanceof u)throw new Error("projective point not allowed");let w=S=>e.eql(S,e.ZERO);return w(p)&&w(m)?u.ZERO:new u(p,m,e.ONE)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static normalizeZ(f){let p=e.invertBatch(f.map(m=>m.pz));return f.map((m,w)=>m.toAffine(p[w])).map(u.fromAffine)}static fromHex(f){let p=u.fromAffine(o(gt("pointHex",f)));return p.assertValidity(),p}static fromPrivateKey(f){return u.BASE.multiply(c(f))}_setWindowSize(f){y.setWindowSize(this,f)}assertValidity(){l(this)}hasEvenY(){let{y:f}=this.toAffine();if(e.isOdd)return!e.isOdd(f);throw new Error("Field doesn't support isOdd")}equals(f){a(f);let{px:p,py:m,pz:w}=this,{px:S,py:_,pz:D}=f,I=e.eql(e.mul(p,D),e.mul(S,w)),A=e.eql(e.mul(m,D),e.mul(_,w));return I&&A}negate(){return new u(this.px,e.neg(this.py),this.pz)}double(){let{a:f,b:p}=t,m=e.mul(p,Es),{px:w,py:S,pz:_}=this,D=e.ZERO,I=e.ZERO,A=e.ZERO,R=e.mul(w,w),X=e.mul(S,S),U=e.mul(_,_),P=e.mul(w,S);return P=e.add(P,P),A=e.mul(w,_),A=e.add(A,A),D=e.mul(f,A),I=e.mul(m,U),I=e.add(D,I),D=e.sub(X,I),I=e.add(X,I),I=e.mul(D,I),D=e.mul(P,D),A=e.mul(m,A),U=e.mul(f,U),P=e.sub(R,U),P=e.mul(f,P),P=e.add(P,A),A=e.add(R,R),R=e.add(A,R),R=e.add(R,U),R=e.mul(R,P),I=e.add(I,R),U=e.mul(S,_),U=e.add(U,U),R=e.mul(U,P),D=e.sub(D,R),A=e.mul(U,X),A=e.add(A,A),A=e.add(A,A),new u(D,I,A)}add(f){a(f);let{px:p,py:m,pz:w}=this,{px:S,py:_,pz:D}=f,I=e.ZERO,A=e.ZERO,R=e.ZERO,X=t.a,U=e.mul(t.b,Es),P=e.mul(p,S),lt=e.mul(m,_),ft=e.mul(w,D),v=e.add(p,m),x=e.add(S,_);v=e.mul(v,x),x=e.add(P,lt),v=e.sub(v,x),x=e.add(p,w);let L=e.add(S,D);return x=e.mul(x,L),L=e.add(P,ft),x=e.sub(x,L),L=e.add(m,w),I=e.add(_,D),L=e.mul(L,I),I=e.add(lt,ft),L=e.sub(L,I),R=e.mul(X,x),I=e.mul(U,ft),R=e.add(I,R),I=e.sub(lt,R),R=e.add(lt,R),A=e.mul(I,R),lt=e.add(P,P),lt=e.add(lt,P),ft=e.mul(X,ft),x=e.mul(U,x),lt=e.add(lt,ft),ft=e.sub(P,ft),ft=e.mul(X,ft),x=e.add(x,ft),P=e.mul(lt,x),A=e.add(A,P),P=e.mul(L,x),I=e.mul(v,I),I=e.sub(I,P),P=e.mul(v,lt),R=e.mul(L,R),R=e.add(R,P),new u(I,A,R)}subtract(f){return this.add(f.negate())}is0(){return this.equals(u.ZERO)}wNAF(f){return y.wNAFCached(this,f,u.normalizeZ)}multiplyUnsafe(f){jt("scalar",f,ee,t.n);let p=u.ZERO;if(f===ee)return p;if(f===j)return this;let{endo:m}=t;if(!m)return y.unsafeLadder(this,f);let{k1neg:w,k1:S,k2neg:_,k2:D}=m.splitScalar(f),I=p,A=p,R=this;for(;S>ee||D>ee;)S&j&&(I=I.add(R)),D&j&&(A=A.add(R)),R=R.double(),S>>=j,D>>=j;return w&&(I=I.negate()),_&&(A=A.negate()),A=new u(e.mul(A.px,m.beta),A.py,A.pz),I.add(A)}multiply(f){let{endo:p,n:m}=t;jt("scalar",f,j,m);let w,S;if(p){let{k1neg:_,k1:D,k2neg:I,k2:A}=p.splitScalar(f),{p:R,f:X}=this.wNAF(D),{p:U,f:P}=this.wNAF(A);R=y.constTimeNegate(_,R),U=y.constTimeNegate(I,U),U=new u(e.mul(U.px,p.beta),U.py,U.pz),w=R.add(U),S=X.add(P)}else{let{p:_,f:D}=this.wNAF(f);w=_,S=D}return u.normalizeZ([w,S])[0]}multiplyAndAddUnsafe(f,p,m){let w=u.BASE,S=(D,I)=>I===ee||I===j||!D.equals(w)?D.multiplyUnsafe(I):D.multiply(I),_=S(this,p).add(S(f,m));return _.is0()?void 0:_}toAffine(f){return d(this,f)}isTorsionFree(){let{h:f,isTorsionFree:p}=t;if(f===j)return!0;if(p)return p(u,this);throw new Error("isTorsionFree() has not been declared for the elliptic curve")}clearCofactor(){let{h:f,clearCofactor:p}=t;return f===j?this:p?p(u,this):this.multiplyUnsafe(t.h)}toRawBytes(f=!0){return fe("isCompressed",f),this.assertValidity(),n(u,this,f)}toHex(f=!0){return fe("isCompressed",f),de(this.toRawBytes(f))}}u.BASE=new u(t.Gx,t.Gy,e.ONE),u.ZERO=new u(e.ZERO,e.ONE,e.ZERO);let g=t.nBitLength,y=bs(u,t.endo?Math.ceil(g/2):g);return{CURVE:t,ProjectivePoint:u,normPrivateKeyToScalar:c,weierstrassEquation:i,isWithinCurveOrder:s}}function Lu(r){let t=Do(r);return te(t,{hash:"hash",hmac:"function",randomBytes:"function"},{bits2int:"function",bits2int_modN:"function",lowS:"boolean"}),Object.freeze({lowS:!0,...t})}function xs(r){let t=Lu(r),{Fp:e,n}=t,o=e.BYTES+1,i=2*e.BYTES+1;function s(v){return it(v,n)}function c(v){return Wr(v,n)}let{ProjectivePoint:a,normPrivateKeyToScalar:d,weierstrassEquation:l,isWithinCurveOrder:u}=Ru({...t,toBytes(v,x,L){let O=x.toAffine(),C=e.toBytes(O.x),J=Ce;return fe("isCompressed",L),L?J(Uint8Array.from([x.hasEvenY()?2:3]),C):J(Uint8Array.from([4]),C,e.toBytes(O.y))},fromBytes(v){let x=v.length,L=v[0],O=v.subarray(1);if(x===o&&(L===2||L===3)){let C=Kt(O);if(!Je(C,j,e.ORDER))throw new Error("Point is not on curve");let J=l(C),st;try{st=e.sqrt(J)}catch(At){let $t=At instanceof Error?": "+At.message:"";throw new Error("Point is not on curve"+$t)}let ct=(st&j)===j;return(L&1)===1!==ct&&(st=e.neg(st)),{x:C,y:st}}else if(x===i&&L===4){let C=e.fromBytes(O.subarray(0,e.BYTES)),J=e.fromBytes(O.subarray(e.BYTES,2*e.BYTES));return{x:C,y:J}}else throw new Error(`Point of length ${x} was invalid. Expected ${o} compressed bytes or ${i} uncompressed bytes`)}}),g=v=>de(Qt(v,t.nByteLength));function y(v){let x=n>>j;return v>x}function h(v){return y(v)?s(-v):v}let f=(v,x,L)=>Kt(v.slice(x,L));class p{constructor(x,L,O){this.r=x,this.s=L,this.recovery=O,this.assertValidity()}static fromCompact(x){let L=t.nByteLength;return x=gt("compactSignature",x,L*2),new p(f(x,0,L),f(x,L,2*L))}static fromDER(x){let{r:L,s:O}=me.toSig(gt("DER",x));return new p(L,O)}assertValidity(){jt("r",this.r,j,n),jt("s",this.s,j,n)}addRecoveryBit(x){return new p(this.r,this.s,x)}recoverPublicKey(x){let{r:L,s:O,recovery:C}=this,J=I(gt("msgHash",x));if(C==null||![0,1,2,3].includes(C))throw new Error("recovery id invalid");let st=C===2||C===3?L+t.n:L;if(st>=e.ORDER)throw new Error("recovery id 2 or 3 invalid");let ct=C&1?"03":"02",Ft=a.fromHex(ct+g(st)),At=c(st),$t=s(-J*At),Me=s(O*At),Gt=a.BASE.multiplyAndAddUnsafe(Ft,$t,Me);if(!Gt)throw new Error("point at infinify");return Gt.assertValidity(),Gt}hasHighS(){return y(this.s)}normalizeS(){return this.hasHighS()?new p(this.r,s(-this.s),this.recovery):this}toDERRawBytes(){return he(this.toDERHex())}toDERHex(){return me.hexFromSig({r:this.r,s:this.s})}toCompactRawBytes(){return he(this.toCompactHex())}toCompactHex(){return g(this.r)+g(this.s)}}let m={isValidPrivateKey(v){try{return d(v),!0}catch{return!1}},normPrivateKeyToScalar:d,randomPrivateKey:()=>{let v=To(t.n);return gs(t.randomBytes(v),t.n)},precompute(v=8,x=a.BASE){return x._setWindowSize(v),x.multiply(BigInt(3)),x}};function w(v,x=!0){return a.fromPrivateKey(v).toRawBytes(x)}function S(v){let x=Jt(v),L=typeof v=="string",O=(x||L)&&v.length;return x?O===o||O===i:L?O===2*o||O===2*i:v instanceof a}function _(v,x,L=!0){if(S(v))throw new Error("first arg must be private key");if(!S(x))throw new Error("second arg must be public key");return a.fromHex(x).multiply(d(v)).toRawBytes(L)}let D=t.bits2int||function(v){let x=Kt(v),L=v.length*8-t.nBitLength;return L>0?x>>BigInt(L):x},I=t.bits2int_modN||function(v){return s(D(v))},A=Qe(t.nBitLength);function R(v){return jt(`num < 2^${t.nBitLength}`,v,ee,A),Qt(v,t.nByteLength)}function X(v,x,L=U){if(["recovered","canonical"].some(oe=>oe in L))throw new Error("sign() legacy options not supported");let{hash:O,randomBytes:C}=t,{lowS:J,prehash:st,extraEntropy:ct}=L;J==null&&(J=!0),v=gt("msgHash",v),ws(L),st&&(v=gt("prehashed msgHash",O(v)));let Ft=I(v),At=d(x),$t=[R(At),R(Ft)];if(ct!=null&&ct!==!1){let oe=ct===!0?C(e.BYTES):ct;$t.push(gt("extraEntropy",oe))}let Me=Ce(...$t),Gt=Ft;function pn(oe){let we=D(oe);if(!u(we))return;let ei=c(we),Bt=a.BASE.multiply(we).toAffine(),Ee=s(Bt.x);if(Ee===ee)return;let tr=s(ei*s(Gt+Ee*At));if(tr===ee)return;let ri=(Bt.x===Ee?0:2)|Number(Bt.y&j),ni=tr;return J&&y(tr)&&(ni=h(tr),ri^=1),new p(Ee,ni,ri)}return{seed:Me,k2sig:pn}}let U={lowS:t.lowS,prehash:!1},P={lowS:t.lowS,prehash:!1};function lt(v,x,L=U){let{seed:O,k2sig:C}=X(v,x,L),J=t;return xo(J.hash.outputLen,J.nByteLength,J.hmac)(O,C)}a.BASE._setWindowSize(8);function ft(v,x,L,O=P){let C=v;if(x=gt("msgHash",x),L=gt("publicKey",L),"strict"in O)throw new Error("options.strict was renamed to lowS");ws(O);let{lowS:J,prehash:st}=O,ct,Ft;try{if(typeof C=="string"||Jt(C))try{ct=p.fromDER(C)}catch(Bt){if(!(Bt instanceof me.Err))throw Bt;ct=p.fromCompact(C)}else if(typeof C=="object"&&typeof C.r=="bigint"&&typeof C.s=="bigint"){let{r:Bt,s:Ee}=C;ct=new p(Bt,Ee)}else throw new Error("PARSE");Ft=a.fromHex(L)}catch(Bt){if(Bt.message==="PARSE")throw new Error("signature must be Signature instance, Uint8Array or hex string");return!1}if(J&&ct.hasHighS())return!1;st&&(x=t.hash(x));let{r:At,s:$t}=ct,Me=I(x),Gt=c($t),pn=s(Me*Gt),oe=s(At*Gt),we=a.BASE.multiplyAndAddUnsafe(Ft,pn,oe)?.toAffine();return we?s(we.x)===At:!1}return{CURVE:t,getPublicKey:w,getSharedSecret:_,sign:lt,verify:ft,ProjectivePoint:a,Signature:p,utils:m}}function Du(r){return{hash:r,hmac:(t,...e)=>mo(r,t,ns(...e)),randomBytes:is}}function Is(r,t){let e=n=>xs({...r,...Du(n)});return Object.freeze({...e(t),create:e})}var Ss=BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"),vs=BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),_u=BigInt(1),_o=BigInt(2),As=(r,t)=>(r+t/_o)/t;function Bu(r){let t=Ss,e=BigInt(3),n=BigInt(6),o=BigInt(11),i=BigInt(22),s=BigInt(23),c=BigInt(44),a=BigInt(88),d=r*r*r%t,l=d*d*r%t,u=yt(l,e,t)*l%t,g=yt(u,e,t)*l%t,y=yt(g,_o,t)*d%t,h=yt(y,o,t)*y%t,f=yt(h,i,t)*h%t,p=yt(f,c,t)*f%t,m=yt(p,a,t)*p%t,w=yt(m,c,t)*f%t,S=yt(w,e,t)*l%t,_=yt(S,s,t)*h%t,D=yt(_,n,t)*d%t,I=yt(D,_o,t);if(!Bo.eql(Bo.sqr(I),r))throw new Error("Cannot find square root");return I}var Bo=ps(Ss,void 0,void 0,{sqrt:Bu}),ke=Is({a:BigInt(0),b:BigInt(7),Fp:Bo,n:vs,Gx:BigInt("55066263022277343669578718895168534326250603453777594175500187360389116729240"),Gy:BigInt("32670510020758816978083085130507043184471273380659243275938904335757337482424"),h:BigInt(1),lowS:!0,endo:{beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee"),splitScalar:r=>{let t=vs,e=BigInt("0x3086d221a7d46bcde86c90e49284eb15"),n=-_u*BigInt("0xe4437ed6010e88286f547fa90abfe4c3"),o=BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"),i=e,s=BigInt("0x100000000000000000000000000000000"),c=As(i*r,t),a=As(-n*r,t),d=it(r-c*e-a*o,t),l=it(-c*n-a*i,t),u=d>s,g=l>s;if(u&&(d=t-d),g&&(l=t-l),d>s||l>s)throw new Error("splitScalar: Endomorphism failed, k="+r);return{k1neg:u,k1:d,k2neg:g,k2:l}}}},as),gp=BigInt(0);var yp=ke.ProjectivePoint;var Ts=dt(Y("node:crypto"),1);var Yr=class extends Error{constructor(t="An error occurred while verifying a message"){super(t),this.name="VerificationError"}};function Rs(r,t,e){let n=Ts.default.createHash("sha256");if(e instanceof Uint8Array)n.update(e);else for(let i of e)n.update(i);let o=n.digest();try{return ke.verify(t,o,r)}catch(i){throw new Yr(String(i))}}var Zr=class{type="secp256k1";raw;_key;constructor(t){this._key=Ds(t),this.raw=Ls(this._key)}toMultihash(){return kt.digest(Mr(this))}toCID(){return Q.createV1(114,this.toMultihash())}toString(){return K.encode(this.toMultihash().bytes).substring(1)}equals(t){return t==null||!(t.raw instanceof Uint8Array)?!1:Dt(this.raw,t.raw)}verify(t,e){return Rs(this._key,e,t)}};function _s(r){return new Zr(r)}function Ls(r){return ke.ProjectivePoint.fromHex(r).toRawBytes(!0)}function Ds(r){try{return ke.ProjectivePoint.fromHex(r),r}catch(t){throw new Pr(String(t))}}function Bs(r){let{Type:t,Data:e}=Ye.decode(r.digest),n=e??new Uint8Array;switch(t){case It.Ed25519:return ji(n);case It.secp256k1:return _s(n);default:throw new qe}}function Mr(r){return Ye.encode({Type:It[r.type],Data:r.raw})}var Ns=Symbol.for("nodejs.util.inspect.custom"),Nu=114,je=class{type;multihash;publicKey;string;constructor(t){this.type=t.type,this.multihash=t.multihash,Object.defineProperty(this,"string",{enumerable:!1,writable:!0})}get[Symbol.toStringTag](){return`PeerId(${this.toString()})`}[Nr]=!0;toString(){return this.string==null&&(this.string=K.encode(this.multihash.bytes).slice(1)),this.string}toMultihash(){return this.multihash}toCID(){return Q.createV1(Nu,this.multihash)}toBytes(){return this.multihash.bytes}toJSON(){return this.toString()}equals(t){if(t==null)return!1;if(t instanceof Uint8Array)return Dt(this.multihash.bytes,t);if(typeof t=="string")return this.toString()===t;if(t?.toMultihash()?.bytes!=null)return Dt(this.multihash.bytes,t.toMultihash().bytes);throw new Error("not valid Id")}[Ns](){return`PeerId(${this.toString()})`}},Xr=class extends je{type="RSA";publicKey;constructor(t){super({...t,type:"RSA"}),this.publicKey=t.publicKey}},Jr=class extends je{type="Ed25519";publicKey;constructor(t){super({...t,type:"Ed25519"}),this.publicKey=t.publicKey}},Qr=class extends je{type="secp256k1";publicKey;constructor(t){super({...t,type:"secp256k1"}),this.publicKey=t.publicKey}},Pu=2336,jr=class{type="url";multihash;publicKey;url;constructor(t){this.url=t.toString(),this.multihash=kt.digest(Wt(this.url))}[Ns](){return`PeerId(${this.url})`}[Nr]=!0;toString(){return this.toCID().toString()}toMultihash(){return this.multihash}toCID(){return Q.createV1(Pu,this.toMultihash())}toBytes(){return this.toCID().bytes}toJSON(){return this.toString()}equals(t){return t==null?!1:(t instanceof Uint8Array&&(t=W(t)),t.toString()===this.toString())}};function Vt(r){if(ku(r))return new Xr({multihash:r});if(Cu(r))try{let t=Bs(r);if(t.type==="Ed25519")return new Jr({multihash:r,publicKey:t});if(t.type==="secp256k1")return new Qr({multihash:r,publicKey:t})}catch{let e=W(r.digest);return new jr(new URL(e))}throw new Cr("Supplied PeerID Multihash is invalid")}function Cu(r){return r.code===kt.code}function ku(r){return r.code===Yn.code}var ic=dt(Y("net"),1);var tn=class{index=0;input="";new(t){return this.index=0,this.input=t,this}readAtomically(t){let e=this.index,n=t();return n===void 0&&(this.index=e),n}parseWith(t){let e=t();if(this.index===this.input.length)return e}peekChar(){if(!(this.index>=this.input.length))return this.input[this.index]}readChar(){if(!(this.index>=this.input.length))return this.input[this.index++]}readGivenChar(t){return this.readAtomically(()=>{let e=this.readChar();if(e===t)return e})}readSeparator(t,e,n){return this.readAtomically(()=>{if(!(e>0&&this.readGivenChar(t)===void 0))return n()})}readNumber(t,e,n,o){return this.readAtomically(()=>{let i=0,s=0,c=this.peekChar();if(c===void 0)return;let a=c==="0",d=2**(8*o)-1;for(;;){let l=this.readAtomically(()=>{let u=this.readChar();if(u===void 0)return;let g=Number.parseInt(u,t);if(!Number.isNaN(g))return g});if(l===void 0)break;if(i*=t,i+=l,i>d||(s+=1,e!==void 0&&s>e))return}if(s!==0)return!n&&a&&s>1?void 0:i})}readIPv4Addr(){return this.readAtomically(()=>{let t=new Uint8Array(4);for(let e=0;ethis.readNumber(10,3,!1,1));if(n===void 0)return;t[e]=n}return t})}readIPv6Addr(){let t=e=>{for(let n=0;nthis.readIPv4Addr());if(s!==void 0)return e[o]=s[0],e[o+1]=s[1],e[o+2]=s[2],e[o+3]=s[3],[o+4,!0]}let i=this.readSeparator(":",n,()=>this.readNumber(16,4,!0,2));if(i===void 0)return[o,!1];e[o]=i>>8,e[o+1]=i&255}return[e.length,!1]};return this.readAtomically(()=>{let e=new Uint8Array(16),[n,o]=t(e);if(n===16)return e;if(o||this.readGivenChar(":")===void 0||this.readGivenChar(":")===void 0)return;let i=new Uint8Array(14),s=16-(n+2),[c]=t(i.subarray(0,s));return e.set(i.subarray(0,c),16-c),e})}readIPAddr(){return this.readIPv4Addr()??this.readIPv6Addr()}};var bm=new tn;var Tm=parseInt("0xFFFF",16),Rm=new Uint8Array([0,0,0,0,0,0,0,0,0,0,255,255]);var vt=Y("node:net");function en(r){return!!(0,vt.isIP)(r)}var ks=vt.isIPv4,Fu=vt.isIPv6,No=function(r){let t=0;if(r=r.toString().trim(),ks(r)){let e=new Uint8Array(t+4);return r.split(/\./g).forEach(n=>{e[t++]=parseInt(n,10)&255}),e}if(Fu(r)){let e=r.split(":",8),n;for(n=0;n0;n--)i.push("0");e.splice.apply(e,i)}let o=new Uint8Array(t+16);for(n=0;n>8&255,o[t++]=i&255}return o}throw new Error("invalid ip address")},Os=function(r,t=0,e){t=~~t,e=e??r.length-t;let n=new DataView(r.buffer);if(e===4){let o=[];for(let i=0;i{let t=Hu(...r);Po[t.code]=t,Oe[t.name]=t});function Hu(r,t,e,n,o){return{code:r,size:t,name:e,resolvable:!!n,path:!!o}}function k(r){if(typeof r=="number"){if(Po[r]!=null)return Po[r];throw new Error(`no protocol with code: ${r}`)}else if(typeof r=="string"){if(Oe[r]!=null)return Oe[r];throw new Error(`no protocol with name: ${r}`)}throw new Error(`invalid protocol id type: ${typeof r}`)}var fg=k("ip4"),dg=k("ip6"),hg=k("ipcidr");function Uo(r,t){switch(k(r).code){case 4:case 41:return qu(t);case 42:return Oo(t);case 6:case 273:case 33:case 132:return Ks(t).toString();case 53:case 54:case 55:case 56:case 400:case 449:case 777:return Oo(t);case 421:return Xu(t);case 444:return Ms(t);case 445:return Ms(t);case 466:return Zu(t);case 481:return globalThis.encodeURIComponent(Oo(t));default:return W(t,"base16")}}function Mo(r,t){switch(k(r).code){case 4:return Us(t);case 41:return Us(t);case 42:return ko(t);case 6:case 273:case 33:case 132:return Ko(parseInt(t,10));case 53:case 54:case 55:case 56:case 400:case 449:case 777:return ko(t);case 421:return Wu(t);case 444:return Ju(t);case 445:return Qu(t);case 466:return Yu(t);case 481:return ko(globalThis.decodeURIComponent(t));default:return Wt(t,"base16")}}var Co=Object.values($e).map(r=>r.decoder),zu=function(){let r=Co[0].or(Co[1]);return Co.slice(2).forEach(t=>r=r.or(t)),r}();function Us(r){if(!en(r))throw new Error("invalid ip address");return No(r)}function qu(r){let t=Os(r,0,r.length);if(t==null)throw new Error("ipBuff is required");if(!en(t))throw new Error("invalid ip address");return t}function Ko(r){let t=new ArrayBuffer(2);return new DataView(t).setUint16(0,r),new Uint8Array(t)}function Ks(r){return new DataView(r.buffer).getUint16(r.byteOffset)}function ko(r){let t=Wt(r),e=Uint8Array.from(Ht(t.length));return mt([e,t],e.length+t.length)}function Oo(r){let t=Ct(r);if(r=r.slice(nt(t)),r.length!==t)throw new Error("inconsistent lengths");return W(r)}function Wu(r){let t;r[0]==="Q"||r[0]==="1"?t=ut(K.decode(`z${r}`)).bytes:t=Q.parse(r).multihash.bytes;let e=Uint8Array.from(Ht(t.length));return mt([e,t],e.length+t.length)}function Yu(r){let t=zu.decode(r),e=Uint8Array.from(Ht(t.length));return mt([e,t],e.length+t.length)}function Zu(r){let t=Ct(r),e=r.slice(nt(t));if(e.length!==t)throw new Error("inconsistent lengths");return"u"+W(e,"base64url")}function Xu(r){let t=Ct(r),e=r.slice(nt(t));if(e.length!==t)throw new Error("inconsistent lengths");return W(e,"base58btc")}function Ju(r){let t=r.split(":");if(t.length!==2)throw new Error(`failed to parse onion addr: ["'${t.join('", "')}'"]' does not contain a port number`);if(t[0].length!==16)throw new Error(`failed to parse onion addr: ${t[0]} not a Tor onion address.`);let e=Tt.decode("b"+t[0]),n=parseInt(t[1],10);if(n<1||n>65536)throw new Error("Port number is not in range(1, 65536)");let o=Ko(n);return mt([e,o],e.length+o.length)}function Qu(r){let t=r.split(":");if(t.length!==2)throw new Error(`failed to parse onion addr: ["'${t.join('", "')}'"]' does not contain a port number`);if(t[0].length!==56)throw new Error(`failed to parse onion addr: ${t[0]} not a Tor onion3 address.`);let e=Tt.decode(`b${t[0]}`),n=parseInt(t[1],10);if(n<1||n>65536)throw new Error("Port number is not in range(1, 65536)");let o=Ko(n);return mt([e,o],e.length+o.length)}function Ms(r){let t=r.slice(0,r.length-2),e=r.slice(r.length-2),n=W(t,"base32"),o=Ks(e);return`${n}:${o}`}function Vs(r){r=Vo(r);let t=[],e=[],n=null,o=r.split("/").slice(1);if(o.length===1&&o[0]==="")return{bytes:new Uint8Array,string:"/",tuples:[],stringTuples:[],path:null};for(let i=0;i=o.length)throw $s("invalid address: "+r);if(c.path===!0){n=Vo(o.slice(i).join("/")),t.push([c.code,Mo(c.code,n)]),e.push([c.code,n]);break}let a=Mo(c.code,o[i]);t.push([c.code,a]),e.push([c.code,Uo(c.code,a)])}return{string:Fs(e),bytes:$o(t),tuples:t,stringTuples:e,path:n}}function Fo(r){let t=[],e=[],n=null,o=0;for(;or.length)throw $s("Invalid address Uint8Array: "+W(r,"base16"));t.push([i,d]);let l=Uo(i,d);if(e.push([i,l]),c.path===!0){n=l;break}}return{bytes:Uint8Array.from(r),string:Fs(e),tuples:t,stringTuples:e,path:n}}function Fs(r){let t=[];return r.map(e=>{let n=k(e[0]);return t.push(n.name),e.length>1&&e[1]!=null&&t.push(e[1]),null}),Vo(t.join("/"))}function $o(r){return mt(r.map(t=>{let e=k(t[0]),n=Uint8Array.from(Ht(e.code));return t.length>1&&t[1]!=null&&(n=mt([n,t[1]])),n}))}function ju(r,t){if(r.size>0)return r.size/8;if(r.size===0)return 0;{let e=Ct(t instanceof Uint8Array?t:Uint8Array.from(t));return e+nt(e)}}function Vo(r){return"/"+r.trim().split("/").filter(t=>t).join("/")}function $s(r){return new Error("Error parsing address: "+r)}var tl=Symbol.for("nodejs.util.inspect.custom"),Go=Symbol.for("@multiformats/js-multiaddr/multiaddr"),el=[k("dns").code,k("dns4").code,k("dns6").code,k("dnsaddr").code],rn=class r{bytes;#t;#e;#r;#n;[Go]=!0;constructor(t){t==null&&(t="");let e;if(t instanceof Uint8Array)e=Fo(t);else if(typeof t=="string"){if(t.length>0&&t.charAt(0)!=="/")throw new Error(`multiaddr "${t}" must start with a "/"`);e=Vs(t)}else if(nn(t))e=Fo(t.bytes);else throw new Error("addr must be a string, Buffer, or another Multiaddr");this.bytes=e.bytes,this.#t=e.string,this.#e=e.tuples,this.#r=e.stringTuples,this.#n=e.path}toString(){return this.#t}toJSON(){return this.toString()}toOptions(){let t,e,n,o,i="",s=k("tcp"),c=k("udp"),a=k("ip4"),d=k("ip6"),l=k("dns6"),u=k("ip6zone");for(let[y,h]of this.stringTuples())y===u.code&&(i=`%${h??""}`),el.includes(y)&&(e=s.name,o=443,n=`${h??""}${i}`,t=y===l.code?6:4),(y===s.code||y===c.code)&&(e=k(y).name,o=parseInt(h??"")),(y===a.code||y===d.code)&&(e=k(y).name,n=`${h??""}${i}`,t=y===d.code?6:4);if(t==null||e==null||n==null||o==null)throw new Error('multiaddr must have a valid format: "/{ip4, ip6, dns4, dns6, dnsaddr}/{address}/{tcp, udp}/{port}".');return{family:t,host:n,transport:e,port:o}}protos(){return this.#e.map(([t])=>Object.assign({},k(t)))}protoCodes(){return this.#e.map(([t])=>t)}protoNames(){return this.#e.map(([t])=>k(t).name)}tuples(){return this.#e}stringTuples(){return this.#r}encapsulate(t){return t=new r(t),new r(this.toString()+t.toString())}decapsulate(t){let e=t.toString(),n=this.toString(),o=n.lastIndexOf(e);if(o<0)throw new Error(`Address ${this.toString()} does not contain subaddress: ${t.toString()}`);return new r(n.slice(0,o))}decapsulateCode(t){let e=this.tuples();for(let n=e.length-1;n>=0;n--)if(e[n][0]===t)return new r($o(e.slice(0,n)));return this}getPeerId(){try{let t=[];this.stringTuples().forEach(([n,o])=>{n===Oe.p2p.code&&t.push([n,o]),n===Oe["p2p-circuit"].code&&(t=[])});let e=t.pop();if(e?.[1]!=null){let n=e[1];return n[0]==="Q"||n[0]==="1"?W(K.decode(`z${n}`),"base58btc"):W(Q.parse(n).multihash.bytes,"base58btc")}return null}catch{return null}}getPath(){return this.#n}equals(t){return Dt(this.bytes,t.bytes)}async resolve(t){let e=this.protos().find(i=>i.resolvable);if(e==null)return[this];let n=Gs.get(e.name);if(n==null)throw new E(`no available resolver for ${e.name}`,"ERR_NO_AVAILABLE_RESOLVER");return(await n(this,t)).map(i=>et(i))}nodeAddress(){let t=this.toOptions();if(t.transport!=="tcp"&&t.transport!=="udp")throw new Error(`multiaddr must have a valid format - no protocol with name: "${t.transport}". Must have a valid transport protocol: "{tcp, udp}"`);return{family:t.family,address:t.host,port:t.port}}isThinWaistAddress(t){let e=(t??this).protos();return!(e.length!==2||e[0].code!==4&&e[0].code!==41||e[1].code!==6&&e[1].code!==273)}[tl](){return`Multiaddr(${this.#t})`}};var Gs=new Map;function nn(r){return!!r?.[Go]}function et(r){return new rn(r)}var rl=b("dns4"),nl=b("dns6"),ol=b("dnsaddr"),ye=q(b("dns"),ol,rl,nl),cn=q(b("ip4"),b("ip6")),ne=q(T(cn,b("tcp")),T(ye,b("tcp"))),an=T(cn,b("udp")),il=T(an,b("utp")),sl=T(an,b("quic")),cl=T(an,b("quic-v1")),Ho=q(T(ne,b("ws")),T(ye,b("ws"))),on=q(T(Ho,b("p2p")),Ho),zo=q(T(ne,b("wss")),T(ye,b("wss")),T(ne,b("tls"),b("ws")),T(ye,b("tls"),b("ws"))),sn=q(T(zo,b("p2p")),zo),qo=q(T(ne,b("http")),T(cn,b("http")),T(ye,b("http"))),Wo=q(T(ne,b("https")),T(cn,b("https")),T(ye,b("https"))),Hs=T(an,b("webrtc-direct"),b("certhash")),Ws=q(T(Hs,b("p2p")),Hs),zs=T(cl,b("webtransport"),b("certhash"),b("certhash")),Ys=q(T(zs,b("p2p")),zs),Zs=q(T(on,b("p2p-webrtc-star"),b("p2p")),T(sn,b("p2p-webrtc-star"),b("p2p")),T(on,b("p2p-webrtc-star")),T(sn,b("p2p-webrtc-star"))),Kg=q(T(on,b("p2p-websocket-star"),b("p2p")),T(sn,b("p2p-websocket-star"),b("p2p")),T(on,b("p2p-websocket-star")),T(sn,b("p2p-websocket-star"))),Xs=q(T(qo,b("p2p-webrtc-direct"),b("p2p")),T(Wo,b("p2p-webrtc-direct"),b("p2p")),T(qo,b("p2p-webrtc-direct")),T(Wo,b("p2p-webrtc-direct"))),be=q(Ho,zo,qo,Wo,Zs,Xs,ne,il,sl,ye,Ws,Ys),Vg=q(T(be,b("p2p-stardust"),b("p2p")),T(be,b("p2p-stardust"))),re=q(T(be,b("p2p")),Zs,Xs,Ws,Ys,b("p2p")),qs=q(T(re,b("p2p-circuit"),re),T(re,b("p2p-circuit")),T(b("p2p-circuit"),re),T(be,b("p2p-circuit")),T(b("p2p-circuit"),be),b("p2p-circuit")),Js=()=>q(T(qs,Js),qs),ge=Js(),Fg=q(T(ge,re,ge),T(re,ge),T(ge,re),ge,re);var $g=q(T(ge,b("webrtc"),b("p2p")),T(ge,b("webrtc")),T(be,b("webrtc"),b("p2p")),T(be,b("webrtc")),b("webrtc"));function Qs(r){function t(e){let n;try{n=et(e)}catch{return!1}let o=r(n.protoNames());return o===null?!1:o===!0||o===!1?o:o.length===0}return t}function T(...r){function t(e){if(e.length(n=typeof o=="function"?o().partialMatch(e):o.partialMatch(e),Array.isArray(n)&&(e=n),n===null)),n}return{toString:function(){return"{ "+r.join(" ")+" }"},input:r,matches:Qs(t),partialMatch:t}}function q(...r){function t(n){let o=null;return r.some(i=>{let s=typeof i=="function"?i().partialMatch(n):i.partialMatch(n);return s!=null?(o=s,!0):!1}),o}return{toString:function(){return"{ "+r.join(" ")+" }"},input:r,matches:Qs(t),partialMatch:t}}function b(r){let t=r;function e(o){let i;try{i=et(o)}catch{return!1}let s=i.protoNames();return s.length===1&&s[0]===t}function n(o){return o.length===0?null:o[0]===t?o.slice(1):null}return{toString:function(){return t},matches:e,partialMatch:n}}var un=class extends Event{type;detail;constructor(t,e){super(t),this.type=t,this.detail=e}};var oc=dt(Y("net"),1);var Yo={ERR_INVALID_IP_PARAMETER:"ERR_INVALID_IP_PARAMETER",ERR_INVALID_PORT_PARAMETER:"ERR_INVALID_PORT_PARAMETER",ERR_INVALID_IP:"ERR_INVALID_IP"};function js(r,t){if(typeof r!="string")throw new E(`invalid ip provided: ${r}`,Yo.ERR_INVALID_IP_PARAMETER);if(typeof t=="string"&&(t=parseInt(t)),isNaN(t))throw new E(`invalid port provided: ${t}`,Yo.ERR_INVALID_PORT_PARAMETER);if((0,vt.isIPv4)(r))return et(`/ip4/${r}/tcp/${t}`);if((0,vt.isIPv6)(r))return et(`/ip6/${r}/tcp/${t}`);throw new E(`invalid ip:port for creating a multiaddr: ${r}:${t}`,Yo.ERR_INVALID_IP)}function tc(r){if(ll(r))return async function*(){let t=r.getReader();try{for(;;){let{done:e,value:n}=await t.read();if(e)return;yield n}}finally{t.releaseLock()}}();if(ul(r))return r;throw new Error("unknown stream")}function ul(r){return r[Symbol.asyncIterator]!=null}function ll(r){return typeof r?.getReader=="function"}function ec(r){return async t=>{let e=async()=>{fl(t)&&await t.return(void 0)},n,o,i=m=>{n=m,e().catch(w=>{w=new AggregateError([n,w],"The Writable emitted an error, additionally an error occurred while ending the Source")}).finally(()=>{o?.(m)})},s,c=!1,a=()=>{c=!0,s?.()},d,l=!1,u=()=>{l=!0,d?.()},g,y=()=>{g?.()},h=async()=>new Promise((m,w)=>{s=g=m,o=w,r.once("drain",y)}),f=async()=>(await e(),new Promise((m,w)=>{if(c||l||n!=null){m();return}d=s=m,o=w})),p=()=>{r.removeListener("error",i),r.removeListener("close",a),r.removeListener("finish",u),r.removeListener("drain",y)};r.once("error",i),r.once("close",a),r.once("finish",u);try{for await(let m of t){if(!r.writable||r.destroyed||n!=null)break;r.write(m)||await h()}}catch(m){n==null&&r.destroy(m),n=m}try{if(r.writable&&r.end(),await f(),n!=null)throw n}finally{p()}}}function fl(r){return r.return!=null}function Zo(r){return{sink:ec(r),source:tc(r)}}var Xo=dt(Y("os"),1),rc=dt(Y("path"),1);var dl={ip4:"IPv4",ip6:"IPv6"};function Ue(r,t={}){let e=r.getPath();return e!=null?Xo.default.platform()==="win32"?{path:rc.default.join("\\\\.\\pipe\\",e)}:{path:e}:{...t,...r.toOptions()}}function Jo(r,t,e){let n=o=>et(`/${r}/${o}/tcp/${e}`);return(hl(t)?ml(dl[r]):[t]).map(n)}function hl(r){return["0.0.0.0","::"].includes(r)}var pl=Xo.default.networkInterfaces();function ml(r){let t=[];for(let[,e]of Object.entries(pl))if(e!=null)for(let n of e)n.family===r&&t.push(n.address);return t}var ln=(r,t)=>{let e=null,n=t.logger.forComponent("libp2p:tcp:socket"),o=t.metrics,i=t.metricPrefix??"",s=t.socketInactivityTimeout??3e5,c=t.socketCloseTimeout??500;t.listeningAddr?.getPath()!=null&&(t.remoteAddr=t.listeningAddr),t.remoteAddr?.getPath()!=null&&(t.localAddr=t.remoteAddr);let a;if(t.remoteAddr!=null)a=t.remoteAddr;else{if(r.remoteAddress==null||r.remotePort==null)throw new E("Could not determine remote address or port","ERR_NO_REMOTE_ADDRESS");a=js(r.remoteAddress,r.remotePort)}let d=Ue(a),l=d.path??`${d.host??""}:${d.port??""}`,{sink:u,source:g}=Zo(r);r.setTimeout(s,()=>{n("%s socket read timeout",l),o?.increment({[`${i}timeout`]:!0});let h;r.readable&&(h=new E("Socket read timeout","ERR_SOCKET_READ_TIMEOUT")),r.destroy(h)}),r.once("close",()=>{n("%s socket close",l),o?.increment({[`${i}close`]:!0}),y.timeline.close==null&&(y.timeline.close=Date.now())}),r.once("end",()=>{n("%s socket end",l),o?.increment({[`${i}end`]:!0})});let y={async sink(h){try{await u(async function*(){for await(let f of h)f instanceof Uint8Array?yield f:yield f.subarray()}())}catch(f){f.type!=="aborted"&&n.error("%s error in sink",l,f)}r.end()},source:g,remoteAddr:a,timeline:{open:Date.now()},async close(h={}){if(r.destroyed){n("The %s socket is destroyed",l);return}if(e!=null)return n("The %s socket is closed or closing",l),e;if(h.signal==null){let p=AbortSignal.timeout(c);h={...h,signal:p}}let f=()=>{r.destroy(new E("Destroying socket after timeout","ERR_CLOSE_TIMEOUT"))};h.signal?.addEventListener("abort",f);try{n("%s closing socket",l),e=new Promise((p,m)=>{r.once("close",()=>{n("%s socket closed",l),p()}),r.once("error",w=>{n("%s socket error",l,w),y.timeline.close==null&&(y.timeline.close=Date.now()),r.destroyed||m(w)}),r.setTimeout(c),r.end(),r.writableLength>0?r.once("drain",()=>{n("%s socket drained",l),r.destroy()}):r.destroy()}),await e}catch(p){this.abort(p)}finally{h.signal?.removeEventListener("abort",f)}},abort:h=>{n("%s socket abort due to error",l,h),r.destroyed||r.destroy(h),y.timeline.close==null&&(y.timeline.close=Date.now())},log:n};return y};async function nc(r,t){try{await r.close()}catch(e){t.log.error("an error occurred closing the connection",e),r.abort(e)}}var tt;(function(r){r[r.INACTIVE=0]="INACTIVE",r[r.ACTIVE=1]="ACTIVE",r[r.PAUSED=2]="PAUSED"})(tt||(tt={}));var fn=class extends kr{context;server;connections=new Set;status={code:tt.INACTIVE};metrics;addr;log;constructor(t){if(super(),this.context=t,t.keepAlive=t.keepAlive??!0,t.noDelay=t.noDelay??!0,this.log=t.logger.forComponent("libp2p:tcp:listener"),this.addr="unknown",this.server=oc.default.createServer(t,this.onSocket.bind(this)),t.maxConnections!==void 0&&(this.server.maxConnections=t.maxConnections),t.closeServerOnMaxConnections!=null&&t.closeServerOnMaxConnections.closeAbove= listenBelow","ERR_CONNECTION_LIMITS");this.server.on("listening",()=>{if(t.metrics!=null){let e=this.server.address();e==null?this.addr="unknown":typeof e=="string"?this.addr=e:this.addr=`${e.address}:${e.port}`,t.metrics?.registerMetricGroup("libp2p_tcp_inbound_connections_total",{label:"address",help:"Current active connections in TCP listener",calculate:()=>({[this.addr]:this.connections.size})}),this.metrics={status:t.metrics.registerMetricGroup("libp2p_tcp_listener_status_info",{label:"address",help:"Current status of the TCP listener socket"}),errors:t.metrics.registerMetricGroup("libp2p_tcp_listener_errors_total",{label:"address",help:"Total count of TCP listener errors by type"}),events:t.metrics.registerMetricGroup("libp2p_tcp_listener_events_total",{label:"address",help:"Total count of TCP listener events by type"})},this.metrics?.status.update({[this.addr]:tt.ACTIVE})}this.safeDispatchEvent("listening")}).on("error",e=>{this.metrics?.errors.increment({[`${this.addr} listen_error`]:!0}),this.safeDispatchEvent("error",{detail:e})}).on("close",()=>{this.metrics?.status.update({[this.addr]:this.status.code}),this.status.code!==tt.PAUSED&&this.safeDispatchEvent("close")})}onSocket(t){if(this.status.code!==tt.ACTIVE)throw new E("Server is not listening yet","ERR_SERVER_NOT_RUNNING");t.on("error",n=>{this.log("socket error",n),this.metrics?.events.increment({[`${this.addr} error`]:!0})});let e;try{e=ln(t,{listeningAddr:this.status.listeningAddr,socketInactivityTimeout:this.context.socketInactivityTimeout,socketCloseTimeout:this.context.socketCloseTimeout,metrics:this.metrics?.events,metricPrefix:`${this.addr} `,logger:this.context.logger})}catch(n){this.log.error("inbound connection failed",n),this.metrics?.errors.increment({[`${this.addr} inbound_to_connection`]:!0});return}this.log("new inbound connection %s",e.remoteAddr);try{this.context.upgrader.upgradeInbound(e).then(n=>{this.log("inbound connection upgraded %s",e.remoteAddr),this.connections.add(e),t.once("close",()=>{this.connections.delete(e),this.context.closeServerOnMaxConnections!=null&&this.connections.size{this.log.error("error attempting to listen server once connection count under limit",o),this.context.closeServerOnMaxConnections?.onListenError?.(o)})}),this.context.handler!=null&&this.context.handler(n),this.context.closeServerOnMaxConnections!=null&&this.connections.size>=this.context.closeServerOnMaxConnections.closeAbove&&this.pause(!1).catch(o=>{this.log.error("error attempting to close server once connection count over limit",o)}),this.safeDispatchEvent("connection",{detail:n})}).catch(async n=>{this.log.error("inbound connection failed",n),this.metrics?.errors.increment({[`${this.addr} inbound_upgrade`]:!0}),await nc(e,{log:this.log})}).catch(n=>{this.log.error("closing inbound connection failed",n)})}catch(n){this.log.error("inbound connection failed",n),nc(e,{log:this.log}).catch(o=>{this.log.error("closing inbound connection failed",o),this.metrics?.errors.increment({[`${this.addr} inbound_closing_failed`]:!0})})}}getAddrs(){if(this.status.code===tt.INACTIVE)return[];let t=[],e=this.server.address(),{listeningAddr:n,peerId:o}=this.status;if(e==null)return[];if(typeof e=="string")t=[n];else try{n.toString().startsWith("/ip4")?t=t.concat(Jo("ip4",e.address,e.port)):e.family==="IPv6"&&(t=t.concat(Jo("ip6",e.address,e.port)))}catch(i){this.log.error("could not turn %s:%s into multiaddr",e.address,e.port,i)}return t.map(i=>o!=null?i.encapsulate(`/p2p/${o}`):i)}async listen(t){if(this.status.code===tt.ACTIVE||this.status.code===tt.PAUSED)throw new E("server is already listening","ERR_SERVER_ALREADY_LISTENING");let e=t.getPeerId(),n=e==null?t.decapsulateCode(421):t,{backlog:o}=this.context;try{this.status={code:tt.ACTIVE,listeningAddr:n,peerId:e,netConfig:Ue(n,{backlog:o})},await this.resume()}catch(i){throw this.status={code:tt.INACTIVE},i}}async close(){let t=new E("Listener is closing","ERR_LISTENER_CLOSING");this.connections.forEach(e=>{e.abort(t)}),await this.pause(!0)}async resume(){if(this.server.listening||this.status.code===tt.INACTIVE)return;let t=this.status.netConfig;await new Promise((e,n)=>{this.server.once("error",n),this.server.listen(t,e)}),this.status={...this.status,code:tt.ACTIVE},this.log("listening on %s",this.server.address())}async pause(t){if(!this.server.listening&&this.status.code===tt.PAUSED&&t){this.status={code:tt.INACTIVE};return}!this.server.listening||this.status.code!==tt.ACTIVE||(this.log("closing server on %s",this.server.address()),this.status=t?{code:tt.INACTIVE}:{...this.status,code:tt.PAUSED},await new Promise((e,n)=>{this.server.close(o=>{if(o!=null){n(o);return}e()})}))}};var Qo=class{opts;metrics;components;log;constructor(t,e={}){this.log=t.logger.forComponent("libp2p:tcp"),this.opts=e,this.components=t,t.metrics!=null&&(this.metrics={dialerEvents:t.metrics.registerCounterGroup("libp2p_tcp_dialer_events_total",{label:"event",help:"Total count of TCP dialer events by type"})})}[qi]=!0;[Symbol.toStringTag]="@libp2p/tcp";[Zi]=["@libp2p/transport"];async dial(t,e){e.keepAlive=e.keepAlive??!0,e.noDelay=e.noDelay??!0;let n=await this._connect(t,e);n.on("error",c=>{this.log("socket error",c)});let o=ln(n,{remoteAddr:t,socketInactivityTimeout:this.opts.outboundSocketInactivityTimeout,socketCloseTimeout:this.opts.socketCloseTimeout,metrics:this.metrics?.dialerEvents,logger:this.components.logger}),i=()=>{o.close().catch(c=>{this.log.error("Error closing maConn after abort",c)})};e.signal?.addEventListener("abort",i,{once:!0}),this.log("new outbound connection %s",o.remoteAddr);let s=await e.upgrader.upgradeOutbound(o);if(this.log("outbound connection %s upgraded",o.remoteAddr),e.signal?.removeEventListener("abort",i),e.signal?.aborted===!0)throw s.close().catch(c=>{this.log.error("Error closing conn after abort",c)}),new ze;return s}async _connect(t,e){return e.signal?.throwIfAborted(),e.onProgress?.(new un("tcp:open-connection")),new Promise((n,o)=>{let i=Date.now(),s=Ue(t,{...this.opts.dialOpts??{},...e});this.log("dialing %a",t);let c=ic.default.connect(s),a=y=>{let h=s.path??`${s.host??""}:${s.port}`;y.message=`connection error ${h}: ${y.message}`,this.metrics?.dialerEvents.increment({error:!0}),g(y)},d=()=>{this.log("connection timeout %a",t),this.metrics?.dialerEvents.increment({timeout:!0});let y=new E(`connection timeout after ${Date.now()-i}ms`,"ERR_CONNECT_TIMEOUT");c.emit("error",y)},l=()=>{this.log("connection opened %a",t),this.metrics?.dialerEvents.increment({connect:!0}),g()},u=()=>{this.log("connection aborted %a",t),this.metrics?.dialerEvents.increment({abort:!0}),c.destroy(),g(new ze)},g=y=>{if(c.removeListener("error",a),c.removeListener("timeout",d),c.removeListener("connect",l),e.signal!=null&&e.signal.removeEventListener("abort",u),y!=null){o(y);return}n(c)};c.on("error",a),c.on("timeout",d),c.on("connect",l),e.signal!=null&&e.signal.addEventListener("abort",u)})}createListener(t){return new fn({...this.opts.listenOpts??{},...t,maxConnections:this.opts.maxConnections,backlog:this.opts.backlog,closeServerOnMaxConnections:this.opts.closeServerOnMaxConnections,socketInactivityTimeout:this.opts.inboundSocketInactivityTimeout,socketCloseTimeout:this.opts.socketCloseTimeout,metrics:this.components.metrics,logger:this.components.logger})}listenFilter(t){return t=Array.isArray(t)?t:[t],t.filter(e=>e.protoCodes().includes(290)?!1:e.protoCodes().includes(400)?!0:ne.matches(e.decapsulateCode(421)))}dialFilter(t){return this.listenFilter(t)}};function sc(r={}){return t=>new Qo(t,r)}function cc(r,t){let e=_r(r,t),n={read:async(o,i)=>{let s=await e.read(i);return o.decode(s)},write:async(o,i,s)=>{await e.write(i.encode(o),s)},writeV:async(o,i,s)=>{await e.writeV(o.map(c=>i.encode(c)),s)},pb:o=>({read:async i=>n.read(o,i),write:async(i,s)=>n.write(i,o,s),writeV:async(i,s)=>n.writeV(i,o,s),unwrap:()=>n}),unwrap:()=>e.unwrap()};return n}var yl=ue("libp2p:daemon-client:dht"),dn=class{client;constructor(t){this.client=t}async put(t,e){if(!(t instanceof Uint8Array))throw new E("invalid key received","ERR_INVALID_KEY");if(!(e instanceof Uint8Array))throw new E("value received is not a Uint8Array","ERR_INVALID_VALUE");let n=await this.client.send({type:H.Type.DHT,dht:{type:Et.Type.PUT_VALUE,key:t,value:e}}),o=await n.read(B);if(yl("read",o),await n.unwrap().close(),o.type!==B.Type.OK)throw new E(o.error?.msg??"DHT put failed","ERR_DHT_PUT_FAILED")}async get(t){if(!(t instanceof Uint8Array))throw new E("invalid key received","ERR_INVALID_KEY");let e=await this.client.send({type:H.Type.DHT,dht:{type:Et.Type.GET_VALUE,key:t}}),n=await e.read(B);if(await e.unwrap().close(),n.type!==B.Type.OK)throw new E(n.error?.msg??"DHT get failed","ERR_DHT_GET_FAILED");if(n.dht?.value==null)throw new E("Invalid DHT get response","ERR_DHT_GET_FAILED");return n.dht.value}async findPeer(t){if(!De(t))throw new E("invalid peer id received","ERR_INVALID_PEER_ID");let e=await this.client.send({type:H.Type.DHT,dht:{type:Et.Type.FIND_PEER,peer:t.toMultihash().bytes}}),n=await e.read(B);if(await e.unwrap().close(),n.type!==B.Type.OK)throw new E(n.error?.msg??"DHT find peer failed","ERR_DHT_FIND_PEER_FAILED");if(n.dht?.peer?.addrs==null)throw new E("Invalid response","ERR_DHT_FIND_PEER_FAILED");return{id:Vt(ut(n.dht.peer.id)),multiaddrs:n.dht.peer.addrs.map(o=>et(o))}}async provide(t){if(t==null||Q.asCID(t)==null)throw new E("invalid cid received","ERR_INVALID_CID");let e=await this.client.send({type:H.Type.DHT,dht:{type:Et.Type.PROVIDE,cid:t.bytes}}),n=await e.read(B);if(await e.unwrap().close(),n.type!==B.Type.OK)throw new E(n.error?.msg??"DHT provide failed","ERR_DHT_PROVIDE_FAILED")}async*findProviders(t,e=1){if(t==null||Q.asCID(t)==null)throw new E("invalid cid received","ERR_INVALID_CID");let n=await this.client.send({type:H.Type.DHT,dht:{type:Et.Type.FIND_PROVIDERS,cid:t.bytes,count:e}}),o=await n.read(B);if(o.type!==B.Type.OK)throw await n.unwrap().close(),new E(o.error?.msg??"DHT find providers failed","ERR_DHT_FIND_PROVIDERS_FAILED");for(;;){let i=await n.read(Lt);if(i.type===Lt.Type.END){await n.unwrap().close();return}if(i.type===Lt.Type.VALUE&&i.peer?.addrs!=null)yield{id:Vt(ut(i.peer.id)),multiaddrs:i.peer.addrs.map(s=>et(s))};else throw await n.unwrap().close(),new E("unexpected message received","ERR_UNEXPECTED_MESSAGE_RECEIVED")}}async*getClosestPeers(t){if(!(t instanceof Uint8Array))throw new E("invalid key received","ERR_INVALID_KEY");let e=await this.client.send({type:H.Type.DHT,dht:{type:Et.Type.GET_CLOSEST_PEERS,key:t}}),n=await e.read(B);if(n.type!==B.Type.OK)throw await e.unwrap().close(),new E(n.error?.msg??"DHT find providers failed","ERR_DHT_FIND_PROVIDERS_FAILED");for(;;){let o=await e.read(Lt);if(o.type===Lt.Type.END){await e.unwrap().close();return}if(o.type===Lt.Type.VALUE&&o.value!=null)yield{id:Vt(ut(o.value)),multiaddrs:[]};else throw await e.unwrap().close(),new E("unexpected message received","ERR_UNEXPECTED_MESSAGE_RECEIVED")}}async getPublicKey(t){if(!De(t))throw new E("invalid peer id received","ERR_INVALID_PEER_ID");let e=await this.client.send({type:H.Type.DHT,dht:{type:Et.Type.GET_PUBLIC_KEY,peer:t.toMultihash().bytes}}),n=await e.read(B);if(await e.unwrap().close(),n.type!==B.Type.OK)throw new E(n.error?.msg??"DHT get public key failed","ERR_DHT_GET_PUBLIC_KEY_FAILED");if(n.dht==null)throw new E("Invalid response","ERR_DHT_GET_PUBLIC_KEY_FAILED");return n.dht.value}};var hn=class{client;constructor(t){this.client=t}async getTopics(){let t=await this.client.send({type:H.Type.PUBSUB,pubsub:{type:Ot.Type.GET_TOPICS}}),e=await t.read(B);if(await t.unwrap().close(),e.type!==B.Type.OK)throw new E(e.error?.msg??"Pubsub get topics failed","ERR_PUBSUB_GET_TOPICS_FAILED");if(e.pubsub?.topics==null)throw new E("Invalid response","ERR_PUBSUB_GET_TOPICS_FAILED");return e.pubsub.topics}async publish(t,e){if(typeof t!="string")throw new E("invalid topic received","ERR_INVALID_TOPIC");if(!(e instanceof Uint8Array))throw new E("data received is not a Uint8Array","ERR_INVALID_DATA");let n=await this.client.send({type:H.Type.PUBSUB,pubsub:{type:Ot.Type.PUBLISH,topic:t,data:e}}),o=await n.read(B);if(await n.unwrap().close(),o.type!==B.Type.OK)throw new E(o.error?.msg??"Pubsub publish failed","ERR_PUBSUB_PUBLISH_FAILED")}async subscribe(t){if(typeof t!="string")throw new E("invalid topic received","ERR_INVALID_TOPIC");let e=await this.client.send({type:H.Type.PUBSUB,pubsub:{type:Ot.Type.SUBSCRIBE,topic:t}}),n=await e.read(B);if(n.type!==B.Type.OK)throw new E(n.error?.msg??"Pubsub publish failed","ERR_PUBSUB_PUBLISH_FAILED");let o=!0;return{async*messages(){for(;o;)yield await e.read(pr)},async cancel(){o=!1,await e.unwrap().close()}}}async getSubscribers(t){if(typeof t!="string")throw new E("invalid topic received","ERR_INVALID_TOPIC");let e=await this.client.send({type:H.Type.PUBSUB,pubsub:{type:Ot.Type.LIST_PEERS,topic:t}}),n=await e.read(B);if(await e.unwrap().close(),n.type!==B.Type.OK)throw new E(n.error?.msg??"Pubsub get subscribers failed","ERR_PUBSUB_GET_SUBSCRIBERS_FAILED");if(n.pubsub?.topics==null)throw new E("Invalid response","ERR_PUBSUB_GET_SUBSCRIBERS_FAILED");return n.pubsub.peerIDs.map(o=>Vt(ut(o)))}};var jo=ue("libp2p:daemon-client"),ti=class{multiaddr;dht;pubsub;tcp;constructor(t){this.multiaddr=t,this.tcp=sc()({logger:Mi()}),this.dht=new dn(this),this.pubsub=new hn(this)}async connectDaemon(){return this.tcp.dial(this.multiaddr,{upgrader:lo})}async send(t){let e=await this.connectDaemon(),n=t.pubsub?.type??t.dht?.type??t.peerStore?.type??"";jo("send",t.type,n);let o=cc(e);return await o.write(t,H),o}async connect(t,e){if(!De(t))throw new E("invalid peer id received","ERR_INVALID_PEER_ID");if(!Array.isArray(e))throw new E("addrs received are not in an array","ERR_INVALID_ADDRS_TYPE");e.forEach(i=>{if(!nn(i))throw new E("received an address that is not a multiaddr","ERR_NO_MULTIADDR_RECEIVED")});let n=await this.send({type:H.Type.CONNECT,connect:{peer:t.toMultihash().bytes,addrs:e.map(i=>i.bytes)}}),o=await n.read(B);if(o.type!==B.Type.OK){let i=o.error??{msg:"unspecified"};throw new E(i.msg??"unspecified","ERR_CONNECT_FAILED")}await n.unwrap().close()}async identify(){let t=await this.send({type:H.Type.IDENTIFY}),e=await t.read(B);if(e.type!==B.Type.OK)throw new E(e.error?.msg??"Identify failed","ERR_IDENTIFY_FAILED");if(e.identify?.addrs==null)throw new E("Invalid response","ERR_IDENTIFY_FAILED");let n=Vt(ut(e.identify?.id)),o=e.identify.addrs.map(i=>et(i));return await t.unwrap().close(),{peerId:n,addrs:o}}async listPeers(){let t=await this.send({type:H.Type.LIST_PEERS}),e=await t.read(B);if(e.type!==B.Type.OK)throw new E(e.error?.msg??"List peers failed","ERR_LIST_PEERS_FAILED");return await t.unwrap().close(),e.peers.map(n=>Vt(ut(n.id)))}async openStream(t,e){if(!De(t))throw new E("invalid peer id received","ERR_INVALID_PEER_ID");if(typeof e!="string")throw new E("invalid protocol received","ERR_INVALID_PROTOCOL");let n=await this.send({type:H.Type.STREAM_OPEN,streamOpen:{peer:t.toMultihash().bytes,proto:[e]}}),o=await n.read(B);if(o.type!==B.Type.OK)throw await n.unwrap().close(),new E(o.error?.msg??"Open stream failed","ERR_OPEN_STREAM_FAILED");return n.unwrap()}async registerStreamHandler(t,e){if(typeof t!="string")throw new E("invalid protocol received","ERR_INVALID_PROTOCOL");let n=this.tcp.createListener({upgrader:lo,handler:c=>{Promise.resolve().then(async()=>{let a=new Br({stream:c}),d=await a.read();if(d==null)throw new E("Could not read open stream response","ERR_OPEN_STREAM_FAILED");if(Te.decode(d).proto!==t)throw new E("Incorrect protocol","ERR_OPEN_STREAM_FAILED");await e(a.rest())}).catch(a=>{c.abort(a)}).finally(()=>{c.close().catch(a=>{jo.error(a)}),n.close().catch(a=>{jo.error(a)})})}});await n.listen(et("/ip4/127.0.0.1/tcp/0"));let o=n.getAddrs()[0];if(o==null)throw new E("Could not listen on port","ERR_REGISTER_STREAM_HANDLER_FAILED");let i=await this.send({type:H.Type.STREAM_HANDLER,streamHandler:{addr:o.bytes,proto:[t]}}),s=await i.read(B);if(await i.unwrap().close(),s.type!==B.Type.OK)throw new E(s.error?.msg??"Register stream handler failed","ERR_REGISTER_STREAM_HANDLER_FAILED")}};function bl(r){return new ti(r)}return hc(wl);})(); ++`+i),r.push(o+"m+"+vr(this.diff)+"\x1B[0m")}else r[0]=qa()+t+" "+r[0]}function qa(){return Be.hideDate!=null?"":new Date().toISOString()+" "}function Wa(...r){return process.stderr.write(Tr.default.format(...r)+` ++`)}function Ya(r){r!=null?process.env.DEBUG=r:delete process.env.DEBUG}function Za(){return process.env.DEBUG}function Xa(r){r.inspectOpts={};let t=Object.keys(Be);for(let e=0;ee.trim()).join(" ")},r.O=function(t){return this.inspectOpts.colors=this.useColors,Tr.default.inspect(t,this.inspectOpts)}}var $i=ao({init:Xa,log:Wa,formatArgs:Ha,save:Ya,load:Za,useColors:za,setupFormatters:Ja,colors:Ki,inspectOpts:Be});var gt=$i;gt.formatters.b=r=>r==null?"undefined":$.baseEncode(r);gt.formatters.t=r=>r==null?"undefined":Bt.baseEncode(r);gt.formatters.m=r=>r==null?"undefined":Fn.baseEncode(r);gt.formatters.p=r=>r==null?"undefined":r.toString();gt.formatters.c=r=>r==null?"undefined":r.toString();gt.formatters.k=r=>r==null?"undefined":r.toString();gt.formatters.a=r=>r==null?"undefined":r.toString();function Qa(r){let t=()=>{};return t.enabled=!1,t.color="",t.diff=0,t.log=()=>{},t.namespace=r,t.destroy=()=>!0,t.extend=()=>t,t}function Vi(){return{forComponent(r){return fe(r)}}}function fe(r){let t=Qa(`${r}:trace`);return gt.enabled(`${r}:trace`)&>.names.map(e=>e.toString()).find(e=>e.includes(":trace"))!=null&&(t=gt(`${r}:trace`)),Object.assign(gt(r),{error:gt(`${r}:error`),trace:t})}function Ce(){let r={};return r.promise=new Promise((t,e)=>{r.resolve=t,r.reject=e}),r}var Lr=class extends Error{type;code;constructor(t,e,n){super(t??"The operation was aborted"),this.type="aborted",this.name=n??"AbortError",this.code=e??"ABORT_ERR"}};async function Fi(r,t,e){if(t==null)return r;if(t.aborted)return Promise.reject(new Lr(e?.errorMessage,e?.errorCode,e?.errorName));let n,o=new Lr(e?.errorMessage,e?.errorCode,e?.errorName);try{return await Promise.race([r,new Promise((i,s)=>{n=()=>{s(o)},t.addEventListener("abort",n)})])}finally{n!=null&&t.removeEventListener("abort",n)}}var uo=class{readNext;haveNext;ended;nextResult;constructor(){this.ended=!1,this.readNext=Ce(),this.haveNext=Ce()}[Symbol.asyncIterator](){return this}async next(){if(this.nextResult==null&&await this.haveNext.promise,this.nextResult==null)throw new Error("HaveNext promise resolved but nextResult was undefined");let t=this.nextResult;return this.nextResult=void 0,this.readNext.resolve(),this.readNext=Ce(),t}async throw(t){return this.ended=!0,t!=null&&(this.haveNext.promise.catch(()=>{}),this.haveNext.reject(t)),{done:!0,value:void 0}}async return(){let t={done:!0,value:void 0};return await this._push(void 0),t}async push(t,e){await this._push(t,e)}async end(t,e){t!=null?await this.throw(t):await this._push(void 0,e)}async _push(t,e){if(t!=null&&this.ended)throw new Error("Cannot push value onto an ended pushable");for(;this.nextResult!=null;)await this.readNext.promise;t!=null?this.nextResult={done:!1,value:t}:(this.ended=!0,this.nextResult={done:!0,value:void 0}),this.haveNext.resolve(),this.haveNext=Ce(),await Fi(this.readNext.promise,e?.signal,e)}};function Gi(){return new uo}var zi=Z("node:buffer");function yt(r,t){return ce(zi.Buffer.concat(r,t))}function Nt(r,t){if(r===t)return!0;if(r.byteLength!==t.byteLength)return!1;for(let e=0;e0&&this.appendAll(t)}*[Symbol.iterator](){yield*this.bufs}get byteLength(){return this.length}append(...t){this.appendAll(t)}appendAll(t){let e=0;for(let n of t)if(n instanceof Uint8Array)e+=n.byteLength,this.bufs.push(n);else if(Br(n))e+=n.byteLength,this.bufs.push(...n.bufs);else throw new Error("Could not append value, must be an Uint8Array or a Uint8ArrayList");this.length+=e}prepend(...t){this.prependAll(t)}prependAll(t){let e=0;for(let n of t.reverse())if(n instanceof Uint8Array)e+=n.byteLength,this.bufs.unshift(n);else if(Br(n))e+=n.byteLength,this.bufs.unshift(...n.bufs);else throw new Error("Could not prepend value, must be an Uint8Array or a Uint8ArrayList");this.length+=e}get(t){let e=Hi(this.bufs,t);return e.buf[e.index]}set(t,e){let n=Hi(this.bufs,t);n.buf[n.index]=e}write(t,e=0){if(t instanceof Uint8Array)for(let n=0;n0;)if(t>=this.bufs[0].byteLength)t-=this.bufs[0].byteLength,this.length-=this.bufs[0].byteLength,this.bufs.shift();else{this.bufs[0]=this.bufs[0].subarray(t),this.length-=t;break}}}slice(t,e){let{bufs:n,length:o}=this._subList(t,e);return yt(n,o)}subarray(t,e){let{bufs:n,length:o}=this._subList(t,e);return n.length===1?n[0]:yt(n,o)}sublist(t,e){let{bufs:n,length:o}=this._subList(t,e),i=new r;return i.length=o,i.bufs=[...n],i}_subList(t,e){if(t=t??0,e=e??this.length,t<0&&(t=this.length+t),e<0&&(e=this.length+e),t<0||e>this.length)throw new RangeError("index is out of bounds");if(t===e)return{bufs:[],length:0};if(t===0&&e===this.length)return{bufs:this.bufs,length:this.length};let n=[],o=0;for(let i=0;i=a)continue;let d=t>=c&&tc&&e<=a;if(d&&l){if(t===c&&e===a){n.push(s);break}let u=t-c;n.push(s.subarray(u,u+(e-t)));break}if(d){if(t===0){n.push(s);continue}n.push(s.subarray(t-c));continue}if(l){if(e===a){n.push(s);break}n.push(s.subarray(0,e-c));break}n.push(s)}return{bufs:n,length:e-t}}indexOf(t,e=0){if(!Br(t)&&!(t instanceof Uint8Array))throw new TypeError('The "value" argument must be a Uint8ArrayList or Uint8Array');let n=t instanceof Uint8Array?t:t.subarray();if(e=Number(e??0),isNaN(e)&&(e=0),e<0&&(e=this.length+e),e<0&&(e=0),t.length===0)return e>this.length?this.length:e;let o=n.byteLength;if(o===0)throw new TypeError("search must be at least 1 byte long");let i=256,s=new Int32Array(i);for(let u=0;u=0;g--){let y=this.get(u+g);if(n[g]!==y){l=Math.max(1,g-c[y]);break}}if(l===0)return u}return-1}getInt8(t){let e=this.subarray(t,t+1);return new DataView(e.buffer,e.byteOffset,e.byteLength).getInt8(0)}setInt8(t,e){let n=xt(1);new DataView(n.buffer,n.byteOffset,n.byteLength).setInt8(0,e),this.write(n,t)}getInt16(t,e){let n=this.subarray(t,t+2);return new DataView(n.buffer,n.byteOffset,n.byteLength).getInt16(0,e)}setInt16(t,e,n){let o=Rt(2);new DataView(o.buffer,o.byteOffset,o.byteLength).setInt16(0,e,n),this.write(o,t)}getInt32(t,e){let n=this.subarray(t,t+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getInt32(0,e)}setInt32(t,e,n){let o=Rt(4);new DataView(o.buffer,o.byteOffset,o.byteLength).setInt32(0,e,n),this.write(o,t)}getBigInt64(t,e){let n=this.subarray(t,t+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getBigInt64(0,e)}setBigInt64(t,e,n){let o=Rt(8);new DataView(o.buffer,o.byteOffset,o.byteLength).setBigInt64(0,e,n),this.write(o,t)}getUint8(t){let e=this.subarray(t,t+1);return new DataView(e.buffer,e.byteOffset,e.byteLength).getUint8(0)}setUint8(t,e){let n=xt(1);new DataView(n.buffer,n.byteOffset,n.byteLength).setUint8(0,e),this.write(n,t)}getUint16(t,e){let n=this.subarray(t,t+2);return new DataView(n.buffer,n.byteOffset,n.byteLength).getUint16(0,e)}setUint16(t,e,n){let o=Rt(2);new DataView(o.buffer,o.byteOffset,o.byteLength).setUint16(0,e,n),this.write(o,t)}getUint32(t,e){let n=this.subarray(t,t+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getUint32(0,e)}setUint32(t,e,n){let o=Rt(4);new DataView(o.buffer,o.byteOffset,o.byteLength).setUint32(0,e,n),this.write(o,t)}getBigUint64(t,e){let n=this.subarray(t,t+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getBigUint64(0,e)}setBigUint64(t,e,n){let o=Rt(8);new DataView(o.buffer,o.byteOffset,o.byteLength).setBigUint64(0,e,n),this.write(o,t)}getFloat32(t,e){let n=this.subarray(t,t+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getFloat32(0,e)}setFloat32(t,e,n){let o=Rt(4);new DataView(o.buffer,o.byteOffset,o.byteLength).setFloat32(0,e,n),this.write(o,t)}getFloat64(t,e){let n=this.subarray(t,t+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getFloat64(0,e)}setFloat64(t,e,n){let o=Rt(8);new DataView(o.buffer,o.byteOffset,o.byteLength).setFloat64(0,e,n),this.write(o,t)}equals(t){if(t==null||!(t instanceof r)||t.bufs.length!==this.bufs.length)return!1;for(let e=0;eo+i.byteLength,0)),n.length=e,n}};var Cr=class extends Error{name="UnexpectedEOFError";code="ERR_UNEXPECTED_EOF"};var lo=class extends Error{code;constructor(t,e){super(t),this.code=e}},fo=class extends lo{type;constructor(t){super(t,"ABORT_ERR"),this.type="aborted",this.name="AbortError"}};function Wi(r,t){let e=Gi();r.sink(e).catch(async s=>{await e.end(s)}),r.sink=async s=>{for await(let c of s)await e.push(c);await e.end()};let n=r.source;r.source[Symbol.iterator]!=null?n=r.source[Symbol.iterator]():r.source[Symbol.asyncIterator]!=null&&(n=r.source[Symbol.asyncIterator]());let o=new Kt;return{read:async(s,c)=>{c?.signal?.throwIfAborted();let a,d=new Promise((l,u)=>{a=()=>{u(new fo("Read aborted"))},c?.signal?.addEventListener("abort",a)});try{if(s==null){let{done:u,value:g}=await Promise.race([n.next(),d]);return u===!0?new Kt:g}for(;o.byteLength{c?.signal?.throwIfAborted(),s instanceof Uint8Array?await e.push(s,c):await e.push(s.subarray(),c)},unwrap:()=>{if(o.byteLength>0){let s=r.source;r.source=async function*(){t?.yieldBytes===!1?yield o:yield*o,yield*s}()}return r}}}var Pr=class extends Error{name="InvalidMessageLengthError";code="ERR_INVALID_MSG_LENGTH"},Nr=class extends Error{name="InvalidDataLengthError";code="ERR_MSG_DATA_TOO_LONG"},kr=class extends Error{name="InvalidDataLengthLengthError";code="ERR_MSG_LENGTH_TOO_LONG"};function Dr(r,t={}){let e=Wi(r,t);t.maxDataLength!=null&&t.maxLengthLength==null&&(t.maxLengthLength=it(t.maxDataLength));let n=t?.lengthDecoder??Ut,o=t?.lengthEncoder??qt;return{read:async s=>{let c=-1,a=new Kt;for(;;){a.append(await e.read(1,s));try{c=n(a)}catch(d){if(d instanceof RangeError)continue;throw d}if(c<0)throw new Pr("Invalid message length");if(t?.maxLengthLength!=null&&a.byteLength>t.maxLengthLength)throw new kr("message length length too long");if(c>-1)break}if(t?.maxDataLength!=null&&c>t.maxDataLength)throw new Nr("message length too long");return e.read(c,s)},write:async(s,c)=>{await e.write(new Kt(o(s.byteLength),s),c)},writeV:async(s,c)=>{let a=new Kt(...s.flatMap(d=>[o(d.byteLength),d]));await e.write(a,c)},unwrap:()=>e.unwrap()}}var ho=fe("libp2p:daemon-protocol:stream-handler"),Or=class{stream;lp;constructor(t){let{stream:e,maxLength:n}=t;this.stream=e,this.lp=Dr(this.stream,{maxDataLength:n??4096})}async read(){try{return await this.lp.read()}catch(t){ho.error("read received no value",t)}}async write(t){ho("write message"),await this.lp.write(t)}rest(){return this.lp.unwrap()}async close(){ho("closing the stream"),await this.rest().close()}};var po={upgradeInbound:async r=>r,upgradeOutbound:async r=>r};var Rr=Symbol.for("@libp2p/peer-id");function Pe(r){return!!r?.[Rr]}var Zi=Symbol.for("@libp2p/transport");var Yi;(function(r){r[r.FATAL_ALL=0]="FATAL_ALL",r[r.NO_FATAL=1]="NO_FATAL"})(Yi||(Yi={}));var qe=class extends Error{constructor(t="The operation was aborted"){super(t),this.name="AbortError"}},X=class extends Error{code;props;constructor(t,e,n){super(t),this.code=e,this.name=n?.name??"CodeError",this.props=n??{}}};var D=class extends Error{constructor(t="Invalid parameters"){super(t),this.name="InvalidParametersError"}},Ur=class extends Error{constructor(t="Invalid public key"){super(t),this.name="InvalidPublicKeyError"}};var _r=class extends Error{constructor(t="Invalid Multihash"){super(t),this.name="InvalidMultihashError"}};var We=class extends Error{constructor(t="Invalid message"){super(t),this.name="InvalidMessageError"}},Ye=class extends Error{constructor(t="Protocol error"){super(t),this.name="ProtocolError"}};var Ze=class extends Error{constructor(t="Unsupported key type"){super(t),this.name="UnsupportedKeyTypeError"}};var Xi=Z("events"),Ji=(r,...t)=>{try{(0,Xi.setMaxListeners)(r,...t)}catch{}};var Mr=class extends EventTarget{#t=new Map;constructor(){super(),Ji(1/0,this)}listenerCount(t){let e=this.#t.get(t);return e==null?0:e.length}addEventListener(t,e,n){super.addEventListener(t,e,n);let o=this.#t.get(t);o==null&&(o=[],this.#t.set(t,o)),o.push({callback:e,once:(n!==!0&&n!==!1&&n?.once)??!1})}removeEventListener(t,e,n){super.removeEventListener(t.toString(),e??null,n);let o=this.#t.get(t);o!=null&&(o=o.filter(({callback:i})=>i!==e),this.#t.set(t,o))}dispatchEvent(t){let e=super.dispatchEvent(t),n=this.#t.get(t.type);return n==null||(n=n.filter(({once:o})=>!o),this.#t.set(t.type,n)),e}safeDispatchEvent(t,e={}){return this.dispatchEvent(new CustomEvent(t,e))}};var Qi=Symbol.for("@libp2p/service-capabilities"),Yd=Symbol.for("@libp2p/service-dependencies");var Kr=pt(Z("crypto"),1);var ji=Z("node:buffer");function Y(r,t="utf8"){let e=cr[t];if(e==null)throw new Error(`Unsupported encoding "${t}"`);return t==="utf8"||t==="utf-8"?ji.Buffer.from(r.buffer,r.byteOffset,r.byteLength).toString("utf8"):e.encoder.encode(r).substring(1)}var Ih=Kr.default.generateKeyPairSync,Xe=32;var ja=64;function ts(r,t,e){if(r.byteLength!==Xe)throw new TypeError('"key" must be 32 bytes in length.');if(!(r instanceof Uint8Array))throw new TypeError('"key" must be a node.js Buffer, or Uint8Array.');if(t.byteLength!==ja)throw new TypeError('"sig" must be 64 bytes in length.');if(!(t instanceof Uint8Array))throw new TypeError('"sig" must be a node.js Buffer, or Uint8Array.');let n=Kr.default.createPublicKey({format:"jwk",key:{crv:"Ed25519",x:Y(r,"base64url"),kty:"OKP"}});return Kr.default.verify(null,e instanceof Uint8Array?e:e.subarray(),n,t)}var $r=class{type="Ed25519";raw;constructor(t){this.raw=mo(t,Xe)}toMultihash(){return _t.digest(Vr(this))}toCID(){return tt.createV1(114,this.toMultihash())}toString(){return $.encode(this.toMultihash().bytes).substring(1)}equals(t){return t==null||!(t.raw instanceof Uint8Array)?!1:Nt(this.raw,t.raw)}verify(t,e){return ts(this.raw,e,t)}};function rs(r){return r=mo(r,Xe),new $r(r)}function mo(r,t){if(r=Uint8Array.from(r??[]),r.length!==t)throw new D(`Key must be a Uint8Array of length ${t}, got ${r.length}`);return r}var St;(function(r){r.RSA="RSA",r.Ed25519="Ed25519",r.secp256k1="secp256k1"})(St||(St={}));var go;(function(r){r[r.RSA=0]="RSA",r[r.Ed25519=1]="Ed25519",r[r.secp256k1=2]="secp256k1"})(go||(go={}));(function(r){r.codec=()=>Ct(go)})(St||(St={}));var Je;(function(r){let t;r.codec=()=>(t==null&&(t=F((e,n,o={})=>{o.lengthDelimited!==!1&&n.fork(),e.Type!=null&&(n.uint32(8),St.codec().encode(e.Type,n)),e.Data!=null&&(n.uint32(18),n.bytes(e.Data)),o.lengthDelimited!==!1&&n.ldelim()},(e,n,o={})=>{let i={},s=n==null?e.len:e.pos+n;for(;e.pos>>3){case 1:{i.Type=St.codec().decode(e);break}case 2:{i.Data=e.bytes();break}default:{e.skipType(c&7);break}}}return i})),t),r.encode=e=>V(e,r.codec()),r.decode=(e,n)=>K(e,r.codec(),n)})(Je||(Je={}));var yo;(function(r){let t;r.codec=()=>(t==null&&(t=F((e,n,o={})=>{o.lengthDelimited!==!1&&n.fork(),e.Type!=null&&(n.uint32(8),St.codec().encode(e.Type,n)),e.Data!=null&&(n.uint32(18),n.bytes(e.Data)),o.lengthDelimited!==!1&&n.ldelim()},(e,n,o={})=>{let i={},s=n==null?e.len:e.pos+n;for(;e.pos>>3){case 1:{i.Type=St.codec().decode(e);break}case 2:{i.Data=e.bytes();break}default:{e.skipType(c&7);break}}}return i})),t),r.encode=e=>V(e,r.codec()),r.decode=(e,n)=>K(e,r.codec(),n)})(yo||(yo={}));function ns(r){if(!Number.isSafeInteger(r)||r<0)throw new Error(`positive integer expected, not ${r}`)}function ru(r){return r instanceof Uint8Array||r!=null&&typeof r=="object"&&r.constructor.name==="Uint8Array"}function Ne(r,...t){if(!ru(r))throw new Error("Uint8Array expected");if(t.length>0&&!t.includes(r.length))throw new Error(`Uint8Array expected of length ${t}, not of length=${r.length}`)}function os(r){if(typeof r!="function"||typeof r.create!="function")throw new Error("Hash should be wrapped by utils.wrapConstructor");ns(r.outputLen),ns(r.blockLen)}function ke(r,t=!0){if(r.destroyed)throw new Error("Hash instance has been destroyed");if(t&&r.finished)throw new Error("Hash#digest() has already been called")}function is(r,t){Ne(r);let e=t.outputLen;if(r.lengthnew DataView(r.buffer,r.byteOffset,r.byteLength),kt=(r,t)=>r<<32-t|r>>>t;var zh=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;function nu(r){if(typeof r!="string")throw new Error(`utf8ToBytes expected string, got ${typeof r}`);return new Uint8Array(new TextEncoder().encode(r))}function je(r){return typeof r=="string"&&(r=nu(r)),Ne(r),r}function ss(...r){let t=0;for(let n=0;nr().update(je(n)).digest(),e=r();return t.outputLen=e.outputLen,t.blockLen=e.blockLen,t.create=()=>r(),t}function as(r=32){if(Fr&&typeof Fr.getRandomValues=="function")return Fr.getRandomValues(new Uint8Array(r));throw new Error("crypto.getRandomValues must be defined")}var zr=class extends De{constructor(t,e){super(),this.finished=!1,this.destroyed=!1,os(t);let n=je(e);if(this.iHash=t.create(),typeof this.iHash.update!="function")throw new Error("Expected instance of class which extends utils.Hash");this.blockLen=this.iHash.blockLen,this.outputLen=this.iHash.outputLen;let o=this.blockLen,i=new Uint8Array(o);i.set(n.length>o?t.create().update(n).digest():n);for(let s=0;snew zr(r,t).update(e).digest();bo.create=(r,t)=>new zr(r,t);function ou(r,t,e,n){if(typeof r.setBigUint64=="function")return r.setBigUint64(t,e,n);let o=BigInt(32),i=BigInt(4294967295),s=Number(e>>o&i),c=Number(e&i),a=n?4:0,d=n?0:4;r.setUint32(t+a,s,n),r.setUint32(t+d,c,n)}var us=(r,t,e)=>r&t^~r&e,ls=(r,t,e)=>r&t^r&e^t&e,Hr=class extends De{constructor(t,e,n,o){super(),this.blockLen=t,this.outputLen=e,this.padOffset=n,this.isLE=o,this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.buffer=new Uint8Array(t),this.view=Gr(this.buffer)}update(t){ke(this);let{view:e,buffer:n,blockLen:o}=this;t=je(t);let i=t.length;for(let s=0;so-s&&(this.process(n,0),s=0);for(let u=s;ul.length)throw new Error("_sha2: outputLen bigger than state");for(let u=0;u>>3,f=kt(y,17)^kt(y,19)^y>>>10;Qt[u]=f+Qt[u-7]+h+Qt[u-16]|0}let{A:n,B:o,C:i,D:s,E:c,F:a,G:d,H:l}=this;for(let u=0;u<64;u++){let g=kt(c,6)^kt(c,11)^kt(c,25),y=l+g+us(c,a,d)+iu[u]+Qt[u]|0,f=(kt(n,2)^kt(n,13)^kt(n,22))+ls(n,o,i)|0;l=d,d=a,a=c,c=s+y|0,s=i,i=o,o=n,n=y+f|0}n=n+this.A|0,o=o+this.B|0,i=i+this.C|0,s=s+this.D|0,c=c+this.E|0,a=a+this.F|0,d=d+this.G|0,l=l+this.H|0,this.set(n,o,i,s,c,a,d,l)}roundClean(){Qt.fill(0)}destroy(){this.set(0,0,0,0,0,0,0,0),this.buffer.fill(0)}};var fs=cs(()=>new wo);var Ao={};lt(Ao,{aInRange:()=>ee,abool:()=>de,abytes:()=>Oe,bitGet:()=>du,bitLen:()=>fu,bitMask:()=>er,bitSet:()=>hu,bytesToHex:()=>he,bytesToNumberBE:()=>Vt,bytesToNumberLE:()=>Wr,concatBytes:()=>Re,createHmacDrbg:()=>So,ensureBytes:()=>bt,equalBytes:()=>uu,hexToBytes:()=>pe,hexToNumber:()=>Io,inRange:()=>tr,isBytes:()=>jt,memoized:()=>Zr,notImplemented:()=>mu,numberToBytesBE:()=>te,numberToBytesLE:()=>Yr,numberToHexUnpadded:()=>ps,numberToVarBytesBE:()=>au,utf8ToBytes:()=>lu,validateObject:()=>re});var vo=BigInt(0),qr=BigInt(1),su=BigInt(2);function jt(r){return r instanceof Uint8Array||r!=null&&typeof r=="object"&&r.constructor.name==="Uint8Array"}function Oe(r){if(!jt(r))throw new Error("Uint8Array expected")}function de(r,t){if(typeof t!="boolean")throw new Error(`${r} must be valid boolean, got "${t}".`)}var cu=Array.from({length:256},(r,t)=>t.toString(16).padStart(2,"0"));function he(r){Oe(r);let t="";for(let e=0;e=$t._0&&r<=$t._9)return r-$t._0;if(r>=$t._A&&r<=$t._F)return r-($t._A-10);if(r>=$t._a&&r<=$t._f)return r-($t._a-10)}function pe(r){if(typeof r!="string")throw new Error("hex string expected, got "+typeof r);let t=r.length,e=t/2;if(t%2)throw new Error("padded hex string expected, got unpadded hex of length "+t);let n=new Uint8Array(e);for(let o=0,i=0;otypeof r=="bigint"&&vo<=r;function tr(r,t,e){return xo(r)&&xo(t)&&xo(e)&&t<=r&&rvo;r>>=qr,t+=1);return t}function du(r,t){return r>>BigInt(t)&qr}function hu(r,t,e){return r|(e?qr:vo)<(su<new Uint8Array(r),hs=r=>Uint8Array.from(r);function So(r,t,e){if(typeof r!="number"||r<2)throw new Error("hashLen must be a number");if(typeof t!="number"||t<2)throw new Error("qByteLen must be a number");if(typeof e!="function")throw new Error("hmacFn must be a function");let n=Eo(r),o=Eo(r),i=0,s=()=>{n.fill(1),o.fill(0),i=0},c=(...u)=>e(o,n,...u),a=(u=Eo())=>{o=c(hs([0]),u),n=c(),u.length!==0&&(o=c(hs([1]),u),n=c())},d=()=>{if(i++>=1e3)throw new Error("drbg: tried 1000 values");let u=0,g=[];for(;u{s(),a(u);let y;for(;!(y=g(d()));)a();return s(),y}}var pu={bigint:r=>typeof r=="bigint",function:r=>typeof r=="function",boolean:r=>typeof r=="boolean",string:r=>typeof r=="string",stringOrUint8Array:r=>typeof r=="string"||jt(r),isSafeInteger:r=>Number.isSafeInteger(r),array:r=>Array.isArray(r),field:(r,t)=>t.Fp.isValid(r),hash:r=>typeof r=="function"&&Number.isSafeInteger(r.outputLen)};function re(r,t,e={}){let n=(o,i,s)=>{let c=pu[i];if(typeof c!="function")throw new Error(`Invalid validator "${i}", expected function`);let a=r[o];if(!(s&&a===void 0)&&!c(a,r))throw new Error(`Invalid param ${String(o)}=${a} (${typeof a}), expected ${i}`)};for(let[o,i]of Object.entries(t))n(o,i,!1);for(let[o,i]of Object.entries(e))n(o,i,!0);return r}var mu=()=>{throw new Error("not implemented")};function Zr(r){let t=new WeakMap;return(e,...n)=>{let o=t.get(e);if(o!==void 0)return o;let i=r(e,...n);return t.set(e,i),i}}var J=BigInt(0),q=BigInt(1),me=BigInt(2),gu=BigInt(3),To=BigInt(4),ms=BigInt(5),gs=BigInt(8),yu=BigInt(9),bu=BigInt(16);function ct(r,t){let e=r%t;return e>=J?e:t+e}function wu(r,t,e){if(e<=J||t 0");if(e===q)return J;let n=q;for(;t>J;)t&q&&(n=n*r%e),r=r*r%e,t>>=q;return n}function wt(r,t,e){let n=r;for(;t-- >J;)n*=n,n%=e;return n}function Xr(r,t){if(r===J||t<=J)throw new Error(`invert: expected positive integers, got n=${r} mod=${t}`);let e=ct(r,t),n=t,o=J,i=q,s=q,c=J;for(;e!==J;){let d=n/e,l=n%e,u=o-s*d,g=i-c*d;n=e,e=l,o=s,i=c,s=u,c=g}if(n!==q)throw new Error("invert: does not exist");return ct(o,t)}function xu(r){let t=(r-q)/me,e,n,o;for(e=r-q,n=0;e%me===J;e/=me,n++);for(o=me;o(n[o]="function",n),t);return re(r,e)}function Iu(r,t,e){if(e 0");if(e===J)return r.ONE;if(e===q)return t;let n=r.ONE,o=t;for(;e>J;)e&q&&(n=r.mul(n,o)),o=r.sqr(o),e>>=q;return n}function Su(r,t){let e=new Array(t.length),n=t.reduce((i,s,c)=>r.is0(s)?i:(e[c]=i,r.mul(i,s)),r.ONE),o=r.inv(n);return t.reduceRight((i,s,c)=>r.is0(s)?i:(e[c]=r.mul(i,e[c]),r.mul(i,s)),o),e}function Bo(r,t){let e=t!==void 0?t:r.toString(2).length,n=Math.ceil(e/8);return{nBitLength:e,nByteLength:n}}function ys(r,t,e=!1,n={}){if(r<=J)throw new Error(`Expected Field ORDER > 0, got ${r}`);let{nBitLength:o,nByteLength:i}=Bo(r,t);if(i>2048)throw new Error("Field lengths over 2048 bytes are not supported");let s=Eu(r),c=Object.freeze({ORDER:r,BITS:o,BYTES:i,MASK:er(o),ZERO:J,ONE:q,create:a=>ct(a,r),isValid:a=>{if(typeof a!="bigint")throw new Error(`Invalid field element: expected bigint, got ${typeof a}`);return J<=a&&aa===J,isOdd:a=>(a&q)===q,neg:a=>ct(-a,r),eql:(a,d)=>a===d,sqr:a=>ct(a*a,r),add:(a,d)=>ct(a+d,r),sub:(a,d)=>ct(a-d,r),mul:(a,d)=>ct(a*d,r),pow:(a,d)=>Iu(c,a,d),div:(a,d)=>ct(a*Xr(d,r),r),sqrN:a=>a*a,addN:(a,d)=>a+d,subN:(a,d)=>a-d,mulN:(a,d)=>a*d,inv:a=>Xr(a,r),sqrt:n.sqrt||(a=>s(c,a)),invertBatch:a=>Su(c,a),cmov:(a,d,l)=>l?d:a,toBytes:a=>e?Yr(a,i):te(a,i),fromBytes:a=>{if(a.length!==i)throw new Error(`Fp.fromBytes: expected ${i}, got ${a.length}`);return e?Wr(a):Vt(a)}});return Object.freeze(c)}function bs(r){if(typeof r!="bigint")throw new Error("field order must be bigint");let t=r.toString(2).length;return Math.ceil(t/8)}function Co(r){let t=bs(r);return t+Math.ceil(t/2)}function ws(r,t,e=!1){let n=r.length,o=bs(t),i=Co(t);if(n<16||n1024)throw new Error(`expected ${i}-1024 bytes of input, got ${n}`);let s=e?Vt(r):Wr(r),c=ct(s,t-q)+q;return e?Yr(c,o):te(c,o)}var Tu=BigInt(0),Po=BigInt(1),No=new WeakMap,xs=new WeakMap;function Es(r,t){let e=(i,s)=>{let c=s.negate();return i?c:s},n=i=>{if(!Number.isSafeInteger(i)||i<=0||i>t)throw new Error(`Wrong window size=${i}, should be [1..${t}]`)},o=i=>{n(i);let s=Math.ceil(t/i)+1,c=2**(i-1);return{windows:s,windowSize:c}};return{constTimeNegate:e,unsafeLadder(i,s){let c=r.ZERO,a=i;for(;s>Tu;)s&Po&&(c=c.add(a)),a=a.double(),s>>=Po;return c},precomputeWindow(i,s){let{windows:c,windowSize:a}=o(s),d=[],l=i,u=l;for(let g=0;g>=h,m>d&&(m-=y,c+=Po);let w=p,S=p+Math.abs(m)-1,C=f%2!==0,B=m<0;m===0?u=u.add(e(C,s[w])):l=l.add(e(B,s[S]))}return{p:l,f:u}},wNAFCached(i,s,c){let a=xs.get(i)||1,d=No.get(i);return d||(d=this.precomputeWindow(i,a),a!==1&&No.set(i,c(d))),this.wNAF(a,d,s)},setWindowSize(i,s){n(s),xs.set(i,s),No.delete(i)}}}function ko(r){return Lo(r.Fp),re(r,{n:"bigint",h:"bigint",Gx:"field",Gy:"field"},{nBitLength:"isSafeInteger",nByteLength:"isSafeInteger"}),Object.freeze({...Bo(r.n,r.nBitLength),...r,p:r.Fp.ORDER})}function vs(r){r.lowS!==void 0&&de("lowS",r.lowS),r.prehash!==void 0&&de("prehash",r.prehash)}function Lu(r){let t=ko(r);re(t,{a:"field",b:"field"},{allowedPrivateKeyLengths:"array",wrapPrivateKey:"boolean",isTorsionFree:"function",clearCofactor:"function",allowInfinityPoint:"boolean",fromBytes:"function",toBytes:"function"});let{endo:e,Fp:n,a:o}=t;if(e){if(!n.eql(o,n.ZERO))throw new Error("Endomorphism can only be defined for Koblitz curves that have a=0");if(typeof e!="object"||typeof e.beta!="bigint"||typeof e.splitScalar!="function")throw new Error("Expected endomorphism with beta: bigint and splitScalar: function")}return Object.freeze({...t})}var{bytesToNumberBE:Bu,hexToBytes:Cu}=Ao,ge={Err:class extends Error{constructor(t=""){super(t)}},_parseInt(r){let{Err:t}=ge;if(r.length<2||r[0]!==2)throw new t("Invalid signature integer tag");let e=r[1],n=r.subarray(2,e+2);if(!e||n.length!==e)throw new t("Invalid signature integer: wrong length");if(n[0]&128)throw new t("Invalid signature integer: negative");if(n[0]===0&&!(n[1]&128))throw new t("Invalid signature integer: unnecessary leading zero");return{d:Bu(n),l:r.subarray(e+2)}},toSig(r){let{Err:t}=ge,e=typeof r=="string"?Cu(r):r;Oe(e);let n=e.length;if(n<2||e[0]!=48)throw new t("Invalid signature tag");if(e[1]!==n-2)throw new t("Invalid signature: incorrect length");let{d:o,l:i}=ge._parseInt(e.subarray(2)),{d:s,l:c}=ge._parseInt(i);if(c.length)throw new t("Invalid signature: left bytes after parsing");return{r:o,s}},hexFromSig(r){let t=d=>Number.parseInt(d[0],16)&8?"00"+d:d,e=d=>{let l=d.toString(16);return l.length&1?`0${l}`:l},n=t(e(r.s)),o=t(e(r.r)),i=n.length/2,s=o.length/2,c=e(i),a=e(s);return`30${e(s+i+4)}02${a}${o}02${c}${n}`}},ne=BigInt(0),et=BigInt(1),up=BigInt(2),Is=BigInt(3),lp=BigInt(4);function Pu(r){let t=Lu(r),{Fp:e}=t,n=t.toBytes||((h,f,p)=>{let m=f.toAffine();return Re(Uint8Array.from([4]),e.toBytes(m.x),e.toBytes(m.y))}),o=t.fromBytes||(h=>{let f=h.subarray(1),p=e.fromBytes(f.subarray(0,e.BYTES)),m=e.fromBytes(f.subarray(e.BYTES,2*e.BYTES));return{x:p,y:m}});function i(h){let{a:f,b:p}=t,m=e.sqr(h),w=e.mul(m,h);return e.add(e.add(w,e.mul(h,f)),p)}if(!e.eql(e.sqr(t.Gy),i(t.Gx)))throw new Error("bad generator point: equation left != right");function s(h){return tr(h,et,t.n)}function c(h){let{allowedPrivateKeyLengths:f,nByteLength:p,wrapPrivateKey:m,n:w}=t;if(f&&typeof h!="bigint"){if(jt(h)&&(h=he(h)),typeof h!="string"||!f.includes(h.length))throw new Error("Invalid key");h=h.padStart(p*2,"0")}let S;try{S=typeof h=="bigint"?h:Vt(bt("private key",h,p))}catch{throw new Error(`private key must be ${p} bytes, hex or bigint, not ${typeof h}`)}return m&&(S=ct(S,w)),ee("private key",S,et,w),S}function a(h){if(!(h instanceof u))throw new Error("ProjectivePoint expected")}let d=Zr((h,f)=>{let{px:p,py:m,pz:w}=h;if(e.eql(w,e.ONE))return{x:p,y:m};let S=h.is0();f==null&&(f=S?e.ONE:e.inv(w));let C=e.mul(p,f),B=e.mul(m,f),E=e.mul(w,f);if(S)return{x:e.ZERO,y:e.ZERO};if(!e.eql(E,e.ONE))throw new Error("invZ was invalid");return{x:C,y:B}}),l=Zr(h=>{if(h.is0()){if(t.allowInfinityPoint&&!e.is0(h.py))return;throw new Error("bad point: ZERO")}let{x:f,y:p}=h.toAffine();if(!e.isValid(f)||!e.isValid(p))throw new Error("bad point: x or y not FE");let m=e.sqr(p),w=i(f);if(!e.eql(m,w))throw new Error("bad point: equation left != right");if(!h.isTorsionFree())throw new Error("bad point: not in prime-order subgroup");return!0});class u{constructor(f,p,m){if(this.px=f,this.py=p,this.pz=m,f==null||!e.isValid(f))throw new Error("x required");if(p==null||!e.isValid(p))throw new Error("y required");if(m==null||!e.isValid(m))throw new Error("z required");Object.freeze(this)}static fromAffine(f){let{x:p,y:m}=f||{};if(!f||!e.isValid(p)||!e.isValid(m))throw new Error("invalid affine point");if(f instanceof u)throw new Error("projective point not allowed");let w=S=>e.eql(S,e.ZERO);return w(p)&&w(m)?u.ZERO:new u(p,m,e.ONE)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static normalizeZ(f){let p=e.invertBatch(f.map(m=>m.pz));return f.map((m,w)=>m.toAffine(p[w])).map(u.fromAffine)}static fromHex(f){let p=u.fromAffine(o(bt("pointHex",f)));return p.assertValidity(),p}static fromPrivateKey(f){return u.BASE.multiply(c(f))}_setWindowSize(f){y.setWindowSize(this,f)}assertValidity(){l(this)}hasEvenY(){let{y:f}=this.toAffine();if(e.isOdd)return!e.isOdd(f);throw new Error("Field doesn't support isOdd")}equals(f){a(f);let{px:p,py:m,pz:w}=this,{px:S,py:C,pz:B}=f,E=e.eql(e.mul(p,B),e.mul(S,w)),I=e.eql(e.mul(m,B),e.mul(C,w));return E&&I}negate(){return new u(this.px,e.neg(this.py),this.pz)}double(){let{a:f,b:p}=t,m=e.mul(p,Is),{px:w,py:S,pz:C}=this,B=e.ZERO,E=e.ZERO,I=e.ZERO,T=e.mul(w,w),Q=e.mul(S,S),M=e.mul(C,C),k=e.mul(w,S);return k=e.add(k,k),I=e.mul(w,C),I=e.add(I,I),B=e.mul(f,I),E=e.mul(m,M),E=e.add(B,E),B=e.sub(Q,E),E=e.add(Q,E),E=e.mul(B,E),B=e.mul(k,B),I=e.mul(m,I),M=e.mul(f,M),k=e.sub(T,M),k=e.mul(f,k),k=e.add(k,I),I=e.add(T,T),T=e.add(I,T),T=e.add(T,M),T=e.mul(T,k),E=e.add(E,T),M=e.mul(S,C),M=e.add(M,M),T=e.mul(M,k),B=e.sub(B,T),I=e.mul(M,Q),I=e.add(I,I),I=e.add(I,I),new u(B,E,I)}add(f){a(f);let{px:p,py:m,pz:w}=this,{px:S,py:C,pz:B}=f,E=e.ZERO,I=e.ZERO,T=e.ZERO,Q=t.a,M=e.mul(t.b,Is),k=e.mul(p,S),dt=e.mul(m,C),ht=e.mul(w,B),v=e.add(p,m),x=e.add(S,C);v=e.mul(v,x),x=e.add(k,dt),v=e.sub(v,x),x=e.add(p,w);let L=e.add(S,B);return x=e.mul(x,L),L=e.add(k,ht),x=e.sub(x,L),L=e.add(m,w),E=e.add(C,B),L=e.mul(L,E),E=e.add(dt,ht),L=e.sub(L,E),T=e.mul(Q,x),E=e.mul(M,ht),T=e.add(E,T),E=e.sub(dt,T),T=e.add(dt,T),I=e.mul(E,T),dt=e.add(k,k),dt=e.add(dt,k),ht=e.mul(Q,ht),x=e.mul(M,x),dt=e.add(dt,ht),ht=e.sub(k,ht),ht=e.mul(Q,ht),x=e.add(x,ht),k=e.mul(dt,x),I=e.add(I,k),k=e.mul(L,x),E=e.mul(v,E),E=e.sub(E,k),k=e.mul(v,dt),T=e.mul(L,T),T=e.add(T,k),new u(E,I,T)}subtract(f){return this.add(f.negate())}is0(){return this.equals(u.ZERO)}wNAF(f){return y.wNAFCached(this,f,u.normalizeZ)}multiplyUnsafe(f){ee("scalar",f,ne,t.n);let p=u.ZERO;if(f===ne)return p;if(f===et)return this;let{endo:m}=t;if(!m)return y.unsafeLadder(this,f);let{k1neg:w,k1:S,k2neg:C,k2:B}=m.splitScalar(f),E=p,I=p,T=this;for(;S>ne||B>ne;)S&et&&(E=E.add(T)),B&et&&(I=I.add(T)),T=T.double(),S>>=et,B>>=et;return w&&(E=E.negate()),C&&(I=I.negate()),I=new u(e.mul(I.px,m.beta),I.py,I.pz),E.add(I)}multiply(f){let{endo:p,n:m}=t;ee("scalar",f,et,m);let w,S;if(p){let{k1neg:C,k1:B,k2neg:E,k2:I}=p.splitScalar(f),{p:T,f:Q}=this.wNAF(B),{p:M,f:k}=this.wNAF(I);T=y.constTimeNegate(C,T),M=y.constTimeNegate(E,M),M=new u(e.mul(M.px,p.beta),M.py,M.pz),w=T.add(M),S=Q.add(k)}else{let{p:C,f:B}=this.wNAF(f);w=C,S=B}return u.normalizeZ([w,S])[0]}multiplyAndAddUnsafe(f,p,m){let w=u.BASE,S=(B,E)=>E===ne||E===et||!B.equals(w)?B.multiplyUnsafe(E):B.multiply(E),C=S(this,p).add(S(f,m));return C.is0()?void 0:C}toAffine(f){return d(this,f)}isTorsionFree(){let{h:f,isTorsionFree:p}=t;if(f===et)return!0;if(p)return p(u,this);throw new Error("isTorsionFree() has not been declared for the elliptic curve")}clearCofactor(){let{h:f,clearCofactor:p}=t;return f===et?this:p?p(u,this):this.multiplyUnsafe(t.h)}toRawBytes(f=!0){return de("isCompressed",f),this.assertValidity(),n(u,this,f)}toHex(f=!0){return de("isCompressed",f),he(this.toRawBytes(f))}}u.BASE=new u(t.Gx,t.Gy,e.ONE),u.ZERO=new u(e.ZERO,e.ONE,e.ZERO);let g=t.nBitLength,y=Es(u,t.endo?Math.ceil(g/2):g);return{CURVE:t,ProjectivePoint:u,normPrivateKeyToScalar:c,weierstrassEquation:i,isWithinCurveOrder:s}}function Nu(r){let t=ko(r);return re(t,{hash:"hash",hmac:"function",randomBytes:"function"},{bits2int:"function",bits2int_modN:"function",lowS:"boolean"}),Object.freeze({lowS:!0,...t})}function Ss(r){let t=Nu(r),{Fp:e,n}=t,o=e.BYTES+1,i=2*e.BYTES+1;function s(v){return ct(v,n)}function c(v){return Xr(v,n)}let{ProjectivePoint:a,normPrivateKeyToScalar:d,weierstrassEquation:l,isWithinCurveOrder:u}=Pu({...t,toBytes(v,x,L){let _=x.toAffine(),R=e.toBytes(_.x),j=Re;return de("isCompressed",L),L?j(Uint8Array.from([x.hasEvenY()?2:3]),R):j(Uint8Array.from([4]),R,e.toBytes(_.y))},fromBytes(v){let x=v.length,L=v[0],_=v.subarray(1);if(x===o&&(L===2||L===3)){let R=Vt(_);if(!tr(R,et,e.ORDER))throw new Error("Point is not on curve");let j=l(R),at;try{at=e.sqrt(j)}catch(Tt){let zt=Tt instanceof Error?": "+Tt.message:"";throw new Error("Point is not on curve"+zt)}let ut=(at&et)===et;return(L&1)===1!==ut&&(at=e.neg(at)),{x:R,y:at}}else if(x===i&&L===4){let R=e.fromBytes(_.subarray(0,e.BYTES)),j=e.fromBytes(_.subarray(e.BYTES,2*e.BYTES));return{x:R,y:j}}else throw new Error(`Point of length ${x} was invalid. Expected ${o} compressed bytes or ${i} uncompressed bytes`)}}),g=v=>he(te(v,t.nByteLength));function y(v){let x=n>>et;return v>x}function h(v){return y(v)?s(-v):v}let f=(v,x,L)=>Vt(v.slice(x,L));class p{constructor(x,L,_){this.r=x,this.s=L,this.recovery=_,this.assertValidity()}static fromCompact(x){let L=t.nByteLength;return x=bt("compactSignature",x,L*2),new p(f(x,0,L),f(x,L,2*L))}static fromDER(x){let{r:L,s:_}=ge.toSig(bt("DER",x));return new p(L,_)}assertValidity(){ee("r",this.r,et,n),ee("s",this.s,et,n)}addRecoveryBit(x){return new p(this.r,this.s,x)}recoverPublicKey(x){let{r:L,s:_,recovery:R}=this,j=E(bt("msgHash",x));if(R==null||![0,1,2,3].includes(R))throw new Error("recovery id invalid");let at=R===2||R===3?L+t.n:L;if(at>=e.ORDER)throw new Error("recovery id 2 or 3 invalid");let ut=R&1?"03":"02",Gt=a.fromHex(ut+g(at)),Tt=c(at),zt=s(-j*Tt),Ke=s(_*Tt),Ht=a.BASE.multiplyAndAddUnsafe(Gt,zt,Ke);if(!Ht)throw new Error("point at infinify");return Ht.assertValidity(),Ht}hasHighS(){return y(this.s)}normalizeS(){return this.hasHighS()?new p(this.r,s(-this.s),this.recovery):this}toDERRawBytes(){return pe(this.toDERHex())}toDERHex(){return ge.hexFromSig({r:this.r,s:this.s})}toCompactRawBytes(){return pe(this.toCompactHex())}toCompactHex(){return g(this.r)+g(this.s)}}let m={isValidPrivateKey(v){try{return d(v),!0}catch{return!1}},normPrivateKeyToScalar:d,randomPrivateKey:()=>{let v=Co(t.n);return ws(t.randomBytes(v),t.n)},precompute(v=8,x=a.BASE){return x._setWindowSize(v),x.multiply(BigInt(3)),x}};function w(v,x=!0){return a.fromPrivateKey(v).toRawBytes(x)}function S(v){let x=jt(v),L=typeof v=="string",_=(x||L)&&v.length;return x?_===o||_===i:L?_===2*o||_===2*i:v instanceof a}function C(v,x,L=!0){if(S(v))throw new Error("first arg must be private key");if(!S(x))throw new Error("second arg must be public key");return a.fromHex(x).multiply(d(v)).toRawBytes(L)}let B=t.bits2int||function(v){let x=Vt(v),L=v.length*8-t.nBitLength;return L>0?x>>BigInt(L):x},E=t.bits2int_modN||function(v){return s(B(v))},I=er(t.nBitLength);function T(v){return ee(`num < 2^${t.nBitLength}`,v,ne,I),te(v,t.nByteLength)}function Q(v,x,L=M){if(["recovered","canonical"].some(se=>se in L))throw new Error("sign() legacy options not supported");let{hash:_,randomBytes:R}=t,{lowS:j,prehash:at,extraEntropy:ut}=L;j==null&&(j=!0),v=bt("msgHash",v),vs(L),at&&(v=bt("prehashed msgHash",_(v)));let Gt=E(v),Tt=d(x),zt=[T(Tt),T(Gt)];if(ut!=null&&ut!==!1){let se=ut===!0?R(e.BYTES):ut;zt.push(bt("extraEntropy",se))}let Ke=Re(...zt),Ht=Gt;function yn(se){let xe=B(se);if(!u(xe))return;let oi=c(xe),Dt=a.BASE.multiply(xe).toAffine(),Ee=s(Dt.x);if(Ee===ne)return;let nr=s(oi*s(Ht+Ee*Tt));if(nr===ne)return;let ii=(Dt.x===Ee?0:2)|Number(Dt.y&et),si=nr;return j&&y(nr)&&(si=h(nr),ii^=1),new p(Ee,si,ii)}return{seed:Ke,k2sig:yn}}let M={lowS:t.lowS,prehash:!1},k={lowS:t.lowS,prehash:!1};function dt(v,x,L=M){let{seed:_,k2sig:R}=Q(v,x,L),j=t;return So(j.hash.outputLen,j.nByteLength,j.hmac)(_,R)}a.BASE._setWindowSize(8);function ht(v,x,L,_=k){let R=v;if(x=bt("msgHash",x),L=bt("publicKey",L),"strict"in _)throw new Error("options.strict was renamed to lowS");vs(_);let{lowS:j,prehash:at}=_,ut,Gt;try{if(typeof R=="string"||jt(R))try{ut=p.fromDER(R)}catch(Dt){if(!(Dt instanceof ge.Err))throw Dt;ut=p.fromCompact(R)}else if(typeof R=="object"&&typeof R.r=="bigint"&&typeof R.s=="bigint"){let{r:Dt,s:Ee}=R;ut=new p(Dt,Ee)}else throw new Error("PARSE");Gt=a.fromHex(L)}catch(Dt){if(Dt.message==="PARSE")throw new Error("signature must be Signature instance, Uint8Array or hex string");return!1}if(j&&ut.hasHighS())return!1;at&&(x=t.hash(x));let{r:Tt,s:zt}=ut,Ke=E(x),Ht=c(zt),yn=s(Ke*Ht),se=s(Tt*Ht),xe=a.BASE.multiplyAndAddUnsafe(Gt,yn,se)?.toAffine();return xe?s(xe.x)===Tt:!1}return{CURVE:t,getPublicKey:w,getSharedSecret:C,sign:dt,verify:ht,ProjectivePoint:a,Signature:p,utils:m}}function ku(r){return{hash:r,hmac:(t,...e)=>bo(r,t,ss(...e)),randomBytes:as}}function As(r,t){let e=n=>Ss({...r,...ku(n)});return Object.freeze({...e(t),create:e})}var Bs=BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"),Ts=BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),Du=BigInt(1),Do=BigInt(2),Ls=(r,t)=>(r+t/Do)/t;function Ou(r){let t=Bs,e=BigInt(3),n=BigInt(6),o=BigInt(11),i=BigInt(22),s=BigInt(23),c=BigInt(44),a=BigInt(88),d=r*r*r%t,l=d*d*r%t,u=wt(l,e,t)*l%t,g=wt(u,e,t)*l%t,y=wt(g,Do,t)*d%t,h=wt(y,o,t)*y%t,f=wt(h,i,t)*h%t,p=wt(f,c,t)*f%t,m=wt(p,a,t)*p%t,w=wt(m,c,t)*f%t,S=wt(w,e,t)*l%t,C=wt(S,s,t)*h%t,B=wt(C,n,t)*d%t,E=wt(B,Do,t);if(!Oo.eql(Oo.sqr(E),r))throw new Error("Cannot find square root");return E}var Oo=ys(Bs,void 0,void 0,{sqrt:Ou}),Ue=As({a:BigInt(0),b:BigInt(7),Fp:Oo,n:Ts,Gx:BigInt("55066263022277343669578718895168534326250603453777594175500187360389116729240"),Gy:BigInt("32670510020758816978083085130507043184471273380659243275938904335757337482424"),h:BigInt(1),lowS:!0,endo:{beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee"),splitScalar:r=>{let t=Ts,e=BigInt("0x3086d221a7d46bcde86c90e49284eb15"),n=-Du*BigInt("0xe4437ed6010e88286f547fa90abfe4c3"),o=BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"),i=e,s=BigInt("0x100000000000000000000000000000000"),c=Ls(i*r,t),a=Ls(-n*r,t),d=ct(r-c*e-a*o,t),l=ct(-c*n-a*i,t),u=d>s,g=l>s;if(u&&(d=t-d),g&&(l=t-l),d>s||l>s)throw new Error("splitScalar: Endomorphism failed, k="+r);return{k1neg:u,k1:d,k2neg:g,k2:l}}}},fs),wp=BigInt(0);var xp=Ue.ProjectivePoint;var Cs=pt(Z("node:crypto"),1);var Jr=class extends Error{constructor(t="An error occurred while verifying a message"){super(t),this.name="VerificationError"}};function Ps(r,t,e){let n=Cs.default.createHash("sha256");if(e instanceof Uint8Array)n.update(e);else for(let i of e)n.update(i);let o=n.digest();try{return Ue.verify(t,o,r)}catch(i){throw new Jr(String(i))}}var Qr=class{type="secp256k1";raw;_key;constructor(t){this._key=ks(t),this.raw=Ns(this._key)}toMultihash(){return _t.digest(Vr(this))}toCID(){return tt.createV1(114,this.toMultihash())}toString(){return $.encode(this.toMultihash().bytes).substring(1)}equals(t){return t==null||!(t.raw instanceof Uint8Array)?!1:Nt(this.raw,t.raw)}verify(t,e){return Ps(this._key,e,t)}};function Ds(r){return new Qr(r)}function Ns(r){return Ue.ProjectivePoint.fromHex(r).toRawBytes(!0)}function ks(r){try{return Ue.ProjectivePoint.fromHex(r),r}catch(t){throw new Ur(String(t))}}function Os(r){let{Type:t,Data:e}=Je.decode(r.digest),n=e??new Uint8Array;switch(t){case St.Ed25519:return rs(n);case St.secp256k1:return Ds(n);default:throw new Ze}}function Vr(r){return Je.encode({Type:St[r.type],Data:r.raw})}var Rs=Symbol.for("nodejs.util.inspect.custom"),Ru=114,rr=class{type;multihash;publicKey;string;constructor(t){this.type=t.type,this.multihash=t.multihash,Object.defineProperty(this,"string",{enumerable:!1,writable:!0})}get[Symbol.toStringTag](){return`PeerId(${this.toString()})`}[Rr]=!0;toString(){return this.string==null&&(this.string=$.encode(this.multihash.bytes).slice(1)),this.string}toMultihash(){return this.multihash}toCID(){return tt.createV1(Ru,this.multihash)}toBytes(){return this.multihash.bytes}toJSON(){return this.toString()}equals(t){if(t==null)return!1;if(t instanceof Uint8Array)return Nt(this.multihash.bytes,t);if(typeof t=="string")return this.toString()===t;if(t?.toMultihash()?.bytes!=null)return Nt(this.multihash.bytes,t.toMultihash().bytes);throw new Error("not valid Id")}[Rs](){return`PeerId(${this.toString()})`}},jr=class extends rr{type="RSA";publicKey;constructor(t){super({...t,type:"RSA"}),this.publicKey=t.publicKey}},tn=class extends rr{type="Ed25519";publicKey;constructor(t){super({...t,type:"Ed25519"}),this.publicKey=t.publicKey}},en=class extends rr{type="secp256k1";publicKey;constructor(t){super({...t,type:"secp256k1"}),this.publicKey=t.publicKey}},Uu=2336,rn=class{type="url";multihash;publicKey;url;constructor(t){this.url=t.toString(),this.multihash=_t.digest(Zt(this.url))}[Rs](){return`PeerId(${this.url})`}[Rr]=!0;toString(){return this.toCID().toString()}toMultihash(){return this.multihash}toCID(){return tt.createV1(Uu,this.toMultihash())}toBytes(){return this.toCID().bytes}toJSON(){return this.toString()}equals(t){return t==null?!1:(t instanceof Uint8Array&&(t=Y(t)),t.toString()===this.toString())}};function Ft(r){if(Mu(r))return new jr({multihash:r});if(_u(r))try{let t=Os(r);if(t.type==="Ed25519")return new tn({multihash:r,publicKey:t});if(t.type==="secp256k1")return new en({multihash:r,publicKey:t})}catch{let e=Y(r.digest);return new rn(new URL(e))}throw new _r("Supplied PeerID Multihash is invalid")}function _u(r){return r.code===_t.code}function Mu(r){return r.code===Jn.code}var ac=pt(Z("net"),1);var nn=class{index=0;input="";new(t){return this.index=0,this.input=t,this}readAtomically(t){let e=this.index,n=t();return n===void 0&&(this.index=e),n}parseWith(t){let e=t();if(this.index===this.input.length)return e}peekChar(){if(!(this.index>=this.input.length))return this.input[this.index]}readChar(){if(!(this.index>=this.input.length))return this.input[this.index++]}readGivenChar(t){return this.readAtomically(()=>{let e=this.readChar();if(e===t)return e})}readSeparator(t,e,n){return this.readAtomically(()=>{if(!(e>0&&this.readGivenChar(t)===void 0))return n()})}readNumber(t,e,n,o){return this.readAtomically(()=>{let i=0,s=0,c=this.peekChar();if(c===void 0)return;let a=c==="0",d=2**(8*o)-1;for(;;){let l=this.readAtomically(()=>{let u=this.readChar();if(u===void 0)return;let g=Number.parseInt(u,t);if(!Number.isNaN(g))return g});if(l===void 0)break;if(i*=t,i+=l,i>d||(s+=1,e!==void 0&&s>e))return}if(s!==0)return!n&&a&&s>1?void 0:i})}readIPv4Addr(){return this.readAtomically(()=>{let t=new Uint8Array(4);for(let e=0;ethis.readNumber(10,3,!1,1));if(n===void 0)return;t[e]=n}return t})}readIPv6Addr(){let t=e=>{for(let n=0;nthis.readIPv4Addr());if(s!==void 0)return e[o]=s[0],e[o+1]=s[1],e[o+2]=s[2],e[o+3]=s[3],[o+4,!0]}let i=this.readSeparator(":",n,()=>this.readNumber(16,4,!0,2));if(i===void 0)return[o,!1];e[o]=i>>8,e[o+1]=i&255}return[e.length,!1]};return this.readAtomically(()=>{let e=new Uint8Array(16),[n,o]=t(e);if(n===16)return e;if(o||this.readGivenChar(":")===void 0||this.readGivenChar(":")===void 0)return;let i=new Uint8Array(14),s=16-(n+2),[c]=t(i.subarray(0,s));return e.set(i.subarray(0,c),16-c),e})}readIPAddr(){return this.readIPv4Addr()??this.readIPv6Addr()}};var Em=new nn;var Cm=parseInt("0xFFFF",16),Pm=new Uint8Array([0,0,0,0,0,0,0,0,0,0,255,255]);var At=Z("node:net");function on(r){return!!(0,At.isIP)(r)}var Ms=At.isIPv4,zu=At.isIPv6,Ro=function(r){let t=0;if(r=r.toString().trim(),Ms(r)){let e=new Uint8Array(t+4);return r.split(/\./g).forEach(n=>{e[t++]=parseInt(n,10)&255}),e}if(zu(r)){let e=r.split(":",8),n;for(n=0;n0;n--)i.push("0");e.splice.apply(e,i)}let o=new Uint8Array(t+16);for(n=0;n>8&255,o[t++]=i&255}return o}throw new Error("invalid ip address")},Ks=function(r,t=0,e){t=~~t,e=e??r.length-t;let n=new DataView(r.buffer);if(e===4){let o=[];for(let i=0;i{let t=Wu(...r);Uo[t.code]=t,_e[t.name]=t});function Wu(r,t,e,n,o){return{code:r,size:t,name:e,resolvable:!!n,path:!!o}}function U(r){if(typeof r=="number"){if(Uo[r]!=null)return Uo[r];throw new Error(`no protocol with code: ${r}`)}else if(typeof r=="string"){if(_e[r]!=null)return _e[r];throw new Error(`no protocol with name: ${r}`)}throw new Error(`invalid protocol id type: ${typeof r}`)}var pg=U("ip4"),mg=U("ip6"),gg=U("ipcidr");function $o(r,t){switch(U(r).code){case 4:case 41:return Zu(t);case 42:return Ko(t);case 6:case 273:case 33:case 132:return Fs(t).toString();case 53:case 54:case 55:case 56:case 400:case 449:case 777:return Ko(t);case 421:return ju(t);case 444:return Vs(t);case 445:return Vs(t);case 466:return Qu(t);case 481:return globalThis.encodeURIComponent(Ko(t));default:return Y(t,"base16")}}function Vo(r,t){switch(U(r).code){case 4:return $s(t);case 41:return $s(t);case 42:return Mo(t);case 6:case 273:case 33:case 132:return Fo(parseInt(t,10));case 53:case 54:case 55:case 56:case 400:case 449:case 777:return Mo(t);case 421:return Xu(t);case 444:return tl(t);case 445:return el(t);case 466:return Ju(t);case 481:return Mo(globalThis.decodeURIComponent(t));default:return Zt(t,"base16")}}var _o=Object.values(Ge).map(r=>r.decoder),Yu=function(){let r=_o[0].or(_o[1]);return _o.slice(2).forEach(t=>r=r.or(t)),r}();function $s(r){if(!on(r))throw new Error("invalid ip address");return Ro(r)}function Zu(r){let t=Ks(r,0,r.length);if(t==null)throw new Error("ipBuff is required");if(!on(t))throw new Error("invalid ip address");return t}function Fo(r){let t=new ArrayBuffer(2);return new DataView(t).setUint16(0,r),new Uint8Array(t)}function Fs(r){return new DataView(r.buffer).getUint16(r.byteOffset)}function Mo(r){let t=Zt(r),e=Uint8Array.from(qt(t.length));return yt([e,t],e.length+t.length)}function Ko(r){let t=Ut(r);if(r=r.slice(it(t)),r.length!==t)throw new Error("inconsistent lengths");return Y(r)}function Xu(r){let t;r[0]==="Q"||r[0]==="1"?t=ft($.decode(`z${r}`)).bytes:t=tt.parse(r).multihash.bytes;let e=Uint8Array.from(qt(t.length));return yt([e,t],e.length+t.length)}function Ju(r){let t=Yu.decode(r),e=Uint8Array.from(qt(t.length));return yt([e,t],e.length+t.length)}function Qu(r){let t=Ut(r),e=r.slice(it(t));if(e.length!==t)throw new Error("inconsistent lengths");return"u"+Y(e,"base64url")}function ju(r){let t=Ut(r),e=r.slice(it(t));if(e.length!==t)throw new Error("inconsistent lengths");return Y(e,"base58btc")}function tl(r){let t=r.split(":");if(t.length!==2)throw new Error(`failed to parse onion addr: ["'${t.join('", "')}'"]' does not contain a port number`);if(t[0].length!==16)throw new Error(`failed to parse onion addr: ${t[0]} not a Tor onion address.`);let e=Bt.decode("b"+t[0]),n=parseInt(t[1],10);if(n<1||n>65536)throw new Error("Port number is not in range(1, 65536)");let o=Fo(n);return yt([e,o],e.length+o.length)}function el(r){let t=r.split(":");if(t.length!==2)throw new Error(`failed to parse onion addr: ["'${t.join('", "')}'"]' does not contain a port number`);if(t[0].length!==56)throw new Error(`failed to parse onion addr: ${t[0]} not a Tor onion3 address.`);let e=Bt.decode(`b${t[0]}`),n=parseInt(t[1],10);if(n<1||n>65536)throw new Error("Port number is not in range(1, 65536)");let o=Fo(n);return yt([e,o],e.length+o.length)}function Vs(r){let t=r.slice(0,r.length-2),e=r.slice(r.length-2),n=Y(t,"base32"),o=Fs(e);return`${n}:${o}`}function Gs(r){r=Go(r);let t=[],e=[],n=null,o=r.split("/").slice(1);if(o.length===1&&o[0]==="")return{bytes:new Uint8Array,string:"/",tuples:[],stringTuples:[],path:null};for(let i=0;i=o.length)throw Hs("invalid address: "+r);if(c.path===!0){n=Go(o.slice(i).join("/")),t.push([c.code,Vo(c.code,n)]),e.push([c.code,n]);break}let a=Vo(c.code,o[i]);t.push([c.code,a]),e.push([c.code,$o(c.code,a)])}return{string:zs(e),bytes:Ho(t),tuples:t,stringTuples:e,path:n}}function zo(r){let t=[],e=[],n=null,o=0;for(;or.length)throw Hs("Invalid address Uint8Array: "+Y(r,"base16"));t.push([i,d]);let l=$o(i,d);if(e.push([i,l]),c.path===!0){n=l;break}}return{bytes:Uint8Array.from(r),string:zs(e),tuples:t,stringTuples:e,path:n}}function zs(r){let t=[];return r.map(e=>{let n=U(e[0]);return t.push(n.name),e.length>1&&e[1]!=null&&t.push(e[1]),null}),Go(t.join("/"))}function Ho(r){return yt(r.map(t=>{let e=U(t[0]),n=Uint8Array.from(qt(e.code));return t.length>1&&t[1]!=null&&(n=yt([n,t[1]])),n}))}function rl(r,t){if(r.size>0)return r.size/8;if(r.size===0)return 0;{let e=Ut(t instanceof Uint8Array?t:Uint8Array.from(t));return e+it(e)}}function Go(r){return"/"+r.trim().split("/").filter(t=>t).join("/")}function Hs(r){return new Error("Error parsing address: "+r)}var nl=Symbol.for("nodejs.util.inspect.custom"),qo=Symbol.for("@multiformats/js-multiaddr/multiaddr"),ol=[U("dns").code,U("dns4").code,U("dns6").code,U("dnsaddr").code],sn=class r{bytes;#t;#e;#r;#n;[qo]=!0;constructor(t){t==null&&(t="");let e;if(t instanceof Uint8Array)e=zo(t);else if(typeof t=="string"){if(t.length>0&&t.charAt(0)!=="/")throw new Error(`multiaddr "${t}" must start with a "/"`);e=Gs(t)}else if(cn(t))e=zo(t.bytes);else throw new Error("addr must be a string, Buffer, or another Multiaddr");this.bytes=e.bytes,this.#t=e.string,this.#e=e.tuples,this.#r=e.stringTuples,this.#n=e.path}toString(){return this.#t}toJSON(){return this.toString()}toOptions(){let t,e,n,o,i="",s=U("tcp"),c=U("udp"),a=U("ip4"),d=U("ip6"),l=U("dns6"),u=U("ip6zone");for(let[y,h]of this.stringTuples())y===u.code&&(i=`%${h??""}`),ol.includes(y)&&(e=s.name,o=443,n=`${h??""}${i}`,t=y===l.code?6:4),(y===s.code||y===c.code)&&(e=U(y).name,o=parseInt(h??"")),(y===a.code||y===d.code)&&(e=U(y).name,n=`${h??""}${i}`,t=y===d.code?6:4);if(t==null||e==null||n==null||o==null)throw new Error('multiaddr must have a valid format: "/{ip4, ip6, dns4, dns6, dnsaddr}/{address}/{tcp, udp}/{port}".');return{family:t,host:n,transport:e,port:o}}protos(){return this.#e.map(([t])=>Object.assign({},U(t)))}protoCodes(){return this.#e.map(([t])=>t)}protoNames(){return this.#e.map(([t])=>U(t).name)}tuples(){return this.#e}stringTuples(){return this.#r}encapsulate(t){return t=new r(t),new r(this.toString()+t.toString())}decapsulate(t){let e=t.toString(),n=this.toString(),o=n.lastIndexOf(e);if(o<0)throw new Error(`Address ${this.toString()} does not contain subaddress: ${t.toString()}`);return new r(n.slice(0,o))}decapsulateCode(t){let e=this.tuples();for(let n=e.length-1;n>=0;n--)if(e[n][0]===t)return new r(Ho(e.slice(0,n)));return this}getPeerId(){try{let t=[];this.stringTuples().forEach(([n,o])=>{n===_e.p2p.code&&t.push([n,o]),n===_e["p2p-circuit"].code&&(t=[])});let e=t.pop();if(e?.[1]!=null){let n=e[1];return n[0]==="Q"||n[0]==="1"?Y($.decode(`z${n}`),"base58btc"):Y(tt.parse(n).multihash.bytes,"base58btc")}return null}catch{return null}}getPath(){return this.#n}equals(t){return Nt(this.bytes,t.bytes)}async resolve(t){let e=this.protos().find(i=>i.resolvable);if(e==null)return[this];let n=qs.get(e.name);if(n==null)throw new X(`no available resolver for ${e.name}`,"ERR_NO_AVAILABLE_RESOLVER");return(await n(this,t)).map(i=>nt(i))}nodeAddress(){let t=this.toOptions();if(t.transport!=="tcp"&&t.transport!=="udp")throw new Error(`multiaddr must have a valid format - no protocol with name: "${t.transport}". Must have a valid transport protocol: "{tcp, udp}"`);return{family:t.family,address:t.host,port:t.port}}isThinWaistAddress(t){let e=(t??this).protos();return!(e.length!==2||e[0].code!==4&&e[0].code!==41||e[1].code!==6&&e[1].code!==273)}[nl](){return`Multiaddr(${this.#t})`}};var qs=new Map;function cn(r){return!!r?.[qo]}function nt(r){return new sn(r)}var il=b("dns4"),sl=b("dns6"),cl=b("dnsaddr"),be=W(b("dns"),cl,il,sl),ln=W(b("ip4"),b("ip6")),ie=W(A(ln,b("tcp")),A(be,b("tcp"))),fn=A(ln,b("udp")),al=A(fn,b("utp")),ul=A(fn,b("quic")),ll=A(fn,b("quic-v1")),Wo=W(A(ie,b("ws")),A(be,b("ws"))),an=W(A(Wo,b("p2p")),Wo),Yo=W(A(ie,b("wss")),A(be,b("wss")),A(ie,b("tls"),b("ws")),A(be,b("tls"),b("ws"))),un=W(A(Yo,b("p2p")),Yo),Zo=W(A(ie,b("http")),A(ln,b("http")),A(be,b("http"))),Xo=W(A(ie,b("https")),A(ln,b("https")),A(be,b("https"))),Ws=A(fn,b("webrtc-direct"),b("certhash")),Xs=W(A(Ws,b("p2p")),Ws),Ys=A(ll,b("webtransport"),b("certhash"),b("certhash")),Js=W(A(Ys,b("p2p")),Ys),Qs=W(A(an,b("p2p-webrtc-star"),b("p2p")),A(un,b("p2p-webrtc-star"),b("p2p")),A(an,b("p2p-webrtc-star")),A(un,b("p2p-webrtc-star"))),Fg=W(A(an,b("p2p-websocket-star"),b("p2p")),A(un,b("p2p-websocket-star"),b("p2p")),A(an,b("p2p-websocket-star")),A(un,b("p2p-websocket-star"))),js=W(A(Zo,b("p2p-webrtc-direct"),b("p2p")),A(Xo,b("p2p-webrtc-direct"),b("p2p")),A(Zo,b("p2p-webrtc-direct")),A(Xo,b("p2p-webrtc-direct"))),we=W(Wo,Yo,Zo,Xo,Qs,js,ie,al,ul,be,Xs,Js),Gg=W(A(we,b("p2p-stardust"),b("p2p")),A(we,b("p2p-stardust"))),oe=W(A(we,b("p2p")),Qs,js,Xs,Js,b("p2p")),Zs=W(A(oe,b("p2p-circuit"),oe),A(oe,b("p2p-circuit")),A(b("p2p-circuit"),oe),A(we,b("p2p-circuit")),A(b("p2p-circuit"),we),b("p2p-circuit")),tc=()=>W(A(Zs,tc),Zs),ye=tc(),zg=W(A(ye,oe,ye),A(oe,ye),A(ye,oe),ye,oe);var Hg=W(A(ye,b("webrtc"),b("p2p")),A(ye,b("webrtc")),A(we,b("webrtc"),b("p2p")),A(we,b("webrtc")),b("webrtc"));function ec(r){function t(e){let n;try{n=nt(e)}catch{return!1}let o=r(n.protoNames());return o===null?!1:o===!0||o===!1?o:o.length===0}return t}function A(...r){function t(e){if(e.length(n=typeof o=="function"?o().partialMatch(e):o.partialMatch(e),Array.isArray(n)&&(e=n),n===null)),n}return{toString:function(){return"{ "+r.join(" ")+" }"},input:r,matches:ec(t),partialMatch:t}}function W(...r){function t(n){let o=null;return r.some(i=>{let s=typeof i=="function"?i().partialMatch(n):i.partialMatch(n);return s!=null?(o=s,!0):!1}),o}return{toString:function(){return"{ "+r.join(" ")+" }"},input:r,matches:ec(t),partialMatch:t}}function b(r){let t=r;function e(o){let i;try{i=nt(o)}catch{return!1}let s=i.protoNames();return s.length===1&&s[0]===t}function n(o){return o.length===0?null:o[0]===t?o.slice(1):null}return{toString:function(){return t},matches:e,partialMatch:n}}var dn=class extends Event{type;detail;constructor(t,e){super(t),this.type=t,this.detail=e}};var cc=pt(Z("net"),1);var Jo={ERR_INVALID_IP_PARAMETER:"ERR_INVALID_IP_PARAMETER",ERR_INVALID_PORT_PARAMETER:"ERR_INVALID_PORT_PARAMETER",ERR_INVALID_IP:"ERR_INVALID_IP"};function rc(r,t){if(typeof r!="string")throw new X(`invalid ip provided: ${r}`,Jo.ERR_INVALID_IP_PARAMETER);if(typeof t=="string"&&(t=parseInt(t)),isNaN(t))throw new X(`invalid port provided: ${t}`,Jo.ERR_INVALID_PORT_PARAMETER);if((0,At.isIPv4)(r))return nt(`/ip4/${r}/tcp/${t}`);if((0,At.isIPv6)(r))return nt(`/ip6/${r}/tcp/${t}`);throw new X(`invalid ip:port for creating a multiaddr: ${r}:${t}`,Jo.ERR_INVALID_IP)}function nc(r){if(hl(r))return async function*(){let t=r.getReader();try{for(;;){let{done:e,value:n}=await t.read();if(e)return;yield n}}finally{t.releaseLock()}}();if(dl(r))return r;throw new Error("unknown stream")}function dl(r){return r[Symbol.asyncIterator]!=null}function hl(r){return typeof r?.getReader=="function"}function oc(r){return async t=>{let e=async()=>{pl(t)&&await t.return(void 0)},n,o,i=m=>{n=m,e().catch(w=>{w=new AggregateError([n,w],"The Writable emitted an error, additionally an error occurred while ending the Source")}).finally(()=>{o?.(m)})},s,c=!1,a=()=>{c=!0,s?.()},d,l=!1,u=()=>{l=!0,d?.()},g,y=()=>{g?.()},h=async()=>new Promise((m,w)=>{s=g=m,o=w,r.once("drain",y)}),f=async()=>(await e(),new Promise((m,w)=>{if(c||l||n!=null){m();return}d=s=m,o=w})),p=()=>{r.removeListener("error",i),r.removeListener("close",a),r.removeListener("finish",u),r.removeListener("drain",y)};r.once("error",i),r.once("close",a),r.once("finish",u);try{for await(let m of t){if(!r.writable||r.destroyed||n!=null)break;r.write(m)||await h()}}catch(m){n==null&&r.destroy(m),n=m}try{if(r.writable&&r.end(),await f(),n!=null)throw n}finally{p()}}}function pl(r){return r.return!=null}function Qo(r){return{sink:oc(r),source:nc(r)}}var jo=pt(Z("os"),1),ic=pt(Z("path"),1);var ml={ip4:"IPv4",ip6:"IPv6"};function Me(r,t={}){let e=r.getPath();return e!=null?jo.default.platform()==="win32"?{path:ic.default.join("\\\\.\\pipe\\",e)}:{path:e}:{...t,...r.toOptions()}}function ti(r,t,e){let n=o=>nt(`/${r}/${o}/tcp/${e}`);return(gl(t)?bl(ml[r]):[t]).map(n)}function gl(r){return["0.0.0.0","::"].includes(r)}var yl=jo.default.networkInterfaces();function bl(r){let t=[];for(let[,e]of Object.entries(yl))if(e!=null)for(let n of e)n.family===r&&t.push(n.address);return t}var hn=(r,t)=>{let e=null,n=t.logger.forComponent("libp2p:tcp:socket"),o=t.metrics,i=t.metricPrefix??"",s=t.socketInactivityTimeout??3e5,c=t.socketCloseTimeout??500;t.listeningAddr?.getPath()!=null&&(t.remoteAddr=t.listeningAddr),t.remoteAddr?.getPath()!=null&&(t.localAddr=t.remoteAddr);let a;if(t.remoteAddr!=null)a=t.remoteAddr;else{if(r.remoteAddress==null||r.remotePort==null)throw new X("Could not determine remote address or port","ERR_NO_REMOTE_ADDRESS");a=rc(r.remoteAddress,r.remotePort)}let d=Me(a),l=d.path??`${d.host??""}:${d.port??""}`,{sink:u,source:g}=Qo(r);r.setTimeout(s,()=>{n("%s socket read timeout",l),o?.increment({[`${i}timeout`]:!0});let h;r.readable&&(h=new X("Socket read timeout","ERR_SOCKET_READ_TIMEOUT")),r.destroy(h)}),r.once("close",()=>{n("%s socket close",l),o?.increment({[`${i}close`]:!0}),y.timeline.close==null&&(y.timeline.close=Date.now())}),r.once("end",()=>{n("%s socket end",l),o?.increment({[`${i}end`]:!0})});let y={async sink(h){try{await u(async function*(){for await(let f of h)f instanceof Uint8Array?yield f:yield f.subarray()}())}catch(f){f.type!=="aborted"&&n.error("%s error in sink",l,f)}r.end()},source:g,remoteAddr:a,timeline:{open:Date.now()},async close(h={}){if(r.destroyed){n("The %s socket is destroyed",l);return}if(e!=null)return n("The %s socket is closed or closing",l),e;if(h.signal==null){let p=AbortSignal.timeout(c);h={...h,signal:p}}let f=()=>{r.destroy(new X("Destroying socket after timeout","ERR_CLOSE_TIMEOUT"))};h.signal?.addEventListener("abort",f);try{n("%s closing socket",l),e=new Promise((p,m)=>{r.once("close",()=>{n("%s socket closed",l),p()}),r.once("error",w=>{n("%s socket error",l,w),y.timeline.close==null&&(y.timeline.close=Date.now()),r.destroyed||m(w)}),r.setTimeout(c),r.end(),r.writableLength>0?r.once("drain",()=>{n("%s socket drained",l),r.destroy()}):r.destroy()}),await e}catch(p){this.abort(p)}finally{h.signal?.removeEventListener("abort",f)}},abort:h=>{n("%s socket abort due to error",l,h),r.destroyed||r.destroy(h),y.timeline.close==null&&(y.timeline.close=Date.now())},log:n};return y};async function sc(r,t){try{await r.close()}catch(e){t.log.error("an error occurred closing the connection",e),r.abort(e)}}var rt;(function(r){r[r.INACTIVE=0]="INACTIVE",r[r.ACTIVE=1]="ACTIVE",r[r.PAUSED=2]="PAUSED"})(rt||(rt={}));var pn=class extends Mr{context;server;connections=new Set;status={code:rt.INACTIVE};metrics;addr;log;constructor(t){if(super(),this.context=t,t.keepAlive=t.keepAlive??!0,t.noDelay=t.noDelay??!0,this.log=t.logger.forComponent("libp2p:tcp:listener"),this.addr="unknown",this.server=cc.default.createServer(t,this.onSocket.bind(this)),t.maxConnections!==void 0&&(this.server.maxConnections=t.maxConnections),t.closeServerOnMaxConnections!=null&&t.closeServerOnMaxConnections.closeAbove= listenBelow","ERR_CONNECTION_LIMITS");this.server.on("listening",()=>{if(t.metrics!=null){let e=this.server.address();e==null?this.addr="unknown":typeof e=="string"?this.addr=e:this.addr=`${e.address}:${e.port}`,t.metrics?.registerMetricGroup("libp2p_tcp_inbound_connections_total",{label:"address",help:"Current active connections in TCP listener",calculate:()=>({[this.addr]:this.connections.size})}),this.metrics={status:t.metrics.registerMetricGroup("libp2p_tcp_listener_status_info",{label:"address",help:"Current status of the TCP listener socket"}),errors:t.metrics.registerMetricGroup("libp2p_tcp_listener_errors_total",{label:"address",help:"Total count of TCP listener errors by type"}),events:t.metrics.registerMetricGroup("libp2p_tcp_listener_events_total",{label:"address",help:"Total count of TCP listener events by type"})},this.metrics?.status.update({[this.addr]:rt.ACTIVE})}this.safeDispatchEvent("listening")}).on("error",e=>{this.metrics?.errors.increment({[`${this.addr} listen_error`]:!0}),this.safeDispatchEvent("error",{detail:e})}).on("close",()=>{this.metrics?.status.update({[this.addr]:this.status.code}),this.status.code!==rt.PAUSED&&this.safeDispatchEvent("close")})}onSocket(t){if(this.status.code!==rt.ACTIVE)throw new X("Server is not listening yet","ERR_SERVER_NOT_RUNNING");t.on("error",n=>{this.log("socket error",n),this.metrics?.events.increment({[`${this.addr} error`]:!0})});let e;try{e=hn(t,{listeningAddr:this.status.listeningAddr,socketInactivityTimeout:this.context.socketInactivityTimeout,socketCloseTimeout:this.context.socketCloseTimeout,metrics:this.metrics?.events,metricPrefix:`${this.addr} `,logger:this.context.logger})}catch(n){this.log.error("inbound connection failed",n),this.metrics?.errors.increment({[`${this.addr} inbound_to_connection`]:!0});return}this.log("new inbound connection %s",e.remoteAddr);try{this.context.upgrader.upgradeInbound(e).then(n=>{this.log("inbound connection upgraded %s",e.remoteAddr),this.connections.add(e),t.once("close",()=>{this.connections.delete(e),this.context.closeServerOnMaxConnections!=null&&this.connections.size{this.log.error("error attempting to listen server once connection count under limit",o),this.context.closeServerOnMaxConnections?.onListenError?.(o)})}),this.context.handler!=null&&this.context.handler(n),this.context.closeServerOnMaxConnections!=null&&this.connections.size>=this.context.closeServerOnMaxConnections.closeAbove&&this.pause(!1).catch(o=>{this.log.error("error attempting to close server once connection count over limit",o)}),this.safeDispatchEvent("connection",{detail:n})}).catch(async n=>{this.log.error("inbound connection failed",n),this.metrics?.errors.increment({[`${this.addr} inbound_upgrade`]:!0}),await sc(e,{log:this.log})}).catch(n=>{this.log.error("closing inbound connection failed",n)})}catch(n){this.log.error("inbound connection failed",n),sc(e,{log:this.log}).catch(o=>{this.log.error("closing inbound connection failed",o),this.metrics?.errors.increment({[`${this.addr} inbound_closing_failed`]:!0})})}}getAddrs(){if(this.status.code===rt.INACTIVE)return[];let t=[],e=this.server.address(),{listeningAddr:n,peerId:o}=this.status;if(e==null)return[];if(typeof e=="string")t=[n];else try{n.toString().startsWith("/ip4")?t=t.concat(ti("ip4",e.address,e.port)):e.family==="IPv6"&&(t=t.concat(ti("ip6",e.address,e.port)))}catch(i){this.log.error("could not turn %s:%s into multiaddr",e.address,e.port,i)}return t.map(i=>o!=null?i.encapsulate(`/p2p/${o}`):i)}async listen(t){if(this.status.code===rt.ACTIVE||this.status.code===rt.PAUSED)throw new X("server is already listening","ERR_SERVER_ALREADY_LISTENING");let e=t.getPeerId(),n=e==null?t.decapsulateCode(421):t,{backlog:o}=this.context;try{this.status={code:rt.ACTIVE,listeningAddr:n,peerId:e,netConfig:Me(n,{backlog:o})},await this.resume()}catch(i){throw this.status={code:rt.INACTIVE},i}}async close(){let t=new X("Listener is closing","ERR_LISTENER_CLOSING");this.connections.forEach(e=>{e.abort(t)}),await this.pause(!0)}async resume(){if(this.server.listening||this.status.code===rt.INACTIVE)return;let t=this.status.netConfig;await new Promise((e,n)=>{this.server.once("error",n),this.server.listen(t,e)}),this.status={...this.status,code:rt.ACTIVE},this.log("listening on %s",this.server.address())}async pause(t){if(!this.server.listening&&this.status.code===rt.PAUSED&&t){this.status={code:rt.INACTIVE};return}!this.server.listening||this.status.code!==rt.ACTIVE||(this.log("closing server on %s",this.server.address()),this.status=t?{code:rt.INACTIVE}:{...this.status,code:rt.PAUSED},await new Promise((e,n)=>{this.server.close(o=>{if(o!=null){n(o);return}e()})}))}};var ei=class{opts;metrics;components;log;constructor(t,e={}){this.log=t.logger.forComponent("libp2p:tcp"),this.opts=e,this.components=t,t.metrics!=null&&(this.metrics={dialerEvents:t.metrics.registerCounterGroup("libp2p_tcp_dialer_events_total",{label:"event",help:"Total count of TCP dialer events by type"})})}[Zi]=!0;[Symbol.toStringTag]="@libp2p/tcp";[Qi]=["@libp2p/transport"];async dial(t,e){e.keepAlive=e.keepAlive??!0,e.noDelay=e.noDelay??!0;let n=await this._connect(t,e);n.on("error",c=>{this.log("socket error",c)});let o=hn(n,{remoteAddr:t,socketInactivityTimeout:this.opts.outboundSocketInactivityTimeout,socketCloseTimeout:this.opts.socketCloseTimeout,metrics:this.metrics?.dialerEvents,logger:this.components.logger}),i=()=>{o.close().catch(c=>{this.log.error("Error closing maConn after abort",c)})};e.signal?.addEventListener("abort",i,{once:!0}),this.log("new outbound connection %s",o.remoteAddr);let s=await e.upgrader.upgradeOutbound(o);if(this.log("outbound connection %s upgraded",o.remoteAddr),e.signal?.removeEventListener("abort",i),e.signal?.aborted===!0)throw s.close().catch(c=>{this.log.error("Error closing conn after abort",c)}),new qe;return s}async _connect(t,e){return e.signal?.throwIfAborted(),e.onProgress?.(new dn("tcp:open-connection")),new Promise((n,o)=>{let i=Date.now(),s=Me(t,{...this.opts.dialOpts??{},...e});this.log("dialing %a",t);let c=ac.default.connect(s),a=y=>{let h=s.path??`${s.host??""}:${s.port}`;y.message=`connection error ${h}: ${y.message}`,this.metrics?.dialerEvents.increment({error:!0}),g(y)},d=()=>{this.log("connection timeout %a",t),this.metrics?.dialerEvents.increment({timeout:!0});let y=new X(`connection timeout after ${Date.now()-i}ms`,"ERR_CONNECT_TIMEOUT");c.emit("error",y)},l=()=>{this.log("connection opened %a",t),this.metrics?.dialerEvents.increment({connect:!0}),g()},u=()=>{this.log("connection aborted %a",t),this.metrics?.dialerEvents.increment({abort:!0}),c.destroy(),g(new qe)},g=y=>{if(c.removeListener("error",a),c.removeListener("timeout",d),c.removeListener("connect",l),e.signal!=null&&e.signal.removeEventListener("abort",u),y!=null){o(y);return}n(c)};c.on("error",a),c.on("timeout",d),c.on("connect",l),e.signal!=null&&e.signal.addEventListener("abort",u)})}createListener(t){return new pn({...this.opts.listenOpts??{},...t,maxConnections:this.opts.maxConnections,backlog:this.opts.backlog,closeServerOnMaxConnections:this.opts.closeServerOnMaxConnections,socketInactivityTimeout:this.opts.inboundSocketInactivityTimeout,socketCloseTimeout:this.opts.socketCloseTimeout,metrics:this.components.metrics,logger:this.components.logger})}listenFilter(t){return t=Array.isArray(t)?t:[t],t.filter(e=>e.protoCodes().includes(290)?!1:e.protoCodes().includes(400)?!0:ie.matches(e.decapsulateCode(421)))}dialFilter(t){return this.listenFilter(t)}};function uc(r={}){return t=>new ei(t,r)}function lc(r,t){let e=Dr(r,t),n={read:async(o,i)=>{let s=await e.read(i);return o.decode(s)},write:async(o,i,s)=>{await e.write(i.encode(o),s)},writeV:async(o,i,s)=>{await e.writeV(o.map(c=>i.encode(c)),s)},pb:o=>({read:async i=>n.read(o,i),write:async(i,s)=>n.write(i,o,s),writeV:async(i,s)=>n.writeV(i,o,s),unwrap:()=>n}),unwrap:()=>e.unwrap()};return n}var xl=fe("libp2p:daemon-client:dht"),mn=class{client;constructor(t){this.client=t}async put(t,e){if(!(t instanceof Uint8Array))throw new D("invalid key received");if(!(e instanceof Uint8Array))throw new D("value received is not a Uint8Array");let n=await this.client.send({type:H.Type.DHT,dht:{type:vt.Type.PUT_VALUE,key:t,value:e}}),o=await n.read(P);if(xl("read",o),await n.unwrap().close(),o.type!==P.Type.OK)throw new Ye(o.error?.msg??"DHT put failed")}async get(t){if(!(t instanceof Uint8Array))throw new D("invalid key received");let e=await this.client.send({type:H.Type.DHT,dht:{type:vt.Type.GET_VALUE,key:t}}),n=await e.read(P);if(await e.unwrap().close(),n.type!==P.Type.OK)throw new O(n.error?.msg??"DHT get failed");if(n.dht?.value==null)throw new O("Invalid DHT get response");return n.dht.value}async findPeer(t){if(!Pe(t))throw new D("invalid peer id received");let e=await this.client.send({type:H.Type.DHT,dht:{type:vt.Type.FIND_PEER,peer:t.toMultihash().bytes}}),n=await e.read(P);if(await e.unwrap().close(),n.type!==P.Type.OK)throw new O(n.error?.msg??"DHT find peer failed");if(n.dht?.peer?.addrs==null)throw new O("Invalid response");return{id:Ft(ft(n.dht.peer.id)),multiaddrs:n.dht.peer.addrs.map(o=>nt(o))}}async provide(t){if(t==null||tt.asCID(t)==null)throw new D("invalid cid received");let e=await this.client.send({type:H.Type.DHT,dht:{type:vt.Type.PROVIDE,cid:t.bytes}}),n=await e.read(P);if(await e.unwrap().close(),n.type!==P.Type.OK)throw new O(n.error?.msg??"DHT provide failed")}async*findProviders(t,e=1){if(t==null||tt.asCID(t)==null)throw new D("invalid cid received");let n=await this.client.send({type:H.Type.DHT,dht:{type:vt.Type.FIND_PROVIDERS,cid:t.bytes,count:e}}),o=await n.read(P);if(o.type!==P.Type.OK)throw await n.unwrap().close(),new O(o.error?.msg??"DHT find providers failed");for(;;){let i=await n.read(Pt);if(i.type===Pt.Type.END){await n.unwrap().close();return}if(i.type===Pt.Type.VALUE&&i.peer?.addrs!=null)yield{id:Ft(ft(i.peer.id)),multiaddrs:i.peer.addrs.map(s=>nt(s))};else throw await n.unwrap().close(),new Ye("unexpected message received")}}async*getClosestPeers(t){if(!(t instanceof Uint8Array))throw new D("invalid key received");let e=await this.client.send({type:H.Type.DHT,dht:{type:vt.Type.GET_CLOSEST_PEERS,key:t}}),n=await e.read(P);if(n.type!==P.Type.OK)throw await e.unwrap().close(),new O(n.error?.msg??"DHT find providers failed");for(;;){let o=await e.read(Pt);if(o.type===Pt.Type.END){await e.unwrap().close();return}if(o.type===Pt.Type.VALUE&&o.value!=null)yield{id:Ft(ft(o.value)),multiaddrs:[]};else throw await e.unwrap().close(),new We("unexpected message received")}}async getPublicKey(t){if(!Pe(t))throw new D("invalid peer id received");let e=await this.client.send({type:H.Type.DHT,dht:{type:vt.Type.GET_PUBLIC_KEY,peer:t.toMultihash().bytes}}),n=await e.read(P);if(await e.unwrap().close(),n.type!==P.Type.OK)throw new O(n.error?.msg??"DHT get public key failed");if(n.dht==null)throw new We("Invalid response");return n.dht.value}};var gn=class{client;constructor(t){this.client=t}async getTopics(){let t=await this.client.send({type:H.Type.PUBSUB,pubsub:{type:Mt.Type.GET_TOPICS}}),e=await t.read(P);if(await t.unwrap().close(),e.type!==P.Type.OK)throw new O(e.error?.msg??"Pubsub get topics failed");if(e.pubsub?.topics==null)throw new O("Invalid response");return e.pubsub.topics}async publish(t,e){if(typeof t!="string")throw new D("invalid topic received");if(!(e instanceof Uint8Array))throw new D("data received is not a Uint8Array");let n=await this.client.send({type:H.Type.PUBSUB,pubsub:{type:Mt.Type.PUBLISH,topic:t,data:e}}),o=await n.read(P);if(await n.unwrap().close(),o.type!==P.Type.OK)throw new O(o.error?.msg??"Pubsub publish failed")}async subscribe(t){if(typeof t!="string")throw new D("invalid topic received");let e=await this.client.send({type:H.Type.PUBSUB,pubsub:{type:Mt.Type.SUBSCRIBE,topic:t}}),n=await e.read(P);if(n.type!==P.Type.OK)throw new O(n.error?.msg??"Pubsub publish failed");let o=!0;return{async*messages(){for(;o;)yield await e.read(yr)},async cancel(){o=!1,await e.unwrap().close()}}}async getSubscribers(t){if(typeof t!="string")throw new D("invalid topic received");let e=await this.client.send({type:H.Type.PUBSUB,pubsub:{type:Mt.Type.LIST_PEERS,topic:t}}),n=await e.read(P);if(await e.unwrap().close(),n.type!==P.Type.OK)throw new O(n.error?.msg??"Pubsub get subscribers failed");if(n.pubsub?.topics==null)throw new O("Invalid response");return n.pubsub.peerIDs.map(o=>Ft(ft(o)))}};var ri=fe("libp2p:daemon-client"),O=class extends Error{constructor(t="Operation failed"){super(t),this.name="OperationFailedError"}},ni=class{multiaddr;dht;pubsub;tcp;constructor(t){this.multiaddr=t,this.tcp=uc()({logger:Vi()}),this.dht=new mn(this),this.pubsub=new gn(this)}async connectDaemon(){return this.tcp.dial(this.multiaddr,{upgrader:po})}async send(t){let e=await this.connectDaemon(),n=t.pubsub?.type??t.dht?.type??t.peerStore?.type??"";ri("send",t.type,n);let o=lc(e);return await o.write(t,H),o}async connect(t,e){if(!Pe(t))throw new D("invalid peer id received");if(!Array.isArray(e))throw new D("addrs received are not in an array");e.forEach(i=>{if(!cn(i))throw new D("received an address that is not a multiaddr")});let n=await this.send({type:H.Type.CONNECT,connect:{peer:t.toMultihash().bytes,addrs:e.map(i=>i.bytes)}}),o=await n.read(P);if(o.type!==P.Type.OK){let i=o.error??{msg:"unspecified"};throw new O(i.msg??"unspecified")}await n.unwrap().close()}async identify(){let t=await this.send({type:H.Type.IDENTIFY}),e=await t.read(P);if(e.type!==P.Type.OK)throw new O(e.error?.msg??"Identify failed");if(e.identify?.addrs==null)throw new O("Invalid response");let n=Ft(ft(e.identify?.id)),o=e.identify.addrs.map(i=>nt(i));return await t.unwrap().close(),{peerId:n,addrs:o}}async listPeers(){let t=await this.send({type:H.Type.LIST_PEERS}),e=await t.read(P);if(e.type!==P.Type.OK)throw new O(e.error?.msg??"List peers failed");return await t.unwrap().close(),e.peers.map(n=>Ft(ft(n.id)))}async openStream(t,e){if(!Pe(t))throw new D("invalid peer id received");if(typeof e!="string")throw new D("invalid protocol received");let n=await this.send({type:H.Type.STREAM_OPEN,streamOpen:{peer:t.toMultihash().bytes,proto:[e]}}),o=await n.read(P);if(o.type!==P.Type.OK)throw await n.unwrap().close(),new O(o.error?.msg??"Open stream failed");return n.unwrap()}async registerStreamHandler(t,e){if(typeof t!="string")throw new D("invalid protocol received");let n=this.tcp.createListener({upgrader:po,handler:c=>{Promise.resolve().then(async()=>{let a=new Or({stream:c}),d=await a.read();if(d==null)throw new O("Could not read open stream response");if(Le.decode(d).proto!==t)throw new O("Incorrect protocol");await e(a.rest())}).catch(a=>{c.abort(a)}).finally(()=>{c.close().catch(a=>{ri.error(a)}),n.close().catch(a=>{ri.error(a)})})}});await n.listen(nt("/ip4/127.0.0.1/tcp/0"));let o=n.getAddrs()[0];if(o==null)throw new O("Could not listen on port");let i=await this.send({type:H.Type.STREAM_HANDLER,streamHandler:{addr:o.bytes,proto:[t]}}),s=await i.read(P);if(await i.unwrap().close(),s.type!==P.Type.OK)throw new O(s.error?.msg??"Register stream handler failed")}};function El(r){return new ni(r)}return gc(vl);})(); +/*! Bundled license information: + +@noble/hashes/esm/utils.js: @@ -37,21 +37,35 @@ index 7aa56da..94f2543 100644 + (*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) *) +*/ return Libp2PDaemonClient})); +diff --git a/node_modules/@libp2p/daemon-client/dist/src/dht.d.ts b/node_modules/@libp2p/daemon-client/dist/src/dht.d.ts +index 00b3625..1b69d43 100644 +--- a/node_modules/@libp2p/daemon-client/dist/src/dht.d.ts ++++ b/node_modules/@libp2p/daemon-client/dist/src/dht.d.ts +@@ -1,6 +1,6 @@ + import { type PeerId, type PeerInfo } from '@libp2p/interface'; + import { CID } from 'multiformats/cid'; +-import type { DaemonClient } from './index.js'; ++import { type DaemonClient } from './index.js'; + export declare class DHT { + private readonly client; + constructor(client: DaemonClient); diff --git a/node_modules/@libp2p/daemon-client/dist/src/dht.d.ts.map b/node_modules/@libp2p/daemon-client/dist/src/dht.d.ts.map -index 8de3e2e..4ba0db5 100644 +index 8de3e2e..1903691 100644 --- a/node_modules/@libp2p/daemon-client/dist/src/dht.d.ts.map +++ b/node_modules/@libp2p/daemon-client/dist/src/dht.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"dht.d.ts","sourceRoot":"","sources":["../../src/dht.ts"],"names":[],"mappings":"AAOA,OAAO,EAAY,KAAK,MAAM,EAAE,KAAK,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAIxE,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAA;AACtC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAI9C,qBAAa,GAAG;IACd,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAc;gBAExB,MAAM,EAAE,YAAY;IAIjC;;OAEG;IACG,GAAG,CAAE,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IA6B7D;;OAEG;IACG,GAAG,CAAE,GAAG,EAAE,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;IA4BhD;;OAEG;IACG,QAAQ,CAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC;IA+BlD;;OAEG;IACG,OAAO,CAAE,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;IAsBvC;;OAEG;IACK,aAAa,CAAE,GAAG,EAAE,GAAG,EAAE,KAAK,GAAE,MAAU,GAAG,aAAa,CAAC,QAAQ,CAAC;IA6C5E;;OAEG;IACK,eAAe,CAAE,GAAG,EAAE,UAAU,GAAG,aAAa,CAAC,QAAQ,CAAC;IA8ClE;;OAEG;IACG,YAAY,CAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,GAAG,SAAS,CAAC;CA2BrE"} \ No newline at end of file -+{"version":3,"file":"dht.d.ts","sourceRoot":"","sources":["../../src/dht.ts"],"names":[],"mappings":"AAOA,OAAO,EAAY,KAAK,MAAM,EAAE,KAAK,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAIxE,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAA;AAEtC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAI9C,qBAAa,GAAG;IACd,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAc;gBAExB,MAAM,EAAE,YAAY;IAIjC;;OAEG;IACG,GAAG,CAAE,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IA6B7D;;OAEG;IACG,GAAG,CAAE,GAAG,EAAE,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;IA4BhD;;OAEG;IACG,QAAQ,CAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC;IA+BlD;;OAEG;IACG,OAAO,CAAE,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;IAsBvC;;OAEG;IACK,aAAa,CAAE,GAAG,EAAE,GAAG,EAAE,KAAK,GAAE,MAAU,GAAG,aAAa,CAAC,QAAQ,CAAC;IA6C5E;;OAEG;IACK,eAAe,CAAE,GAAG,EAAE,UAAU,GAAG,aAAa,CAAC,QAAQ,CAAC;IA8ClE;;OAEG;IACG,YAAY,CAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,GAAG,SAAS,CAAC;CA2BrE"} ++{"version":3,"file":"dht.d.ts","sourceRoot":"","sources":["../../src/dht.ts"],"names":[],"mappings":"AAOA,OAAO,EAAY,KAAK,MAAM,EAAE,KAAK,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAIxE,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAA;AAEtC,OAAO,EAAwB,KAAK,YAAY,EAAE,MAAM,YAAY,CAAA;AAIpE,qBAAa,GAAG;IACd,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAc;gBAExB,MAAM,EAAE,YAAY;IAIjC;;OAEG;IACG,GAAG,CAAE,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IA6B7D;;OAEG;IACG,GAAG,CAAE,GAAG,EAAE,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;IA4BhD;;OAEG;IACG,QAAQ,CAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC;IA+BlD;;OAEG;IACG,OAAO,CAAE,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;IAsBvC;;OAEG;IACK,aAAa,CAAE,GAAG,EAAE,GAAG,EAAE,KAAK,GAAE,MAAU,GAAG,aAAa,CAAC,QAAQ,CAAC;IA6C5E;;OAEG;IACK,eAAe,CAAE,GAAG,EAAE,UAAU,GAAG,aAAa,CAAC,QAAQ,CAAC;IA8ClE;;OAEG;IACG,YAAY,CAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,GAAG,SAAS,CAAC;CA2BrE"} \ No newline at end of file diff --git a/node_modules/@libp2p/daemon-client/dist/src/dht.js b/node_modules/@libp2p/daemon-client/dist/src/dht.js -index 8f82e99..ca07df4 100644 +index 8f82e99..45ad01e 100644 --- a/node_modules/@libp2p/daemon-client/dist/src/dht.js +++ b/node_modules/@libp2p/daemon-client/dist/src/dht.js -@@ -2,9 +2,10 @@ import { Request, Response, DHTRequest, DHTResponse } from '@libp2p/daemon-proto - import { CodeError } from '@libp2p/interface'; +@@ -1,10 +1,12 @@ + import { Request, Response, DHTRequest, DHTResponse } from '@libp2p/daemon-protocol'; +-import { CodeError } from '@libp2p/interface'; ++import { InvalidMessageError, InvalidParametersError, ProtocolError } from '@libp2p/interface'; import { isPeerId } from '@libp2p/interface'; import { logger } from '@libp2p/logger'; -import { peerIdFromBytes } from '@libp2p/peer-id'; @@ -59,19 +73,63 @@ index 8f82e99..ca07df4 100644 import { multiaddr } from '@multiformats/multiaddr'; import { CID } from 'multiformats/cid'; +import * as Digest from 'multiformats/hashes/digest'; ++import { OperationFailedError } from './index.js'; const log = logger('libp2p:daemon-client:dht'); export class DHT { client; -@@ -55,7 +56,7 @@ export class DHT { +@@ -16,10 +18,10 @@ export class DHT { + */ + async put(key, value) { + if (!(key instanceof Uint8Array)) { +- throw new CodeError('invalid key received', 'ERR_INVALID_KEY'); ++ throw new InvalidParametersError('invalid key received'); + } + if (!(value instanceof Uint8Array)) { +- throw new CodeError('value received is not a Uint8Array', 'ERR_INVALID_VALUE'); ++ throw new InvalidParametersError('value received is not a Uint8Array'); + } + const sh = await this.client.send({ + type: Request.Type.DHT, +@@ -33,7 +35,7 @@ export class DHT { + log('read', response); + await sh.unwrap().close(); + if (response.type !== Response.Type.OK) { +- throw new CodeError(response.error?.msg ?? 'DHT put failed', 'ERR_DHT_PUT_FAILED'); ++ throw new ProtocolError(response.error?.msg ?? 'DHT put failed'); + } + } + /** +@@ -41,7 +43,7 @@ export class DHT { + */ + async get(key) { + if (!(key instanceof Uint8Array)) { +- throw new CodeError('invalid key received', 'ERR_INVALID_KEY'); ++ throw new InvalidParametersError('invalid key received'); + } + const sh = await this.client.send({ + type: Request.Type.DHT, +@@ -53,10 +55,10 @@ export class DHT { + const response = await sh.read(Response); + await sh.unwrap().close(); if (response.type !== Response.Type.OK) { - throw new CodeError(response.error?.msg ?? 'DHT get failed', 'ERR_DHT_GET_FAILED'); +- throw new CodeError(response.error?.msg ?? 'DHT get failed', 'ERR_DHT_GET_FAILED'); ++ throw new OperationFailedError(response.error?.msg ?? 'DHT get failed'); } - if (response.dht == null || response.dht.value == null) { +- throw new CodeError('Invalid DHT get response', 'ERR_DHT_GET_FAILED'); + if (response.dht?.value == null) { - throw new CodeError('Invalid DHT get response', 'ERR_DHT_GET_FAILED'); ++ throw new OperationFailedError('Invalid DHT get response'); } return response.dht.value; -@@ -71,7 +72,7 @@ export class DHT { + } +@@ -65,25 +67,25 @@ export class DHT { + */ + async findPeer(peerId) { + if (!isPeerId(peerId)) { +- throw new CodeError('invalid peer id received', 'ERR_INVALID_PEER_ID'); ++ throw new InvalidParametersError('invalid peer id received'); + } + const sh = await this.client.send({ type: Request.Type.DHT, dht: { type: DHTRequest.Type.FIND_PEER, @@ -80,13 +138,15 @@ index 8f82e99..ca07df4 100644 } }); const response = await sh.read(Response); -@@ -79,11 +80,11 @@ export class DHT { + await sh.unwrap().close(); if (response.type !== Response.Type.OK) { - throw new CodeError(response.error?.msg ?? 'DHT find peer failed', 'ERR_DHT_FIND_PEER_FAILED'); +- throw new CodeError(response.error?.msg ?? 'DHT find peer failed', 'ERR_DHT_FIND_PEER_FAILED'); ++ throw new OperationFailedError(response.error?.msg ?? 'DHT find peer failed'); } - if (response.dht == null || response.dht.peer == null || response.dht.peer.addrs == null) { +- throw new CodeError('Invalid response', 'ERR_DHT_FIND_PEER_FAILED'); + if (response.dht?.peer?.addrs == null) { - throw new CodeError('Invalid response', 'ERR_DHT_FIND_PEER_FAILED'); ++ throw new OperationFailedError('Invalid response'); } return { - id: peerIdFromBytes(response.dht.peer.id), @@ -94,7 +154,43 @@ index 8f82e99..ca07df4 100644 multiaddrs: response.dht.peer.addrs.map((a) => multiaddr(a)) }; } -@@ -136,9 +137,9 @@ export class DHT { +@@ -92,7 +94,7 @@ export class DHT { + */ + async provide(cid) { + if (cid == null || CID.asCID(cid) == null) { +- throw new CodeError('invalid cid received', 'ERR_INVALID_CID'); ++ throw new InvalidParametersError('invalid cid received'); + } + const sh = await this.client.send({ + type: Request.Type.DHT, +@@ -104,7 +106,7 @@ export class DHT { + const response = await sh.read(Response); + await sh.unwrap().close(); + if (response.type !== Response.Type.OK) { +- throw new CodeError(response.error?.msg ?? 'DHT provide failed', 'ERR_DHT_PROVIDE_FAILED'); ++ throw new OperationFailedError(response.error?.msg ?? 'DHT provide failed'); + } + } + /** +@@ -112,7 +114,7 @@ export class DHT { + */ + async *findProviders(cid, count = 1) { + if (cid == null || CID.asCID(cid) == null) { +- throw new CodeError('invalid cid received', 'ERR_INVALID_CID'); ++ throw new InvalidParametersError('invalid cid received'); + } + const sh = await this.client.send({ + type: Request.Type.DHT, +@@ -126,7 +128,7 @@ export class DHT { + const response = await sh.read(Response); + if (response.type !== Response.Type.OK) { + await sh.unwrap().close(); +- throw new CodeError(response.error?.msg ?? 'DHT find providers failed', 'ERR_DHT_FIND_PROVIDERS_FAILED'); ++ throw new OperationFailedError(response.error?.msg ?? 'DHT find providers failed'); + } + while (true) { + const dhtResponse = await sh.read(DHTResponse); +@@ -136,16 +138,16 @@ export class DHT { return; } // Stream values @@ -106,7 +202,33 @@ index 8f82e99..ca07df4 100644 multiaddrs: dhtResponse.peer.addrs.map((a) => multiaddr(a)) }; } -@@ -178,7 +179,7 @@ export class DHT { + else { + // Unexpected message received + await sh.unwrap().close(); +- throw new CodeError('unexpected message received', 'ERR_UNEXPECTED_MESSAGE_RECEIVED'); ++ throw new ProtocolError('unexpected message received'); + } + } + } +@@ -154,7 +156,7 @@ export class DHT { + */ + async *getClosestPeers(key) { + if (!(key instanceof Uint8Array)) { +- throw new CodeError('invalid key received', 'ERR_INVALID_KEY'); ++ throw new InvalidParametersError('invalid key received'); + } + const sh = await this.client.send({ + type: Request.Type.DHT, +@@ -167,7 +169,7 @@ export class DHT { + const response = await sh.read(Response); + if (response.type !== Response.Type.OK) { + await sh.unwrap().close(); +- throw new CodeError(response.error?.msg ?? 'DHT find providers failed', 'ERR_DHT_FIND_PROVIDERS_FAILED'); ++ throw new OperationFailedError(response.error?.msg ?? 'DHT find providers failed'); + } + while (true) { + const dhtResponse = await sh.read(DHTResponse); +@@ -178,7 +180,7 @@ export class DHT { } // Stream values if (dhtResponse.type === DHTResponse.Type.VALUE && dhtResponse.value != null) { @@ -115,7 +237,23 @@ index 8f82e99..ca07df4 100644 yield { id: peerId, multiaddrs: [] -@@ -202,7 +203,7 @@ export class DHT { +@@ -187,7 +189,7 @@ export class DHT { + else { + // Unexpected message received + await sh.unwrap().close(); +- throw new CodeError('unexpected message received', 'ERR_UNEXPECTED_MESSAGE_RECEIVED'); ++ throw new InvalidMessageError('unexpected message received'); + } + } + } +@@ -196,22 +198,22 @@ export class DHT { + */ + async getPublicKey(peerId) { + if (!isPeerId(peerId)) { +- throw new CodeError('invalid peer id received', 'ERR_INVALID_PEER_ID'); ++ throw new InvalidParametersError('invalid peer id received'); + } + const sh = await this.client.send({ type: Request.Type.DHT, dht: { type: DHTRequest.Type.GET_PUBLIC_KEY, @@ -124,31 +262,59 @@ index 8f82e99..ca07df4 100644 } }); const response = await sh.read(Response); + await sh.unwrap().close(); + if (response.type !== Response.Type.OK) { +- throw new CodeError(response.error?.msg ?? 'DHT get public key failed', 'ERR_DHT_GET_PUBLIC_KEY_FAILED'); ++ throw new OperationFailedError(response.error?.msg ?? 'DHT get public key failed'); + } + if (response.dht == null) { +- throw new CodeError('Invalid response', 'ERR_DHT_GET_PUBLIC_KEY_FAILED'); ++ throw new InvalidMessageError('Invalid response'); + } + return response.dht.value; + } diff --git a/node_modules/@libp2p/daemon-client/dist/src/dht.js.map b/node_modules/@libp2p/daemon-client/dist/src/dht.js.map -index 9e36562..a7a1487 100644 +index 9e36562..c4c4cfe 100644 --- a/node_modules/@libp2p/daemon-client/dist/src/dht.js.map +++ b/node_modules/@libp2p/daemon-client/dist/src/dht.js.map @@ -1 +1 @@ -{"version":3,"file":"dht.js","sourceRoot":"","sources":["../../src/dht.ts"],"names":[],"mappings":"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"} \ No newline at end of file -+{"version":3,"file":"dht.js","sourceRoot":"","sources":["../../src/dht.ts"],"names":[],"mappings":"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"} ++{"version":3,"file":"dht.js","sourceRoot":"","sources":["../../src/dht.ts"],"names":[],"mappings":"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"} \ No newline at end of file +diff --git a/node_modules/@libp2p/daemon-client/dist/src/index.d.ts b/node_modules/@libp2p/daemon-client/dist/src/index.d.ts +index 949c8e6..b657509 100644 +--- a/node_modules/@libp2p/daemon-client/dist/src/index.d.ts ++++ b/node_modules/@libp2p/daemon-client/dist/src/index.d.ts +@@ -3,6 +3,9 @@ import { type ProtobufStream } from 'it-protobuf-stream'; + import type { Stream, PeerId, MultiaddrConnection, PeerInfo } from '@libp2p/interface'; + import type { Multiaddr } from '@multiformats/multiaddr'; + import type { CID } from 'multiformats/cid'; ++export declare class OperationFailedError extends Error { ++ constructor(message?: string); ++} + export interface IdentifyResult { + peerId: PeerId; + addrs: Multiaddr[]; diff --git a/node_modules/@libp2p/daemon-client/dist/src/index.d.ts.map b/node_modules/@libp2p/daemon-client/dist/src/index.d.ts.map -index 82a7e50..9a30ca5 100644 +index 82a7e50..625b51e 100644 --- a/node_modules/@libp2p/daemon-client/dist/src/index.d.ts.map +++ b/node_modules/@libp2p/daemon-client/dist/src/index.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,SAAS,EAAE,OAAO,EAAwB,MAAM,yBAAyB,CAAA;AAQvF,OAAO,EAAY,KAAK,cAAc,EAAE,MAAM,oBAAoB,CAAA;AAGlE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,mBAAmB,EAAE,QAAQ,EAAa,MAAM,mBAAmB,CAAA;AACjG,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AACxD,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAA;AA6O3C,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,CAAA;IACd,KAAK,EAAE,SAAS,EAAE,CAAA;CACnB;AAED,MAAM,WAAW,qBAAqB;IACpC,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;CAChC;AAED,MAAM,WAAW,SAAS;IACxB,GAAG,CAAC,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IACtD,GAAG,CAAC,GAAG,EAAE,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,CAAA;IACzC,OAAO,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAChC,aAAa,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAA;IAChE,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAA;IAC3C,eAAe,CAAC,GAAG,EAAE,UAAU,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAA;CAC1D;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,IAAI,aAAa,CAAC,SAAS,CAAC,CAAA;IACpC,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;CACxB;AAED,MAAM,WAAW,YAAY;IAC3B,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IACvD,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CAAA;IAC/C,SAAS,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CAAA;IAC9B,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAA;CACjD;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,IAAI,OAAO,CAAC,cAAc,CAAC,CAAA;IACnC,SAAS,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CAAA;IAC9B,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAC1D,GAAG,EAAE,SAAS,CAAA;IACd,MAAM,EAAE,YAAY,CAAA;IAEpB,IAAI,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,cAAc,CAAC,mBAAmB,CAAC,CAAC,CAAA;IACpE,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAA;IAC1E,qBAAqB,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;CACvF;AAED,wBAAgB,YAAY,CAAE,SAAS,EAAE,SAAS,GAAG,YAAY,CAEhE"} \ No newline at end of file -+{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,SAAS,EAAE,OAAO,EAAwB,MAAM,yBAAyB,CAAA;AAQvF,OAAO,EAAY,KAAK,cAAc,EAAE,MAAM,oBAAoB,CAAA;AAIlE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,mBAAmB,EAAE,QAAQ,EAAa,MAAM,mBAAmB,CAAA;AACjG,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AACxD,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAA;AAgP3C,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,CAAA;IACd,KAAK,EAAE,SAAS,EAAE,CAAA;CACnB;AAED,MAAM,WAAW,qBAAqB;IACpC,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;CAChC;AAED,MAAM,WAAW,SAAS;IACxB,GAAG,CAAC,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IACtD,GAAG,CAAC,GAAG,EAAE,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,CAAA;IACzC,OAAO,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAChC,aAAa,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAA;IAChE,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAA;IAC3C,eAAe,CAAC,GAAG,EAAE,UAAU,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAA;CAC1D;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,IAAI,aAAa,CAAC,SAAS,CAAC,CAAA;IACpC,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;CACxB;AAED,MAAM,WAAW,YAAY;IAC3B,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IACvD,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CAAA;IAC/C,SAAS,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CAAA;IAC9B,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAA;CACjD;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,IAAI,OAAO,CAAC,cAAc,CAAC,CAAA;IACnC,SAAS,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CAAA;IAC9B,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAC1D,GAAG,EAAE,SAAS,CAAA;IACd,MAAM,EAAE,YAAY,CAAA;IAEpB,IAAI,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,cAAc,CAAC,mBAAmB,CAAC,CAAC,CAAA;IACpE,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAA;IAC1E,qBAAqB,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;CACvF;AAED,wBAAgB,YAAY,CAAE,SAAS,EAAE,SAAS,GAAG,YAAY,CAEhE"} ++{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,SAAS,EAAE,OAAO,EAAwB,MAAM,yBAAyB,CAAA;AAQvF,OAAO,EAAY,KAAK,cAAc,EAAE,MAAM,oBAAoB,CAAA;AAIlE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,mBAAmB,EAAE,QAAQ,EAAa,MAAM,mBAAmB,CAAA;AACjG,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AACxD,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAA;AAI3C,qBAAa,oBAAqB,SAAQ,KAAK;gBAChC,OAAO,SAAqB;CAI1C;AA8OD,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,CAAA;IACd,KAAK,EAAE,SAAS,EAAE,CAAA;CACnB;AAED,MAAM,WAAW,qBAAqB;IACpC,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;CAChC;AAED,MAAM,WAAW,SAAS;IACxB,GAAG,CAAC,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IACtD,GAAG,CAAC,GAAG,EAAE,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,CAAA;IACzC,OAAO,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAChC,aAAa,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAA;IAChE,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAA;IAC3C,eAAe,CAAC,GAAG,EAAE,UAAU,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAA;CAC1D;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,IAAI,aAAa,CAAC,SAAS,CAAC,CAAA;IACpC,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;CACxB;AAED,MAAM,WAAW,YAAY;IAC3B,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IACvD,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CAAA;IAC/C,SAAS,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CAAA;IAC9B,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAA;CACjD;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,IAAI,OAAO,CAAC,cAAc,CAAC,CAAA;IACnC,SAAS,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CAAA;IAC9B,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAC1D,GAAG,EAAE,SAAS,CAAA;IACd,MAAM,EAAE,YAAY,CAAA;IAEpB,IAAI,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,cAAc,CAAC,mBAAmB,CAAC,CAAC,CAAA;IACpE,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAA;IAC1E,qBAAqB,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;CACvF;AAED,wBAAgB,YAAY,CAAE,SAAS,EAAE,SAAS,GAAG,YAAY,CAEhE"} \ No newline at end of file diff --git a/node_modules/@libp2p/daemon-client/dist/src/index.js b/node_modules/@libp2p/daemon-client/dist/src/index.js -index 19585b1..7ca5f0a 100644 +index 19585b1..0c1ae7c 100644 --- a/node_modules/@libp2p/daemon-client/dist/src/index.js +++ b/node_modules/@libp2p/daemon-client/dist/src/index.js -@@ -3,10 +3,11 @@ import { StreamHandler } from '@libp2p/daemon-protocol/stream-handler'; +@@ -1,15 +1,22 @@ + import { Request, Response, StreamInfo } from '@libp2p/daemon-protocol'; + import { StreamHandler } from '@libp2p/daemon-protocol/stream-handler'; import { passThroughUpgrader } from '@libp2p/daemon-protocol/upgrader'; - import { CodeError, isPeerId } from '@libp2p/interface'; +-import { CodeError, isPeerId } from '@libp2p/interface'; ++import { InvalidParametersError, isPeerId } from '@libp2p/interface'; import { defaultLogger, logger } from '@libp2p/logger'; -import { peerIdFromBytes } from '@libp2p/peer-id'; +import { peerIdFromMultihash } from '@libp2p/peer-id'; @@ -159,7 +325,32 @@ index 19585b1..7ca5f0a 100644 import { DHT } from './dht.js'; import { Pubsub } from './pubsub.js'; const log = logger('libp2p:daemon-client'); -@@ -67,7 +68,7 @@ class Client { ++export class OperationFailedError extends Error { ++ constructor(message = 'Operation failed') { ++ super(message); ++ this.name = 'OperationFailedError'; ++ } ++} + class Client { + multiaddr; + dht; +@@ -54,27 +61,27 @@ class Client { + */ + async connect(peerId, addrs) { + if (!isPeerId(peerId)) { +- throw new CodeError('invalid peer id received', 'ERR_INVALID_PEER_ID'); ++ throw new InvalidParametersError('invalid peer id received'); + } + if (!Array.isArray(addrs)) { +- throw new CodeError('addrs received are not in an array', 'ERR_INVALID_ADDRS_TYPE'); ++ throw new InvalidParametersError('addrs received are not in an array'); + } + addrs.forEach((addr) => { + if (!isMultiaddr(addr)) { +- throw new CodeError('received an address that is not a multiaddr', 'ERR_NO_MULTIADDR_RECEIVED'); ++ throw new InvalidParametersError('received an address that is not a multiaddr'); + } + }); const sh = await this.send({ type: Request.Type.CONNECT, connect: { @@ -168,21 +359,37 @@ index 19585b1..7ca5f0a 100644 addrs: addrs.map((a) => a.bytes) } }); -@@ -94,10 +95,10 @@ class Client { + const response = await sh.read(Response); if (response.type !== Response.Type.OK) { - throw new CodeError(response.error?.msg ?? 'Identify failed', 'ERR_IDENTIFY_FAILED'); + const errResponse = response.error ?? { msg: 'unspecified' }; +- throw new CodeError(errResponse.msg ?? 'unspecified', 'ERR_CONNECT_FAILED'); ++ throw new OperationFailedError(errResponse.msg ?? 'unspecified'); + } + await sh.unwrap().close(); + } +@@ -92,12 +99,12 @@ class Client { + }); + const response = await sh.read(Response); + if (response.type !== Response.Type.OK) { +- throw new CodeError(response.error?.msg ?? 'Identify failed', 'ERR_IDENTIFY_FAILED'); ++ throw new OperationFailedError(response.error?.msg ?? 'Identify failed'); } - if (response.identify == null || response.identify.addrs == null) { +- throw new CodeError('Invalid response', 'ERR_IDENTIFY_FAILED'); + if (response.identify?.addrs == null) { - throw new CodeError('Invalid response', 'ERR_IDENTIFY_FAILED'); ++ throw new OperationFailedError('Invalid response'); } - const peerId = peerIdFromBytes(response.identify?.id); + const peerId = peerIdFromMultihash(Digest.decode(response.identify?.id)); const addrs = response.identify.addrs.map((a) => multiaddr(a)); await sh.unwrap().close(); return ({ peerId, addrs }); -@@ -114,7 +115,7 @@ class Client { - throw new CodeError(response.error?.msg ?? 'List peers failed', 'ERR_LIST_PEERS_FAILED'); +@@ -111,32 +118,32 @@ class Client { + }); + const response = await sh.read(Response); + if (response.type !== Response.Type.OK) { +- throw new CodeError(response.error?.msg ?? 'List peers failed', 'ERR_LIST_PEERS_FAILED'); ++ throw new OperationFailedError(response.error?.msg ?? 'List peers failed'); } await sh.unwrap().close(); - return response.peers.map((peer) => peerIdFromBytes(peer.id)); @@ -190,7 +397,16 @@ index 19585b1..7ca5f0a 100644 } /** * Initiate an outbound stream to a peer on one of a set of protocols. -@@ -129,7 +130,7 @@ class Client { + */ + async openStream(peerId, protocol) { + if (!isPeerId(peerId)) { +- throw new CodeError('invalid peer id received', 'ERR_INVALID_PEER_ID'); ++ throw new InvalidParametersError('invalid peer id received'); + } + if (typeof protocol !== 'string') { +- throw new CodeError('invalid protocol received', 'ERR_INVALID_PROTOCOL'); ++ throw new InvalidParametersError('invalid protocol received'); + } const sh = await this.send({ type: Request.Type.STREAM_OPEN, streamOpen: { @@ -199,7 +415,34 @@ index 19585b1..7ca5f0a 100644 proto: [protocol] } }); -@@ -167,6 +168,9 @@ class Client { + const response = await sh.read(Response); + if (response.type !== Response.Type.OK) { + await sh.unwrap().close(); +- throw new CodeError(response.error?.msg ?? 'Open stream failed', 'ERR_OPEN_STREAM_FAILED'); ++ throw new OperationFailedError(response.error?.msg ?? 'Open stream failed'); + } + return sh.unwrap(); + } +@@ -145,7 +152,7 @@ class Client { + */ + async registerStreamHandler(protocol, handler) { + if (typeof protocol !== 'string') { +- throw new CodeError('invalid protocol received', 'ERR_INVALID_PROTOCOL'); ++ throw new InvalidParametersError('invalid protocol received'); + } + // open a tcp port, pipe any data from it to the handler function + const listener = this.tcp.createListener({ +@@ -159,14 +166,17 @@ class Client { + }); + const message = await sh.read(); + if (message == null) { +- throw new CodeError('Could not read open stream response', 'ERR_OPEN_STREAM_FAILED'); ++ throw new OperationFailedError('Could not read open stream response'); + } + const response = StreamInfo.decode(message); + if (response.proto !== protocol) { +- throw new CodeError('Incorrect protocol', 'ERR_OPEN_STREAM_FAILED'); ++ throw new OperationFailedError('Incorrect protocol'); } // @ts-expect-error because we are using a passthrough upgrader, this is a MultiaddrConnection await handler(sh.rest()); @@ -209,53 +452,141 @@ index 19585b1..7ca5f0a 100644 }) .finally(() => { connection.close() +@@ -183,7 +193,7 @@ class Client { + await listener.listen(multiaddr('/ip4/127.0.0.1/tcp/0')); + const address = listener.getAddrs()[0]; + if (address == null) { +- throw new CodeError('Could not listen on port', 'ERR_REGISTER_STREAM_HANDLER_FAILED'); ++ throw new OperationFailedError('Could not listen on port'); + } + const sh = await this.send({ + type: Request.Type.STREAM_HANDLER, +@@ -195,7 +205,7 @@ class Client { + const response = await sh.read(Response); + await sh.unwrap().close(); + if (response.type !== Response.Type.OK) { +- throw new CodeError(response.error?.msg ?? 'Register stream handler failed', 'ERR_REGISTER_STREAM_HANDLER_FAILED'); ++ throw new OperationFailedError(response.error?.msg ?? 'Register stream handler failed'); + } + } + } diff --git a/node_modules/@libp2p/daemon-client/dist/src/index.js.map b/node_modules/@libp2p/daemon-client/dist/src/index.js.map -index c18b9de..5914520 100644 +index c18b9de..97d91a0 100644 --- a/node_modules/@libp2p/daemon-client/dist/src/index.js.map +++ b/node_modules/@libp2p/daemon-client/dist/src/index.js.map @@ -1 +1 @@ -{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"} \ No newline at end of file -+{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"} ++{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"} \ No newline at end of file +diff --git a/node_modules/@libp2p/daemon-client/dist/src/pubsub.d.ts b/node_modules/@libp2p/daemon-client/dist/src/pubsub.d.ts +index 7d4e6ae..7647ffb 100644 +--- a/node_modules/@libp2p/daemon-client/dist/src/pubsub.d.ts ++++ b/node_modules/@libp2p/daemon-client/dist/src/pubsub.d.ts +@@ -1,4 +1,4 @@ +-import type { DaemonClient, Subscription } from './index.js'; ++import { type DaemonClient, type Subscription } from './index.js'; + import type { PeerId } from '@libp2p/interface'; + export declare class Pubsub { + private readonly client; diff --git a/node_modules/@libp2p/daemon-client/dist/src/pubsub.d.ts.map b/node_modules/@libp2p/daemon-client/dist/src/pubsub.d.ts.map -index 54b3f22..37cb463 100644 +index 54b3f22..da440d0 100644 --- a/node_modules/@libp2p/daemon-client/dist/src/pubsub.d.ts.map +++ b/node_modules/@libp2p/daemon-client/dist/src/pubsub.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"pubsub.d.ts","sourceRoot":"","sources":["../../src/pubsub.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAC5D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAE/C,qBAAa,MAAM;IACjB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAc;gBAExB,MAAM,EAAE,YAAY;IAIjC;;;;OAIG;IACG,SAAS,IAAK,OAAO,CAAC,MAAM,EAAE,CAAC;IAuBrC;;OAEG;IACG,OAAO,CAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IA2B9D;;OAEG;IACG,SAAS,CAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IAoChD,cAAc,CAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;CA2BxD"} \ No newline at end of file -+{"version":3,"file":"pubsub.d.ts","sourceRoot":"","sources":["../../src/pubsub.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAC5D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAE/C,qBAAa,MAAM;IACjB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAc;gBAExB,MAAM,EAAE,YAAY;IAIjC;;;;OAIG;IACG,SAAS,IAAK,OAAO,CAAC,MAAM,EAAE,CAAC;IAuBrC;;OAEG;IACG,OAAO,CAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IA2B9D;;OAEG;IACG,SAAS,CAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IAoChD,cAAc,CAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;CA2BxD"} ++{"version":3,"file":"pubsub.d.ts","sourceRoot":"","sources":["../../src/pubsub.ts"],"names":[],"mappings":"AASA,OAAO,EAAwB,KAAK,YAAY,EAAE,KAAK,YAAY,EAAE,MAAM,YAAY,CAAA;AACvF,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAE/C,qBAAa,MAAM;IACjB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAc;gBAExB,MAAM,EAAE,YAAY;IAIjC;;;;OAIG;IACG,SAAS,IAAK,OAAO,CAAC,MAAM,EAAE,CAAC;IAuBrC;;OAEG;IACG,OAAO,CAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IA2B9D;;OAEG;IACG,SAAS,CAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IAoChD,cAAc,CAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;CA2BxD"} \ No newline at end of file diff --git a/node_modules/@libp2p/daemon-client/dist/src/pubsub.js b/node_modules/@libp2p/daemon-client/dist/src/pubsub.js -index bb7db1c..d17ec90 100644 +index bb7db1c..bf1b287 100644 --- a/node_modules/@libp2p/daemon-client/dist/src/pubsub.js +++ b/node_modules/@libp2p/daemon-client/dist/src/pubsub.js -@@ -1,6 +1,7 @@ +@@ -1,6 +1,8 @@ import { Request, Response, PSRequest, PSMessage } from '@libp2p/daemon-protocol'; - import { CodeError } from '@libp2p/interface'; +-import { CodeError } from '@libp2p/interface'; -import { peerIdFromBytes } from '@libp2p/peer-id'; ++import { InvalidParametersError } from '@libp2p/interface'; +import { peerIdFromMultihash } from '@libp2p/peer-id'; +import * as Digest from 'multiformats/hashes/digest'; ++import { OperationFailedError } from './index.js'; export class Pubsub { client; constructor(client) { -@@ -23,7 +24,7 @@ export class Pubsub { +@@ -21,10 +23,10 @@ export class Pubsub { + const response = await sh.read(Response); + await sh.unwrap().close(); if (response.type !== Response.Type.OK) { - throw new CodeError(response.error?.msg ?? 'Pubsub get topics failed', 'ERR_PUBSUB_GET_TOPICS_FAILED'); +- throw new CodeError(response.error?.msg ?? 'Pubsub get topics failed', 'ERR_PUBSUB_GET_TOPICS_FAILED'); ++ throw new OperationFailedError(response.error?.msg ?? 'Pubsub get topics failed'); } - if (response.pubsub == null || response.pubsub.topics == null) { +- throw new CodeError('Invalid response', 'ERR_PUBSUB_GET_TOPICS_FAILED'); + if (response.pubsub?.topics == null) { - throw new CodeError('Invalid response', 'ERR_PUBSUB_GET_TOPICS_FAILED'); ++ throw new OperationFailedError('Invalid response'); } return response.pubsub.topics; -@@ -100,10 +101,10 @@ export class Pubsub { + } +@@ -33,10 +35,10 @@ export class Pubsub { + */ + async publish(topic, data) { + if (typeof topic !== 'string') { +- throw new CodeError('invalid topic received', 'ERR_INVALID_TOPIC'); ++ throw new InvalidParametersError('invalid topic received'); + } + if (!(data instanceof Uint8Array)) { +- throw new CodeError('data received is not a Uint8Array', 'ERR_INVALID_DATA'); ++ throw new InvalidParametersError('data received is not a Uint8Array'); + } + const sh = await this.client.send({ + type: Request.Type.PUBSUB, +@@ -49,7 +51,7 @@ export class Pubsub { + const response = await sh.read(Response); + await sh.unwrap().close(); + if (response.type !== Response.Type.OK) { +- throw new CodeError(response.error?.msg ?? 'Pubsub publish failed', 'ERR_PUBSUB_PUBLISH_FAILED'); ++ throw new OperationFailedError(response.error?.msg ?? 'Pubsub publish failed'); + } + } + /** +@@ -57,7 +59,7 @@ export class Pubsub { + */ + async subscribe(topic) { + if (typeof topic !== 'string') { +- throw new CodeError('invalid topic received', 'ERR_INVALID_TOPIC'); ++ throw new InvalidParametersError('invalid topic received'); + } + const sh = await this.client.send({ + type: Request.Type.PUBSUB, +@@ -68,7 +70,7 @@ export class Pubsub { + }); + const response = await sh.read(Response); + if (response.type !== Response.Type.OK) { +- throw new CodeError(response.error?.msg ?? 'Pubsub publish failed', 'ERR_PUBSUB_PUBLISH_FAILED'); ++ throw new OperationFailedError(response.error?.msg ?? 'Pubsub publish failed'); + } + let subscribed = true; + const subscription = { +@@ -86,7 +88,7 @@ export class Pubsub { + } + async getSubscribers(topic) { + if (typeof topic !== 'string') { +- throw new CodeError('invalid topic received', 'ERR_INVALID_TOPIC'); ++ throw new InvalidParametersError('invalid topic received'); + } + const sh = await this.client.send({ + type: Request.Type.PUBSUB, +@@ -98,12 +100,12 @@ export class Pubsub { + const response = await sh.read(Response); + await sh.unwrap().close(); if (response.type !== Response.Type.OK) { - throw new CodeError(response.error?.msg ?? 'Pubsub get subscribers failed', 'ERR_PUBSUB_GET_SUBSCRIBERS_FAILED'); +- throw new CodeError(response.error?.msg ?? 'Pubsub get subscribers failed', 'ERR_PUBSUB_GET_SUBSCRIBERS_FAILED'); ++ throw new OperationFailedError(response.error?.msg ?? 'Pubsub get subscribers failed'); } - if (response.pubsub == null || response.pubsub.topics == null) { +- throw new CodeError('Invalid response', 'ERR_PUBSUB_GET_SUBSCRIBERS_FAILED'); + if (response.pubsub?.topics == null) { - throw new CodeError('Invalid response', 'ERR_PUBSUB_GET_SUBSCRIBERS_FAILED'); ++ throw new OperationFailedError('Invalid response'); } - return response.pubsub.peerIDs.map(buf => peerIdFromBytes(buf)); + return response.pubsub.peerIDs.map(buf => peerIdFromMultihash(Digest.decode(buf))); @@ -264,13 +595,13 @@ index bb7db1c..d17ec90 100644 //# sourceMappingURL=pubsub.js.map \ No newline at end of file diff --git a/node_modules/@libp2p/daemon-client/dist/src/pubsub.js.map b/node_modules/@libp2p/daemon-client/dist/src/pubsub.js.map -index 4b8210e..fe4e603 100644 +index 4b8210e..9eb6f36 100644 --- a/node_modules/@libp2p/daemon-client/dist/src/pubsub.js.map +++ b/node_modules/@libp2p/daemon-client/dist/src/pubsub.js.map @@ -1 +1 @@ -{"version":3,"file":"pubsub.js","sourceRoot":"","sources":["../../src/pubsub.ts"],"names":[],"mappings":"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"} \ No newline at end of file -+{"version":3,"file":"pubsub.js","sourceRoot":"","sources":["../../src/pubsub.ts"],"names":[],"mappings":"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"} ++{"version":3,"file":"pubsub.js","sourceRoot":"","sources":["../../src/pubsub.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@libp2p/daemon-client/dist/test/dht.spec.d.ts b/node_modules/@libp2p/daemon-client/dist/test/dht.spec.d.ts new file mode 100644 @@ -854,11 +1185,11 @@ index 0000000..16ecfbb \ No newline at end of file diff --git a/node_modules/@libp2p/daemon-client/dist/tsconfig.tsbuildinfo b/node_modules/@libp2p/daemon-client/dist/tsconfig.tsbuildinfo new file mode 100644 -index 0000000..b9869af +index 0000000..d005fb1 --- /dev/null +++ b/node_modules/@libp2p/daemon-client/dist/tsconfig.tsbuildinfo @@ -0,0 +1 @@ -+{"program":{"fileNames":["../../../node_modules/typescript/lib/lib.es5.d.ts","../../../node_modules/typescript/lib/lib.es2015.d.ts","../../../node_modules/typescript/lib/lib.es2016.d.ts","../../../node_modules/typescript/lib/lib.es2017.d.ts","../../../node_modules/typescript/lib/lib.es2018.d.ts","../../../node_modules/typescript/lib/lib.es2019.d.ts","../../../node_modules/typescript/lib/lib.es2020.d.ts","../../../node_modules/typescript/lib/lib.es2021.d.ts","../../../node_modules/typescript/lib/lib.es2022.d.ts","../../../node_modules/typescript/lib/lib.es2023.d.ts","../../../node_modules/typescript/lib/lib.dom.d.ts","../../../node_modules/typescript/lib/lib.dom.iterable.d.ts","../../../node_modules/typescript/lib/lib.webworker.d.ts","../../../node_modules/typescript/lib/lib.es2015.core.d.ts","../../../node_modules/typescript/lib/lib.es2015.collection.d.ts","../../../node_modules/typescript/lib/lib.es2015.generator.d.ts","../../../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../../node_modules/typescript/lib/lib.es2015.promise.d.ts","../../../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../../node_modules/typescript/lib/lib.es2016.intl.d.ts","../../../node_modules/typescript/lib/lib.es2017.date.d.ts","../../../node_modules/typescript/lib/lib.es2017.object.d.ts","../../../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2017.string.d.ts","../../../node_modules/typescript/lib/lib.es2017.intl.d.ts","../../../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../../node_modules/typescript/lib/lib.es2018.intl.d.ts","../../../node_modules/typescript/lib/lib.es2018.promise.d.ts","../../../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../../node_modules/typescript/lib/lib.es2019.array.d.ts","../../../node_modules/typescript/lib/lib.es2019.object.d.ts","../../../node_modules/typescript/lib/lib.es2019.string.d.ts","../../../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../../node_modules/typescript/lib/lib.es2019.intl.d.ts","../../../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../../node_modules/typescript/lib/lib.es2020.date.d.ts","../../../node_modules/typescript/lib/lib.es2020.promise.d.ts","../../../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2020.string.d.ts","../../../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../../node_modules/typescript/lib/lib.es2020.intl.d.ts","../../../node_modules/typescript/lib/lib.es2020.number.d.ts","../../../node_modules/typescript/lib/lib.es2021.promise.d.ts","../../../node_modules/typescript/lib/lib.es2021.string.d.ts","../../../node_modules/typescript/lib/lib.es2021.weakref.d.ts","../../../node_modules/typescript/lib/lib.es2021.intl.d.ts","../../../node_modules/typescript/lib/lib.es2022.array.d.ts","../../../node_modules/typescript/lib/lib.es2022.error.d.ts","../../../node_modules/typescript/lib/lib.es2022.intl.d.ts","../../../node_modules/typescript/lib/lib.es2022.object.d.ts","../../../node_modules/typescript/lib/lib.es2022.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2022.string.d.ts","../../../node_modules/typescript/lib/lib.es2022.regexp.d.ts","../../../node_modules/typescript/lib/lib.es2023.array.d.ts","../../../node_modules/typescript/lib/lib.es2023.collection.d.ts","../../../node_modules/typescript/lib/lib.esnext.intl.d.ts","../../../node_modules/typescript/lib/lib.decorators.d.ts","../../../node_modules/typescript/lib/lib.decorators.legacy.d.ts","../../../node_modules/protons-runtime/dist/src/codec.d.ts","../../../node_modules/uint8arraylist/dist/src/index.d.ts","../../../node_modules/protons-runtime/dist/src/decode.d.ts","../../../node_modules/protons-runtime/dist/src/encode.d.ts","../../../node_modules/protons-runtime/dist/src/codecs/enum.d.ts","../../../node_modules/protons-runtime/dist/src/codecs/message.d.ts","../../../node_modules/protons-runtime/dist/src/utils/reader.d.ts","../../../node_modules/protons-runtime/dist/src/utils/writer.d.ts","../../../node_modules/protons-runtime/dist/src/index.d.ts","../../libp2p-daemon-protocol/dist/src/index.d.ts","../../../node_modules/multiformats/dist/src/bases/interface.d.ts","../../../node_modules/multiformats/dist/src/block/interface.d.ts","../../../node_modules/multiformats/dist/src/hashes/interface.d.ts","../../../node_modules/multiformats/dist/src/link/interface.d.ts","../../../node_modules/multiformats/dist/src/cid.d.ts","../../../node_modules/@libp2p/interface/dist/src/keys/index.d.ts","../../../node_modules/@libp2p/interface/dist/src/peer-id/index.d.ts","../../../node_modules/@multiformats/multiaddr/dist/src/protocols-table.d.ts","../../../node_modules/@multiformats/dns/dist/src/resolvers/dns-over-https.d.ts","../../../node_modules/@multiformats/dns/dist/src/resolvers/dns-json-over-https.d.ts","../../../node_modules/@multiformats/dns/dist/src/resolvers/index.d.ts","../../../node_modules/progress-events/dist/src/index.d.ts","../../../node_modules/@multiformats/dns/dist/src/index.d.ts","../../../node_modules/@multiformats/multiaddr/dist/src/resolvers/dnsaddr.d.ts","../../../node_modules/@multiformats/multiaddr/dist/src/resolvers/index.d.ts","../../../node_modules/@multiformats/multiaddr/dist/src/filter/multiaddr-filter.d.ts","../../../node_modules/@multiformats/multiaddr/dist/src/index.d.ts","../../../node_modules/it-stream-types/dist/src/index.d.ts","../../../node_modules/@libp2p/interface/dist/src/connection/index.d.ts","../../../node_modules/@libp2p/interface/dist/src/peer-info/index.d.ts","../../../node_modules/@libp2p/interface/dist/src/content-routing/index.d.ts","../../../node_modules/@libp2p/interface/dist/src/event-target.d.ts","../../../node_modules/@libp2p/interface/dist/src/metrics/index.d.ts","../../../node_modules/@libp2p/interface/dist/src/peer-routing/index.d.ts","../../../node_modules/@libp2p/interface/dist/src/peer-store/index.d.ts","../../../node_modules/@libp2p/interface/dist/src/startable.d.ts","../../../node_modules/@libp2p/interface/dist/src/stream-handler/index.d.ts","../../../node_modules/@libp2p/interface/dist/src/topology/index.d.ts","../../../node_modules/@libp2p/interface/dist/src/stream-muxer/index.d.ts","../../../node_modules/@libp2p/interface/dist/src/transport/index.d.ts","../../../node_modules/@libp2p/interface/dist/src/connection-encrypter/index.d.ts","../../../node_modules/@libp2p/interface/dist/src/connection-gater/index.d.ts","../../../node_modules/@libp2p/interface/dist/src/peer-discovery/index.d.ts","../../../node_modules/@libp2p/interface/dist/src/peer-store/tags.d.ts","../../../node_modules/it-pushable/dist/src/index.d.ts","../../../node_modules/@libp2p/interface/dist/src/pubsub/index.d.ts","../../../node_modules/@libp2p/interface/dist/src/record/index.d.ts","../../../node_modules/@libp2p/interface/dist/src/errors.d.ts","../../../node_modules/@types/node/assert.d.ts","../../../node_modules/@types/node/assert/strict.d.ts","../../../node_modules/buffer/index.d.ts","../../../node_modules/undici-types/header.d.ts","../../../node_modules/undici-types/readable.d.ts","../../../node_modules/undici-types/file.d.ts","../../../node_modules/undici-types/fetch.d.ts","../../../node_modules/undici-types/formdata.d.ts","../../../node_modules/undici-types/connector.d.ts","../../../node_modules/undici-types/client.d.ts","../../../node_modules/undici-types/errors.d.ts","../../../node_modules/undici-types/dispatcher.d.ts","../../../node_modules/undici-types/global-dispatcher.d.ts","../../../node_modules/undici-types/global-origin.d.ts","../../../node_modules/undici-types/pool-stats.d.ts","../../../node_modules/undici-types/pool.d.ts","../../../node_modules/undici-types/handlers.d.ts","../../../node_modules/undici-types/balanced-pool.d.ts","../../../node_modules/undici-types/agent.d.ts","../../../node_modules/undici-types/mock-interceptor.d.ts","../../../node_modules/undici-types/mock-agent.d.ts","../../../node_modules/undici-types/mock-client.d.ts","../../../node_modules/undici-types/mock-pool.d.ts","../../../node_modules/undici-types/mock-errors.d.ts","../../../node_modules/undici-types/proxy-agent.d.ts","../../../node_modules/undici-types/env-http-proxy-agent.d.ts","../../../node_modules/undici-types/retry-handler.d.ts","../../../node_modules/undici-types/retry-agent.d.ts","../../../node_modules/undici-types/api.d.ts","../../../node_modules/undici-types/interceptors.d.ts","../../../node_modules/undici-types/util.d.ts","../../../node_modules/undici-types/cookies.d.ts","../../../node_modules/undici-types/patch.d.ts","../../../node_modules/undici-types/websocket.d.ts","../../../node_modules/undici-types/eventsource.d.ts","../../../node_modules/undici-types/filereader.d.ts","../../../node_modules/undici-types/diagnostics-channel.d.ts","../../../node_modules/undici-types/content-type.d.ts","../../../node_modules/undici-types/cache.d.ts","../../../node_modules/undici-types/index.d.ts","../../../node_modules/@types/node/globals.d.ts","../../../node_modules/@types/node/async_hooks.d.ts","../../../node_modules/@types/node/buffer.d.ts","../../../node_modules/@types/node/child_process.d.ts","../../../node_modules/@types/node/cluster.d.ts","../../../node_modules/@types/node/console.d.ts","../../../node_modules/@types/node/constants.d.ts","../../../node_modules/@types/node/crypto.d.ts","../../../node_modules/@types/node/dgram.d.ts","../../../node_modules/@types/node/diagnostics_channel.d.ts","../../../node_modules/@types/node/dns.d.ts","../../../node_modules/@types/node/dns/promises.d.ts","../../../node_modules/@types/node/domain.d.ts","../../../node_modules/@types/node/dom-events.d.ts","../../../node_modules/@types/node/events.d.ts","../../../node_modules/@types/node/fs.d.ts","../../../node_modules/@types/node/fs/promises.d.ts","../../../node_modules/@types/node/http.d.ts","../../../node_modules/@types/node/http2.d.ts","../../../node_modules/@types/node/https.d.ts","../../../node_modules/@types/node/inspector.d.ts","../../../node_modules/@types/node/module.d.ts","../../../node_modules/@types/node/net.d.ts","../../../node_modules/@types/node/os.d.ts","../../../node_modules/@types/node/path.d.ts","../../../node_modules/@types/node/perf_hooks.d.ts","../../../node_modules/@types/node/process.d.ts","../../../node_modules/@types/node/punycode.d.ts","../../../node_modules/@types/node/querystring.d.ts","../../../node_modules/@types/node/readline.d.ts","../../../node_modules/@types/node/readline/promises.d.ts","../../../node_modules/@types/node/repl.d.ts","../../../node_modules/@types/node/sea.d.ts","../../../node_modules/@types/node/stream.d.ts","../../../node_modules/@types/node/stream/promises.d.ts","../../../node_modules/@types/node/stream/consumers.d.ts","../../../node_modules/@types/node/stream/web.d.ts","../../../node_modules/@types/node/string_decoder.d.ts","../../../node_modules/@types/node/test.d.ts","../../../node_modules/@types/node/timers.d.ts","../../../node_modules/@types/node/timers/promises.d.ts","../../../node_modules/@types/node/tls.d.ts","../../../node_modules/@types/node/trace_events.d.ts","../../../node_modules/@types/node/tty.d.ts","../../../node_modules/@types/node/url.d.ts","../../../node_modules/@types/node/util.d.ts","../../../node_modules/@types/node/v8.d.ts","../../../node_modules/@types/node/vm.d.ts","../../../node_modules/@types/node/wasi.d.ts","../../../node_modules/@types/node/worker_threads.d.ts","../../../node_modules/@types/node/zlib.d.ts","../../../node_modules/@types/node/globals.global.d.ts","../../../node_modules/@types/node/index.d.ts","../../../node_modules/@libp2p/interface/dist/src/events.d.ts","../../../node_modules/@libp2p/interface/dist/src/index.d.ts","../../../node_modules/@libp2p/logger/dist/src/index.d.ts","../../../node_modules/@libp2p/peer-id/dist/src/index.d.ts","../../../node_modules/multiformats/dist/src/hashes/digest.d.ts","../../libp2p-daemon-protocol/dist/src/stream-handler.d.ts","../../libp2p-daemon-protocol/dist/src/upgrader.d.ts","../../../node_modules/@libp2p/tcp/dist/src/listener.d.ts","../../../node_modules/@libp2p/tcp/dist/src/index.d.ts","../../../node_modules/it-byte-stream/dist/src/index.d.ts","../../../node_modules/it-length-prefixed-stream/dist/src/index.d.ts","../../../node_modules/it-protobuf-stream/dist/src/index.d.ts","../src/pubsub.ts","../src/index.ts","../src/dht.ts","../../../node_modules/@chainsafe/libp2p-gossipsub/dist/src/message/decoderpc.d.ts","../../../node_modules/@chainsafe/libp2p-gossipsub/node_modules/protons-runtime/dist/src/codec.d.ts","../../../node_modules/@chainsafe/libp2p-gossipsub/node_modules/protons-runtime/dist/src/decode.d.ts","../../../node_modules/@chainsafe/libp2p-gossipsub/node_modules/protons-runtime/dist/src/encode.d.ts","../../../node_modules/@chainsafe/libp2p-gossipsub/node_modules/protons-runtime/dist/src/codecs/enum.d.ts","../../../node_modules/@chainsafe/libp2p-gossipsub/node_modules/protons-runtime/dist/src/codecs/message.d.ts","../../../node_modules/@chainsafe/libp2p-gossipsub/node_modules/protons-runtime/dist/src/utils/reader.d.ts","../../../node_modules/@chainsafe/libp2p-gossipsub/node_modules/protons-runtime/dist/src/utils/writer.d.ts","../../../node_modules/@chainsafe/libp2p-gossipsub/node_modules/protons-runtime/dist/src/index.d.ts","../../../node_modules/@chainsafe/libp2p-gossipsub/dist/src/message/rpc.d.ts","../../../node_modules/@chainsafe/libp2p-gossipsub/dist/src/types.d.ts","../../../node_modules/@chainsafe/libp2p-gossipsub/dist/src/message-cache.d.ts","../../../node_modules/@chainsafe/libp2p-gossipsub/dist/src/score/peer-score-thresholds.d.ts","../../../node_modules/@chainsafe/libp2p-gossipsub/dist/src/metrics.d.ts","../../../node_modules/@chainsafe/libp2p-gossipsub/dist/src/score/peer-score-params.d.ts","../../../node_modules/@chainsafe/libp2p-gossipsub/dist/src/utils/set.d.ts","../../../node_modules/@chainsafe/libp2p-gossipsub/dist/src/score/peer-stats.d.ts","../../../node_modules/@chainsafe/libp2p-gossipsub/dist/src/score/compute-score.d.ts","../../../node_modules/denque/index.d.ts","../../../node_modules/@chainsafe/libp2p-gossipsub/dist/src/score/message-deliveries.d.ts","../../../node_modules/@chainsafe/libp2p-gossipsub/dist/src/score/peer-score.d.ts","../../../node_modules/@chainsafe/libp2p-gossipsub/dist/src/score/index.d.ts","../../../node_modules/@chainsafe/libp2p-gossipsub/dist/src/stream.d.ts","../../../node_modules/@chainsafe/libp2p-gossipsub/dist/src/tracer.d.ts","../../../node_modules/@chainsafe/libp2p-gossipsub/dist/src/config.d.ts","../../../node_modules/@libp2p/interface-internal/dist/src/address-manager/index.d.ts","../../../node_modules/@libp2p/peer-collections/dist/src/map.d.ts","../../../node_modules/@libp2p/peer-collections/dist/src/set.d.ts","../../../node_modules/@libp2p/peer-collections/dist/src/list.d.ts","../../../node_modules/@libp2p/peer-collections/dist/src/filter.d.ts","../../../node_modules/@libp2p/peer-collections/dist/src/tracked-map.d.ts","../../../node_modules/@libp2p/peer-collections/dist/src/tracked-set.d.ts","../../../node_modules/@libp2p/peer-collections/dist/src/tracked-list.d.ts","../../../node_modules/@libp2p/peer-collections/dist/src/index.d.ts","../../../node_modules/@libp2p/interface-internal/dist/src/connection-manager/index.d.ts","../../../node_modules/@libp2p/interface-internal/dist/src/random-walk/index.d.ts","../../../node_modules/@libp2p/interface-internal/dist/src/record/index.d.ts","../../../node_modules/@libp2p/interface-internal/dist/src/registrar/index.d.ts","../../../node_modules/@libp2p/interface-internal/dist/src/transport-manager/index.d.ts","../../../node_modules/@libp2p/interface-internal/dist/src/index.d.ts","../../../node_modules/@chainsafe/libp2p-gossipsub/dist/src/index.d.ts","../../../node_modules/@libp2p/kad-dht/dist/src/message/dht.d.ts","../../../node_modules/multiformats/dist/src/codecs/interface.d.ts","../../../node_modules/multiformats/dist/src/codecs/json.d.ts","../../../node_modules/multiformats/dist/src/codecs/raw.d.ts","../../../node_modules/multiformats/dist/src/bytes.d.ts","../../../node_modules/multiformats/dist/src/hashes/hasher.d.ts","../../../node_modules/multiformats/dist/src/varint.d.ts","../../../node_modules/multiformats/dist/src/interface.d.ts","../../../node_modules/multiformats/dist/src/index.d.ts","../../../node_modules/multiformats/dist/src/bases/base.d.ts","../../../node_modules/multiformats/dist/src/basics.d.ts","../../../node_modules/uint8arrays/dist/src/util/bases.d.ts","../../../node_modules/uint8arrays/dist/src/to-string.d.ts","../../../node_modules/interface-datastore/dist/src/key.d.ts","../../../node_modules/@libp2p/kad-dht/dist/src/utils.d.ts","../../../node_modules/interface-store/dist/src/errors.d.ts","../../../node_modules/interface-store/dist/src/index.d.ts","../../../node_modules/interface-datastore/dist/src/index.d.ts","../../../node_modules/@libp2p/kad-dht/dist/src/providers.d.ts","../../../node_modules/any-signal/dist/src/index.d.ts","../../../node_modules/@libp2p/utils/dist/src/adaptive-timeout.d.ts","../../../node_modules/@libp2p/record/dist/src/record.d.ts","../../../node_modules/@libp2p/record/dist/src/index.d.ts","../../../node_modules/@libp2p/kad-dht/dist/src/index.d.ts","../../libp2p-daemon-server/dist/src/index.d.ts","../../../node_modules/@types/chai/index.d.ts","../../../node_modules/@types/chai-as-promised/index.d.ts","../../../node_modules/chai-parentheses/index.d.ts","../../../node_modules/@types/chai-subset/index.d.ts","../../../node_modules/chai-bites/index.d.ts","../../../node_modules/@types/chai-string/index.d.ts","../../../node_modules/aegir/dist/utils/chai.d.ts","../../../node_modules/it-all/dist/src/index.d.ts","../../../node_modules/@types/sinonjs__fake-timers/index.d.ts","../../../node_modules/@types/sinon/index.d.ts","../../../node_modules/sinon-ts/dist/src/index.d.ts","../../../node_modules/uint8arrays/dist/src/from-string.d.ts","../../../node_modules/uint8arrays/dist/src/equals.d.ts","../test/fixtures/match-bytes.ts","../test/dht.spec.ts","../../../node_modules/@libp2p/interface-compliance-tests/dist/src/mocks/connection-gater.d.ts","../../../node_modules/@libp2p/interface-compliance-tests/dist/src/mocks/connection-manager.d.ts","../../../node_modules/@libp2p/interface-compliance-tests/dist/src/mocks/connection.d.ts","../../../node_modules/@libp2p/interface-compliance-tests/dist/src/mocks/multiaddr-connection.d.ts","../../../node_modules/@libp2p/utils/dist/src/abstract-stream.d.ts","../../../node_modules/@libp2p/interface-compliance-tests/dist/src/mocks/muxer.d.ts","../../../node_modules/@libp2p/interface-compliance-tests/dist/src/mocks/registrar.d.ts","../../../node_modules/@libp2p/interface-compliance-tests/dist/src/mocks/upgrader.d.ts","../../../node_modules/@libp2p/interface-compliance-tests/dist/src/mocks/duplex.d.ts","../../../node_modules/@libp2p/interface-compliance-tests/dist/src/mocks/metrics.d.ts","../../../node_modules/@libp2p/interface-compliance-tests/dist/src/mocks/index.d.ts","../test/index.spec.ts","../test/pubsub.spec.ts","../../../node_modules/it-pipe/dist/src/index.d.ts","../test/stream.spec.ts","../../../node_modules/keyv/src/index.d.ts","../../../node_modules/@types/http-cache-semantics/index.d.ts","../../../node_modules/@types/responselike/index.d.ts","../../../node_modules/@types/cacheable-request/index.d.ts","../../../node_modules/@types/ms/index.d.ts","../../../node_modules/@types/debug/index.d.ts","../../../node_modules/@types/dns-packet/index.d.ts","../../../node_modules/@types/istanbul-lib-coverage/index.d.ts","../../../node_modules/@types/json-schema/index.d.ts","../../../node_modules/@types/json5/index.d.ts","../../../node_modules/@types/keyv/index.d.ts","../../../node_modules/@types/linkify-it/build/index.cjs.d.ts","../../../node_modules/@types/linkify-it/index.d.ts","../../../node_modules/@types/mdurl/build/index.cjs.d.ts","../../../node_modules/@types/mdurl/index.d.ts","../../../node_modules/@types/markdown-it/dist/index.cjs.d.ts","../../../node_modules/@types/markdown-it/index.d.ts","../../../node_modules/@types/unist/index.d.ts","../../../node_modules/@types/mdast/index.d.ts","../../../node_modules/@types/minimatch/index.d.ts","../../../node_modules/@types/minimist/index.d.ts","../../../node_modules/@types/mocha/index.d.ts","../../../node_modules/@types/murmurhash3js-revisited/index.d.ts","../../../node_modules/@types/normalize-package-data/index.d.ts","../../../node_modules/@types/parse-json/index.d.ts","../../../node_modules/@types/retry/index.d.ts","../../../node_modules/@types/semver/classes/semver.d.ts","../../../node_modules/@types/semver/functions/parse.d.ts","../../../node_modules/@types/semver/functions/valid.d.ts","../../../node_modules/@types/semver/functions/clean.d.ts","../../../node_modules/@types/semver/functions/inc.d.ts","../../../node_modules/@types/semver/functions/diff.d.ts","../../../node_modules/@types/semver/functions/major.d.ts","../../../node_modules/@types/semver/functions/minor.d.ts","../../../node_modules/@types/semver/functions/patch.d.ts","../../../node_modules/@types/semver/functions/prerelease.d.ts","../../../node_modules/@types/semver/functions/compare.d.ts","../../../node_modules/@types/semver/functions/rcompare.d.ts","../../../node_modules/@types/semver/functions/compare-loose.d.ts","../../../node_modules/@types/semver/functions/compare-build.d.ts","../../../node_modules/@types/semver/functions/sort.d.ts","../../../node_modules/@types/semver/functions/rsort.d.ts","../../../node_modules/@types/semver/functions/gt.d.ts","../../../node_modules/@types/semver/functions/lt.d.ts","../../../node_modules/@types/semver/functions/eq.d.ts","../../../node_modules/@types/semver/functions/neq.d.ts","../../../node_modules/@types/semver/functions/gte.d.ts","../../../node_modules/@types/semver/functions/lte.d.ts","../../../node_modules/@types/semver/functions/cmp.d.ts","../../../node_modules/@types/semver/functions/coerce.d.ts","../../../node_modules/@types/semver/classes/comparator.d.ts","../../../node_modules/@types/semver/classes/range.d.ts","../../../node_modules/@types/semver/functions/satisfies.d.ts","../../../node_modules/@types/semver/ranges/max-satisfying.d.ts","../../../node_modules/@types/semver/ranges/min-satisfying.d.ts","../../../node_modules/@types/semver/ranges/to-comparators.d.ts","../../../node_modules/@types/semver/ranges/min-version.d.ts","../../../node_modules/@types/semver/ranges/valid.d.ts","../../../node_modules/@types/semver/ranges/outside.d.ts","../../../node_modules/@types/semver/ranges/gtr.d.ts","../../../node_modules/@types/semver/ranges/ltr.d.ts","../../../node_modules/@types/semver/ranges/intersects.d.ts","../../../node_modules/@types/semver/ranges/simplify.d.ts","../../../node_modules/@types/semver/ranges/subset.d.ts","../../../node_modules/@types/semver/internals/identifiers.d.ts","../../../node_modules/@types/semver/index.d.ts","../../../node_modules/@types/strip-bom/index.d.ts","../../../node_modules/@types/strip-json-comments/index.d.ts","../../../node_modules/@types/yargs-parser/index.d.ts","../../../node_modules/@types/yargs/index.d.ts","../../../node_modules/@types/yauzl/index.d.ts"],"fileInfos":[{"version":"824cb491a40f7e8fdeb56f1df5edf91b23f3e3ee6b4cde84d4a99be32338faee","affectsGlobalScope":true},"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","3facaf05f0c5fc569c5649dd359892c98a85557e3e0c847964caeb67076f4d75","9a68c0c07ae2fa71b44384a839b7b8d81662a236d4b9ac30916718f7510b1b2d","5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4","feecb1be483ed332fad555aff858affd90a48ab19ba7272ee084704eb7167569","5514e54f17d6d74ecefedc73c504eadffdeda79c7ea205cf9febead32d45c4bc","1c0cdb8dc619bc549c3e5020643e7cf7ae7940058e8c7e5aefa5871b6d86f44b",{"version":"87d693a4920d794a73384b3c779cadcb8548ac6945aa7a925832fe2418c9527a","affectsGlobalScope":true},{"version":"76f838d5d49b65de83bc345c04aa54c62a3cfdb72a477dc0c0fce89a30596c30","affectsGlobalScope":true},{"version":"db88e2781075c7bca86634724f38a132de718ddf3a470a3a2cdb182f4364af9e","affectsGlobalScope":true},{"version":"138fb588d26538783b78d1e3b2c2cc12d55840b97bf5e08bca7f7a174fbe2f17","affectsGlobalScope":true},{"version":"dc2df20b1bcdc8c2d34af4926e2c3ab15ffe1160a63e58b7e09833f616efff44","affectsGlobalScope":true},{"version":"4443e68b35f3332f753eacc66a04ac1d2053b8b035a0e0ac1d455392b5e243b3","affectsGlobalScope":true},{"version":"bc47685641087c015972a3f072480889f0d6c65515f12bd85222f49a98952ed7","affectsGlobalScope":true},{"version":"0dc1e7ceda9b8b9b455c3a2d67b0412feab00bd2f66656cd8850e8831b08b537","affectsGlobalScope":true},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true},{"version":"4ff2a353abf8a80ee399af572debb8faab2d33ad38c4b4474cff7f26e7653b8d","affectsGlobalScope":true},{"version":"93495ff27b8746f55d19fcbcdbaccc99fd95f19d057aed1bd2c0cafe1335fbf0","affectsGlobalScope":true},{"version":"6fc23bb8c3965964be8c597310a2878b53a0306edb71d4b5a4dfe760186bcc01","affectsGlobalScope":true},{"version":"ea011c76963fb15ef1cdd7ce6a6808b46322c527de2077b6cfdf23ae6f5f9ec7","affectsGlobalScope":true},{"version":"38f0219c9e23c915ef9790ab1d680440d95419ad264816fa15009a8851e79119","affectsGlobalScope":true},{"version":"bb42a7797d996412ecdc5b2787720de477103a0b2e53058569069a0e2bae6c7e","affectsGlobalScope":true},{"version":"4738f2420687fd85629c9efb470793bb753709c2379e5f85bc1815d875ceadcd","affectsGlobalScope":true},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true},{"version":"4de680d5bb41c17f7f68e0419412ca23c98d5749dcaaea1896172f06435891fc","affectsGlobalScope":true},{"version":"9fc46429fbe091ac5ad2608c657201eb68b6f1b8341bd6d670047d32ed0a88fa","affectsGlobalScope":true},{"version":"61c37c1de663cf4171e1192466e52c7a382afa58da01b1dc75058f032ddf0839","affectsGlobalScope":true},{"version":"b541a838a13f9234aba650a825393ffc2292dc0fc87681a5d81ef0c96d281e7a","affectsGlobalScope":true},{"version":"b20fe0eca9a4e405f1a5ae24a2b3290b37cf7f21eba6cbe4fc3fab979237d4f3","affectsGlobalScope":true},{"version":"811ec78f7fefcabbda4bfa93b3eb67d9ae166ef95f9bff989d964061cbf81a0c","affectsGlobalScope":true},{"version":"717937616a17072082152a2ef351cb51f98802fb4b2fdabd32399843875974ca","affectsGlobalScope":true},{"version":"d7e7d9b7b50e5f22c915b525acc5a49a7a6584cf8f62d0569e557c5cfc4b2ac2","affectsGlobalScope":true},{"version":"71c37f4c9543f31dfced6c7840e068c5a5aacb7b89111a4364b1d5276b852557","affectsGlobalScope":true},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true},{"version":"49ed889be54031e1044af0ad2c603d627b8bda8b50c1a68435fe85583901d072","affectsGlobalScope":true},{"version":"e93d098658ce4f0c8a0779e6cab91d0259efb88a318137f686ad76f8410ca270","affectsGlobalScope":true},{"version":"063600664504610fe3e99b717a1223f8b1900087fab0b4cad1496a114744f8df","affectsGlobalScope":true},{"version":"934019d7e3c81950f9a8426d093458b65d5aff2c7c1511233c0fd5b941e608ab","affectsGlobalScope":true},{"version":"bf14a426dbbf1022d11bd08d6b8e709a2e9d246f0c6c1032f3b2edb9a902adbe","affectsGlobalScope":true},{"version":"5e07ed3809d48205d5b985642a59f2eba47c402374a7cf8006b686f79efadcbd","affectsGlobalScope":true},{"version":"2b72d528b2e2fe3c57889ca7baef5e13a56c957b946906d03767c642f386bbc3","affectsGlobalScope":true},{"version":"8073890e29d2f46fdbc19b8d6d2eb9ea58db9a2052f8640af20baff9afbc8640","affectsGlobalScope":true},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true},{"version":"af3dd424cf267428f30ccfc376f47a2c0114546b55c44d8c0f1d57d841e28d74","affectsGlobalScope":true},{"version":"995c005ab91a498455ea8dfb63aa9f83fa2ea793c3d8aa344be4a1678d06d399","affectsGlobalScope":true},{"version":"51e547984877a62227042850456de71a5c45e7fe86b7c975c6e68896c86fa23b","affectsGlobalScope":true},{"version":"956d27abdea9652e8368ce029bb1e0b9174e9678a273529f426df4b3d90abd60","affectsGlobalScope":true},{"version":"4fa6ed14e98aa80b91f61b9805c653ee82af3502dc21c9da5268d3857772ca05","affectsGlobalScope":true},{"version":"e6633e05da3ff36e6da2ec170d0d03ccf33de50ca4dc6f5aeecb572cedd162fb","affectsGlobalScope":true},{"version":"d8670852241d4c6e03f2b89d67497a4bbefe29ecaa5a444e2c11a9b05e6fccc6","affectsGlobalScope":true},{"version":"8444af78980e3b20b49324f4a16ba35024fef3ee069a0eb67616ea6ca821c47a","affectsGlobalScope":true},{"version":"caccc56c72713969e1cfe5c3d44e5bab151544d9d2b373d7dbe5a1e4166652be","affectsGlobalScope":true},{"version":"3287d9d085fbd618c3971944b65b4be57859f5415f495b33a6adc994edd2f004","affectsGlobalScope":true},{"version":"50d53ccd31f6667aff66e3d62adf948879a3a16f05d89882d1188084ee415bbc","affectsGlobalScope":true},{"version":"08a58483392df5fcc1db57d782e87734f77ae9eab42516028acbfe46f29a3ef7","affectsGlobalScope":true},{"version":"436aaf437562f276ec2ddbee2f2cdedac7664c1e4c1d2c36839ddd582eeb3d0a","affectsGlobalScope":true},{"version":"13f6e6380c78e15e140243dc4be2fa546c287c6d61f4729bc2dd7cf449605471","affectsGlobalScope":true},{"version":"33358442698bb565130f52ba79bfd3d4d484ac85fe33f3cb1759c54d18201393","affectsGlobalScope":true},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true},"6d268309f0e15dd820b2df9806234166554cb4e2fe00d11737adcb4e5489f700","d35b5db21a04a45ae6323c4d4b25acc983dfe2870fc670fd05249eb19d839a5e","58cf96187feb10cc8ad3bb080871cd30888ef63bc5db131f11458850ef8f6245","9102986ff52326a2016e8cddc1cf3092f0808ac916dcc8dc2d2c7195cd181987","fa82b7b22d9df87323e31e9e2ad75911028f3e544647fd212424b3c4452fee3f","01f20dac9dc14f0d306e5d1215c5c1c3b4d1805905e60ae92fabac4031eae7da","9ceec2a882368c0160a8a3879aa0efce0fb985751fc23ff6191006030969cfa4","cad5d6451789234434c28dd2d6a8267b0d64c479b1ad267321faa31ba90d570b","6516fc98fa10b0cb22c7e332bacea4a7ea80257e113f6cdddd924d03bfde218e","be8d072f400254824429edab10acbe595299b702c97b99cc47f8e8018b7102ff","4a3605bef1a5ef29fd5a1696dd95b0b4e2259e2d07a4d88fac79f3a9765c44a2","370079895f1acdd4bb5194a403c85bf60cfbb2654bced9430a6c7210e7246be8","90240231e730deed31569f6c686766a538e4a024bbc33ea1738fe924f477ba61","552223520e823223ee13c5764e9b69b1819c985818a8bcda435d8d1dbd909bee","49b7c3ddd683c09aa437dd92681699387441f522524b14d2331ce494a9bf2f27","637b97f727f21c07a73f09130dc7bf5ac94d04511b179b5eb3e9a4d85a16147a","fb69a046d9f55e2c182c07e793017518b002859497084c0f69f3ee74edd0c4b9","5212dd78d1d63ab33332c8846a0ea5ce248159e74033cde16de48373036b4704","954b3c04ee9f94ca1e262f3e5a6e833b0da0066514b3d4b97b92b7f0c85f8700","a2fc9ce1ae5bed7068d701d8aeebf13321de0f42c217dc2e10f1622dcaa53a7f","8e81f220cb935d551e88cff11541d5e89d3a3494a52fe6247e98016a9dbd4c2d","6b2576a04253626ba41b7dc7ec5977bec07f3b6952b16249d9fa8a3a0d79901c","9de17491f2bfbccea92500e174079d53bdedae34dbebe5d4a12a06ab09814710","e88481085a8576fa52efc913e631c1a833d16179486469b8538d8c4fab2f7381","aec68502c8f4ffaecb4440b37363473582fec0bfee4fb8668a87daa7f700f708","d71577e78c7a4257074aaf82f595724175210c89e8b467ef82f949a6cbd891bc","cf548af8b03cbbc79fdc4f357b5560f618c6d2f68c8688e6eb759c3c11d962c3","c84146dbc9d2e5f43d2cbf15485a4eabf90219dbb66c0d481f20f12d3851bffc","9dc5a1d8f09f9faf21207253a92b461190d59c81ee12c9ac612630e699749990","99c24f331c9f4e75a779b9a988e942442db3cf29923ceb820d3bdd4ed1edfef2","25b1f20d5868ef9ef18132f7dd76b40b7038688ff7c56c58930537a8dff9f231","4105fa0ecfaffb578c8051c3de22e8c984191aac8de14641ee99beed9c5e5bd9","9bba18dcac8cc9bdce65a4e34122d90474617cdf857feddeeba1e7a3638097d4","8c92080253bac0506d82b83d555a029582595f0944abb349954ea732322baa5c","45d4c8d63a67224af62bebff18da32bb2817e306c9fd9e5d1dac6ef8d2da7ead","230eb449f719119cab1728252f20ecdd36d7a20cef659e4a51ada1a232a8aaad","5f264ca312dfcbf23917febc8d7a73ef5be9c248af605939de1c7c4129aa65f2","c1c7b50665ce0b8aa4b95f3843167ac7ac25d1f724d77c2a07b597abb9cf394c","1bf687d978bdd6d5aff10b9eb0ff0695179f8594d4446946fd0182d6d25fa433","ec26029e3a4eccf8ee79d5c76093fbe928cedc83d813fca9be4f055d61530013","e0ff6a627dfbfb9d32e49f34879a763680e37758c509ddd809cb316b96f34390","2113d72680c7ddad6d3b6f70a29432a35c074c94ec6823a7c16ccd69847d965c","c8ffd61bf2db2e7bccb996dd70c9499805cb338f1b1c781987e38ba99dd5b296","55e5a976b594dc02f054860fb59a5299872a5b3c8c90e96733a5c9c9d4ed1fb8","fac83d4c6898d5bf90c508cc84409ded40fdc14611cf42d7fb750fb2c7847979","1668310e691181966c371fce881c88cb1c2e65ac832ef5470434ad926998da2f","4f1eb6b9c2b666278e09019281953fc4ecadad3b2ba2781b2602445743eaaeca","cd4a19200e7e4b235f85c3a15176f84b68bca0a171e802df091553e679238621","2db0dd3aaa2ed285950273ce96ae8a450b45423aa9da2d10e194570f1233fa6b","7394959e5a741b185456e1ef5d64599c36c60a323207450991e7a42e08911419","4967529644e391115ca5592184d4b63980569adf60ee685f968fd59ab1557188","5929864ce17fba74232584d90cb721a89b7ad277220627cc97054ba15a98ea8f","24bd580b5743dc56402c440dc7f9a4f5d592ad7a419f25414d37a7bfe11e342b","25c8056edf4314820382a5fdb4bb7816999acdcb929c8f75e3f39473b87e85bc","c464d66b20788266e5353b48dc4aa6bc0dc4a707276df1e7152ab0c9ae21fad8","78d0d27c130d35c60b5e5566c9f1e5be77caf39804636bc1a40133919a949f21","c6fd2c5a395f2432786c9cb8deb870b9b0e8ff7e22c029954fabdd692bff6195","1d6e127068ea8e104a912e42fc0a110e2aa5a66a356a917a163e8cf9a65e4a75","5ded6427296cdf3b9542de4471d2aa8d3983671d4cac0f4bf9c637208d1ced43","6bdc71028db658243775263e93a7db2fd2abfce3ca569c3cca5aee6ed5eb186d","cadc8aced301244057c4e7e73fbcae534b0f5b12a37b150d80e5a45aa4bebcbd","385aab901643aa54e1c36f5ef3107913b10d1b5bb8cbcd933d4263b80a0d7f20","9670d44354bab9d9982eca21945686b5c24a3f893db73c0dae0fd74217a4c219","0b8a9268adaf4da35e7fa830c8981cfa22adbbe5b3f6f5ab91f6658899e657a7","11396ed8a44c02ab9798b7dca436009f866e8dae3c9c25e8c1fbc396880bf1bb","ba7bc87d01492633cb5a0e5da8a4a42a1c86270e7b3d2dea5d156828a84e4882","4893a895ea92c85345017a04ed427cbd6a1710453338df26881a6019432febdd","c21dc52e277bcfc75fac0436ccb75c204f9e1b3fa5e12729670910639f27343e","13f6f39e12b1518c6650bbb220c8985999020fe0f21d818e28f512b7771d00f9","9b5369969f6e7175740bf51223112ff209f94ba43ecd3bb09eefff9fd675624a","4fe9e626e7164748e8769bbf74b538e09607f07ed17c2f20af8d680ee49fc1da","24515859bc0b836719105bb6cc3d68255042a9f02a6022b3187948b204946bd2","ea0148f897b45a76544ae179784c95af1bd6721b8610af9ffa467a518a086a43","24c6a117721e606c9984335f71711877293a9651e44f59f3d21c1ea0856f9cc9","dd3273ead9fbde62a72949c97dbec2247ea08e0c6952e701a483d74ef92d6a17","405822be75ad3e4d162e07439bac80c6bcc6dbae1929e179cf467ec0b9ee4e2e","0db18c6e78ea846316c012478888f33c11ffadab9efd1cc8bcc12daded7a60b6","4d2b0eb911816f66abe4970898f97a2cfc902bcd743cbfa5017fad79f7ef90d8","bd0532fd6556073727d28da0edfd1736417a3f9f394877b6d5ef6ad88fba1d1a","89167d696a849fce5ca508032aabfe901c0868f833a8625d5a9c6e861ef935d2","e53a3c2a9f624d90f24bf4588aacd223e7bec1b9d0d479b68d2f4a9e6011147f","24b8685c62562f5d98615c5a0c1d05f297cf5065f15246edfe99e81ec4c0e011","93507c745e8f29090efb99399c3f77bec07db17acd75634249dc92f961573387","339dc5265ee5ed92e536a93a04c4ebbc2128f45eeec6ed29f379e0085283542c","4732aec92b20fb28c5fe9ad99521fb59974289ed1e45aecb282616202184064f","2e85db9e6fd73cfa3d7f28e0ab6b55417ea18931423bd47b409a96e4a169e8e6","c46e079fe54c76f95c67fb89081b3e399da2c7d109e7dca8e4b58d83e332e605","bf67d53d168abc1298888693338cb82854bdb2e69ef83f8a0092093c2d562107",{"version":"e7be367719c613d580d4b27fdf8fe64c9736f48217f4b322c0d63b2971460918","affectsGlobalScope":true},"3d77c73be94570813f8cadd1f05ebc3dc5e2e4fdefe4d340ca20cd018724ee36",{"version":"9d8f6e55f5a038f4dca0cacd6566f9b82c576eee35c694b89230e9dec1895a77","affectsGlobalScope":true},"62f1c00d3d246e0e3cf0224f91e122d560428ec1ccc36bb51d4574a84f1dbad0","53f0960fdcc53d097918adfd8861ffbe0db989c56ffc16c052197bf115da5ed6",{"version":"662163e5327f260b23ca0a1a1ad8a74078aabb587c904fcb5ef518986987eaff","affectsGlobalScope":true},"a40826e8476694e90da94aa008283a7de50d1dafd37beada623863f1901cb7fb",{"version":"f85c06e750743acf31f0cfd3be284a364d469761649e29547d0dd6be48875150","affectsGlobalScope":true},"b0c0d1d13be149f790a75b381b413490f98558649428bb916fd2d71a3f47a134","3c884d9d9ec454bdf0d5a0b8465bf8297d2caa4d853851d92cc417ac6f30b969","0364f8bb461d6e84252412d4e5590feda4eb582f77d47f7a024a7a9ff105dfdc","5433f7f77cd1fd53f45bd82445a4e437b2f6a72a32070e907530a4fea56c30c8","d0ca5d7df114035258a9d01165be309371fcccf0cccd9d57b1453204686d1ed0",{"version":"ee1ee365d88c4c6c0c0a5a5701d66ebc27ccd0bcfcfaa482c6e2e7fe7b98edf7","affectsGlobalScope":true},{"version":"9a30b7fefd7f8abbca4828d481c61c18e40fe5ff107e113b1c1fcd2c8dcf2743","affectsGlobalScope":true},"173b6275a81ebdb283b180654890f46516c21199734fed01a773b1c168b8c45c","304f66274aa8119e8d65a49b1cff84cbf803def6afe1b2cc987386e9a9890e22","1b9adafe8a7fefaeaf9099a0e06f602903f6268438147b843a33a5233ac71745","98273274f2dbb79b0b2009b20f74eca4a7146a3447c912d580cd5d2d94a7ae30","c933f7ba4b201c98b14275fd11a14abb950178afd2074703250fe3654fc10cd2","dccdf1677e531e33f8ac961a68bc537418c9a414797c1ea7e91307501cdc3f5e",{"version":"ea455cc68871b049bcecd9f56d4cf27b852d6dafd5e3b54468ca87cc11604e4d","affectsGlobalScope":true},"8f5814f29dbaf8bacd1764aebdf1c8a6eb86381f6a188ddbac0fcbaab855ce52","a63d03de72adfb91777784015bd3b4125abd2f5ef867fc5a13920b5649e8f52b","d20e003f3d518a7c1f749dbe27c6ab5e3be7b3c905a48361b04a9557de4a6900",{"version":"452e8a437aa57fe832dece2a5d3ea8dd0ab1de03ca778d09798c56ece0a29e80","affectsGlobalScope":true},{"version":"a20f1e119615bf7632729fd89b6c0b5ffdc2df3b512d6304146294528e3ebe19","affectsGlobalScope":true},"575fb200043b11b464db8e42cc64379c5fd322b6d787638e005b5ee98a64486d","6de2f225d942562733e231a695534b30039bdf1875b377bb7255881f0df8ede8","56249fd3ef1f6b90888e606f4ea648c43978ef43a7263aafad64f8d83cd3b8aa","139ad1dc93a503da85b7a0d5f615bddbae61ad796bc68fedd049150db67a1e26","7b166975fdbd3b37afb64707b98bca88e46577bbc6c59871f9383a7df2daacd1","9eece5e586312581ccd106d4853e861aaaa1a39f8e3ea672b8c3847eedd12f6e","81505c54d7cad0009352eaa21bd923ab7cdee7ec3405357a54d9a5da033a2084","269929a24b2816343a178008ac9ae9248304d92a8ba8e233055e0ed6dbe6ef71","93452d394fdd1dc551ec62f5042366f011a00d342d36d50793b3529bfc9bd633","3c1f19c7abcda6b3a4cf9438a15c7307a080bd3b51dfd56b198d9f86baf19447","2ee1645e0df9d84467cfe1d67b0ad3003c2f387de55874d565094464ee6f2927",{"version":"a321f588d51d742955993766d2969ed19006110a080572bfd24054178a5be640","affectsGlobalScope":true},{"version":"9cf780e96b687e4bdfd1907ed26a688c18b89797490a00598fa8b8ab683335dd","affectsGlobalScope":true},"98e00f3613402504bc2a2c9a621800ab48e0a463d1eed062208a4ae98ad8f84c","9ae88ce9f73446c24b2d2452e993b676da1b31fca5ceb7276e7f36279f693ed1","e49d7625faff2a7842e4e7b9b197f972633fca685afcf6b4403400c97d087c36","b82c38abc53922b1b3670c3af6f333c21b735722a8f156e7d357a2da7c53a0a0",{"version":"b423f53647708043299ded4daa68d95c967a2ac30aa1437adc4442129d7d0a6c","affectsGlobalScope":true},{"version":"21fcdcb618236f0feaca7e511e2da10c19970f86e09c934cef2d45b340ad92b5","affectsGlobalScope":true},"4f0fc7b7f54422bd97cfaf558ddb4bca86893839367b746a8f86b60ac7619673","4cdd8b6b51599180a387cc7c1c50f49eca5ce06595d781638fd0216520d98246","d91a7d8b5655c42986f1bdfe2105c4408f472831c8f20cf11a8c3345b6b56c8c",{"version":"8704423bf338bff381ebc951ed819935d0252d90cd6de7dffe5b0a5debb65d07","affectsGlobalScope":true},"b33379077284c9e55d2410d814b71b15522c5f71f9e93e15a8c3c41d463b00f6",{"version":"ab9b9a36e5284fd8d3bf2f7d5fcbc60052f25f27e4d20954782099282c60d23e","affectsGlobalScope":true},"a42be67ed1ddaec743582f41fc219db96a1b69719fccac6d1464321178d610fc","c663a7e4ee2cb54d99cf095479a5bcf1dd18d762ffdfa038aa1b2d79b070b0d7","5463c98206a890ea7a759fbcc97b0c042ab1a740b3e24037f7fbf40bae70a3c5","841f7ca2af7f4d9cca1f9fa2288a4849fc9d49ca15b47336892efd06a14dd1d8","5bccd6ffc11fed820a432ac819200e6af38f8c3625e6eae0cf0f07ca85856392","8510595d2ca2660e6407be65d8bf95f0c53877dbb812e269cdd980fc34de5f78","b73dc0d8185876891831a04b36b0c97fc950b82dd747adaa1fe2d001be8f2a03","82f507498b118e727c99b2b24b66fe95e475db73959a5af372526e2aabeba2bd","a014705f62ab3731cd6e83cc0d47055301bda50e883a7c5b308c5fc294384f00","c123e41196eb293cd30ff19b31d55192d3a3ffbbab8409d5c4b328844c5e93fc","4729c40012c9b4ae235cdeb76bc9cf5c127e09eb08ecf5b1b51b8d03d58e5555","38aaec0cd25bec1bec8511430fcfc6a7ce53ec44fa7e4e68717c551d0c786ef0","ec6adf14f44d63199b70a1117f13d380dfd0b1e1f0a6357b0ecf04cf0c56ab68",{"version":"290ac2a8c789d7dcc4e17d347cc4f7ad5a443ee4e7fe524695c62eec40b2012f","signature":"f9702dc6e95662496c1b0cb16d409b175723729b670c0b56e8cbc46f5a2f40f6"},{"version":"42fb08a298e7405142a659c966f6f0faef5a80d2f591a578df1d9cc5aaa2660a","signature":"667a6e6eac33f9b4c82a1a7401dc25bbb07ad70f947210f4cf6c9cbd996dfb45"},{"version":"fd3b43edf6fcdac49667f7f3f101316a4c5523f4eff4c5280c0f1fcaff7e6f52","signature":"910a02d728a11306977e520095558af06caefeb77fe8adc5daff8afd7baa8765"},"7ad3e0aaeb840047fa4711306188cac803514091f251b6baecb9b2aacf15b976","6d268309f0e15dd820b2df9806234166554cb4e2fe00d11737adcb4e5489f700","58cf96187feb10cc8ad3bb080871cd30888ef63bc5db131f11458850ef8f6245","9102986ff52326a2016e8cddc1cf3092f0808ac916dcc8dc2d2c7195cd181987","fa82b7b22d9df87323e31e9e2ad75911028f3e544647fd212424b3c4452fee3f","01f20dac9dc14f0d306e5d1215c5c1c3b4d1805905e60ae92fabac4031eae7da","9ceec2a882368c0160a8a3879aa0efce0fb985751fc23ff6191006030969cfa4","cad5d6451789234434c28dd2d6a8267b0d64c479b1ad267321faa31ba90d570b","d5197053be441d40f4d074185a40d461137c8fa8db9e00cceedf2d9ca6583157","3cd33c37432c2de7bdd9f1d48b3ea4fd03afad4969cfc5ba88d81e6ed03f432c","6db29cf7af1d68c8194d98f1c444cea3b30a2c65deda3428452efaa05717b81d","561ef05d7e369040c28800d878d7e6461af62e459460263e911d508f319c8d5d","a1b60bd2328318dcbec30bdf529dad31a13315ff2df60c8bd71630c58a575b06","a399dd9b73e4bbfbed2ad1c1259d707f5f147f40dc5e3eeb541bf0bf2da42b25","8cc6a35806cd10d448b0f2ab01fe0b6194ca57fdaced2d71781b68e83c55bd88","8f364fec0ef20506aa9cf00b5cd8b620c1c0389687b11a3a32b0b5d4716ad894","5d11703e2c5d4dbe00bbe79f3bc864d178cf8d6ebccc2d1448ea29e93654f029","f4e82c91aac3b61f3ad04f11a44c5b79f724ff8a09281d0afa24a6624633ff25","ed849d616865076f44a41c87f27698f7cdf230290c44bafc71d7c2bc6919b202","7b8b9017156ef8bf3bbe42785fac8956e5c9869f4a494536d7f548a7c1c7d98a","07c34d1f83dfc5746de4229e01f0cb4d388a9f128eab6beadb4ae1621ebb87c6","763bb8df872cbb8783e29e19bd7a1dea0f88f7fd7398343af38be8509a65df82","372b3681eb9618821c0e0e10bcc775b838e45b51912b8998bc5ba035100dc9e5","c286b410193495d067668bcdbd13ea3f3a39001edff02edee248babf2652e563","87c73268165bf20f01c101ac785e8a9d1d95ff203d05d3548a6c49952597e321","af89ab13b40dd28cd91818fc6329914d2b9663591831f032ff0f0cb4a028d4a5","63007f1618ada5041fb3b47630b64a9987d268bf740dd72334c38b5d23f5239b","3395f90467d2bb9db039a5c22ed6659ca2ff6f0b4f7ee5f223b0f77288f54ea7","20df2907d398e369d49e8906d6e0f096c465501e9ceff9d61293bf0f4e9020f1","302aa8248dab7c689c103162e542224aa7f3b0db46e29d0fb468fac721cf1c41","ea0a3bb69845621165c21e80ebb0d2b28dad22cd9920564516ce8e927a828f79","6a81475a67505af60be3242841c65ce4bf6d0b624d8b3fada646ba459a3eaad8","6834dd6cc060648604278cdb920a9316fa916e9116134b17dfad90e42800ca47","19fba62f1aab90f0110738261ed8bc1da82c89433fc43265f14870d4380d10b8","fbb2df54f4778b4d691bbc7c0a6e1e241dfffaca19f443cc9f230f450458bf89","da98d8109f379be48d459a6821ebd7cc728af62557e1c44f864e04360686af93","ef6e6d838cc600162626a53167046484f38e9a4bab9454e72350bed76c497228","8adf9a02b0c2508f81516b561a6c8080ea2169126f166e39767bcb5389b9cfbc","c8b50ecedc9ff1b0e83c96f0a334d022874199f7c2d00d182ca6672176b0ea9d","b66ede73039e8751e06e3cab843e5a4265c1124a3285c3d854092c37a966b1f5","580ac7757b426f045be01f7e47fff9910b922442b45266fd3fe39c44b53ef5ad","94432b8ce4402dd579be8dbf8d798dd64b57d9df617b9dfe4f10f93c1540540f","1447d46bff9e7c5c77da14515a7456ea5e919ce6e28f5e6746edf99818e4be47","ba3f6f0ee47f46cdce55620aec5726de80e92a930982634afe9918c114c38f0b","6f38045547cdfd54ec19abcd943cace72c775fde739c5e0e1d917cf3030c16b5","929fc31f7523aaa1d19735b77e637af06e58d76007648ec088ecfbec1521cbfe","a6eb23f2a83113ce0ab7203bfda2be0888720f8d694a20abaef83b9f62832061","363dca5004ac5a3d9c2bba12812b97a64461911762f0b8f9320a8856ec53bcad","557b8c7481296f4b7ed362320f3bbb40bb87404edf880c81224f365a8d1e17f3","283ed3d075bf7d3e8793f63b2a52f475ed84d95b7b6351c5d5bcc6c49d4b845b","6544dab49004fecb69a4ef775e9ad2773a6148b1f9bfd9b75508e3afa11f5d35","bd4c741820ec3574b7ed3b782c8d78034d6e4631d11997e701e6b955b86a87c1","e2dd36a524ea5b13de1ed104ede9cea79696588175c1df1940d6a29113a4aee0","a878d4c7237a7af50e96534295fcf723134d70cbb1e9bfd8365266b912aee6ec","a1f708ddf34053065f8f53682123421af299cee37ae110a86ba07851adf940da","913fbbd374393d3473dcae4b64a5eff2dea93306bb065ae7111be724a8ca57e1","395e6fa1fc8f46f827a5f7d3b7dabc836627ae57e41338f93c221b88d4978f15","749effab6d7e72df8d126868c82b8166cdde84d48453e44f65cbad42ad900b06","11705a4aad6e2e724b82ffee6c4fa271d798f0fb68806ace4b1c425c266f8d98","b81972aff48d9f08543cb19cc5d73f50eb9901d25daecabc46a53866f99d27b2","ca027df9fd496a200d99ca0db4b0077463ce4926a6c8e05cfae522c5971ccbc0","e043a9288022e8d802117e5e9e718443296f9c69a5eab7ed89b2fb76128a0140","1834770fc1d5e5240fe8f3de72205c9e79b1c321224fb4af8bd2529202a6960c","3b1901191af5f232f0a950a914649749c3447c445cae6b896e74fe987b379701","3641a97eab56e401bc6ab265ef34e54d926017181e2cbbd8ee36d87b7e19345b","1e84b75e59ed7fff2883625dc3d3d8a6828c878a1b7e4e9ea54fa67ab574eb1e",{"version":"6a9eb9c5d3f7474937973fe4b0a9e53025634c2e39118eda436d89f3e9df976f","affectsGlobalScope":true},{"version":"86e56d97b13ef0a58bc9c59aee782ae7d47d63802b5b32129ec5e5d62c20dbfa","affectsGlobalScope":true},{"version":"c1f79c6d85cd84518fd7349588b3c61bdc189f58e3866f925cbf4631c81e31f9","affectsGlobalScope":true},{"version":"54db406753da16e177f094aa66da79840f447de6d87ddd1543a80c9418c52545","affectsGlobalScope":true},{"version":"42f28f4cfca4a70bd89c1d55d76c7978275030b894f6793f36890265c11a83a4","affectsGlobalScope":true},{"version":"7cf1027da9599f056355b46bbea31dbf7f715f797dffb9cbb3402d4490c503e5","affectsGlobalScope":true},"96dbd0787b57ae02981d26d5f2441f0f8444fb46d7578c56527eab89cff13a7d","5ccc3c7f73ef48c223635cd4506f21133560de7abc4c09c623327bb1b54386dc","7d2a0ba1297be385a89b5515b88cd31b4a1eeef5236f710166dc1b36b1741e1b","8e87660f5170c195ade218937e360484775be6a4e75a098665d9ba5a2e4cdc15","8d16e3ff29dd0650435766702b01c2f7e9d1f289a48fcbf8e93687d6ecf33f26","ac63a01fcac70315fc9b416e9a57e568b18032c7cfcaa314e1751f03ef71286f","66336b5a5d5e897e932cbf1e306ff8ac8a9929971409a8049c8c8a249cd8b57c",{"version":"e1873a754ad26cfb66157fc3f87e339dbb7204dba5fb3b6805c8637862fed98d","signature":"a1a78d01e5f4686fc589b88ed8e965667e2144af0af21b1c6a153de86acb32b8"},{"version":"12b7221ba57d081fb4ed1f5af21ed57b84e2cb47f5443f29a71af9d861aa880f","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},"1f63ac6272e4d2d43cb25552b4ed8a89ffc86244ea655f685e8e3685433c7b23","2d2bccc77a578611c2aef535a8d131d4ec98aa7c644119b0d88d83bb68ebc947","094be99dc9410d3cb517ba523ae031864c5e258a3904ed8058773672768c2c6c","fafe1e5b2114bc57a6da341cad2bb44298543caa3fd7680e6bb0f29215048aa2","796eea44840b57d4c6741d119d767c5ea294fdf610151158fd0a2f236cf21367","309ab701fcc8aa7f3c9b53fe84cb5ef7cbd579888de19423c8fc54402be9e8d9","5ad6d882be6f8e602795bc0bd0fac7806b16ba7715be494fe0279e2c5e3e23c0","596ab45ef67fa8dae4996a2a61dc5055ae2b3dc5102cf3b43ee7965a7088943b","a3f9f52ce73700565c8d9ba2aa75823ab8fc8e7258a27ecb828cd4257b8f918d","5f4884638ab10b753ec0c7406916fc746bb99cc0044b9a4a67b2006b7e57e8af","4b5603a1ccca455500cfb39517d41ec011f31ba84bb6de44473344a237d89168",{"version":"48065d9ccf3c6ee5a00bfcc4dca34927e477759a6e603ea20673d9285427081a","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"6c507d6c49c34dc31a5dcc96ca0ac806beb36d37a33f71cb34077fcac8f12145","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},"56558ae167446acf230ea2cc072a835309a37ae63d286b484308afd8c504c2d6",{"version":"5b193c198a20fd0215e7a144ddddbc6570f5a155e6c7386da9df5a1d98118712","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},"42baf4ca38c38deaf411ea73f37bc39ff56c6e5c761a968b64ac1b25c92b5cd8","d7dbe0ad36bdca8a6ecf143422a48e72cc8927bab7b23a1a2485c2f78a7022c6","8718fa41d7cf4aa91de4e8f164c90f88e0bf343aa92a1b9b725a9c675c64e16b","f992cd6cc0bcbaa4e6c810468c90f2d8595f8c6c3cf050c806397d3de8585562","68cc8d6fcc2f270d7108f02f3ebc59480a54615be3e09a47e14527f349e9d53e","3eb11dbf3489064a47a2e1cf9d261b1f100ef0b3b50ffca6c44dd99d6dd81ac1","bc222163edcb8df6ba9b506d053d6c5afcae50e85695151cf4636a3107deaba9","035a5df183489c2e22f3cf59fc1ed2b043d27f357eecc0eb8d8e840059d44245","f3d8c757e148ad968f0d98697987db363070abada5f503da3c06aefd9d4248c1","96d14f21b7652903852eef49379d04dbda28c16ed36468f8c9fa08f7c14c9538","fec943fdb3275eb6e006b35e04a8e2e99e9adf3f4b969ddf15315ac7575a93e4","742f21debb3937c3839a63245648238555bdab1ea095d43fd10c88a64029bf76","7cfdf3b9a5ba934a058bfc9390c074104dc7223b7e3c16fd5335206d789bc3d3","0944f27ebff4b20646b71e7e3faaaae50a6debd40bc63e225de1320dd15c5795","5d30565583300c9256072a013ac0318cc603ff769b4c5cafc222394ea93963e1","8a7219b41d3c1c93f3f3b779146f313efade2404eeece88dcd366df7e2364977","a109c4289d59d9019cfe1eeab506fe57817ee549499b02a83a7e9d3bdf662d63","89121c1bf2990f5219bfd802a3e7fc557de447c62058d6af68d6b6348d64499a","d4a22007b481fe2a2e6bfd3a42c00cd62d41edb36d30fc4697df2692e9891fc8","8841e2aa774b89bd23302dede20663306dc1b9902431ac64b24be8b8d0e3f649","fbca5ffaebf282ec3cdac47b0d1d4a138a8b0bb32105251a38acb235087d3318",{"version":"90ebf5865e27d8966ef44b073e6e83b0ddd45058bab1d58b1e4b5a47d36396c4","affectsGlobalScope":true},"cb482592bfcbdfcefa8d155590399e8bff66277e60e17bfada7c2f31322e7b87","22293bd6fa12747929f8dfca3ec1684a3fe08638aa18023dd286ab337e88a592","916be7d770b0ae0406be9486ac12eb9825f21514961dd050594c4b250617d5a8","510616459e6edd01acbce333fb256e06bdffdad43ca233a9090164bf8bb83912","cf3d384d082b933d987c4e2fe7bfb8710adfd9dc8155190056ed6695a25a559e","9871b7ee672bc16c78833bdab3052615834b08375cb144e4d2cba74473f4a589","c863198dae89420f3c552b5a03da6ed6d0acfa3807a64772b895db624b0de707","8b03a5e327d7db67112ebbc93b4f744133eda2c1743dbb0a990c61a8007823ef","86c73f2ee1752bac8eeeece234fd05dfcf0637a4fbd8032e4f5f43102faa8eec","42fad1f540271e35ca37cecda12c4ce2eef27f0f5cf0f8dd761d723c744d3159","ff3743a5de32bee10906aff63d1de726f6a7fd6ee2da4b8229054dfa69de2c34","83acd370f7f84f203e71ebba33ba61b7f1291ca027d7f9a662c6307d74e4ac22","1445cec898f90bdd18b2949b9590b3c012f5b7e1804e6e329fb0fe053946d5ec","0e5318ec2275d8da858b541920d9306650ae6ac8012f0e872fe66eb50321a669","cf530297c3fb3a92ec9591dd4fa229d58b5981e45fe6702a0bd2bea53a5e59be","c1f6f7d08d42148ddfe164d36d7aba91f467dbcb3caa715966ff95f55048b3a4","f4e9bf9103191ef3b3612d3ec0044ca4044ca5be27711fe648ada06fad4bcc85","0c1ee27b8f6a00097c2d6d91a21ee4d096ab52c1e28350f6362542b55380059a","7677d5b0db9e020d3017720f853ba18f415219fb3a9597343b1b1012cfd699f7","bc1c6bc119c1784b1a2be6d9c47addec0d83ef0d52c8fbe1f14a51b4dfffc675","52cf2ce99c2a23de70225e252e9822a22b4e0adb82643ab0b710858810e00bf1","770625067bb27a20b9826255a8d47b6b5b0a2d3dfcbd21f89904c731f671ba77","d1ed6765f4d7906a05968fb5cd6d1db8afa14dbe512a4884e8ea5c0f5e142c80","799c0f1b07c092626cf1efd71d459997635911bb5f7fc1196efe449bba87e965","2a184e4462b9914a30b1b5c41cf80c6d3428f17b20d3afb711fff3f0644001fd","9eabde32a3aa5d80de34af2c2206cdc3ee094c6504a8d0c2d6d20c7c179503cc","397c8051b6cfcb48aa22656f0faca2553c5f56187262135162ee79d2b2f6c966","a8ead142e0c87dcd5dc130eba1f8eeed506b08952d905c47621dc2f583b1bff9","a02f10ea5f73130efca046429254a4e3c06b5475baecc8f7b99a0014731be8b3","c2576a4083232b0e2d9bd06875dd43d371dee2e090325a9eac0133fd5650c1cb","4c9a0564bb317349de6a24eb4efea8bb79898fa72ad63a1809165f5bd42970dd","f40ac11d8859092d20f953aae14ba967282c3bb056431a37fced1866ec7a2681","cc11e9e79d4746cc59e0e17473a59d6f104692fd0eeea1bdb2e206eabed83b03","b444a410d34fb5e98aa5ee2b381362044f4884652e8bc8a11c8fe14bbd85518e","c35808c1f5e16d2c571aa65067e3cb95afeff843b259ecfa2fc107a9519b5392","14d5dc055143e941c8743c6a21fa459f961cbc3deedf1bfe47b11587ca4b3ef5","a3ad4e1fc542751005267d50a6298e6765928c0c3a8dce1572f2ba6ca518661c","f237e7c97a3a89f4591afd49ecb3bd8d14f51a1c4adc8fcae3430febedff5eb6","3ffdfbec93b7aed71082af62b8c3e0cc71261cc68d796665faa1e91604fbae8f","662201f943ed45b1ad600d03a90dffe20841e725203ced8b708c91fcd7f9379a","c9ef74c64ed051ea5b958621e7fb853fe3b56e8787c1587aefc6ea988b3c7e79","2462ccfac5f3375794b861abaa81da380f1bbd9401de59ffa43119a0b644253d","34baf65cfee92f110d6653322e2120c2d368ee64b3c7981dff08ed105c4f19b0","7d8ddf0f021c53099e34ee831a06c394d50371816caa98684812f089b4c6b3d4","4006c872e38a2c4e09c593bc0cdd32b7b4f5c4843910bea0def631c483fff6c5","ab6aa3a65d473871ee093e3b7b71ed0f9c69e07d1d4295f45c9efd91a771241d","bae8d023ef6b23df7da26f51cea44321f95817c190342a36882e93b80d07a960","26a770cec4bd2e7dbba95c6e536390fffe83c6268b78974a93727903b515c4e7","74d5a87c3616cd5d8691059d531504403aa857e09cbaecb1c64dfb9ace0db185"],"root":[[218,220],300,301,313,314,316],"options":{"allowJs":true,"checkJs":true,"composite":true,"declaration":true,"declarationMap":true,"emitDeclarationOnly":false,"esModuleInterop":true,"module":7,"noEmitOnError":true,"outDir":"./","removeComments":false,"skipLibCheck":true,"sourceMap":true,"strict":true,"stripInternal":true,"target":9},"fileIdsList":[[207,221,230,231,232,234,242,243,244,245,260],[230,231],[66,229],[207,230,231,233],[235,237],[233,235,241],[239],[207,231,234,235,236,237,238,240],[231],[66,207],[231,234],[91,207,230],[229],[222],[66,222],[222,223,224,225,226,227,228],[207],[91,207,260],[66,92,207,260],[66,92],[302,303,304,305,307,308,309,310,311],[66,91,92,207],[109,207,306],[207,260],[91],[86,91,207,254],[246,255,256,257,258,259],[86,91,207],[66,81,92,93,207],[81,91,93],[66,81,91,92,207],[79,94,207],[167,205],[80,81,86,91,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,110,111,112,206],[66,77,79],[93],[94,96],[77,79,80],[81,91],[81,94,207],[80,81,91],[66,80,81,93,96,109],[66,80],[66,92,93,207],[81,93],[86,91,93,96,103,207],[79,86,207,260,262,276,279,280,282,284],[66,73],[207,270,279],[91,207,275],[247,248,249,250,251,252,253],[207,249],[207,247],[207,248],[77,79,207],[66,283],[86,91,207,213],[91,207,214],[66,92,207,208],[207,281],[85,86],[85],[83,84,87],[82,87,89,90],[87,89,91],[88,91],[167,170,197,205,317,318,319],[287],[321],[205],[328],[329,331],[332],[334],[330],[113],[154],[155,160,189],[156,161,167,168,175,186,197],[156,157,167,175],[158,198],[159,160,168,176],[160,186,194],[161,163,167,175],[154,162],[163,164],[167],[165,167],[154,167],[167,168,169,186,197],[167,168,169,182,186,189],[152,155,202],[163,167,170,175,186,197],[167,168,170,171,175,186,194,197],[170,172,186,194,197],[113,114,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204],[167,173],[174,197,202],[163,167,175,186],[176],[177],[154,178],[113,114,154,155,156,157,158,159,160,161,162,163,164,165,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203],[180],[181],[167,182,183],[182,184,198,200],[155,167,186,187,188,189],[155,186,188],[186,187],[189],[190],[113,186],[167,192,193],[192,193],[160,175,186,194],[195],[175,196],[155,170,181,197],[160,198],[186,199],[174,200],[201],[155,160,167,169,178,186,197,200,202],[186,203],[170,186,205],[343,382],[343,367,382],[382],[343],[343,368,382],[343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381],[368,382],[295],[385],[167,186,205],[287,288,289,290,291,292],[287,288],[275,278],[274],[277],[66,92,215],[92],[66,92,216],[75],[264,265,270,271],[78,79],[78],[76],[263],[77],[77,210],[79,210,266,267,268,269],[75,76,77,78,263],[75,76,77],[73],[65],[65,66],[65,67,68,69,70,71,72],[296],[273],[270,272],[124,128,197],[124,186,197],[119],[121,124,194,197],[175,194],[119,205],[121,124,175,197],[116,117,120,123,155,167,186,197],[124,131],[116,122],[124,145,146],[120,124,155,189,197,205],[155,205],[145,155,205],[118,119,205],[124],[118,119,120,121,122,123,124,125,126,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,146,147,148,149,150,151],[124,139],[124,131,132],[122,124,132,133],[123],[116,119,124],[124,128,132,133],[128],[122,124,127,197],[116,121,124,131],[155,186],[119,124,145,155,202,205],[74,79,91,207,208,209,210,219],[74,79,91,207,208,209,210,211,212,214,217,218,220],[74,207,209,210,219],[79,91,207,209,219,261,285,286,293,294,296,297,298,300],[66,296,299],[91,207,209,219,261,285,286,293,296,297,312],[91,207,209,219,261,285,286,293,296,297,298],[91,207,209,219,261,274,285,286,293,294,296,297,298,312,315],[74,91,207,261,285],[79,207,219],[74,79,91,207,217],[207,219],[66,296]],"referencedMap":[[261,1],[232,2],[230,3],[234,4],[238,5],[242,6],[240,7],[241,8],[237,9],[243,10],[244,11],[231,12],[222,13],[225,14],[226,14],[223,15],[224,14],[229,16],[227,3],[228,13],[302,17],[303,18],[304,19],[310,20],[312,21],[311,17],[305,22],[307,23],[308,24],[309,24],[246,25],[255,26],[260,27],[256,17],[257,10],[258,17],[259,28],[105,29],[106,30],[93,31],[95,32],[206,33],[207,34],[80,35],[97,36],[107,37],[81,38],[94,39],[98,40],[99,41],[110,42],[111,43],[101,36],[103,44],[102,45],[104,46],[285,47],[262,48],[280,49],[276,50],[208,17],[250,17],[254,51],[249,17],[247,17],[248,17],[253,52],[251,53],[252,54],[209,55],[284,56],[283,48],[214,57],[213,58],[306,59],[282,60],[87,61],[84,62],[83,62],[85,63],[90,25],[91,64],[82,25],[88,65],[89,66],[320,67],[288,68],[292,68],[290,68],[322,69],[323,70],[327,33],[329,71],[332,72],[333,73],[335,74],[331,75],[113,76],[114,76],[154,77],[155,78],[156,79],[157,80],[158,81],[159,82],[160,83],[161,84],[162,85],[163,86],[164,86],[166,87],[165,88],[167,89],[168,90],[169,91],[153,92],[170,93],[171,94],[172,95],[205,96],[173,97],[174,98],[175,99],[176,100],[177,101],[178,102],[179,103],[180,104],[181,105],[182,106],[183,106],[184,107],[186,108],[188,109],[187,110],[189,111],[190,112],[191,113],[192,114],[193,115],[194,116],[195,117],[196,118],[197,119],[198,120],[199,121],[200,122],[201,123],[202,124],[203,125],[319,126],[367,127],[368,128],[343,129],[346,129],[365,127],[366,127],[356,127],[355,130],[353,127],[348,127],[361,127],[359,127],[363,127],[347,127],[360,127],[364,127],[349,127],[350,127],[362,127],[344,127],[351,127],[352,127],[354,127],[358,127],[369,131],[357,127],[345,127],[382,132],[376,131],[378,133],[377,131],[370,131],[371,131],[373,131],[375,131],[379,133],[380,133],[372,133],[374,133],[296,134],[386,135],[387,136],[293,137],[291,68],[289,138],[279,139],[275,140],[278,141],[215,20],[216,142],[315,143],[217,144],[317,87],[271,145],[272,146],[76,147],[79,148],[263,149],[264,150],[265,150],[210,151],[267,152],[270,153],[269,154],[78,155],[65,156],[69,157],[70,157],[67,158],[68,157],[73,159],[71,48],[72,156],[297,160],[298,161],[274,161],[273,162],[131,163],[141,164],[130,163],[151,165],[122,166],[121,167],[150,70],[144,168],[149,169],[124,170],[138,171],[123,172],[147,173],[119,174],[118,175],[148,176],[120,177],[125,178],[129,178],[152,179],[142,180],[133,181],[134,182],[136,183],[132,184],[135,185],[145,70],[127,186],[128,187],[137,188],[117,189],[140,180],[139,178],[146,190],[220,191],[219,192],[218,193],[301,194],[300,195],[313,196],[314,197],[316,198],[74,48],[211,10],[212,17],[286,199]],"exportedModulesMap":[[261,1],[232,2],[230,3],[234,4],[238,5],[242,6],[240,7],[241,8],[237,9],[243,10],[244,11],[231,12],[222,13],[225,14],[226,14],[223,15],[224,14],[229,16],[227,3],[228,13],[302,17],[303,18],[304,19],[310,20],[312,21],[311,17],[305,22],[307,23],[308,24],[309,24],[246,25],[255,26],[260,27],[256,17],[257,10],[258,17],[259,28],[105,29],[106,30],[93,31],[95,32],[206,33],[207,34],[80,35],[97,36],[107,37],[81,38],[94,39],[98,40],[99,41],[110,42],[111,43],[101,36],[103,44],[102,45],[104,46],[285,47],[262,48],[280,49],[276,50],[208,17],[250,17],[254,51],[249,17],[247,17],[248,17],[253,52],[251,53],[252,54],[209,55],[284,56],[283,48],[214,57],[213,58],[306,59],[282,60],[87,61],[84,62],[83,62],[85,63],[90,25],[91,64],[82,25],[88,65],[89,66],[320,67],[288,68],[292,68],[290,68],[322,69],[323,70],[327,33],[329,71],[332,72],[333,73],[335,74],[331,75],[113,76],[114,76],[154,77],[155,78],[156,79],[157,80],[158,81],[159,82],[160,83],[161,84],[162,85],[163,86],[164,86],[166,87],[165,88],[167,89],[168,90],[169,91],[153,92],[170,93],[171,94],[172,95],[205,96],[173,97],[174,98],[175,99],[176,100],[177,101],[178,102],[179,103],[180,104],[181,105],[182,106],[183,106],[184,107],[186,108],[188,109],[187,110],[189,111],[190,112],[191,113],[192,114],[193,115],[194,116],[195,117],[196,118],[197,119],[198,120],[199,121],[200,122],[201,123],[202,124],[203,125],[319,126],[367,127],[368,128],[343,129],[346,129],[365,127],[366,127],[356,127],[355,130],[353,127],[348,127],[361,127],[359,127],[363,127],[347,127],[360,127],[364,127],[349,127],[350,127],[362,127],[344,127],[351,127],[352,127],[354,127],[358,127],[369,131],[357,127],[345,127],[382,132],[376,131],[378,133],[377,131],[370,131],[371,131],[373,131],[375,131],[379,133],[380,133],[372,133],[374,133],[296,134],[386,135],[387,136],[293,137],[291,68],[289,138],[279,139],[275,140],[278,141],[215,20],[216,142],[315,143],[217,144],[317,87],[271,145],[272,146],[76,147],[79,148],[263,149],[264,150],[265,150],[210,151],[267,152],[270,153],[269,154],[78,155],[65,156],[69,157],[70,157],[67,158],[68,157],[73,159],[71,48],[72,156],[297,160],[298,161],[274,161],[273,162],[131,163],[141,164],[130,163],[151,165],[122,166],[121,167],[150,70],[144,168],[149,169],[124,170],[138,171],[123,172],[147,173],[119,174],[118,175],[148,176],[120,177],[125,178],[129,178],[152,179],[142,180],[133,181],[134,182],[136,183],[132,184],[135,185],[145,70],[127,186],[128,187],[137,188],[117,189],[140,180],[139,178],[146,190],[220,200],[219,201],[218,202],[300,203],[74,48],[211,10],[212,17],[286,199]],"semanticDiagnosticsPerFile":[245,261,232,221,230,234,238,242,240,235,233,241,237,243,244,231,236,222,225,226,223,224,229,227,228,302,303,304,310,312,311,305,307,308,309,246,255,260,256,257,258,259,105,106,93,95,112,96,206,207,80,97,107,81,94,98,99,108,110,111,100,101,103,102,104,285,262,280,276,208,250,254,249,247,248,253,251,252,209,284,283,214,213,306,282,87,84,83,85,90,91,82,88,89,320,288,292,290,287,322,323,318,324,325,326,327,328,329,332,333,335,330,331,336,337,338,321,339,113,114,154,155,156,157,158,159,160,161,162,163,164,166,165,167,168,169,153,204,170,171,172,205,173,174,175,176,177,178,179,180,181,182,183,184,185,186,188,187,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,340,341,319,342,367,368,343,346,365,366,356,355,353,348,361,359,363,347,360,364,349,350,362,344,351,352,354,358,369,357,345,382,381,376,378,377,370,371,373,375,379,380,372,374,296,295,383,384,334,385,386,387,293,281,115,291,289,239,279,275,277,278,294,215,216,315,217,109,92,317,271,75,272,76,266,79,263,264,265,210,267,77,270,269,78,268,86,65,69,70,67,68,73,71,72,297,63,64,11,12,15,14,2,16,17,18,19,20,21,22,23,3,24,4,25,29,26,27,28,30,31,32,5,33,34,35,36,6,40,37,38,39,41,7,42,47,48,43,44,45,46,8,52,49,50,51,53,9,54,55,56,59,57,58,60,61,10,1,62,13,66,299,298,274,273,131,141,130,151,122,121,150,144,149,124,138,123,147,119,118,148,120,125,126,129,116,152,142,133,134,136,132,135,145,127,128,137,117,140,139,143,146,220,219,218,301,300,313,314,316,74,211,212,286],"latestChangedDtsFile":"./test/stream.spec.d.ts"},"version":"5.4.5"} ++{"program":{"fileNames":["../../../node_modules/typescript/lib/lib.es5.d.ts","../../../node_modules/typescript/lib/lib.es2015.d.ts","../../../node_modules/typescript/lib/lib.es2016.d.ts","../../../node_modules/typescript/lib/lib.es2017.d.ts","../../../node_modules/typescript/lib/lib.es2018.d.ts","../../../node_modules/typescript/lib/lib.es2019.d.ts","../../../node_modules/typescript/lib/lib.es2020.d.ts","../../../node_modules/typescript/lib/lib.es2021.d.ts","../../../node_modules/typescript/lib/lib.es2022.d.ts","../../../node_modules/typescript/lib/lib.es2023.d.ts","../../../node_modules/typescript/lib/lib.dom.d.ts","../../../node_modules/typescript/lib/lib.dom.iterable.d.ts","../../../node_modules/typescript/lib/lib.webworker.d.ts","../../../node_modules/typescript/lib/lib.es2015.core.d.ts","../../../node_modules/typescript/lib/lib.es2015.collection.d.ts","../../../node_modules/typescript/lib/lib.es2015.generator.d.ts","../../../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../../node_modules/typescript/lib/lib.es2015.promise.d.ts","../../../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../../node_modules/typescript/lib/lib.es2016.intl.d.ts","../../../node_modules/typescript/lib/lib.es2017.date.d.ts","../../../node_modules/typescript/lib/lib.es2017.object.d.ts","../../../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2017.string.d.ts","../../../node_modules/typescript/lib/lib.es2017.intl.d.ts","../../../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../../node_modules/typescript/lib/lib.es2018.intl.d.ts","../../../node_modules/typescript/lib/lib.es2018.promise.d.ts","../../../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../../node_modules/typescript/lib/lib.es2019.array.d.ts","../../../node_modules/typescript/lib/lib.es2019.object.d.ts","../../../node_modules/typescript/lib/lib.es2019.string.d.ts","../../../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../../node_modules/typescript/lib/lib.es2019.intl.d.ts","../../../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../../node_modules/typescript/lib/lib.es2020.date.d.ts","../../../node_modules/typescript/lib/lib.es2020.promise.d.ts","../../../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2020.string.d.ts","../../../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../../node_modules/typescript/lib/lib.es2020.intl.d.ts","../../../node_modules/typescript/lib/lib.es2020.number.d.ts","../../../node_modules/typescript/lib/lib.es2021.promise.d.ts","../../../node_modules/typescript/lib/lib.es2021.string.d.ts","../../../node_modules/typescript/lib/lib.es2021.weakref.d.ts","../../../node_modules/typescript/lib/lib.es2021.intl.d.ts","../../../node_modules/typescript/lib/lib.es2022.array.d.ts","../../../node_modules/typescript/lib/lib.es2022.error.d.ts","../../../node_modules/typescript/lib/lib.es2022.intl.d.ts","../../../node_modules/typescript/lib/lib.es2022.object.d.ts","../../../node_modules/typescript/lib/lib.es2022.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2022.string.d.ts","../../../node_modules/typescript/lib/lib.es2022.regexp.d.ts","../../../node_modules/typescript/lib/lib.es2023.array.d.ts","../../../node_modules/typescript/lib/lib.es2023.collection.d.ts","../../../node_modules/typescript/lib/lib.esnext.intl.d.ts","../../../node_modules/typescript/lib/lib.decorators.d.ts","../../../node_modules/typescript/lib/lib.decorators.legacy.d.ts","../../../node_modules/protons-runtime/dist/src/codec.d.ts","../../../node_modules/uint8arraylist/dist/src/index.d.ts","../../../node_modules/protons-runtime/dist/src/decode.d.ts","../../../node_modules/protons-runtime/dist/src/encode.d.ts","../../../node_modules/protons-runtime/dist/src/codecs/enum.d.ts","../../../node_modules/protons-runtime/dist/src/codecs/message.d.ts","../../../node_modules/protons-runtime/dist/src/utils/reader.d.ts","../../../node_modules/protons-runtime/dist/src/utils/writer.d.ts","../../../node_modules/protons-runtime/dist/src/index.d.ts","../../libp2p-daemon-protocol/dist/src/index.d.ts","../../../node_modules/multiformats/dist/src/bases/interface.d.ts","../../../node_modules/multiformats/dist/src/block/interface.d.ts","../../../node_modules/multiformats/dist/src/hashes/interface.d.ts","../../../node_modules/multiformats/dist/src/link/interface.d.ts","../../../node_modules/multiformats/dist/src/cid.d.ts","../../../node_modules/@libp2p/interface/dist/src/keys/index.d.ts","../../../node_modules/@libp2p/interface/dist/src/peer-id/index.d.ts","../../../node_modules/@multiformats/multiaddr/dist/src/protocols-table.d.ts","../../../node_modules/@multiformats/dns/dist/src/resolvers/dns-over-https.d.ts","../../../node_modules/@multiformats/dns/dist/src/resolvers/dns-json-over-https.d.ts","../../../node_modules/@multiformats/dns/dist/src/resolvers/index.d.ts","../../../node_modules/progress-events/dist/src/index.d.ts","../../../node_modules/@multiformats/dns/dist/src/index.d.ts","../../../node_modules/@multiformats/multiaddr/dist/src/resolvers/dnsaddr.d.ts","../../../node_modules/@multiformats/multiaddr/dist/src/resolvers/index.d.ts","../../../node_modules/@multiformats/multiaddr/dist/src/filter/multiaddr-filter.d.ts","../../../node_modules/@multiformats/multiaddr/dist/src/index.d.ts","../../../node_modules/it-stream-types/dist/src/index.d.ts","../../../node_modules/@libp2p/interface/dist/src/connection/index.d.ts","../../../node_modules/@libp2p/interface/dist/src/peer-info/index.d.ts","../../../node_modules/@libp2p/interface/dist/src/content-routing/index.d.ts","../../../node_modules/@libp2p/interface/dist/src/event-target.d.ts","../../../node_modules/@libp2p/interface/dist/src/metrics/index.d.ts","../../../node_modules/@libp2p/interface/dist/src/peer-routing/index.d.ts","../../../node_modules/@libp2p/interface/dist/src/peer-store/index.d.ts","../../../node_modules/@libp2p/interface/dist/src/startable.d.ts","../../../node_modules/@libp2p/interface/dist/src/stream-handler/index.d.ts","../../../node_modules/@libp2p/interface/dist/src/topology/index.d.ts","../../../node_modules/@libp2p/interface/dist/src/stream-muxer/index.d.ts","../../../node_modules/@libp2p/interface/dist/src/transport/index.d.ts","../../../node_modules/@libp2p/interface/dist/src/connection-encrypter/index.d.ts","../../../node_modules/@libp2p/interface/dist/src/connection-gater/index.d.ts","../../../node_modules/@libp2p/interface/dist/src/peer-discovery/index.d.ts","../../../node_modules/@libp2p/interface/dist/src/peer-store/tags.d.ts","../../../node_modules/it-pushable/dist/src/index.d.ts","../../../node_modules/@libp2p/interface/dist/src/pubsub/index.d.ts","../../../node_modules/@libp2p/interface/dist/src/record/index.d.ts","../../../node_modules/@libp2p/interface/dist/src/errors.d.ts","../../../node_modules/@types/node/assert.d.ts","../../../node_modules/@types/node/assert/strict.d.ts","../../../node_modules/buffer/index.d.ts","../../../node_modules/undici-types/header.d.ts","../../../node_modules/undici-types/readable.d.ts","../../../node_modules/undici-types/file.d.ts","../../../node_modules/undici-types/fetch.d.ts","../../../node_modules/undici-types/formdata.d.ts","../../../node_modules/undici-types/connector.d.ts","../../../node_modules/undici-types/client.d.ts","../../../node_modules/undici-types/errors.d.ts","../../../node_modules/undici-types/dispatcher.d.ts","../../../node_modules/undici-types/global-dispatcher.d.ts","../../../node_modules/undici-types/global-origin.d.ts","../../../node_modules/undici-types/pool-stats.d.ts","../../../node_modules/undici-types/pool.d.ts","../../../node_modules/undici-types/handlers.d.ts","../../../node_modules/undici-types/balanced-pool.d.ts","../../../node_modules/undici-types/agent.d.ts","../../../node_modules/undici-types/mock-interceptor.d.ts","../../../node_modules/undici-types/mock-agent.d.ts","../../../node_modules/undici-types/mock-client.d.ts","../../../node_modules/undici-types/mock-pool.d.ts","../../../node_modules/undici-types/mock-errors.d.ts","../../../node_modules/undici-types/proxy-agent.d.ts","../../../node_modules/undici-types/env-http-proxy-agent.d.ts","../../../node_modules/undici-types/retry-handler.d.ts","../../../node_modules/undici-types/retry-agent.d.ts","../../../node_modules/undici-types/api.d.ts","../../../node_modules/undici-types/interceptors.d.ts","../../../node_modules/undici-types/util.d.ts","../../../node_modules/undici-types/cookies.d.ts","../../../node_modules/undici-types/patch.d.ts","../../../node_modules/undici-types/websocket.d.ts","../../../node_modules/undici-types/eventsource.d.ts","../../../node_modules/undici-types/filereader.d.ts","../../../node_modules/undici-types/diagnostics-channel.d.ts","../../../node_modules/undici-types/content-type.d.ts","../../../node_modules/undici-types/cache.d.ts","../../../node_modules/undici-types/index.d.ts","../../../node_modules/@types/node/globals.d.ts","../../../node_modules/@types/node/async_hooks.d.ts","../../../node_modules/@types/node/buffer.d.ts","../../../node_modules/@types/node/child_process.d.ts","../../../node_modules/@types/node/cluster.d.ts","../../../node_modules/@types/node/console.d.ts","../../../node_modules/@types/node/constants.d.ts","../../../node_modules/@types/node/crypto.d.ts","../../../node_modules/@types/node/dgram.d.ts","../../../node_modules/@types/node/diagnostics_channel.d.ts","../../../node_modules/@types/node/dns.d.ts","../../../node_modules/@types/node/dns/promises.d.ts","../../../node_modules/@types/node/domain.d.ts","../../../node_modules/@types/node/dom-events.d.ts","../../../node_modules/@types/node/events.d.ts","../../../node_modules/@types/node/fs.d.ts","../../../node_modules/@types/node/fs/promises.d.ts","../../../node_modules/@types/node/http.d.ts","../../../node_modules/@types/node/http2.d.ts","../../../node_modules/@types/node/https.d.ts","../../../node_modules/@types/node/inspector.d.ts","../../../node_modules/@types/node/module.d.ts","../../../node_modules/@types/node/net.d.ts","../../../node_modules/@types/node/os.d.ts","../../../node_modules/@types/node/path.d.ts","../../../node_modules/@types/node/perf_hooks.d.ts","../../../node_modules/@types/node/process.d.ts","../../../node_modules/@types/node/punycode.d.ts","../../../node_modules/@types/node/querystring.d.ts","../../../node_modules/@types/node/readline.d.ts","../../../node_modules/@types/node/readline/promises.d.ts","../../../node_modules/@types/node/repl.d.ts","../../../node_modules/@types/node/sea.d.ts","../../../node_modules/@types/node/stream.d.ts","../../../node_modules/@types/node/stream/promises.d.ts","../../../node_modules/@types/node/stream/consumers.d.ts","../../../node_modules/@types/node/stream/web.d.ts","../../../node_modules/@types/node/string_decoder.d.ts","../../../node_modules/@types/node/test.d.ts","../../../node_modules/@types/node/timers.d.ts","../../../node_modules/@types/node/timers/promises.d.ts","../../../node_modules/@types/node/tls.d.ts","../../../node_modules/@types/node/trace_events.d.ts","../../../node_modules/@types/node/tty.d.ts","../../../node_modules/@types/node/url.d.ts","../../../node_modules/@types/node/util.d.ts","../../../node_modules/@types/node/v8.d.ts","../../../node_modules/@types/node/vm.d.ts","../../../node_modules/@types/node/wasi.d.ts","../../../node_modules/@types/node/worker_threads.d.ts","../../../node_modules/@types/node/zlib.d.ts","../../../node_modules/@types/node/globals.global.d.ts","../../../node_modules/@types/node/index.d.ts","../../../node_modules/@libp2p/interface/dist/src/events.d.ts","../../../node_modules/@libp2p/interface/dist/src/index.d.ts","../../../node_modules/@libp2p/logger/dist/src/index.d.ts","../../../node_modules/@libp2p/peer-id/dist/src/index.d.ts","../../../node_modules/multiformats/dist/src/hashes/digest.d.ts","../../libp2p-daemon-protocol/dist/src/stream-handler.d.ts","../../libp2p-daemon-protocol/dist/src/upgrader.d.ts","../../../node_modules/@libp2p/tcp/dist/src/listener.d.ts","../../../node_modules/@libp2p/tcp/dist/src/index.d.ts","../../../node_modules/it-byte-stream/dist/src/index.d.ts","../../../node_modules/it-length-prefixed-stream/dist/src/index.d.ts","../../../node_modules/it-protobuf-stream/dist/src/index.d.ts","../src/pubsub.ts","../src/index.ts","../src/dht.ts","../../../node_modules/@chainsafe/libp2p-gossipsub/dist/src/message/decoderpc.d.ts","../../../node_modules/@chainsafe/libp2p-gossipsub/node_modules/protons-runtime/dist/src/codec.d.ts","../../../node_modules/@chainsafe/libp2p-gossipsub/node_modules/protons-runtime/dist/src/decode.d.ts","../../../node_modules/@chainsafe/libp2p-gossipsub/node_modules/protons-runtime/dist/src/encode.d.ts","../../../node_modules/@chainsafe/libp2p-gossipsub/node_modules/protons-runtime/dist/src/codecs/enum.d.ts","../../../node_modules/@chainsafe/libp2p-gossipsub/node_modules/protons-runtime/dist/src/codecs/message.d.ts","../../../node_modules/@chainsafe/libp2p-gossipsub/node_modules/protons-runtime/dist/src/utils/reader.d.ts","../../../node_modules/@chainsafe/libp2p-gossipsub/node_modules/protons-runtime/dist/src/utils/writer.d.ts","../../../node_modules/@chainsafe/libp2p-gossipsub/node_modules/protons-runtime/dist/src/index.d.ts","../../../node_modules/@chainsafe/libp2p-gossipsub/dist/src/message/rpc.d.ts","../../../node_modules/@chainsafe/libp2p-gossipsub/dist/src/types.d.ts","../../../node_modules/@chainsafe/libp2p-gossipsub/dist/src/message-cache.d.ts","../../../node_modules/@chainsafe/libp2p-gossipsub/dist/src/score/peer-score-thresholds.d.ts","../../../node_modules/@chainsafe/libp2p-gossipsub/dist/src/metrics.d.ts","../../../node_modules/@chainsafe/libp2p-gossipsub/dist/src/score/peer-score-params.d.ts","../../../node_modules/@chainsafe/libp2p-gossipsub/dist/src/utils/set.d.ts","../../../node_modules/@chainsafe/libp2p-gossipsub/dist/src/score/peer-stats.d.ts","../../../node_modules/@chainsafe/libp2p-gossipsub/dist/src/score/compute-score.d.ts","../../../node_modules/denque/index.d.ts","../../../node_modules/@chainsafe/libp2p-gossipsub/dist/src/score/message-deliveries.d.ts","../../../node_modules/@chainsafe/libp2p-gossipsub/dist/src/score/peer-score.d.ts","../../../node_modules/@chainsafe/libp2p-gossipsub/dist/src/score/index.d.ts","../../../node_modules/@chainsafe/libp2p-gossipsub/dist/src/stream.d.ts","../../../node_modules/@chainsafe/libp2p-gossipsub/dist/src/tracer.d.ts","../../../node_modules/@chainsafe/libp2p-gossipsub/dist/src/config.d.ts","../../../node_modules/@libp2p/interface-internal/dist/src/address-manager/index.d.ts","../../../node_modules/@libp2p/peer-collections/dist/src/map.d.ts","../../../node_modules/@libp2p/peer-collections/dist/src/set.d.ts","../../../node_modules/@libp2p/peer-collections/dist/src/list.d.ts","../../../node_modules/@libp2p/peer-collections/dist/src/filter.d.ts","../../../node_modules/@libp2p/peer-collections/dist/src/tracked-map.d.ts","../../../node_modules/@libp2p/peer-collections/dist/src/tracked-set.d.ts","../../../node_modules/@libp2p/peer-collections/dist/src/tracked-list.d.ts","../../../node_modules/@libp2p/peer-collections/dist/src/index.d.ts","../../../node_modules/@libp2p/interface-internal/dist/src/connection-manager/index.d.ts","../../../node_modules/@libp2p/interface-internal/dist/src/random-walk/index.d.ts","../../../node_modules/@libp2p/interface-internal/dist/src/record/index.d.ts","../../../node_modules/@libp2p/interface-internal/dist/src/registrar/index.d.ts","../../../node_modules/@libp2p/interface-internal/dist/src/transport-manager/index.d.ts","../../../node_modules/@libp2p/interface-internal/dist/src/index.d.ts","../../../node_modules/@chainsafe/libp2p-gossipsub/dist/src/index.d.ts","../../../node_modules/@libp2p/kad-dht/dist/src/message/dht.d.ts","../../../node_modules/multiformats/dist/src/codecs/interface.d.ts","../../../node_modules/multiformats/dist/src/codecs/json.d.ts","../../../node_modules/multiformats/dist/src/codecs/raw.d.ts","../../../node_modules/multiformats/dist/src/bytes.d.ts","../../../node_modules/multiformats/dist/src/hashes/hasher.d.ts","../../../node_modules/multiformats/dist/src/varint.d.ts","../../../node_modules/multiformats/dist/src/interface.d.ts","../../../node_modules/multiformats/dist/src/index.d.ts","../../../node_modules/multiformats/dist/src/bases/base.d.ts","../../../node_modules/multiformats/dist/src/basics.d.ts","../../../node_modules/uint8arrays/dist/src/util/bases.d.ts","../../../node_modules/uint8arrays/dist/src/to-string.d.ts","../../../node_modules/interface-datastore/dist/src/key.d.ts","../../../node_modules/@libp2p/kad-dht/dist/src/utils.d.ts","../../../node_modules/interface-store/dist/src/errors.d.ts","../../../node_modules/interface-store/dist/src/index.d.ts","../../../node_modules/interface-datastore/dist/src/index.d.ts","../../../node_modules/@libp2p/kad-dht/dist/src/providers.d.ts","../../../node_modules/any-signal/dist/src/index.d.ts","../../../node_modules/@libp2p/utils/dist/src/adaptive-timeout.d.ts","../../../node_modules/@libp2p/record/dist/src/record.d.ts","../../../node_modules/@libp2p/record/dist/src/index.d.ts","../../../node_modules/@libp2p/kad-dht/dist/src/index.d.ts","../../libp2p-daemon-server/dist/src/index.d.ts","../../../node_modules/@types/chai/index.d.ts","../../../node_modules/@types/chai-as-promised/index.d.ts","../../../node_modules/chai-parentheses/index.d.ts","../../../node_modules/@types/chai-subset/index.d.ts","../../../node_modules/chai-bites/index.d.ts","../../../node_modules/@types/chai-string/index.d.ts","../../../node_modules/aegir/dist/utils/chai.d.ts","../../../node_modules/it-all/dist/src/index.d.ts","../../../node_modules/@types/sinonjs__fake-timers/index.d.ts","../../../node_modules/@types/sinon/index.d.ts","../../../node_modules/sinon-ts/dist/src/index.d.ts","../../../node_modules/uint8arrays/dist/src/from-string.d.ts","../../../node_modules/uint8arrays/dist/src/equals.d.ts","../test/fixtures/match-bytes.ts","../test/dht.spec.ts","../../../node_modules/@libp2p/interface-compliance-tests/dist/src/mocks/connection-gater.d.ts","../../../node_modules/@libp2p/interface-compliance-tests/dist/src/mocks/connection-manager.d.ts","../../../node_modules/@libp2p/interface-compliance-tests/dist/src/mocks/connection.d.ts","../../../node_modules/@libp2p/interface-compliance-tests/dist/src/mocks/multiaddr-connection.d.ts","../../../node_modules/@libp2p/utils/dist/src/abstract-stream.d.ts","../../../node_modules/@libp2p/interface-compliance-tests/dist/src/mocks/muxer.d.ts","../../../node_modules/@libp2p/interface-compliance-tests/dist/src/mocks/registrar.d.ts","../../../node_modules/@libp2p/interface-compliance-tests/dist/src/mocks/upgrader.d.ts","../../../node_modules/@libp2p/interface-compliance-tests/dist/src/mocks/duplex.d.ts","../../../node_modules/@libp2p/interface-compliance-tests/dist/src/mocks/metrics.d.ts","../../../node_modules/@libp2p/interface-compliance-tests/dist/src/mocks/index.d.ts","../test/index.spec.ts","../test/pubsub.spec.ts","../../../node_modules/it-pipe/dist/src/index.d.ts","../test/stream.spec.ts","../../../node_modules/keyv/src/index.d.ts","../../../node_modules/@types/http-cache-semantics/index.d.ts","../../../node_modules/@types/responselike/index.d.ts","../../../node_modules/@types/cacheable-request/index.d.ts","../../../node_modules/@types/ms/index.d.ts","../../../node_modules/@types/debug/index.d.ts","../../../node_modules/@types/dns-packet/index.d.ts","../../../node_modules/@types/istanbul-lib-coverage/index.d.ts","../../../node_modules/@types/json-schema/index.d.ts","../../../node_modules/@types/json5/index.d.ts","../../../node_modules/@types/keyv/index.d.ts","../../../node_modules/@types/linkify-it/build/index.cjs.d.ts","../../../node_modules/@types/linkify-it/index.d.ts","../../../node_modules/@types/mdurl/build/index.cjs.d.ts","../../../node_modules/@types/mdurl/index.d.ts","../../../node_modules/@types/markdown-it/dist/index.cjs.d.ts","../../../node_modules/@types/markdown-it/index.d.ts","../../../node_modules/@types/unist/index.d.ts","../../../node_modules/@types/mdast/index.d.ts","../../../node_modules/@types/minimatch/index.d.ts","../../../node_modules/@types/minimist/index.d.ts","../../../node_modules/@types/mocha/index.d.ts","../../../node_modules/@types/murmurhash3js-revisited/index.d.ts","../../../node_modules/@types/normalize-package-data/index.d.ts","../../../node_modules/@types/parse-json/index.d.ts","../../../node_modules/@types/retry/index.d.ts","../../../node_modules/@types/semver/classes/semver.d.ts","../../../node_modules/@types/semver/functions/parse.d.ts","../../../node_modules/@types/semver/functions/valid.d.ts","../../../node_modules/@types/semver/functions/clean.d.ts","../../../node_modules/@types/semver/functions/inc.d.ts","../../../node_modules/@types/semver/functions/diff.d.ts","../../../node_modules/@types/semver/functions/major.d.ts","../../../node_modules/@types/semver/functions/minor.d.ts","../../../node_modules/@types/semver/functions/patch.d.ts","../../../node_modules/@types/semver/functions/prerelease.d.ts","../../../node_modules/@types/semver/functions/compare.d.ts","../../../node_modules/@types/semver/functions/rcompare.d.ts","../../../node_modules/@types/semver/functions/compare-loose.d.ts","../../../node_modules/@types/semver/functions/compare-build.d.ts","../../../node_modules/@types/semver/functions/sort.d.ts","../../../node_modules/@types/semver/functions/rsort.d.ts","../../../node_modules/@types/semver/functions/gt.d.ts","../../../node_modules/@types/semver/functions/lt.d.ts","../../../node_modules/@types/semver/functions/eq.d.ts","../../../node_modules/@types/semver/functions/neq.d.ts","../../../node_modules/@types/semver/functions/gte.d.ts","../../../node_modules/@types/semver/functions/lte.d.ts","../../../node_modules/@types/semver/functions/cmp.d.ts","../../../node_modules/@types/semver/functions/coerce.d.ts","../../../node_modules/@types/semver/classes/comparator.d.ts","../../../node_modules/@types/semver/classes/range.d.ts","../../../node_modules/@types/semver/functions/satisfies.d.ts","../../../node_modules/@types/semver/ranges/max-satisfying.d.ts","../../../node_modules/@types/semver/ranges/min-satisfying.d.ts","../../../node_modules/@types/semver/ranges/to-comparators.d.ts","../../../node_modules/@types/semver/ranges/min-version.d.ts","../../../node_modules/@types/semver/ranges/valid.d.ts","../../../node_modules/@types/semver/ranges/outside.d.ts","../../../node_modules/@types/semver/ranges/gtr.d.ts","../../../node_modules/@types/semver/ranges/ltr.d.ts","../../../node_modules/@types/semver/ranges/intersects.d.ts","../../../node_modules/@types/semver/ranges/simplify.d.ts","../../../node_modules/@types/semver/ranges/subset.d.ts","../../../node_modules/@types/semver/internals/identifiers.d.ts","../../../node_modules/@types/semver/index.d.ts","../../../node_modules/@types/strip-bom/index.d.ts","../../../node_modules/@types/strip-json-comments/index.d.ts","../../../node_modules/@types/yargs-parser/index.d.ts","../../../node_modules/@types/yargs/index.d.ts","../../../node_modules/@types/yauzl/index.d.ts"],"fileInfos":[{"version":"824cb491a40f7e8fdeb56f1df5edf91b23f3e3ee6b4cde84d4a99be32338faee","affectsGlobalScope":true},"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","3facaf05f0c5fc569c5649dd359892c98a85557e3e0c847964caeb67076f4d75","9a68c0c07ae2fa71b44384a839b7b8d81662a236d4b9ac30916718f7510b1b2d","5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4","feecb1be483ed332fad555aff858affd90a48ab19ba7272ee084704eb7167569","5514e54f17d6d74ecefedc73c504eadffdeda79c7ea205cf9febead32d45c4bc","1c0cdb8dc619bc549c3e5020643e7cf7ae7940058e8c7e5aefa5871b6d86f44b",{"version":"87d693a4920d794a73384b3c779cadcb8548ac6945aa7a925832fe2418c9527a","affectsGlobalScope":true},{"version":"76f838d5d49b65de83bc345c04aa54c62a3cfdb72a477dc0c0fce89a30596c30","affectsGlobalScope":true},{"version":"db88e2781075c7bca86634724f38a132de718ddf3a470a3a2cdb182f4364af9e","affectsGlobalScope":true},{"version":"138fb588d26538783b78d1e3b2c2cc12d55840b97bf5e08bca7f7a174fbe2f17","affectsGlobalScope":true},{"version":"dc2df20b1bcdc8c2d34af4926e2c3ab15ffe1160a63e58b7e09833f616efff44","affectsGlobalScope":true},{"version":"4443e68b35f3332f753eacc66a04ac1d2053b8b035a0e0ac1d455392b5e243b3","affectsGlobalScope":true},{"version":"bc47685641087c015972a3f072480889f0d6c65515f12bd85222f49a98952ed7","affectsGlobalScope":true},{"version":"0dc1e7ceda9b8b9b455c3a2d67b0412feab00bd2f66656cd8850e8831b08b537","affectsGlobalScope":true},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true},{"version":"4ff2a353abf8a80ee399af572debb8faab2d33ad38c4b4474cff7f26e7653b8d","affectsGlobalScope":true},{"version":"93495ff27b8746f55d19fcbcdbaccc99fd95f19d057aed1bd2c0cafe1335fbf0","affectsGlobalScope":true},{"version":"6fc23bb8c3965964be8c597310a2878b53a0306edb71d4b5a4dfe760186bcc01","affectsGlobalScope":true},{"version":"ea011c76963fb15ef1cdd7ce6a6808b46322c527de2077b6cfdf23ae6f5f9ec7","affectsGlobalScope":true},{"version":"38f0219c9e23c915ef9790ab1d680440d95419ad264816fa15009a8851e79119","affectsGlobalScope":true},{"version":"bb42a7797d996412ecdc5b2787720de477103a0b2e53058569069a0e2bae6c7e","affectsGlobalScope":true},{"version":"4738f2420687fd85629c9efb470793bb753709c2379e5f85bc1815d875ceadcd","affectsGlobalScope":true},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true},{"version":"4de680d5bb41c17f7f68e0419412ca23c98d5749dcaaea1896172f06435891fc","affectsGlobalScope":true},{"version":"9fc46429fbe091ac5ad2608c657201eb68b6f1b8341bd6d670047d32ed0a88fa","affectsGlobalScope":true},{"version":"61c37c1de663cf4171e1192466e52c7a382afa58da01b1dc75058f032ddf0839","affectsGlobalScope":true},{"version":"b541a838a13f9234aba650a825393ffc2292dc0fc87681a5d81ef0c96d281e7a","affectsGlobalScope":true},{"version":"b20fe0eca9a4e405f1a5ae24a2b3290b37cf7f21eba6cbe4fc3fab979237d4f3","affectsGlobalScope":true},{"version":"811ec78f7fefcabbda4bfa93b3eb67d9ae166ef95f9bff989d964061cbf81a0c","affectsGlobalScope":true},{"version":"717937616a17072082152a2ef351cb51f98802fb4b2fdabd32399843875974ca","affectsGlobalScope":true},{"version":"d7e7d9b7b50e5f22c915b525acc5a49a7a6584cf8f62d0569e557c5cfc4b2ac2","affectsGlobalScope":true},{"version":"71c37f4c9543f31dfced6c7840e068c5a5aacb7b89111a4364b1d5276b852557","affectsGlobalScope":true},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true},{"version":"49ed889be54031e1044af0ad2c603d627b8bda8b50c1a68435fe85583901d072","affectsGlobalScope":true},{"version":"e93d098658ce4f0c8a0779e6cab91d0259efb88a318137f686ad76f8410ca270","affectsGlobalScope":true},{"version":"063600664504610fe3e99b717a1223f8b1900087fab0b4cad1496a114744f8df","affectsGlobalScope":true},{"version":"934019d7e3c81950f9a8426d093458b65d5aff2c7c1511233c0fd5b941e608ab","affectsGlobalScope":true},{"version":"bf14a426dbbf1022d11bd08d6b8e709a2e9d246f0c6c1032f3b2edb9a902adbe","affectsGlobalScope":true},{"version":"5e07ed3809d48205d5b985642a59f2eba47c402374a7cf8006b686f79efadcbd","affectsGlobalScope":true},{"version":"2b72d528b2e2fe3c57889ca7baef5e13a56c957b946906d03767c642f386bbc3","affectsGlobalScope":true},{"version":"8073890e29d2f46fdbc19b8d6d2eb9ea58db9a2052f8640af20baff9afbc8640","affectsGlobalScope":true},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true},{"version":"af3dd424cf267428f30ccfc376f47a2c0114546b55c44d8c0f1d57d841e28d74","affectsGlobalScope":true},{"version":"995c005ab91a498455ea8dfb63aa9f83fa2ea793c3d8aa344be4a1678d06d399","affectsGlobalScope":true},{"version":"51e547984877a62227042850456de71a5c45e7fe86b7c975c6e68896c86fa23b","affectsGlobalScope":true},{"version":"956d27abdea9652e8368ce029bb1e0b9174e9678a273529f426df4b3d90abd60","affectsGlobalScope":true},{"version":"4fa6ed14e98aa80b91f61b9805c653ee82af3502dc21c9da5268d3857772ca05","affectsGlobalScope":true},{"version":"e6633e05da3ff36e6da2ec170d0d03ccf33de50ca4dc6f5aeecb572cedd162fb","affectsGlobalScope":true},{"version":"d8670852241d4c6e03f2b89d67497a4bbefe29ecaa5a444e2c11a9b05e6fccc6","affectsGlobalScope":true},{"version":"8444af78980e3b20b49324f4a16ba35024fef3ee069a0eb67616ea6ca821c47a","affectsGlobalScope":true},{"version":"caccc56c72713969e1cfe5c3d44e5bab151544d9d2b373d7dbe5a1e4166652be","affectsGlobalScope":true},{"version":"3287d9d085fbd618c3971944b65b4be57859f5415f495b33a6adc994edd2f004","affectsGlobalScope":true},{"version":"50d53ccd31f6667aff66e3d62adf948879a3a16f05d89882d1188084ee415bbc","affectsGlobalScope":true},{"version":"08a58483392df5fcc1db57d782e87734f77ae9eab42516028acbfe46f29a3ef7","affectsGlobalScope":true},{"version":"436aaf437562f276ec2ddbee2f2cdedac7664c1e4c1d2c36839ddd582eeb3d0a","affectsGlobalScope":true},{"version":"13f6e6380c78e15e140243dc4be2fa546c287c6d61f4729bc2dd7cf449605471","affectsGlobalScope":true},{"version":"33358442698bb565130f52ba79bfd3d4d484ac85fe33f3cb1759c54d18201393","affectsGlobalScope":true},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true},"6d268309f0e15dd820b2df9806234166554cb4e2fe00d11737adcb4e5489f700","d35b5db21a04a45ae6323c4d4b25acc983dfe2870fc670fd05249eb19d839a5e","58cf96187feb10cc8ad3bb080871cd30888ef63bc5db131f11458850ef8f6245","9102986ff52326a2016e8cddc1cf3092f0808ac916dcc8dc2d2c7195cd181987","fa82b7b22d9df87323e31e9e2ad75911028f3e544647fd212424b3c4452fee3f","01f20dac9dc14f0d306e5d1215c5c1c3b4d1805905e60ae92fabac4031eae7da","9ceec2a882368c0160a8a3879aa0efce0fb985751fc23ff6191006030969cfa4","cad5d6451789234434c28dd2d6a8267b0d64c479b1ad267321faa31ba90d570b","6516fc98fa10b0cb22c7e332bacea4a7ea80257e113f6cdddd924d03bfde218e","be8d072f400254824429edab10acbe595299b702c97b99cc47f8e8018b7102ff","4a3605bef1a5ef29fd5a1696dd95b0b4e2259e2d07a4d88fac79f3a9765c44a2","370079895f1acdd4bb5194a403c85bf60cfbb2654bced9430a6c7210e7246be8","90240231e730deed31569f6c686766a538e4a024bbc33ea1738fe924f477ba61","552223520e823223ee13c5764e9b69b1819c985818a8bcda435d8d1dbd909bee","49b7c3ddd683c09aa437dd92681699387441f522524b14d2331ce494a9bf2f27","637b97f727f21c07a73f09130dc7bf5ac94d04511b179b5eb3e9a4d85a16147a","fb69a046d9f55e2c182c07e793017518b002859497084c0f69f3ee74edd0c4b9","5212dd78d1d63ab33332c8846a0ea5ce248159e74033cde16de48373036b4704","954b3c04ee9f94ca1e262f3e5a6e833b0da0066514b3d4b97b92b7f0c85f8700","a2fc9ce1ae5bed7068d701d8aeebf13321de0f42c217dc2e10f1622dcaa53a7f","8e81f220cb935d551e88cff11541d5e89d3a3494a52fe6247e98016a9dbd4c2d","6b2576a04253626ba41b7dc7ec5977bec07f3b6952b16249d9fa8a3a0d79901c","9de17491f2bfbccea92500e174079d53bdedae34dbebe5d4a12a06ab09814710","e88481085a8576fa52efc913e631c1a833d16179486469b8538d8c4fab2f7381","aec68502c8f4ffaecb4440b37363473582fec0bfee4fb8668a87daa7f700f708","d71577e78c7a4257074aaf82f595724175210c89e8b467ef82f949a6cbd891bc","cf548af8b03cbbc79fdc4f357b5560f618c6d2f68c8688e6eb759c3c11d962c3","c84146dbc9d2e5f43d2cbf15485a4eabf90219dbb66c0d481f20f12d3851bffc","9dc5a1d8f09f9faf21207253a92b461190d59c81ee12c9ac612630e699749990","99c24f331c9f4e75a779b9a988e942442db3cf29923ceb820d3bdd4ed1edfef2","25b1f20d5868ef9ef18132f7dd76b40b7038688ff7c56c58930537a8dff9f231","4105fa0ecfaffb578c8051c3de22e8c984191aac8de14641ee99beed9c5e5bd9","9bba18dcac8cc9bdce65a4e34122d90474617cdf857feddeeba1e7a3638097d4","8c92080253bac0506d82b83d555a029582595f0944abb349954ea732322baa5c","45d4c8d63a67224af62bebff18da32bb2817e306c9fd9e5d1dac6ef8d2da7ead","230eb449f719119cab1728252f20ecdd36d7a20cef659e4a51ada1a232a8aaad","5f264ca312dfcbf23917febc8d7a73ef5be9c248af605939de1c7c4129aa65f2","c1c7b50665ce0b8aa4b95f3843167ac7ac25d1f724d77c2a07b597abb9cf394c","1bf687d978bdd6d5aff10b9eb0ff0695179f8594d4446946fd0182d6d25fa433","ec26029e3a4eccf8ee79d5c76093fbe928cedc83d813fca9be4f055d61530013","e0ff6a627dfbfb9d32e49f34879a763680e37758c509ddd809cb316b96f34390","2113d72680c7ddad6d3b6f70a29432a35c074c94ec6823a7c16ccd69847d965c","c8ffd61bf2db2e7bccb996dd70c9499805cb338f1b1c781987e38ba99dd5b296","55e5a976b594dc02f054860fb59a5299872a5b3c8c90e96733a5c9c9d4ed1fb8","fac83d4c6898d5bf90c508cc84409ded40fdc14611cf42d7fb750fb2c7847979","1668310e691181966c371fce881c88cb1c2e65ac832ef5470434ad926998da2f","4f1eb6b9c2b666278e09019281953fc4ecadad3b2ba2781b2602445743eaaeca","cd4a19200e7e4b235f85c3a15176f84b68bca0a171e802df091553e679238621","2db0dd3aaa2ed285950273ce96ae8a450b45423aa9da2d10e194570f1233fa6b","7394959e5a741b185456e1ef5d64599c36c60a323207450991e7a42e08911419","4967529644e391115ca5592184d4b63980569adf60ee685f968fd59ab1557188","5929864ce17fba74232584d90cb721a89b7ad277220627cc97054ba15a98ea8f","24bd580b5743dc56402c440dc7f9a4f5d592ad7a419f25414d37a7bfe11e342b","25c8056edf4314820382a5fdb4bb7816999acdcb929c8f75e3f39473b87e85bc","c464d66b20788266e5353b48dc4aa6bc0dc4a707276df1e7152ab0c9ae21fad8","78d0d27c130d35c60b5e5566c9f1e5be77caf39804636bc1a40133919a949f21","c6fd2c5a395f2432786c9cb8deb870b9b0e8ff7e22c029954fabdd692bff6195","1d6e127068ea8e104a912e42fc0a110e2aa5a66a356a917a163e8cf9a65e4a75","5ded6427296cdf3b9542de4471d2aa8d3983671d4cac0f4bf9c637208d1ced43","6bdc71028db658243775263e93a7db2fd2abfce3ca569c3cca5aee6ed5eb186d","cadc8aced301244057c4e7e73fbcae534b0f5b12a37b150d80e5a45aa4bebcbd","385aab901643aa54e1c36f5ef3107913b10d1b5bb8cbcd933d4263b80a0d7f20","9670d44354bab9d9982eca21945686b5c24a3f893db73c0dae0fd74217a4c219","0b8a9268adaf4da35e7fa830c8981cfa22adbbe5b3f6f5ab91f6658899e657a7","11396ed8a44c02ab9798b7dca436009f866e8dae3c9c25e8c1fbc396880bf1bb","ba7bc87d01492633cb5a0e5da8a4a42a1c86270e7b3d2dea5d156828a84e4882","4893a895ea92c85345017a04ed427cbd6a1710453338df26881a6019432febdd","c21dc52e277bcfc75fac0436ccb75c204f9e1b3fa5e12729670910639f27343e","13f6f39e12b1518c6650bbb220c8985999020fe0f21d818e28f512b7771d00f9","9b5369969f6e7175740bf51223112ff209f94ba43ecd3bb09eefff9fd675624a","4fe9e626e7164748e8769bbf74b538e09607f07ed17c2f20af8d680ee49fc1da","24515859bc0b836719105bb6cc3d68255042a9f02a6022b3187948b204946bd2","ea0148f897b45a76544ae179784c95af1bd6721b8610af9ffa467a518a086a43","24c6a117721e606c9984335f71711877293a9651e44f59f3d21c1ea0856f9cc9","dd3273ead9fbde62a72949c97dbec2247ea08e0c6952e701a483d74ef92d6a17","405822be75ad3e4d162e07439bac80c6bcc6dbae1929e179cf467ec0b9ee4e2e","0db18c6e78ea846316c012478888f33c11ffadab9efd1cc8bcc12daded7a60b6","4d2b0eb911816f66abe4970898f97a2cfc902bcd743cbfa5017fad79f7ef90d8","bd0532fd6556073727d28da0edfd1736417a3f9f394877b6d5ef6ad88fba1d1a","89167d696a849fce5ca508032aabfe901c0868f833a8625d5a9c6e861ef935d2","e53a3c2a9f624d90f24bf4588aacd223e7bec1b9d0d479b68d2f4a9e6011147f","24b8685c62562f5d98615c5a0c1d05f297cf5065f15246edfe99e81ec4c0e011","93507c745e8f29090efb99399c3f77bec07db17acd75634249dc92f961573387","339dc5265ee5ed92e536a93a04c4ebbc2128f45eeec6ed29f379e0085283542c","4732aec92b20fb28c5fe9ad99521fb59974289ed1e45aecb282616202184064f","2e85db9e6fd73cfa3d7f28e0ab6b55417ea18931423bd47b409a96e4a169e8e6","c46e079fe54c76f95c67fb89081b3e399da2c7d109e7dca8e4b58d83e332e605","bf67d53d168abc1298888693338cb82854bdb2e69ef83f8a0092093c2d562107",{"version":"e7be367719c613d580d4b27fdf8fe64c9736f48217f4b322c0d63b2971460918","affectsGlobalScope":true},"3d77c73be94570813f8cadd1f05ebc3dc5e2e4fdefe4d340ca20cd018724ee36",{"version":"9d8f6e55f5a038f4dca0cacd6566f9b82c576eee35c694b89230e9dec1895a77","affectsGlobalScope":true},"62f1c00d3d246e0e3cf0224f91e122d560428ec1ccc36bb51d4574a84f1dbad0","53f0960fdcc53d097918adfd8861ffbe0db989c56ffc16c052197bf115da5ed6",{"version":"662163e5327f260b23ca0a1a1ad8a74078aabb587c904fcb5ef518986987eaff","affectsGlobalScope":true},"a40826e8476694e90da94aa008283a7de50d1dafd37beada623863f1901cb7fb",{"version":"f85c06e750743acf31f0cfd3be284a364d469761649e29547d0dd6be48875150","affectsGlobalScope":true},"b0c0d1d13be149f790a75b381b413490f98558649428bb916fd2d71a3f47a134","3c884d9d9ec454bdf0d5a0b8465bf8297d2caa4d853851d92cc417ac6f30b969","0364f8bb461d6e84252412d4e5590feda4eb582f77d47f7a024a7a9ff105dfdc","5433f7f77cd1fd53f45bd82445a4e437b2f6a72a32070e907530a4fea56c30c8","d0ca5d7df114035258a9d01165be309371fcccf0cccd9d57b1453204686d1ed0",{"version":"ee1ee365d88c4c6c0c0a5a5701d66ebc27ccd0bcfcfaa482c6e2e7fe7b98edf7","affectsGlobalScope":true},{"version":"9a30b7fefd7f8abbca4828d481c61c18e40fe5ff107e113b1c1fcd2c8dcf2743","affectsGlobalScope":true},"173b6275a81ebdb283b180654890f46516c21199734fed01a773b1c168b8c45c","304f66274aa8119e8d65a49b1cff84cbf803def6afe1b2cc987386e9a9890e22","1b9adafe8a7fefaeaf9099a0e06f602903f6268438147b843a33a5233ac71745","98273274f2dbb79b0b2009b20f74eca4a7146a3447c912d580cd5d2d94a7ae30","c933f7ba4b201c98b14275fd11a14abb950178afd2074703250fe3654fc10cd2","dccdf1677e531e33f8ac961a68bc537418c9a414797c1ea7e91307501cdc3f5e",{"version":"ea455cc68871b049bcecd9f56d4cf27b852d6dafd5e3b54468ca87cc11604e4d","affectsGlobalScope":true},"8f5814f29dbaf8bacd1764aebdf1c8a6eb86381f6a188ddbac0fcbaab855ce52","a63d03de72adfb91777784015bd3b4125abd2f5ef867fc5a13920b5649e8f52b","d20e003f3d518a7c1f749dbe27c6ab5e3be7b3c905a48361b04a9557de4a6900",{"version":"452e8a437aa57fe832dece2a5d3ea8dd0ab1de03ca778d09798c56ece0a29e80","affectsGlobalScope":true},{"version":"a20f1e119615bf7632729fd89b6c0b5ffdc2df3b512d6304146294528e3ebe19","affectsGlobalScope":true},"575fb200043b11b464db8e42cc64379c5fd322b6d787638e005b5ee98a64486d","6de2f225d942562733e231a695534b30039bdf1875b377bb7255881f0df8ede8","56249fd3ef1f6b90888e606f4ea648c43978ef43a7263aafad64f8d83cd3b8aa","139ad1dc93a503da85b7a0d5f615bddbae61ad796bc68fedd049150db67a1e26","7b166975fdbd3b37afb64707b98bca88e46577bbc6c59871f9383a7df2daacd1","9eece5e586312581ccd106d4853e861aaaa1a39f8e3ea672b8c3847eedd12f6e","81505c54d7cad0009352eaa21bd923ab7cdee7ec3405357a54d9a5da033a2084","269929a24b2816343a178008ac9ae9248304d92a8ba8e233055e0ed6dbe6ef71","93452d394fdd1dc551ec62f5042366f011a00d342d36d50793b3529bfc9bd633","3c1f19c7abcda6b3a4cf9438a15c7307a080bd3b51dfd56b198d9f86baf19447","2ee1645e0df9d84467cfe1d67b0ad3003c2f387de55874d565094464ee6f2927",{"version":"a321f588d51d742955993766d2969ed19006110a080572bfd24054178a5be640","affectsGlobalScope":true},{"version":"9cf780e96b687e4bdfd1907ed26a688c18b89797490a00598fa8b8ab683335dd","affectsGlobalScope":true},"98e00f3613402504bc2a2c9a621800ab48e0a463d1eed062208a4ae98ad8f84c","9ae88ce9f73446c24b2d2452e993b676da1b31fca5ceb7276e7f36279f693ed1","e49d7625faff2a7842e4e7b9b197f972633fca685afcf6b4403400c97d087c36","b82c38abc53922b1b3670c3af6f333c21b735722a8f156e7d357a2da7c53a0a0",{"version":"b423f53647708043299ded4daa68d95c967a2ac30aa1437adc4442129d7d0a6c","affectsGlobalScope":true},{"version":"21fcdcb618236f0feaca7e511e2da10c19970f86e09c934cef2d45b340ad92b5","affectsGlobalScope":true},"4f0fc7b7f54422bd97cfaf558ddb4bca86893839367b746a8f86b60ac7619673","4cdd8b6b51599180a387cc7c1c50f49eca5ce06595d781638fd0216520d98246","d91a7d8b5655c42986f1bdfe2105c4408f472831c8f20cf11a8c3345b6b56c8c",{"version":"8704423bf338bff381ebc951ed819935d0252d90cd6de7dffe5b0a5debb65d07","affectsGlobalScope":true},"b33379077284c9e55d2410d814b71b15522c5f71f9e93e15a8c3c41d463b00f6",{"version":"ab9b9a36e5284fd8d3bf2f7d5fcbc60052f25f27e4d20954782099282c60d23e","affectsGlobalScope":true},"a42be67ed1ddaec743582f41fc219db96a1b69719fccac6d1464321178d610fc","c663a7e4ee2cb54d99cf095479a5bcf1dd18d762ffdfa038aa1b2d79b070b0d7","5463c98206a890ea7a759fbcc97b0c042ab1a740b3e24037f7fbf40bae70a3c5","841f7ca2af7f4d9cca1f9fa2288a4849fc9d49ca15b47336892efd06a14dd1d8","5bccd6ffc11fed820a432ac819200e6af38f8c3625e6eae0cf0f07ca85856392","8510595d2ca2660e6407be65d8bf95f0c53877dbb812e269cdd980fc34de5f78","b73dc0d8185876891831a04b36b0c97fc950b82dd747adaa1fe2d001be8f2a03","82f507498b118e727c99b2b24b66fe95e475db73959a5af372526e2aabeba2bd","a014705f62ab3731cd6e83cc0d47055301bda50e883a7c5b308c5fc294384f00","c123e41196eb293cd30ff19b31d55192d3a3ffbbab8409d5c4b328844c5e93fc","4729c40012c9b4ae235cdeb76bc9cf5c127e09eb08ecf5b1b51b8d03d58e5555","38aaec0cd25bec1bec8511430fcfc6a7ce53ec44fa7e4e68717c551d0c786ef0","ec6adf14f44d63199b70a1117f13d380dfd0b1e1f0a6357b0ecf04cf0c56ab68",{"version":"76e5960564db42c66dd27a08a63517b8b25e2c5ae7ab9299c2e90ef0862d2b7f","signature":"4bf10276abb7b9ef6ab6a169077f7613a63855513aa1b9573e6cbd036041c6a3"},{"version":"813b443e19cfb702984f5bafb80567c27ae4074f2a48e38ee12b8769ce13bafa","signature":"06803634d9730f5fe5f4d2003e59ed8bc4463a87cdd1da074a45bcde21339695"},{"version":"272572fe069ea7baa5d358631289fcedbca8c7e9f8917e9824dfb8a867e10b04","signature":"03de2b57205c09f67df158eeb63e321a39aacb35f4afd1e207cdf62fc3854cab"},"7ad3e0aaeb840047fa4711306188cac803514091f251b6baecb9b2aacf15b976","6d268309f0e15dd820b2df9806234166554cb4e2fe00d11737adcb4e5489f700","58cf96187feb10cc8ad3bb080871cd30888ef63bc5db131f11458850ef8f6245","9102986ff52326a2016e8cddc1cf3092f0808ac916dcc8dc2d2c7195cd181987","fa82b7b22d9df87323e31e9e2ad75911028f3e544647fd212424b3c4452fee3f","01f20dac9dc14f0d306e5d1215c5c1c3b4d1805905e60ae92fabac4031eae7da","9ceec2a882368c0160a8a3879aa0efce0fb985751fc23ff6191006030969cfa4","cad5d6451789234434c28dd2d6a8267b0d64c479b1ad267321faa31ba90d570b","d5197053be441d40f4d074185a40d461137c8fa8db9e00cceedf2d9ca6583157","3cd33c37432c2de7bdd9f1d48b3ea4fd03afad4969cfc5ba88d81e6ed03f432c","6db29cf7af1d68c8194d98f1c444cea3b30a2c65deda3428452efaa05717b81d","561ef05d7e369040c28800d878d7e6461af62e459460263e911d508f319c8d5d","a1b60bd2328318dcbec30bdf529dad31a13315ff2df60c8bd71630c58a575b06","a399dd9b73e4bbfbed2ad1c1259d707f5f147f40dc5e3eeb541bf0bf2da42b25","8cc6a35806cd10d448b0f2ab01fe0b6194ca57fdaced2d71781b68e83c55bd88","8f364fec0ef20506aa9cf00b5cd8b620c1c0389687b11a3a32b0b5d4716ad894","5d11703e2c5d4dbe00bbe79f3bc864d178cf8d6ebccc2d1448ea29e93654f029","f4e82c91aac3b61f3ad04f11a44c5b79f724ff8a09281d0afa24a6624633ff25","ed849d616865076f44a41c87f27698f7cdf230290c44bafc71d7c2bc6919b202","7b8b9017156ef8bf3bbe42785fac8956e5c9869f4a494536d7f548a7c1c7d98a","07c34d1f83dfc5746de4229e01f0cb4d388a9f128eab6beadb4ae1621ebb87c6","763bb8df872cbb8783e29e19bd7a1dea0f88f7fd7398343af38be8509a65df82","372b3681eb9618821c0e0e10bcc775b838e45b51912b8998bc5ba035100dc9e5","c286b410193495d067668bcdbd13ea3f3a39001edff02edee248babf2652e563","87c73268165bf20f01c101ac785e8a9d1d95ff203d05d3548a6c49952597e321","af89ab13b40dd28cd91818fc6329914d2b9663591831f032ff0f0cb4a028d4a5","63007f1618ada5041fb3b47630b64a9987d268bf740dd72334c38b5d23f5239b","3395f90467d2bb9db039a5c22ed6659ca2ff6f0b4f7ee5f223b0f77288f54ea7","20df2907d398e369d49e8906d6e0f096c465501e9ceff9d61293bf0f4e9020f1","302aa8248dab7c689c103162e542224aa7f3b0db46e29d0fb468fac721cf1c41","ea0a3bb69845621165c21e80ebb0d2b28dad22cd9920564516ce8e927a828f79","6a81475a67505af60be3242841c65ce4bf6d0b624d8b3fada646ba459a3eaad8","6834dd6cc060648604278cdb920a9316fa916e9116134b17dfad90e42800ca47","19fba62f1aab90f0110738261ed8bc1da82c89433fc43265f14870d4380d10b8","fbb2df54f4778b4d691bbc7c0a6e1e241dfffaca19f443cc9f230f450458bf89","da98d8109f379be48d459a6821ebd7cc728af62557e1c44f864e04360686af93","ef6e6d838cc600162626a53167046484f38e9a4bab9454e72350bed76c497228","8adf9a02b0c2508f81516b561a6c8080ea2169126f166e39767bcb5389b9cfbc","c8b50ecedc9ff1b0e83c96f0a334d022874199f7c2d00d182ca6672176b0ea9d","b66ede73039e8751e06e3cab843e5a4265c1124a3285c3d854092c37a966b1f5","580ac7757b426f045be01f7e47fff9910b922442b45266fd3fe39c44b53ef5ad","94432b8ce4402dd579be8dbf8d798dd64b57d9df617b9dfe4f10f93c1540540f","1447d46bff9e7c5c77da14515a7456ea5e919ce6e28f5e6746edf99818e4be47","ba3f6f0ee47f46cdce55620aec5726de80e92a930982634afe9918c114c38f0b","6f38045547cdfd54ec19abcd943cace72c775fde739c5e0e1d917cf3030c16b5","929fc31f7523aaa1d19735b77e637af06e58d76007648ec088ecfbec1521cbfe","a6eb23f2a83113ce0ab7203bfda2be0888720f8d694a20abaef83b9f62832061","363dca5004ac5a3d9c2bba12812b97a64461911762f0b8f9320a8856ec53bcad","557b8c7481296f4b7ed362320f3bbb40bb87404edf880c81224f365a8d1e17f3","283ed3d075bf7d3e8793f63b2a52f475ed84d95b7b6351c5d5bcc6c49d4b845b","6544dab49004fecb69a4ef775e9ad2773a6148b1f9bfd9b75508e3afa11f5d35","bd4c741820ec3574b7ed3b782c8d78034d6e4631d11997e701e6b955b86a87c1","e2dd36a524ea5b13de1ed104ede9cea79696588175c1df1940d6a29113a4aee0","a878d4c7237a7af50e96534295fcf723134d70cbb1e9bfd8365266b912aee6ec","a1f708ddf34053065f8f53682123421af299cee37ae110a86ba07851adf940da","913fbbd374393d3473dcae4b64a5eff2dea93306bb065ae7111be724a8ca57e1","395e6fa1fc8f46f827a5f7d3b7dabc836627ae57e41338f93c221b88d4978f15","749effab6d7e72df8d126868c82b8166cdde84d48453e44f65cbad42ad900b06","11705a4aad6e2e724b82ffee6c4fa271d798f0fb68806ace4b1c425c266f8d98","b81972aff48d9f08543cb19cc5d73f50eb9901d25daecabc46a53866f99d27b2","ca027df9fd496a200d99ca0db4b0077463ce4926a6c8e05cfae522c5971ccbc0","e043a9288022e8d802117e5e9e718443296f9c69a5eab7ed89b2fb76128a0140","1834770fc1d5e5240fe8f3de72205c9e79b1c321224fb4af8bd2529202a6960c","3b1901191af5f232f0a950a914649749c3447c445cae6b896e74fe987b379701","3641a97eab56e401bc6ab265ef34e54d926017181e2cbbd8ee36d87b7e19345b","1e84b75e59ed7fff2883625dc3d3d8a6828c878a1b7e4e9ea54fa67ab574eb1e",{"version":"6a9eb9c5d3f7474937973fe4b0a9e53025634c2e39118eda436d89f3e9df976f","affectsGlobalScope":true},{"version":"86e56d97b13ef0a58bc9c59aee782ae7d47d63802b5b32129ec5e5d62c20dbfa","affectsGlobalScope":true},{"version":"c1f79c6d85cd84518fd7349588b3c61bdc189f58e3866f925cbf4631c81e31f9","affectsGlobalScope":true},{"version":"54db406753da16e177f094aa66da79840f447de6d87ddd1543a80c9418c52545","affectsGlobalScope":true},{"version":"42f28f4cfca4a70bd89c1d55d76c7978275030b894f6793f36890265c11a83a4","affectsGlobalScope":true},{"version":"7cf1027da9599f056355b46bbea31dbf7f715f797dffb9cbb3402d4490c503e5","affectsGlobalScope":true},"96dbd0787b57ae02981d26d5f2441f0f8444fb46d7578c56527eab89cff13a7d","5ccc3c7f73ef48c223635cd4506f21133560de7abc4c09c623327bb1b54386dc","7d2a0ba1297be385a89b5515b88cd31b4a1eeef5236f710166dc1b36b1741e1b","8e87660f5170c195ade218937e360484775be6a4e75a098665d9ba5a2e4cdc15","8d16e3ff29dd0650435766702b01c2f7e9d1f289a48fcbf8e93687d6ecf33f26","ac63a01fcac70315fc9b416e9a57e568b18032c7cfcaa314e1751f03ef71286f","66336b5a5d5e897e932cbf1e306ff8ac8a9929971409a8049c8c8a249cd8b57c",{"version":"e1873a754ad26cfb66157fc3f87e339dbb7204dba5fb3b6805c8637862fed98d","signature":"a1a78d01e5f4686fc589b88ed8e965667e2144af0af21b1c6a153de86acb32b8"},{"version":"12b7221ba57d081fb4ed1f5af21ed57b84e2cb47f5443f29a71af9d861aa880f","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},"1f63ac6272e4d2d43cb25552b4ed8a89ffc86244ea655f685e8e3685433c7b23","2d2bccc77a578611c2aef535a8d131d4ec98aa7c644119b0d88d83bb68ebc947","094be99dc9410d3cb517ba523ae031864c5e258a3904ed8058773672768c2c6c","fafe1e5b2114bc57a6da341cad2bb44298543caa3fd7680e6bb0f29215048aa2","796eea44840b57d4c6741d119d767c5ea294fdf610151158fd0a2f236cf21367","309ab701fcc8aa7f3c9b53fe84cb5ef7cbd579888de19423c8fc54402be9e8d9","5ad6d882be6f8e602795bc0bd0fac7806b16ba7715be494fe0279e2c5e3e23c0","596ab45ef67fa8dae4996a2a61dc5055ae2b3dc5102cf3b43ee7965a7088943b","a3f9f52ce73700565c8d9ba2aa75823ab8fc8e7258a27ecb828cd4257b8f918d","5f4884638ab10b753ec0c7406916fc746bb99cc0044b9a4a67b2006b7e57e8af","4b5603a1ccca455500cfb39517d41ec011f31ba84bb6de44473344a237d89168",{"version":"48065d9ccf3c6ee5a00bfcc4dca34927e477759a6e603ea20673d9285427081a","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"6c507d6c49c34dc31a5dcc96ca0ac806beb36d37a33f71cb34077fcac8f12145","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},"56558ae167446acf230ea2cc072a835309a37ae63d286b484308afd8c504c2d6",{"version":"5b193c198a20fd0215e7a144ddddbc6570f5a155e6c7386da9df5a1d98118712","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},"42baf4ca38c38deaf411ea73f37bc39ff56c6e5c761a968b64ac1b25c92b5cd8","d7dbe0ad36bdca8a6ecf143422a48e72cc8927bab7b23a1a2485c2f78a7022c6","8718fa41d7cf4aa91de4e8f164c90f88e0bf343aa92a1b9b725a9c675c64e16b","f992cd6cc0bcbaa4e6c810468c90f2d8595f8c6c3cf050c806397d3de8585562","68cc8d6fcc2f270d7108f02f3ebc59480a54615be3e09a47e14527f349e9d53e","3eb11dbf3489064a47a2e1cf9d261b1f100ef0b3b50ffca6c44dd99d6dd81ac1","bc222163edcb8df6ba9b506d053d6c5afcae50e85695151cf4636a3107deaba9","035a5df183489c2e22f3cf59fc1ed2b043d27f357eecc0eb8d8e840059d44245","f3d8c757e148ad968f0d98697987db363070abada5f503da3c06aefd9d4248c1","96d14f21b7652903852eef49379d04dbda28c16ed36468f8c9fa08f7c14c9538","fec943fdb3275eb6e006b35e04a8e2e99e9adf3f4b969ddf15315ac7575a93e4","742f21debb3937c3839a63245648238555bdab1ea095d43fd10c88a64029bf76","7cfdf3b9a5ba934a058bfc9390c074104dc7223b7e3c16fd5335206d789bc3d3","0944f27ebff4b20646b71e7e3faaaae50a6debd40bc63e225de1320dd15c5795","5d30565583300c9256072a013ac0318cc603ff769b4c5cafc222394ea93963e1","8a7219b41d3c1c93f3f3b779146f313efade2404eeece88dcd366df7e2364977","a109c4289d59d9019cfe1eeab506fe57817ee549499b02a83a7e9d3bdf662d63","89121c1bf2990f5219bfd802a3e7fc557de447c62058d6af68d6b6348d64499a","d4a22007b481fe2a2e6bfd3a42c00cd62d41edb36d30fc4697df2692e9891fc8","8841e2aa774b89bd23302dede20663306dc1b9902431ac64b24be8b8d0e3f649","fbca5ffaebf282ec3cdac47b0d1d4a138a8b0bb32105251a38acb235087d3318",{"version":"90ebf5865e27d8966ef44b073e6e83b0ddd45058bab1d58b1e4b5a47d36396c4","affectsGlobalScope":true},"cb482592bfcbdfcefa8d155590399e8bff66277e60e17bfada7c2f31322e7b87","22293bd6fa12747929f8dfca3ec1684a3fe08638aa18023dd286ab337e88a592","916be7d770b0ae0406be9486ac12eb9825f21514961dd050594c4b250617d5a8","510616459e6edd01acbce333fb256e06bdffdad43ca233a9090164bf8bb83912","cf3d384d082b933d987c4e2fe7bfb8710adfd9dc8155190056ed6695a25a559e","9871b7ee672bc16c78833bdab3052615834b08375cb144e4d2cba74473f4a589","c863198dae89420f3c552b5a03da6ed6d0acfa3807a64772b895db624b0de707","8b03a5e327d7db67112ebbc93b4f744133eda2c1743dbb0a990c61a8007823ef","86c73f2ee1752bac8eeeece234fd05dfcf0637a4fbd8032e4f5f43102faa8eec","42fad1f540271e35ca37cecda12c4ce2eef27f0f5cf0f8dd761d723c744d3159","ff3743a5de32bee10906aff63d1de726f6a7fd6ee2da4b8229054dfa69de2c34","83acd370f7f84f203e71ebba33ba61b7f1291ca027d7f9a662c6307d74e4ac22","1445cec898f90bdd18b2949b9590b3c012f5b7e1804e6e329fb0fe053946d5ec","0e5318ec2275d8da858b541920d9306650ae6ac8012f0e872fe66eb50321a669","cf530297c3fb3a92ec9591dd4fa229d58b5981e45fe6702a0bd2bea53a5e59be","c1f6f7d08d42148ddfe164d36d7aba91f467dbcb3caa715966ff95f55048b3a4","f4e9bf9103191ef3b3612d3ec0044ca4044ca5be27711fe648ada06fad4bcc85","0c1ee27b8f6a00097c2d6d91a21ee4d096ab52c1e28350f6362542b55380059a","7677d5b0db9e020d3017720f853ba18f415219fb3a9597343b1b1012cfd699f7","bc1c6bc119c1784b1a2be6d9c47addec0d83ef0d52c8fbe1f14a51b4dfffc675","52cf2ce99c2a23de70225e252e9822a22b4e0adb82643ab0b710858810e00bf1","770625067bb27a20b9826255a8d47b6b5b0a2d3dfcbd21f89904c731f671ba77","d1ed6765f4d7906a05968fb5cd6d1db8afa14dbe512a4884e8ea5c0f5e142c80","799c0f1b07c092626cf1efd71d459997635911bb5f7fc1196efe449bba87e965","2a184e4462b9914a30b1b5c41cf80c6d3428f17b20d3afb711fff3f0644001fd","9eabde32a3aa5d80de34af2c2206cdc3ee094c6504a8d0c2d6d20c7c179503cc","397c8051b6cfcb48aa22656f0faca2553c5f56187262135162ee79d2b2f6c966","a8ead142e0c87dcd5dc130eba1f8eeed506b08952d905c47621dc2f583b1bff9","a02f10ea5f73130efca046429254a4e3c06b5475baecc8f7b99a0014731be8b3","c2576a4083232b0e2d9bd06875dd43d371dee2e090325a9eac0133fd5650c1cb","4c9a0564bb317349de6a24eb4efea8bb79898fa72ad63a1809165f5bd42970dd","f40ac11d8859092d20f953aae14ba967282c3bb056431a37fced1866ec7a2681","cc11e9e79d4746cc59e0e17473a59d6f104692fd0eeea1bdb2e206eabed83b03","b444a410d34fb5e98aa5ee2b381362044f4884652e8bc8a11c8fe14bbd85518e","c35808c1f5e16d2c571aa65067e3cb95afeff843b259ecfa2fc107a9519b5392","14d5dc055143e941c8743c6a21fa459f961cbc3deedf1bfe47b11587ca4b3ef5","a3ad4e1fc542751005267d50a6298e6765928c0c3a8dce1572f2ba6ca518661c","f237e7c97a3a89f4591afd49ecb3bd8d14f51a1c4adc8fcae3430febedff5eb6","3ffdfbec93b7aed71082af62b8c3e0cc71261cc68d796665faa1e91604fbae8f","662201f943ed45b1ad600d03a90dffe20841e725203ced8b708c91fcd7f9379a","c9ef74c64ed051ea5b958621e7fb853fe3b56e8787c1587aefc6ea988b3c7e79","2462ccfac5f3375794b861abaa81da380f1bbd9401de59ffa43119a0b644253d","34baf65cfee92f110d6653322e2120c2d368ee64b3c7981dff08ed105c4f19b0","7d8ddf0f021c53099e34ee831a06c394d50371816caa98684812f089b4c6b3d4","4006c872e38a2c4e09c593bc0cdd32b7b4f5c4843910bea0def631c483fff6c5","ab6aa3a65d473871ee093e3b7b71ed0f9c69e07d1d4295f45c9efd91a771241d","bae8d023ef6b23df7da26f51cea44321f95817c190342a36882e93b80d07a960","26a770cec4bd2e7dbba95c6e536390fffe83c6268b78974a93727903b515c4e7","74d5a87c3616cd5d8691059d531504403aa857e09cbaecb1c64dfb9ace0db185"],"root":[[218,220],300,301,313,314,316],"options":{"allowJs":true,"checkJs":true,"composite":true,"declaration":true,"declarationMap":true,"emitDeclarationOnly":false,"esModuleInterop":true,"module":7,"noEmitOnError":true,"outDir":"./","removeComments":false,"skipLibCheck":true,"sourceMap":true,"strict":true,"stripInternal":true,"target":9},"fileIdsList":[[207,221,230,231,232,234,242,243,244,245,260],[230,231],[66,229],[207,230,231,233],[235,237],[233,235,241],[239],[207,231,234,235,236,237,238,240],[231],[66,207],[231,234],[91,207,230],[229],[222],[66,222],[222,223,224,225,226,227,228],[207],[91,207,260],[66,92,207,260],[66,92],[302,303,304,305,307,308,309,310,311],[66,91,92,207],[109,207,306],[207,260],[91],[86,91,207,254],[246,255,256,257,258,259],[86,91,207],[66,81,92,93,207],[81,91,93],[66,81,91,92,207],[79,94,207],[167,205],[80,81,86,91,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,110,111,112,206],[66,77,79],[93],[94,96],[77,79,80],[81,91],[81,94,207],[80,81,91],[66,80,81,93,96,109],[66,80],[66,92,93,207],[81,93],[86,91,93,96,103,207],[79,86,207,260,262,276,279,280,282,284],[66,73],[207,270,279],[91,207,275],[247,248,249,250,251,252,253],[207,249],[207,247],[207,248],[77,79,207],[66,283],[86,91,207,213],[91,207,214],[66,92,207,208],[207,281],[85,86],[85],[83,84,87],[82,87,89,90],[87,89,91],[88,91],[167,170,197,205,317,318,319],[287],[321],[205],[328],[329,331],[332],[334],[330],[113],[154],[155,160,189],[156,161,167,168,175,186,197],[156,157,167,175],[158,198],[159,160,168,176],[160,186,194],[161,163,167,175],[154,162],[163,164],[167],[165,167],[154,167],[167,168,169,186,197],[167,168,169,182,186,189],[152,155,202],[163,167,170,175,186,197],[167,168,170,171,175,186,194,197],[170,172,186,194,197],[113,114,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204],[167,173],[174,197,202],[163,167,175,186],[176],[177],[154,178],[113,114,154,155,156,157,158,159,160,161,162,163,164,165,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203],[180],[181],[167,182,183],[182,184,198,200],[155,167,186,187,188,189],[155,186,188],[186,187],[189],[190],[113,186],[167,192,193],[192,193],[160,175,186,194],[195],[175,196],[155,170,181,197],[160,198],[186,199],[174,200],[201],[155,160,167,169,178,186,197,200,202],[186,203],[170,186,205],[343,382],[343,367,382],[382],[343],[343,368,382],[343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381],[368,382],[295],[385],[167,186,205],[287,288,289,290,291,292],[287,288],[275,278],[274],[277],[66,92,215],[92],[66,92,216],[75],[264,265,270,271],[78,79],[78],[76],[263],[77],[77,210],[79,210,266,267,268,269],[75,76,77,78,263],[75,76,77],[73],[65],[65,66],[65,67,68,69,70,71,72],[296],[273],[270,272],[124,128,197],[124,186,197],[119],[121,124,194,197],[175,194],[119,205],[121,124,175,197],[116,117,120,123,155,167,186,197],[124,131],[116,122],[124,145,146],[120,124,155,189,197,205],[155,205],[145,155,205],[118,119,205],[124],[118,119,120,121,122,123,124,125,126,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,146,147,148,149,150,151],[124,139],[124,131,132],[122,124,132,133],[123],[116,119,124],[124,128,132,133],[128],[122,124,127,197],[116,121,124,131],[155,186],[119,124,145,155,202,205],[74,79,91,207,208,209,210,219],[74,79,91,207,208,209,210,211,212,214,217,218,220],[74,207,209,210,219],[79,91,207,209,219,261,285,286,293,294,296,297,298,300],[66,296,299],[91,207,209,219,261,285,286,293,296,297,312],[91,207,209,219,261,285,286,293,296,297,298],[91,207,209,219,261,274,285,286,293,294,296,297,298,312,315],[74,91,207,261,285],[79,207,219],[74,79,91,207,217],[207,219],[66,296]],"referencedMap":[[261,1],[232,2],[230,3],[234,4],[238,5],[242,6],[240,7],[241,8],[237,9],[243,10],[244,11],[231,12],[222,13],[225,14],[226,14],[223,15],[224,14],[229,16],[227,3],[228,13],[302,17],[303,18],[304,19],[310,20],[312,21],[311,17],[305,22],[307,23],[308,24],[309,24],[246,25],[255,26],[260,27],[256,17],[257,10],[258,17],[259,28],[105,29],[106,30],[93,31],[95,32],[206,33],[207,34],[80,35],[97,36],[107,37],[81,38],[94,39],[98,40],[99,41],[110,42],[111,43],[101,36],[103,44],[102,45],[104,46],[285,47],[262,48],[280,49],[276,50],[208,17],[250,17],[254,51],[249,17],[247,17],[248,17],[253,52],[251,53],[252,54],[209,55],[284,56],[283,48],[214,57],[213,58],[306,59],[282,60],[87,61],[84,62],[83,62],[85,63],[90,25],[91,64],[82,25],[88,65],[89,66],[320,67],[288,68],[292,68],[290,68],[322,69],[323,70],[327,33],[329,71],[332,72],[333,73],[335,74],[331,75],[113,76],[114,76],[154,77],[155,78],[156,79],[157,80],[158,81],[159,82],[160,83],[161,84],[162,85],[163,86],[164,86],[166,87],[165,88],[167,89],[168,90],[169,91],[153,92],[170,93],[171,94],[172,95],[205,96],[173,97],[174,98],[175,99],[176,100],[177,101],[178,102],[179,103],[180,104],[181,105],[182,106],[183,106],[184,107],[186,108],[188,109],[187,110],[189,111],[190,112],[191,113],[192,114],[193,115],[194,116],[195,117],[196,118],[197,119],[198,120],[199,121],[200,122],[201,123],[202,124],[203,125],[319,126],[367,127],[368,128],[343,129],[346,129],[365,127],[366,127],[356,127],[355,130],[353,127],[348,127],[361,127],[359,127],[363,127],[347,127],[360,127],[364,127],[349,127],[350,127],[362,127],[344,127],[351,127],[352,127],[354,127],[358,127],[369,131],[357,127],[345,127],[382,132],[376,131],[378,133],[377,131],[370,131],[371,131],[373,131],[375,131],[379,133],[380,133],[372,133],[374,133],[296,134],[386,135],[387,136],[293,137],[291,68],[289,138],[279,139],[275,140],[278,141],[215,20],[216,142],[315,143],[217,144],[317,87],[271,145],[272,146],[76,147],[79,148],[263,149],[264,150],[265,150],[210,151],[267,152],[270,153],[269,154],[78,155],[65,156],[69,157],[70,157],[67,158],[68,157],[73,159],[71,48],[72,156],[297,160],[298,161],[274,161],[273,162],[131,163],[141,164],[130,163],[151,165],[122,166],[121,167],[150,70],[144,168],[149,169],[124,170],[138,171],[123,172],[147,173],[119,174],[118,175],[148,176],[120,177],[125,178],[129,178],[152,179],[142,180],[133,181],[134,182],[136,183],[132,184],[135,185],[145,70],[127,186],[128,187],[137,188],[117,189],[140,180],[139,178],[146,190],[220,191],[219,192],[218,193],[301,194],[300,195],[313,196],[314,197],[316,198],[74,48],[211,10],[212,17],[286,199]],"exportedModulesMap":[[261,1],[232,2],[230,3],[234,4],[238,5],[242,6],[240,7],[241,8],[237,9],[243,10],[244,11],[231,12],[222,13],[225,14],[226,14],[223,15],[224,14],[229,16],[227,3],[228,13],[302,17],[303,18],[304,19],[310,20],[312,21],[311,17],[305,22],[307,23],[308,24],[309,24],[246,25],[255,26],[260,27],[256,17],[257,10],[258,17],[259,28],[105,29],[106,30],[93,31],[95,32],[206,33],[207,34],[80,35],[97,36],[107,37],[81,38],[94,39],[98,40],[99,41],[110,42],[111,43],[101,36],[103,44],[102,45],[104,46],[285,47],[262,48],[280,49],[276,50],[208,17],[250,17],[254,51],[249,17],[247,17],[248,17],[253,52],[251,53],[252,54],[209,55],[284,56],[283,48],[214,57],[213,58],[306,59],[282,60],[87,61],[84,62],[83,62],[85,63],[90,25],[91,64],[82,25],[88,65],[89,66],[320,67],[288,68],[292,68],[290,68],[322,69],[323,70],[327,33],[329,71],[332,72],[333,73],[335,74],[331,75],[113,76],[114,76],[154,77],[155,78],[156,79],[157,80],[158,81],[159,82],[160,83],[161,84],[162,85],[163,86],[164,86],[166,87],[165,88],[167,89],[168,90],[169,91],[153,92],[170,93],[171,94],[172,95],[205,96],[173,97],[174,98],[175,99],[176,100],[177,101],[178,102],[179,103],[180,104],[181,105],[182,106],[183,106],[184,107],[186,108],[188,109],[187,110],[189,111],[190,112],[191,113],[192,114],[193,115],[194,116],[195,117],[196,118],[197,119],[198,120],[199,121],[200,122],[201,123],[202,124],[203,125],[319,126],[367,127],[368,128],[343,129],[346,129],[365,127],[366,127],[356,127],[355,130],[353,127],[348,127],[361,127],[359,127],[363,127],[347,127],[360,127],[364,127],[349,127],[350,127],[362,127],[344,127],[351,127],[352,127],[354,127],[358,127],[369,131],[357,127],[345,127],[382,132],[376,131],[378,133],[377,131],[370,131],[371,131],[373,131],[375,131],[379,133],[380,133],[372,133],[374,133],[296,134],[386,135],[387,136],[293,137],[291,68],[289,138],[279,139],[275,140],[278,141],[215,20],[216,142],[315,143],[217,144],[317,87],[271,145],[272,146],[76,147],[79,148],[263,149],[264,150],[265,150],[210,151],[267,152],[270,153],[269,154],[78,155],[65,156],[69,157],[70,157],[67,158],[68,157],[73,159],[71,48],[72,156],[297,160],[298,161],[274,161],[273,162],[131,163],[141,164],[130,163],[151,165],[122,166],[121,167],[150,70],[144,168],[149,169],[124,170],[138,171],[123,172],[147,173],[119,174],[118,175],[148,176],[120,177],[125,178],[129,178],[152,179],[142,180],[133,181],[134,182],[136,183],[132,184],[135,185],[145,70],[127,186],[128,187],[137,188],[117,189],[140,180],[139,178],[146,190],[220,200],[219,201],[218,202],[300,203],[74,48],[211,10],[212,17],[286,199]],"semanticDiagnosticsPerFile":[245,261,232,221,230,234,238,242,240,235,233,241,237,243,244,231,236,222,225,226,223,224,229,227,228,302,303,304,310,312,311,305,307,308,309,246,255,260,256,257,258,259,105,106,93,95,112,96,206,207,80,97,107,81,94,98,99,108,110,111,100,101,103,102,104,285,262,280,276,208,250,254,249,247,248,253,251,252,209,284,283,214,213,306,282,87,84,83,85,90,91,82,88,89,320,288,292,290,287,322,323,318,324,325,326,327,328,329,332,333,335,330,331,336,337,338,321,339,113,114,154,155,156,157,158,159,160,161,162,163,164,166,165,167,168,169,153,204,170,171,172,205,173,174,175,176,177,178,179,180,181,182,183,184,185,186,188,187,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,340,341,319,342,367,368,343,346,365,366,356,355,353,348,361,359,363,347,360,364,349,350,362,344,351,352,354,358,369,357,345,382,381,376,378,377,370,371,373,375,379,380,372,374,296,295,383,384,334,385,386,387,293,281,115,291,289,239,279,275,277,278,294,215,216,315,217,109,92,317,271,75,272,76,266,79,263,264,265,210,267,77,270,269,78,268,86,65,69,70,67,68,73,71,72,297,63,64,11,12,15,14,2,16,17,18,19,20,21,22,23,3,24,4,25,29,26,27,28,30,31,32,5,33,34,35,36,6,40,37,38,39,41,7,42,47,48,43,44,45,46,8,52,49,50,51,53,9,54,55,56,59,57,58,60,61,10,1,62,13,66,299,298,274,273,131,141,130,151,122,121,150,144,149,124,138,123,147,119,118,148,120,125,126,129,116,152,142,133,134,136,132,135,145,127,128,137,117,140,139,143,146,220,219,218,301,300,313,314,316,74,211,212,286],"latestChangedDtsFile":"./src/dht.d.ts"},"version":"5.4.5"} \ No newline at end of file diff --git a/node_modules/@libp2p/daemon-client/dist/typedoc-urls.json b/node_modules/@libp2p/daemon-client/dist/typedoc-urls.json deleted file mode 100644 @@ -884,31 +1215,83 @@ index 594d455..0000000 -} \ No newline at end of file diff --git a/node_modules/@libp2p/daemon-client/src/dht.ts b/node_modules/@libp2p/daemon-client/src/dht.ts -index 83f46f7..3a8bdf9 100644 +index 83f46f7..bbf041b 100644 --- a/node_modules/@libp2p/daemon-client/src/dht.ts +++ b/node_modules/@libp2p/daemon-client/src/dht.ts -@@ -7,9 +7,10 @@ import { - import { CodeError } from '@libp2p/interface' +@@ -4,13 +4,14 @@ import { + DHTRequest, + DHTResponse + } from '@libp2p/daemon-protocol' +-import { CodeError } from '@libp2p/interface' ++import { InvalidMessageError, InvalidParametersError, ProtocolError } from '@libp2p/interface' import { isPeerId, type PeerId, type PeerInfo } from '@libp2p/interface' import { logger } from '@libp2p/logger' -import { peerIdFromBytes } from '@libp2p/peer-id' +import { peerIdFromMultihash } from '@libp2p/peer-id' import { multiaddr } from '@multiformats/multiaddr' import { CID } from 'multiformats/cid' +-import type { DaemonClient } from './index.js' +import * as Digest from 'multiformats/hashes/digest' - import type { DaemonClient } from './index.js' ++import { OperationFailedError, type DaemonClient } from './index.js' const log = logger('libp2p:daemon-client:dht') -@@ -77,7 +78,7 @@ export class DHT { - throw new CodeError(response.error?.msg ?? 'DHT get failed', 'ERR_DHT_GET_FAILED') + +@@ -26,11 +27,11 @@ export class DHT { + */ + async put (key: Uint8Array, value: Uint8Array): Promise { + if (!(key instanceof Uint8Array)) { +- throw new CodeError('invalid key received', 'ERR_INVALID_KEY') ++ throw new InvalidParametersError('invalid key received') + } + + if (!(value instanceof Uint8Array)) { +- throw new CodeError('value received is not a Uint8Array', 'ERR_INVALID_VALUE') ++ throw new InvalidParametersError('value received is not a Uint8Array') + } + + const sh = await this.client.send({ +@@ -49,7 +50,7 @@ export class DHT { + await sh.unwrap().close() + + if (response.type !== Response.Type.OK) { +- throw new CodeError(response.error?.msg ?? 'DHT put failed', 'ERR_DHT_PUT_FAILED') ++ throw new ProtocolError(response.error?.msg ?? 'DHT put failed') + } + } + +@@ -58,7 +59,7 @@ export class DHT { + */ + async get (key: Uint8Array): Promise { + if (!(key instanceof Uint8Array)) { +- throw new CodeError('invalid key received', 'ERR_INVALID_KEY') ++ throw new InvalidParametersError('invalid key received') + } + + const sh = await this.client.send({ +@@ -74,11 +75,11 @@ export class DHT { + await sh.unwrap().close() + + if (response.type !== Response.Type.OK) { +- throw new CodeError(response.error?.msg ?? 'DHT get failed', 'ERR_DHT_GET_FAILED') ++ throw new OperationFailedError(response.error?.msg ?? 'DHT get failed') } - if (response.dht == null || response.dht.value == null) { +- throw new CodeError('Invalid DHT get response', 'ERR_DHT_GET_FAILED') + if (response.dht?.value == null) { - throw new CodeError('Invalid DHT get response', 'ERR_DHT_GET_FAILED') ++ throw new OperationFailedError('Invalid DHT get response') } -@@ -96,7 +97,7 @@ export class DHT { + return response.dht.value +@@ -89,14 +90,14 @@ export class DHT { + */ + async findPeer (peerId: PeerId): Promise { + if (!isPeerId(peerId)) { +- throw new CodeError('invalid peer id received', 'ERR_INVALID_PEER_ID') ++ throw new InvalidParametersError('invalid peer id received') + } + + const sh = await this.client.send({ type: Request.Type.DHT, dht: { type: DHTRequest.Type.FIND_PEER, @@ -917,13 +1300,18 @@ index 83f46f7..3a8bdf9 100644 } }) -@@ -108,12 +109,12 @@ export class DHT { - throw new CodeError(response.error?.msg ?? 'DHT find peer failed', 'ERR_DHT_FIND_PEER_FAILED') +@@ -105,15 +106,15 @@ export class DHT { + await sh.unwrap().close() + + if (response.type !== Response.Type.OK) { +- throw new CodeError(response.error?.msg ?? 'DHT find peer failed', 'ERR_DHT_FIND_PEER_FAILED') ++ throw new OperationFailedError(response.error?.msg ?? 'DHT find peer failed') } - if (response.dht == null || response.dht.peer == null || response.dht.peer.addrs == null) { +- throw new CodeError('Invalid response', 'ERR_DHT_FIND_PEER_FAILED') + if (response.dht?.peer?.addrs == null) { - throw new CodeError('Invalid response', 'ERR_DHT_FIND_PEER_FAILED') ++ throw new OperationFailedError('Invalid response') } return { @@ -932,7 +1320,43 @@ index 83f46f7..3a8bdf9 100644 multiaddrs: response.dht.peer.addrs.map((a) => multiaddr(a)) } } -@@ -178,9 +179,9 @@ export class DHT { +@@ -123,7 +124,7 @@ export class DHT { + */ + async provide (cid: CID): Promise { + if (cid == null || CID.asCID(cid) == null) { +- throw new CodeError('invalid cid received', 'ERR_INVALID_CID') ++ throw new InvalidParametersError('invalid cid received') + } + + const sh = await this.client.send({ +@@ -139,7 +140,7 @@ export class DHT { + await sh.unwrap().close() + + if (response.type !== Response.Type.OK) { +- throw new CodeError(response.error?.msg ?? 'DHT provide failed', 'ERR_DHT_PROVIDE_FAILED') ++ throw new OperationFailedError(response.error?.msg ?? 'DHT provide failed') + } + } + +@@ -148,7 +149,7 @@ export class DHT { + */ + async * findProviders (cid: CID, count: number = 1): AsyncIterable { + if (cid == null || CID.asCID(cid) == null) { +- throw new CodeError('invalid cid received', 'ERR_INVALID_CID') ++ throw new InvalidParametersError('invalid cid received') + } + + const sh = await this.client.send({ +@@ -165,7 +166,7 @@ export class DHT { + + if (response.type !== Response.Type.OK) { + await sh.unwrap().close() +- throw new CodeError(response.error?.msg ?? 'DHT find providers failed', 'ERR_DHT_FIND_PROVIDERS_FAILED') ++ throw new OperationFailedError(response.error?.msg ?? 'DHT find providers failed') + } + + while (true) { +@@ -178,15 +179,15 @@ export class DHT { } // Stream values @@ -944,6 +1368,31 @@ index 83f46f7..3a8bdf9 100644 multiaddrs: dhtResponse.peer.addrs.map((a) => multiaddr(a)) } } else { + // Unexpected message received + await sh.unwrap().close() +- throw new CodeError('unexpected message received', 'ERR_UNEXPECTED_MESSAGE_RECEIVED') ++ throw new ProtocolError('unexpected message received') + } + } + } +@@ -196,7 +197,7 @@ export class DHT { + */ + async * getClosestPeers (key: Uint8Array): AsyncIterable { + if (!(key instanceof Uint8Array)) { +- throw new CodeError('invalid key received', 'ERR_INVALID_KEY') ++ throw new InvalidParametersError('invalid key received') + } + + const sh = await this.client.send({ +@@ -212,7 +213,7 @@ export class DHT { + + if (response.type !== Response.Type.OK) { + await sh.unwrap().close() +- throw new CodeError(response.error?.msg ?? 'DHT find providers failed', 'ERR_DHT_FIND_PROVIDERS_FAILED') ++ throw new OperationFailedError(response.error?.msg ?? 'DHT find providers failed') + } + + while (true) { @@ -226,7 +227,7 @@ export class DHT { // Stream values @@ -953,7 +1402,24 @@ index 83f46f7..3a8bdf9 100644 yield { id: peerId, -@@ -252,7 +253,7 @@ export class DHT { +@@ -235,7 +236,7 @@ export class DHT { + } else { + // Unexpected message received + await sh.unwrap().close() +- throw new CodeError('unexpected message received', 'ERR_UNEXPECTED_MESSAGE_RECEIVED') ++ throw new InvalidMessageError('unexpected message received') + } + } + } +@@ -245,14 +246,14 @@ export class DHT { + */ + async getPublicKey (peerId: PeerId): Promise { + if (!isPeerId(peerId)) { +- throw new CodeError('invalid peer id received', 'ERR_INVALID_PEER_ID') ++ throw new InvalidParametersError('invalid peer id received') + } + + const sh = await this.client.send({ type: Request.Type.DHT, dht: { type: DHTRequest.Type.GET_PUBLIC_KEY, @@ -962,13 +1428,30 @@ index 83f46f7..3a8bdf9 100644 } }) +@@ -261,11 +262,11 @@ export class DHT { + await sh.unwrap().close() + + if (response.type !== Response.Type.OK) { +- throw new CodeError(response.error?.msg ?? 'DHT get public key failed', 'ERR_DHT_GET_PUBLIC_KEY_FAILED') ++ throw new OperationFailedError(response.error?.msg ?? 'DHT get public key failed') + } + + if (response.dht == null) { +- throw new CodeError('Invalid response', 'ERR_DHT_GET_PUBLIC_KEY_FAILED') ++ throw new InvalidMessageError('Invalid response') + } + + return response.dht.value diff --git a/node_modules/@libp2p/daemon-client/src/index.ts b/node_modules/@libp2p/daemon-client/src/index.ts -index d7b3e15..bf288af 100644 +index d7b3e15..200a044 100644 --- a/node_modules/@libp2p/daemon-client/src/index.ts +++ b/node_modules/@libp2p/daemon-client/src/index.ts -@@ -3,10 +3,11 @@ import { StreamHandler } from '@libp2p/daemon-protocol/stream-handler' +@@ -1,12 +1,13 @@ + import { type PSMessage, Request, Response, StreamInfo } from '@libp2p/daemon-protocol' + import { StreamHandler } from '@libp2p/daemon-protocol/stream-handler' import { passThroughUpgrader } from '@libp2p/daemon-protocol/upgrader' - import { CodeError, isPeerId } from '@libp2p/interface' +-import { CodeError, isPeerId } from '@libp2p/interface' ++import { InvalidParametersError, isPeerId } from '@libp2p/interface' import { defaultLogger, logger } from '@libp2p/logger' -import { peerIdFromBytes } from '@libp2p/peer-id' +import { peerIdFromMultihash } from '@libp2p/peer-id' @@ -979,7 +1462,40 @@ index d7b3e15..bf288af 100644 import { DHT } from './dht.js' import { Pubsub } from './pubsub.js' import type { Stream, PeerId, MultiaddrConnection, PeerInfo, Transport } from '@libp2p/interface' -@@ -82,7 +83,7 @@ class Client implements DaemonClient { +@@ -15,6 +16,13 @@ import type { CID } from 'multiformats/cid' + + const log = logger('libp2p:daemon-client') + ++export class OperationFailedError extends Error { ++ constructor (message = 'Operation failed') { ++ super(message) ++ this.name = 'OperationFailedError' ++ } ++} ++ + class Client implements DaemonClient { + private readonly multiaddr: Multiaddr + public dht: DHT +@@ -66,23 +74,23 @@ class Client implements DaemonClient { + */ + async connect (peerId: PeerId, addrs: Multiaddr[]): Promise { + if (!isPeerId(peerId)) { +- throw new CodeError('invalid peer id received', 'ERR_INVALID_PEER_ID') ++ throw new InvalidParametersError('invalid peer id received') + } + + if (!Array.isArray(addrs)) { +- throw new CodeError('addrs received are not in an array', 'ERR_INVALID_ADDRS_TYPE') ++ throw new InvalidParametersError('addrs received are not in an array') + } + + addrs.forEach((addr) => { + if (!isMultiaddr(addr)) { +- throw new CodeError('received an address that is not a multiaddr', 'ERR_NO_MULTIADDR_RECEIVED') ++ throw new InvalidParametersError('received an address that is not a multiaddr') + } + }) + const sh = await this.send({ type: Request.Type.CONNECT, connect: { @@ -988,13 +1504,27 @@ index d7b3e15..bf288af 100644 addrs: addrs.map((a) => a.bytes) } }) -@@ -117,11 +118,11 @@ class Client implements DaemonClient { - throw new CodeError(response.error?.msg ?? 'Identify failed', 'ERR_IDENTIFY_FAILED') +@@ -91,7 +99,7 @@ class Client implements DaemonClient { + + if (response.type !== Response.Type.OK) { + const errResponse = response.error ?? { msg: 'unspecified' } +- throw new CodeError(errResponse.msg ?? 'unspecified', 'ERR_CONNECT_FAILED') ++ throw new OperationFailedError(errResponse.msg ?? 'unspecified') + } + + await sh.unwrap().close() +@@ -114,14 +122,14 @@ class Client implements DaemonClient { + const response = await sh.read(Response) + + if (response.type !== Response.Type.OK) { +- throw new CodeError(response.error?.msg ?? 'Identify failed', 'ERR_IDENTIFY_FAILED') ++ throw new OperationFailedError(response.error?.msg ?? 'Identify failed') } - if (response.identify == null || response.identify.addrs == null) { +- throw new CodeError('Invalid response', 'ERR_IDENTIFY_FAILED') + if (response.identify?.addrs == null) { - throw new CodeError('Invalid response', 'ERR_IDENTIFY_FAILED') ++ throw new OperationFailedError('Invalid response') } - const peerId = peerIdFromBytes(response.identify?.id) @@ -1002,7 +1532,13 @@ index d7b3e15..bf288af 100644 const addrs = response.identify.addrs.map((a) => multiaddr(a)) await sh.unwrap().close() -@@ -145,7 +146,7 @@ class Client implements DaemonClient { +@@ -140,12 +148,12 @@ class Client implements DaemonClient { + const response = await sh.read(Response) + + if (response.type !== Response.Type.OK) { +- throw new CodeError(response.error?.msg ?? 'List peers failed', 'ERR_LIST_PEERS_FAILED') ++ throw new OperationFailedError(response.error?.msg ?? 'List peers failed') + } await sh.unwrap().close() @@ -1011,7 +1547,19 @@ index d7b3e15..bf288af 100644 } /** -@@ -163,7 +164,7 @@ class Client implements DaemonClient { +@@ -153,17 +161,17 @@ class Client implements DaemonClient { + */ + async openStream (peerId: PeerId, protocol: string): Promise { + if (!isPeerId(peerId)) { +- throw new CodeError('invalid peer id received', 'ERR_INVALID_PEER_ID') ++ throw new InvalidParametersError('invalid peer id received') + } + + if (typeof protocol !== 'string') { +- throw new CodeError('invalid protocol received', 'ERR_INVALID_PROTOCOL') ++ throw new InvalidParametersError('invalid protocol received') + } + const sh = await this.send({ type: Request.Type.STREAM_OPEN, streamOpen: { @@ -1020,7 +1568,39 @@ index d7b3e15..bf288af 100644 proto: [protocol] } }) -@@ -211,6 +212,9 @@ class Client implements DaemonClient { +@@ -172,7 +180,7 @@ class Client implements DaemonClient { + + if (response.type !== Response.Type.OK) { + await sh.unwrap().close() +- throw new CodeError(response.error?.msg ?? 'Open stream failed', 'ERR_OPEN_STREAM_FAILED') ++ throw new OperationFailedError(response.error?.msg ?? 'Open stream failed') + } + + return sh.unwrap() +@@ -183,7 +191,7 @@ class Client implements DaemonClient { + */ + async registerStreamHandler (protocol: string, handler: StreamHandlerFunction): Promise { + if (typeof protocol !== 'string') { +- throw new CodeError('invalid protocol received', 'ERR_INVALID_PROTOCOL') ++ throw new InvalidParametersError('invalid protocol received') + } + + // open a tcp port, pipe any data from it to the handler function +@@ -199,18 +207,21 @@ class Client implements DaemonClient { + const message = await sh.read() + + if (message == null) { +- throw new CodeError('Could not read open stream response', 'ERR_OPEN_STREAM_FAILED') ++ throw new OperationFailedError('Could not read open stream response') + } + + const response = StreamInfo.decode(message) + + if (response.proto !== protocol) { +- throw new CodeError('Incorrect protocol', 'ERR_OPEN_STREAM_FAILED') ++ throw new OperationFailedError('Incorrect protocol') + } + // @ts-expect-error because we are using a passthrough upgrader, this is a MultiaddrConnection await handler(sh.rest()) }) @@ -1030,36 +1610,119 @@ index d7b3e15..bf288af 100644 .finally(() => { connection.close() .catch(err => { +@@ -227,7 +238,7 @@ class Client implements DaemonClient { + const address = listener.getAddrs()[0] + + if (address == null) { +- throw new CodeError('Could not listen on port', 'ERR_REGISTER_STREAM_HANDLER_FAILED') ++ throw new OperationFailedError('Could not listen on port') + } + + const sh = await this.send({ +@@ -243,7 +254,7 @@ class Client implements DaemonClient { + await sh.unwrap().close() + + if (response.type !== Response.Type.OK) { +- throw new CodeError(response.error?.msg ?? 'Register stream handler failed', 'ERR_REGISTER_STREAM_HANDLER_FAILED') ++ throw new OperationFailedError(response.error?.msg ?? 'Register stream handler failed') + } + } + } diff --git a/node_modules/@libp2p/daemon-client/src/pubsub.ts b/node_modules/@libp2p/daemon-client/src/pubsub.ts -index df5f96c..2e7cc27 100644 +index df5f96c..2685d7f 100644 --- a/node_modules/@libp2p/daemon-client/src/pubsub.ts +++ b/node_modules/@libp2p/daemon-client/src/pubsub.ts -@@ -5,7 +5,8 @@ import { +@@ -4,9 +4,10 @@ import { + PSRequest, PSMessage } from '@libp2p/daemon-protocol' - import { CodeError } from '@libp2p/interface' +-import { CodeError } from '@libp2p/interface' -import { peerIdFromBytes } from '@libp2p/peer-id' +-import type { DaemonClient, Subscription } from './index.js' ++import { InvalidParametersError } from '@libp2p/interface' +import { peerIdFromMultihash } from '@libp2p/peer-id' +import * as Digest from 'multiformats/hashes/digest' - import type { DaemonClient, Subscription } from './index.js' ++import { OperationFailedError, type DaemonClient, type Subscription } from './index.js' import type { PeerId } from '@libp2p/interface' -@@ -37,7 +38,7 @@ export class Pubsub { - throw new CodeError(response.error?.msg ?? 'Pubsub get topics failed', 'ERR_PUBSUB_GET_TOPICS_FAILED') + export class Pubsub { +@@ -34,11 +35,11 @@ export class Pubsub { + await sh.unwrap().close() + + if (response.type !== Response.Type.OK) { +- throw new CodeError(response.error?.msg ?? 'Pubsub get topics failed', 'ERR_PUBSUB_GET_TOPICS_FAILED') ++ throw new OperationFailedError(response.error?.msg ?? 'Pubsub get topics failed') } - if (response.pubsub == null || response.pubsub.topics == null) { +- throw new CodeError('Invalid response', 'ERR_PUBSUB_GET_TOPICS_FAILED') + if (response.pubsub?.topics == null) { - throw new CodeError('Invalid response', 'ERR_PUBSUB_GET_TOPICS_FAILED') ++ throw new OperationFailedError('Invalid response') + } + + return response.pubsub.topics +@@ -49,11 +50,11 @@ export class Pubsub { + */ + async publish (topic: string, data: Uint8Array): Promise { + if (typeof topic !== 'string') { +- throw new CodeError('invalid topic received', 'ERR_INVALID_TOPIC') ++ throw new InvalidParametersError('invalid topic received') + } + + if (!(data instanceof Uint8Array)) { +- throw new CodeError('data received is not a Uint8Array', 'ERR_INVALID_DATA') ++ throw new InvalidParametersError('data received is not a Uint8Array') + } + + const sh = await this.client.send({ +@@ -70,7 +71,7 @@ export class Pubsub { + await sh.unwrap().close() + + if (response.type !== Response.Type.OK) { +- throw new CodeError(response.error?.msg ?? 'Pubsub publish failed', 'ERR_PUBSUB_PUBLISH_FAILED') ++ throw new OperationFailedError(response.error?.msg ?? 'Pubsub publish failed') } + } + +@@ -79,7 +80,7 @@ export class Pubsub { + */ + async subscribe (topic: string): Promise { + if (typeof topic !== 'string') { +- throw new CodeError('invalid topic received', 'ERR_INVALID_TOPIC') ++ throw new InvalidParametersError('invalid topic received') + } + + const sh = await this.client.send({ +@@ -93,7 +94,7 @@ export class Pubsub { + const response = await sh.read(Response) + + if (response.type !== Response.Type.OK) { +- throw new CodeError(response.error?.msg ?? 'Pubsub publish failed', 'ERR_PUBSUB_PUBLISH_FAILED') ++ throw new OperationFailedError(response.error?.msg ?? 'Pubsub publish failed') + } + + let subscribed = true +@@ -115,7 +116,7 @@ export class Pubsub { + + async getSubscribers (topic: string): Promise { + if (typeof topic !== 'string') { +- throw new CodeError('invalid topic received', 'ERR_INVALID_TOPIC') ++ throw new InvalidParametersError('invalid topic received') + } + + const sh = await this.client.send({ +@@ -131,13 +132,13 @@ export class Pubsub { + await sh.unwrap().close() -@@ -134,10 +135,10 @@ export class Pubsub { - throw new CodeError(response.error?.msg ?? 'Pubsub get subscribers failed', 'ERR_PUBSUB_GET_SUBSCRIBERS_FAILED') + if (response.type !== Response.Type.OK) { +- throw new CodeError(response.error?.msg ?? 'Pubsub get subscribers failed', 'ERR_PUBSUB_GET_SUBSCRIBERS_FAILED') ++ throw new OperationFailedError(response.error?.msg ?? 'Pubsub get subscribers failed') } - if (response.pubsub == null || response.pubsub.topics == null) { +- throw new CodeError('Invalid response', 'ERR_PUBSUB_GET_SUBSCRIBERS_FAILED') + if (response.pubsub?.topics == null) { - throw new CodeError('Invalid response', 'ERR_PUBSUB_GET_SUBSCRIBERS_FAILED') ++ throw new OperationFailedError('Invalid response') } - return response.pubsub.peerIDs.map(buf => peerIdFromBytes(buf))