@libp2p/daemon-server 6.0.3 → 7.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.min.js CHANGED
@@ -1,7 +1,7 @@
1
1
  (function (root, factory) {(typeof module === 'object' && module.exports) ? module.exports = factory() : root.Libp2PDaemonServer = factory()}(typeof self !== 'undefined' ? self : this, function () {
2
- "use strict";var Libp2PDaemonServer=(()=>{var gi=Object.create;var Ie=Object.defineProperty;var yi=Object.getOwnPropertyDescriptor;var bi=Object.getOwnPropertyNames;var Ei=Object.getPrototypeOf,wi=Object.prototype.hasOwnProperty;var ht=(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 z=(r,t)=>()=>(t||r((t={exports:{}}).exports,t),t.exports),Z=(r,t)=>{for(var e in t)Ie(r,e,{get:t[e],enumerable:!0})},Ln=(r,t,e,o)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of bi(t))!wi.call(r,n)&&n!==e&&Ie(r,n,{get:()=>t[n],enumerable:!(o=yi(t,n))||o.enumerable});return r};var Et=(r,t,e)=>(e=r!=null?gi(Ei(r)):{},Ln(t||!r||!r.__esModule?Ie(e,"default",{value:r,enumerable:!0}):e,r)),xi=r=>Ln(Ie({},"__esModule",{value:!0}),r);var no=z((Fl,ro)=>{var Zt=1e3,qt=Zt*60,jt=qt*60,Ft=jt*24,Us=Ft*7,_s=Ft*365.25;ro.exports=function(r,t){t=t||{};var e=typeof r;if(e==="string"&&r.length>0)return Fs(r);if(e==="number"&&isFinite(r))return t.long?Ms(r):Bs(r);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(r))};function Fs(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]),o=(t[2]||"ms").toLowerCase();switch(o){case"years":case"year":case"yrs":case"yr":case"y":return e*_s;case"weeks":case"week":case"w":return e*Us;case"days":case"day":case"d":return e*Ft;case"hours":case"hour":case"hrs":case"hr":case"h":return e*jt;case"minutes":case"minute":case"mins":case"min":case"m":return e*qt;case"seconds":case"second":case"secs":case"sec":case"s":return e*Zt;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return e;default:return}}}}function Bs(r){var t=Math.abs(r);return t>=Ft?Math.round(r/Ft)+"d":t>=jt?Math.round(r/jt)+"h":t>=qt?Math.round(r/qt)+"m":t>=Zt?Math.round(r/Zt)+"s":r+"ms"}function Ms(r){var t=Math.abs(r);return t>=Ft?Be(r,t,Ft,"day"):t>=jt?Be(r,t,jt,"hour"):t>=qt?Be(r,t,qt,"minute"):t>=Zt?Be(r,t,Zt,"second"):r+" ms"}function Be(r,t,e,o){var n=t>=e*1.5;return Math.round(r/e)+" "+o+(n?"s":"")}});var Wr=z((Bl,oo)=>{function Gs(r){e.debug=e,e.default=e,e.coerce=a,e.disable=i,e.enable=n,e.enabled=s,e.humanize=no(),e.destroy=h,Object.keys(r).forEach(l=>{e[l]=r[l]}),e.names=[],e.skips=[],e.formatters={};function t(l){let u=0;for(let f=0;f<l.length;f++)u=(u<<5)-u+l.charCodeAt(f),u|=0;return e.colors[Math.abs(u)%e.colors.length]}e.selectColor=t;function e(l){let u,f=null,b,m;function E(...g){if(!E.enabled)return;let y=E,I=Number(new Date),k=I-(u||I);y.diff=k,y.prev=u,y.curr=I,u=I,g[0]=e.coerce(g[0]),typeof g[0]!="string"&&g.unshift("%O");let D=0;g[0]=g[0].replace(/%([a-zA-Z%])/g,(tt,J)=>{if(tt==="%%")return"%";D++;let et=e.formatters[J];if(typeof et=="function"){let Ht=g[D];tt=et.call(y,Ht),g.splice(D,1),D--}return tt}),e.formatArgs.call(y,g),(y.log||e.log).apply(y,g)}return E.namespace=l,E.useColors=e.useColors(),E.color=e.selectColor(l),E.extend=o,E.destroy=e.destroy,Object.defineProperty(E,"enabled",{enumerable:!0,configurable:!1,get:()=>f!==null?f:(b!==e.namespaces&&(b=e.namespaces,m=e.enabled(l)),m),set:g=>{f=g}}),typeof e.init=="function"&&e.init(E),E}function o(l,u){let f=e(this.namespace+(typeof u>"u"?":":u)+l);return f.log=this.log,f}function n(l){e.save(l),e.namespaces=l,e.names=[],e.skips=[];let u,f=(typeof l=="string"?l:"").split(/[\s,]+/),b=f.length;for(u=0;u<b;u++)f[u]&&(l=f[u].replace(/\*/g,".*?"),l[0]==="-"?e.skips.push(new RegExp("^"+l.slice(1)+"$")):e.names.push(new RegExp("^"+l+"$")))}function i(){let l=[...e.names.map(c),...e.skips.map(c).map(u=>"-"+u)].join(",");return e.enable(""),l}function s(l){if(l[l.length-1]==="*")return!0;let u,f;for(u=0,f=e.skips.length;u<f;u++)if(e.skips[u].test(l))return!1;for(u=0,f=e.names.length;u<f;u++)if(e.names[u].test(l))return!0;return!1}function c(l){return l.toString().substring(2,l.toString().length-2).replace(/\.\*\?$/,"*")}function a(l){return l instanceof Error?l.stack||l.message:l}function h(){console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.")}return e.enable(e.load()),e}oo.exports=Gs});var io=z((q,Me)=>{q.formatArgs=$s;q.save=zs;q.load=Hs;q.useColors=Vs;q.storage=Ws();q.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`."))}})();q.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 Vs(){return typeof window<"u"&&window.process&&(window.process.type==="renderer"||window.process.__nwjs)?!0:typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/)?!1: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&&navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/)&&parseInt(RegExp.$1,10)>=31||typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)}function $s(r){if(r[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+r[0]+(this.useColors?"%c ":" ")+"+"+Me.exports.humanize(this.diff),!this.useColors)return;let t="color: "+this.color;r.splice(1,0,t,"color: inherit");let e=0,o=0;r[0].replace(/%[a-zA-Z%]/g,n=>{n!=="%%"&&(e++,n==="%c"&&(o=e))}),r.splice(o,0,t)}q.log=console.debug||console.log||(()=>{});function zs(r){try{r?q.storage.setItem("debug",r):q.storage.removeItem("debug")}catch{}}function Hs(){let r;try{r=q.storage.getItem("debug")}catch{}return!r&&typeof process<"u"&&"env"in process&&(r=process.env.DEBUG),r}function Ws(){try{return localStorage}catch{}}Me.exports=Wr()(q);var{formatters:Ks}=Me.exports;Ks.j=function(r){try{return JSON.stringify(r)}catch(t){return"[UnexpectedJSONParseError]: "+t.message}}});var co=z((Ml,so)=>{"use strict";so.exports=(r,t)=>{t=t||process.argv;let e=r.startsWith("-")?"":r.length===1?"-":"--",o=t.indexOf(e+r),n=t.indexOf("--");return o!==-1&&(n===-1?!0:o<n)}});var lo=z((Gl,ao)=>{"use strict";var Xs=ht("os"),ut=co(),G=process.env,te;ut("no-color")||ut("no-colors")||ut("color=false")?te=!1:(ut("color")||ut("colors")||ut("color=true")||ut("color=always"))&&(te=!0);"FORCE_COLOR"in G&&(te=G.FORCE_COLOR.length===0||parseInt(G.FORCE_COLOR,10)!==0);function Ys(r){return r===0?!1:{level:r,hasBasic:!0,has256:r>=2,has16m:r>=3}}function Qs(r){if(te===!1)return 0;if(ut("color=16m")||ut("color=full")||ut("color=truecolor"))return 3;if(ut("color=256"))return 2;if(r&&!r.isTTY&&te!==!0)return 0;let t=te?1:0;if(process.platform==="win32"){let e=Xs.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 G)return["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI"].some(e=>e in G)||G.CI_NAME==="codeship"?1:t;if("TEAMCITY_VERSION"in G)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(G.TEAMCITY_VERSION)?1:0;if(G.COLORTERM==="truecolor")return 3;if("TERM_PROGRAM"in G){let e=parseInt((G.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(G.TERM_PROGRAM){case"iTerm.app":return e>=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:(G.TERM==="dumb",t)}function Kr(r){let t=Qs(r);return Ys(t)}ao.exports={supportsColor:Kr,stdout:Kr(process.stdout),stderr:Kr(process.stderr)}});var fo=z((_,Ve)=>{var Js=ht("tty"),Ge=ht("util");_.init=nc;_.log=tc;_.formatArgs=qs;_.save=ec;_.load=rc;_.useColors=Zs;_.destroy=Ge.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=lo();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,i)=>i.toUpperCase()),o=process.env[t];return/^(yes|on|true|enabled)$/i.test(o)?o=!0:/^(no|off|false|disabled)$/i.test(o)?o=!1:o==="null"?o=null:o=Number(o),r[e]=o,r},{});function Zs(){return"colors"in _.inspectOpts?!!_.inspectOpts.colors:Js.isatty(process.stderr.fd)}function qs(r){let{namespace:t,useColors:e}=this;if(e){let o=this.color,n="\x1B[3"+(o<8?o:"8;5;"+o),i=` ${n};1m${t} \x1B[0m`;r[0]=i+r[0].split(`
2
+ "use strict";var Libp2PDaemonServer=(()=>{var xi=Object.create;var Ee=Object.defineProperty;var Ii=Object.getOwnPropertyDescriptor;var Si=Object.getOwnPropertyNames;var Ai=Object.getPrototypeOf,Ci=Object.prototype.hasOwnProperty;var ft=(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 z=(r,t)=>()=>(t||r((t={exports:{}}).exports,t),t.exports),J=(r,t)=>{for(var e in t)Ee(r,e,{get:t[e],enumerable:!0})},Nn=(r,t,e,o)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of Si(t))!Ci.call(r,n)&&n!==e&&Ee(r,n,{get:()=>t[n],enumerable:!(o=Ii(t,n))||o.enumerable});return r};var yt=(r,t,e)=>(e=r!=null?xi(Ai(r)):{},Nn(t||!r||!r.__esModule?Ee(e,"default",{value:r,enumerable:!0}):e,r)),vi=r=>Nn(Ee({},"__esModule",{value:!0}),r);var oo=z(($l,no)=>{var Qt=1e3,Jt=Qt*60,Zt=Jt*60,kt=Zt*24,Vs=kt*7,Gs=kt*365.25;no.exports=function(r,t){t=t||{};var e=typeof r;if(e==="string"&&r.length>0)return $s(r);if(e==="number"&&isFinite(r))return t.long?Hs(r):zs(r);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(r))};function $s(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]),o=(t[2]||"ms").toLowerCase();switch(o){case"years":case"year":case"yrs":case"yr":case"y":return e*Gs;case"weeks":case"week":case"w":return e*Vs;case"days":case"day":case"d":return e*kt;case"hours":case"hour":case"hrs":case"hr":case"h":return e*Zt;case"minutes":case"minute":case"mins":case"min":case"m":return e*Jt;case"seconds":case"second":case"secs":case"sec":case"s":return e*Qt;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return e;default:return}}}}function zs(r){var t=Math.abs(r);return t>=kt?Math.round(r/kt)+"d":t>=Zt?Math.round(r/Zt)+"h":t>=Jt?Math.round(r/Jt)+"m":t>=Qt?Math.round(r/Qt)+"s":r+"ms"}function Hs(r){var t=Math.abs(r);return t>=kt?Ue(r,t,kt,"day"):t>=Zt?Ue(r,t,Zt,"hour"):t>=Jt?Ue(r,t,Jt,"minute"):t>=Qt?Ue(r,t,Qt,"second"):r+" ms"}function Ue(r,t,e,o){var n=t>=e*1.5;return Math.round(r/e)+" "+o+(n?"s":"")}});var Hr=z((zl,io)=>{function Ws(r){e.debug=e,e.default=e,e.coerce=a,e.disable=i,e.enable=n,e.enabled=s,e.humanize=oo(),e.destroy=f,Object.keys(r).forEach(l=>{e[l]=r[l]}),e.names=[],e.skips=[],e.formatters={};function t(l){let u=0;for(let h=0;h<l.length;h++)u=(u<<5)-u+l.charCodeAt(h),u|=0;return e.colors[Math.abs(u)%e.colors.length]}e.selectColor=t;function e(l){let u,h=null,y,p;function w(...g){if(!w.enabled)return;let b=w,I=Number(new Date),N=I-(u||I);b.diff=N,b.prev=u,b.curr=I,u=I,g[0]=e.coerce(g[0]),typeof g[0]!="string"&&g.unshift("%O");let D=0;g[0]=g[0].replace(/%([a-zA-Z%])/g,(j,Q)=>{if(j==="%%")return"%";D++;let tt=e.formatters[Q];if(typeof tt=="function"){let $t=g[D];j=tt.call(b,$t),g.splice(D,1),D--}return j}),e.formatArgs.call(b,g),(b.log||e.log).apply(b,g)}return w.namespace=l,w.useColors=e.useColors(),w.color=e.selectColor(l),w.extend=o,w.destroy=e.destroy,Object.defineProperty(w,"enabled",{enumerable:!0,configurable:!1,get:()=>h!==null?h:(y!==e.namespaces&&(y=e.namespaces,p=e.enabled(l)),p),set:g=>{h=g}}),typeof e.init=="function"&&e.init(w),w}function o(l,u){let h=e(this.namespace+(typeof u>"u"?":":u)+l);return h.log=this.log,h}function n(l){e.save(l),e.namespaces=l,e.names=[],e.skips=[];let u,h=(typeof l=="string"?l:"").split(/[\s,]+/),y=h.length;for(u=0;u<y;u++)h[u]&&(l=h[u].replace(/\*/g,".*?"),l[0]==="-"?e.skips.push(new RegExp("^"+l.slice(1)+"$")):e.names.push(new RegExp("^"+l+"$")))}function i(){let l=[...e.names.map(c),...e.skips.map(c).map(u=>"-"+u)].join(",");return e.enable(""),l}function s(l){if(l[l.length-1]==="*")return!0;let u,h;for(u=0,h=e.skips.length;u<h;u++)if(e.skips[u].test(l))return!1;for(u=0,h=e.names.length;u<h;u++)if(e.names[u].test(l))return!0;return!1}function c(l){return l.toString().substring(2,l.toString().length-2).replace(/\.\*\?$/,"*")}function a(l){return l instanceof Error?l.stack||l.message:l}function f(){console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.")}return e.enable(e.load()),e}io.exports=Ws});var so=z((Z,Fe)=>{Z.formatArgs=Xs;Z.save=Ys;Z.load=Qs;Z.useColors=Ks;Z.storage=Js();Z.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`."))}})();Z.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 Ks(){return typeof window<"u"&&window.process&&(window.process.type==="renderer"||window.process.__nwjs)?!0:typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/)?!1: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&&navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/)&&parseInt(RegExp.$1,10)>=31||typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)}function Xs(r){if(r[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+r[0]+(this.useColors?"%c ":" ")+"+"+Fe.exports.humanize(this.diff),!this.useColors)return;let t="color: "+this.color;r.splice(1,0,t,"color: inherit");let e=0,o=0;r[0].replace(/%[a-zA-Z%]/g,n=>{n!=="%%"&&(e++,n==="%c"&&(o=e))}),r.splice(o,0,t)}Z.log=console.debug||console.log||(()=>{});function Ys(r){try{r?Z.storage.setItem("debug",r):Z.storage.removeItem("debug")}catch{}}function Qs(){let r;try{r=Z.storage.getItem("debug")}catch{}return!r&&typeof process<"u"&&"env"in process&&(r=process.env.DEBUG),r}function Js(){try{return localStorage}catch{}}Fe.exports=Hr()(Z);var{formatters:Zs}=Fe.exports;Zs.j=function(r){try{return JSON.stringify(r)}catch(t){return"[UnexpectedJSONParseError]: "+t.message}}});var ao=z((Hl,co)=>{"use strict";co.exports=(r,t)=>{t=t||process.argv;let e=r.startsWith("-")?"":r.length===1?"-":"--",o=t.indexOf(e+r),n=t.indexOf("--");return o!==-1&&(n===-1?!0:o<n)}});var uo=z((Wl,lo)=>{"use strict";var qs=ft("os"),ut=ao(),M=process.env,qt;ut("no-color")||ut("no-colors")||ut("color=false")?qt=!1:(ut("color")||ut("colors")||ut("color=true")||ut("color=always"))&&(qt=!0);"FORCE_COLOR"in M&&(qt=M.FORCE_COLOR.length===0||parseInt(M.FORCE_COLOR,10)!==0);function js(r){return r===0?!1:{level:r,hasBasic:!0,has256:r>=2,has16m:r>=3}}function tc(r){if(qt===!1)return 0;if(ut("color=16m")||ut("color=full")||ut("color=truecolor"))return 3;if(ut("color=256"))return 2;if(r&&!r.isTTY&&qt!==!0)return 0;let t=qt?1:0;if(process.platform==="win32"){let e=qs.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 M)return["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI"].some(e=>e in M)||M.CI_NAME==="codeship"?1:t;if("TEAMCITY_VERSION"in M)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(M.TEAMCITY_VERSION)?1:0;if(M.COLORTERM==="truecolor")return 3;if("TERM_PROGRAM"in M){let e=parseInt((M.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(M.TERM_PROGRAM){case"iTerm.app":return e>=3?3:2;case"Apple_Terminal":return 2}}return/-256(color)?$/i.test(M.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(M.TERM)||"COLORTERM"in M?1:(M.TERM==="dumb",t)}function Wr(r){let t=tc(r);return js(t)}lo.exports={supportsColor:Wr,stdout:Wr(process.stdout),stderr:Wr(process.stderr)}});var ho=z((_,Be)=>{var ec=ft("tty"),Me=ft("util");_.init=ac;_.log=ic;_.formatArgs=nc;_.save=sc;_.load=cc;_.useColors=rc;_.destroy=Me.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=uo();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,i)=>i.toUpperCase()),o=process.env[t];return/^(yes|on|true|enabled)$/i.test(o)?o=!0:/^(no|off|false|disabled)$/i.test(o)?o=!1:o==="null"?o=null:o=Number(o),r[e]=o,r},{});function rc(){return"colors"in _.inspectOpts?!!_.inspectOpts.colors:ec.isatty(process.stderr.fd)}function nc(r){let{namespace:t,useColors:e}=this;if(e){let o=this.color,n="\x1B[3"+(o<8?o:"8;5;"+o),i=` ${n};1m${t} \x1B[0m`;r[0]=i+r[0].split(`
3
3
  `).join(`
4
- `+i),r.push(n+"m+"+Ve.exports.humanize(this.diff)+"\x1B[0m")}else r[0]=js()+t+" "+r[0]}function js(){return _.inspectOpts.hideDate?"":new Date().toISOString()+" "}function tc(...r){return process.stderr.write(Ge.format(...r)+`
5
- `)}function ec(r){r?process.env.DEBUG=r:delete process.env.DEBUG}function rc(){return process.env.DEBUG}function nc(r){r.inspectOpts={};let t=Object.keys(_.inspectOpts);for(let e=0;e<t.length;e++)r.inspectOpts[t[e]]=_.inspectOpts[t[e]]}Ve.exports=Wr()(_);var{formatters:uo}=Ve.exports;uo.o=function(r){return this.inspectOpts.colors=this.useColors,Ge.inspect(r,this.inspectOpts).split(`
6
- `).map(t=>t.trim()).join(" ")};uo.O=function(r){return this.inspectOpts.colors=this.useColors,Ge.inspect(r,this.inspectOpts)}});var ho=z((Vl,Xr)=>{typeof process>"u"||process.type==="renderer"||process.browser===!0||process.__nwjs?Xr.exports=io():Xr.exports=fo()});var xo=z((wu,wo)=>{"use strict";function Eo(r,t){for(let e in t)Object.defineProperty(r,e,{value:t[e],enumerable:!0,configurable:!0});return r}function hc(r,t,e){if(!r||typeof r=="string")throw new TypeError("Please pass an Error to err-code");e||(e={}),typeof t=="object"&&(e=t,t=""),t&&(e.code=t);try{return Eo(r,e)}catch{e.message=r.message,e.stack=r.stack;let n=function(){};return n.prototype=Object.create(Object.getPrototypeOf(r)),Eo(new n,e)}}wo.exports=hc});var rr=z((vf,ti)=>{ti.exports=r=>{if(r[Symbol.asyncIterator])return r;if(r.getReader)return async function*(){let t=r.getReader();try{for(;;){let{done:e,value:o}=await t.read();if(e)return;yield o}}finally{t.releaseLock()}}();throw new Error("unknown stream")}});var ri=z((Sf,ei)=>{ei.exports=function(t){if(t){if(typeof t[Symbol.iterator]=="function")return t[Symbol.iterator]();if(typeof t[Symbol.asyncIterator]=="function")return t[Symbol.asyncIterator]();if(typeof t.next=="function")return t}throw new Error("argument is not an iterator or iterable")}});var En=z((Tf,ni)=>{var Xc=ri();ni.exports=r=>async t=>{t=Xc(t);let e=y=>{typeof y.return=="function"&&y.return()},o=null,n=null,i=y=>{o=y,n&&n(y),e(t)},s=null,c=!1,a=()=>{c=!0,s&&s()},h=null,l=!1,u=()=>{l=!0,h&&h()},f=null,b=()=>{f&&f()},m=()=>new Promise((y,I)=>{s=f=y,n=I,r.once("drain",b)}),E=()=>(e(t),new Promise((y,I)=>{if(c||l||o)return y();h=s=y,n=I})),g=()=>{r.removeListener("error",i),r.removeListener("close",a),r.removeListener("finish",u),r.removeListener("drain",b)};r.once("error",i),r.once("close",a),r.once("finish",u);try{for await(let y of t){if(!r.writable||r.destroyed||o)break;r.write(y)===!1&&await m()}}catch(y){o||r.destroy(),o=y}try{if(r.writable&&r.end(),await E(),o)throw o}finally{g()}}});var wn=z((Lf,oi)=>{var Yc=En(),Qc=rr();oi.exports=r=>({sink:Yc(r),source:Qc(r)})});var si=z((kf,ii)=>{var Jc=wn();ii.exports=r=>async function*(t){let e=Jc(r),o;if(e.sink(t).catch(n=>{o=n}),yield*e.source,o)throw o}});var ci=z((Nf,ae)=>{ae.exports=rr();ae.exports.source=rr();ae.exports.sink=En();ae.exports.transform=si();ae.exports.duplex=wn()});var ha={};Z(ha,{Server:()=>ur,createServer:()=>fa});var dr=new Float32Array([-0]),wt=new Uint8Array(dr.buffer);function kn(r,t,e){dr[0]=r,t[e]=wt[0],t[e+1]=wt[1],t[e+2]=wt[2],t[e+3]=wt[3]}function Nn(r,t){return wt[0]=r[t],wt[1]=r[t+1],wt[2]=r[t+2],wt[3]=r[t+3],dr[0]}var fr=new Float64Array([-0]),B=new Uint8Array(fr.buffer);function Pn(r,t,e){fr[0]=r,t[e]=B[0],t[e+1]=B[1],t[e+2]=B[2],t[e+3]=B[3],t[e+4]=B[4],t[e+5]=B[5],t[e+6]=B[6],t[e+7]=B[7]}function Dn(r,t){return B[0]=r[t],B[1]=r[t+1],B[2]=r[t+2],B[3]=r[t+3],B[4]=r[t+4],B[5]=r[t+5],B[6]=r[t+6],B[7]=r[t+7],fr[0]}var Ii=BigInt(Number.MAX_SAFE_INTEGER),Ci=BigInt(Number.MIN_SAFE_INTEGER),H=class r{lo;hi;constructor(t,e){this.lo=t|0,this.hi=e|0}toNumber(t=!1){if(!t&&this.hi>>>31>0){let e=~this.lo+1>>>0,o=~this.hi>>>0;return e===0&&(o=o+1>>>0),-(e+o*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,o=~this.hi>>>0;return e===0&&(o=o+1>>>0),-(BigInt(e)+(BigInt(o)<<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,o=this.hi>>>24;return o===0?e===0?t<16384?t<128?1:2:t<2097152?3:4:e<16384?e<128?5:6:e<2097152?7:8:o<128?9:10}static fromBigInt(t){if(t===0n)return kt;if(t<Ii&&t>Ci)return this.fromNumber(Number(t));let e=t<0n;e&&(t=-t);let o=t>>32n,n=t-(o<<32n);return e&&(o=~o|0n,n=~n|0n,++n>Rn&&(n=0n,++o>Rn&&(o=0n))),new r(Number(n),Number(o))}static fromNumber(t){if(t===0)return kt;let e=t<0;e&&(t=-t);let o=t>>>0,n=(t-o)/4294967296>>>0;return e&&(n=~n>>>0,o=~o>>>0,++o>4294967295&&(o=0,++n>4294967295&&(n=0))),new r(o,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):kt}},kt=new H(0,0);kt.toBigInt=function(){return 0n};kt.zzEncode=kt.zzDecode=function(){return this};kt.length=function(){return 1};var Rn=4294967296n;function On(r){let t=0,e=0;for(let o=0;o<r.length;++o)e=r.charCodeAt(o),e<128?t+=1:e<2048?t+=2:(e&64512)===55296&&(r.charCodeAt(o+1)&64512)===56320?(++o,t+=4):t+=3;return t}function Un(r,t,e){if(e-t<1)return"";let n,i=[],s=0,c;for(;t<e;)c=r[t++],c<128?i[s++]=c:c>191&&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&&((n??(n=[])).push(String.fromCharCode.apply(String,i)),s=0);return n!=null?(s>0&&n.push(String.fromCharCode.apply(String,i.slice(0,s))),n.join("")):String.fromCharCode.apply(String,i.slice(0,s))}function hr(r,t,e){let o=e,n,i;for(let s=0;s<r.length;++s)n=r.charCodeAt(s),n<128?t[e++]=n:n<2048?(t[e++]=n>>6|192,t[e++]=n&63|128):(n&64512)===55296&&((i=r.charCodeAt(s+1))&64512)===56320?(n=65536+((n&1023)<<10)+(i&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-o}function at(r,t){return RangeError(`index out of range: ${r.pos} + ${t??1} > ${r.len}`)}function Ce(r,t){return(r[t-4]|r[t-3]<<8|r[t-2]<<16|r[t-1]<<24)>>>0}var pr=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,at(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 at(this,4);return Ce(this.buf,this.pos+=4)}sfixed32(){if(this.pos+4>this.len)throw at(this,4);return Ce(this.buf,this.pos+=4)|0}float(){if(this.pos+4>this.len)throw at(this,4);let t=Nn(this.buf,this.pos);return this.pos+=4,t}double(){if(this.pos+8>this.len)throw at(this,4);let t=Dn(this.buf,this.pos);return this.pos+=8,t}bytes(){let t=this.uint32(),e=this.pos,o=this.pos+t;if(o>this.len)throw at(this,t);return this.pos+=t,e===o?new Uint8Array(0):this.buf.subarray(e,o)}string(){let t=this.bytes();return Un(t,0,t.length)}skip(t){if(typeof t=="number"){if(this.pos+t>this.len)throw at(this,t);this.pos+=t}else do if(this.pos>=this.len)throw at(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 H(0,0),e=0;if(this.len-this.pos>4){for(;e<4;++e)if(t.lo=(t.lo|(this.buf[this.pos]&127)<<e*7)>>>0,this.buf[this.pos++]<128)return t;if(t.lo=(t.lo|(this.buf[this.pos]&127)<<28)>>>0,t.hi=(t.hi|(this.buf[this.pos]&127)>>4)>>>0,this.buf[this.pos++]<128)return t;e=0}else{for(;e<3;++e){if(this.pos>=this.len)throw at(this);if(t.lo=(t.lo|(this.buf[this.pos]&127)<<e*7)>>>0,this.buf[this.pos++]<128)return t}return t.lo=(t.lo|(this.buf[this.pos++]&127)<<e*7)>>>0,t}if(this.len-this.pos>4){for(;e<5;++e)if(t.hi=(t.hi|(this.buf[this.pos]&127)<<e*7+3)>>>0,this.buf[this.pos++]<128)return t}else for(;e<5;++e){if(this.pos>=this.len)throw at(this);if(t.hi=(t.hi|(this.buf[this.pos]&127)<<e*7+3)>>>0,this.buf[this.pos++]<128)return t}throw Error("invalid varint encoding")}readFixed64(){if(this.pos+8>this.len)throw at(this,8);let t=Ce(this.buf,this.pos+=4),e=Ce(this.buf,this.pos+=4);return new H(t,e)}int64(){return this.readLongVarint().toBigInt()}int64Number(){return this.readLongVarint().toNumber()}int64String(){return this.readLongVarint().toString()}uint64(){return this.readLongVarint().toBigInt(!0)}uint64Number(){return this.readLongVarint().toNumber(!0)}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 mr(r){return new pr(r instanceof Uint8Array?r:r.subarray())}function S(r,t){let e=mr(r);return t.decode(e)}function Nt(r){return globalThis.Buffer!=null?new Uint8Array(r.buffer,r.byteOffset,r.byteLength):r}function pt(r=0){return globalThis.Buffer?.alloc!=null?Nt(globalThis.Buffer.alloc(r)):new Uint8Array(r)}function M(r=0){return globalThis.Buffer?.allocUnsafe!=null?Nt(globalThis.Buffer.allocUnsafe(r)):new Uint8Array(r)}var wr={};Z(wr,{base10:()=>ki});function Ai(r,t){if(r.length>=255)throw new TypeError("Alphabet too long");for(var e=new Uint8Array(256),o=0;o<e.length;o++)e[o]=255;for(var n=0;n<r.length;n++){var i=r.charAt(n),s=i.charCodeAt(0);if(e[s]!==255)throw new TypeError(i+" is ambiguous");e[s]=n}var c=r.length,a=r.charAt(0),h=Math.log(c)/Math.log(256),l=Math.log(256)/Math.log(c);function u(m){if(m instanceof Uint8Array||(ArrayBuffer.isView(m)?m=new Uint8Array(m.buffer,m.byteOffset,m.byteLength):Array.isArray(m)&&(m=Uint8Array.from(m))),!(m instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(m.length===0)return"";for(var E=0,g=0,y=0,I=m.length;y!==I&&m[y]===0;)y++,E++;for(var k=(I-y)*l+1>>>0,D=new Uint8Array(k);y!==I;){for(var Q=m[y],tt=0,J=k-1;(Q!==0||tt<g)&&J!==-1;J--,tt++)Q+=256*D[J]>>>0,D[J]=Q%c>>>0,Q=Q/c>>>0;if(Q!==0)throw new Error("Non-zero carry");g=tt,y++}for(var et=k-g;et!==k&&D[et]===0;)et++;for(var Ht=a.repeat(E);et<k;++et)Ht+=r.charAt(D[et]);return Ht}function f(m){if(typeof m!="string")throw new TypeError("Expected String");if(m.length===0)return new Uint8Array;var E=0;if(m[E]!==" "){for(var g=0,y=0;m[E]===a;)g++,E++;for(var I=(m.length-E)*h+1>>>0,k=new Uint8Array(I);m[E];){var D=e[m.charCodeAt(E)];if(D===255)return;for(var Q=0,tt=I-1;(D!==0||Q<y)&&tt!==-1;tt--,Q++)D+=c*k[tt]>>>0,k[tt]=D%256>>>0,D=D/256>>>0;if(D!==0)throw new Error("Non-zero carry");y=Q,E++}if(m[E]!==" "){for(var J=I-y;J!==I&&k[J]===0;)J++;for(var et=new Uint8Array(g+(I-J)),Ht=g;J!==I;)et[Ht++]=k[J++];return et}}}function b(m){var E=f(m);if(E)return E;throw new Error(`Non-${t} character`)}return{encode:u,decodeUnsafe:f,decode:b}}var vi=Ai,Si=vi,Fn=Si;var Sa=new Uint8Array(0);var Bn=(r,t)=>{if(r===t)return!0;if(r.byteLength!==t.byteLength)return!1;for(let e=0;e<r.byteLength;e++)if(r[e]!==t[e])return!1;return!0},rt=r=>{if(r instanceof Uint8Array&&r.constructor.name==="Uint8Array")return r;if(r instanceof ArrayBuffer)return new Uint8Array(r);if(ArrayBuffer.isView(r))return new Uint8Array(r.buffer,r.byteOffset,r.byteLength);throw new Error("Unknown type, must be binary type")};var Mn=r=>new TextEncoder().encode(r),Gn=r=>new TextDecoder().decode(r);var gr=class{constructor(t,e,o){this.name=t,this.prefix=e,this.baseEncode=o}encode(t){if(t instanceof Uint8Array)return`${this.prefix}${this.baseEncode(t)}`;throw Error("Unknown type, must be binary type")}},yr=class{constructor(t,e,o){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=o}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)}},br=class{constructor(t){this.decoders=t}or(t){return $n(this,t)}decode(t){let e=t[0],o=this.decoders[e];if(o)return o.decode(t);throw RangeError(`Unable to decode multibase string ${JSON.stringify(t)}, only inputs prefixed with ${Object.keys(this.decoders)} are supported`)}},$n=(r,t)=>new br({...r.decoders||{[r.prefix]:r},...t.decoders||{[t.prefix]:t}}),Er=class{constructor(t,e,o,n){this.name=t,this.prefix=e,this.baseEncode=o,this.baseDecode=n,this.encoder=new gr(t,e,o),this.decoder=new yr(t,e,n)}encode(t){return this.encoder.encode(t)}decode(t){return this.decoder.decode(t)}},Wt=({name:r,prefix:t,encode:e,decode:o})=>new Er(r,t,e,o),xt=({prefix:r,name:t,alphabet:e})=>{let{encode:o,decode:n}=Fn(e,t);return Wt({prefix:r,name:t,encode:o,decode:i=>rt(n(i))})},Ti=(r,t,e,o)=>{let n={};for(let l=0;l<t.length;++l)n[t[l]]=l;let i=r.length;for(;r[i-1]==="=";)--i;let s=new Uint8Array(i*e/8|0),c=0,a=0,h=0;for(let l=0;l<i;++l){let u=n[r[l]];if(u===void 0)throw new SyntaxError(`Non-${o} character`);a=a<<e|u,c+=e,c>=8&&(c-=8,s[h++]=255&a>>c)}if(c>=e||255&a<<8-c)throw new SyntaxError("Unexpected end of data");return s},Li=(r,t,e)=>{let o=t[t.length-1]==="=",n=(1<<e)-1,i="",s=0,c=0;for(let a=0;a<r.length;++a)for(c=c<<8|r[a],s+=8;s>e;)s-=e,i+=t[n&c>>s];if(s&&(i+=t[n&c<<e-s]),o)for(;i.length*e&7;)i+="=";return i},A=({name:r,prefix:t,bitsPerChar:e,alphabet:o})=>Wt({prefix:t,name:r,encode(n){return Li(n,o,e)},decode(n){return Ti(n,o,e,r)}});var ki=xt({prefix:"9",name:"base10",alphabet:"0123456789"});var xr={};Z(xr,{base16:()=>Ni,base16upper:()=>Pi});var Ni=A({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),Pi=A({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var Ir={};Z(Ir,{base2:()=>Di});var Di=A({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var Cr={};Z(Cr,{base256emoji:()=>Fi});var zn=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}"),Ri=zn.reduce((r,t,e)=>(r[e]=t,r),[]),Oi=zn.reduce((r,t,e)=>(r[t.codePointAt(0)]=e,r),[]);function Ui(r){return r.reduce((t,e)=>(t+=Ri[e],t),"")}function _i(r){let t=[];for(let e of r){let o=Oi[e.codePointAt(0)];if(o===void 0)throw new Error(`Non-base256emoji character: ${e}`);t.push(o)}return new Uint8Array(t)}var Fi=Wt({prefix:"\u{1F680}",name:"base256emoji",encode:Ui,decode:_i});var Ar={};Z(Ar,{base32:()=>lt,base32hex:()=>Vi,base32hexpad:()=>zi,base32hexpadupper:()=>Hi,base32hexupper:()=>$i,base32pad:()=>Mi,base32padupper:()=>Gi,base32upper:()=>Bi,base32z:()=>Wi});var lt=A({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),Bi=A({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),Mi=A({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),Gi=A({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),Vi=A({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),$i=A({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),zi=A({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),Hi=A({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),Wi=A({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var vr={};Z(vr,{base36:()=>Ki,base36upper:()=>Xi});var Ki=xt({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),Xi=xt({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var Sr={};Z(Sr,{base58btc:()=>N,base58flickr:()=>Yi});var N=xt({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),Yi=xt({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var Lr={};Z(Lr,{base64:()=>Tr,base64pad:()=>Qi,base64url:()=>Ji,base64urlpad:()=>Zi});var Tr=A({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),Qi=A({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),Ji=A({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),Zi=A({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});var kr={};Z(kr,{base8:()=>qi});var qi=A({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var Nr={};Z(Nr,{identity:()=>ji});var ji=Wt({prefix:"\0",name:"identity",encode:r=>Gn(r),decode:r=>Mn(r)});var Va=new TextEncoder,$a=new TextDecoder;var Dr={};Z(Dr,{identity:()=>ve});var rs=Kn,Hn=128,ns=127,os=~ns,is=Math.pow(2,31);function Kn(r,t,e){t=t||[],e=e||0;for(var o=e;r>=is;)t[e++]=r&255|Hn,r/=128;for(;r&os;)t[e++]=r&255|Hn,r>>>=7;return t[e]=r|0,Kn.bytes=e-o+1,t}var ss=Pr,cs=128,Wn=127;function Pr(r,o){var e=0,o=o||0,n=0,i=o,s,c=r.length;do{if(i>=c)throw Pr.bytes=0,new RangeError("Could not decode varint");s=r[i++],e+=n<28?(s&Wn)<<n:(s&Wn)*Math.pow(2,n),n+=7}while(s>=cs);return Pr.bytes=i-o,e}var as=Math.pow(2,7),ls=Math.pow(2,14),us=Math.pow(2,21),ds=Math.pow(2,28),fs=Math.pow(2,35),hs=Math.pow(2,42),ps=Math.pow(2,49),ms=Math.pow(2,56),gs=Math.pow(2,63),ys=function(r){return r<as?1:r<ls?2:r<us?3:r<ds?4:r<fs?5:r<hs?6:r<ps?7:r<ms?8:r<gs?9:10},bs={encode:rs,decode:ss,encodingLength:ys},Es=bs,ue=Es;var de=(r,t=0)=>[ue.decode(r,t),ue.decode.bytes],Kt=(r,t,e=0)=>(ue.encode(r,t,e),t),Xt=r=>ue.encodingLength(r);var It=(r,t)=>{let e=t.byteLength,o=Xt(r),n=o+Xt(e),i=new Uint8Array(n+e);return Kt(r,i,0),Kt(e,i,o),i.set(t,n),new Yt(r,e,t,i)},Pt=r=>{let t=rt(r),[e,o]=de(t),[n,i]=de(t.subarray(o)),s=t.subarray(o+i);if(s.byteLength!==n)throw new Error("Incorrect length");return new Yt(e,n,s,t)},Xn=(r,t)=>{if(r===t)return!0;{let e=t;return r.code===e.code&&r.size===e.size&&e.bytes instanceof Uint8Array&&Bn(r.bytes,e.bytes)}},Yt=class{constructor(t,e,o,n){this.code=t,this.size=e,this.digest=o,this.bytes=n}};var Yn=0,ws="identity",Qn=rt,xs=r=>It(Yn,Qn(r)),ve={code:Yn,name:ws,encode:Qn,digest:xs};var _r={};Z(_r,{sha256:()=>Se,sha512:()=>Is});var Ur=Et(ht("crypto"),1);var Or=({name:r,code:t,encode:e})=>new Rr(r,t,e),Rr=class{constructor(t,e,o){this.name=t,this.code=e,this.encode=o}digest(t){if(t instanceof Uint8Array){let e=this.encode(t);return e instanceof Uint8Array?It(this.code,e):e.then(o=>It(this.code,o))}else throw Error("Unknown type, must be binary type")}};var Se=Or({name:"sha2-256",code:18,encode:r=>rt(Ur.default.createHash("sha256").update(r).digest())}),Is=Or({name:"sha2-512",code:19,encode:r=>rt(Ur.default.createHash("sha512").update(r).digest())});var Zn=(r,t)=>{let{bytes:e,version:o}=r;switch(o){case 0:return As(e,Fr(r),t||N.encoder);default:return vs(e,Fr(r),t||lt.encoder)}};var qn=new WeakMap,Fr=r=>{let t=qn.get(r);if(t==null){let e=new Map;return qn.set(r,e),e}return t},W=class r{constructor(t,e,o,n){this.code=e,this.version=t,this.multihash=o,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!==fe)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(e.code!==Ss)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,o=It(t,e);return r.createV1(this.code,o)}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 o=e;return o&&t.code===o.code&&t.version===o.version&&Xn(t.multihash,o.multihash)}toString(t){return Zn(this,t)}toJSON(){return{"/":Zn(this)}}link(){return this}get[Symbol.toStringTag](){return"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:o,code:n,multihash:i,bytes:s}=e;return new r(o,n,i,s||jn(o,n,i.bytes))}else if(e[Ts]===!0){let{version:o,multihash:n,code:i}=e,s=Pt(n);return r.create(o,i,s)}else return null}static create(t,e,o){if(typeof e!="number")throw new Error("String codecs are no longer supported");if(!(o.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,o,o.bytes)}case 1:{let n=jn(t,e,o.bytes);return new r(t,e,o,n)}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,o]=r.decodeFirst(t);if(o.length)throw new Error("Incorrect length");return e}static decodeFirst(t){let e=r.inspectBytes(t),o=e.size-e.multihashSize,n=rt(t.subarray(o,o+e.multihashSize));if(n.byteLength!==e.multihashSize)throw new Error("Incorrect length");let i=n.subarray(e.multihashSize-e.digestSize),s=new Yt(e.multihashCode,e.digestSize,i,n);return[e.version===0?r.createV0(s):r.createV1(e.codec,s),t.subarray(e.size)]}static inspectBytes(t){let e=0,o=()=>{let[u,f]=de(t.subarray(e));return e+=f,u},n=o(),i=fe;if(n===18?(n=0,e=0):i=o(),n!==0&&n!==1)throw new RangeError(`Invalid CID version ${n}`);let s=e,c=o(),a=o(),h=e+a,l=h-s;return{version:n,codec:i,multihashCode:c,digestSize:a,multihashSize:l,size:h}}static parse(t,e){let[o,n]=Cs(t,e),i=r.decode(n);if(i.version===0&&t[0]!=="Q")throw Error("Version 0 CID string must not include multibase prefix");return Fr(i).set(o,t),i}},Cs=(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 lt.prefix:{let e=t||lt;return[lt.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)]}}},As=(r,t,e)=>{let{prefix:o}=e;if(o!==N.prefix)throw Error(`Cannot string encode V0 in ${e.name} encoding`);let n=t.get(o);if(n==null){let i=e.encode(r).slice(1);return t.set(o,i),i}else return n},vs=(r,t,e)=>{let{prefix:o}=e,n=t.get(o);if(n==null){let i=e.encode(r);return t.set(o,i),i}else return n},fe=112,Ss=18,jn=(r,t,e)=>{let o=Xt(r),n=o+Xt(t),i=new Uint8Array(n+e.byteLength);return Kt(r,i,0),Kt(t,i,o),i.set(e,n),i},Ts=Symbol.for("@ipld/js-cid/CID");var Ct={...Nr,...Ir,...kr,...wr,...xr,...Ar,...vr,...Sr,...Lr,...Cr},il={..._r,...Dr};function eo(r,t,e,o){return{name:r,prefix:t,encoder:{name:r,prefix:t,encode:e},decoder:{decode:o}}}var to=eo("utf8","u",r=>"u"+new TextDecoder("utf8").decode(r),r=>new TextEncoder().encode(r.substring(1))),Br=eo("ascii","a",r=>{let t="a";for(let e=0;e<r.length;e++)t+=String.fromCharCode(r[e]);return t},r=>{r=r.substring(1);let t=M(r.length);for(let e=0;e<r.length;e++)t[e]=r.charCodeAt(e);return t}),Ls={utf8:to,"utf-8":to,hex:Ct.base16,latin1:Br,ascii:Br,binary:Br,...Ct},Te=Ls;function Rt(r,t="utf8"){let e=Te[t];if(e==null)throw new Error(`Unsupported encoding "${t}"`);return(t==="utf8"||t==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?Nt(globalThis.Buffer.from(r,"utf-8")):e.decoder.decode(`${e.prefix}${r}`)}function Mr(r){let t=r??8192,e=t>>>1,o,n=t;return function(s){if(s<1||s>e)return M(s);n+s>t&&(o=M(t),n=0);let c=o.subarray(n,n+=s);return n&7&&(n=(n|7)+1),c}}var Ot=class{fn;len;next;val;constructor(t,e,o){this.fn=t,this.len=e,this.next=void 0,this.val=o}};function Gr(){}var $r=class{head;tail;len;next;constructor(t){this.head=t.head,this.tail=t.tail,this.len=t.len,this.next=t.states}},ks=Mr();function Ns(r){return globalThis.Buffer!=null?M(r):ks(r)}var me=class{len;head;tail;states;constructor(){this.len=0,this.head=new Ot(Gr,0,0),this.tail=this.head,this.states=null}_push(t,e,o){return this.tail=this.tail.next=new Ot(t,e,o),this.len+=e,this}uint32(t){return this.len+=(this.tail=this.tail.next=new zr((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(he,10,H.fromNumber(t)):this.uint32(t)}sint32(t){return this.uint32((t<<1^t>>31)>>>0)}uint64(t){let e=H.fromBigInt(t);return this._push(he,e.length(),e)}uint64Number(t){let e=H.fromNumber(t);return this._push(he,e.length(),e)}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=H.fromBigInt(t).zzEncode();return this._push(he,e.length(),e)}sint64Number(t){let e=H.fromNumber(t).zzEncode();return this._push(he,e.length(),e)}sint64String(t){return this.sint64(BigInt(t))}bool(t){return this._push(Vr,1,t?1:0)}fixed32(t){return this._push(pe,4,t>>>0)}sfixed32(t){return this.fixed32(t)}fixed64(t){let e=H.fromBigInt(t);return this._push(pe,4,e.lo)._push(pe,4,e.hi)}fixed64Number(t){let e=H.fromNumber(t);return this._push(pe,4,e.lo)._push(pe,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(kn,4,t)}double(t){return this._push(Pn,8,t)}bytes(t){let e=t.length>>>0;return e===0?this._push(Vr,1,0):this.uint32(e)._push(Ds,e,t)}string(t){let e=On(t);return e!==0?this.uint32(e)._push(hr,e,t):this._push(Vr,1,0)}fork(){return this.states=new $r(this),this.head=this.tail=new Ot(Gr,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 Ot(Gr,0,0),this.len=0),this}ldelim(){let t=this.head,e=this.tail,o=this.len;return this.reset().uint32(o),o!==0&&(this.tail.next=t.next,this.tail=e,this.len+=o),this}finish(){let t=this.head.next,e=Ns(this.len),o=0;for(;t!=null;)t.fn(t.val,e,o),o+=t.len,t=t.next;return e}};function Vr(r,t,e){t[e]=r&255}function Ps(r,t,e){for(;r>127;)t[e++]=r&127|128,r>>>=7;t[e]=r}var zr=class extends Ot{next;constructor(t,e){super(Ps,t,e),this.next=void 0}};function he(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 pe(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 Ds(r,t,e){t.set(r,e)}globalThis.Buffer!=null&&(me.prototype.bytes=function(r){let t=r.length>>>0;return this.uint32(t),t>0&&this._push(Rs,t,r),this},me.prototype.string=function(r){let t=globalThis.Buffer.byteLength(r);return this.uint32(t),t>0&&this._push(Os,t,r),this});function Rs(r,t,e){t.set(r,e)}function Os(r,t,e){r.length<40?hr(r,t,e):t.utf8Write!=null?t.utf8Write(r,e):t.set(Rt(r),e)}function Hr(){return new me}function T(r,t){let e=Hr();return t.encode(r,e,{lengthDelimited:!1}),e.finish()}var Qt;(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"})(Qt||(Qt={}));function Le(r,t,e,o){return{name:r,type:t,encode:e,decode:o}}function mt(r){function t(n){if(r[n.toString()]==null)throw new Error("Invalid enum value");return r[n]}let e=function(i,s){let c=t(i);s.int32(c)},o=function(i){let s=i.int32();return t(s)};return Le("enum",Qt.VARINT,e,o)}function L(r,t){return Le("message",Qt.LENGTH_DELIMITED,r,t)}var nt;(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=()=>mt(e)}(t=r.Type||(r.Type={}));let o;r.codec=()=>(o==null&&(o=L((n,i,s={})=>{s.lengthDelimited!==!1&&i.fork(),n.type!=null&&(i.uint32(8),r.Type.codec().encode(n.type,i)),n.connect!=null&&(i.uint32(18),Ne.codec().encode(n.connect,i)),n.streamOpen!=null&&(i.uint32(26),Pe.codec().encode(n.streamOpen,i)),n.streamHandler!=null&&(i.uint32(34),De.codec().encode(n.streamHandler,i)),n.dht!=null&&(i.uint32(42),ot.codec().encode(n.dht,i)),n.connManager!=null&&(i.uint32(50),Oe.codec().encode(n.connManager,i)),n.disconnect!=null&&(i.uint32(58),Ue.codec().encode(n.disconnect,i)),n.pubsub!=null&&(i.uint32(66),gt.codec().encode(n.pubsub,i)),n.peerStore!=null&&(i.uint32(74),_t.codec().encode(n.peerStore,i)),s.lengthDelimited!==!1&&i.ldelim()},(n,i)=>{let s={},c=i==null?n.len:n.pos+i;for(;n.pos<c;){let a=n.uint32();switch(a>>>3){case 1:s.type=r.Type.codec().decode(n);break;case 2:s.connect=Ne.codec().decode(n,n.uint32());break;case 3:s.streamOpen=Pe.codec().decode(n,n.uint32());break;case 4:s.streamHandler=De.codec().decode(n,n.uint32());break;case 5:s.dht=ot.codec().decode(n,n.uint32());break;case 6:s.connManager=Oe.codec().decode(n,n.uint32());break;case 7:s.disconnect=Ue.codec().decode(n,n.uint32());break;case 8:s.pubsub=gt.codec().decode(n,n.uint32());break;case 9:s.peerStore=_t.codec().decode(n,n.uint32());break;default:n.skipType(a&7);break}}return s})),o),r.encode=n=>T(n,r.codec()),r.decode=n=>S(n,r.codec())})(nt||(nt={}));var Ut;(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=()=>mt(e)}(t=r.Type||(r.Type={}));let o;r.codec=()=>(o==null&&(o=L((n,i,s={})=>{if(s.lengthDelimited!==!1&&i.fork(),n.type!=null&&(i.uint32(8),r.Type.codec().encode(n.type,i)),n.error!=null&&(i.uint32(18),Re.codec().encode(n.error,i)),n.streamInfo!=null&&(i.uint32(26),Jt.codec().encode(n.streamInfo,i)),n.identify!=null&&(i.uint32(34),ke.codec().encode(n.identify,i)),n.dht!=null&&(i.uint32(42),U.codec().encode(n.dht,i)),n.peers!=null)for(let c of n.peers)i.uint32(50),At.codec().encode(c,i);n.pubsub!=null&&(i.uint32(58),_e.codec().encode(n.pubsub,i)),n.peerStore!=null&&(i.uint32(66),Fe.codec().encode(n.peerStore,i)),s.lengthDelimited!==!1&&i.ldelim()},(n,i)=>{let s={peers:[]},c=i==null?n.len:n.pos+i;for(;n.pos<c;){let a=n.uint32();switch(a>>>3){case 1:s.type=r.Type.codec().decode(n);break;case 2:s.error=Re.codec().decode(n,n.uint32());break;case 3:s.streamInfo=Jt.codec().decode(n,n.uint32());break;case 4:s.identify=ke.codec().decode(n,n.uint32());break;case 5:s.dht=U.codec().decode(n,n.uint32());break;case 6:s.peers.push(At.codec().decode(n,n.uint32()));break;case 7:s.pubsub=_e.codec().decode(n,n.uint32());break;case 8:s.peerStore=Fe.codec().decode(n,n.uint32());break;default:n.skipType(a&7);break}}return s})),o),r.encode=n=>T(n,r.codec()),r.decode=n=>S(n,r.codec())})(Ut||(Ut={}));var ke;(function(r){let t;r.codec=()=>(t==null&&(t=L((e,o,n={})=>{if(n.lengthDelimited!==!1&&o.fork(),e.id!=null&&e.id.byteLength>0&&(o.uint32(10),o.bytes(e.id)),e.addrs!=null)for(let i of e.addrs)o.uint32(18),o.bytes(i);n.lengthDelimited!==!1&&o.ldelim()},(e,o)=>{let n={id:new Uint8Array(0),addrs:[]},i=o==null?e.len:e.pos+o;for(;e.pos<i;){let s=e.uint32();switch(s>>>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=>T(e,r.codec()),r.decode=e=>S(e,r.codec())})(ke||(ke={}));var Ne;(function(r){let t;r.codec=()=>(t==null&&(t=L((e,o,n={})=>{if(n.lengthDelimited!==!1&&o.fork(),e.peer!=null&&e.peer.byteLength>0&&(o.uint32(10),o.bytes(e.peer)),e.addrs!=null)for(let i of e.addrs)o.uint32(18),o.bytes(i);e.timeout!=null&&(o.uint32(24),o.int64(e.timeout)),n.lengthDelimited!==!1&&o.ldelim()},(e,o)=>{let n={peer:new Uint8Array(0),addrs:[]},i=o==null?e.len:e.pos+o;for(;e.pos<i;){let s=e.uint32();switch(s>>>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=>T(e,r.codec()),r.decode=e=>S(e,r.codec())})(Ne||(Ne={}));var Pe;(function(r){let t;r.codec=()=>(t==null&&(t=L((e,o,n={})=>{if(n.lengthDelimited!==!1&&o.fork(),e.peer!=null&&e.peer.byteLength>0&&(o.uint32(10),o.bytes(e.peer)),e.proto!=null)for(let i of e.proto)o.uint32(18),o.string(i);e.timeout!=null&&(o.uint32(24),o.int64(e.timeout)),n.lengthDelimited!==!1&&o.ldelim()},(e,o)=>{let n={peer:new Uint8Array(0),proto:[]},i=o==null?e.len:e.pos+o;for(;e.pos<i;){let s=e.uint32();switch(s>>>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=>T(e,r.codec()),r.decode=e=>S(e,r.codec())})(Pe||(Pe={}));var De;(function(r){let t;r.codec=()=>(t==null&&(t=L((e,o,n={})=>{if(n.lengthDelimited!==!1&&o.fork(),e.addr!=null&&e.addr.byteLength>0&&(o.uint32(10),o.bytes(e.addr)),e.proto!=null)for(let i of e.proto)o.uint32(18),o.string(i);n.lengthDelimited!==!1&&o.ldelim()},(e,o)=>{let n={addr:new Uint8Array(0),proto:[]},i=o==null?e.len:e.pos+o;for(;e.pos<i;){let s=e.uint32();switch(s>>>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=>T(e,r.codec()),r.decode=e=>S(e,r.codec())})(De||(De={}));var Re;(function(r){let t;r.codec=()=>(t==null&&(t=L((e,o,n={})=>{n.lengthDelimited!==!1&&o.fork(),e.msg!=null&&e.msg!==""&&(o.uint32(10),o.string(e.msg)),n.lengthDelimited!==!1&&o.ldelim()},(e,o)=>{let n={msg:""},i=o==null?e.len:e.pos+o;for(;e.pos<i;){let s=e.uint32();switch(s>>>3){case 1:n.msg=e.string();break;default:e.skipType(s&7);break}}return n})),t),r.encode=e=>T(e,r.codec()),r.decode=e=>S(e,r.codec())})(Re||(Re={}));var Jt;(function(r){let t;r.codec=()=>(t==null&&(t=L((e,o,n={})=>{n.lengthDelimited!==!1&&o.fork(),e.peer!=null&&e.peer.byteLength>0&&(o.uint32(10),o.bytes(e.peer)),e.addr!=null&&e.addr.byteLength>0&&(o.uint32(18),o.bytes(e.addr)),e.proto!=null&&e.proto!==""&&(o.uint32(26),o.string(e.proto)),n.lengthDelimited!==!1&&o.ldelim()},(e,o)=>{let n={peer:new Uint8Array(0),addr:new Uint8Array(0),proto:""},i=o==null?e.len:e.pos+o;for(;e.pos<i;){let s=e.uint32();switch(s>>>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=>T(e,r.codec()),r.decode=e=>S(e,r.codec())})(Jt||(Jt={}));var ot;(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=()=>mt(e)}(t=r.Type||(r.Type={}));let o;r.codec=()=>(o==null&&(o=L((n,i,s={})=>{s.lengthDelimited!==!1&&i.fork(),n.type!=null&&(i.uint32(8),r.Type.codec().encode(n.type,i)),n.peer!=null&&(i.uint32(18),i.bytes(n.peer)),n.cid!=null&&(i.uint32(26),i.bytes(n.cid)),n.key!=null&&(i.uint32(34),i.bytes(n.key)),n.value!=null&&(i.uint32(42),i.bytes(n.value)),n.count!=null&&(i.uint32(48),i.int32(n.count)),n.timeout!=null&&(i.uint32(56),i.int64(n.timeout)),s.lengthDelimited!==!1&&i.ldelim()},(n,i)=>{let s={},c=i==null?n.len:n.pos+i;for(;n.pos<c;){let a=n.uint32();switch(a>>>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})),o),r.encode=n=>T(n,r.codec()),r.decode=n=>S(n,r.codec())})(ot||(ot={}));var U;(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=()=>mt(e)}(t=r.Type||(r.Type={}));let o;r.codec=()=>(o==null&&(o=L((n,i,s={})=>{s.lengthDelimited!==!1&&i.fork(),n.type!=null&&(i.uint32(8),r.Type.codec().encode(n.type,i)),n.peer!=null&&(i.uint32(18),At.codec().encode(n.peer,i)),n.value!=null&&(i.uint32(26),i.bytes(n.value)),s.lengthDelimited!==!1&&i.ldelim()},(n,i)=>{let s={},c=i==null?n.len:n.pos+i;for(;n.pos<c;){let a=n.uint32();switch(a>>>3){case 1:s.type=r.Type.codec().decode(n);break;case 2:s.peer=At.codec().decode(n,n.uint32());break;case 3:s.value=n.bytes();break;default:n.skipType(a&7);break}}return s})),o),r.encode=n=>T(n,r.codec()),r.decode=n=>S(n,r.codec())})(U||(U={}));var At;(function(r){let t;r.codec=()=>(t==null&&(t=L((e,o,n={})=>{if(n.lengthDelimited!==!1&&o.fork(),e.id!=null&&e.id.byteLength>0&&(o.uint32(10),o.bytes(e.id)),e.addrs!=null)for(let i of e.addrs)o.uint32(18),o.bytes(i);n.lengthDelimited!==!1&&o.ldelim()},(e,o)=>{let n={id:new Uint8Array(0),addrs:[]},i=o==null?e.len:e.pos+o;for(;e.pos<i;){let s=e.uint32();switch(s>>>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=>T(e,r.codec()),r.decode=e=>S(e,r.codec())})(At||(At={}));var Oe;(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=()=>mt(e)}(t=r.Type||(r.Type={}));let o;r.codec=()=>(o==null&&(o=L((n,i,s={})=>{s.lengthDelimited!==!1&&i.fork(),n.type!=null&&(i.uint32(8),r.Type.codec().encode(n.type,i)),n.peer!=null&&(i.uint32(18),i.bytes(n.peer)),n.tag!=null&&(i.uint32(26),i.string(n.tag)),n.weight!=null&&(i.uint32(32),i.int64(n.weight)),s.lengthDelimited!==!1&&i.ldelim()},(n,i)=>{let s={},c=i==null?n.len:n.pos+i;for(;n.pos<c;){let a=n.uint32();switch(a>>>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})),o),r.encode=n=>T(n,r.codec()),r.decode=n=>S(n,r.codec())})(Oe||(Oe={}));var Ue;(function(r){let t;r.codec=()=>(t==null&&(t=L((e,o,n={})=>{n.lengthDelimited!==!1&&o.fork(),e.peer!=null&&e.peer.byteLength>0&&(o.uint32(10),o.bytes(e.peer)),n.lengthDelimited!==!1&&o.ldelim()},(e,o)=>{let n={peer:new Uint8Array(0)},i=o==null?e.len:e.pos+o;for(;e.pos<i;){let s=e.uint32();switch(s>>>3){case 1:n.peer=e.bytes();break;default:e.skipType(s&7);break}}return n})),t),r.encode=e=>T(e,r.codec()),r.decode=e=>S(e,r.codec())})(Ue||(Ue={}));var gt;(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=()=>mt(e)}(t=r.Type||(r.Type={}));let o;r.codec=()=>(o==null&&(o=L((n,i,s={})=>{s.lengthDelimited!==!1&&i.fork(),n.type!=null&&(i.uint32(8),r.Type.codec().encode(n.type,i)),n.topic!=null&&(i.uint32(18),i.string(n.topic)),n.data!=null&&(i.uint32(26),i.bytes(n.data)),s.lengthDelimited!==!1&&i.ldelim()},(n,i)=>{let s={},c=i==null?n.len:n.pos+i;for(;n.pos<c;){let a=n.uint32();switch(a>>>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})),o),r.encode=n=>T(n,r.codec()),r.decode=n=>S(n,r.codec())})(gt||(gt={}));var ge;(function(r){let t;r.codec=()=>(t==null&&(t=L((e,o,n={})=>{if(n.lengthDelimited!==!1&&o.fork(),e.from!=null&&(o.uint32(10),o.bytes(e.from)),e.data!=null&&(o.uint32(18),o.bytes(e.data)),e.seqno!=null&&(o.uint32(26),o.bytes(e.seqno)),e.topicIDs!=null)for(let i of e.topicIDs)o.uint32(34),o.string(i);e.signature!=null&&(o.uint32(42),o.bytes(e.signature)),e.key!=null&&(o.uint32(50),o.bytes(e.key)),n.lengthDelimited!==!1&&o.ldelim()},(e,o)=>{let n={topicIDs:[]},i=o==null?e.len:e.pos+o;for(;e.pos<i;){let s=e.uint32();switch(s>>>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=>T(e,r.codec()),r.decode=e=>S(e,r.codec())})(ge||(ge={}));var _e;(function(r){let t;r.codec=()=>(t==null&&(t=L((e,o,n={})=>{if(n.lengthDelimited!==!1&&o.fork(),e.topics!=null)for(let i of e.topics)o.uint32(10),o.string(i);if(e.peerIDs!=null)for(let i of e.peerIDs)o.uint32(18),o.bytes(i);n.lengthDelimited!==!1&&o.ldelim()},(e,o)=>{let n={topics:[],peerIDs:[]},i=o==null?e.len:e.pos+o;for(;e.pos<i;){let s=e.uint32();switch(s>>>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=>T(e,r.codec()),r.decode=e=>S(e,r.codec())})(_e||(_e={}));var _t;(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=()=>mt(e)}(t=r.Type||(r.Type={}));let o;r.codec=()=>(o==null&&(o=L((n,i,s={})=>{if(s.lengthDelimited!==!1&&i.fork(),n.type!=null&&(i.uint32(8),r.Type.codec().encode(n.type,i)),n.id!=null&&(i.uint32(18),i.bytes(n.id)),n.protos!=null)for(let c of n.protos)i.uint32(26),i.string(c);s.lengthDelimited!==!1&&i.ldelim()},(n,i)=>{let s={protos:[]},c=i==null?n.len:n.pos+i;for(;n.pos<c;){let a=n.uint32();switch(a>>>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})),o),r.encode=n=>T(n,r.codec()),r.decode=n=>S(n,r.codec())})(_t||(_t={}));var Fe;(function(r){let t;r.codec=()=>(t==null&&(t=L((e,o,n={})=>{if(n.lengthDelimited!==!1&&o.fork(),e.peer!=null&&(o.uint32(10),At.codec().encode(e.peer,o)),e.protos!=null)for(let i of e.protos)o.uint32(18),o.string(i);n.lengthDelimited!==!1&&o.ldelim()},(e,o)=>{let n={protos:[]},i=o==null?e.len:e.pos+o;for(;e.pos<i;){let s=e.uint32();switch(s>>>3){case 1:n.peer=At.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=>T(e,r.codec()),r.decode=e=>S(e,r.codec())})(Fe||(Fe={}));var j=Et(ho(),1);j.default.formatters.b=r=>r==null?"undefined":N.baseEncode(r);j.default.formatters.t=r=>r==null?"undefined":lt.baseEncode(r);j.default.formatters.m=r=>r==null?"undefined":Tr.baseEncode(r);j.default.formatters.p=r=>r==null?"undefined":r.toString();j.default.formatters.c=r=>r==null?"undefined":r.toString();j.default.formatters.k=r=>r==null?"undefined":r.toString();j.default.formatters.a=r=>r==null?"undefined":r.toString();function oc(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 po(){return{forComponent(r){return F(r)}}}function F(r){let t=oc(`${r}:trace`);return j.default.enabled(`${r}:trace`)&&j.default.names.map(e=>e.toString()).find(e=>e.includes(":trace"))!=null&&(t=(0,j.default)(`${r}:trace`)),Object.assign((0,j.default)(r),{error:(0,j.default)(`${r}:error`),trace:t})}function it(r,t){t==null&&(t=r.reduce((n,i)=>n+i.length,0));let e=M(t),o=0;for(let n of r)e.set(n,o),o+=n.length;return Nt(e)}function Bt(r,t){if(r===t)return!0;if(r.byteLength!==t.byteLength)return!1;for(let e=0;e<r.byteLength;e++)if(r[e]!==t[e])return!1;return!0}var go=Symbol.for("@achingbrain/uint8arraylist");function mo(r,t){if(t==null||t<0)throw new RangeError("index is out of bounds");let e=0;for(let o of r){let n=e+o.byteLength;if(t<n)return{buf:o,index:t-e};e=n}throw new RangeError("index is out of bounds")}function $e(r){return!!r?.[go]}var dt=class r{constructor(...t){Object.defineProperty(this,go,{value:!0}),this.bufs=[],this.length=0,t.length>0&&this.appendAll(t)}*[Symbol.iterator](){yield*this.bufs}get byteLength(){return this.length}append(...t){this.appendAll(t)}appendAll(t){let e=0;for(let o of t)if(o instanceof Uint8Array)e+=o.byteLength,this.bufs.push(o);else if($e(o))e+=o.byteLength,this.bufs.push(...o.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 o of t.reverse())if(o instanceof Uint8Array)e+=o.byteLength,this.bufs.unshift(o);else if($e(o))e+=o.byteLength,this.bufs.unshift(...o.bufs);else throw new Error("Could not prepend value, must be an Uint8Array or a Uint8ArrayList");this.length+=e}get(t){let e=mo(this.bufs,t);return e.buf[e.index]}set(t,e){let o=mo(this.bufs,t);o.buf[o.index]=e}write(t,e=0){if(t instanceof Uint8Array)for(let o=0;o<t.length;o++)this.set(e+o,t[o]);else if($e(t))for(let o=0;o<t.length;o++)this.set(e+o,t.get(o));else throw new Error("Could not write value, must be an Uint8Array or a Uint8ArrayList")}consume(t){if(t=Math.trunc(t),!(Number.isNaN(t)||t<=0)){if(t===this.byteLength){this.bufs=[],this.length=0;return}for(;this.bufs.length>0;)if(t>=this.bufs[0].byteLength)t-=this.bufs[0].byteLength,this.length-=this.bufs[0].byteLength,this.bufs.shift();else{this.bufs[0]=this.bufs[0].subarray(t),this.length-=t;break}}}slice(t,e){let{bufs:o,length:n}=this._subList(t,e);return it(o,n)}subarray(t,e){let{bufs:o,length:n}=this._subList(t,e);return o.length===1?o[0]:it(o,n)}sublist(t,e){let{bufs:o,length:n}=this._subList(t,e),i=new r;return i.length=n,i.bufs=o,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 o=[],n=0;for(let i=0;i<this.bufs.length;i++){let s=this.bufs[i],c=n,a=c+s.byteLength;if(n=a,t>=a)continue;let h=t>=c&&t<a,l=e>c&&e<=a;if(h&&l){if(t===c&&e===a){o.push(s);break}let u=t-c;o.push(s.subarray(u,u+(e-t)));break}if(h){if(t===0){o.push(s);continue}o.push(s.subarray(t-c));continue}if(l){if(e===a){o.push(s);break}o.push(s.subarray(0,e-c));break}o.push(s)}return{bufs:o,length:e-t}}indexOf(t,e=0){if(!$e(t)&&!(t instanceof Uint8Array))throw new TypeError('The "value" argument must be a Uint8ArrayList or Uint8Array');let o=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=o.byteLength;if(n===0)throw new TypeError("search must be at least 1 byte long");let i=256,s=new Int32Array(i);for(let u=0;u<i;u++)s[u]=-1;for(let u=0;u<n;u++)s[o[u]]=u;let c=s,a=this.byteLength-o.byteLength,h=o.byteLength-1,l;for(let u=e;u<=a;u+=l){l=0;for(let f=h;f>=0;f--){let b=this.get(u+f);if(o[f]!==b){l=Math.max(1,f-c[b]);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 o=M(1);new DataView(o.buffer,o.byteOffset,o.byteLength).setInt8(0,e),this.write(o,t)}getInt16(t,e){let o=this.subarray(t,t+2);return new DataView(o.buffer,o.byteOffset,o.byteLength).getInt16(0,e)}setInt16(t,e,o){let n=pt(2);new DataView(n.buffer,n.byteOffset,n.byteLength).setInt16(0,e,o),this.write(n,t)}getInt32(t,e){let o=this.subarray(t,t+4);return new DataView(o.buffer,o.byteOffset,o.byteLength).getInt32(0,e)}setInt32(t,e,o){let n=pt(4);new DataView(n.buffer,n.byteOffset,n.byteLength).setInt32(0,e,o),this.write(n,t)}getBigInt64(t,e){let o=this.subarray(t,t+8);return new DataView(o.buffer,o.byteOffset,o.byteLength).getBigInt64(0,e)}setBigInt64(t,e,o){let n=pt(8);new DataView(n.buffer,n.byteOffset,n.byteLength).setBigInt64(0,e,o),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 o=M(1);new DataView(o.buffer,o.byteOffset,o.byteLength).setUint8(0,e),this.write(o,t)}getUint16(t,e){let o=this.subarray(t,t+2);return new DataView(o.buffer,o.byteOffset,o.byteLength).getUint16(0,e)}setUint16(t,e,o){let n=pt(2);new DataView(n.buffer,n.byteOffset,n.byteLength).setUint16(0,e,o),this.write(n,t)}getUint32(t,e){let o=this.subarray(t,t+4);return new DataView(o.buffer,o.byteOffset,o.byteLength).getUint32(0,e)}setUint32(t,e,o){let n=pt(4);new DataView(n.buffer,n.byteOffset,n.byteLength).setUint32(0,e,o),this.write(n,t)}getBigUint64(t,e){let o=this.subarray(t,t+8);return new DataView(o.buffer,o.byteOffset,o.byteLength).getBigUint64(0,e)}setBigUint64(t,e,o){let n=pt(8);new DataView(n.buffer,n.byteOffset,n.byteLength).setBigUint64(0,e,o),this.write(n,t)}getFloat32(t,e){let o=this.subarray(t,t+4);return new DataView(o.buffer,o.byteOffset,o.byteLength).getFloat32(0,e)}setFloat32(t,e,o){let n=pt(4);new DataView(n.buffer,n.byteOffset,n.byteLength).setFloat32(0,e,o),this.write(n,t)}getFloat64(t,e){let o=this.subarray(t,t+8);return new DataView(o.buffer,o.byteOffset,o.byteLength).getFloat64(0,e)}setFloat64(t,e,o){let n=pt(8);new DataView(n.buffer,n.byteOffset,n.byteLength).setFloat64(0,e,o),this.write(n,t)}equals(t){if(t==null||!(t instanceof r)||t.bufs.length!==this.bufs.length)return!1;for(let e=0;e<this.bufs.length;e++)if(!Bt(this.bufs[e],t.bufs[e]))return!1;return!0}static fromUint8Arrays(t,e){let o=new r;return o.bufs=t,e==null&&(e=t.reduce((n,i)=>n+i.byteLength,0)),o.length=e,o}};function yo(r){let t=async function*(){let e=yield,o=new dt;for await(let n of r){if(e==null){o.append(n),e=yield o,o=new dt;continue}for(o.append(n);o.length>=e;){let i=o.sublist(0,e);if(o.consume(e),e=yield i,e==null){o.length>0&&(e=yield o,o=new dt);break}}}if(e!=null)throw Object.assign(new Error(`stream ended before ${e} bytes became available`),{code:"ERR_UNDER_READ",buffer:o})}();return t.next(),t}function ee(){let r={};return r.promise=new Promise((t,e)=>{r.resolve=t,r.reject=e}),r}var ze=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}},re=class{size;hwm;head;tail;constructor(t={}){this.hwm=t.splitLimit??16,this.head=new ze(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 ze(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 Yr=class extends Error{type;code;constructor(t,e){super(t??"The operation was aborted"),this.type="aborted",this.code=e??"ABORT_ERR"}};function vt(r={}){return ic(e=>{let o=e.shift();if(o==null)return{done:!0};if(o.error!=null)throw o.error;return{done:o.done===!0,value:o.value}},r)}function ic(r,t){t=t??{};let e=t.onEnd,o=new re,n,i,s,c=ee(),a=async()=>{try{return o.isEmpty()?s?{done:!0}:await new Promise((g,y)=>{i=I=>{i=null,o.push(I);try{g(r(o))}catch(k){y(k)}return n}}):r(o)}finally{o.isEmpty()&&queueMicrotask(()=>{c.resolve(),c=ee()})}},h=g=>i!=null?i(g):(o.push(g),n),l=g=>(o=new re,i!=null?i({error:g}):(o.push({error:g}),n)),u=g=>{if(s)return n;if(t?.objectMode!==!0&&g?.byteLength==null)throw new Error("objectMode was not true but tried to push non-Uint8Array value");return h({done:!1,value:g})},f=g=>s?n:(s=!0,g!=null?l(g):h({done:!0})),b=()=>(o=new re,f(),{done:!0}),m=g=>(f(g),{done:!0});if(n={[Symbol.asyncIterator](){return this},next:a,return:b,throw:m,push:u,end:f,get readableLength(){return o.size},onEmpty:async g=>{let y=g?.signal;if(y?.throwIfAborted(),o.isEmpty())return;let I,k;y!=null&&(I=new Promise((D,Q)=>{k=()=>{Q(new Yr)},y.addEventListener("abort",k)}));try{await Promise.race([c.promise,I])}finally{k!=null&&y!=null&&y?.removeEventListener("abort",k)}}},e==null)return n;let E=n;return n={[Symbol.asyncIterator](){return this},next(){return E.next()},throw(g){return E.throw(g),e!=null&&(e(g),e=void 0),{done:!0}},return(){return E.return(),e!=null&&(e(),e=void 0),{done:!0}},push:u,end(g){return E.end(g),e!=null&&(e(g),e=void 0),n},get readableLength(){return E.readableLength}},n}function bo(r){let t=vt(),e=yo(r.source),o=ee(),n,i=r.sink(async function*(){yield*t,yield*await o.promise}());return i.catch(c=>{n=c}),{reader:e,writer:t,stream:{sink:async c=>{if(n!=null){await Promise.reject(n);return}o.resolve(c),await i},source:e},rest:()=>t.end(),write:t.push,read:async()=>{let c=await e.next();if(c.value!=null)return c.value}}}var sc=Math.pow(2,7),cc=Math.pow(2,14),ac=Math.pow(2,21),Qr=Math.pow(2,28),Jr=Math.pow(2,35),Zr=Math.pow(2,42),qr=Math.pow(2,49),w=128,V=127;function K(r){if(r<sc)return 1;if(r<cc)return 2;if(r<ac)return 3;if(r<Qr)return 4;if(r<Jr)return 5;if(r<Zr)return 6;if(r<qr)return 7;if(Number.MAX_SAFE_INTEGER!=null&&r>Number.MAX_SAFE_INTEGER)throw new RangeError("Could not encode varint");return 8}function lc(r,t,e=0){switch(K(r)){case 8:t[e++]=r&255|w,r/=128;case 7:t[e++]=r&255|w,r/=128;case 6:t[e++]=r&255|w,r/=128;case 5:t[e++]=r&255|w,r/=128;case 4:t[e++]=r&255|w,r>>>=7;case 3:t[e++]=r&255|w,r>>>=7;case 2:t[e++]=r&255|w,r>>>=7;case 1:{t[e++]=r&255,r>>>=7;break}default:throw new Error("unreachable")}return t}function uc(r,t,e=0){switch(K(r)){case 8:t.set(e++,r&255|w),r/=128;case 7:t.set(e++,r&255|w),r/=128;case 6:t.set(e++,r&255|w),r/=128;case 5:t.set(e++,r&255|w),r/=128;case 4:t.set(e++,r&255|w),r>>>=7;case 3:t.set(e++,r&255|w),r>>>=7;case 2:t.set(e++,r&255|w),r>>>=7;case 1:{t.set(e++,r&255),r>>>=7;break}default:throw new Error("unreachable")}return t}function dc(r,t){let e=r[t],o=0;if(o+=e&V,e<w||(e=r[t+1],o+=(e&V)<<7,e<w)||(e=r[t+2],o+=(e&V)<<14,e<w)||(e=r[t+3],o+=(e&V)<<21,e<w)||(e=r[t+4],o+=(e&V)*Qr,e<w)||(e=r[t+5],o+=(e&V)*Jr,e<w)||(e=r[t+6],o+=(e&V)*Zr,e<w)||(e=r[t+7],o+=(e&V)*qr,e<w))return o;throw new RangeError("Could not decode varint")}function fc(r,t){let e=r.get(t),o=0;if(o+=e&V,e<w||(e=r.get(t+1),o+=(e&V)<<7,e<w)||(e=r.get(t+2),o+=(e&V)<<14,e<w)||(e=r.get(t+3),o+=(e&V)<<21,e<w)||(e=r.get(t+4),o+=(e&V)*Qr,e<w)||(e=r.get(t+5),o+=(e&V)*Jr,e<w)||(e=r.get(t+6),o+=(e&V)*Zr,e<w)||(e=r.get(t+7),o+=(e&V)*qr,e<w))return o;throw new RangeError("Could not decode varint")}function St(r,t,e=0){return t==null&&(t=M(K(r))),t instanceof Uint8Array?lc(r,t,e):uc(r,t,e)}function yt(r,t=0){return r instanceof Uint8Array?dc(r,t):fc(r,t)}function We(r){return r[Symbol.asyncIterator]!=null}var Ke=r=>{let t=K(r),e=M(t);return St(r,e),Ke.bytes=t,e};Ke.bytes=0;function ne(r,t){t=t??{};let e=t.lengthEncoder??Ke;function*o(n){let i=e(n.byteLength);i instanceof Uint8Array?yield i:yield*i,n instanceof Uint8Array?yield n:yield*n}return We(r)?async function*(){for await(let n of r)yield*o(n)}():function*(){for(let n of r)yield*o(n)}()}ne.single=(r,t)=>{t=t??{};let e=t.lengthEncoder??Ke;return new dt(e(r.byteLength),r)};var oe=Et(xo(),1);var pc=8,mc=1024*1024*4,Mt;(function(r){r[r.LENGTH=0]="LENGTH",r[r.DATA=1]="DATA"})(Mt||(Mt={}));var jr=r=>{let t=yt(r);return jr.bytes=K(t),t};jr.bytes=0;function ye(r,t){let e=new dt,o=Mt.LENGTH,n=-1,i=t?.lengthDecoder??jr,s=t?.maxLengthLength??pc,c=t?.maxDataLength??mc;function*a(){for(;e.byteLength>0;){if(o===Mt.LENGTH)try{if(n=i(e),n<0)throw(0,oe.default)(new Error("invalid message length"),"ERR_INVALID_MSG_LENGTH");if(n>c)throw(0,oe.default)(new Error("message length too long"),"ERR_MSG_DATA_TOO_LONG");let h=i.bytes;e.consume(h),t?.onLength!=null&&t.onLength(n),o=Mt.DATA}catch(h){if(h instanceof RangeError){if(e.byteLength>s)throw(0,oe.default)(new Error("message length length too long"),"ERR_MSG_LENGTH_TOO_LONG");break}throw h}if(o===Mt.DATA){if(e.byteLength<n)break;let h=e.sublist(0,n);e.consume(n),t?.onData!=null&&t.onData(h),yield h,o=Mt.LENGTH}}}return We(r)?async function*(){for await(let h of r)e.append(h),yield*a();if(e.byteLength>0)throw(0,oe.default)(new Error("unexpected end of input"),"ERR_UNEXPECTED_EOF")}():function*(){for(let h of r)e.append(h),yield*a();if(e.byteLength>0)throw(0,oe.default)(new Error("unexpected end of input"),"ERR_UNEXPECTED_EOF")}()}ye.fromReader=(r,t)=>{let e=1,o=async function*(){for(;;)try{let{done:i,value:s}=await r.next(e);if(i===!0)return;s!=null&&(yield s)}catch(i){if(i.code==="ERR_UNDER_READ")return{done:!0,value:null};throw i}finally{e=1}}();return ye(o,{...t??{},onLength:i=>{e=i}})};var tn=F("libp2p:daemon-protocol:stream-handler"),Xe=class{stream;shake;decoder;constructor(t){let{stream:e,maxLength:o}=t;this.stream=e,this.shake=bo(this.stream),this.decoder=ye.fromReader(this.shake.reader,{maxDataLength:o??4096})}async read(){let t=await this.decoder.next();if(t.value!=null)return t.value.subarray();tn("read received no value, closing stream"),await this.close()}write(t){tn("write message"),this.shake.write(ne.single(t).subarray())}rest(){return this.shake.rest(),this.shake.stream}async close(){tn("closing the stream"),await this.rest().sink([])}};var en={upgradeInbound:async r=>r,upgradeOutbound:async r=>r};var ie=class r extends Error{code;type;constructor(t="The operation was aborted"){super(t),this.code=r.code,this.type=r.type}static code="ABORT_ERR";static type="aborted"},R=class extends Error{code;props;constructor(t,e,o){super(t),this.code=e,this.name=o?.name??"CodeError",this.props=o??{}}};var Co=Symbol.for("@libp2p/peer-id");var gc=Symbol.for("nodejs.util.inspect.custom"),Ao=Object.values(Ct).map(r=>r.decoder).reduce((r,t)=>r.or(t),Ct.identity.decoder),vo=114,So=36,To=37,be=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()})`}[Co]=!0;toString(){return this.string==null&&(this.string=N.encode(this.multihash.bytes).slice(1)),this.string}toCID(){return W.createV1(vo,this.multihash)}toBytes(){return this.multihash.bytes}toJSON(){return this.toString()}equals(t){if(t instanceof Uint8Array)return Bt(this.multihash.bytes,t);if(typeof t=="string")return yc(t).equals(this);if(t?.multihash?.bytes!=null)return Bt(this.multihash.bytes,t.multihash.bytes);throw new Error("not valid Id")}[gc](){return`PeerId(${this.toString()})`}},Ee=class extends be{type="RSA";publicKey;constructor(t){super({...t,type:"RSA"}),this.publicKey=t.publicKey}},we=class extends be{type="Ed25519";publicKey;constructor(t){super({...t,type:"Ed25519"}),this.publicKey=t.multihash.digest}},xe=class extends be{type="secp256k1";publicKey;constructor(t){super({...t,type:"secp256k1"}),this.publicKey=t.multihash.digest}};function yc(r,t){if(t=t??Ao,r.charAt(0)==="1"||r.charAt(0)==="Q"){let e=Pt(N.decode(`z${r}`));return r.startsWith("12D")?new we({multihash:e}):r.startsWith("16U")?new xe({multihash:e}):new Ee({multihash:e})}return Gt(Ao.decode(r))}function Gt(r){try{let t=Pt(r);if(t.code===ve.code){if(t.digest.length===So)return new we({multihash:t});if(t.digest.length===To)return new xe({multihash:t})}if(t.code===Se.code)return new Ee({multihash:t})}catch{return bc(W.decode(r))}throw new Error("Supplied PeerID CID is invalid")}function bc(r){if(r==null||r.multihash==null||r.version==null||r.version===1&&r.code!==vo)throw new Error("Supplied PeerID CID is invalid");let t=r.multihash;if(t.code===Se.code)return new Ee({multihash:r.multihash});if(t.code===ve.code){if(t.digest.length===So)return new we({multihash:r.multihash});if(t.digest.length===To)return new xe({multihash:r.multihash})}throw new Error("Supplied PeerID CID is invalid")}var di=Et(ht("net"),1);var ko=Symbol.for("@libp2p/transport");var Lo;(function(r){r[r.FATAL_ALL=0]="FATAL_ALL",r[r.NO_FATAL=1]="NO_FATAL"})(Lo||(Lo={}));function X(r,t="utf8"){let e=Te[t];if(e==null)throw new Error(`Unsupported encoding "${t}"`);return(t==="utf8"||t==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?globalThis.Buffer.from(r.buffer,r.byteOffset,r.byteLength).toString("utf8"):e.encoder.encode(r).substring(1)}var Ye=class{index=0;input="";new(t){return this.index=0,this.input=t,this}readAtomically(t){let e=this.index,o=t();return o===void 0&&(this.index=e),o}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,o){return this.readAtomically(()=>{if(!(e>0&&this.readGivenChar(t)===void 0))return o()})}readNumber(t,e,o,n){return this.readAtomically(()=>{let i=0,s=0,c=this.peekChar();if(c===void 0)return;let a=c==="0",h=2**(8*n)-1;for(;;){let l=this.readAtomically(()=>{let u=this.readChar();if(u===void 0)return;let f=Number.parseInt(u,t);if(!Number.isNaN(f))return f});if(l===void 0)break;if(i*=t,i+=l,i>h||(s+=1,e!==void 0&&s>e))return}if(s!==0)return!o&&a&&s>1?void 0:i})}readIPv4Addr(){return this.readAtomically(()=>{let t=new Uint8Array(4);for(let e=0;e<t.length;e++){let o=this.readSeparator(".",e,()=>this.readNumber(10,3,!1,1));if(o===void 0)return;t[e]=o}return t})}readIPv6Addr(){let t=e=>{for(let o=0;o<e.length/2;o++){let n=o*2;if(o<e.length-3){let s=this.readSeparator(":",o,()=>this.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 i=this.readSeparator(":",o,()=>this.readNumber(16,4,!0,2));if(i===void 0)return[n,!1];e[n]=i>>8,e[n+1]=i&255}return[e.length,!1]};return this.readAtomically(()=>{let e=new Uint8Array(16),[o,n]=t(e);if(o===16)return e;if(n||this.readGivenChar(":")===void 0||this.readGivenChar(":")===void 0)return;let i=new Uint8Array(14),s=16-(o+2),[c]=t(i.subarray(0,s));return e.set(i.subarray(0,c),16-c),e})}readIPAddr(){return this.readIPv4Addr()??this.readIPv6Addr()}};var Ku=new Ye;var td=parseInt("0xFFFF",16),ed=new Uint8Array([0,0,0,0,0,0,0,0,0,0,255,255]);var st=ht("node:net");function Qe(r){return!!(0,st.isIP)(r)}var Do=st.isIPv4,Ac=st.isIPv6,rn=function(r){let t=0;if(r=r.toString().trim(),Do(r)){let e=new Uint8Array(t+4);return r.split(/\./g).forEach(o=>{e[t++]=parseInt(o,10)&255}),e}if(Ac(r)){let e=r.split(":",8),o;for(o=0;o<e.length;o++){let i=Do(e[o]),s;i&&(s=rn(e[o]),e[o]=X(s.slice(0,2),"base16")),s!=null&&++o<8&&e.splice(o,0,X(s.slice(2,4),"base16"))}if(e[0]==="")for(;e.length<8;)e.unshift("0");else if(e[e.length-1]==="")for(;e.length<8;)e.push("0");else if(e.length<8){for(o=0;o<e.length&&e[o]!=="";o++);let i=[o,1];for(o=9-e.length;o>0;o--)i.push("0");e.splice.apply(e,i)}let n=new Uint8Array(t+16);for(o=0;o<e.length;o++){let i=parseInt(e[o],16);n[t++]=i>>8&255,n[t++]=i&255}return n}throw new Error("invalid ip address")},Ro=function(r,t=0,e){t=~~t,e=e??r.length-t;let o=new DataView(r.buffer);if(e===4){let n=[];for(let i=0;i<e;i++)n.push(r[t+i]);return n.join(".")}if(e===16){let n=[];for(let i=0;i<e;i+=2)n.push(o.getUint16(t+i).toString(16));return n.join(":").replace(/(^|:)0(:0)*:0(:|$)/,"$1::$3").replace(/:{3,4}/,"::")}return""};var se={},nn={},Sc=[[4,32,"ip4"],[6,16,"tcp"],[33,16,"dccp"],[41,128,"ip6"],[42,-1,"ip6zone"],[43,8,"ipcidr"],[53,-1,"dns",!0],[54,-1,"dns4",!0],[55,-1,"dns6",!0],[56,-1,"dnsaddr",!0],[132,16,"sctp"],[273,16,"udp"],[275,0,"p2p-webrtc-star"],[276,0,"p2p-webrtc-direct"],[277,0,"p2p-stardust"],[280,0,"webrtc-direct"],[281,0,"webrtc"],[290,0,"p2p-circuit"],[301,0,"udt"],[302,0,"utp"],[400,-1,"unix",!1,!0],[421,-1,"ipfs"],[421,-1,"p2p"],[443,0,"https"],[444,96,"onion"],[445,296,"onion3"],[446,-1,"garlic64"],[448,0,"tls"],[449,-1,"sni"],[460,0,"quic"],[461,0,"quic-v1"],[465,0,"webtransport"],[466,-1,"certhash"],[477,0,"ws"],[478,0,"wss"],[479,0,"p2p-websocket-star"],[480,0,"http"],[777,-1,"memory"]];Sc.forEach(r=>{let t=Tc(...r);nn[t.code]=t,se[t.name]=t});function Tc(r,t,e,o,n){return{code:r,size:t,name:e,resolvable:!!o,path:!!n}}function x(r){if(typeof r=="number"){if(nn[r]!=null)return nn[r];throw new Error(`no protocol with code: ${r}`)}else if(typeof r=="string"){if(se[r]!=null)return se[r];throw new Error(`no protocol with name: ${r}`)}throw new Error(`invalid protocol id type: ${typeof r}`)}var Md=x("ip4"),Gd=x("ip6"),Vd=x("ipcidr");function sn(r,t){switch(x(r).code){case 4:case 41:return kc(t);case 42:return _o(t);case 6:case 273:case 33:case 132:return Bo(t).toString();case 53:case 54:case 55:case 56:case 400:case 449:case 777:return _o(t);case 421:return Rc(t);case 444:return Fo(t);case 445:return Fo(t);case 466:return Dc(t);default:return X(t,"base16")}}function cn(r,t){switch(x(r).code){case 4:return Oo(t);case 41:return Oo(t);case 42:return Uo(t);case 6:case 273:case 33:case 132:return an(parseInt(t,10));case 53:case 54:case 55:case 56:case 400:case 449:case 777:return Uo(t);case 421:return Nc(t);case 444:return Oc(t);case 445:return Uc(t);case 466:return Pc(t);default:return Rt(t,"base16")}}var on=Object.values(Ct).map(r=>r.decoder),Lc=function(){let r=on[0].or(on[1]);return on.slice(2).forEach(t=>r=r.or(t)),r}();function Oo(r){if(!Qe(r))throw new Error("invalid ip address");return rn(r)}function kc(r){let t=Ro(r,0,r.length);if(t==null)throw new Error("ipBuff is required");if(!Qe(t))throw new Error("invalid ip address");return t}function an(r){let t=new ArrayBuffer(2);return new DataView(t).setUint16(0,r),new Uint8Array(t)}function Bo(r){return new DataView(r.buffer).getUint16(r.byteOffset)}function Uo(r){let t=Rt(r),e=Uint8Array.from(St(t.length));return it([e,t],e.length+t.length)}function _o(r){let t=yt(r);if(r=r.slice(K(t)),r.length!==t)throw new Error("inconsistent lengths");return X(r)}function Nc(r){let t;r[0]==="Q"||r[0]==="1"?t=Pt(N.decode(`z${r}`)).bytes:t=W.parse(r).multihash.bytes;let e=Uint8Array.from(St(t.length));return it([e,t],e.length+t.length)}function Pc(r){let t=Lc.decode(r),e=Uint8Array.from(St(t.length));return it([e,t],e.length+t.length)}function Dc(r){let t=yt(r),e=r.slice(K(t));if(e.length!==t)throw new Error("inconsistent lengths");return"u"+X(e,"base64url")}function Rc(r){let t=yt(r),e=r.slice(K(t));if(e.length!==t)throw new Error("inconsistent lengths");return X(e,"base58btc")}function Oc(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=lt.decode("b"+t[0]),o=parseInt(t[1],10);if(o<1||o>65536)throw new Error("Port number is not in range(1, 65536)");let n=an(o);return it([e,n],e.length+n.length)}function Uc(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=lt.decode(`b${t[0]}`),o=parseInt(t[1],10);if(o<1||o>65536)throw new Error("Port number is not in range(1, 65536)");let n=an(o);return it([e,n],e.length+n.length)}function Fo(r){let t=r.slice(0,r.length-2),e=r.slice(r.length-2),o=X(t,"base32"),n=Bo(e);return`${o}:${n}`}function Mo(r){r=ln(r);let t=[],e=[],o=null,n=r.split("/").slice(1);if(n.length===1&&n[0]==="")return{bytes:new Uint8Array,string:"/",tuples:[],stringTuples:[],path:null};for(let i=0;i<n.length;i++){let s=n[i],c=x(s);if(c.size===0){t.push([c.code]),e.push([c.code]);continue}if(i++,i>=n.length)throw Vo("invalid address: "+r);if(c.path===!0){o=ln(n.slice(i).join("/")),t.push([c.code,cn(c.code,o)]),e.push([c.code,o]);break}let a=cn(c.code,n[i]);t.push([c.code,a]),e.push([c.code,sn(c.code,a)])}return{string:Go(e),bytes:dn(t),tuples:t,stringTuples:e,path:o}}function un(r){let t=[],e=[],o=null,n=0;for(;n<r.length;){let i=yt(r,n),s=K(i),c=x(i),a=_c(c,r.slice(n+s));if(a===0){t.push([i]),e.push([i]),n+=s;continue}let h=r.slice(n+s,n+s+a);if(n+=a+s,n>r.length)throw Vo("Invalid address Uint8Array: "+X(r,"base16"));t.push([i,h]);let l=sn(i,h);if(e.push([i,l]),c.path===!0){o=l;break}}return{bytes:Uint8Array.from(r),string:Go(e),tuples:t,stringTuples:e,path:o}}function Go(r){let t=[];return r.map(e=>{let o=x(e[0]);return t.push(o.name),e.length>1&&e[1]!=null&&t.push(e[1]),null}),ln(t.join("/"))}function dn(r){return it(r.map(t=>{let e=x(t[0]),o=Uint8Array.from(St(e.code));return t.length>1&&t[1]!=null&&(o=it([o,t[1]])),o}))}function _c(r,t){if(r.size>0)return r.size/8;if(r.size===0)return 0;{let e=yt(t instanceof Uint8Array?t:Uint8Array.from(t));return e+K(e)}}function ln(r){return"/"+r.trim().split("/").filter(t=>t).join("/")}function Vo(r){return new Error("Error parsing address: "+r)}var Fc=Symbol.for("nodejs.util.inspect.custom"),fn=Symbol.for("@multiformats/js-multiaddr/multiaddr"),Bc=[x("dns").code,x("dns4").code,x("dns6").code,x("dnsaddr").code],Je=class r{bytes;#t;#e;#r;#n;[fn]=!0;constructor(t){t==null&&(t="");let e;if(t instanceof Uint8Array)e=un(t);else if(typeof t=="string"){if(t.length>0&&t.charAt(0)!=="/")throw new Error(`multiaddr "${t}" must start with a "/"`);e=Mo(t)}else if(zo(t))e=un(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,o,n,i="",s=x("tcp"),c=x("udp"),a=x("ip4"),h=x("ip6"),l=x("dns6"),u=x("ip6zone");for(let[b,m]of this.stringTuples())b===u.code&&(i=`%${m??""}`),Bc.includes(b)&&(e=s.name,n=443,o=`${m??""}${i}`,t=b===l.code?6:4),(b===s.code||b===c.code)&&(e=x(b).name,n=parseInt(m??"")),(b===a.code||b===h.code)&&(e=x(b).name,o=`${m??""}${i}`,t=b===h.code?6:4);if(t==null||e==null||o==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:o,transport:e,port:n}}protos(){return this.#e.map(([t])=>Object.assign({},x(t)))}protoCodes(){return this.#e.map(([t])=>t)}protoNames(){return this.#e.map(([t])=>x(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(),o=this.toString(),n=o.lastIndexOf(e);if(n<0)throw new Error(`Address ${this.toString()} does not contain subaddress: ${t.toString()}`);return new r(o.slice(0,n))}decapsulateCode(t){let e=this.tuples();for(let o=e.length-1;o>=0;o--)if(e[o][0]===t)return new r(dn(e.slice(0,o)));return this}getPeerId(){try{let t=[];this.stringTuples().forEach(([o,n])=>{o===se.p2p.code&&t.push([o,n]),o===se["p2p-circuit"].code&&(t=[])});let e=t.pop();if(e?.[1]!=null){let o=e[1];return o[0]==="Q"||o[0]==="1"?X(N.decode(`z${o}`),"base58btc"):X(W.parse(o).multihash.bytes,"base58btc")}return null}catch{return null}}getPath(){return this.#n}equals(t){return Bt(this.bytes,t.bytes)}async resolve(t){let e=this.protos().find(i=>i.resolvable);if(e==null)return[this];let o=$o.get(e.name);if(o==null)throw new R(`no available resolver for ${e.name}`,"ERR_NO_AVAILABLE_RESOLVER");return(await o(this,t)).map(i=>new r(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)}[Fc](){return`Multiaddr(${this.#t})`}};var $o=new Map;function zo(r){return!!r?.[fn]}function ct(r){return new Je(r)}var Mc=d("dns4"),Gc=d("dns6"),Vc=d("dnsaddr"),$t=v(d("dns"),Vc,Mc,Gc),je=v(d("ip4"),d("ip6")),Lt=v(p(je,d("tcp")),p($t,d("tcp"))),tr=p(je,d("udp")),$c=p(tr,d("utp")),zc=p(tr,d("quic")),Hc=p(tr,d("quic-v1")),hn=v(p(Lt,d("ws")),p($t,d("ws"))),Ze=v(p(hn,d("p2p")),hn),pn=v(p(Lt,d("wss")),p($t,d("wss")),p(Lt,d("tls"),d("ws")),p($t,d("tls"),d("ws"))),qe=v(p(pn,d("p2p")),pn),mn=v(p(Lt,d("http")),p(je,d("http")),p($t,d("http"))),gn=v(p(Lt,d("https")),p(je,d("https")),p($t,d("https"))),Ho=p(tr,d("webrtc-direct"),d("certhash")),Xo=v(p(Ho,d("p2p")),Ho),Wo=p(Hc,d("webtransport"),d("certhash"),d("certhash")),Yo=v(p(Wo,d("p2p")),Wo),Qo=v(p(Ze,d("p2p-webrtc-star"),d("p2p")),p(qe,d("p2p-webrtc-star"),d("p2p")),p(Ze,d("p2p-webrtc-star")),p(qe,d("p2p-webrtc-star"))),pf=v(p(Ze,d("p2p-websocket-star"),d("p2p")),p(qe,d("p2p-websocket-star"),d("p2p")),p(Ze,d("p2p-websocket-star")),p(qe,d("p2p-websocket-star"))),Jo=v(p(mn,d("p2p-webrtc-direct"),d("p2p")),p(gn,d("p2p-webrtc-direct"),d("p2p")),p(mn,d("p2p-webrtc-direct")),p(gn,d("p2p-webrtc-direct"))),zt=v(hn,pn,mn,gn,Qo,Jo,Lt,$c,zc,$t,Xo,Yo),mf=v(p(zt,d("p2p-stardust"),d("p2p")),p(zt,d("p2p-stardust"))),Tt=v(p(zt,d("p2p")),Qo,Jo,Xo,Yo,d("p2p")),Ko=v(p(Tt,d("p2p-circuit"),Tt),p(Tt,d("p2p-circuit")),p(d("p2p-circuit"),Tt),p(zt,d("p2p-circuit")),p(d("p2p-circuit"),zt),d("p2p-circuit")),Zo=()=>v(p(Ko,Zo),Ko),Vt=Zo(),gf=v(p(Vt,Tt,Vt),p(Tt,Vt),p(Vt,Tt),Vt,Tt);var yf=v(p(Vt,d("webrtc"),d("p2p")),p(Vt,d("webrtc")),p(zt,d("webrtc"),d("p2p")),p(zt,d("webrtc")),d("webrtc"));function qo(r){function t(e){let o;try{o=ct(e)}catch{return!1}let n=r(o.protoNames());return n===null?!1:n===!0||n===!1?n:n.length===0}return t}function p(...r){function t(e){if(e.length<r.length)return null;let o=e;return r.some(n=>(o=typeof n=="function"?n().partialMatch(e):n.partialMatch(e),Array.isArray(o)&&(e=o),o===null)),o}return{toString:function(){return"{ "+r.join(" ")+" }"},input:r,matches:qo(t),partialMatch:t}}function v(...r){function t(o){let n=null;return r.some(i=>{let s=typeof i=="function"?i().partialMatch(o):i.partialMatch(o);return s!=null?(n=s,!0):!1}),n}return{toString:function(){return"{ "+r.join(" ")+" }"},input:r,matches:qo(t),partialMatch:t}}function d(r){let t=r;function e(n){let i;try{i=ct(n)}catch{return!1}let s=i.protoNames();return s.length===1&&s[0]===t}function o(n){return n.length===0?null:n[0]===t?n.slice(1):null}return{toString:function(){return t},matches:e,partialMatch:o}}var ui=Et(ht("net"),1);var er=class extends EventTarget{#t=new Map;listenerCount(t){let e=this.#t.get(t);return e==null?0:e.length}addEventListener(t,e,o){super.addEventListener(t,e,o);let n=this.#t.get(t);n==null&&(n=[],this.#t.set(t,n)),n.push({callback:e,once:(o!==!0&&o!==!1&&o?.once)??!1})}removeEventListener(t,e,o){super.removeEventListener(t.toString(),e??null,o);let n=this.#t.get(t);n!=null&&(n=n.filter(({callback:i})=>i!==e),this.#t.set(t,n))}dispatchEvent(t){let e=super.dispatchEvent(t),o=this.#t.get(t.type);return o==null||(o=o.filter(({once:n})=>!n),this.#t.set(t.type,o)),e}safeDispatchEvent(t,e){return this.dispatchEvent(new ce(t,e))}},yn=class extends Event{detail;constructor(t,e){super(t,e),this.detail=e?.detail}},ce=globalThis.CustomEvent??yn;var Kc=F("libp2p:ip-port-to-multiaddr"),bn={ERR_INVALID_IP_PARAMETER:"ERR_INVALID_IP_PARAMETER",ERR_INVALID_PORT_PARAMETER:"ERR_INVALID_PORT_PARAMETER",ERR_INVALID_IP:"ERR_INVALID_IP"};function jo(r,t){if(typeof r!="string")throw new R(`invalid ip provided: ${r}`,bn.ERR_INVALID_IP_PARAMETER);if(typeof t=="string"&&(t=parseInt(t)),isNaN(t))throw new R(`invalid port provided: ${t}`,bn.ERR_INVALID_PORT_PARAMETER);if((0,st.isIPv4)(r))return ct(`/ip4/${r}/tcp/${t}`);if((0,st.isIPv6)(r))return ct(`/ip6/${r}/tcp/${t}`);let e=`invalid ip:port for creating a multiaddr: ${r}:${t}`;throw Kc.error(e),new R(e,bn.ERR_INVALID_IP)}var li=Et(ci(),1);var xn=Et(ht("os"),1),ai=Et(ht("path"),1);var Zc={ip4:"IPv4",ip6:"IPv6"};function le(r,t={}){let e=r.getPath();return e!=null?xn.default.platform()==="win32"?{path:ai.default.join("\\\\.\\pipe\\",e)}:{path:e}:{...r.toOptions(),...t}}function In(r,t,e){let o=n=>ct(`/${r}/${n}/tcp/${e}`);return(qc(t)?ta(Zc[r]):[t]).map(o)}function qc(r){return["0.0.0.0","::"].includes(r)}var jc=xn.default.networkInterfaces();function ta(r){let t=[];for(let[,e]of Object.entries(jc))if(e!=null)for(let o of e)o.family===r&&t.push(o.address);return t}var ft=F("libp2p:tcp:socket"),nr=(r,t)=>{let e=t.metrics,o=t.metricPrefix??"",n=t.socketInactivityTimeout??3e5,i=t.socketCloseTimeout??500;t.listeningAddr?.getPath()!=null&&(t.remoteAddr=t.listeningAddr),t.remoteAddr?.getPath()!=null&&(t.localAddr=t.remoteAddr);let s;if(t.remoteAddr!=null)s=t.remoteAddr;else{if(r.remoteAddress==null||r.remotePort==null)throw new R("Could not determine remote address or port","ERR_NO_REMOTE_ADDRESS");s=jo(r.remoteAddress,r.remotePort)}let c=le(s),a=c.path??`${c.host??""}:${c.port??""}`,{sink:h,source:l}=li.default.duplex(r);r.setTimeout(n,()=>{ft("%s socket read timeout",a),e?.increment({[`${o}timeout`]:!0});let f;r.readable&&(f=new R("Socket read timeout","ERR_SOCKET_READ_TIMEOUT")),r.destroy(f)}),r.once("close",()=>{ft("%s socket close",a),e?.increment({[`${o}close`]:!0}),u.timeline.close==null&&(u.timeline.close=Date.now())}),r.once("end",()=>{ft("%s socket end",a),e?.increment({[`${o}end`]:!0})});let u={async sink(f){try{await h(f)}catch(b){b.type!=="aborted"&&ft(b)}r.end()},source:l,remoteAddr:s,timeline:{open:Date.now()},async close(f={}){if(r.destroyed){ft("%s socket was already destroyed when trying to close",a);return}if(f.signal==null){let b=AbortSignal.timeout(i);f={...f,signal:b}}try{ft("%s closing socket",a),await new Promise((b,m)=>{r.once("close",()=>{ft("%s socket closed",a),b()}),r.once("error",E=>{ft("%s socket error",a,E),u.timeline.close==null&&(u.timeline.close=Date.now()),m(E)}),r.setTimeout(i),r.end(),r.writableLength>0?r.once("drain",()=>{ft("%s socket drained",a),r.destroy()}):r.destroy()})}catch(b){this.abort(b)}},abort:f=>{ft("%s socket abort due to error",a,f),r.destroy(f)}};return u};var $=F("libp2p:tcp:listener");async function Cn(r){try{await r.close()}catch(t){$.error("an error occurred closing the connection",t)}}var O;(function(r){r[r.INACTIVE=0]="INACTIVE",r[r.ACTIVE=1]="ACTIVE",r[r.PAUSED=2]="PAUSED"})(O||(O={}));var or=class extends er{context;server;connections=new Set;status={code:O.INACTIVE};metrics;addr;constructor(t){if(super(),this.context=t,t.keepAlive=t.keepAlive??!0,this.addr="unknown",this.server=ui.default.createServer(t,this.onSocket.bind(this)),t.maxConnections!==void 0&&(this.server.maxConnections=t.maxConnections),t.closeServerOnMaxConnections!=null&&t.closeServerOnMaxConnections.closeAbove<t.closeServerOnMaxConnections.listenBelow)throw new R("closeAbove must be >= listenBelow","ERROR_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]:O.ACTIVE})}this.dispatchEvent(new ce("listening"))}).on("error",e=>{this.metrics?.errors.increment({[`${this.addr} listen_error`]:!0}),this.dispatchEvent(new ce("error",{detail:e}))}).on("close",()=>{this.metrics?.status.update({[this.addr]:this.status.code}),this.status.code!==O.PAUSED&&this.dispatchEvent(new ce("close"))})}onSocket(t){if(this.status.code!==O.ACTIVE)throw new R("Server is is not listening yet","ERR_SERVER_NOT_RUNNING");t.on("error",o=>{$("socket error",o),this.metrics?.events.increment({[`${this.addr} error`]:!0})});let e;try{e=nr(t,{listeningAddr:this.status.listeningAddr,socketInactivityTimeout:this.context.socketInactivityTimeout,socketCloseTimeout:this.context.socketCloseTimeout,metrics:this.metrics?.events,metricPrefix:`${this.addr} `})}catch(o){$.error("inbound connection failed",o),this.metrics?.errors.increment({[`${this.addr} inbound_to_connection`]:!0});return}$("new inbound connection %s",e.remoteAddr);try{this.context.upgrader.upgradeInbound(e).then(o=>{$("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.context.closeServerOnMaxConnections.listenBelow&&this.resume().catch(n=>{$.error("error attempting to listen server once connection count under limit",n),this.context.closeServerOnMaxConnections?.onListenError?.(n)})}),this.context.handler!=null&&this.context.handler(o),this.context.closeServerOnMaxConnections!=null&&this.connections.size>=this.context.closeServerOnMaxConnections.closeAbove&&this.pause(!1).catch(n=>{$.error("error attempting to close server once connection count over limit",n)}),this.dispatchEvent(new ce("connection",{detail:o}))}).catch(async o=>{$.error("inbound connection failed",o),this.metrics?.errors.increment({[`${this.addr} inbound_upgrade`]:!0}),await Cn(e)}).catch(o=>{$.error("closing inbound connection failed",o)})}catch(o){$.error("inbound connection failed",o),Cn(e).catch(n=>{$.error("closing inbound connection failed",n),this.metrics?.errors.increment({[`${this.addr} inbound_closing_failed`]:!0})})}}getAddrs(){if(this.status.code===O.INACTIVE)return[];let t=[],e=this.server.address(),{listeningAddr:o,peerId:n}=this.status;if(e==null)return[];if(typeof e=="string")t=[o];else try{o.toString().startsWith("/ip4")?t=t.concat(In("ip4",e.address,e.port)):e.family==="IPv6"&&(t=t.concat(In("ip6",e.address,e.port)))}catch(i){$.error("could not turn %s:%s into multiaddr",e.address,e.port,i)}return t.map(i=>n!=null?i.encapsulate(`/p2p/${n}`):i)}async listen(t){if(this.status.code===O.ACTIVE||this.status.code===O.PAUSED)throw new R("server is already listening","ERR_SERVER_ALREADY_LISTENING");let e=t.getPeerId(),o=e==null?t.decapsulateCode(421):t,{backlog:n}=this.context;try{this.status={code:O.ACTIVE,listeningAddr:o,peerId:e,netConfig:le(o,{backlog:n})},await this.resume()}catch(i){throw this.status={code:O.INACTIVE},i}}async close(){await Promise.all([Promise.all(Array.from(this.connections.values()).map(async t=>Cn(t))),this.pause(!0).catch(t=>{$.error("error attempting to close server once connection count over limit",t)})])}async resume(){if(this.server.listening||this.status.code===O.INACTIVE)return;let t=this.status.netConfig;await new Promise((e,o)=>{this.server.once("error",o),this.server.listen(t,e)}),this.status={...this.status,code:O.ACTIVE},$("Listening on %s",this.server.address())}async pause(t){if(!this.server.listening&&this.status.code===O.PAUSED&&t){this.status={code:O.INACTIVE};return}!this.server.listening||this.status.code!==O.ACTIVE||($("Closing server on %s",this.server.address()),this.status=t?{code:O.INACTIVE}:{...this.status,code:O.PAUSED},await new Promise((e,o)=>{this.server.close(n=>{n!=null?o(n):e()})}))}};var bt=F("libp2p:tcp"),vn=class{opts;metrics;components;constructor(t,e={}){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"})})}[ko]=!0;[Symbol.toStringTag]="@libp2p/tcp";async dial(t,e){e.keepAlive=e.keepAlive??!0;let o=await this._connect(t,e);o.on("error",c=>{bt("socket error",c)});let n=nr(o,{remoteAddr:t,socketInactivityTimeout:this.opts.outboundSocketInactivityTimeout,socketCloseTimeout:this.opts.socketCloseTimeout,metrics:this.metrics?.dialerEvents}),i=()=>{n.close().catch(c=>{bt.error("Error closing maConn after abort",c)})};e.signal?.addEventListener("abort",i,{once:!0}),bt("new outbound connection %s",n.remoteAddr);let s=await e.upgrader.upgradeOutbound(n);if(bt("outbound connection %s upgraded",n.remoteAddr),e.signal?.removeEventListener("abort",i),e.signal?.aborted===!0)throw s.close().catch(c=>{bt.error("Error closing conn after abort",c)}),new ie;return s}async _connect(t,e){if(e.signal?.aborted===!0)throw new ie;return new Promise((o,n)=>{let i=Date.now(),s=le(t),c=s.path??`${s.host??""}:${s.port}`;bt("dialing %j",s);let a=di.default.connect(s),h=m=>{m.message=`connection error ${c}: ${m.message}`,this.metrics?.dialerEvents.increment({error:!0}),b(m)},l=()=>{bt("connection timeout %s",c),this.metrics?.dialerEvents.increment({timeout:!0});let m=new R(`connection timeout after ${Date.now()-i}ms`,"ERR_CONNECT_TIMEOUT");a.emit("error",m)},u=()=>{bt("connection opened %j",s),this.metrics?.dialerEvents.increment({connect:!0}),b()},f=()=>{bt("connection aborted %j",s),this.metrics?.dialerEvents.increment({abort:!0}),a.destroy(),b(new ie)},b=m=>{if(a.removeListener("error",h),a.removeListener("timeout",l),a.removeListener("connect",u),e.signal!=null&&e.signal.removeEventListener("abort",f),m!=null){n(m);return}o(a)};a.on("error",h),a.on("timeout",l),a.on("connect",u),e.signal!=null&&e.signal.addEventListener("abort",f)})}createListener(t){return new or({...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})}filter(t){return t=Array.isArray(t)?t:[t],t.filter(e=>e.protoCodes().includes(290)?!1:e.protoCodes().includes(400)?!0:Lt.matches(e.decapsulateCode(421)))}};function fi(r={}){return(t={})=>new vn(t,r)}function ia(r){return r[Symbol.asyncIterator]!=null}function sa(...r){let t=[];for(let e of r)ia(e)||t.push(e);return t.length===r.length?function*(){for(let e of t)yield*e}():async function*(){let e=vt({objectMode:!0});Promise.resolve().then(async()=>{try{await Promise.all(r.map(async o=>{for await(let n of o)e.push(n)})),e.end()}catch(o){e.end(o)}}),yield*e}()}var hi=sa;function ir(r,...t){if(r==null)throw new Error("Empty pipeline");if(Sn(r)){let o=r;r=()=>o.source}else if(mi(r)||pi(r)){let o=r;r=()=>o}let e=[r,...t];if(e.length>1&&Sn(e[e.length-1])&&(e[e.length-1]=e[e.length-1].sink),e.length>2)for(let o=1;o<e.length-1;o++)Sn(e[o])&&(e[o]=aa(e[o]));return ca(...e)}var ca=(...r)=>{let t;for(;r.length>0;)t=r.shift()(t);return t},pi=r=>r?.[Symbol.asyncIterator]!=null,mi=r=>r?.[Symbol.iterator]!=null,Sn=r=>r==null?!1:r.sink!=null&&r.source!=null,aa=r=>t=>{let e=r.sink(t);if(e?.then!=null){let o=vt({objectMode:!0});e.then(()=>{o.end()},s=>{o.end(s)});let n,i=r.source;if(pi(i))n=async function*(){yield*i,o.end()};else if(mi(i))n=function*(){yield*i,o.end()};else throw new Error("Unknown duplex source type - must be Iterable or AsyncIterable");return hi(o,n())}return r.source};function la(r){return r[Symbol.asyncIterator]!=null}function ua(r){if(la(r))return(async()=>{for await(let t of r);})();for(let t of r);}var Tn=ua;function P(r){return Ut.encode({type:Ut.Type.OK,peers:[],...r}).subarray()}function C(r){return Ut.encode({type:Ut.Type.ERROR,error:{msg:r.message},peers:[]}).subarray()}var sr=F("libp2p:daemon-server:dht"),cr=class{dht;constructor(t){let{dht:e}=t;this.dht=e}async*provide(t){try{await Tn(this.dht.provide(t)),yield P()}catch(e){sr.error(e),yield C(e)}}async*getClosestPeers(t){yield P({dht:{type:U.Type.BEGIN}});for await(let e of this.dht.getClosestPeers(t))e.name==="PEER_RESPONSE"&&(yield*e.closer.map(o=>U.encode({type:U.Type.VALUE,value:o.id.toBytes()})));yield U.encode({type:U.Type.END})}async*getPublicKey(t){yield C(new Error("FIX ME: not implemented"))}async*getValue(t){try{for await(let e of this.dht.get(t))e.name==="VALUE"&&(yield P({dht:{type:U.Type.VALUE,value:e.value}}))}catch(e){sr.error(e),yield C(e)}}async*putValue(t,e){try{await Tn(this.dht.put(t,e)),yield P()}catch(o){sr.error(o),yield C(o)}}async*findPeer(t){try{for await(let e of this.dht.findPeer(t))e.name==="FINAL_PEER"&&(yield P({dht:{type:U.Type.VALUE,peer:{id:e.peer.id.toBytes(),addrs:e.peer.multiaddrs.map(o=>o.bytes)}}}));throw new Error("Peer not found")}catch(e){sr.error(e),yield C(e)}}async*findProviders(t,e){yield P({dht:{type:U.Type.BEGIN}});try{let o=e,n=0;for await(let i of this.dht.findProviders(t))if(i.name==="PEER_RESPONSE"){for(let s of i.providers)n++,yield U.encode({type:U.Type.VALUE,peer:{id:s.id.toBytes(),addrs:(s.multiaddrs??[]).map(c=>c.bytes)}});if(o===n)break}}catch(o){yield C(o)}yield U.encode({type:U.Type.END})}};var ar=F("libp2p:daemon-server:pubsub"),lr=class{pubsub;constructor(t){let{pubsub:e}=t;this.pubsub=e}async*getTopics(){try{yield P({pubsub:{topics:this.pubsub.getTopics(),peerIDs:[]}})}catch(t){ar.error(t),yield C(t)}}async*subscribe(t){try{let e=vt();this.pubsub.subscribe(t),this.pubsub.addEventListener("message",o=>{let n=o.detail;n.topic===t&&(n.type==="signed"?e.push(ge.encode({from:n.from.toBytes(),data:n.data,seqno:n.sequenceNumber==null?void 0:Rt(n.sequenceNumber.toString(16).padStart(16,"0"),"base16"),topicIDs:[n.topic],signature:n.signature,key:n.key}).subarray()):e.push(ge.encode({data:n.data,topicIDs:[n.topic]}).subarray()))}),yield P(),yield*e}catch(e){ar.error(e),yield C(e)}}async*publish(t,e){try{await this.pubsub.publish(t,e),yield P()}catch(o){ar.error(o),yield C(o)}}async*listPeers(t){try{yield P({pubsub:{topics:[t],peerIDs:this.pubsub.getSubscribers(t).map(e=>e.toBytes())}})}catch(e){ar.error(e),yield C(e)}}};var da=1<<22,Y=F("libp2p:daemon-server"),ur=class{multiaddr;libp2p;tcp;listener;dhtOperations;pubsubOperations;constructor(t){let{multiaddr:e,libp2pNode:o}=t;this.multiaddr=e,this.libp2p=o,this.tcp=fi()({logger:po()}),this.listener=this.tcp.createListener({handler:this.handleConnection.bind(this),upgrader:en}),this._onExit=this._onExit.bind(this),o.services.dht!=null&&(this.dhtOperations=new cr({dht:o.services.dht})),o.services.pubsub!=null&&(this.pubsubOperations=new lr({pubsub:o.services.pubsub}))}async connect(t){if(t.connect==null||t.connect.addrs==null)throw new Error("Invalid request");let e=t.connect.peer,o=t.connect.addrs.map(i=>ct(i)),n=Gt(e);return Y("connect - adding multiaddrs %a to peer %p",o,n),await this.libp2p.peerStore.merge(n,{multiaddrs:o}),Y("connect - dial %p",n),this.libp2p.dial(n)}async openStream(t){if(t.streamOpen==null||t.streamOpen.proto==null)throw new Error("Invalid request");let{peer:e,proto:o}=t.streamOpen,n=Gt(e);Y("openStream - dial %p",n);let i=await this.libp2p.dial(n);Y("openStream - open stream for protocol %s",o);let s=await i.newStream(o,{runOnTransientConnection:!0});return{streamInfo:{peer:n.toBytes(),addr:i.remoteAddr.bytes,proto:s.protocol??""},connection:s}}async registerStreamHandler(t){if(t.streamHandler==null||t.streamHandler.proto==null)throw new Error("Invalid request");let e=t.streamHandler.proto,o=ct(t.streamHandler.addr),n;Y("registerStreamHandler - handle %s",e),await this.libp2p.handle(e,({connection:i,stream:s})=>{Promise.resolve().then(async()=>{n=await this.tcp.dial(o,{upgrader:en});let c=Jt.encode({peer:i.remotePeer.toBytes(),addr:i.remoteAddr.bytes,proto:s.protocol??""}),a=ne.single(c);await ir(async function*(){yield a,yield*s.source}(),async function*(h){for await(let l of h)yield*l},n,s.sink)}).catch(async c=>{Y.error(c),n!=null&&await n.close(c)}).finally(()=>{n?.close().catch(c=>{Y.error(c)})})},{runOnTransientConnection:!0})}_listen(){process.on("SIGTERM",this._onExit),process.on("SIGINT",this._onExit),process.on("SIGHUP",this._onExit)}_onExit(){this.stop({exit:!0}).catch(t=>{Y.error(t)})}async start(){this._listen(),await this.libp2p.start(),await this.listener.listen(this.multiaddr)}getMultiaddr(){let t=this.listener.getAddrs();if(t.length>0)return t[0];throw new Error("Not started")}async stop(t={exit:!1}){await this.libp2p.stop(),await this.listener.close(),t.exit&&Y("server closed, exiting"),process.removeListener("SIGTERM",this._onExit),process.removeListener("SIGINT",this._onExit),process.removeListener("SIGHUP",this._onExit)}async*handlePeerStoreRequest(t){try{switch(t.type){case _t.Type.GET_PROTOCOLS:if(t.id==null)throw new Error("Invalid request");let e=Gt(t.id),n=(await this.libp2p.peerStore.get(e)).protocols;yield P({peerStore:{protos:n}});return;case _t.Type.GET_PEER_INFO:throw new Error("ERR_NOT_IMPLEMENTED");default:throw new Error("ERR_INVALID_REQUEST_TYPE")}}catch(e){Y.error(e),yield C(e)}}async*handlePubsubRequest(t){try{if(this.libp2p.services.pubsub==null||this.pubsubOperations==null)throw new Error("PubSub not configured");switch(t.type){case gt.Type.GET_TOPICS:yield*this.pubsubOperations.getTopics();return;case gt.Type.SUBSCRIBE:if(t.topic==null)throw new Error("Invalid request");yield*this.pubsubOperations.subscribe(t.topic);return;case gt.Type.PUBLISH:if(t.topic==null||t.data==null)throw new Error("Invalid request");yield*this.pubsubOperations.publish(t.topic,t.data);return;case gt.Type.LIST_PEERS:if(t.topic==null)throw new Error("Invalid request");yield*this.pubsubOperations.listPeers(t.topic);return;default:throw new Error("ERR_INVALID_REQUEST_TYPE")}}catch(e){Y.error(e),yield C(e)}}async*handleDHTRequest(t){try{if(this.libp2p.services.dht==null||this.dhtOperations==null)throw new Error("DHT not configured");switch(t.type){case ot.Type.FIND_PEER:if(t.peer==null)throw new Error("Invalid request");yield*this.dhtOperations.findPeer(Gt(t.peer));return;case ot.Type.FIND_PROVIDERS:if(t.cid==null)throw new Error("Invalid request");yield*this.dhtOperations.findProviders(W.decode(t.cid),t.count??20);return;case ot.Type.PROVIDE:if(t.cid==null)throw new Error("Invalid request");yield*this.dhtOperations.provide(W.decode(t.cid));return;case ot.Type.GET_CLOSEST_PEERS:if(t.key==null)throw new Error("Invalid request");yield*this.dhtOperations.getClosestPeers(t.key);return;case ot.Type.GET_PUBLIC_KEY:if(t.peer==null)throw new Error("Invalid request");yield*this.dhtOperations.getPublicKey(Gt(t.peer));return;case ot.Type.GET_VALUE:if(t.key==null)throw new Error("Invalid request");yield*this.dhtOperations.getValue(t.key);return;case ot.Type.PUT_VALUE:if(t.key==null||t.value==null)throw new Error("Invalid request");yield*this.dhtOperations.putValue(t.key,t.value);return;default:throw new Error("ERR_INVALID_REQUEST_TYPE")}}catch(e){Y.error(e),yield C(e)}}handleConnection(t){let e=this,o=new Xe({stream:t,maxLength:da});ir(o.decoder,n=>async function*(){let i;for await(let s of n)try{switch(i=nt.decode(s),i.type){case nt.Type.CONNECT:{try{await e.connect(i)}catch(c){yield C(c);break}yield P();break}case nt.Type.IDENTIFY:{yield P({identify:{id:e.libp2p.peerId.toBytes(),addrs:e.libp2p.getMultiaddrs().map(c=>c.decapsulateCode(x("p2p").code)).map(c=>c.bytes)}});break}case nt.Type.LIST_PEERS:{let c=[],a=new Set;for(let h of e.libp2p.getConnections()){let l=h.remotePeer.toString();a.has(l)||(a.add(l),c.push({id:h.remotePeer.toBytes(),addrs:[h.remoteAddr.bytes]}))}yield P({peers:c});break}case nt.Type.STREAM_OPEN:{let c;try{c=await e.openStream(i)}catch(h){yield C(h);break}yield P({streamInfo:c.streamInfo});let a=o.rest();await ir(a,c.connection,async function*(h){for await(let l of h)yield*l},a);return}case nt.Type.STREAM_HANDLER:{try{await e.registerStreamHandler(i)}catch(c){yield C(c);break}yield P();break}case nt.Type.PEERSTORE:{if(i.peerStore==null){yield C(new Error("ERR_INVALID_REQUEST"));break}yield*e.handlePeerStoreRequest(i.peerStore);break}case nt.Type.PUBSUB:{if(i.pubsub==null){yield C(new Error("ERR_INVALID_REQUEST"));break}yield*e.handlePubsubRequest(i.pubsub);break}case nt.Type.DHT:{if(i.dht==null){yield C(new Error("ERR_INVALID_REQUEST"));break}yield*e.handleDHTRequest(i.dht);break}default:yield C(new Error("ERR_INVALID_REQUEST_TYPE"));break}}catch(c){Y.error(c),yield C(c);continue}}(),async function(n){for await(let i of n)o.write(i)}).catch(n=>{Y(n)})}},fa=(r,t)=>new ur({multiaddr:r,libp2pNode:t});return xi(ha);})();
4
+ `+i),r.push(n+"m+"+Be.exports.humanize(this.diff)+"\x1B[0m")}else r[0]=oc()+t+" "+r[0]}function oc(){return _.inspectOpts.hideDate?"":new Date().toISOString()+" "}function ic(...r){return process.stderr.write(Me.format(...r)+`
5
+ `)}function sc(r){r?process.env.DEBUG=r:delete process.env.DEBUG}function cc(){return process.env.DEBUG}function ac(r){r.inspectOpts={};let t=Object.keys(_.inspectOpts);for(let e=0;e<t.length;e++)r.inspectOpts[t[e]]=_.inspectOpts[t[e]]}Be.exports=Hr()(_);var{formatters:fo}=Be.exports;fo.o=function(r){return this.inspectOpts.colors=this.useColors,Me.inspect(r,this.inspectOpts).split(`
6
+ `).map(t=>t.trim()).join(" ")};fo.O=function(r){return this.inspectOpts.colors=this.useColors,Me.inspect(r,this.inspectOpts)}});var po=z((Kl,Kr)=>{typeof process>"u"||process.type==="renderer"||process.browser===!0||process.__nwjs?Kr.exports=so():Kr.exports=ho()});var Ye=z((kf,Yo)=>{Yo.exports=r=>{if(r[Symbol.asyncIterator])return r;if(r.getReader)return async function*(){let t=r.getReader();try{for(;;){let{done:e,value:o}=await t.read();if(e)return;yield o}}finally{t.releaseLock()}}();throw new Error("unknown stream")}});var Jo=z((Of,Qo)=>{Qo.exports=function(t){if(t){if(typeof t[Symbol.iterator]=="function")return t[Symbol.iterator]();if(typeof t[Symbol.asyncIterator]=="function")return t[Symbol.asyncIterator]();if(typeof t.next=="function")return t}throw new Error("argument is not an iterator or iterable")}});var pn=z((_f,Zo)=>{var Xc=Jo();Zo.exports=r=>async t=>{t=Xc(t);let e=b=>{typeof b.return=="function"&&b.return()},o=null,n=null,i=b=>{o=b,n&&n(b),e(t)},s=null,c=!1,a=()=>{c=!0,s&&s()},f=null,l=!1,u=()=>{l=!0,f&&f()},h=null,y=()=>{h&&h()},p=()=>new Promise((b,I)=>{s=h=b,n=I,r.once("drain",y)}),w=()=>(e(t),new Promise((b,I)=>{if(c||l||o)return b();f=s=b,n=I})),g=()=>{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 b of t){if(!r.writable||r.destroyed||o)break;r.write(b)===!1&&await p()}}catch(b){o||r.destroy(),o=b}try{if(r.writable&&r.end(),await w(),o)throw o}finally{g()}}});var mn=z((Uf,qo)=>{var Yc=pn(),Qc=Ye();qo.exports=r=>({sink:Yc(r),source:Qc(r)})});var ti=z((Ff,jo)=>{var Jc=mn();jo.exports=r=>async function*(t){let e=Jc(r),o;if(e.sink(t).catch(n=>{o=n}),yield*e.source,o)throw o}});var ei=z((Mf,re)=>{re.exports=Ye();re.exports.source=Ye();re.exports.sink=pn();re.exports.transform=ti();re.exports.duplex=mn()});var di=z((fh,ui)=>{"use strict";function li(r,t){for(let e in t)Object.defineProperty(r,e,{value:t[e],enumerable:!0,configurable:!0});return r}function ia(r,t,e){if(!r||typeof r=="string")throw new TypeError("Please pass an Error to err-code");e||(e={}),typeof t=="object"&&(e=t,t=""),t&&(e.code=t);try{return li(r,e)}catch{e.message=r.message,e.stack=r.stack;let n=function(){};return n.prototype=Object.create(Object.getPrototypeOf(r)),li(new n,e)}}ui.exports=ia});var ya={};J(ya,{Server:()=>ar,createServer:()=>ga});var lr=new Float32Array([-0]),bt=new Uint8Array(lr.buffer);function Rn(r,t,e){lr[0]=r,t[e]=bt[0],t[e+1]=bt[1],t[e+2]=bt[2],t[e+3]=bt[3]}function Dn(r,t){return bt[0]=r[t],bt[1]=r[t+1],bt[2]=r[t+2],bt[3]=r[t+3],lr[0]}var ur=new Float64Array([-0]),U=new Uint8Array(ur.buffer);function Pn(r,t,e){ur[0]=r,t[e]=U[0],t[e+1]=U[1],t[e+2]=U[2],t[e+3]=U[3],t[e+4]=U[4],t[e+5]=U[5],t[e+6]=U[6],t[e+7]=U[7]}function kn(r,t){return U[0]=r[t],U[1]=r[t+1],U[2]=r[t+2],U[3]=r[t+3],U[4]=r[t+4],U[5]=r[t+5],U[6]=r[t+6],U[7]=r[t+7],ur[0]}var Ti=BigInt(Number.MAX_SAFE_INTEGER),Li=BigInt(Number.MIN_SAFE_INTEGER),H=class r{lo;hi;constructor(t,e){this.lo=t|0,this.hi=e|0}toNumber(t=!1){if(!t&&this.hi>>>31>0){let e=~this.lo+1>>>0,o=~this.hi>>>0;return e===0&&(o=o+1>>>0),-(e+o*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,o=~this.hi>>>0;return e===0&&(o=o+1>>>0),-(BigInt(e)+(BigInt(o)<<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,o=this.hi>>>24;return o===0?e===0?t<16384?t<128?1:2:t<2097152?3:4:e<16384?e<128?5:6:e<2097152?7:8:o<128?9:10}static fromBigInt(t){if(t===0n)return Tt;if(t<Ti&&t>Li)return this.fromNumber(Number(t));let e=t<0n;e&&(t=-t);let o=t>>32n,n=t-(o<<32n);return e&&(o=~o|0n,n=~n|0n,++n>On&&(n=0n,++o>On&&(o=0n))),new r(Number(n),Number(o))}static fromNumber(t){if(t===0)return Tt;let e=t<0;e&&(t=-t);let o=t>>>0,n=(t-o)/4294967296>>>0;return e&&(n=~n>>>0,o=~o>>>0,++o>4294967295&&(o=0,++n>4294967295&&(n=0))),new r(o,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):Tt}},Tt=new H(0,0);Tt.toBigInt=function(){return 0n};Tt.zzEncode=Tt.zzDecode=function(){return this};Tt.length=function(){return 1};var On=4294967296n;function _n(r){let t=0,e=0;for(let o=0;o<r.length;++o)e=r.charCodeAt(o),e<128?t+=1:e<2048?t+=2:(e&64512)===55296&&(r.charCodeAt(o+1)&64512)===56320?(++o,t+=4):t+=3;return t}function Un(r,t,e){if(e-t<1)return"";let n,i=[],s=0,c;for(;t<e;)c=r[t++],c<128?i[s++]=c:c>191&&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&&((n??(n=[])).push(String.fromCharCode.apply(String,i)),s=0);return n!=null?(s>0&&n.push(String.fromCharCode.apply(String,i.slice(0,s))),n.join("")):String.fromCharCode.apply(String,i.slice(0,s))}function dr(r,t,e){let o=e,n,i;for(let s=0;s<r.length;++s)n=r.charCodeAt(s),n<128?t[e++]=n:n<2048?(t[e++]=n>>6|192,t[e++]=n&63|128):(n&64512)===55296&&((i=r.charCodeAt(s+1))&64512)===56320?(n=65536+((n&1023)<<10)+(i&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-o}function at(r,t){return RangeError(`index out of range: ${r.pos} + ${t??1} > ${r.len}`)}function xe(r,t){return(r[t-4]|r[t-3]<<8|r[t-2]<<16|r[t-1]<<24)>>>0}var fr=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,at(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 at(this,4);return xe(this.buf,this.pos+=4)}sfixed32(){if(this.pos+4>this.len)throw at(this,4);return xe(this.buf,this.pos+=4)|0}float(){if(this.pos+4>this.len)throw at(this,4);let t=Dn(this.buf,this.pos);return this.pos+=4,t}double(){if(this.pos+8>this.len)throw at(this,4);let t=kn(this.buf,this.pos);return this.pos+=8,t}bytes(){let t=this.uint32(),e=this.pos,o=this.pos+t;if(o>this.len)throw at(this,t);return this.pos+=t,e===o?new Uint8Array(0):this.buf.subarray(e,o)}string(){let t=this.bytes();return Un(t,0,t.length)}skip(t){if(typeof t=="number"){if(this.pos+t>this.len)throw at(this,t);this.pos+=t}else do if(this.pos>=this.len)throw at(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 H(0,0),e=0;if(this.len-this.pos>4){for(;e<4;++e)if(t.lo=(t.lo|(this.buf[this.pos]&127)<<e*7)>>>0,this.buf[this.pos++]<128)return t;if(t.lo=(t.lo|(this.buf[this.pos]&127)<<28)>>>0,t.hi=(t.hi|(this.buf[this.pos]&127)>>4)>>>0,this.buf[this.pos++]<128)return t;e=0}else{for(;e<3;++e){if(this.pos>=this.len)throw at(this);if(t.lo=(t.lo|(this.buf[this.pos]&127)<<e*7)>>>0,this.buf[this.pos++]<128)return t}return t.lo=(t.lo|(this.buf[this.pos++]&127)<<e*7)>>>0,t}if(this.len-this.pos>4){for(;e<5;++e)if(t.hi=(t.hi|(this.buf[this.pos]&127)<<e*7+3)>>>0,this.buf[this.pos++]<128)return t}else for(;e<5;++e){if(this.pos>=this.len)throw at(this);if(t.hi=(t.hi|(this.buf[this.pos]&127)<<e*7+3)>>>0,this.buf[this.pos++]<128)return t}throw Error("invalid varint encoding")}readFixed64(){if(this.pos+8>this.len)throw at(this,8);let t=xe(this.buf,this.pos+=4),e=xe(this.buf,this.pos+=4);return new H(t,e)}int64(){return this.readLongVarint().toBigInt()}int64Number(){return this.readLongVarint().toNumber()}int64String(){return this.readLongVarint().toString()}uint64(){return this.readLongVarint().toBigInt(!0)}uint64Number(){return this.readLongVarint().toNumber(!0)}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 hr(r){return new fr(r instanceof Uint8Array?r:r.subarray())}function C(r,t){let e=hr(r);return t.decode(e)}function wt(r){return globalThis.Buffer!=null?new Uint8Array(r.buffer,r.byteOffset,r.byteLength):r}function ht(r=0){return globalThis.Buffer?.alloc!=null?wt(globalThis.Buffer.alloc(r)):new Uint8Array(r)}function F(r=0){return globalThis.Buffer?.allocUnsafe!=null?wt(globalThis.Buffer.allocUnsafe(r)):new Uint8Array(r)}var br={};J(br,{base10:()=>Oi});function Ni(r,t){if(r.length>=255)throw new TypeError("Alphabet too long");for(var e=new Uint8Array(256),o=0;o<e.length;o++)e[o]=255;for(var n=0;n<r.length;n++){var i=r.charAt(n),s=i.charCodeAt(0);if(e[s]!==255)throw new TypeError(i+" is ambiguous");e[s]=n}var c=r.length,a=r.charAt(0),f=Math.log(c)/Math.log(256),l=Math.log(256)/Math.log(c);function u(p){if(p instanceof Uint8Array||(ArrayBuffer.isView(p)?p=new Uint8Array(p.buffer,p.byteOffset,p.byteLength):Array.isArray(p)&&(p=Uint8Array.from(p))),!(p instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(p.length===0)return"";for(var w=0,g=0,b=0,I=p.length;b!==I&&p[b]===0;)b++,w++;for(var N=(I-b)*l+1>>>0,D=new Uint8Array(N);b!==I;){for(var Y=p[b],j=0,Q=N-1;(Y!==0||j<g)&&Q!==-1;Q--,j++)Y+=256*D[Q]>>>0,D[Q]=Y%c>>>0,Y=Y/c>>>0;if(Y!==0)throw new Error("Non-zero carry");g=j,b++}for(var tt=N-g;tt!==N&&D[tt]===0;)tt++;for(var $t=a.repeat(w);tt<N;++tt)$t+=r.charAt(D[tt]);return $t}function h(p){if(typeof p!="string")throw new TypeError("Expected String");if(p.length===0)return new Uint8Array;var w=0;if(p[w]!==" "){for(var g=0,b=0;p[w]===a;)g++,w++;for(var I=(p.length-w)*f+1>>>0,N=new Uint8Array(I);p[w];){var D=e[p.charCodeAt(w)];if(D===255)return;for(var Y=0,j=I-1;(D!==0||Y<b)&&j!==-1;j--,Y++)D+=c*N[j]>>>0,N[j]=D%256>>>0,D=D/256>>>0;if(D!==0)throw new Error("Non-zero carry");b=Y,w++}if(p[w]!==" "){for(var Q=I-b;Q!==I&&N[Q]===0;)Q++;for(var tt=new Uint8Array(g+(I-Q)),$t=g;Q!==I;)tt[$t++]=N[Q++];return tt}}}function y(p){var w=h(p);if(w)return w;throw new Error(`Non-${t} character`)}return{encode:u,decodeUnsafe:h,decode:y}}var Ri=Ni,Di=Ri,Mn=Di;var Ra=new Uint8Array(0);var Bn=(r,t)=>{if(r===t)return!0;if(r.byteLength!==t.byteLength)return!1;for(let e=0;e<r.byteLength;e++)if(r[e]!==t[e])return!1;return!0},et=r=>{if(r instanceof Uint8Array&&r.constructor.name==="Uint8Array")return r;if(r instanceof ArrayBuffer)return new Uint8Array(r);if(ArrayBuffer.isView(r))return new Uint8Array(r.buffer,r.byteOffset,r.byteLength);throw new Error("Unknown type, must be binary type")};var Vn=r=>new TextEncoder().encode(r),Gn=r=>new TextDecoder().decode(r);var pr=class{constructor(t,e,o){this.name=t,this.prefix=e,this.baseEncode=o}encode(t){if(t instanceof Uint8Array)return`${this.prefix}${this.baseEncode(t)}`;throw Error("Unknown type, must be binary type")}},mr=class{constructor(t,e,o){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=o}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 zn(this,t)}},gr=class{constructor(t){this.decoders=t}or(t){return zn(this,t)}decode(t){let e=t[0],o=this.decoders[e];if(o)return o.decode(t);throw RangeError(`Unable to decode multibase string ${JSON.stringify(t)}, only inputs prefixed with ${Object.keys(this.decoders)} are supported`)}},zn=(r,t)=>new gr({...r.decoders||{[r.prefix]:r},...t.decoders||{[t.prefix]:t}}),yr=class{constructor(t,e,o,n){this.name=t,this.prefix=e,this.baseEncode=o,this.baseDecode=n,this.encoder=new pr(t,e,o),this.decoder=new mr(t,e,n)}encode(t){return this.encoder.encode(t)}decode(t){return this.decoder.decode(t)}},zt=({name:r,prefix:t,encode:e,decode:o})=>new yr(r,t,e,o),Et=({prefix:r,name:t,alphabet:e})=>{let{encode:o,decode:n}=Mn(e,t);return zt({prefix:r,name:t,encode:o,decode:i=>et(n(i))})},Pi=(r,t,e,o)=>{let n={};for(let l=0;l<t.length;++l)n[t[l]]=l;let i=r.length;for(;r[i-1]==="=";)--i;let s=new Uint8Array(i*e/8|0),c=0,a=0,f=0;for(let l=0;l<i;++l){let u=n[r[l]];if(u===void 0)throw new SyntaxError(`Non-${o} character`);a=a<<e|u,c+=e,c>=8&&(c-=8,s[f++]=255&a>>c)}if(c>=e||255&a<<8-c)throw new SyntaxError("Unexpected end of data");return s},ki=(r,t,e)=>{let o=t[t.length-1]==="=",n=(1<<e)-1,i="",s=0,c=0;for(let a=0;a<r.length;++a)for(c=c<<8|r[a],s+=8;s>e;)s-=e,i+=t[n&c>>s];if(s&&(i+=t[n&c<<e-s]),o)for(;i.length*e&7;)i+="=";return i},S=({name:r,prefix:t,bitsPerChar:e,alphabet:o})=>zt({prefix:t,name:r,encode(n){return ki(n,o,e)},decode(n){return Pi(n,o,e,r)}});var Oi=Et({prefix:"9",name:"base10",alphabet:"0123456789"});var wr={};J(wr,{base16:()=>_i,base16upper:()=>Ui});var _i=S({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),Ui=S({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var Er={};J(Er,{base2:()=>Fi});var Fi=S({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var xr={};J(xr,{base256emoji:()=>$i});var Hn=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}"),Mi=Hn.reduce((r,t,e)=>(r[e]=t,r),[]),Bi=Hn.reduce((r,t,e)=>(r[t.codePointAt(0)]=e,r),[]);function Vi(r){return r.reduce((t,e)=>(t+=Mi[e],t),"")}function Gi(r){let t=[];for(let e of r){let o=Bi[e.codePointAt(0)];if(o===void 0)throw new Error(`Non-base256emoji character: ${e}`);t.push(o)}return new Uint8Array(t)}var $i=zt({prefix:"\u{1F680}",name:"base256emoji",encode:Vi,decode:Gi});var Ir={};J(Ir,{base32:()=>lt,base32hex:()=>Ki,base32hexpad:()=>Yi,base32hexpadupper:()=>Qi,base32hexupper:()=>Xi,base32pad:()=>Hi,base32padupper:()=>Wi,base32upper:()=>zi,base32z:()=>Ji});var lt=S({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),zi=S({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),Hi=S({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),Wi=S({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),Ki=S({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),Xi=S({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),Yi=S({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),Qi=S({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),Ji=S({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var Sr={};J(Sr,{base36:()=>Zi,base36upper:()=>qi});var Zi=Et({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),qi=Et({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var Ar={};J(Ar,{base58btc:()=>R,base58flickr:()=>ji});var R=Et({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),ji=Et({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var vr={};J(vr,{base64:()=>Cr,base64pad:()=>ts,base64url:()=>es,base64urlpad:()=>rs});var Cr=S({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),ts=S({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),es=S({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),rs=S({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});var Tr={};J(Tr,{base8:()=>ns});var ns=S({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var Lr={};J(Lr,{identity:()=>os});var os=zt({prefix:"\0",name:"identity",encode:r=>Gn(r),decode:r=>Vn(r)});var Wa=new TextEncoder,Ka=new TextDecoder;var Rr={};J(Rr,{identity:()=>Se});var cs=Xn,Wn=128,as=127,ls=~as,us=Math.pow(2,31);function Xn(r,t,e){t=t||[],e=e||0;for(var o=e;r>=us;)t[e++]=r&255|Wn,r/=128;for(;r&ls;)t[e++]=r&255|Wn,r>>>=7;return t[e]=r|0,Xn.bytes=e-o+1,t}var ds=Nr,fs=128,Kn=127;function Nr(r,o){var e=0,o=o||0,n=0,i=o,s,c=r.length;do{if(i>=c)throw Nr.bytes=0,new RangeError("Could not decode varint");s=r[i++],e+=n<28?(s&Kn)<<n:(s&Kn)*Math.pow(2,n),n+=7}while(s>=fs);return Nr.bytes=i-o,e}var hs=Math.pow(2,7),ps=Math.pow(2,14),ms=Math.pow(2,21),gs=Math.pow(2,28),ys=Math.pow(2,35),bs=Math.pow(2,42),ws=Math.pow(2,49),Es=Math.pow(2,56),xs=Math.pow(2,63),Is=function(r){return r<hs?1:r<ps?2:r<ms?3:r<gs?4:r<ys?5:r<bs?6:r<ws?7:r<Es?8:r<xs?9:10},Ss={encode:cs,decode:ds,encodingLength:Is},As=Ss,ae=As;var le=(r,t=0)=>[ae.decode(r,t),ae.decode.bytes],Ht=(r,t,e=0)=>(ae.encode(r,t,e),t),Wt=r=>ae.encodingLength(r);var xt=(r,t)=>{let e=t.byteLength,o=Wt(r),n=o+Wt(e),i=new Uint8Array(n+e);return Ht(r,i,0),Ht(e,i,o),i.set(t,n),new Kt(r,e,t,i)},Lt=r=>{let t=et(r),[e,o]=le(t),[n,i]=le(t.subarray(o)),s=t.subarray(o+i);if(s.byteLength!==n)throw new Error("Incorrect length");return new Kt(e,n,s,t)},Yn=(r,t)=>{if(r===t)return!0;{let e=t;return r.code===e.code&&r.size===e.size&&e.bytes instanceof Uint8Array&&Bn(r.bytes,e.bytes)}},Kt=class{constructor(t,e,o,n){this.code=t,this.size=e,this.digest=o,this.bytes=n}};var Qn=0,Cs="identity",Jn=et,vs=r=>xt(Qn,Jn(r)),Se={code:Qn,name:Cs,encode:Jn,digest:vs};var Or={};J(Or,{sha256:()=>Ae,sha512:()=>Ts});var kr=yt(ft("crypto"),1);var Pr=({name:r,code:t,encode:e})=>new Dr(r,t,e),Dr=class{constructor(t,e,o){this.name=t,this.code=e,this.encode=o}digest(t){if(t instanceof Uint8Array){let e=this.encode(t);return e instanceof Uint8Array?xt(this.code,e):e.then(o=>xt(this.code,o))}else throw Error("Unknown type, must be binary type")}};var Ae=Pr({name:"sha2-256",code:18,encode:r=>et(kr.default.createHash("sha256").update(r).digest())}),Ts=Pr({name:"sha2-512",code:19,encode:r=>et(kr.default.createHash("sha512").update(r).digest())});var qn=(r,t)=>{let{bytes:e,version:o}=r;switch(o){case 0:return Ns(e,_r(r),t||R.encoder);default:return Rs(e,_r(r),t||lt.encoder)}};var jn=new WeakMap,_r=r=>{let t=jn.get(r);if(t==null){let e=new Map;return jn.set(r,e),e}return t},W=class r{constructor(t,e,o,n){this.code=e,this.version=t,this.multihash=o,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!==ue)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(e.code!==Ds)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,o=xt(t,e);return r.createV1(this.code,o)}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 o=e;return o&&t.code===o.code&&t.version===o.version&&Yn(t.multihash,o.multihash)}toString(t){return qn(this,t)}toJSON(){return{"/":qn(this)}}link(){return this}get[Symbol.toStringTag](){return"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:o,code:n,multihash:i,bytes:s}=e;return new r(o,n,i,s||to(o,n,i.bytes))}else if(e[Ps]===!0){let{version:o,multihash:n,code:i}=e,s=Lt(n);return r.create(o,i,s)}else return null}static create(t,e,o){if(typeof e!="number")throw new Error("String codecs are no longer supported");if(!(o.bytes instanceof Uint8Array))throw new Error("Invalid digest");switch(t){case 0:{if(e!==ue)throw new Error(`Version 0 CID must use dag-pb (code: ${ue}) block encoding`);return new r(t,e,o,o.bytes)}case 1:{let n=to(t,e,o.bytes);return new r(t,e,o,n)}default:throw new Error("Invalid version")}}static createV0(t){return r.create(0,ue,t)}static createV1(t,e){return r.create(1,t,e)}static decode(t){let[e,o]=r.decodeFirst(t);if(o.length)throw new Error("Incorrect length");return e}static decodeFirst(t){let e=r.inspectBytes(t),o=e.size-e.multihashSize,n=et(t.subarray(o,o+e.multihashSize));if(n.byteLength!==e.multihashSize)throw new Error("Incorrect length");let i=n.subarray(e.multihashSize-e.digestSize),s=new Kt(e.multihashCode,e.digestSize,i,n);return[e.version===0?r.createV0(s):r.createV1(e.codec,s),t.subarray(e.size)]}static inspectBytes(t){let e=0,o=()=>{let[u,h]=le(t.subarray(e));return e+=h,u},n=o(),i=ue;if(n===18?(n=0,e=0):i=o(),n!==0&&n!==1)throw new RangeError(`Invalid CID version ${n}`);let s=e,c=o(),a=o(),f=e+a,l=f-s;return{version:n,codec:i,multihashCode:c,digestSize:a,multihashSize:l,size:f}}static parse(t,e){let[o,n]=Ls(t,e),i=r.decode(n);if(i.version===0&&t[0]!=="Q")throw Error("Version 0 CID string must not include multibase prefix");return _r(i).set(o,t),i}},Ls=(r,t)=>{switch(r[0]){case"Q":{let e=t||R;return[R.prefix,e.decode(`${R.prefix}${r}`)]}case R.prefix:{let e=t||R;return[R.prefix,e.decode(r)]}case lt.prefix:{let e=t||lt;return[lt.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)]}}},Ns=(r,t,e)=>{let{prefix:o}=e;if(o!==R.prefix)throw Error(`Cannot string encode V0 in ${e.name} encoding`);let n=t.get(o);if(n==null){let i=e.encode(r).slice(1);return t.set(o,i),i}else return n},Rs=(r,t,e)=>{let{prefix:o}=e,n=t.get(o);if(n==null){let i=e.encode(r);return t.set(o,i),i}else return n},ue=112,Ds=18,to=(r,t,e)=>{let o=Wt(r),n=o+Wt(t),i=new Uint8Array(n+e.byteLength);return Ht(r,i,0),Ht(t,i,o),i.set(e,n),i},Ps=Symbol.for("@ipld/js-cid/CID");var It={...Lr,...Er,...Tr,...br,...wr,...Ir,...Sr,...Ar,...vr,...xr},ll={...Or,...Rr};function ro(r,t,e,o){return{name:r,prefix:t,encoder:{name:r,prefix:t,encode:e},decoder:{decode:o}}}var eo=ro("utf8","u",r=>"u"+new TextDecoder("utf8").decode(r),r=>new TextEncoder().encode(r.substring(1))),Ur=ro("ascii","a",r=>{let t="a";for(let e=0;e<r.length;e++)t+=String.fromCharCode(r[e]);return t},r=>{r=r.substring(1);let t=F(r.length);for(let e=0;e<r.length;e++)t[e]=r.charCodeAt(e);return t}),ks={utf8:eo,"utf-8":eo,hex:It.base16,latin1:Ur,ascii:Ur,binary:Ur,...It},Ce=ks;function Rt(r,t="utf8"){let e=Ce[t];if(e==null)throw new Error(`Unsupported encoding "${t}"`);return(t==="utf8"||t==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?wt(globalThis.Buffer.from(r,"utf-8")):e.decoder.decode(`${e.prefix}${r}`)}function Fr(r){let t=r??8192,e=t>>>1,o,n=t;return function(s){if(s<1||s>e)return F(s);n+s>t&&(o=F(t),n=0);let c=o.subarray(n,n+=s);return n&7&&(n=(n|7)+1),c}}var Dt=class{fn;len;next;val;constructor(t,e,o){this.fn=t,this.len=e,this.next=void 0,this.val=o}};function Mr(){}var Vr=class{head;tail;len;next;constructor(t){this.head=t.head,this.tail=t.tail,this.len=t.len,this.next=t.states}},Os=Fr();function _s(r){return globalThis.Buffer!=null?F(r):Os(r)}var he=class{len;head;tail;states;constructor(){this.len=0,this.head=new Dt(Mr,0,0),this.tail=this.head,this.states=null}_push(t,e,o){return this.tail=this.tail.next=new Dt(t,e,o),this.len+=e,this}uint32(t){return this.len+=(this.tail=this.tail.next=new Gr((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(de,10,H.fromNumber(t)):this.uint32(t)}sint32(t){return this.uint32((t<<1^t>>31)>>>0)}uint64(t){let e=H.fromBigInt(t);return this._push(de,e.length(),e)}uint64Number(t){let e=H.fromNumber(t);return this._push(de,e.length(),e)}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=H.fromBigInt(t).zzEncode();return this._push(de,e.length(),e)}sint64Number(t){let e=H.fromNumber(t).zzEncode();return this._push(de,e.length(),e)}sint64String(t){return this.sint64(BigInt(t))}bool(t){return this._push(Br,1,t?1:0)}fixed32(t){return this._push(fe,4,t>>>0)}sfixed32(t){return this.fixed32(t)}fixed64(t){let e=H.fromBigInt(t);return this._push(fe,4,e.lo)._push(fe,4,e.hi)}fixed64Number(t){let e=H.fromNumber(t);return this._push(fe,4,e.lo)._push(fe,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(Rn,4,t)}double(t){return this._push(Pn,8,t)}bytes(t){let e=t.length>>>0;return e===0?this._push(Br,1,0):this.uint32(e)._push(Fs,e,t)}string(t){let e=_n(t);return e!==0?this.uint32(e)._push(dr,e,t):this._push(Br,1,0)}fork(){return this.states=new Vr(this),this.head=this.tail=new Dt(Mr,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 Dt(Mr,0,0),this.len=0),this}ldelim(){let t=this.head,e=this.tail,o=this.len;return this.reset().uint32(o),o!==0&&(this.tail.next=t.next,this.tail=e,this.len+=o),this}finish(){let t=this.head.next,e=_s(this.len),o=0;for(;t!=null;)t.fn(t.val,e,o),o+=t.len,t=t.next;return e}};function Br(r,t,e){t[e]=r&255}function Us(r,t,e){for(;r>127;)t[e++]=r&127|128,r>>>=7;t[e]=r}var Gr=class extends Dt{next;constructor(t,e){super(Us,t,e),this.next=void 0}};function de(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 fe(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 Fs(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(Ms,t,r),this},he.prototype.string=function(r){let t=globalThis.Buffer.byteLength(r);return this.uint32(t),t>0&&this._push(Bs,t,r),this});function Ms(r,t,e){t.set(r,e)}function Bs(r,t,e){r.length<40?dr(r,t,e):t.utf8Write!=null?t.utf8Write(r,e):t.set(Rt(r),e)}function $r(){return new he}function v(r,t){let e=$r();return t.encode(r,e,{lengthDelimited:!1}),e.finish()}var Xt;(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"})(Xt||(Xt={}));function ve(r,t,e,o){return{name:r,type:t,encode:e,decode:o}}function pt(r){function t(n){if(r[n.toString()]==null)throw new Error("Invalid enum value");return r[n]}let e=function(i,s){let c=t(i);s.int32(c)},o=function(i){let s=i.int32();return t(s)};return ve("enum",Xt.VARINT,e,o)}function T(r,t){return ve("message",Xt.LENGTH_DELIMITED,r,t)}var rt;(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=()=>pt(e)}(t=r.Type||(r.Type={}));let o;r.codec=()=>(o==null&&(o=T((n,i,s={})=>{s.lengthDelimited!==!1&&i.fork(),n.type!=null&&(i.uint32(8),r.Type.codec().encode(n.type,i)),n.connect!=null&&(i.uint32(18),Le.codec().encode(n.connect,i)),n.streamOpen!=null&&(i.uint32(26),Ne.codec().encode(n.streamOpen,i)),n.streamHandler!=null&&(i.uint32(34),Re.codec().encode(n.streamHandler,i)),n.dht!=null&&(i.uint32(42),nt.codec().encode(n.dht,i)),n.connManager!=null&&(i.uint32(50),Pe.codec().encode(n.connManager,i)),n.disconnect!=null&&(i.uint32(58),ke.codec().encode(n.disconnect,i)),n.pubsub!=null&&(i.uint32(66),mt.codec().encode(n.pubsub,i)),n.peerStore!=null&&(i.uint32(74),Pt.codec().encode(n.peerStore,i)),s.lengthDelimited!==!1&&i.ldelim()},(n,i)=>{let s={},c=i==null?n.len:n.pos+i;for(;n.pos<c;){let a=n.uint32();switch(a>>>3){case 1:s.type=r.Type.codec().decode(n);break;case 2:s.connect=Le.codec().decode(n,n.uint32());break;case 3:s.streamOpen=Ne.codec().decode(n,n.uint32());break;case 4:s.streamHandler=Re.codec().decode(n,n.uint32());break;case 5:s.dht=nt.codec().decode(n,n.uint32());break;case 6:s.connManager=Pe.codec().decode(n,n.uint32());break;case 7:s.disconnect=ke.codec().decode(n,n.uint32());break;case 8:s.pubsub=mt.codec().decode(n,n.uint32());break;case 9:s.peerStore=Pt.codec().decode(n,n.uint32());break;default:n.skipType(a&7);break}}return s})),o),r.encode=n=>v(n,r.codec()),r.decode=n=>C(n,r.codec())})(rt||(rt={}));var L;(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=()=>pt(e)}(t=r.Type||(r.Type={}));let o;r.codec=()=>(o==null&&(o=T((n,i,s={})=>{if(s.lengthDelimited!==!1&&i.fork(),n.type!=null&&(i.uint32(8),r.Type.codec().encode(n.type,i)),n.error!=null&&(i.uint32(18),De.codec().encode(n.error,i)),n.streamInfo!=null&&(i.uint32(26),Yt.codec().encode(n.streamInfo,i)),n.identify!=null&&(i.uint32(34),Te.codec().encode(n.identify,i)),n.dht!=null&&(i.uint32(42),O.codec().encode(n.dht,i)),n.peers!=null)for(let c of n.peers)i.uint32(50),St.codec().encode(c,i);n.pubsub!=null&&(i.uint32(58),Oe.codec().encode(n.pubsub,i)),n.peerStore!=null&&(i.uint32(66),_e.codec().encode(n.peerStore,i)),s.lengthDelimited!==!1&&i.ldelim()},(n,i)=>{let s={peers:[]},c=i==null?n.len:n.pos+i;for(;n.pos<c;){let a=n.uint32();switch(a>>>3){case 1:s.type=r.Type.codec().decode(n);break;case 2:s.error=De.codec().decode(n,n.uint32());break;case 3:s.streamInfo=Yt.codec().decode(n,n.uint32());break;case 4:s.identify=Te.codec().decode(n,n.uint32());break;case 5:s.dht=O.codec().decode(n,n.uint32());break;case 6:s.peers.push(St.codec().decode(n,n.uint32()));break;case 7:s.pubsub=Oe.codec().decode(n,n.uint32());break;case 8:s.peerStore=_e.codec().decode(n,n.uint32());break;default:n.skipType(a&7);break}}return s})),o),r.encode=n=>v(n,r.codec()),r.decode=n=>C(n,r.codec())})(L||(L={}));var Te;(function(r){let t;r.codec=()=>(t==null&&(t=T((e,o,n={})=>{if(n.lengthDelimited!==!1&&o.fork(),e.id!=null&&e.id.byteLength>0&&(o.uint32(10),o.bytes(e.id)),e.addrs!=null)for(let i of e.addrs)o.uint32(18),o.bytes(i);n.lengthDelimited!==!1&&o.ldelim()},(e,o)=>{let n={id:new Uint8Array(0),addrs:[]},i=o==null?e.len:e.pos+o;for(;e.pos<i;){let s=e.uint32();switch(s>>>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=>v(e,r.codec()),r.decode=e=>C(e,r.codec())})(Te||(Te={}));var Le;(function(r){let t;r.codec=()=>(t==null&&(t=T((e,o,n={})=>{if(n.lengthDelimited!==!1&&o.fork(),e.peer!=null&&e.peer.byteLength>0&&(o.uint32(10),o.bytes(e.peer)),e.addrs!=null)for(let i of e.addrs)o.uint32(18),o.bytes(i);e.timeout!=null&&(o.uint32(24),o.int64(e.timeout)),n.lengthDelimited!==!1&&o.ldelim()},(e,o)=>{let n={peer:new Uint8Array(0),addrs:[]},i=o==null?e.len:e.pos+o;for(;e.pos<i;){let s=e.uint32();switch(s>>>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=>v(e,r.codec()),r.decode=e=>C(e,r.codec())})(Le||(Le={}));var Ne;(function(r){let t;r.codec=()=>(t==null&&(t=T((e,o,n={})=>{if(n.lengthDelimited!==!1&&o.fork(),e.peer!=null&&e.peer.byteLength>0&&(o.uint32(10),o.bytes(e.peer)),e.proto!=null)for(let i of e.proto)o.uint32(18),o.string(i);e.timeout!=null&&(o.uint32(24),o.int64(e.timeout)),n.lengthDelimited!==!1&&o.ldelim()},(e,o)=>{let n={peer:new Uint8Array(0),proto:[]},i=o==null?e.len:e.pos+o;for(;e.pos<i;){let s=e.uint32();switch(s>>>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=>v(e,r.codec()),r.decode=e=>C(e,r.codec())})(Ne||(Ne={}));var Re;(function(r){let t;r.codec=()=>(t==null&&(t=T((e,o,n={})=>{if(n.lengthDelimited!==!1&&o.fork(),e.addr!=null&&e.addr.byteLength>0&&(o.uint32(10),o.bytes(e.addr)),e.proto!=null)for(let i of e.proto)o.uint32(18),o.string(i);n.lengthDelimited!==!1&&o.ldelim()},(e,o)=>{let n={addr:new Uint8Array(0),proto:[]},i=o==null?e.len:e.pos+o;for(;e.pos<i;){let s=e.uint32();switch(s>>>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=>v(e,r.codec()),r.decode=e=>C(e,r.codec())})(Re||(Re={}));var De;(function(r){let t;r.codec=()=>(t==null&&(t=T((e,o,n={})=>{n.lengthDelimited!==!1&&o.fork(),e.msg!=null&&e.msg!==""&&(o.uint32(10),o.string(e.msg)),n.lengthDelimited!==!1&&o.ldelim()},(e,o)=>{let n={msg:""},i=o==null?e.len:e.pos+o;for(;e.pos<i;){let s=e.uint32();switch(s>>>3){case 1:n.msg=e.string();break;default:e.skipType(s&7);break}}return n})),t),r.encode=e=>v(e,r.codec()),r.decode=e=>C(e,r.codec())})(De||(De={}));var Yt;(function(r){let t;r.codec=()=>(t==null&&(t=T((e,o,n={})=>{n.lengthDelimited!==!1&&o.fork(),e.peer!=null&&e.peer.byteLength>0&&(o.uint32(10),o.bytes(e.peer)),e.addr!=null&&e.addr.byteLength>0&&(o.uint32(18),o.bytes(e.addr)),e.proto!=null&&e.proto!==""&&(o.uint32(26),o.string(e.proto)),n.lengthDelimited!==!1&&o.ldelim()},(e,o)=>{let n={peer:new Uint8Array(0),addr:new Uint8Array(0),proto:""},i=o==null?e.len:e.pos+o;for(;e.pos<i;){let s=e.uint32();switch(s>>>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=>v(e,r.codec()),r.decode=e=>C(e,r.codec())})(Yt||(Yt={}));var nt;(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=()=>pt(e)}(t=r.Type||(r.Type={}));let o;r.codec=()=>(o==null&&(o=T((n,i,s={})=>{s.lengthDelimited!==!1&&i.fork(),n.type!=null&&(i.uint32(8),r.Type.codec().encode(n.type,i)),n.peer!=null&&(i.uint32(18),i.bytes(n.peer)),n.cid!=null&&(i.uint32(26),i.bytes(n.cid)),n.key!=null&&(i.uint32(34),i.bytes(n.key)),n.value!=null&&(i.uint32(42),i.bytes(n.value)),n.count!=null&&(i.uint32(48),i.int32(n.count)),n.timeout!=null&&(i.uint32(56),i.int64(n.timeout)),s.lengthDelimited!==!1&&i.ldelim()},(n,i)=>{let s={},c=i==null?n.len:n.pos+i;for(;n.pos<c;){let a=n.uint32();switch(a>>>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})),o),r.encode=n=>v(n,r.codec()),r.decode=n=>C(n,r.codec())})(nt||(nt={}));var O;(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=()=>pt(e)}(t=r.Type||(r.Type={}));let o;r.codec=()=>(o==null&&(o=T((n,i,s={})=>{s.lengthDelimited!==!1&&i.fork(),n.type!=null&&(i.uint32(8),r.Type.codec().encode(n.type,i)),n.peer!=null&&(i.uint32(18),St.codec().encode(n.peer,i)),n.value!=null&&(i.uint32(26),i.bytes(n.value)),s.lengthDelimited!==!1&&i.ldelim()},(n,i)=>{let s={},c=i==null?n.len:n.pos+i;for(;n.pos<c;){let a=n.uint32();switch(a>>>3){case 1:s.type=r.Type.codec().decode(n);break;case 2:s.peer=St.codec().decode(n,n.uint32());break;case 3:s.value=n.bytes();break;default:n.skipType(a&7);break}}return s})),o),r.encode=n=>v(n,r.codec()),r.decode=n=>C(n,r.codec())})(O||(O={}));var St;(function(r){let t;r.codec=()=>(t==null&&(t=T((e,o,n={})=>{if(n.lengthDelimited!==!1&&o.fork(),e.id!=null&&e.id.byteLength>0&&(o.uint32(10),o.bytes(e.id)),e.addrs!=null)for(let i of e.addrs)o.uint32(18),o.bytes(i);n.lengthDelimited!==!1&&o.ldelim()},(e,o)=>{let n={id:new Uint8Array(0),addrs:[]},i=o==null?e.len:e.pos+o;for(;e.pos<i;){let s=e.uint32();switch(s>>>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=>v(e,r.codec()),r.decode=e=>C(e,r.codec())})(St||(St={}));var Pe;(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=()=>pt(e)}(t=r.Type||(r.Type={}));let o;r.codec=()=>(o==null&&(o=T((n,i,s={})=>{s.lengthDelimited!==!1&&i.fork(),n.type!=null&&(i.uint32(8),r.Type.codec().encode(n.type,i)),n.peer!=null&&(i.uint32(18),i.bytes(n.peer)),n.tag!=null&&(i.uint32(26),i.string(n.tag)),n.weight!=null&&(i.uint32(32),i.int64(n.weight)),s.lengthDelimited!==!1&&i.ldelim()},(n,i)=>{let s={},c=i==null?n.len:n.pos+i;for(;n.pos<c;){let a=n.uint32();switch(a>>>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})),o),r.encode=n=>v(n,r.codec()),r.decode=n=>C(n,r.codec())})(Pe||(Pe={}));var ke;(function(r){let t;r.codec=()=>(t==null&&(t=T((e,o,n={})=>{n.lengthDelimited!==!1&&o.fork(),e.peer!=null&&e.peer.byteLength>0&&(o.uint32(10),o.bytes(e.peer)),n.lengthDelimited!==!1&&o.ldelim()},(e,o)=>{let n={peer:new Uint8Array(0)},i=o==null?e.len:e.pos+o;for(;e.pos<i;){let s=e.uint32();switch(s>>>3){case 1:n.peer=e.bytes();break;default:e.skipType(s&7);break}}return n})),t),r.encode=e=>v(e,r.codec()),r.decode=e=>C(e,r.codec())})(ke||(ke={}));var mt;(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=()=>pt(e)}(t=r.Type||(r.Type={}));let o;r.codec=()=>(o==null&&(o=T((n,i,s={})=>{s.lengthDelimited!==!1&&i.fork(),n.type!=null&&(i.uint32(8),r.Type.codec().encode(n.type,i)),n.topic!=null&&(i.uint32(18),i.string(n.topic)),n.data!=null&&(i.uint32(26),i.bytes(n.data)),s.lengthDelimited!==!1&&i.ldelim()},(n,i)=>{let s={},c=i==null?n.len:n.pos+i;for(;n.pos<c;){let a=n.uint32();switch(a>>>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})),o),r.encode=n=>v(n,r.codec()),r.decode=n=>C(n,r.codec())})(mt||(mt={}));var pe;(function(r){let t;r.codec=()=>(t==null&&(t=T((e,o,n={})=>{if(n.lengthDelimited!==!1&&o.fork(),e.from!=null&&(o.uint32(10),o.bytes(e.from)),e.data!=null&&(o.uint32(18),o.bytes(e.data)),e.seqno!=null&&(o.uint32(26),o.bytes(e.seqno)),e.topicIDs!=null)for(let i of e.topicIDs)o.uint32(34),o.string(i);e.signature!=null&&(o.uint32(42),o.bytes(e.signature)),e.key!=null&&(o.uint32(50),o.bytes(e.key)),n.lengthDelimited!==!1&&o.ldelim()},(e,o)=>{let n={topicIDs:[]},i=o==null?e.len:e.pos+o;for(;e.pos<i;){let s=e.uint32();switch(s>>>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=>v(e,r.codec()),r.decode=e=>C(e,r.codec())})(pe||(pe={}));var Oe;(function(r){let t;r.codec=()=>(t==null&&(t=T((e,o,n={})=>{if(n.lengthDelimited!==!1&&o.fork(),e.topics!=null)for(let i of e.topics)o.uint32(10),o.string(i);if(e.peerIDs!=null)for(let i of e.peerIDs)o.uint32(18),o.bytes(i);n.lengthDelimited!==!1&&o.ldelim()},(e,o)=>{let n={topics:[],peerIDs:[]},i=o==null?e.len:e.pos+o;for(;e.pos<i;){let s=e.uint32();switch(s>>>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=>v(e,r.codec()),r.decode=e=>C(e,r.codec())})(Oe||(Oe={}));var Pt;(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=()=>pt(e)}(t=r.Type||(r.Type={}));let o;r.codec=()=>(o==null&&(o=T((n,i,s={})=>{if(s.lengthDelimited!==!1&&i.fork(),n.type!=null&&(i.uint32(8),r.Type.codec().encode(n.type,i)),n.id!=null&&(i.uint32(18),i.bytes(n.id)),n.protos!=null)for(let c of n.protos)i.uint32(26),i.string(c);s.lengthDelimited!==!1&&i.ldelim()},(n,i)=>{let s={protos:[]},c=i==null?n.len:n.pos+i;for(;n.pos<c;){let a=n.uint32();switch(a>>>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})),o),r.encode=n=>v(n,r.codec()),r.decode=n=>C(n,r.codec())})(Pt||(Pt={}));var _e;(function(r){let t;r.codec=()=>(t==null&&(t=T((e,o,n={})=>{if(n.lengthDelimited!==!1&&o.fork(),e.peer!=null&&(o.uint32(10),St.codec().encode(e.peer,o)),e.protos!=null)for(let i of e.protos)o.uint32(18),o.string(i);n.lengthDelimited!==!1&&o.ldelim()},(e,o)=>{let n={protos:[]},i=o==null?e.len:e.pos+o;for(;e.pos<i;){let s=e.uint32();switch(s>>>3){case 1:n.peer=St.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=>v(e,r.codec()),r.decode=e=>C(e,r.codec())})(_e||(_e={}));var zr={upgradeInbound:async r=>r,upgradeOutbound:async r=>r};var q=yt(po(),1);q.default.formatters.b=r=>r==null?"undefined":R.baseEncode(r);q.default.formatters.t=r=>r==null?"undefined":lt.baseEncode(r);q.default.formatters.m=r=>r==null?"undefined":Cr.baseEncode(r);q.default.formatters.p=r=>r==null?"undefined":r.toString();q.default.formatters.c=r=>r==null?"undefined":r.toString();q.default.formatters.k=r=>r==null?"undefined":r.toString();q.default.formatters.a=r=>r==null?"undefined":r.toString();function lc(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 mo(){return{forComponent(r){return Ot(r)}}}function Ot(r){let t=lc(`${r}:trace`);return q.default.enabled(`${r}:trace`)&&q.default.names.map(e=>e.toString()).find(e=>e.includes(":trace"))!=null&&(t=(0,q.default)(`${r}:trace`)),Object.assign((0,q.default)(r),{error:(0,q.default)(`${r}:error`),trace:t})}var tu=Symbol.for("@libp2p/connection");var ru=Symbol.for("@libp2p/content-routing");var iu=Symbol.for("@libp2p/peer-discovery");var go=Symbol.for("@libp2p/peer-id");var au=Symbol.for("@libp2p/peer-routing");var yo;(function(r){r.Accept="accept",r.Ignore="ignore",r.Reject="reject"})(yo||(yo={}));var wo=Symbol.for("@libp2p/transport");var bo;(function(r){r[r.FATAL_ALL=0]="FATAL_ALL",r[r.NO_FATAL=1]="NO_FATAL"})(bo||(bo={}));var jt=class r extends Error{code;type;constructor(t="The operation was aborted"){super(t),this.code=r.code,this.type=r.type}static code="ABORT_ERR";static type="aborted"},P=class extends Error{code;props;constructor(t,e,o){super(t),this.code=e,this.name=o?.name??"CodeError",this.props=o??{}}};var Ve=class extends EventTarget{#t=new Map;listenerCount(t){let e=this.#t.get(t);return e==null?0:e.length}addEventListener(t,e,o){super.addEventListener(t,e,o);let n=this.#t.get(t);n==null&&(n=[],this.#t.set(t,n)),n.push({callback:e,once:(o!==!0&&o!==!1&&o?.once)??!1})}removeEventListener(t,e,o){super.removeEventListener(t.toString(),e??null,o);let n=this.#t.get(t);n!=null&&(n=n.filter(({callback:i})=>i!==e),this.#t.set(t,n))}dispatchEvent(t){let e=super.dispatchEvent(t),o=this.#t.get(t.type);return o==null||(o=o.filter(({once:n})=>!n),this.#t.set(t.type,o)),e}safeDispatchEvent(t,e){return this.dispatchEvent(new te(t,e))}},Xr=class extends Event{detail;constructor(t,e){super(t,e),this.detail=e?.detail}},te=globalThis.CustomEvent??Xr;function _t(r,t){if(r===t)return!0;if(r.byteLength!==t.byteLength)return!1;for(let e=0;e<r.byteLength;e++)if(r[e]!==t[e])return!1;return!0}var uc=Symbol.for("nodejs.util.inspect.custom"),Eo=Object.values(It).map(r=>r.decoder).reduce((r,t)=>r.or(t),It.identity.decoder),xo=114,Io=36,So=37,me=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()})`}[go]=!0;toString(){return this.string==null&&(this.string=R.encode(this.multihash.bytes).slice(1)),this.string}toCID(){return W.createV1(xo,this.multihash)}toBytes(){return this.multihash.bytes}toJSON(){return this.toString()}equals(t){if(t instanceof Uint8Array)return _t(this.multihash.bytes,t);if(typeof t=="string")return dc(t).equals(this);if(t?.multihash?.bytes!=null)return _t(this.multihash.bytes,t.multihash.bytes);throw new Error("not valid Id")}[uc](){return`PeerId(${this.toString()})`}},ge=class extends me{type="RSA";publicKey;constructor(t){super({...t,type:"RSA"}),this.publicKey=t.publicKey}},ye=class extends me{type="Ed25519";publicKey;constructor(t){super({...t,type:"Ed25519"}),this.publicKey=t.multihash.digest}},be=class extends me{type="secp256k1";publicKey;constructor(t){super({...t,type:"secp256k1"}),this.publicKey=t.multihash.digest}};function dc(r,t){if(t=t??Eo,r.charAt(0)==="1"||r.charAt(0)==="Q"){let e=Lt(R.decode(`z${r}`));return r.startsWith("12D")?new ye({multihash:e}):r.startsWith("16U")?new be({multihash:e}):new ge({multihash:e})}return Ut(Eo.decode(r))}function Ut(r){try{let t=Lt(r);if(t.code===Se.code){if(t.digest.length===Io)return new ye({multihash:t});if(t.digest.length===So)return new be({multihash:t})}if(t.code===Ae.code)return new ge({multihash:t})}catch{return fc(W.decode(r))}throw new Error("Supplied PeerID CID is invalid")}function fc(r){if(r==null||r.multihash==null||r.version==null||r.version===1&&r.code!==xo)throw new Error("Supplied PeerID CID is invalid");let t=r.multihash;if(t.code===Ae.code)return new ge({multihash:r.multihash});if(t.code===Se.code){if(t.digest.length===Io)return new ye({multihash:r.multihash});if(t.digest.length===So)return new be({multihash:r.multihash})}throw new Error("Supplied PeerID CID is invalid")}var ii=yt(ft("net"),1);function K(r,t="utf8"){let e=Ce[t];if(e==null)throw new Error(`Unsupported encoding "${t}"`);return(t==="utf8"||t==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?globalThis.Buffer.from(r.buffer,r.byteOffset,r.byteLength).toString("utf8"):e.encoder.encode(r).substring(1)}var hc=Math.pow(2,7),pc=Math.pow(2,14),mc=Math.pow(2,21),Yr=Math.pow(2,28),Qr=Math.pow(2,35),Jr=Math.pow(2,42),Zr=Math.pow(2,49),E=128,B=127;function V(r){if(r<hc)return 1;if(r<pc)return 2;if(r<mc)return 3;if(r<Yr)return 4;if(r<Qr)return 5;if(r<Jr)return 6;if(r<Zr)return 7;if(Number.MAX_SAFE_INTEGER!=null&&r>Number.MAX_SAFE_INTEGER)throw new RangeError("Could not encode varint");return 8}function gc(r,t,e=0){switch(V(r)){case 8:t[e++]=r&255|E,r/=128;case 7:t[e++]=r&255|E,r/=128;case 6:t[e++]=r&255|E,r/=128;case 5:t[e++]=r&255|E,r/=128;case 4:t[e++]=r&255|E,r>>>=7;case 3:t[e++]=r&255|E,r>>>=7;case 2:t[e++]=r&255|E,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(V(r)){case 8:t.set(e++,r&255|E),r/=128;case 7:t.set(e++,r&255|E),r/=128;case 6:t.set(e++,r&255|E),r/=128;case 5:t.set(e++,r&255|E),r/=128;case 4:t.set(e++,r&255|E),r>>>=7;case 3:t.set(e++,r&255|E),r>>>=7;case 2:t.set(e++,r&255|E),r>>>=7;case 1:{t.set(e++,r&255),r>>>=7;break}default:throw new Error("unreachable")}return t}function bc(r,t){let e=r[t],o=0;if(o+=e&B,e<E||(e=r[t+1],o+=(e&B)<<7,e<E)||(e=r[t+2],o+=(e&B)<<14,e<E)||(e=r[t+3],o+=(e&B)<<21,e<E)||(e=r[t+4],o+=(e&B)*Yr,e<E)||(e=r[t+5],o+=(e&B)*Qr,e<E)||(e=r[t+6],o+=(e&B)*Jr,e<E)||(e=r[t+7],o+=(e&B)*Zr,e<E))return o;throw new RangeError("Could not decode varint")}function wc(r,t){let e=r.get(t),o=0;if(o+=e&B,e<E||(e=r.get(t+1),o+=(e&B)<<7,e<E)||(e=r.get(t+2),o+=(e&B)<<14,e<E)||(e=r.get(t+3),o+=(e&B)<<21,e<E)||(e=r.get(t+4),o+=(e&B)*Yr,e<E)||(e=r.get(t+5),o+=(e&B)*Qr,e<E)||(e=r.get(t+6),o+=(e&B)*Jr,e<E)||(e=r.get(t+7),o+=(e&B)*Zr,e<E))return o;throw new RangeError("Could not decode varint")}function At(r,t,e=0){return t==null&&(t=F(V(r))),t instanceof Uint8Array?gc(r,t,e):yc(r,t,e)}function dt(r,t=0){return r instanceof Uint8Array?bc(r,t):wc(r,t)}function ot(r,t){if(globalThis.Buffer!=null)return wt(globalThis.Buffer.concat(r,t));t==null&&(t=r.reduce((n,i)=>n+i.length,0));let e=F(t),o=0;for(let n of r)e.set(n,o),o+=n.length;return wt(e)}var Ge=class{index=0;input="";new(t){return this.index=0,this.input=t,this}readAtomically(t){let e=this.index,o=t();return o===void 0&&(this.index=e),o}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,o){return this.readAtomically(()=>{if(!(e>0&&this.readGivenChar(t)===void 0))return o()})}readNumber(t,e,o,n){return this.readAtomically(()=>{let i=0,s=0,c=this.peekChar();if(c===void 0)return;let a=c==="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,t);if(!Number.isNaN(h))return h});if(l===void 0)break;if(i*=t,i+=l,i>f||(s+=1,e!==void 0&&s>e))return}if(s!==0)return!o&&a&&s>1?void 0:i})}readIPv4Addr(){return this.readAtomically(()=>{let t=new Uint8Array(4);for(let e=0;e<t.length;e++){let o=this.readSeparator(".",e,()=>this.readNumber(10,3,!1,1));if(o===void 0)return;t[e]=o}return t})}readIPv6Addr(){let t=e=>{for(let o=0;o<e.length/2;o++){let n=o*2;if(o<e.length-3){let s=this.readSeparator(":",o,()=>this.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 i=this.readSeparator(":",o,()=>this.readNumber(16,4,!0,2));if(i===void 0)return[n,!1];e[n]=i>>8,e[n+1]=i&255}return[e.length,!1]};return this.readAtomically(()=>{let e=new Uint8Array(16),[o,n]=t(e);if(o===16)return e;if(n||this.readGivenChar(":")===void 0||this.readGivenChar(":")===void 0)return;let i=new Uint8Array(14),s=16-(o+2),[c]=t(i.subarray(0,s));return e.set(i.subarray(0,c),16-c),e})}readIPAddr(){return this.readIPv4Addr()??this.readIPv6Addr()}};var rd=new Ge;var ud=parseInt("0xFFFF",16),dd=new Uint8Array([0,0,0,0,0,0,0,0,0,0,255,255]);var it=ft("node:net");function $e(r){return!!(0,it.isIP)(r)}var vo=it.isIPv4,Cc=it.isIPv6,qr=function(r){let t=0;if(r=r.toString().trim(),vo(r)){let e=new Uint8Array(t+4);return r.split(/\./g).forEach(o=>{e[t++]=parseInt(o,10)&255}),e}if(Cc(r)){let e=r.split(":",8),o;for(o=0;o<e.length;o++){let i=vo(e[o]),s;i&&(s=qr(e[o]),e[o]=K(s.slice(0,2),"base16")),s!=null&&++o<8&&e.splice(o,0,K(s.slice(2,4),"base16"))}if(e[0]==="")for(;e.length<8;)e.unshift("0");else if(e[e.length-1]==="")for(;e.length<8;)e.push("0");else if(e.length<8){for(o=0;o<e.length&&e[o]!=="";o++);let i=[o,1];for(o=9-e.length;o>0;o--)i.push("0");e.splice.apply(e,i)}let n=new Uint8Array(t+16);for(o=0;o<e.length;o++){let i=parseInt(e[o],16);n[t++]=i>>8&255,n[t++]=i&255}return n}throw new Error("invalid ip address")},To=function(r,t=0,e){t=~~t,e=e??r.length-t;let o=new DataView(r.buffer);if(e===4){let n=[];for(let i=0;i<e;i++)n.push(r[t+i]);return n.join(".")}if(e===16){let n=[];for(let i=0;i<e;i+=2)n.push(o.getUint16(t+i).toString(16));return n.join(":").replace(/(^|:)0(:0)*:0(:|$)/,"$1::$3").replace(/:{3,4}/,"::")}return""};var ee={},jr={},Tc=[[4,32,"ip4"],[6,16,"tcp"],[33,16,"dccp"],[41,128,"ip6"],[42,-1,"ip6zone"],[43,8,"ipcidr"],[53,-1,"dns",!0],[54,-1,"dns4",!0],[55,-1,"dns6",!0],[56,-1,"dnsaddr",!0],[132,16,"sctp"],[273,16,"udp"],[275,0,"p2p-webrtc-star"],[276,0,"p2p-webrtc-direct"],[277,0,"p2p-stardust"],[280,0,"webrtc-direct"],[281,0,"webrtc"],[290,0,"p2p-circuit"],[301,0,"udt"],[302,0,"utp"],[400,-1,"unix",!1,!0],[421,-1,"ipfs"],[421,-1,"p2p"],[443,0,"https"],[444,96,"onion"],[445,296,"onion3"],[446,-1,"garlic64"],[448,0,"tls"],[449,-1,"sni"],[460,0,"quic"],[461,0,"quic-v1"],[465,0,"webtransport"],[466,-1,"certhash"],[477,0,"ws"],[478,0,"wss"],[479,0,"p2p-websocket-star"],[480,0,"http"],[777,-1,"memory"]];Tc.forEach(r=>{let t=Lc(...r);jr[t.code]=t,ee[t.name]=t});function Lc(r,t,e,o,n){return{code:r,size:t,name:e,resolvable:!!o,path:!!n}}function x(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(ee[r]!=null)return ee[r];throw new Error(`no protocol with name: ${r}`)}throw new Error(`invalid protocol id type: ${typeof r}`)}var Qd=x("ip4"),Jd=x("ip6"),Zd=x("ipcidr");function en(r,t){switch(x(r).code){case 4:case 41:return Rc(t);case 42:return Ro(t);case 6:case 273:case 33:case 132:return Po(t).toString();case 53:case 54:case 55:case 56:case 400:case 449:case 777:return Ro(t);case 421:return Oc(t);case 444:return Do(t);case 445:return Do(t);case 466:return kc(t);default:return K(t,"base16")}}function rn(r,t){switch(x(r).code){case 4:return Lo(t);case 41:return Lo(t);case 42:return No(t);case 6:case 273:case 33:case 132:return nn(parseInt(t,10));case 53:case 54:case 55:case 56:case 400:case 449:case 777:return No(t);case 421:return Dc(t);case 444:return _c(t);case 445:return Uc(t);case 466:return Pc(t);default:return Rt(t,"base16")}}var tn=Object.values(It).map(r=>r.decoder),Nc=function(){let r=tn[0].or(tn[1]);return tn.slice(2).forEach(t=>r=r.or(t)),r}();function Lo(r){if(!$e(r))throw new Error("invalid ip address");return qr(r)}function Rc(r){let t=To(r,0,r.length);if(t==null)throw new Error("ipBuff is required");if(!$e(t))throw new Error("invalid ip address");return t}function nn(r){let t=new ArrayBuffer(2);return new DataView(t).setUint16(0,r),new Uint8Array(t)}function Po(r){return new DataView(r.buffer).getUint16(r.byteOffset)}function No(r){let t=Rt(r),e=Uint8Array.from(At(t.length));return ot([e,t],e.length+t.length)}function Ro(r){let t=dt(r);if(r=r.slice(V(t)),r.length!==t)throw new Error("inconsistent lengths");return K(r)}function Dc(r){let t;r[0]==="Q"||r[0]==="1"?t=Lt(R.decode(`z${r}`)).bytes:t=W.parse(r).multihash.bytes;let e=Uint8Array.from(At(t.length));return ot([e,t],e.length+t.length)}function Pc(r){let t=Nc.decode(r),e=Uint8Array.from(At(t.length));return ot([e,t],e.length+t.length)}function kc(r){let t=dt(r),e=r.slice(V(t));if(e.length!==t)throw new Error("inconsistent lengths");return"u"+K(e,"base64url")}function Oc(r){let t=dt(r),e=r.slice(V(t));if(e.length!==t)throw new Error("inconsistent lengths");return K(e,"base58btc")}function _c(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=lt.decode("b"+t[0]),o=parseInt(t[1],10);if(o<1||o>65536)throw new Error("Port number is not in range(1, 65536)");let n=nn(o);return ot([e,n],e.length+n.length)}function Uc(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=lt.decode(`b${t[0]}`),o=parseInt(t[1],10);if(o<1||o>65536)throw new Error("Port number is not in range(1, 65536)");let n=nn(o);return ot([e,n],e.length+n.length)}function Do(r){let t=r.slice(0,r.length-2),e=r.slice(r.length-2),o=K(t,"base32"),n=Po(e);return`${o}:${n}`}function ko(r){r=on(r);let t=[],e=[],o=null,n=r.split("/").slice(1);if(n.length===1&&n[0]==="")return{bytes:new Uint8Array,string:"/",tuples:[],stringTuples:[],path:null};for(let i=0;i<n.length;i++){let s=n[i],c=x(s);if(c.size===0){t.push([c.code]),e.push([c.code]);continue}if(i++,i>=n.length)throw _o("invalid address: "+r);if(c.path===!0){o=on(n.slice(i).join("/")),t.push([c.code,rn(c.code,o)]),e.push([c.code,o]);break}let a=rn(c.code,n[i]);t.push([c.code,a]),e.push([c.code,en(c.code,a)])}return{string:Oo(e),bytes:cn(t),tuples:t,stringTuples:e,path:o}}function sn(r){let t=[],e=[],o=null,n=0;for(;n<r.length;){let i=dt(r,n),s=V(i),c=x(i),a=Fc(c,r.slice(n+s));if(a===0){t.push([i]),e.push([i]),n+=s;continue}let f=r.slice(n+s,n+s+a);if(n+=a+s,n>r.length)throw _o("Invalid address Uint8Array: "+K(r,"base16"));t.push([i,f]);let l=en(i,f);if(e.push([i,l]),c.path===!0){o=l;break}}return{bytes:Uint8Array.from(r),string:Oo(e),tuples:t,stringTuples:e,path:o}}function Oo(r){let t=[];return r.map(e=>{let o=x(e[0]);return t.push(o.name),e.length>1&&e[1]!=null&&t.push(e[1]),null}),on(t.join("/"))}function cn(r){return ot(r.map(t=>{let e=x(t[0]),o=Uint8Array.from(At(e.code));return t.length>1&&t[1]!=null&&(o=ot([o,t[1]])),o}))}function Fc(r,t){if(r.size>0)return r.size/8;if(r.size===0)return 0;{let e=dt(t instanceof Uint8Array?t:Uint8Array.from(t));return e+V(e)}}function on(r){return"/"+r.trim().split("/").filter(t=>t).join("/")}function _o(r){return new Error("Error parsing address: "+r)}var Mc=Symbol.for("nodejs.util.inspect.custom"),an=Symbol.for("@multiformats/js-multiaddr/multiaddr"),Bc=[x("dns").code,x("dns4").code,x("dns6").code,x("dnsaddr").code],ze=class r{bytes;#t;#e;#r;#n;[an]=!0;constructor(t){t==null&&(t="");let e;if(t instanceof Uint8Array)e=sn(t);else if(typeof t=="string"){if(t.length>0&&t.charAt(0)!=="/")throw new Error(`multiaddr "${t}" must start with a "/"`);e=ko(t)}else if(Fo(t))e=sn(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,o,n,i="",s=x("tcp"),c=x("udp"),a=x("ip4"),f=x("ip6"),l=x("dns6"),u=x("ip6zone");for(let[y,p]of this.stringTuples())y===u.code&&(i=`%${p??""}`),Bc.includes(y)&&(e=s.name,n=443,o=`${p??""}${i}`,t=y===l.code?6:4),(y===s.code||y===c.code)&&(e=x(y).name,n=parseInt(p??"")),(y===a.code||y===f.code)&&(e=x(y).name,o=`${p??""}${i}`,t=y===f.code?6:4);if(t==null||e==null||o==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:o,transport:e,port:n}}protos(){return this.#e.map(([t])=>Object.assign({},x(t)))}protoCodes(){return this.#e.map(([t])=>t)}protoNames(){return this.#e.map(([t])=>x(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(),o=this.toString(),n=o.lastIndexOf(e);if(n<0)throw new Error(`Address ${this.toString()} does not contain subaddress: ${t.toString()}`);return new r(o.slice(0,n))}decapsulateCode(t){let e=this.tuples();for(let o=e.length-1;o>=0;o--)if(e[o][0]===t)return new r(cn(e.slice(0,o)));return this}getPeerId(){try{let t=[];this.stringTuples().forEach(([o,n])=>{o===ee.p2p.code&&t.push([o,n]),o===ee["p2p-circuit"].code&&(t=[])});let e=t.pop();if(e?.[1]!=null){let o=e[1];return o[0]==="Q"||o[0]==="1"?K(R.decode(`z${o}`),"base58btc"):K(W.parse(o).multihash.bytes,"base58btc")}return null}catch{return null}}getPath(){return this.#n}equals(t){return _t(this.bytes,t.bytes)}async resolve(t){let e=this.protos().find(i=>i.resolvable);if(e==null)return[this];let o=Uo.get(e.name);if(o==null)throw new P(`no available resolver for ${e.name}`,"ERR_NO_AVAILABLE_RESOLVER");return(await o(this,t)).map(i=>new r(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)}[Mc](){return`Multiaddr(${this.#t})`}};var Uo=new Map;function Fo(r){return!!r?.[an]}function st(r){return new ze(r)}var Vc=d("dns4"),Gc=d("dns6"),$c=d("dnsaddr"),Mt=A(d("dns"),$c,Vc,Gc),Ke=A(d("ip4"),d("ip6")),vt=A(m(Ke,d("tcp")),m(Mt,d("tcp"))),Xe=m(Ke,d("udp")),zc=m(Xe,d("utp")),Hc=m(Xe,d("quic")),Wc=m(Xe,d("quic-v1")),ln=A(m(vt,d("ws")),m(Mt,d("ws"))),He=A(m(ln,d("p2p")),ln),un=A(m(vt,d("wss")),m(Mt,d("wss")),m(vt,d("tls"),d("ws")),m(Mt,d("tls"),d("ws"))),We=A(m(un,d("p2p")),un),dn=A(m(vt,d("http")),m(Ke,d("http")),m(Mt,d("http"))),fn=A(m(vt,d("https")),m(Ke,d("https")),m(Mt,d("https"))),Mo=m(Xe,d("webrtc-direct"),d("certhash")),Go=A(m(Mo,d("p2p")),Mo),Bo=m(Wc,d("webtransport"),d("certhash"),d("certhash")),$o=A(m(Bo,d("p2p")),Bo),zo=A(m(He,d("p2p-webrtc-star"),d("p2p")),m(We,d("p2p-webrtc-star"),d("p2p")),m(He,d("p2p-webrtc-star")),m(We,d("p2p-webrtc-star"))),Af=A(m(He,d("p2p-websocket-star"),d("p2p")),m(We,d("p2p-websocket-star"),d("p2p")),m(He,d("p2p-websocket-star")),m(We,d("p2p-websocket-star"))),Ho=A(m(dn,d("p2p-webrtc-direct"),d("p2p")),m(fn,d("p2p-webrtc-direct"),d("p2p")),m(dn,d("p2p-webrtc-direct")),m(fn,d("p2p-webrtc-direct"))),Bt=A(ln,un,dn,fn,zo,Ho,vt,zc,Hc,Mt,Go,$o),Cf=A(m(Bt,d("p2p-stardust"),d("p2p")),m(Bt,d("p2p-stardust"))),Ct=A(m(Bt,d("p2p")),zo,Ho,Go,$o,d("p2p")),Vo=A(m(Ct,d("p2p-circuit"),Ct),m(Ct,d("p2p-circuit")),m(d("p2p-circuit"),Ct),m(Bt,d("p2p-circuit")),m(d("p2p-circuit"),Bt),d("p2p-circuit")),Wo=()=>A(m(Vo,Wo),Vo),Ft=Wo(),vf=A(m(Ft,Ct,Ft),m(Ct,Ft),m(Ft,Ct),Ft,Ct);var Tf=A(m(Ft,d("webrtc"),d("p2p")),m(Ft,d("webrtc")),m(Bt,d("webrtc"),d("p2p")),m(Bt,d("webrtc")),d("webrtc"));function Ko(r){function t(e){let o;try{o=st(e)}catch{return!1}let n=r(o.protoNames());return n===null?!1:n===!0||n===!1?n:n.length===0}return t}function m(...r){function t(e){if(e.length<r.length)return null;let o=e;return r.some(n=>(o=typeof n=="function"?n().partialMatch(e):n.partialMatch(e),Array.isArray(o)&&(e=o),o===null)),o}return{toString:function(){return"{ "+r.join(" ")+" }"},input:r,matches:Ko(t),partialMatch:t}}function A(...r){function t(o){let n=null;return r.some(i=>{let s=typeof i=="function"?i().partialMatch(o):i.partialMatch(o);return s!=null?(n=s,!0):!1}),n}return{toString:function(){return"{ "+r.join(" ")+" }"},input:r,matches:Ko(t),partialMatch:t}}function d(r){let t=r;function e(n){let i;try{i=st(n)}catch{return!1}let s=i.protoNames();return s.length===1&&s[0]===t}function o(n){return n.length===0?null:n[0]===t?n.slice(1):null}return{toString:function(){return t},matches:e,partialMatch:o}}var oi=yt(ft("net"),1);var hn={ERR_INVALID_IP_PARAMETER:"ERR_INVALID_IP_PARAMETER",ERR_INVALID_PORT_PARAMETER:"ERR_INVALID_PORT_PARAMETER",ERR_INVALID_IP:"ERR_INVALID_IP"};function Xo(r,t){if(typeof r!="string")throw new P(`invalid ip provided: ${r}`,hn.ERR_INVALID_IP_PARAMETER);if(typeof t=="string"&&(t=parseInt(t)),isNaN(t))throw new P(`invalid port provided: ${t}`,hn.ERR_INVALID_PORT_PARAMETER);if((0,it.isIPv4)(r))return st(`/ip4/${r}/tcp/${t}`);if((0,it.isIPv6)(r))return st(`/ip6/${r}/tcp/${t}`);throw new P(`invalid ip:port for creating a multiaddr: ${r}:${t}`,hn.ERR_INVALID_IP)}var ni=yt(ei(),1);var gn=yt(ft("os"),1),ri=yt(ft("path"),1);var Zc={ip4:"IPv4",ip6:"IPv6"};function ne(r,t={}){let e=r.getPath();return e!=null?gn.default.platform()==="win32"?{path:ri.default.join("\\\\.\\pipe\\",e)}:{path:e}:{...t,...r.toOptions()}}function yn(r,t,e){let o=n=>st(`/${r}/${n}/tcp/${e}`);return(qc(t)?ta(Zc[r]):[t]).map(o)}function qc(r){return["0.0.0.0","::"].includes(r)}var jc=gn.default.networkInterfaces();function ta(r){let t=[];for(let[,e]of Object.entries(jc))if(e!=null)for(let o of e)o.family===r&&t.push(o.address);return t}var Qe=(r,t)=>{let e=t.logger.forComponent("libp2p:tcp:socket"),o=t.metrics,n=t.metricPrefix??"",i=t.socketInactivityTimeout??3e5,s=t.socketCloseTimeout??500;t.listeningAddr?.getPath()!=null&&(t.remoteAddr=t.listeningAddr),t.remoteAddr?.getPath()!=null&&(t.localAddr=t.remoteAddr);let c;if(t.remoteAddr!=null)c=t.remoteAddr;else{if(r.remoteAddress==null||r.remotePort==null)throw new P("Could not determine remote address or port","ERR_NO_REMOTE_ADDRESS");c=Xo(r.remoteAddress,r.remotePort)}let a=ne(c),f=a.path??`${a.host??""}:${a.port??""}`,{sink:l,source:u}=ni.default.duplex(r);r.setTimeout(i,()=>{e("%s socket read timeout",f),o?.increment({[`${n}timeout`]:!0});let y;r.readable&&(y=new P("Socket read timeout","ERR_SOCKET_READ_TIMEOUT")),r.destroy(y)}),r.once("close",()=>{e("%s socket close",f),o?.increment({[`${n}close`]:!0}),h.timeline.close==null&&(h.timeline.close=Date.now())}),r.once("end",()=>{e("%s socket end",f),o?.increment({[`${n}end`]:!0})});let h={async sink(y){try{await l(async function*(){for await(let p of y)p instanceof Uint8Array?yield p:yield p.subarray()}())}catch(p){p.type!=="aborted"&&e(p)}r.end()},source:u,remoteAddr:c,timeline:{open:Date.now()},async close(y={}){if(r.destroyed){e("%s socket was already destroyed when trying to close",f);return}if(y.signal==null){let p=AbortSignal.timeout(s);y={...y,signal:p}}try{e("%s closing socket",f),await new Promise((p,w)=>{r.once("close",()=>{e("%s socket closed",f),p()}),r.once("error",g=>{e("%s socket error",f,g),h.timeline.close==null&&(h.timeline.close=Date.now()),w(g)}),r.setTimeout(s),r.end(),r.writableLength>0?r.once("drain",()=>{e("%s socket drained",f),r.destroy()}):r.destroy()})}catch(p){this.abort(p)}},abort:y=>{e("%s socket abort due to error",f,y),r.destroy(y)},log:e};return h};async function bn(r,t){try{await r.close()}catch(e){t.log.error("an error occurred closing the connection",e)}}var k;(function(r){r[r.INACTIVE=0]="INACTIVE",r[r.ACTIVE=1]="ACTIVE",r[r.PAUSED=2]="PAUSED"})(k||(k={}));var Je=class extends Ve{context;server;connections=new Set;status={code:k.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=oi.default.createServer(t,this.onSocket.bind(this)),t.maxConnections!==void 0&&(this.server.maxConnections=t.maxConnections),t.closeServerOnMaxConnections!=null&&t.closeServerOnMaxConnections.closeAbove<t.closeServerOnMaxConnections.listenBelow)throw new P("closeAbove must be >= listenBelow","ERROR_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]:k.ACTIVE})}this.dispatchEvent(new te("listening"))}).on("error",e=>{this.metrics?.errors.increment({[`${this.addr} listen_error`]:!0}),this.dispatchEvent(new te("error",{detail:e}))}).on("close",()=>{this.metrics?.status.update({[this.addr]:this.status.code}),this.status.code!==k.PAUSED&&this.dispatchEvent(new te("close"))})}onSocket(t){if(this.status.code!==k.ACTIVE)throw new P("Server is is not listening yet","ERR_SERVER_NOT_RUNNING");t.on("error",o=>{this.log("socket error",o),this.metrics?.events.increment({[`${this.addr} error`]:!0})});let e;try{e=Qe(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(o){this.log.error("inbound connection failed",o),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(o=>{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.context.closeServerOnMaxConnections.listenBelow&&this.resume().catch(n=>{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(o),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.dispatchEvent(new te("connection",{detail:o}))}).catch(async o=>{this.log.error("inbound connection failed",o),this.metrics?.errors.increment({[`${this.addr} inbound_upgrade`]:!0}),await bn(e,{log:this.log})}).catch(o=>{this.log.error("closing inbound connection failed",o)})}catch(o){this.log.error("inbound connection failed",o),bn(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===k.INACTIVE)return[];let t=[],e=this.server.address(),{listeningAddr:o,peerId:n}=this.status;if(e==null)return[];if(typeof e=="string")t=[o];else try{o.toString().startsWith("/ip4")?t=t.concat(yn("ip4",e.address,e.port)):e.family==="IPv6"&&(t=t.concat(yn("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=>n!=null?i.encapsulate(`/p2p/${n}`):i)}async listen(t){if(this.status.code===k.ACTIVE||this.status.code===k.PAUSED)throw new P("server is already listening","ERR_SERVER_ALREADY_LISTENING");let e=t.getPeerId(),o=e==null?t.decapsulateCode(421):t,{backlog:n}=this.context;try{this.status={code:k.ACTIVE,listeningAddr:o,peerId:e,netConfig:ne(o,{backlog:n})},await this.resume()}catch(i){throw this.status={code:k.INACTIVE},i}}async close(){await Promise.all([Promise.all(Array.from(this.connections.values()).map(async t=>bn(t,{log:this.log}))),this.pause(!0).catch(t=>{this.log.error("error attempting to close server once connection count over limit",t)})])}async resume(){if(this.server.listening||this.status.code===k.INACTIVE)return;let t=this.status.netConfig;await new Promise((e,o)=>{this.server.once("error",o),this.server.listen(t,e)}),this.status={...this.status,code:k.ACTIVE},this.log("Listening on %s",this.server.address())}async pause(t){if(!this.server.listening&&this.status.code===k.PAUSED&&t){this.status={code:k.INACTIVE};return}!this.server.listening||this.status.code!==k.ACTIVE||(this.log("Closing server on %s",this.server.address()),this.status=t?{code:k.INACTIVE}:{...this.status,code:k.PAUSED},await new Promise((e,o)=>{this.server.close(n=>{n!=null?o(n):e()})}))}};var En=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"})})}[wo]=!0;[Symbol.toStringTag]="@libp2p/tcp";async dial(t,e){e.keepAlive=e.keepAlive??!0,e.noDelay=e.noDelay??!0;let o=await this._connect(t,e);o.on("error",c=>{this.log("socket error",c)});let n=Qe(o,{remoteAddr:t,socketInactivityTimeout:this.opts.outboundSocketInactivityTimeout,socketCloseTimeout:this.opts.socketCloseTimeout,metrics:this.metrics?.dialerEvents,logger:this.components.logger}),i=()=>{n.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",n.remoteAddr);let s=await e.upgrader.upgradeOutbound(n);if(this.log("outbound connection %s upgraded",n.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 jt;return s}async _connect(t,e){if(e.signal?.aborted===!0)throw new jt;return new Promise((o,n)=>{let i=Date.now(),s=ne(t,{...this.opts.dialOpts??{},...e});this.log("dialing %a",t);let c=ii.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}),h(y)},f=()=>{this.log("connection timeout %a",t),this.metrics?.dialerEvents.increment({timeout:!0});let y=new P(`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}),h()},u=()=>{this.log("connection aborted %a",t),this.metrics?.dialerEvents.increment({abort:!0}),c.destroy(),h(new jt)},h=y=>{if(c.removeListener("error",a),c.removeListener("timeout",f),c.removeListener("connect",l),e.signal!=null&&e.signal.removeEventListener("abort",u),y!=null){n(y);return}o(c)};c.on("error",a),c.on("timeout",f),c.on("connect",l),e.signal!=null&&e.signal.addEventListener("abort",u)})}createListener(t){return new Je({...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})}filter(t){return t=Array.isArray(t)?t:[t],t.filter(e=>e.protoCodes().includes(290)?!1:e.protoCodes().includes(400)?!0:vt.matches(e.decapsulateCode(421)))}};function si(r={}){return t=>new En(t,r)}var ai=Symbol.for("@achingbrain/uint8arraylist");function ci(r,t){if(t==null||t<0)throw new RangeError("index is out of bounds");let e=0;for(let o of r){let n=e+o.byteLength;if(t<n)return{buf:o,index:t-e};e=n}throw new RangeError("index is out of bounds")}function Ze(r){return!!r?.[ai]}var ct=class r{bufs;length;[ai]=!0;constructor(...t){this.bufs=[],this.length=0,t.length>0&&this.appendAll(t)}*[Symbol.iterator](){yield*this.bufs}get byteLength(){return this.length}append(...t){this.appendAll(t)}appendAll(t){let e=0;for(let o of t)if(o instanceof Uint8Array)e+=o.byteLength,this.bufs.push(o);else if(Ze(o))e+=o.byteLength,this.bufs.push(...o.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 o of t.reverse())if(o instanceof Uint8Array)e+=o.byteLength,this.bufs.unshift(o);else if(Ze(o))e+=o.byteLength,this.bufs.unshift(...o.bufs);else throw new Error("Could not prepend value, must be an Uint8Array or a Uint8ArrayList");this.length+=e}get(t){let e=ci(this.bufs,t);return e.buf[e.index]}set(t,e){let o=ci(this.bufs,t);o.buf[o.index]=e}write(t,e=0){if(t instanceof Uint8Array)for(let o=0;o<t.length;o++)this.set(e+o,t[o]);else if(Ze(t))for(let o=0;o<t.length;o++)this.set(e+o,t.get(o));else throw new Error("Could not write value, must be an Uint8Array or a Uint8ArrayList")}consume(t){if(t=Math.trunc(t),!(Number.isNaN(t)||t<=0)){if(t===this.byteLength){this.bufs=[],this.length=0;return}for(;this.bufs.length>0;)if(t>=this.bufs[0].byteLength)t-=this.bufs[0].byteLength,this.length-=this.bufs[0].byteLength,this.bufs.shift();else{this.bufs[0]=this.bufs[0].subarray(t),this.length-=t;break}}}slice(t,e){let{bufs:o,length:n}=this._subList(t,e);return ot(o,n)}subarray(t,e){let{bufs:o,length:n}=this._subList(t,e);return o.length===1?o[0]:ot(o,n)}sublist(t,e){let{bufs:o,length:n}=this._subList(t,e),i=new r;return i.length=n,i.bufs=[...o],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 o=[],n=0;for(let i=0;i<this.bufs.length;i++){let s=this.bufs[i],c=n,a=c+s.byteLength;if(n=a,t>=a)continue;let f=t>=c&&t<a,l=e>c&&e<=a;if(f&&l){if(t===c&&e===a){o.push(s);break}let u=t-c;o.push(s.subarray(u,u+(e-t)));break}if(f){if(t===0){o.push(s);continue}o.push(s.subarray(t-c));continue}if(l){if(e===a){o.push(s);break}o.push(s.subarray(0,e-c));break}o.push(s)}return{bufs:o,length:e-t}}indexOf(t,e=0){if(!Ze(t)&&!(t instanceof Uint8Array))throw new TypeError('The "value" argument must be a Uint8ArrayList or Uint8Array');let o=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=o.byteLength;if(n===0)throw new TypeError("search must be at least 1 byte long");let i=256,s=new Int32Array(i);for(let u=0;u<i;u++)s[u]=-1;for(let u=0;u<n;u++)s[o[u]]=u;let c=s,a=this.byteLength-o.byteLength,f=o.byteLength-1,l;for(let u=e;u<=a;u+=l){l=0;for(let h=f;h>=0;h--){let y=this.get(u+h);if(o[h]!==y){l=Math.max(1,h-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 o=F(1);new DataView(o.buffer,o.byteOffset,o.byteLength).setInt8(0,e),this.write(o,t)}getInt16(t,e){let o=this.subarray(t,t+2);return new DataView(o.buffer,o.byteOffset,o.byteLength).getInt16(0,e)}setInt16(t,e,o){let n=ht(2);new DataView(n.buffer,n.byteOffset,n.byteLength).setInt16(0,e,o),this.write(n,t)}getInt32(t,e){let o=this.subarray(t,t+4);return new DataView(o.buffer,o.byteOffset,o.byteLength).getInt32(0,e)}setInt32(t,e,o){let n=ht(4);new DataView(n.buffer,n.byteOffset,n.byteLength).setInt32(0,e,o),this.write(n,t)}getBigInt64(t,e){let o=this.subarray(t,t+8);return new DataView(o.buffer,o.byteOffset,o.byteLength).getBigInt64(0,e)}setBigInt64(t,e,o){let n=ht(8);new DataView(n.buffer,n.byteOffset,n.byteLength).setBigInt64(0,e,o),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 o=F(1);new DataView(o.buffer,o.byteOffset,o.byteLength).setUint8(0,e),this.write(o,t)}getUint16(t,e){let o=this.subarray(t,t+2);return new DataView(o.buffer,o.byteOffset,o.byteLength).getUint16(0,e)}setUint16(t,e,o){let n=ht(2);new DataView(n.buffer,n.byteOffset,n.byteLength).setUint16(0,e,o),this.write(n,t)}getUint32(t,e){let o=this.subarray(t,t+4);return new DataView(o.buffer,o.byteOffset,o.byteLength).getUint32(0,e)}setUint32(t,e,o){let n=ht(4);new DataView(n.buffer,n.byteOffset,n.byteLength).setUint32(0,e,o),this.write(n,t)}getBigUint64(t,e){let o=this.subarray(t,t+8);return new DataView(o.buffer,o.byteOffset,o.byteLength).getBigUint64(0,e)}setBigUint64(t,e,o){let n=ht(8);new DataView(n.buffer,n.byteOffset,n.byteLength).setBigUint64(0,e,o),this.write(n,t)}getFloat32(t,e){let o=this.subarray(t,t+4);return new DataView(o.buffer,o.byteOffset,o.byteLength).getFloat32(0,e)}setFloat32(t,e,o){let n=ht(4);new DataView(n.buffer,n.byteOffset,n.byteLength).setFloat32(0,e,o),this.write(n,t)}getFloat64(t,e){let o=this.subarray(t,t+8);return new DataView(o.buffer,o.byteOffset,o.byteLength).getFloat64(0,e)}setFloat64(t,e,o){let n=ht(8);new DataView(n.buffer,n.byteOffset,n.byteLength).setFloat64(0,e,o),this.write(n,t)}equals(t){if(t==null||!(t instanceof r)||t.bufs.length!==this.bufs.length)return!1;for(let e=0;e<this.bufs.length;e++)if(!_t(this.bufs[e],t.bufs[e]))return!1;return!0}static fromUint8Arrays(t,e){let o=new r;return o.bufs=t,e==null&&(e=t.reduce((n,i)=>n+i.byteLength,0)),o.length=e,o}};function qe(r){return r[Symbol.asyncIterator]!=null}var je=r=>{let t=V(r),e=F(t);return At(r,e),je.bytes=t,e};je.bytes=0;function Vt(r,t){t=t??{};let e=t.lengthEncoder??je;function*o(n){let i=e(n.byteLength);i instanceof Uint8Array?yield i:yield*i,n instanceof Uint8Array?yield n:yield*n}return qe(r)?async function*(){for await(let n of r)yield*o(n)}():function*(){for(let n of r)yield*o(n)}()}Vt.single=(r,t)=>{t=t??{};let e=t.lengthEncoder??je;return new ct(e(r.byteLength),r)};var oe=yt(di(),1);var sa=8,ca=1024*1024*4,Gt;(function(r){r[r.LENGTH=0]="LENGTH",r[r.DATA=1]="DATA"})(Gt||(Gt={}));var In=r=>{let t=dt(r);return In.bytes=V(t),t};In.bytes=0;function xn(r,t){let e=new ct,o=Gt.LENGTH,n=-1,i=t?.lengthDecoder??In,s=t?.maxLengthLength??sa,c=t?.maxDataLength??ca;function*a(){for(;e.byteLength>0;){if(o===Gt.LENGTH)try{if(n=i(e),n<0)throw(0,oe.default)(new Error("invalid message length"),"ERR_INVALID_MSG_LENGTH");if(n>c)throw(0,oe.default)(new Error("message length too long"),"ERR_MSG_DATA_TOO_LONG");let f=i.bytes;e.consume(f),t?.onLength!=null&&t.onLength(n),o=Gt.DATA}catch(f){if(f instanceof RangeError){if(e.byteLength>s)throw(0,oe.default)(new Error("message length length too long"),"ERR_MSG_LENGTH_TOO_LONG");break}throw f}if(o===Gt.DATA){if(e.byteLength<n)break;let f=e.sublist(0,n);e.consume(n),t?.onData!=null&&t.onData(f),yield f,o=Gt.LENGTH}}}return qe(r)?async function*(){for await(let f of r)e.append(f),yield*a();if(e.byteLength>0)throw(0,oe.default)(new Error("unexpected end of input"),"ERR_UNEXPECTED_EOF")}():function*(){for(let f of r)e.append(f),yield*a();if(e.byteLength>0)throw(0,oe.default)(new Error("unexpected end of input"),"ERR_UNEXPECTED_EOF")}()}xn.fromReader=(r,t)=>{let e=1,o=async function*(){for(;;)try{let{done:i,value:s}=await r.next(e);if(i===!0)return;s!=null&&(yield s)}catch(i){if(i.code==="ERR_UNDER_READ")return{done:!0,value:null};throw i}finally{e=1}}();return xn(o,{...t??{},onLength:i=>{e=i}})};function gt(){let r={};return r.promise=new Promise((t,e)=>{r.resolve=t,r.reject=e}),r}var tr=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 hi(r,t,e){if(t==null)return r;if(t.aborted)return Promise.reject(new tr(e?.errorMessage,e?.errorCode));let o,n=new tr(e?.errorMessage,e?.errorCode);try{return await Promise.race([r,new Promise((i,s)=>{o=()=>{s(n)},t.addEventListener("abort",o)})])}finally{o!=null&&t.removeEventListener("abort",o)}}var Sn=class{needNext;haveNext;ended;nextResult;constructor(){this.ended=!1,this.needNext=gt(),this.haveNext=gt()}[Symbol.asyncIterator](){return this}async next(){if(this.nextResult==null&&await this.haveNext.promise,this.nextResult==null)throw new Error("Have next but next was undefined");let t=this.nextResult;return this.nextResult=void 0,this.needNext.resolve(),this.needNext=gt(),t}async throw(t){return this.ended=!0,t!=null&&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");this.nextResult!=null&&await this.needNext.promise,t!=null?this.nextResult={done:!1,value:t}:(this.ended=!0,this.nextResult={done:!0,value:void 0}),this.haveNext.resolve(),this.haveNext=gt(),await hi(this.needNext.promise,e?.signal,e)}};function pi(){return new Sn}var er=class extends Error{code;constructor(t,e){super(t),this.code=e}},An=class extends er{type;constructor(t){super(t,"ABORT_ERR"),this.type="aborted"}};function mi(r,t){let e=pi();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 o=r.source;r.source[Symbol.iterator]!=null?o=r.source[Symbol.iterator]():r.source[Symbol.asyncIterator]!=null&&(o=r.source[Symbol.asyncIterator]());let n=new ct;return{read:async(s,c)=>{c?.signal?.throwIfAborted();let a,f=new Promise((l,u)=>{a=()=>{u(new An("Read aborted"))},c?.signal?.addEventListener("abort",a)});try{if(s==null){let{done:u,value:h}=await Promise.race([o.next(),f]);return u===!0?new ct:h}for(;n.byteLength<s;){let{value:u,done:h}=await Promise.race([o.next(),f]);if(h===!0)throw new er("unexpected end of input","ERR_UNEXPECTED_EOF");n.append(u)}let l=n.sublist(0,s);return n.consume(s),l}finally{a!=null&&c?.signal?.removeEventListener("abort",a)}},write:async(s,c)=>{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 rr=class extends Error{code;constructor(t,e){super(t),this.code=e}},gi=r=>dt(r);gi.bytes=0;function ie(r,t={}){let e=mi(r,t);return t.maxDataLength!=null&&t.maxLengthLength==null&&(t.maxLengthLength=V(t.maxDataLength)),{read:async n=>{let i=-1,s=new ct,c=t?.lengthDecoder??gi;for(;;){s.append(await e.read(1,n));try{i=c(s)}catch(a){if(a instanceof RangeError)continue;throw a}if(t?.maxLengthLength!=null&&s.byteLength>t.maxLengthLength)throw new rr("message length length too long","ERR_MSG_LENGTH_TOO_LONG");if(i>-1)break}if(t?.maxDataLength!=null&&i>t.maxDataLength)throw new rr("message length too long","ERR_MSG_DATA_TOO_LONG");return e.read(i,n)},write:async(n,i)=>{await e.write(Vt.single(n,t),i)},writeV:async(n,i)=>{let s=new ct(...n.map(c=>Vt.single(c,t)));await e.write(s,i)},unwrap:()=>e.unwrap()}}var nr=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}},se=class{size;hwm;head;tail;constructor(t={}){this.hwm=t.splitLimit??16,this.head=new nr(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 nr(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 Cn=class extends Error{type;code;constructor(t,e){super(t??"The operation was aborted"),this.type="aborted",this.code=e??"ABORT_ERR"}};function ce(r={}){return aa(e=>{let o=e.shift();if(o==null)return{done:!0};if(o.error!=null)throw o.error;return{done:o.done===!0,value:o.value}},r)}function aa(r,t){t=t??{};let e=t.onEnd,o=new se,n,i,s,c=gt(),a=async()=>{try{return o.isEmpty()?s?{done:!0}:await new Promise((g,b)=>{i=I=>{i=null,o.push(I);try{g(r(o))}catch(N){b(N)}return n}}):r(o)}finally{o.isEmpty()&&queueMicrotask(()=>{c.resolve(),c=gt()})}},f=g=>i!=null?i(g):(o.push(g),n),l=g=>(o=new se,i!=null?i({error:g}):(o.push({error:g}),n)),u=g=>{if(s)return n;if(t?.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})},h=g=>s?n:(s=!0,g!=null?l(g):f({done:!0})),y=()=>(o=new se,h(),{done:!0}),p=g=>(h(g),{done:!0});if(n={[Symbol.asyncIterator](){return this},next:a,return:y,throw:p,push:u,end:h,get readableLength(){return o.size},onEmpty:async g=>{let b=g?.signal;if(b?.throwIfAborted(),o.isEmpty())return;let I,N;b!=null&&(I=new Promise((D,Y)=>{N=()=>{Y(new Cn)},b.addEventListener("abort",N)}));try{await Promise.race([c.promise,I])}finally{N!=null&&b!=null&&b?.removeEventListener("abort",N)}}},e==null)return n;let w=n;return n={[Symbol.asyncIterator](){return this},next(){return w.next()},throw(g){return w.throw(g),e!=null&&(e(g),e=void 0),{done:!0}},return(){return w.return(),e!=null&&(e(),e=void 0),{done:!0}},push:u,end(g){return w.end(g),e!=null&&(e(g),e=void 0),n},get readableLength(){return w.readableLength},onEmpty:g=>w.onEmpty(g)},n}function la(r){return r[Symbol.asyncIterator]!=null}function ua(...r){let t=[];for(let e of r)la(e)||t.push(e);return t.length===r.length?function*(){for(let e of t)yield*e}():async function*(){let e=ce({objectMode:!0});Promise.resolve().then(async()=>{try{await Promise.all(r.map(async o=>{for await(let n of o)e.push(n)})),e.end()}catch(o){e.end(o)}}),yield*e}()}var yi=ua;function Tn(r,...t){if(r==null)throw new Error("Empty pipeline");if(vn(r)){let o=r;r=()=>o.source}else if(wi(r)||bi(r)){let o=r;r=()=>o}let e=[r,...t];if(e.length>1&&vn(e[e.length-1])&&(e[e.length-1]=e[e.length-1].sink),e.length>2)for(let o=1;o<e.length-1;o++)vn(e[o])&&(e[o]=fa(e[o]));return da(...e)}var da=(...r)=>{let t;for(;r.length>0;)t=r.shift()(t);return t},bi=r=>r?.[Symbol.asyncIterator]!=null,wi=r=>r?.[Symbol.iterator]!=null,vn=r=>r==null?!1:r.sink!=null&&r.source!=null,fa=r=>t=>{let e=r.sink(t);if(e?.then!=null){let o=ce({objectMode:!0});e.then(()=>{o.end()},s=>{o.end(s)});let n,i=r.source;if(bi(i))n=async function*(){yield*i,o.end()};else if(wi(i))n=function*(){yield*i,o.end()};else throw new Error("Unknown duplex source type - must be Iterable or AsyncIterable");return yi(o,n())}return r.source};function Ei(r,t){let e=ie(r,t),o={read:async(n,i)=>{let s=await e.read(i);return n.decode(s)},write:async(n,i,s)=>{await e.write(i.encode(n),s)},writeV:async(n,i,s)=>{await e.writeV(n.map(c=>i.encode(c)),s)},pb:n=>({read:async i=>o.read(n,i),write:async(i,s)=>o.write(i,n,s),writeV:async(i,s)=>o.writeV(i,n,s),unwrap:()=>o}),unwrap:()=>e.unwrap()};return o}function ha(r){return r[Symbol.asyncIterator]!=null}function pa(r){if(ha(r))return(async()=>{for await(let t of r);})();for(let t of r);}var Ln=pa;function X(r){return L.encode({type:L.Type.OK,peers:[],...r}).subarray()}function G(r){return L.encode({type:L.Type.ERROR,error:{msg:r.message},peers:[]}).subarray()}var or=Ot("libp2p:daemon-server:dht"),ir=class{dht;constructor(t){let{dht:e}=t;this.dht=e}async*provide(t){try{await Ln(this.dht.provide(t)),yield X()}catch(e){or.error(e),yield G(e)}}async*getClosestPeers(t){yield X({dht:{type:O.Type.BEGIN}});for await(let e of this.dht.getClosestPeers(t))e.name==="PEER_RESPONSE"&&(yield*e.closer.map(o=>O.encode({type:O.Type.VALUE,value:o.id.toBytes()})));yield O.encode({type:O.Type.END})}async*getPublicKey(t){yield G(new Error("FIX ME: not implemented"))}async*getValue(t){try{for await(let e of this.dht.get(t))e.name==="VALUE"&&(yield X({dht:{type:O.Type.VALUE,value:e.value}}))}catch(e){or.error(e),yield G(e)}}async*putValue(t,e){try{await Ln(this.dht.put(t,e)),yield X()}catch(o){or.error(o),yield G(o)}}async*findPeer(t){try{for await(let e of this.dht.findPeer(t))e.name==="FINAL_PEER"&&(yield X({dht:{type:O.Type.VALUE,peer:{id:e.peer.id.toBytes(),addrs:e.peer.multiaddrs.map(o=>o.bytes)}}}));throw new Error("Peer not found")}catch(e){or.error(e),yield G(e)}}async*findProviders(t,e){yield X({dht:{type:O.Type.BEGIN}});try{let o=e,n=0;for await(let i of this.dht.findProviders(t))if(i.name==="PEER_RESPONSE"){for(let s of i.providers)n++,yield O.encode({type:O.Type.VALUE,peer:{id:s.id.toBytes(),addrs:(s.multiaddrs??[]).map(c=>c.bytes)}});if(o===n)break}}catch(o){yield G(o)}yield O.encode({type:O.Type.END})}};var sr=Ot("libp2p:daemon-server:pubsub"),cr=class{pubsub;constructor(t){let{pubsub:e}=t;this.pubsub=e}async*getTopics(){try{yield X({pubsub:{topics:this.pubsub.getTopics(),peerIDs:[]}})}catch(t){sr.error(t),yield G(t)}}async*subscribe(t){try{let e=ce();this.pubsub.subscribe(t),this.pubsub.addEventListener("message",o=>{let n=o.detail;n.topic===t&&(n.type==="signed"?e.push(pe.encode({from:n.from.toBytes(),data:n.data,seqno:n.sequenceNumber==null?void 0:Rt(n.sequenceNumber.toString(16).padStart(16,"0"),"base16"),topicIDs:[n.topic],signature:n.signature,key:n.key}).subarray()):e.push(pe.encode({data:n.data,topicIDs:[n.topic]}).subarray()))}),yield X(),yield*e}catch(e){sr.error(e),yield G(e)}}async*publish(t,e){try{await this.pubsub.publish(t,e),yield X()}catch(o){sr.error(o),yield G(o)}}async*listPeers(t){try{yield X({pubsub:{topics:[t],peerIDs:this.pubsub.getSubscribers(t).map(e=>e.toBytes())}})}catch(e){sr.error(e),yield G(e)}}};var ma=1<<22,$=Ot("libp2p:daemon-server"),ar=class{multiaddr;libp2p;tcp;listener;dhtOperations;pubsubOperations;constructor(t){let{multiaddr:e,libp2pNode:o}=t;this.multiaddr=e,this.libp2p=o,this.tcp=si()({logger:mo()}),this.listener=this.tcp.createListener({handler:this.handleConnection.bind(this),upgrader:zr}),this._onExit=this._onExit.bind(this),o.services.dht!=null&&(this.dhtOperations=new ir({dht:o.services.dht})),o.services.pubsub!=null&&(this.pubsubOperations=new cr({pubsub:o.services.pubsub}))}async connect(t){if(t.connect==null||t.connect.addrs==null)throw new Error("Invalid request");let e=t.connect.peer,o=t.connect.addrs.map(i=>st(i)),n=Ut(e);return $("connect - adding multiaddrs %a to peer %p",o,n),await this.libp2p.peerStore.merge(n,{multiaddrs:o}),$("connect - dial %p",n),this.libp2p.dial(n)}async openStream(t){if(t.streamOpen==null||t.streamOpen.proto==null)throw new Error("Invalid request");let{peer:e,proto:o}=t.streamOpen,n=Ut(e);$("openStream - dial %p",n);let i=await this.libp2p.dial(n);$("openStream - open stream for protocol %s",o);let s=await i.newStream(o,{runOnTransientConnection:!0});return{streamInfo:{peer:n.toBytes(),addr:i.remoteAddr.bytes,proto:s.protocol??""},connection:s}}async registerStreamHandler(t){if(t.streamHandler==null||t.streamHandler.proto==null)throw new Error("Invalid request");let e=t.streamHandler.proto,o=st(t.streamHandler.addr),n;$("registerStreamHandler - handle %s",e),await this.libp2p.handle(e,({connection:i,stream:s})=>{Promise.resolve().then(async()=>{n=await this.tcp.dial(o,{upgrader:zr});let c=Yt.encode({peer:i.remotePeer.toBytes(),addr:i.remoteAddr.bytes,proto:s.protocol??""}),a=Vt.single(c);await Tn(async function*(){yield a,yield*s.source}(),async function*(f){for await(let l of f)yield*l},n,s.sink)}).catch(async c=>{$.error(c),n!=null&&await n.close(c)}).finally(()=>{n?.close().catch(c=>{$.error(c)})})},{runOnTransientConnection:!0})}_listen(){process.on("SIGTERM",this._onExit),process.on("SIGINT",this._onExit),process.on("SIGHUP",this._onExit)}_onExit(){this.stop({exit:!0}).catch(t=>{$.error(t)})}async start(){this._listen(),await this.libp2p.start(),await this.listener.listen(this.multiaddr)}getMultiaddr(){let t=this.listener.getAddrs();if(t.length>0)return t[0];throw new Error("Not started")}async stop(t={exit:!1}){await this.libp2p.stop(),await this.listener.close(),t.exit&&$("server closed, exiting"),process.removeListener("SIGTERM",this._onExit),process.removeListener("SIGINT",this._onExit),process.removeListener("SIGHUP",this._onExit)}async*handlePeerStoreRequest(t){try{switch(t.type){case Pt.Type.GET_PROTOCOLS:if(t.id==null)throw new Error("Invalid request");let e=Ut(t.id),n=(await this.libp2p.peerStore.get(e)).protocols;yield X({peerStore:{protos:n}});return;case Pt.Type.GET_PEER_INFO:throw new Error("ERR_NOT_IMPLEMENTED");default:throw new Error("ERR_INVALID_REQUEST_TYPE")}}catch(e){$.error(e),yield G(e)}}async*handlePubsubRequest(t){try{if(this.libp2p.services.pubsub==null||this.pubsubOperations==null)throw new Error("PubSub not configured");switch(t.type){case mt.Type.GET_TOPICS:yield*this.pubsubOperations.getTopics();return;case mt.Type.SUBSCRIBE:if(t.topic==null)throw new Error("Invalid request");yield*this.pubsubOperations.subscribe(t.topic);return;case mt.Type.PUBLISH:if(t.topic==null||t.data==null)throw new Error("Invalid request");yield*this.pubsubOperations.publish(t.topic,t.data);return;case mt.Type.LIST_PEERS:if(t.topic==null)throw new Error("Invalid request");yield*this.pubsubOperations.listPeers(t.topic);return;default:throw new Error("ERR_INVALID_REQUEST_TYPE")}}catch(e){$.error(e),yield G(e)}}async*handleDHTRequest(t){try{if(this.libp2p.services.dht==null||this.dhtOperations==null)throw new Error("DHT not configured");switch(t.type){case nt.Type.FIND_PEER:if(t.peer==null)throw new Error("Invalid request");yield*this.dhtOperations.findPeer(Ut(t.peer));return;case nt.Type.FIND_PROVIDERS:if(t.cid==null)throw new Error("Invalid request");yield*this.dhtOperations.findProviders(W.decode(t.cid),t.count??20);return;case nt.Type.PROVIDE:if(t.cid==null)throw new Error("Invalid request");yield*this.dhtOperations.provide(W.decode(t.cid));return;case nt.Type.GET_CLOSEST_PEERS:if(t.key==null)throw new Error("Invalid request");yield*this.dhtOperations.getClosestPeers(t.key);return;case nt.Type.GET_PUBLIC_KEY:if(t.peer==null)throw new Error("Invalid request");yield*this.dhtOperations.getPublicKey(Ut(t.peer));return;case nt.Type.GET_VALUE:if(t.key==null)throw new Error("Invalid request");yield*this.dhtOperations.getValue(t.key);return;case nt.Type.PUT_VALUE:if(t.key==null||t.value==null)throw new Error("Invalid request");yield*this.dhtOperations.putValue(t.key,t.value);return;default:throw new Error("ERR_INVALID_REQUEST_TYPE")}}catch(e){$.error(e),yield G(e)}}handleConnection(t){Promise.resolve().then(async()=>{let e=this,o=Ei(t,{maxDataLength:ma}),n=await o.read(rt);$("read",n);try{switch(n.type){case rt.Type.CONNECT:{await e.connect(n),await o.write({type:L.Type.OK},L);break}case rt.Type.IDENTIFY:{await o.write({type:L.Type.OK,identify:{id:e.libp2p.peerId.toBytes(),addrs:e.libp2p.getMultiaddrs().map(i=>i.decapsulateCode(x("p2p").code)).map(i=>i.bytes)}},L);break}case rt.Type.LIST_PEERS:{let i=[],s=new Set;for(let c of e.libp2p.getConnections()){let a=c.remotePeer.toString();s.has(a)||(s.add(a),i.push({id:c.remotePeer.toBytes(),addrs:[c.remoteAddr.bytes]}))}await o.write({type:L.Type.OK,peers:i},L);break}case rt.Type.STREAM_OPEN:{let i=await e.openStream(n);await o.write({type:L.Type.OK,streamInfo:i.streamInfo},L);let s=o.unwrap();await Tn(s,i.connection,s);break}case rt.Type.STREAM_HANDLER:{await e.registerStreamHandler(n),await o.write({type:L.Type.OK},L);break}case rt.Type.PEERSTORE:{if(n.peerStore==null)throw new Error("ERR_INVALID_REQUEST");let i=o.unwrap(),s=ie(i);for await(let c of e.handlePeerStoreRequest(n.peerStore))await s.write(c);break}case rt.Type.PUBSUB:{if(n.pubsub==null)throw new Error("ERR_INVALID_REQUEST");let i=o.unwrap(),s=ie(i);for await(let c of e.handlePubsubRequest(n.pubsub))await s.write(c);break}case rt.Type.DHT:{if(n.dht==null)throw new Error("ERR_INVALID_REQUEST");let i=o.unwrap(),s=ie(i);for await(let c of e.handleDHTRequest(n.dht))await s.write(c);break}default:throw new Error("ERR_INVALID_REQUEST_TYPE")}}catch(i){$.error(i),await o.write({type:L.Type.ERROR,error:{msg:i.message},peers:[]},L)}finally{await o.unwrap().close()}}).catch(e=>{$.error("error handling incoming connection",e)})}},ga=(r,t)=>new ar({multiaddr:r,libp2pNode:t});return vi(ya);})();
7
7
  return Libp2PDaemonServer}));