@libp2p/daemon-server 7.0.3 → 7.0.5

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 Hs=Object.create;var Rt=Object.defineProperty;var Ws=Object.getOwnPropertyDescriptor;var Ks=Object.getOwnPropertyNames;var Xs=Object.getPrototypeOf,Js=Object.prototype.hasOwnProperty;var pe=(r=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(r,{get:(e,t)=>(typeof require<"u"?require:e)[t]}):r)(function(r){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+r+'" is not supported')});var J=(r,e)=>()=>(e||r((e={exports:{}}).exports,e),e.exports),S=(r,e)=>{for(var t in e)Rt(r,t,{get:e[t],enumerable:!0})},Ao=(r,e,t,o)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of Ks(e))!Js.call(r,n)&&n!==t&&Rt(r,n,{get:()=>e[n],enumerable:!(o=Ws(e,n))||o.enumerable});return r};var be=(r,e,t)=>(t=r!=null?Hs(Xs(r)):{},Ao(e||!r||!r.__esModule?Rt(t,"default",{value:r,enumerable:!0}):t,r)),Qs=r=>Ao(Rt({},"__esModule",{value:!0}),r);var ri=J((Ld,ti)=>{var Ze=1e3,qe=Ze*60,je=qe*60,Fe=je*24,pa=Fe*7,ma=Fe*365.25;ti.exports=function(r,e){e=e||{};var t=typeof r;if(t==="string"&&r.length>0)return ga(r);if(t==="number"&&isFinite(r))return e.long?ya(r):ba(r);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(r))};function ga(r){if(r=String(r),!(r.length>100)){var e=/^(-?(?:\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(e){var t=parseFloat(e[1]),o=(e[2]||"ms").toLowerCase();switch(o){case"years":case"year":case"yrs":case"yr":case"y":return t*ma;case"weeks":case"week":case"w":return t*pa;case"days":case"day":case"d":return t*Fe;case"hours":case"hour":case"hrs":case"hr":case"h":return t*je;case"minutes":case"minute":case"mins":case"min":case"m":return t*qe;case"seconds":case"second":case"secs":case"sec":case"s":return t*Ze;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return t;default:return}}}}function ba(r){var e=Math.abs(r);return e>=Fe?Math.round(r/Fe)+"d":e>=je?Math.round(r/je)+"h":e>=qe?Math.round(r/qe)+"m":e>=Ze?Math.round(r/Ze)+"s":r+"ms"}function ya(r){var e=Math.abs(r);return e>=Fe?Qt(r,e,Fe,"day"):e>=je?Qt(r,e,je,"hour"):e>=qe?Qt(r,e,qe,"minute"):e>=Ze?Qt(r,e,Ze,"second"):r+" ms"}function Qt(r,e,t,o){var n=e>=t*1.5;return Math.round(r/t)+" "+o+(n?"s":"")}});var gn=J((Nd,ni)=>{function wa(r){t.debug=t,t.default=t,t.coerce=a,t.disable=i,t.enable=n,t.enabled=s,t.humanize=ri(),t.destroy=d,Object.keys(r).forEach(l=>{t[l]=r[l]}),t.names=[],t.skips=[],t.formatters={};function e(l){let u=0;for(let p=0;p<l.length;p++)u=(u<<5)-u+l.charCodeAt(p),u|=0;return t.colors[Math.abs(u)%t.colors.length]}t.selectColor=e;function t(l){let u,p=null,w,f;function y(...m){if(!y.enabled)return;let g=y,x=Number(new Date),v=x-(u||x);g.diff=v,g.prev=u,g.curr=x,u=x,m[0]=t.coerce(m[0]),typeof m[0]!="string"&&m.unshift("%O");let E=0;m[0]=m[0].replace(/%([a-zA-Z%])/g,(U,C)=>{if(U==="%%")return"%";E++;let L=t.formatters[C];if(typeof L=="function"){let ae=m[E];U=L.call(g,ae),m.splice(E,1),E--}return U}),t.formatArgs.call(g,m),(g.log||t.log).apply(g,m)}return y.namespace=l,y.useColors=t.useColors(),y.color=t.selectColor(l),y.extend=o,y.destroy=t.destroy,Object.defineProperty(y,"enabled",{enumerable:!0,configurable:!1,get:()=>p!==null?p:(w!==t.namespaces&&(w=t.namespaces,f=t.enabled(l)),f),set:m=>{p=m}}),typeof t.init=="function"&&t.init(y),y}function o(l,u){let p=t(this.namespace+(typeof u>"u"?":":u)+l);return p.log=this.log,p}function n(l){t.save(l),t.namespaces=l,t.names=[],t.skips=[];let u,p=(typeof l=="string"?l:"").split(/[\s,]+/),w=p.length;for(u=0;u<w;u++)p[u]&&(l=p[u].replace(/\*/g,".*?"),l[0]==="-"?t.skips.push(new RegExp("^"+l.slice(1)+"$")):t.names.push(new RegExp("^"+l+"$")))}function i(){let l=[...t.names.map(c),...t.skips.map(c).map(u=>"-"+u)].join(",");return t.enable(""),l}function s(l){if(l[l.length-1]==="*")return!0;let u,p;for(u=0,p=t.skips.length;u<p;u++)if(t.skips[u].test(l))return!1;for(u=0,p=t.names.length;u<p;u++)if(t.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 d(){console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.")}return t.enable(t.load()),t}ni.exports=wa});var oi=J((j,Yt)=>{j.formatArgs=Ea;j.save=va;j.load=Aa;j.useColors=xa;j.storage=Ia();j.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`."))}})();j.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 xa(){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 Ea(r){if(r[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+r[0]+(this.useColors?"%c ":" ")+"+"+Yt.exports.humanize(this.diff),!this.useColors)return;let e="color: "+this.color;r.splice(1,0,e,"color: inherit");let t=0,o=0;r[0].replace(/%[a-zA-Z%]/g,n=>{n!=="%%"&&(t++,n==="%c"&&(o=t))}),r.splice(o,0,e)}j.log=console.debug||console.log||(()=>{});function va(r){try{r?j.storage.setItem("debug",r):j.storage.removeItem("debug")}catch{}}function Aa(){let r;try{r=j.storage.getItem("debug")}catch{}return!r&&typeof process<"u"&&"env"in process&&(r=process.env.DEBUG),r}function Ia(){try{return localStorage}catch{}}Yt.exports=gn()(j);var{formatters:Ca}=Yt.exports;Ca.j=function(r){try{return JSON.stringify(r)}catch(e){return"[UnexpectedJSONParseError]: "+e.message}}});var si=J((Dd,ii)=>{"use strict";ii.exports=(r,e)=>{e=e||process.argv;let t=r.startsWith("-")?"":r.length===1?"-":"--",o=e.indexOf(t+r),n=e.indexOf("--");return o!==-1&&(n===-1?!0:o<n)}});var ai=J((Ud,ci)=>{"use strict";var Sa=pe("os"),he=si(),W=process.env,et;he("no-color")||he("no-colors")||he("color=false")?et=!1:(he("color")||he("colors")||he("color=true")||he("color=always"))&&(et=!0);"FORCE_COLOR"in W&&(et=W.FORCE_COLOR.length===0||parseInt(W.FORCE_COLOR,10)!==0);function Ta(r){return r===0?!1:{level:r,hasBasic:!0,has256:r>=2,has16m:r>=3}}function La(r){if(et===!1)return 0;if(he("color=16m")||he("color=full")||he("color=truecolor"))return 3;if(he("color=256"))return 2;if(r&&!r.isTTY&&et!==!0)return 0;let e=et?1:0;if(process.platform==="win32"){let t=Sa.release().split(".");return Number(process.versions.node.split(".")[0])>=8&&Number(t[0])>=10&&Number(t[2])>=10586?Number(t[2])>=14931?3:2:1}if("CI"in W)return["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI"].some(t=>t in W)||W.CI_NAME==="codeship"?1:e;if("TEAMCITY_VERSION"in W)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(W.TEAMCITY_VERSION)?1:0;if(W.COLORTERM==="truecolor")return 3;if("TERM_PROGRAM"in W){let t=parseInt((W.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(W.TERM_PROGRAM){case"iTerm.app":return t>=3?3:2;case"Apple_Terminal":return 2}}return/-256(color)?$/i.test(W.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(W.TERM)||"COLORTERM"in W?1:(W.TERM==="dumb",e)}function bn(r){let e=La(r);return Ta(e)}ci.exports={supportsColor:bn,stdout:bn(process.stdout),stderr:bn(process.stderr)}});var ui=J((G,qt)=>{var Na=pe("tty"),Zt=pe("util");G.init=Fa;G.log=ka;G.formatArgs=Ua;G.save=Pa;G.load=Oa;G.useColors=Da;G.destroy=Zt.deprecate(()=>{},"Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.");G.colors=[6,2,3,4,5,1];try{let r=ai();r&&(r.stderr||r).level>=2&&(G.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{}G.inspectOpts=Object.keys(process.env).filter(r=>/^debug_/i.test(r)).reduce((r,e)=>{let t=e.substring(6).toLowerCase().replace(/_([a-z])/g,(n,i)=>i.toUpperCase()),o=process.env[e];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[t]=o,r},{});function Da(){return"colors"in G.inspectOpts?!!G.inspectOpts.colors:Na.isatty(process.stderr.fd)}function Ua(r){let{namespace:e,useColors:t}=this;if(t){let o=this.color,n="\x1B[3"+(o<8?o:"8;5;"+o),i=` ${n};1m${e} \x1B[0m`;r[0]=i+r[0].split(`
2
+ "use strict";var Libp2PDaemonServer=(()=>{var pi=Object.create;var ge=Object.defineProperty;var mi=Object.getOwnPropertyDescriptor;var gi=Object.getOwnPropertyNames;var yi=Object.getPrototypeOf,bi=Object.prototype.hasOwnProperty;var $=(r=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(r,{get:(t,e)=>(typeof require<"u"?require:t)[e]}):r)(function(r){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+r+'" is not supported')});var yt=(r,t)=>()=>(t||r((t={exports:{}}).exports,t),t.exports),J=(r,t)=>{for(var e in t)ge(r,e,{get:t[e],enumerable:!0})},Sn=(r,t,e,o)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of gi(t))!bi.call(r,n)&&n!==e&&ge(r,n,{get:()=>t[n],enumerable:!(o=mi(t,n))||o.enumerable});return r};var vt=(r,t,e)=>(e=r!=null?pi(yi(r)):{},Sn(t||!r||!r.__esModule?ge(e,"default",{value:r,enumerable:!0}):e,r)),wi=r=>Sn(ge({},"__esModule",{value:!0}),r);var ro=yt((Bu,eo)=>{var Yt=1e3,Qt=Yt*60,Jt=Qt*60,Pt=Jt*24,Ms=Pt*7,Bs=Pt*365.25;eo.exports=function(r,t){t=t||{};var e=typeof r;if(e==="string"&&r.length>0)return Gs(r);if(e==="number"&&isFinite(r))return t.long?$s(r):Vs(r);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(r))};function Gs(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*Bs;case"weeks":case"week":case"w":return e*Ms;case"days":case"day":case"d":return e*Pt;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*Yt;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return e;default:return}}}}function Vs(r){var t=Math.abs(r);return t>=Pt?Math.round(r/Pt)+"d":t>=Jt?Math.round(r/Jt)+"h":t>=Qt?Math.round(r/Qt)+"m":t>=Yt?Math.round(r/Yt)+"s":r+"ms"}function $s(r){var t=Math.abs(r);return t>=Pt?Pe(r,t,Pt,"day"):t>=Jt?Pe(r,t,Jt,"hour"):t>=Qt?Pe(r,t,Qt,"minute"):t>=Yt?Pe(r,t,Yt,"second"):r+" ms"}function Pe(r,t,e,o){var n=t>=e*1.5;return Math.round(r/e)+" "+o+(n?"s":"")}});var Yr=yt((Gu,no)=>{function zs(r){e.debug=e,e.default=e,e.coerce=a,e.disable=i,e.enable=n,e.enabled=s,e.humanize=ro(),e.destroy=f,Object.keys(r).forEach(u=>{e[u]=r[u]}),e.names=[],e.skips=[],e.formatters={};function t(u){let l=0;for(let g=0;g<u.length;g++)l=(l<<5)-l+u.charCodeAt(g),l|=0;return e.colors[Math.abs(l)%e.colors.length]}e.selectColor=t;function e(u){let l,g=null,b,p;function y(...h){if(!y.enabled)return;let w=y,E=Number(new Date),R=E-(l||E);w.diff=R,w.prev=l,w.curr=E,l=E,h[0]=e.coerce(h[0]),typeof h[0]!="string"&&h.unshift("%O");let P=0;h[0]=h[0].replace(/%([a-zA-Z%])/g,(et,Q)=>{if(et==="%%")return"%";P++;let rt=e.formatters[Q];if(typeof rt=="function"){let Vt=h[P];et=rt.call(w,Vt),h.splice(P,1),P--}return et}),e.formatArgs.call(w,h),(w.log||e.log).apply(w,h)}return y.namespace=u,y.useColors=e.useColors(),y.color=e.selectColor(u),y.extend=o,y.destroy=e.destroy,Object.defineProperty(y,"enabled",{enumerable:!0,configurable:!1,get:()=>g!==null?g:(b!==e.namespaces&&(b=e.namespaces,p=e.enabled(u)),p),set:h=>{g=h}}),typeof e.init=="function"&&e.init(y),y}function o(u,l){let g=e(this.namespace+(typeof l>"u"?":":l)+u);return g.log=this.log,g}function n(u){e.save(u),e.namespaces=u,e.names=[],e.skips=[];let l,g=(typeof u=="string"?u:"").split(/[\s,]+/),b=g.length;for(l=0;l<b;l++)g[l]&&(u=g[l].replace(/\*/g,".*?"),u[0]==="-"?e.skips.push(new RegExp("^"+u.slice(1)+"$")):e.names.push(new RegExp("^"+u+"$")))}function i(){let u=[...e.names.map(c),...e.skips.map(c).map(l=>"-"+l)].join(",");return e.enable(""),u}function s(u){if(u[u.length-1]==="*")return!0;let l,g;for(l=0,g=e.skips.length;l<g;l++)if(e.skips[l].test(u))return!1;for(l=0,g=e.names.length;l<g;l++)if(e.names[l].test(u))return!0;return!1}function c(u){return u.toString().substring(2,u.toString().length-2).replace(/\.\*\?$/,"*")}function a(u){return u instanceof Error?u.stack||u.message:u}function f(){console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.")}return e.enable(e.load()),e}no.exports=zs});var oo=yt((q,Oe)=>{q.formatArgs=Ws;q.save=Ks;q.load=Xs;q.useColors=Hs;q.storage=Ys();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 Hs(){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 Ws(r){if(r[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+r[0]+(this.useColors?"%c ":" ")+"+"+Oe.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 Ks(r){try{r?q.storage.setItem("debug",r):q.storage.removeItem("debug")}catch{}}function Xs(){let r;try{r=q.storage.getItem("debug")}catch{}return!r&&typeof process<"u"&&"env"in process&&(r=process.env.DEBUG),r}function Ys(){try{return localStorage}catch{}}Oe.exports=Yr()(q);var{formatters:Qs}=Oe.exports;Qs.j=function(r){try{return JSON.stringify(r)}catch(t){return"[UnexpectedJSONParseError]: "+t.message}}});var so=yt((Vu,io)=>{"use strict";io.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 ao=yt(($u,co)=>{"use strict";var Js=$("os"),dt=so(),B=process.env,Zt;dt("no-color")||dt("no-colors")||dt("color=false")?Zt=!1:(dt("color")||dt("colors")||dt("color=true")||dt("color=always"))&&(Zt=!0);"FORCE_COLOR"in B&&(Zt=B.FORCE_COLOR.length===0||parseInt(B.FORCE_COLOR,10)!==0);function Zs(r){return r===0?!1:{level:r,hasBasic:!0,has256:r>=2,has16m:r>=3}}function qs(r){if(Zt===!1)return 0;if(dt("color=16m")||dt("color=full")||dt("color=truecolor"))return 3;if(dt("color=256"))return 2;if(r&&!r.isTTY&&Zt!==!0)return 0;let t=Zt?1:0;if(process.platform==="win32"){let e=Js.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 B)return["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI"].some(e=>e in B)||B.CI_NAME==="codeship"?1:t;if("TEAMCITY_VERSION"in B)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(B.TEAMCITY_VERSION)?1:0;if(B.COLORTERM==="truecolor")return 3;if("TERM_PROGRAM"in B){let e=parseInt((B.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(B.TERM_PROGRAM){case"iTerm.app":return e>=3?3:2;case"Apple_Terminal":return 2}}return/-256(color)?$/i.test(B.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(B.TERM)||"COLORTERM"in B?1:(B.TERM==="dumb",t)}function Qr(r){let t=qs(r);return Zs(t)}co.exports={supportsColor:Qr,stdout:Qr(process.stdout),stderr:Qr(process.stderr)}});var lo=yt((U,Ue)=>{var js=$("tty"),_e=$("util");U.init=sc;U.log=nc;U.formatArgs=ec;U.save=oc;U.load=ic;U.useColors=tc;U.destroy=_e.deprecate(()=>{},"Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.");U.colors=[6,2,3,4,5,1];try{let r=ao();r&&(r.stderr||r).level>=2&&(U.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{}U.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 tc(){return"colors"in U.inspectOpts?!!U.inspectOpts.colors:js.isatty(process.stderr.fd)}function ec(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+"+qt.exports.humanize(this.diff)+"\x1B[0m")}else r[0]=Ra()+e+" "+r[0]}function Ra(){return G.inspectOpts.hideDate?"":new Date().toISOString()+" "}function ka(...r){return process.stderr.write(Zt.format(...r)+`
5
- `)}function Pa(r){r?process.env.DEBUG=r:delete process.env.DEBUG}function Oa(){return process.env.DEBUG}function Fa(r){r.inspectOpts={};let e=Object.keys(G.inspectOpts);for(let t=0;t<e.length;t++)r.inspectOpts[e[t]]=G.inspectOpts[e[t]]}qt.exports=gn()(G);var{formatters:li}=qt.exports;li.o=function(r){return this.inspectOpts.colors=this.useColors,Zt.inspect(r,this.inspectOpts).split(`
6
- `).map(e=>e.trim()).join(" ")};li.O=function(r){return this.inspectOpts.colors=this.useColors,Zt.inspect(r,this.inspectOpts)}});var fi=J((Rd,yn)=>{typeof process>"u"||process.type==="renderer"||process.browser===!0||process.__nwjs?yn.exports=oi():yn.exports=ui()});var lr=J(($p,Xi)=>{Xi.exports=r=>{if(r[Symbol.asyncIterator])return r;if(r.getReader)return async function*(){let e=r.getReader();try{for(;;){let{done:t,value:o}=await e.read();if(t)return;yield o}}finally{e.releaseLock()}}();throw new Error("unknown stream")}});var Qi=J((zp,Ji)=>{Ji.exports=function(e){if(e){if(typeof e[Symbol.iterator]=="function")return e[Symbol.iterator]();if(typeof e[Symbol.asyncIterator]=="function")return e[Symbol.asyncIterator]();if(typeof e.next=="function")return e}throw new Error("argument is not an iterator or iterable")}});var Bn=J((Hp,Yi)=>{var ml=Qi();Yi.exports=r=>async e=>{e=ml(e);let t=g=>{typeof g.return=="function"&&g.return()},o=null,n=null,i=g=>{o=g,n&&n(g),t(e)},s=null,c=!1,a=()=>{c=!0,s&&s()},d=null,l=!1,u=()=>{l=!0,d&&d()},p=null,w=()=>{p&&p()},f=()=>new Promise((g,x)=>{s=p=g,n=x,r.once("drain",w)}),y=()=>(t(e),new Promise((g,x)=>{if(c||l||o)return g();d=s=g,n=x})),m=()=>{r.removeListener("error",i),r.removeListener("close",a),r.removeListener("finish",u),r.removeListener("drain",w)};r.once("error",i),r.once("close",a),r.once("finish",u);try{for await(let g of e){if(!r.writable||r.destroyed||o)break;r.write(g)===!1&&await f()}}catch(g){o||r.destroy(),o=g}try{if(r.writable&&r.end(),await y(),o)throw o}finally{m()}}});var Mn=J((Wp,Zi)=>{var gl=Bn(),bl=lr();Zi.exports=r=>({sink:gl(r),source:bl(r)})});var ji=J((Kp,qi)=>{var yl=Mn();qi.exports=r=>async function*(e){let t=yl(r),o;if(t.sink(e).catch(n=>{o=n}),yield*t.source,o)throw o}});var es=J((Xp,ot)=>{ot.exports=lr();ot.exports.source=lr();ot.exports.sink=Bn();ot.exports.transform=ji();ot.exports.duplex=Mn()});var hs=J((Rm,ds)=>{"use strict";function fs(r,e){for(let t in e)Object.defineProperty(r,t,{value:e[t],enumerable:!0,configurable:!0});return r}function Il(r,e,t){if(!r||typeof r=="string")throw new TypeError("Please pass an Error to err-code");t||(t={}),typeof e=="object"&&(t=e,e=""),e&&(t.code=e);try{return fs(r,t)}catch{t.message=r.message,t.stack=r.stack;let n=function(){};return n.prototype=Object.create(Object.getPrototypeOf(r)),fs(new n,t)}}ds.exports=Il});var Wu={};S(Wu,{Server:()=>Tr,createServer:()=>Hu});function Io(r){return globalThis.Buffer!=null?new Uint8Array(r.buffer,r.byteOffset,r.byteLength):r}function Co(r=0){return globalThis.Buffer?.allocUnsafe!=null?Io(globalThis.Buffer.allocUnsafe(r)):new Uint8Array(r)}var Ys=Math.pow(2,7),Zs=Math.pow(2,14),qs=Math.pow(2,21),Lr=Math.pow(2,28),Nr=Math.pow(2,35),Dr=Math.pow(2,42),Ur=Math.pow(2,49),A=128,z=127;function k(r){if(r<Ys)return 1;if(r<Zs)return 2;if(r<qs)return 3;if(r<Lr)return 4;if(r<Nr)return 5;if(r<Dr)return 6;if(r<Ur)return 7;if(Number.MAX_SAFE_INTEGER!=null&&r>Number.MAX_SAFE_INTEGER)throw new RangeError("Could not encode varint");return 8}function Rr(r,e,t=0){switch(k(r)){case 8:e[t++]=r&255|A,r/=128;case 7:e[t++]=r&255|A,r/=128;case 6:e[t++]=r&255|A,r/=128;case 5:e[t++]=r&255|A,r/=128;case 4:e[t++]=r&255|A,r>>>=7;case 3:e[t++]=r&255|A,r>>>=7;case 2:e[t++]=r&255|A,r>>>=7;case 1:{e[t++]=r&255,r>>>=7;break}default:throw new Error("unreachable")}return e}function js(r,e,t=0){switch(k(r)){case 8:e.set(t++,r&255|A),r/=128;case 7:e.set(t++,r&255|A),r/=128;case 6:e.set(t++,r&255|A),r/=128;case 5:e.set(t++,r&255|A),r/=128;case 4:e.set(t++,r&255|A),r>>>=7;case 3:e.set(t++,r&255|A),r>>>=7;case 2:e.set(t++,r&255|A),r>>>=7;case 1:{e.set(t++,r&255),r>>>=7;break}default:throw new Error("unreachable")}return e}function kr(r,e){let t=r[e],o=0;if(o+=t&z,t<A||(t=r[e+1],o+=(t&z)<<7,t<A)||(t=r[e+2],o+=(t&z)<<14,t<A)||(t=r[e+3],o+=(t&z)<<21,t<A)||(t=r[e+4],o+=(t&z)*Lr,t<A)||(t=r[e+5],o+=(t&z)*Nr,t<A)||(t=r[e+6],o+=(t&z)*Dr,t<A)||(t=r[e+7],o+=(t&z)*Ur,t<A))return o;throw new RangeError("Could not decode varint")}function ec(r,e){let t=r.get(e),o=0;if(o+=t&z,t<A||(t=r.get(e+1),o+=(t&z)<<7,t<A)||(t=r.get(e+2),o+=(t&z)<<14,t<A)||(t=r.get(e+3),o+=(t&z)<<21,t<A)||(t=r.get(e+4),o+=(t&z)*Lr,t<A)||(t=r.get(e+5),o+=(t&z)*Nr,t<A)||(t=r.get(e+6),o+=(t&z)*Dr,t<A)||(t=r.get(e+7),o+=(t&z)*Ur,t<A))return o;throw new RangeError("Could not decode varint")}function me(r,e,t=0){return e==null&&(e=Co(k(r))),e instanceof Uint8Array?Rr(r,e,t):js(r,e,t)}function le(r,e=0){return r instanceof Uint8Array?kr(r,e):ec(r,e)}var Pr=new Float32Array([-0]),Ae=new Uint8Array(Pr.buffer);function So(r,e,t){Pr[0]=r,e[t]=Ae[0],e[t+1]=Ae[1],e[t+2]=Ae[2],e[t+3]=Ae[3]}function To(r,e){return Ae[0]=r[e],Ae[1]=r[e+1],Ae[2]=r[e+2],Ae[3]=r[e+3],Pr[0]}var Or=new Float64Array([-0]),H=new Uint8Array(Or.buffer);function Lo(r,e,t){Or[0]=r,e[t]=H[0],e[t+1]=H[1],e[t+2]=H[2],e[t+3]=H[3],e[t+4]=H[4],e[t+5]=H[5],e[t+6]=H[6],e[t+7]=H[7]}function No(r,e){return H[0]=r[e],H[1]=r[e+1],H[2]=r[e+2],H[3]=r[e+3],H[4]=r[e+4],H[5]=r[e+5],H[6]=r[e+6],H[7]=r[e+7],Or[0]}var tc=BigInt(Number.MAX_SAFE_INTEGER),rc=BigInt(Number.MIN_SAFE_INTEGER),q=class r{lo;hi;constructor(e,t){this.lo=e|0,this.hi=t|0}toNumber(e=!1){if(!e&&this.hi>>>31>0){let t=~this.lo+1>>>0,o=~this.hi>>>0;return t===0&&(o=o+1>>>0),-(t+o*4294967296)}return this.lo+this.hi*4294967296}toBigInt(e=!1){if(e)return BigInt(this.lo>>>0)+(BigInt(this.hi>>>0)<<32n);if(this.hi>>>31){let t=~this.lo+1>>>0,o=~this.hi>>>0;return t===0&&(o=o+1>>>0),-(BigInt(t)+(BigInt(o)<<32n))}return BigInt(this.lo>>>0)+(BigInt(this.hi>>>0)<<32n)}toString(e=!1){return this.toBigInt(e).toString()}zzEncode(){let e=this.hi>>31;return this.hi=((this.hi<<1|this.lo>>>31)^e)>>>0,this.lo=(this.lo<<1^e)>>>0,this}zzDecode(){let e=-(this.lo&1);return this.lo=((this.lo>>>1|this.hi<<31)^e)>>>0,this.hi=(this.hi>>>1^e)>>>0,this}length(){let e=this.lo,t=(this.lo>>>28|this.hi<<4)>>>0,o=this.hi>>>24;return o===0?t===0?e<16384?e<128?1:2:e<2097152?3:4:t<16384?t<128?5:6:t<2097152?7:8:o<128?9:10}static fromBigInt(e){if(e===0n)return De;if(e<tc&&e>rc)return this.fromNumber(Number(e));let t=e<0n;t&&(e=-e);let o=e>>32n,n=e-(o<<32n);return t&&(o=~o|0n,n=~n|0n,++n>Do&&(n=0n,++o>Do&&(o=0n))),new r(Number(n),Number(o))}static fromNumber(e){if(e===0)return De;let t=e<0;t&&(e=-e);let o=e>>>0,n=(e-o)/4294967296>>>0;return t&&(n=~n>>>0,o=~o>>>0,++o>4294967295&&(o=0,++n>4294967295&&(n=0))),new r(o,n)}static from(e){return typeof e=="number"?r.fromNumber(e):typeof e=="bigint"?r.fromBigInt(e):typeof e=="string"?r.fromBigInt(BigInt(e)):e.low!=null||e.high!=null?new r(e.low>>>0,e.high>>>0):De}},De=new q(0,0);De.toBigInt=function(){return 0n};De.zzEncode=De.zzDecode=function(){return this};De.length=function(){return 1};var Do=4294967296n;function Uo(r){let e=0,t=0;for(let o=0;o<r.length;++o)t=r.charCodeAt(o),t<128?e+=1:t<2048?e+=2:(t&64512)===55296&&(r.charCodeAt(o+1)&64512)===56320?(++o,e+=4):e+=3;return e}function Ro(r,e,t){if(t-e<1)return"";let n,i=[],s=0,c;for(;e<t;)c=r[e++],c<128?i[s++]=c:c>191&&c<224?i[s++]=(c&31)<<6|r[e++]&63:c>239&&c<365?(c=((c&7)<<18|(r[e++]&63)<<12|(r[e++]&63)<<6|r[e++]&63)-65536,i[s++]=55296+(c>>10),i[s++]=56320+(c&1023)):i[s++]=(c&15)<<12|(r[e++]&63)<<6|r[e++]&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 Fr(r,e,t){let o=t,n,i;for(let s=0;s<r.length;++s)n=r.charCodeAt(s),n<128?e[t++]=n:n<2048?(e[t++]=n>>6|192,e[t++]=n&63|128):(n&64512)===55296&&((i=r.charCodeAt(s+1))&64512)===56320?(n=65536+((n&1023)<<10)+(i&1023),++s,e[t++]=n>>18|240,e[t++]=n>>12&63|128,e[t++]=n>>6&63|128,e[t++]=n&63|128):(e[t++]=n>>12|224,e[t++]=n>>6&63|128,e[t++]=n&63|128);return t-o}function ue(r,e){return RangeError(`index out of range: ${r.pos} + ${e??1} > ${r.len}`)}function kt(r,e){return(r[e-4]|r[e-3]<<8|r[e-2]<<16|r[e-1]<<24)>>>0}var _r=class{buf;pos;len;_slice=Uint8Array.prototype.subarray;constructor(e){this.buf=e,this.pos=0,this.len=e.length}uint32(){let e=4294967295;if(e=(this.buf[this.pos]&127)>>>0,this.buf[this.pos++]<128||(e=(e|(this.buf[this.pos]&127)<<7)>>>0,this.buf[this.pos++]<128)||(e=(e|(this.buf[this.pos]&127)<<14)>>>0,this.buf[this.pos++]<128)||(e=(e|(this.buf[this.pos]&127)<<21)>>>0,this.buf[this.pos++]<128)||(e=(e|(this.buf[this.pos]&15)<<28)>>>0,this.buf[this.pos++]<128))return e;if((this.pos+=5)>this.len)throw this.pos=this.len,ue(this,10);return e}int32(){return this.uint32()|0}sint32(){let e=this.uint32();return e>>>1^-(e&1)|0}bool(){return this.uint32()!==0}fixed32(){if(this.pos+4>this.len)throw ue(this,4);return kt(this.buf,this.pos+=4)}sfixed32(){if(this.pos+4>this.len)throw ue(this,4);return kt(this.buf,this.pos+=4)|0}float(){if(this.pos+4>this.len)throw ue(this,4);let e=To(this.buf,this.pos);return this.pos+=4,e}double(){if(this.pos+8>this.len)throw ue(this,4);let e=No(this.buf,this.pos);return this.pos+=8,e}bytes(){let e=this.uint32(),t=this.pos,o=this.pos+e;if(o>this.len)throw ue(this,e);return this.pos+=e,t===o?new Uint8Array(0):this.buf.subarray(t,o)}string(){let e=this.bytes();return Ro(e,0,e.length)}skip(e){if(typeof e=="number"){if(this.pos+e>this.len)throw ue(this,e);this.pos+=e}else do if(this.pos>=this.len)throw ue(this);while(this.buf[this.pos++]&128);return this}skipType(e){switch(e){case 0:this.skip();break;case 1:this.skip(8);break;case 2:this.skip(this.uint32());break;case 3:for(;(e=this.uint32()&7)!==4;)this.skipType(e);break;case 5:this.skip(4);break;default:throw Error(`invalid wire type ${e} at offset ${this.pos}`)}return this}readLongVarint(){let e=new q(0,0),t=0;if(this.len-this.pos>4){for(;t<4;++t)if(e.lo=(e.lo|(this.buf[this.pos]&127)<<t*7)>>>0,this.buf[this.pos++]<128)return e;if(e.lo=(e.lo|(this.buf[this.pos]&127)<<28)>>>0,e.hi=(e.hi|(this.buf[this.pos]&127)>>4)>>>0,this.buf[this.pos++]<128)return e;t=0}else{for(;t<3;++t){if(this.pos>=this.len)throw ue(this);if(e.lo=(e.lo|(this.buf[this.pos]&127)<<t*7)>>>0,this.buf[this.pos++]<128)return e}return e.lo=(e.lo|(this.buf[this.pos++]&127)<<t*7)>>>0,e}if(this.len-this.pos>4){for(;t<5;++t)if(e.hi=(e.hi|(this.buf[this.pos]&127)<<t*7+3)>>>0,this.buf[this.pos++]<128)return e}else for(;t<5;++t){if(this.pos>=this.len)throw ue(this);if(e.hi=(e.hi|(this.buf[this.pos]&127)<<t*7+3)>>>0,this.buf[this.pos++]<128)return e}throw Error("invalid varint encoding")}readFixed64(){if(this.pos+8>this.len)throw ue(this,8);let e=kt(this.buf,this.pos+=4),t=kt(this.buf,this.pos+=4);return new q(e,t)}int64(){return this.readLongVarint().toBigInt()}int64Number(){return this.readLongVarint().toNumber()}int64String(){return this.readLongVarint().toString()}uint64(){return this.readLongVarint().toBigInt(!0)}uint64Number(){let e=kr(this.buf,this.pos);return this.pos+=k(e),e}uint64String(){return this.readLongVarint().toString(!0)}sint64(){return this.readLongVarint().zzDecode().toBigInt()}sint64Number(){return this.readLongVarint().zzDecode().toNumber()}sint64String(){return this.readLongVarint().zzDecode().toString()}fixed64(){return this.readFixed64().toBigInt()}fixed64Number(){return this.readFixed64().toNumber()}fixed64String(){return this.readFixed64().toString()}sfixed64(){return this.readFixed64().toBigInt()}sfixed64Number(){return this.readFixed64().toNumber()}sfixed64String(){return this.readFixed64().toString()}};function Br(r){return new _r(r instanceof Uint8Array?r:r.subarray())}function P(r,e,t){let o=Br(r);return e.decode(o,void 0,t)}function Pt(r){return globalThis.Buffer!=null?new Uint8Array(r.buffer,r.byteOffset,r.byteLength):r}function Ue(r=0){return globalThis.Buffer?.allocUnsafe!=null?Pt(globalThis.Buffer.allocUnsafe(r)):new Uint8Array(r)}var zr={};S(zr,{base10:()=>ac});var lf=new Uint8Array(0);function Po(r,e){if(r===e)return!0;if(r.byteLength!==e.byteLength)return!1;for(let t=0;t<r.byteLength;t++)if(r[t]!==e[t])return!1;return!0}function re(r){if(r instanceof Uint8Array&&r.constructor.name==="Uint8Array")return r;if(r instanceof ArrayBuffer)return new Uint8Array(r);if(ArrayBuffer.isView(r))return new Uint8Array(r.buffer,r.byteOffset,r.byteLength);throw new Error("Unknown type, must be binary type")}function Oo(r){return new TextEncoder().encode(r)}function Fo(r){return new TextDecoder().decode(r)}function nc(r,e){if(r.length>=255)throw new TypeError("Alphabet too long");for(var t=new Uint8Array(256),o=0;o<t.length;o++)t[o]=255;for(var n=0;n<r.length;n++){var i=r.charAt(n),s=i.charCodeAt(0);if(t[s]!==255)throw new TypeError(i+" is ambiguous");t[s]=n}var c=r.length,a=r.charAt(0),d=Math.log(c)/Math.log(256),l=Math.log(256)/Math.log(c);function u(f){if(f instanceof Uint8Array||(ArrayBuffer.isView(f)?f=new Uint8Array(f.buffer,f.byteOffset,f.byteLength):Array.isArray(f)&&(f=Uint8Array.from(f))),!(f instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(f.length===0)return"";for(var y=0,m=0,g=0,x=f.length;g!==x&&f[g]===0;)g++,y++;for(var v=(x-g)*l+1>>>0,E=new Uint8Array(v);g!==x;){for(var T=f[g],U=0,C=v-1;(T!==0||U<m)&&C!==-1;C--,U++)T+=256*E[C]>>>0,E[C]=T%c>>>0,T=T/c>>>0;if(T!==0)throw new Error("Non-zero carry");m=U,g++}for(var L=v-m;L!==v&&E[L]===0;)L++;for(var ae=a.repeat(y);L<v;++L)ae+=r.charAt(E[L]);return ae}function p(f){if(typeof f!="string")throw new TypeError("Expected String");if(f.length===0)return new Uint8Array;var y=0;if(f[y]!==" "){for(var m=0,g=0;f[y]===a;)m++,y++;for(var x=(f.length-y)*d+1>>>0,v=new Uint8Array(x);f[y];){var E=t[f.charCodeAt(y)];if(E===255)return;for(var T=0,U=x-1;(E!==0||T<g)&&U!==-1;U--,T++)E+=c*v[U]>>>0,v[U]=E%256>>>0,E=E/256>>>0;if(E!==0)throw new Error("Non-zero carry");g=T,y++}if(f[y]!==" "){for(var C=x-g;C!==x&&v[C]===0;)C++;for(var L=new Uint8Array(m+(x-C)),ae=m;C!==x;)L[ae++]=v[C++];return L}}}function w(f){var y=p(f);if(y)return y;throw new Error(`Non-${e} character`)}return{encode:u,decodeUnsafe:p,decode:w}}var oc=nc,ic=oc,Bo=ic;var Mr=class{name;prefix;baseEncode;constructor(e,t,o){this.name=e,this.prefix=t,this.baseEncode=o}encode(e){if(e instanceof Uint8Array)return`${this.prefix}${this.baseEncode(e)}`;throw Error("Unknown type, must be binary type")}},Vr=class{name;prefix;baseDecode;prefixCodePoint;constructor(e,t,o){if(this.name=e,this.prefix=t,t.codePointAt(0)===void 0)throw new Error("Invalid prefix character");this.prefixCodePoint=t.codePointAt(0),this.baseDecode=o}decode(e){if(typeof e=="string"){if(e.codePointAt(0)!==this.prefixCodePoint)throw Error(`Unable to decode multibase string ${JSON.stringify(e)}, ${this.name} decoder only supports inputs prefixed with ${this.prefix}`);return this.baseDecode(e.slice(this.prefix.length))}else throw Error("Can only multibase decode strings")}or(e){return Mo(this,e)}},Gr=class{decoders;constructor(e){this.decoders=e}or(e){return Mo(this,e)}decode(e){let t=e[0],o=this.decoders[t];if(o!=null)return o.decode(e);throw RangeError(`Unable to decode multibase string ${JSON.stringify(e)}, only inputs prefixed with ${Object.keys(this.decoders)} are supported`)}};function Mo(r,e){return new Gr({...r.decoders??{[r.prefix]:r},...e.decoders??{[e.prefix]:e}})}var $r=class{name;prefix;baseEncode;baseDecode;encoder;decoder;constructor(e,t,o,n){this.name=e,this.prefix=t,this.baseEncode=o,this.baseDecode=n,this.encoder=new Mr(e,t,o),this.decoder=new Vr(e,t,n)}encode(e){return this.encoder.encode(e)}decode(e){return this.decoder.decode(e)}};function We({name:r,prefix:e,encode:t,decode:o}){return new $r(r,e,t,o)}function Ie({name:r,prefix:e,alphabet:t}){let{encode:o,decode:n}=Bo(t,r);return We({prefix:e,name:r,encode:o,decode:i=>re(n(i))})}function sc(r,e,t,o){let n={};for(let l=0;l<e.length;++l)n[e[l]]=l;let i=r.length;for(;r[i-1]==="=";)--i;let s=new Uint8Array(i*t/8|0),c=0,a=0,d=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<<t|u,c+=t,c>=8&&(c-=8,s[d++]=255&a>>c)}if(c>=t||255&a<<8-c)throw new SyntaxError("Unexpected end of data");return s}function cc(r,e,t){let o=e[e.length-1]==="=",n=(1<<t)-1,i="",s=0,c=0;for(let a=0;a<r.length;++a)for(c=c<<8|r[a],s+=8;s>t;)s-=t,i+=e[n&c>>s];if(s!==0&&(i+=e[n&c<<t-s]),o)for(;i.length*t&7;)i+="=";return i}function N({name:r,prefix:e,bitsPerChar:t,alphabet:o}){return We({prefix:e,name:r,encode(n){return cc(n,o,t)},decode(n){return sc(n,o,t,r)}})}var ac=Ie({prefix:"9",name:"base10",alphabet:"0123456789"});var Hr={};S(Hr,{base16:()=>lc,base16upper:()=>uc});var lc=N({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),uc=N({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var Wr={};S(Wr,{base2:()=>fc});var fc=N({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var Kr={};S(Kr,{base256emoji:()=>gc});var Vo=Array.from("\u{1F680}\u{1FA90}\u2604\u{1F6F0}\u{1F30C}\u{1F311}\u{1F312}\u{1F313}\u{1F314}\u{1F315}\u{1F316}\u{1F317}\u{1F318}\u{1F30D}\u{1F30F}\u{1F30E}\u{1F409}\u2600\u{1F4BB}\u{1F5A5}\u{1F4BE}\u{1F4BF}\u{1F602}\u2764\u{1F60D}\u{1F923}\u{1F60A}\u{1F64F}\u{1F495}\u{1F62D}\u{1F618}\u{1F44D}\u{1F605}\u{1F44F}\u{1F601}\u{1F525}\u{1F970}\u{1F494}\u{1F496}\u{1F499}\u{1F622}\u{1F914}\u{1F606}\u{1F644}\u{1F4AA}\u{1F609}\u263A\u{1F44C}\u{1F917}\u{1F49C}\u{1F614}\u{1F60E}\u{1F607}\u{1F339}\u{1F926}\u{1F389}\u{1F49E}\u270C\u2728\u{1F937}\u{1F631}\u{1F60C}\u{1F338}\u{1F64C}\u{1F60B}\u{1F497}\u{1F49A}\u{1F60F}\u{1F49B}\u{1F642}\u{1F493}\u{1F929}\u{1F604}\u{1F600}\u{1F5A4}\u{1F603}\u{1F4AF}\u{1F648}\u{1F447}\u{1F3B6}\u{1F612}\u{1F92D}\u2763\u{1F61C}\u{1F48B}\u{1F440}\u{1F62A}\u{1F611}\u{1F4A5}\u{1F64B}\u{1F61E}\u{1F629}\u{1F621}\u{1F92A}\u{1F44A}\u{1F973}\u{1F625}\u{1F924}\u{1F449}\u{1F483}\u{1F633}\u270B\u{1F61A}\u{1F61D}\u{1F634}\u{1F31F}\u{1F62C}\u{1F643}\u{1F340}\u{1F337}\u{1F63B}\u{1F613}\u2B50\u2705\u{1F97A}\u{1F308}\u{1F608}\u{1F918}\u{1F4A6}\u2714\u{1F623}\u{1F3C3}\u{1F490}\u2639\u{1F38A}\u{1F498}\u{1F620}\u261D\u{1F615}\u{1F33A}\u{1F382}\u{1F33B}\u{1F610}\u{1F595}\u{1F49D}\u{1F64A}\u{1F639}\u{1F5E3}\u{1F4AB}\u{1F480}\u{1F451}\u{1F3B5}\u{1F91E}\u{1F61B}\u{1F534}\u{1F624}\u{1F33C}\u{1F62B}\u26BD\u{1F919}\u2615\u{1F3C6}\u{1F92B}\u{1F448}\u{1F62E}\u{1F646}\u{1F37B}\u{1F343}\u{1F436}\u{1F481}\u{1F632}\u{1F33F}\u{1F9E1}\u{1F381}\u26A1\u{1F31E}\u{1F388}\u274C\u270A\u{1F44B}\u{1F630}\u{1F928}\u{1F636}\u{1F91D}\u{1F6B6}\u{1F4B0}\u{1F353}\u{1F4A2}\u{1F91F}\u{1F641}\u{1F6A8}\u{1F4A8}\u{1F92C}\u2708\u{1F380}\u{1F37A}\u{1F913}\u{1F619}\u{1F49F}\u{1F331}\u{1F616}\u{1F476}\u{1F974}\u25B6\u27A1\u2753\u{1F48E}\u{1F4B8}\u2B07\u{1F628}\u{1F31A}\u{1F98B}\u{1F637}\u{1F57A}\u26A0\u{1F645}\u{1F61F}\u{1F635}\u{1F44E}\u{1F932}\u{1F920}\u{1F927}\u{1F4CC}\u{1F535}\u{1F485}\u{1F9D0}\u{1F43E}\u{1F352}\u{1F617}\u{1F911}\u{1F30A}\u{1F92F}\u{1F437}\u260E\u{1F4A7}\u{1F62F}\u{1F486}\u{1F446}\u{1F3A4}\u{1F647}\u{1F351}\u2744\u{1F334}\u{1F4A3}\u{1F438}\u{1F48C}\u{1F4CD}\u{1F940}\u{1F922}\u{1F445}\u{1F4A1}\u{1F4A9}\u{1F450}\u{1F4F8}\u{1F47B}\u{1F910}\u{1F92E}\u{1F3BC}\u{1F975}\u{1F6A9}\u{1F34E}\u{1F34A}\u{1F47C}\u{1F48D}\u{1F4E3}\u{1F942}"),dc=Vo.reduce((r,e,t)=>(r[t]=e,r),[]),hc=Vo.reduce((r,e,t)=>(r[e.codePointAt(0)]=t,r),[]);function pc(r){return r.reduce((e,t)=>(e+=dc[t],e),"")}function mc(r){let e=[];for(let t of r){let o=hc[t.codePointAt(0)];if(o===void 0)throw new Error(`Non-base256emoji character: ${t}`);e.push(o)}return new Uint8Array(e)}var gc=We({prefix:"\u{1F680}",name:"base256emoji",encode:pc,decode:mc});var Xr={};S(Xr,{base32:()=>fe,base32hex:()=>xc,base32hexpad:()=>vc,base32hexpadupper:()=>Ac,base32hexupper:()=>Ec,base32pad:()=>yc,base32padupper:()=>wc,base32upper:()=>bc,base32z:()=>Ic});var fe=N({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),bc=N({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),yc=N({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),wc=N({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),xc=N({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),Ec=N({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),vc=N({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),Ac=N({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),Ic=N({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var Jr={};S(Jr,{base36:()=>Cc,base36upper:()=>Sc});var Cc=Ie({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),Sc=Ie({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var Qr={};S(Qr,{base58btc:()=>B,base58flickr:()=>Tc});var B=Ie({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),Tc=Ie({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var Zr={};S(Zr,{base64:()=>Yr,base64pad:()=>Lc,base64url:()=>Nc,base64urlpad:()=>Dc});var Yr=N({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),Lc=N({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),Nc=N({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),Dc=N({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});var qr={};S(qr,{base8:()=>Uc});var Uc=N({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var jr={};S(jr,{identity:()=>Rc});var Rc=We({prefix:"\0",name:"identity",encode:r=>Fo(r),decode:r=>Oo(r)});var Cf=new TextEncoder,Sf=new TextDecoder;var tn={};S(tn,{identity:()=>Ft});var Oc=zo,Go=128,Fc=127,_c=~Fc,Bc=Math.pow(2,31);function zo(r,e,t){e=e||[],t=t||0;for(var o=t;r>=Bc;)e[t++]=r&255|Go,r/=128;for(;r&_c;)e[t++]=r&255|Go,r>>>=7;return e[t]=r|0,zo.bytes=t-o+1,e}var Mc=en,Vc=128,$o=127;function en(r,o){var t=0,o=o||0,n=0,i=o,s,c=r.length;do{if(i>=c)throw en.bytes=0,new RangeError("Could not decode varint");s=r[i++],t+=n<28?(s&$o)<<n:(s&$o)*Math.pow(2,n),n+=7}while(s>=Vc);return en.bytes=i-o,t}var Gc=Math.pow(2,7),$c=Math.pow(2,14),zc=Math.pow(2,21),Hc=Math.pow(2,28),Wc=Math.pow(2,35),Kc=Math.pow(2,42),Xc=Math.pow(2,49),Jc=Math.pow(2,56),Qc=Math.pow(2,63),Yc=function(r){return r<Gc?1:r<$c?2:r<zc?3:r<Hc?4:r<Wc?5:r<Kc?6:r<Xc?7:r<Jc?8:r<Qc?9:10},Zc={encode:Oc,decode:Mc,encodingLength:Yc},qc=Zc,bt=qc;function yt(r,e=0){return[bt.decode(r,e),bt.decode.bytes]}function Ke(r,e,t=0){return bt.encode(r,e,t),e}function Xe(r){return bt.encodingLength(r)}function Ce(r,e){let t=e.byteLength,o=Xe(r),n=o+Xe(t),i=new Uint8Array(n+t);return Ke(r,i,0),Ke(t,i,o),i.set(e,n),new Je(r,t,e,i)}function Re(r){let e=re(r),[t,o]=yt(e),[n,i]=yt(e.subarray(o)),s=e.subarray(o+i);if(s.byteLength!==n)throw new Error("Incorrect length");return new Je(t,n,s,e)}function Ho(r,e){if(r===e)return!0;{let t=e;return r.code===t.code&&r.size===t.size&&t.bytes instanceof Uint8Array&&Po(r.bytes,t.bytes)}}var Je=class{code;size;digest;bytes;constructor(e,t,o,n){this.code=e,this.size=t,this.digest=o,this.bytes=n}};var Wo=0,jc="identity",Ko=re;function ea(r){return Ce(Wo,Ko(r))}var Ft={code:Wo,name:jc,encode:Ko,digest:ea};var sn={};S(sn,{sha256:()=>_t,sha512:()=>ta});var on=be(pe("crypto"),1);function nn({name:r,code:e,encode:t}){return new rn(r,e,t)}var rn=class{name;code;encode;constructor(e,t,o){this.name=e,this.code=t,this.encode=o}digest(e){if(e instanceof Uint8Array){let t=this.encode(e);return t instanceof Uint8Array?Ce(this.code,t):t.then(o=>Ce(this.code,o))}else throw Error("Unknown type, must be binary type")}};var _t=nn({name:"sha2-256",code:18,encode:r=>re(on.default.createHash("sha256").update(r).digest())}),ta=nn({name:"sha2-512",code:19,encode:r=>re(on.default.createHash("sha512").update(r).digest())});function Jo(r,e){let{bytes:t,version:o}=r;switch(o){case 0:return na(t,cn(r),e??B.encoder);default:return oa(t,cn(r),e??fe.encoder)}}var Qo=new WeakMap;function cn(r){let e=Qo.get(r);if(e==null){let t=new Map;return Qo.set(r,t),t}return e}var Q=class r{code;version;multihash;bytes;"/";constructor(e,t,o,n){this.code=t,this.version=e,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:e,multihash:t}=this;if(e!==wt)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(t.code!==ia)throw new Error("Cannot convert non sha2-256 multihash CID to CIDv0");return r.createV0(t)}default:throw Error(`Can not convert CID version ${this.version} to version 0. This is a bug please report`)}}toV1(){switch(this.version){case 0:{let{code:e,digest:t}=this.multihash,o=Ce(e,t);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(e){return r.equals(this,e)}static equals(e,t){let o=t;return o!=null&&e.code===o.code&&e.version===o.version&&Ho(e.multihash,o.multihash)}toString(e){return Jo(this,e)}toJSON(){return{"/":Jo(this)}}link(){return this}[Symbol.toStringTag]="CID";[Symbol.for("nodejs.util.inspect.custom")](){return`CID(${this.toString()})`}static asCID(e){if(e==null)return null;let t=e;if(t instanceof r)return t;if(t["/"]!=null&&t["/"]===t.bytes||t.asCID===t){let{version:o,code:n,multihash:i,bytes:s}=t;return new r(o,n,i,s??Yo(o,n,i.bytes))}else if(t[sa]===!0){let{version:o,multihash:n,code:i}=t,s=Re(n);return r.create(o,i,s)}else return null}static create(e,t,o){if(typeof t!="number")throw new Error("String codecs are no longer supported");if(!(o.bytes instanceof Uint8Array))throw new Error("Invalid digest");switch(e){case 0:{if(t!==wt)throw new Error(`Version 0 CID must use dag-pb (code: ${wt}) block encoding`);return new r(e,t,o,o.bytes)}case 1:{let n=Yo(e,t,o.bytes);return new r(e,t,o,n)}default:throw new Error("Invalid version")}}static createV0(e){return r.create(0,wt,e)}static createV1(e,t){return r.create(1,e,t)}static decode(e){let[t,o]=r.decodeFirst(e);if(o.length!==0)throw new Error("Incorrect length");return t}static decodeFirst(e){let t=r.inspectBytes(e),o=t.size-t.multihashSize,n=re(e.subarray(o,o+t.multihashSize));if(n.byteLength!==t.multihashSize)throw new Error("Incorrect length");let i=n.subarray(t.multihashSize-t.digestSize),s=new Je(t.multihashCode,t.digestSize,i,n);return[t.version===0?r.createV0(s):r.createV1(t.codec,s),e.subarray(t.size)]}static inspectBytes(e){let t=0,o=()=>{let[u,p]=yt(e.subarray(t));return t+=p,u},n=o(),i=wt;if(n===18?(n=0,t=0):i=o(),n!==0&&n!==1)throw new RangeError(`Invalid CID version ${n}`);let s=t,c=o(),a=o(),d=t+a,l=d-s;return{version:n,codec:i,multihashCode:c,digestSize:a,multihashSize:l,size:d}}static parse(e,t){let[o,n]=ra(e,t),i=r.decode(n);if(i.version===0&&e[0]!=="Q")throw Error("Version 0 CID string must not include multibase prefix");return cn(i).set(o,e),i}};function ra(r,e){switch(r[0]){case"Q":{let t=e??B;return[B.prefix,t.decode(`${B.prefix}${r}`)]}case B.prefix:{let t=e??B;return[B.prefix,t.decode(r)]}case fe.prefix:{let t=e??fe;return[fe.prefix,t.decode(r)]}default:{if(e==null)throw Error("To parse non base32 or base58btc encoded CID multibase decoder must be provided");return[r[0],e.decode(r)]}}}function na(r,e,t){let{prefix:o}=t;if(o!==B.prefix)throw Error(`Cannot string encode V0 in ${t.name} encoding`);let n=e.get(o);if(n==null){let i=t.encode(r).slice(1);return e.set(o,i),i}else return n}function oa(r,e,t){let{prefix:o}=t,n=e.get(o);if(n==null){let i=t.encode(r);return e.set(o,i),i}else return n}var wt=112,ia=18;function Yo(r,e,t){let o=Xe(r),n=o+Xe(e),i=new Uint8Array(n+t.byteLength);return Ke(r,i,0),Ke(e,i,o),i.set(t,n),i}var sa=Symbol.for("@ipld/js-cid/CID");var de={...jr,...Wr,...qr,...zr,...Hr,...Xr,...Jr,...Qr,...Zr,...Kr},Jf={...sn,...tn};function qo(r,e,t,o){return{name:r,prefix:e,encoder:{name:r,prefix:e,encode:t},decoder:{decode:o}}}var Zo=qo("utf8","u",r=>"u"+new TextDecoder("utf8").decode(r),r=>new TextEncoder().encode(r.substring(1))),an=qo("ascii","a",r=>{let e="a";for(let t=0;t<r.length;t++)e+=String.fromCharCode(r[t]);return e},r=>{r=r.substring(1);let e=Ue(r.length);for(let t=0;t<r.length;t++)e[t]=r.charCodeAt(t);return e}),ca={utf8:Zo,"utf-8":Zo,hex:de.base16,latin1:an,ascii:an,binary:an,...de},jo=ca;function ei(r,e="utf8"){let t=jo[e];if(t==null)throw new Error(`Unsupported encoding "${e}"`);return(e==="utf8"||e==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?Pt(globalThis.Buffer.from(r,"utf-8")):t.decoder.decode(`${t.prefix}${r}`)}function ln(r){let e=r??8192,t=e>>>1,o,n=e;return function(s){if(s<1||s>t)return Ue(s);n+s>e&&(o=Ue(e),n=0);let c=o.subarray(n,n+=s);return n&7&&(n=(n|7)+1),c}}var Pe=class{fn;len;next;val;constructor(e,t,o){this.fn=e,this.len=t,this.next=void 0,this.val=o}};function un(){}var dn=class{head;tail;len;next;constructor(e){this.head=e.head,this.tail=e.tail,this.len=e.len,this.next=e.states}},aa=ln();function la(r){return globalThis.Buffer!=null?Ue(r):aa(r)}var Et=class{len;head;tail;states;constructor(){this.len=0,this.head=new Pe(un,0,0),this.tail=this.head,this.states=null}_push(e,t,o){return this.tail=this.tail.next=new Pe(e,t,o),this.len+=t,this}uint32(e){return this.len+=(this.tail=this.tail.next=new hn((e=e>>>0)<128?1:e<16384?2:e<2097152?3:e<268435456?4:5,e)).len,this}int32(e){return e<0?this._push(Bt,10,q.fromNumber(e)):this.uint32(e)}sint32(e){return this.uint32((e<<1^e>>31)>>>0)}uint64(e){let t=q.fromBigInt(e);return this._push(Bt,t.length(),t)}uint64Number(e){return this._push(Rr,k(e),e)}uint64String(e){return this.uint64(BigInt(e))}int64(e){return this.uint64(e)}int64Number(e){return this.uint64Number(e)}int64String(e){return this.uint64String(e)}sint64(e){let t=q.fromBigInt(e).zzEncode();return this._push(Bt,t.length(),t)}sint64Number(e){let t=q.fromNumber(e).zzEncode();return this._push(Bt,t.length(),t)}sint64String(e){return this.sint64(BigInt(e))}bool(e){return this._push(fn,1,e?1:0)}fixed32(e){return this._push(xt,4,e>>>0)}sfixed32(e){return this.fixed32(e)}fixed64(e){let t=q.fromBigInt(e);return this._push(xt,4,t.lo)._push(xt,4,t.hi)}fixed64Number(e){let t=q.fromNumber(e);return this._push(xt,4,t.lo)._push(xt,4,t.hi)}fixed64String(e){return this.fixed64(BigInt(e))}sfixed64(e){return this.fixed64(e)}sfixed64Number(e){return this.fixed64Number(e)}sfixed64String(e){return this.fixed64String(e)}float(e){return this._push(So,4,e)}double(e){return this._push(Lo,8,e)}bytes(e){let t=e.length>>>0;return t===0?this._push(fn,1,0):this.uint32(t)._push(fa,t,e)}string(e){let t=Uo(e);return t!==0?this.uint32(t)._push(Fr,t,e):this._push(fn,1,0)}fork(){return this.states=new dn(this),this.head=this.tail=new Pe(un,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 Pe(un,0,0),this.len=0),this}ldelim(){let e=this.head,t=this.tail,o=this.len;return this.reset().uint32(o),o!==0&&(this.tail.next=e.next,this.tail=t,this.len+=o),this}finish(){let e=this.head.next,t=la(this.len),o=0;for(;e!=null;)e.fn(e.val,t,o),o+=e.len,e=e.next;return t}};function fn(r,e,t){e[t]=r&255}function ua(r,e,t){for(;r>127;)e[t++]=r&127|128,r>>>=7;e[t]=r}var hn=class extends Pe{next;constructor(e,t){super(ua,e,t),this.next=void 0}};function Bt(r,e,t){for(;r.hi!==0;)e[t++]=r.lo&127|128,r.lo=(r.lo>>>7|r.hi<<25)>>>0,r.hi>>>=7;for(;r.lo>127;)e[t++]=r.lo&127|128,r.lo=r.lo>>>7;e[t++]=r.lo}function xt(r,e,t){e[t]=r&255,e[t+1]=r>>>8&255,e[t+2]=r>>>16&255,e[t+3]=r>>>24}function fa(r,e,t){e.set(r,t)}globalThis.Buffer!=null&&(Et.prototype.bytes=function(r){let e=r.length>>>0;return this.uint32(e),e>0&&this._push(da,e,r),this},Et.prototype.string=function(r){let e=globalThis.Buffer.byteLength(r);return this.uint32(e),e>0&&this._push(ha,e,r),this});function da(r,e,t){e.set(r,t)}function ha(r,e,t){r.length<40?Fr(r,e,t):e.utf8Write!=null?e.utf8Write(r,t):e.set(ei(r),t)}function pn(){return new Et}function O(r,e){let t=pn();return e.encode(r,t,{lengthDelimited:!1}),t.finish()}var Qe;(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"})(Qe||(Qe={}));function Mt(r,e,t,o){return{name:r,type:e,encode:t,decode:o}}function ye(r){function e(n){if(r[n.toString()]==null)throw new Error("Invalid enum value");return r[n]}let t=function(i,s){let c=e(i);s.int32(c)},o=function(i){let s=i.int32();return e(s)};return Mt("enum",Qe.VARINT,t,o)}function F(r,e){return Mt("message",Qe.LENGTH_DELIMITED,r,e)}var ne;(function(r){let e;(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"})(e=r.Type||(r.Type={}));let t;(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"})(t||(t={})),function(n){n.codec=()=>ye(t)}(e=r.Type||(r.Type={}));let o;r.codec=()=>(o==null&&(o=F((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),Gt.codec().encode(n.connect,i)),n.streamOpen!=null&&(i.uint32(26),$t.codec().encode(n.streamOpen,i)),n.streamHandler!=null&&(i.uint32(34),zt.codec().encode(n.streamHandler,i)),n.dht!=null&&(i.uint32(42),oe.codec().encode(n.dht,i)),n.connManager!=null&&(i.uint32(50),Wt.codec().encode(n.connManager,i)),n.disconnect!=null&&(i.uint32(58),Kt.codec().encode(n.disconnect,i)),n.pubsub!=null&&(i.uint32(66),we.codec().encode(n.pubsub,i)),n.peerStore!=null&&(i.uint32(74),Oe.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=Gt.codec().decode(n,n.uint32());break;case 3:s.streamOpen=$t.codec().decode(n,n.uint32());break;case 4:s.streamHandler=zt.codec().decode(n,n.uint32());break;case 5:s.dht=oe.codec().decode(n,n.uint32());break;case 6:s.connManager=Wt.codec().decode(n,n.uint32());break;case 7:s.disconnect=Kt.codec().decode(n,n.uint32());break;case 8:s.pubsub=we.codec().decode(n,n.uint32());break;case 9:s.peerStore=Oe.codec().decode(n,n.uint32());break;default:n.skipType(a&7);break}}return s})),o),r.encode=n=>O(n,r.codec()),r.decode=n=>P(n,r.codec())})(ne||(ne={}));var _;(function(r){let e;(function(n){n.OK="OK",n.ERROR="ERROR"})(e=r.Type||(r.Type={}));let t;(function(n){n[n.OK=0]="OK",n[n.ERROR=1]="ERROR"})(t||(t={})),function(n){n.codec=()=>ye(t)}(e=r.Type||(r.Type={}));let o;r.codec=()=>(o==null&&(o=F((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),Ht.codec().encode(n.error,i)),n.streamInfo!=null&&(i.uint32(26),Ye.codec().encode(n.streamInfo,i)),n.identify!=null&&(i.uint32(34),Vt.codec().encode(n.identify,i)),n.dht!=null&&(i.uint32(42),V.codec().encode(n.dht,i)),n.peers!=null)for(let c of n.peers)i.uint32(50),Se.codec().encode(c,i);n.pubsub!=null&&(i.uint32(58),Xt.codec().encode(n.pubsub,i)),n.peerStore!=null&&(i.uint32(66),Jt.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=Ht.codec().decode(n,n.uint32());break;case 3:s.streamInfo=Ye.codec().decode(n,n.uint32());break;case 4:s.identify=Vt.codec().decode(n,n.uint32());break;case 5:s.dht=V.codec().decode(n,n.uint32());break;case 6:s.peers.push(Se.codec().decode(n,n.uint32()));break;case 7:s.pubsub=Xt.codec().decode(n,n.uint32());break;case 8:s.peerStore=Jt.codec().decode(n,n.uint32());break;default:n.skipType(a&7);break}}return s})),o),r.encode=n=>O(n,r.codec()),r.decode=n=>P(n,r.codec())})(_||(_={}));var Vt;(function(r){let e;r.codec=()=>(e==null&&(e=F((t,o,n={})=>{if(n.lengthDelimited!==!1&&o.fork(),t.id!=null&&t.id.byteLength>0&&(o.uint32(10),o.bytes(t.id)),t.addrs!=null)for(let i of t.addrs)o.uint32(18),o.bytes(i);n.lengthDelimited!==!1&&o.ldelim()},(t,o)=>{let n={id:new Uint8Array(0),addrs:[]},i=o==null?t.len:t.pos+o;for(;t.pos<i;){let s=t.uint32();switch(s>>>3){case 1:n.id=t.bytes();break;case 2:n.addrs.push(t.bytes());break;default:t.skipType(s&7);break}}return n})),e),r.encode=t=>O(t,r.codec()),r.decode=t=>P(t,r.codec())})(Vt||(Vt={}));var Gt;(function(r){let e;r.codec=()=>(e==null&&(e=F((t,o,n={})=>{if(n.lengthDelimited!==!1&&o.fork(),t.peer!=null&&t.peer.byteLength>0&&(o.uint32(10),o.bytes(t.peer)),t.addrs!=null)for(let i of t.addrs)o.uint32(18),o.bytes(i);t.timeout!=null&&(o.uint32(24),o.int64(t.timeout)),n.lengthDelimited!==!1&&o.ldelim()},(t,o)=>{let n={peer:new Uint8Array(0),addrs:[]},i=o==null?t.len:t.pos+o;for(;t.pos<i;){let s=t.uint32();switch(s>>>3){case 1:n.peer=t.bytes();break;case 2:n.addrs.push(t.bytes());break;case 3:n.timeout=t.int64();break;default:t.skipType(s&7);break}}return n})),e),r.encode=t=>O(t,r.codec()),r.decode=t=>P(t,r.codec())})(Gt||(Gt={}));var $t;(function(r){let e;r.codec=()=>(e==null&&(e=F((t,o,n={})=>{if(n.lengthDelimited!==!1&&o.fork(),t.peer!=null&&t.peer.byteLength>0&&(o.uint32(10),o.bytes(t.peer)),t.proto!=null)for(let i of t.proto)o.uint32(18),o.string(i);t.timeout!=null&&(o.uint32(24),o.int64(t.timeout)),n.lengthDelimited!==!1&&o.ldelim()},(t,o)=>{let n={peer:new Uint8Array(0),proto:[]},i=o==null?t.len:t.pos+o;for(;t.pos<i;){let s=t.uint32();switch(s>>>3){case 1:n.peer=t.bytes();break;case 2:n.proto.push(t.string());break;case 3:n.timeout=t.int64();break;default:t.skipType(s&7);break}}return n})),e),r.encode=t=>O(t,r.codec()),r.decode=t=>P(t,r.codec())})($t||($t={}));var zt;(function(r){let e;r.codec=()=>(e==null&&(e=F((t,o,n={})=>{if(n.lengthDelimited!==!1&&o.fork(),t.addr!=null&&t.addr.byteLength>0&&(o.uint32(10),o.bytes(t.addr)),t.proto!=null)for(let i of t.proto)o.uint32(18),o.string(i);n.lengthDelimited!==!1&&o.ldelim()},(t,o)=>{let n={addr:new Uint8Array(0),proto:[]},i=o==null?t.len:t.pos+o;for(;t.pos<i;){let s=t.uint32();switch(s>>>3){case 1:n.addr=t.bytes();break;case 2:n.proto.push(t.string());break;default:t.skipType(s&7);break}}return n})),e),r.encode=t=>O(t,r.codec()),r.decode=t=>P(t,r.codec())})(zt||(zt={}));var Ht;(function(r){let e;r.codec=()=>(e==null&&(e=F((t,o,n={})=>{n.lengthDelimited!==!1&&o.fork(),t.msg!=null&&t.msg!==""&&(o.uint32(10),o.string(t.msg)),n.lengthDelimited!==!1&&o.ldelim()},(t,o)=>{let n={msg:""},i=o==null?t.len:t.pos+o;for(;t.pos<i;){let s=t.uint32();switch(s>>>3){case 1:n.msg=t.string();break;default:t.skipType(s&7);break}}return n})),e),r.encode=t=>O(t,r.codec()),r.decode=t=>P(t,r.codec())})(Ht||(Ht={}));var Ye;(function(r){let e;r.codec=()=>(e==null&&(e=F((t,o,n={})=>{n.lengthDelimited!==!1&&o.fork(),t.peer!=null&&t.peer.byteLength>0&&(o.uint32(10),o.bytes(t.peer)),t.addr!=null&&t.addr.byteLength>0&&(o.uint32(18),o.bytes(t.addr)),t.proto!=null&&t.proto!==""&&(o.uint32(26),o.string(t.proto)),n.lengthDelimited!==!1&&o.ldelim()},(t,o)=>{let n={peer:new Uint8Array(0),addr:new Uint8Array(0),proto:""},i=o==null?t.len:t.pos+o;for(;t.pos<i;){let s=t.uint32();switch(s>>>3){case 1:n.peer=t.bytes();break;case 2:n.addr=t.bytes();break;case 3:n.proto=t.string();break;default:t.skipType(s&7);break}}return n})),e),r.encode=t=>O(t,r.codec()),r.decode=t=>P(t,r.codec())})(Ye||(Ye={}));var oe;(function(r){let e;(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"})(e=r.Type||(r.Type={}));let t;(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"})(t||(t={})),function(n){n.codec=()=>ye(t)}(e=r.Type||(r.Type={}));let o;r.codec=()=>(o==null&&(o=F((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=>O(n,r.codec()),r.decode=n=>P(n,r.codec())})(oe||(oe={}));var V;(function(r){let e;(function(n){n.BEGIN="BEGIN",n.VALUE="VALUE",n.END="END"})(e=r.Type||(r.Type={}));let t;(function(n){n[n.BEGIN=0]="BEGIN",n[n.VALUE=1]="VALUE",n[n.END=2]="END"})(t||(t={})),function(n){n.codec=()=>ye(t)}(e=r.Type||(r.Type={}));let o;r.codec=()=>(o==null&&(o=F((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),Se.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=Se.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=>O(n,r.codec()),r.decode=n=>P(n,r.codec())})(V||(V={}));var Se;(function(r){let e;r.codec=()=>(e==null&&(e=F((t,o,n={})=>{if(n.lengthDelimited!==!1&&o.fork(),t.id!=null&&t.id.byteLength>0&&(o.uint32(10),o.bytes(t.id)),t.addrs!=null)for(let i of t.addrs)o.uint32(18),o.bytes(i);n.lengthDelimited!==!1&&o.ldelim()},(t,o)=>{let n={id:new Uint8Array(0),addrs:[]},i=o==null?t.len:t.pos+o;for(;t.pos<i;){let s=t.uint32();switch(s>>>3){case 1:n.id=t.bytes();break;case 2:n.addrs.push(t.bytes());break;default:t.skipType(s&7);break}}return n})),e),r.encode=t=>O(t,r.codec()),r.decode=t=>P(t,r.codec())})(Se||(Se={}));var Wt;(function(r){let e;(function(n){n.TAG_PEER="TAG_PEER",n.UNTAG_PEER="UNTAG_PEER",n.TRIM="TRIM"})(e=r.Type||(r.Type={}));let t;(function(n){n[n.TAG_PEER=0]="TAG_PEER",n[n.UNTAG_PEER=1]="UNTAG_PEER",n[n.TRIM=2]="TRIM"})(t||(t={})),function(n){n.codec=()=>ye(t)}(e=r.Type||(r.Type={}));let o;r.codec=()=>(o==null&&(o=F((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=>O(n,r.codec()),r.decode=n=>P(n,r.codec())})(Wt||(Wt={}));var Kt;(function(r){let e;r.codec=()=>(e==null&&(e=F((t,o,n={})=>{n.lengthDelimited!==!1&&o.fork(),t.peer!=null&&t.peer.byteLength>0&&(o.uint32(10),o.bytes(t.peer)),n.lengthDelimited!==!1&&o.ldelim()},(t,o)=>{let n={peer:new Uint8Array(0)},i=o==null?t.len:t.pos+o;for(;t.pos<i;){let s=t.uint32();switch(s>>>3){case 1:n.peer=t.bytes();break;default:t.skipType(s&7);break}}return n})),e),r.encode=t=>O(t,r.codec()),r.decode=t=>P(t,r.codec())})(Kt||(Kt={}));var we;(function(r){let e;(function(n){n.GET_TOPICS="GET_TOPICS",n.LIST_PEERS="LIST_PEERS",n.PUBLISH="PUBLISH",n.SUBSCRIBE="SUBSCRIBE"})(e=r.Type||(r.Type={}));let t;(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"})(t||(t={})),function(n){n.codec=()=>ye(t)}(e=r.Type||(r.Type={}));let o;r.codec=()=>(o==null&&(o=F((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=>O(n,r.codec()),r.decode=n=>P(n,r.codec())})(we||(we={}));var vt;(function(r){let e;r.codec=()=>(e==null&&(e=F((t,o,n={})=>{if(n.lengthDelimited!==!1&&o.fork(),t.from!=null&&(o.uint32(10),o.bytes(t.from)),t.data!=null&&(o.uint32(18),o.bytes(t.data)),t.seqno!=null&&(o.uint32(26),o.bytes(t.seqno)),t.topicIDs!=null)for(let i of t.topicIDs)o.uint32(34),o.string(i);t.signature!=null&&(o.uint32(42),o.bytes(t.signature)),t.key!=null&&(o.uint32(50),o.bytes(t.key)),n.lengthDelimited!==!1&&o.ldelim()},(t,o)=>{let n={topicIDs:[]},i=o==null?t.len:t.pos+o;for(;t.pos<i;){let s=t.uint32();switch(s>>>3){case 1:n.from=t.bytes();break;case 2:n.data=t.bytes();break;case 3:n.seqno=t.bytes();break;case 4:n.topicIDs.push(t.string());break;case 5:n.signature=t.bytes();break;case 6:n.key=t.bytes();break;default:t.skipType(s&7);break}}return n})),e),r.encode=t=>O(t,r.codec()),r.decode=t=>P(t,r.codec())})(vt||(vt={}));var Xt;(function(r){let e;r.codec=()=>(e==null&&(e=F((t,o,n={})=>{if(n.lengthDelimited!==!1&&o.fork(),t.topics!=null)for(let i of t.topics)o.uint32(10),o.string(i);if(t.peerIDs!=null)for(let i of t.peerIDs)o.uint32(18),o.bytes(i);n.lengthDelimited!==!1&&o.ldelim()},(t,o)=>{let n={topics:[],peerIDs:[]},i=o==null?t.len:t.pos+o;for(;t.pos<i;){let s=t.uint32();switch(s>>>3){case 1:n.topics.push(t.string());break;case 2:n.peerIDs.push(t.bytes());break;default:t.skipType(s&7);break}}return n})),e),r.encode=t=>O(t,r.codec()),r.decode=t=>P(t,r.codec())})(Xt||(Xt={}));var Oe;(function(r){let e;(function(n){n.UNSPECIFIED="UNSPECIFIED",n.GET_PROTOCOLS="GET_PROTOCOLS",n.GET_PEER_INFO="GET_PEER_INFO"})(e=r.Type||(r.Type={}));let t;(function(n){n[n.UNSPECIFIED=0]="UNSPECIFIED",n[n.GET_PROTOCOLS=1]="GET_PROTOCOLS",n[n.GET_PEER_INFO=2]="GET_PEER_INFO"})(t||(t={})),function(n){n.codec=()=>ye(t)}(e=r.Type||(r.Type={}));let o;r.codec=()=>(o==null&&(o=F((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=>O(n,r.codec()),r.decode=n=>P(n,r.codec())})(Oe||(Oe={}));var Jt;(function(r){let e;r.codec=()=>(e==null&&(e=F((t,o,n={})=>{if(n.lengthDelimited!==!1&&o.fork(),t.peer!=null&&(o.uint32(10),Se.codec().encode(t.peer,o)),t.protos!=null)for(let i of t.protos)o.uint32(18),o.string(i);n.lengthDelimited!==!1&&o.ldelim()},(t,o)=>{let n={protos:[]},i=o==null?t.len:t.pos+o;for(;t.pos<i;){let s=t.uint32();switch(s>>>3){case 1:n.peer=Se.codec().decode(t,t.uint32());break;case 2:n.protos.push(t.string());break;default:t.skipType(s&7);break}}return n})),e),r.encode=t=>O(t,r.codec()),r.decode=t=>P(t,r.codec())})(Jt||(Jt={}));var mn={upgradeInbound:async r=>r,upgradeOutbound:async r=>r};var ee=be(fi(),1);ee.default.formatters.b=r=>r==null?"undefined":B.baseEncode(r);ee.default.formatters.t=r=>r==null?"undefined":fe.baseEncode(r);ee.default.formatters.m=r=>r==null?"undefined":Yr.baseEncode(r);ee.default.formatters.p=r=>r==null?"undefined":r.toString();ee.default.formatters.c=r=>r==null?"undefined":r.toString();ee.default.formatters.k=r=>r==null?"undefined":r.toString();ee.default.formatters.a=r=>r==null?"undefined":r.toString();function _a(r){let e=()=>{};return e.enabled=!1,e.color="",e.diff=0,e.log=()=>{},e.namespace=r,e.destroy=()=>!0,e.extend=()=>e,e}function di(){return{forComponent(r){return _e(r)}}}function _e(r){let e=_a(`${r}:trace`);return ee.default.enabled(`${r}:trace`)&&ee.default.names.map(t=>t.toString()).find(t=>t.includes(":trace"))!=null&&(e=(0,ee.default)(`${r}:trace`)),Object.assign((0,ee.default)(r),{error:(0,ee.default)(`${r}:error`),trace:e})}var hi=Symbol.for("@libp2p/peer-id");var mi=Symbol.for("@libp2p/transport");var pi;(function(r){r[r.FATAL_ALL=0]="FATAL_ALL",r[r.NO_FATAL=1]="NO_FATAL"})(pi||(pi={}));var tt=class r extends Error{code;type;constructor(e="The operation was aborted"){super(e),this.code=r.code,this.type=r.type}static code="ABORT_ERR";static type="aborted"},$=class extends Error{code;props;constructor(e,t,o){super(e),this.code=t,this.name=o?.name??"CodeError",this.props=o??{}}};var jt=class extends EventTarget{#e=new Map;listenerCount(e){let t=this.#e.get(e);return t==null?0:t.length}addEventListener(e,t,o){super.addEventListener(e,t,o);let n=this.#e.get(e);n==null&&(n=[],this.#e.set(e,n)),n.push({callback:t,once:(o!==!0&&o!==!1&&o?.once)??!1})}removeEventListener(e,t,o){super.removeEventListener(e.toString(),t??null,o);let n=this.#e.get(e);n!=null&&(n=n.filter(({callback:i})=>i!==t),this.#e.set(e,n))}dispatchEvent(e){let t=super.dispatchEvent(e),o=this.#e.get(e.type);return o==null||(o=o.filter(({once:n})=>!n),this.#e.set(e.type,o)),t}safeDispatchEvent(e,t={}){return this.dispatchEvent(new rt(e,t))}},wn=class extends Event{detail;constructor(e,t){super(e,t),this.detail=t?.detail}},rt=globalThis.CustomEvent??wn;function xn(r,e){if(r===e)return!0;if(r.byteLength!==e.byteLength)return!1;for(let t=0;t<r.byteLength;t++)if(r[t]!==e[t])return!1;return!0}var Ba=Symbol.for("nodejs.util.inspect.custom"),gi=Object.values(de).map(r=>r.decoder).reduce((r,e)=>r.or(e),de.identity.decoder),bi=114,yi=36,wi=37,At=class{type;multihash;privateKey;publicKey;string;constructor(e){this.type=e.type,this.multihash=e.multihash,this.privateKey=e.privateKey,Object.defineProperty(this,"string",{enumerable:!1,writable:!0})}get[Symbol.toStringTag](){return`PeerId(${this.toString()})`}[hi]=!0;toString(){return this.string==null&&(this.string=B.encode(this.multihash.bytes).slice(1)),this.string}toCID(){return Q.createV1(bi,this.multihash)}toBytes(){return this.multihash.bytes}toJSON(){return this.toString()}equals(e){if(e==null)return!1;if(e instanceof Uint8Array)return xn(this.multihash.bytes,e);if(typeof e=="string")return Ma(e).equals(this);if(e?.multihash?.bytes!=null)return xn(this.multihash.bytes,e.multihash.bytes);throw new Error("not valid Id")}[Ba](){return`PeerId(${this.toString()})`}},It=class extends At{type="RSA";publicKey;constructor(e){super({...e,type:"RSA"}),this.publicKey=e.publicKey}},Ct=class extends At{type="Ed25519";publicKey;constructor(e){super({...e,type:"Ed25519"}),this.publicKey=e.multihash.digest}},St=class extends At{type="secp256k1";publicKey;constructor(e){super({...e,type:"secp256k1"}),this.publicKey=e.multihash.digest}};function Ma(r,e){if(e=e??gi,r.charAt(0)==="1"||r.charAt(0)==="Q"){let t=Re(B.decode(`z${r}`));return r.startsWith("12D")?new Ct({multihash:t}):r.startsWith("16U")?new St({multihash:t}):new It({multihash:t})}return Be(gi.decode(r))}function Be(r){try{let e=Re(r);if(e.code===Ft.code){if(e.digest.length===yi)return new Ct({multihash:e});if(e.digest.length===wi)return new St({multihash:e})}if(e.code===_t.code)return new It({multihash:e})}catch{return Va(Q.decode(r))}throw new Error("Supplied PeerID CID is invalid")}function Va(r){if(r==null||r.multihash==null||r.version==null||r.version===1&&r.code!==bi)throw new Error("Supplied PeerID CID is invalid");let e=r.multihash;if(e.code===_t.code)return new It({multihash:r.multihash});if(e.code===Ft.code){if(e.digest.length===yi)return new Ct({multihash:r.multihash});if(e.digest.length===wi)return new St({multihash:r.multihash})}throw new Error("Supplied PeerID CID is invalid")}var os=be(pe("net"),1);function xi(r,e){if(r===e)return!0;if(r.byteLength!==e.byteLength)return!1;for(let t=0;t<r.byteLength;t++)if(r[t]!==e[t])return!1;return!0}function Me(r){return globalThis.Buffer!=null?new Uint8Array(r.buffer,r.byteOffset,r.byteLength):r}function er(r=0){return globalThis.Buffer?.allocUnsafe!=null?Me(globalThis.Buffer.allocUnsafe(r)):new Uint8Array(r)}function vi(r,e,t,o){return{name:r,prefix:e,encoder:{name:r,prefix:e,encode:t},decoder:{decode:o}}}var Ei=vi("utf8","u",r=>"u"+new TextDecoder("utf8").decode(r),r=>new TextEncoder().encode(r.substring(1))),En=vi("ascii","a",r=>{let e="a";for(let t=0;t<r.length;t++)e+=String.fromCharCode(r[t]);return e},r=>{r=r.substring(1);let e=er(r.length);for(let t=0;t<r.length;t++)e[t]=r.charCodeAt(t);return e}),Ga={utf8:Ei,"utf-8":Ei,hex:de.base16,latin1:En,ascii:En,binary:En,...de},tr=Ga;function Y(r,e="utf8"){let t=tr[e];if(t==null)throw new Error(`Unsupported encoding "${e}"`);return(e==="utf8"||e==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?globalThis.Buffer.from(r.buffer,r.byteOffset,r.byteLength).toString("utf8"):t.encoder.encode(r).substring(1)}function xe(r,e){if(globalThis.Buffer!=null)return Me(globalThis.Buffer.concat(r,e));e==null&&(e=r.reduce((n,i)=>n+i.length,0));let t=er(e),o=0;for(let n of r)t.set(n,o),o+=n.length;return Me(t)}var rr=class{index=0;input="";new(e){return this.index=0,this.input=e,this}readAtomically(e){let t=this.index,o=e();return o===void 0&&(this.index=t),o}parseWith(e){let t=e();if(this.index===this.input.length)return t}peekChar(){if(!(this.index>=this.input.length))return this.input[this.index]}readChar(){if(!(this.index>=this.input.length))return this.input[this.index++]}readGivenChar(e){return this.readAtomically(()=>{let t=this.readChar();if(t===e)return t})}readSeparator(e,t,o){return this.readAtomically(()=>{if(!(t>0&&this.readGivenChar(e)===void 0))return o()})}readNumber(e,t,o,n){return this.readAtomically(()=>{let i=0,s=0,c=this.peekChar();if(c===void 0)return;let a=c==="0",d=2**(8*n)-1;for(;;){let l=this.readAtomically(()=>{let u=this.readChar();if(u===void 0)return;let p=Number.parseInt(u,e);if(!Number.isNaN(p))return p});if(l===void 0)break;if(i*=e,i+=l,i>d||(s+=1,t!==void 0&&s>t))return}if(s!==0)return!o&&a&&s>1?void 0:i})}readIPv4Addr(){return this.readAtomically(()=>{let e=new Uint8Array(4);for(let t=0;t<e.length;t++){let o=this.readSeparator(".",t,()=>this.readNumber(10,3,!1,1));if(o===void 0)return;e[t]=o}return e})}readIPv6Addr(){let e=t=>{for(let o=0;o<t.length/2;o++){let n=o*2;if(o<t.length-3){let s=this.readSeparator(":",o,()=>this.readIPv4Addr());if(s!==void 0)return t[n]=s[0],t[n+1]=s[1],t[n+2]=s[2],t[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];t[n]=i>>8,t[n+1]=i&255}return[t.length,!1]};return this.readAtomically(()=>{let t=new Uint8Array(16),[o,n]=e(t);if(o===16)return t;if(n||this.readGivenChar(":")===void 0||this.readGivenChar(":")===void 0)return;let i=new Uint8Array(14),s=16-(o+2),[c]=e(i.subarray(0,s));return t.set(i.subarray(0,c),16-c),t})}readIPAddr(){return this.readIPv4Addr()??this.readIPv6Addr()}};var uh=new rr;var yh=parseInt("0xFFFF",16),wh=new Uint8Array([0,0,0,0,0,0,0,0,0,0,255,255]);function vn(r,e="utf8"){let t=tr[e];if(t==null)throw new Error(`Unsupported encoding "${e}"`);return(e==="utf8"||e==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?Me(globalThis.Buffer.from(r,"utf-8")):t.decoder.decode(`${t.prefix}${r}`)}var ie=pe("node:net");function nr(r){return!!(0,ie.isIP)(r)}var Ci=ie.isIPv4,Xa=ie.isIPv6,An=function(r){let e=0;if(r=r.toString().trim(),Ci(r)){let t=new Uint8Array(e+4);return r.split(/\./g).forEach(o=>{t[e++]=parseInt(o,10)&255}),t}if(Xa(r)){let t=r.split(":",8),o;for(o=0;o<t.length;o++){let i=Ci(t[o]),s;i&&(s=An(t[o]),t[o]=Y(s.slice(0,2),"base16")),s!=null&&++o<8&&t.splice(o,0,Y(s.slice(2,4),"base16"))}if(t[0]==="")for(;t.length<8;)t.unshift("0");else if(t[t.length-1]==="")for(;t.length<8;)t.push("0");else if(t.length<8){for(o=0;o<t.length&&t[o]!=="";o++);let i=[o,1];for(o=9-t.length;o>0;o--)i.push("0");t.splice.apply(t,i)}let n=new Uint8Array(e+16);for(o=0;o<t.length;o++){let i=parseInt(t[o],16);n[e++]=i>>8&255,n[e++]=i&255}return n}throw new Error("invalid ip address")},Si=function(r,e=0,t){e=~~e,t=t??r.length-e;let o=new DataView(r.buffer);if(t===4){let n=[];for(let i=0;i<t;i++)n.push(r[e+i]);return n.join(".")}if(t===16){let n=[];for(let i=0;i<t;i+=2)n.push(o.getUint16(e+i).toString(16));return n.join(":").replace(/(^|:)0(:0)*:0(:|$)/,"$1::$3").replace(/:{3,4}/,"::")}return""};var nt={},In={},Qa=[[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"]];Qa.forEach(r=>{let e=Ya(...r);In[e.code]=e,nt[e.name]=e});function Ya(r,e,t,o,n){return{code:r,size:e,name:t,resolvable:!!o,path:!!n}}function I(r){if(typeof r=="number"){if(In[r]!=null)return In[r];throw new Error(`no protocol with code: ${r}`)}else if(typeof r=="string"){if(nt[r]!=null)return nt[r];throw new Error(`no protocol with name: ${r}`)}throw new Error(`invalid protocol id type: ${typeof r}`)}var sp=I("ip4"),cp=I("ip6"),ap=I("ipcidr");function Sn(r,e){switch(I(r).code){case 4:case 41:return qa(e);case 42:return Ni(e);case 6:case 273:case 33:case 132:return Ui(e).toString();case 53:case 54:case 55:case 56:case 400:case 449:case 777:return Ni(e);case 421:return rl(e);case 444:return Di(e);case 445:return Di(e);case 466:return tl(e);default:return Y(e,"base16")}}function Tn(r,e){switch(I(r).code){case 4:return Ti(e);case 41:return Ti(e);case 42:return Li(e);case 6:case 273:case 33:case 132:return Ln(parseInt(e,10));case 53:case 54:case 55:case 56:case 400:case 449:case 777:return Li(e);case 421:return ja(e);case 444:return nl(e);case 445:return ol(e);case 466:return el(e);default:return vn(e,"base16")}}var Cn=Object.values(de).map(r=>r.decoder),Za=function(){let r=Cn[0].or(Cn[1]);return Cn.slice(2).forEach(e=>r=r.or(e)),r}();function Ti(r){if(!nr(r))throw new Error("invalid ip address");return An(r)}function qa(r){let e=Si(r,0,r.length);if(e==null)throw new Error("ipBuff is required");if(!nr(e))throw new Error("invalid ip address");return e}function Ln(r){let e=new ArrayBuffer(2);return new DataView(e).setUint16(0,r),new Uint8Array(e)}function Ui(r){return new DataView(r.buffer).getUint16(r.byteOffset)}function Li(r){let e=vn(r),t=Uint8Array.from(me(e.length));return xe([t,e],t.length+e.length)}function Ni(r){let e=le(r);if(r=r.slice(k(e)),r.length!==e)throw new Error("inconsistent lengths");return Y(r)}function ja(r){let e;r[0]==="Q"||r[0]==="1"?e=Re(B.decode(`z${r}`)).bytes:e=Q.parse(r).multihash.bytes;let t=Uint8Array.from(me(e.length));return xe([t,e],t.length+e.length)}function el(r){let e=Za.decode(r),t=Uint8Array.from(me(e.length));return xe([t,e],t.length+e.length)}function tl(r){let e=le(r),t=r.slice(k(e));if(t.length!==e)throw new Error("inconsistent lengths");return"u"+Y(t,"base64url")}function rl(r){let e=le(r),t=r.slice(k(e));if(t.length!==e)throw new Error("inconsistent lengths");return Y(t,"base58btc")}function nl(r){let e=r.split(":");if(e.length!==2)throw new Error(`failed to parse onion addr: ["'${e.join('", "')}'"]' does not contain a port number`);if(e[0].length!==16)throw new Error(`failed to parse onion addr: ${e[0]} not a Tor onion address.`);let t=fe.decode("b"+e[0]),o=parseInt(e[1],10);if(o<1||o>65536)throw new Error("Port number is not in range(1, 65536)");let n=Ln(o);return xe([t,n],t.length+n.length)}function ol(r){let e=r.split(":");if(e.length!==2)throw new Error(`failed to parse onion addr: ["'${e.join('", "')}'"]' does not contain a port number`);if(e[0].length!==56)throw new Error(`failed to parse onion addr: ${e[0]} not a Tor onion3 address.`);let t=fe.decode(`b${e[0]}`),o=parseInt(e[1],10);if(o<1||o>65536)throw new Error("Port number is not in range(1, 65536)");let n=Ln(o);return xe([t,n],t.length+n.length)}function Di(r){let e=r.slice(0,r.length-2),t=r.slice(r.length-2),o=Y(e,"base32"),n=Ui(t);return`${o}:${n}`}function Ri(r){r=Nn(r);let e=[],t=[],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=I(s);if(c.size===0){e.push([c.code]),t.push([c.code]);continue}if(i++,i>=n.length)throw Pi("invalid address: "+r);if(c.path===!0){o=Nn(n.slice(i).join("/")),e.push([c.code,Tn(c.code,o)]),t.push([c.code,o]);break}let a=Tn(c.code,n[i]);e.push([c.code,a]),t.push([c.code,Sn(c.code,a)])}return{string:ki(t),bytes:Un(e),tuples:e,stringTuples:t,path:o}}function Dn(r){let e=[],t=[],o=null,n=0;for(;n<r.length;){let i=le(r,n),s=k(i),c=I(i),a=il(c,r.slice(n+s));if(a===0){e.push([i]),t.push([i]),n+=s;continue}let d=r.slice(n+s,n+s+a);if(n+=a+s,n>r.length)throw Pi("Invalid address Uint8Array: "+Y(r,"base16"));e.push([i,d]);let l=Sn(i,d);if(t.push([i,l]),c.path===!0){o=l;break}}return{bytes:Uint8Array.from(r),string:ki(t),tuples:e,stringTuples:t,path:o}}function ki(r){let e=[];return r.map(t=>{let o=I(t[0]);return e.push(o.name),t.length>1&&t[1]!=null&&e.push(t[1]),null}),Nn(e.join("/"))}function Un(r){return xe(r.map(e=>{let t=I(e[0]),o=Uint8Array.from(me(t.code));return e.length>1&&e[1]!=null&&(o=xe([o,e[1]])),o}))}function il(r,e){if(r.size>0)return r.size/8;if(r.size===0)return 0;{let t=le(e instanceof Uint8Array?e:Uint8Array.from(e));return t+k(t)}}function Nn(r){return"/"+r.trim().split("/").filter(e=>e).join("/")}function Pi(r){return new Error("Error parsing address: "+r)}var sl=Symbol.for("nodejs.util.inspect.custom"),Rn=Symbol.for("@multiformats/js-multiaddr/multiaddr"),cl=[I("dns").code,I("dns4").code,I("dns6").code,I("dnsaddr").code],or=class r{bytes;#e;#t;#r;#n;[Rn]=!0;constructor(e){e==null&&(e="");let t;if(e instanceof Uint8Array)t=Dn(e);else if(typeof e=="string"){if(e.length>0&&e.charAt(0)!=="/")throw new Error(`multiaddr "${e}" must start with a "/"`);t=Ri(e)}else if(Fi(e))t=Dn(e.bytes);else throw new Error("addr must be a string, Buffer, or another Multiaddr");this.bytes=t.bytes,this.#e=t.string,this.#t=t.tuples,this.#r=t.stringTuples,this.#n=t.path}toString(){return this.#e}toJSON(){return this.toString()}toOptions(){let e,t,o,n,i="",s=I("tcp"),c=I("udp"),a=I("ip4"),d=I("ip6"),l=I("dns6"),u=I("ip6zone");for(let[w,f]of this.stringTuples())w===u.code&&(i=`%${f??""}`),cl.includes(w)&&(t=s.name,n=443,o=`${f??""}${i}`,e=w===l.code?6:4),(w===s.code||w===c.code)&&(t=I(w).name,n=parseInt(f??"")),(w===a.code||w===d.code)&&(t=I(w).name,o=`${f??""}${i}`,e=w===d.code?6:4);if(e==null||t==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:e,host:o,transport:t,port:n}}protos(){return this.#t.map(([e])=>Object.assign({},I(e)))}protoCodes(){return this.#t.map(([e])=>e)}protoNames(){return this.#t.map(([e])=>I(e).name)}tuples(){return this.#t}stringTuples(){return this.#r}encapsulate(e){return e=new r(e),new r(this.toString()+e.toString())}decapsulate(e){let t=e.toString(),o=this.toString(),n=o.lastIndexOf(t);if(n<0)throw new Error(`Address ${this.toString()} does not contain subaddress: ${e.toString()}`);return new r(o.slice(0,n))}decapsulateCode(e){let t=this.tuples();for(let o=t.length-1;o>=0;o--)if(t[o][0]===e)return new r(Un(t.slice(0,o)));return this}getPeerId(){try{let e=[];this.stringTuples().forEach(([o,n])=>{o===nt.p2p.code&&e.push([o,n]),o===nt["p2p-circuit"].code&&(e=[])});let t=e.pop();if(t?.[1]!=null){let o=t[1];return o[0]==="Q"||o[0]==="1"?Y(B.decode(`z${o}`),"base58btc"):Y(Q.parse(o).multihash.bytes,"base58btc")}return null}catch{return null}}getPath(){return this.#n}equals(e){return xi(this.bytes,e.bytes)}async resolve(e){let t=this.protos().find(i=>i.resolvable);if(t==null)return[this];let o=Oi.get(t.name);if(o==null)throw new $(`no available resolver for ${t.name}`,"ERR_NO_AVAILABLE_RESOLVER");return(await o(this,e)).map(i=>new r(i))}nodeAddress(){let e=this.toOptions();if(e.transport!=="tcp"&&e.transport!=="udp")throw new Error(`multiaddr must have a valid format - no protocol with name: "${e.transport}". Must have a valid transport protocol: "{tcp, udp}"`);return{family:e.family,address:e.host,port:e.port}}isThinWaistAddress(e){let t=(e??this).protos();return!(t.length!==2||t[0].code!==4&&t[0].code!==41||t[1].code!==6&&t[1].code!==273)}[sl](){return`Multiaddr(${this.#e})`}};var Oi=new Map;function Fi(r){return!!r?.[Rn]}function se(r){return new or(r)}var al=h("dns4"),ll=h("dns6"),ul=h("dnsaddr"),Ge=R(h("dns"),ul,al,ll),cr=R(h("ip4"),h("ip6")),Le=R(b(cr,h("tcp")),b(Ge,h("tcp"))),ar=b(cr,h("udp")),fl=b(ar,h("utp")),dl=b(ar,h("quic")),hl=b(ar,h("quic-v1")),kn=R(b(Le,h("ws")),b(Ge,h("ws"))),ir=R(b(kn,h("p2p")),kn),Pn=R(b(Le,h("wss")),b(Ge,h("wss")),b(Le,h("tls"),h("ws")),b(Ge,h("tls"),h("ws"))),sr=R(b(Pn,h("p2p")),Pn),On=R(b(Le,h("http")),b(cr,h("http")),b(Ge,h("http"))),Fn=R(b(Le,h("https")),b(cr,h("https")),b(Ge,h("https"))),_i=b(ar,h("webrtc-direct"),h("certhash")),Vi=R(b(_i,h("p2p")),_i),Bi=b(hl,h("webtransport"),h("certhash"),h("certhash")),Gi=R(b(Bi,h("p2p")),Bi),$i=R(b(ir,h("p2p-webrtc-star"),h("p2p")),b(sr,h("p2p-webrtc-star"),h("p2p")),b(ir,h("p2p-webrtc-star")),b(sr,h("p2p-webrtc-star"))),Pp=R(b(ir,h("p2p-websocket-star"),h("p2p")),b(sr,h("p2p-websocket-star"),h("p2p")),b(ir,h("p2p-websocket-star")),b(sr,h("p2p-websocket-star"))),zi=R(b(On,h("p2p-webrtc-direct"),h("p2p")),b(Fn,h("p2p-webrtc-direct"),h("p2p")),b(On,h("p2p-webrtc-direct")),b(Fn,h("p2p-webrtc-direct"))),$e=R(kn,Pn,On,Fn,$i,zi,Le,fl,dl,Ge,Vi,Gi),Op=R(b($e,h("p2p-stardust"),h("p2p")),b($e,h("p2p-stardust"))),Te=R(b($e,h("p2p")),$i,zi,Vi,Gi,h("p2p")),Mi=R(b(Te,h("p2p-circuit"),Te),b(Te,h("p2p-circuit")),b(h("p2p-circuit"),Te),b($e,h("p2p-circuit")),b(h("p2p-circuit"),$e),h("p2p-circuit")),Hi=()=>R(b(Mi,Hi),Mi),Ve=Hi(),Fp=R(b(Ve,Te,Ve),b(Te,Ve),b(Ve,Te),Ve,Te);var _p=R(b(Ve,h("webrtc"),h("p2p")),b(Ve,h("webrtc")),b($e,h("webrtc"),h("p2p")),b($e,h("webrtc")),h("webrtc"));function Wi(r){function e(t){let o;try{o=se(t)}catch{return!1}let n=r(o.protoNames());return n===null?!1:n===!0||n===!1?n:n.length===0}return e}function b(...r){function e(t){if(t.length<r.length)return null;let o=t;return r.some(n=>(o=typeof n=="function"?n().partialMatch(t):n.partialMatch(t),Array.isArray(o)&&(t=o),o===null)),o}return{toString:function(){return"{ "+r.join(" ")+" }"},input:r,matches:Wi(e),partialMatch:e}}function R(...r){function e(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:Wi(e),partialMatch:e}}function h(r){let e=r;function t(n){let i;try{i=se(n)}catch{return!1}let s=i.protoNames();return s.length===1&&s[0]===e}function o(n){return n.length===0?null:n[0]===e?n.slice(1):null}return{toString:function(){return e},matches:t,partialMatch:o}}var ns=be(pe("net"),1);var _n={ERR_INVALID_IP_PARAMETER:"ERR_INVALID_IP_PARAMETER",ERR_INVALID_PORT_PARAMETER:"ERR_INVALID_PORT_PARAMETER",ERR_INVALID_IP:"ERR_INVALID_IP"};function Ki(r,e){if(typeof r!="string")throw new $(`invalid ip provided: ${r}`,_n.ERR_INVALID_IP_PARAMETER);if(typeof e=="string"&&(e=parseInt(e)),isNaN(e))throw new $(`invalid port provided: ${e}`,_n.ERR_INVALID_PORT_PARAMETER);if((0,ie.isIPv4)(r))return se(`/ip4/${r}/tcp/${e}`);if((0,ie.isIPv6)(r))return se(`/ip6/${r}/tcp/${e}`);throw new $(`invalid ip:port for creating a multiaddr: ${r}:${e}`,_n.ERR_INVALID_IP)}var rs=be(es(),1);var Vn=be(pe("os"),1),ts=be(pe("path"),1);var wl={ip4:"IPv4",ip6:"IPv6"};function it(r,e={}){let t=r.getPath();return t!=null?Vn.default.platform()==="win32"?{path:ts.default.join("\\\\.\\pipe\\",t)}:{path:t}:{...e,...r.toOptions()}}function Gn(r,e,t){let o=n=>se(`/${r}/${n}/tcp/${t}`);return(xl(e)?vl(wl[r]):[e]).map(o)}function xl(r){return["0.0.0.0","::"].includes(r)}var El=Vn.default.networkInterfaces();function vl(r){let e=[];for(let[,t]of Object.entries(El))if(t!=null)for(let o of t)o.family===r&&e.push(o.address);return e}var ur=(r,e)=>{let t=e.logger.forComponent("libp2p:tcp:socket"),o=e.metrics,n=e.metricPrefix??"",i=e.socketInactivityTimeout??3e5,s=e.socketCloseTimeout??500;e.listeningAddr?.getPath()!=null&&(e.remoteAddr=e.listeningAddr),e.remoteAddr?.getPath()!=null&&(e.localAddr=e.remoteAddr);let c;if(e.remoteAddr!=null)c=e.remoteAddr;else{if(r.remoteAddress==null||r.remotePort==null)throw new $("Could not determine remote address or port","ERR_NO_REMOTE_ADDRESS");c=Ki(r.remoteAddress,r.remotePort)}let a=it(c),d=a.path??`${a.host??""}:${a.port??""}`,{sink:l,source:u}=rs.default.duplex(r);r.setTimeout(i,()=>{t("%s socket read timeout",d),o?.increment({[`${n}timeout`]:!0});let w;r.readable&&(w=new $("Socket read timeout","ERR_SOCKET_READ_TIMEOUT")),r.destroy(w)}),r.once("close",()=>{t("%s socket close",d),o?.increment({[`${n}close`]:!0}),p.timeline.close==null&&(p.timeline.close=Date.now())}),r.once("end",()=>{t("%s socket end",d),o?.increment({[`${n}end`]:!0})});let p={async sink(w){try{await l(async function*(){for await(let f of w)f instanceof Uint8Array?yield f:yield f.subarray()}())}catch(f){f.type!=="aborted"&&t.error("%s error in sink",d,f)}r.end()},source:u,remoteAddr:c,timeline:{open:Date.now()},async close(w={}){if(r.destroyed){t("%s socket was already destroyed when trying to close",d);return}if(w.signal==null){let f=AbortSignal.timeout(s);w={...w,signal:f}}try{t("%s closing socket",d),await new Promise((f,y)=>{r.once("close",()=>{t("%s socket closed",d),f()}),r.once("error",m=>{t("%s socket error",d,m),p.timeline.close==null&&(p.timeline.close=Date.now()),y(m)}),r.setTimeout(s),r.end(),r.writableLength>0?r.once("drain",()=>{t("%s socket drained",d),r.destroy()}):r.destroy()})}catch(f){this.abort(f)}},abort:w=>{t("%s socket abort due to error",d,w),r.destroy(w)},log:t};return p};async function $n(r,e){try{await r.close()}catch(t){e.log.error("an error occurred closing the connection",t)}}var M;(function(r){r[r.INACTIVE=0]="INACTIVE",r[r.ACTIVE=1]="ACTIVE",r[r.PAUSED=2]="PAUSED"})(M||(M={}));var fr=class extends jt{context;server;connections=new Set;status={code:M.INACTIVE};metrics;addr;log;constructor(e){if(super(),this.context=e,e.keepAlive=e.keepAlive??!0,e.noDelay=e.noDelay??!0,this.log=e.logger.forComponent("libp2p:tcp:listener"),this.addr="unknown",this.server=ns.default.createServer(e,this.onSocket.bind(this)),e.maxConnections!==void 0&&(this.server.maxConnections=e.maxConnections),e.closeServerOnMaxConnections!=null&&e.closeServerOnMaxConnections.closeAbove<e.closeServerOnMaxConnections.listenBelow)throw new $("closeAbove must be >= listenBelow","ERROR_CONNECTION_LIMITS");this.server.on("listening",()=>{if(e.metrics!=null){let t=this.server.address();t==null?this.addr="unknown":typeof t=="string"?this.addr=t:this.addr=`${t.address}:${t.port}`,e.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:e.metrics.registerMetricGroup("libp2p_tcp_listener_status_info",{label:"address",help:"Current status of the TCP listener socket"}),errors:e.metrics.registerMetricGroup("libp2p_tcp_listener_errors_total",{label:"address",help:"Total count of TCP listener errors by type"}),events:e.metrics.registerMetricGroup("libp2p_tcp_listener_events_total",{label:"address",help:"Total count of TCP listener events by type"})},this.metrics?.status.update({[this.addr]:M.ACTIVE})}this.dispatchEvent(new rt("listening"))}).on("error",t=>{this.metrics?.errors.increment({[`${this.addr} listen_error`]:!0}),this.dispatchEvent(new rt("error",{detail:t}))}).on("close",()=>{this.metrics?.status.update({[this.addr]:this.status.code}),this.status.code!==M.PAUSED&&this.dispatchEvent(new rt("close"))})}onSocket(e){if(this.status.code!==M.ACTIVE)throw new $("Server is is not listening yet","ERR_SERVER_NOT_RUNNING");e.on("error",o=>{this.log("socket error",o),this.metrics?.events.increment({[`${this.addr} error`]:!0})});let t;try{t=ur(e,{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",t.remoteAddr);try{this.context.upgrader.upgradeInbound(t).then(o=>{this.log("inbound connection upgraded %s",t.remoteAddr),this.connections.add(t),e.once("close",()=>{this.connections.delete(t),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 rt("connection",{detail:o}))}).catch(async o=>{this.log.error("inbound connection failed",o),this.metrics?.errors.increment({[`${this.addr} inbound_upgrade`]:!0}),await $n(t,{log:this.log})}).catch(o=>{this.log.error("closing inbound connection failed",o)})}catch(o){this.log.error("inbound connection failed",o),$n(t,{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===M.INACTIVE)return[];let e=[],t=this.server.address(),{listeningAddr:o,peerId:n}=this.status;if(t==null)return[];if(typeof t=="string")e=[o];else try{o.toString().startsWith("/ip4")?e=e.concat(Gn("ip4",t.address,t.port)):t.family==="IPv6"&&(e=e.concat(Gn("ip6",t.address,t.port)))}catch(i){this.log.error("could not turn %s:%s into multiaddr",t.address,t.port,i)}return e.map(i=>n!=null?i.encapsulate(`/p2p/${n}`):i)}async listen(e){if(this.status.code===M.ACTIVE||this.status.code===M.PAUSED)throw new $("server is already listening","ERR_SERVER_ALREADY_LISTENING");let t=e.getPeerId(),o=t==null?e.decapsulateCode(421):e,{backlog:n}=this.context;try{this.status={code:M.ACTIVE,listeningAddr:o,peerId:t,netConfig:it(o,{backlog:n})},await this.resume()}catch(i){throw this.status={code:M.INACTIVE},i}}async close(){await Promise.all([Promise.all(Array.from(this.connections.values()).map(async e=>$n(e,{log:this.log}))),this.pause(!0).catch(e=>{this.log.error("error attempting to close server once connection count over limit",e)})])}async resume(){if(this.server.listening||this.status.code===M.INACTIVE)return;let e=this.status.netConfig;await new Promise((t,o)=>{this.server.once("error",o),this.server.listen(e,t)}),this.status={...this.status,code:M.ACTIVE},this.log("Listening on %s",this.server.address())}async pause(e){if(!this.server.listening&&this.status.code===M.PAUSED&&e){this.status={code:M.INACTIVE};return}!this.server.listening||this.status.code!==M.ACTIVE||(this.log("Closing server on %s",this.server.address()),this.status=e?{code:M.INACTIVE}:{...this.status,code:M.PAUSED},await new Promise((t,o)=>{this.server.close(n=>{n!=null?o(n):t()})}))}};var zn=class{opts;metrics;components;log;constructor(e,t={}){this.log=e.logger.forComponent("libp2p:tcp"),this.opts=t,this.components=e,e.metrics!=null&&(this.metrics={dialerEvents:e.metrics.registerCounterGroup("libp2p_tcp_dialer_events_total",{label:"event",help:"Total count of TCP dialer events by type"})})}[mi]=!0;[Symbol.toStringTag]="@libp2p/tcp";async dial(e,t){t.keepAlive=t.keepAlive??!0,t.noDelay=t.noDelay??!0;let o=await this._connect(e,t);o.on("error",c=>{this.log("socket error",c)});let n=ur(o,{remoteAddr:e,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)})};t.signal?.addEventListener("abort",i,{once:!0}),this.log("new outbound connection %s",n.remoteAddr);let s=await t.upgrader.upgradeOutbound(n);if(this.log("outbound connection %s upgraded",n.remoteAddr),t.signal?.removeEventListener("abort",i),t.signal?.aborted===!0)throw s.close().catch(c=>{this.log.error("Error closing conn after abort",c)}),new tt;return s}async _connect(e,t){if(t.signal?.aborted===!0)throw new tt;return new Promise((o,n)=>{let i=Date.now(),s=it(e,{...this.opts.dialOpts??{},...t});this.log("dialing %a",e);let c=os.default.connect(s),a=w=>{let f=s.path??`${s.host??""}:${s.port}`;w.message=`connection error ${f}: ${w.message}`,this.metrics?.dialerEvents.increment({error:!0}),p(w)},d=()=>{this.log("connection timeout %a",e),this.metrics?.dialerEvents.increment({timeout:!0});let w=new $(`connection timeout after ${Date.now()-i}ms`,"ERR_CONNECT_TIMEOUT");c.emit("error",w)},l=()=>{this.log("connection opened %a",e),this.metrics?.dialerEvents.increment({connect:!0}),p()},u=()=>{this.log("connection aborted %a",e),this.metrics?.dialerEvents.increment({abort:!0}),c.destroy(),p(new tt)},p=w=>{if(c.removeListener("error",a),c.removeListener("timeout",d),c.removeListener("connect",l),t.signal!=null&&t.signal.removeEventListener("abort",u),w!=null){n(w);return}o(c)};c.on("error",a),c.on("timeout",d),c.on("connect",l),t.signal!=null&&t.signal.addEventListener("abort",u)})}createListener(e){return new fr({...this.opts.listenOpts??{},...e,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(e){return e=Array.isArray(e)?e:[e],e.filter(t=>t.protoCodes().includes(290)?!1:t.protoCodes().includes(400)?!0:Le.matches(t.decapsulateCode(421)))}};function is(r={}){return e=>new zn(e,r)}function st(r){return globalThis.Buffer!=null?new Uint8Array(r.buffer,r.byteOffset,r.byteLength):r}function Ee(r=0){return globalThis.Buffer?.alloc!=null?st(globalThis.Buffer.alloc(r)):new Uint8Array(r)}function Tt(r=0){return globalThis.Buffer?.allocUnsafe!=null?st(globalThis.Buffer.allocUnsafe(r)):new Uint8Array(r)}function Hn(r,e){if(globalThis.Buffer!=null)return st(globalThis.Buffer.concat(r,e));e==null&&(e=r.reduce((n,i)=>n+i.length,0));let t=Tt(e),o=0;for(let n of r)t.set(n,o),o+=n.length;return st(t)}function ss(r,e){if(r===e)return!0;if(r.byteLength!==e.byteLength)return!1;for(let t=0;t<r.byteLength;t++)if(r[t]!==e[t])return!1;return!0}var as=Symbol.for("@achingbrain/uint8arraylist");function cs(r,e){if(e==null||e<0)throw new RangeError("index is out of bounds");let t=0;for(let o of r){let n=t+o.byteLength;if(e<n)return{buf:o,index:e-t};t=n}throw new RangeError("index is out of bounds")}function dr(r){return!!r?.[as]}var te=class r{bufs;length;[as]=!0;constructor(...e){this.bufs=[],this.length=0,e.length>0&&this.appendAll(e)}*[Symbol.iterator](){yield*this.bufs}get byteLength(){return this.length}append(...e){this.appendAll(e)}appendAll(e){let t=0;for(let o of e)if(o instanceof Uint8Array)t+=o.byteLength,this.bufs.push(o);else if(dr(o))t+=o.byteLength,this.bufs.push(...o.bufs);else throw new Error("Could not append value, must be an Uint8Array or a Uint8ArrayList");this.length+=t}prepend(...e){this.prependAll(e)}prependAll(e){let t=0;for(let o of e.reverse())if(o instanceof Uint8Array)t+=o.byteLength,this.bufs.unshift(o);else if(dr(o))t+=o.byteLength,this.bufs.unshift(...o.bufs);else throw new Error("Could not prepend value, must be an Uint8Array or a Uint8ArrayList");this.length+=t}get(e){let t=cs(this.bufs,e);return t.buf[t.index]}set(e,t){let o=cs(this.bufs,e);o.buf[o.index]=t}write(e,t=0){if(e instanceof Uint8Array)for(let o=0;o<e.length;o++)this.set(t+o,e[o]);else if(dr(e))for(let o=0;o<e.length;o++)this.set(t+o,e.get(o));else throw new Error("Could not write value, must be an Uint8Array or a Uint8ArrayList")}consume(e){if(e=Math.trunc(e),!(Number.isNaN(e)||e<=0)){if(e===this.byteLength){this.bufs=[],this.length=0;return}for(;this.bufs.length>0;)if(e>=this.bufs[0].byteLength)e-=this.bufs[0].byteLength,this.length-=this.bufs[0].byteLength,this.bufs.shift();else{this.bufs[0]=this.bufs[0].subarray(e),this.length-=e;break}}}slice(e,t){let{bufs:o,length:n}=this._subList(e,t);return Hn(o,n)}subarray(e,t){let{bufs:o,length:n}=this._subList(e,t);return o.length===1?o[0]:Hn(o,n)}sublist(e,t){let{bufs:o,length:n}=this._subList(e,t),i=new r;return i.length=n,i.bufs=[...o],i}_subList(e,t){if(e=e??0,t=t??this.length,e<0&&(e=this.length+e),t<0&&(t=this.length+t),e<0||t>this.length)throw new RangeError("index is out of bounds");if(e===t)return{bufs:[],length:0};if(e===0&&t===this.length)return{bufs:this.bufs,length:this.length};let 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,e>=a)continue;let d=e>=c&&e<a,l=t>c&&t<=a;if(d&&l){if(e===c&&t===a){o.push(s);break}let u=e-c;o.push(s.subarray(u,u+(t-e)));break}if(d){if(e===0){o.push(s);continue}o.push(s.subarray(e-c));continue}if(l){if(t===a){o.push(s);break}o.push(s.subarray(0,t-c));break}o.push(s)}return{bufs:o,length:t-e}}indexOf(e,t=0){if(!dr(e)&&!(e instanceof Uint8Array))throw new TypeError('The "value" argument must be a Uint8ArrayList or Uint8Array');let o=e instanceof Uint8Array?e:e.subarray();if(t=Number(t??0),isNaN(t)&&(t=0),t<0&&(t=this.length+t),t<0&&(t=0),e.length===0)return t>this.length?this.length:t;let n=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,d=o.byteLength-1,l;for(let u=t;u<=a;u+=l){l=0;for(let p=d;p>=0;p--){let w=this.get(u+p);if(o[p]!==w){l=Math.max(1,p-c[w]);break}}if(l===0)return u}return-1}getInt8(e){let t=this.subarray(e,e+1);return new DataView(t.buffer,t.byteOffset,t.byteLength).getInt8(0)}setInt8(e,t){let o=Tt(1);new DataView(o.buffer,o.byteOffset,o.byteLength).setInt8(0,t),this.write(o,e)}getInt16(e,t){let o=this.subarray(e,e+2);return new DataView(o.buffer,o.byteOffset,o.byteLength).getInt16(0,t)}setInt16(e,t,o){let n=Ee(2);new DataView(n.buffer,n.byteOffset,n.byteLength).setInt16(0,t,o),this.write(n,e)}getInt32(e,t){let o=this.subarray(e,e+4);return new DataView(o.buffer,o.byteOffset,o.byteLength).getInt32(0,t)}setInt32(e,t,o){let n=Ee(4);new DataView(n.buffer,n.byteOffset,n.byteLength).setInt32(0,t,o),this.write(n,e)}getBigInt64(e,t){let o=this.subarray(e,e+8);return new DataView(o.buffer,o.byteOffset,o.byteLength).getBigInt64(0,t)}setBigInt64(e,t,o){let n=Ee(8);new DataView(n.buffer,n.byteOffset,n.byteLength).setBigInt64(0,t,o),this.write(n,e)}getUint8(e){let t=this.subarray(e,e+1);return new DataView(t.buffer,t.byteOffset,t.byteLength).getUint8(0)}setUint8(e,t){let o=Tt(1);new DataView(o.buffer,o.byteOffset,o.byteLength).setUint8(0,t),this.write(o,e)}getUint16(e,t){let o=this.subarray(e,e+2);return new DataView(o.buffer,o.byteOffset,o.byteLength).getUint16(0,t)}setUint16(e,t,o){let n=Ee(2);new DataView(n.buffer,n.byteOffset,n.byteLength).setUint16(0,t,o),this.write(n,e)}getUint32(e,t){let o=this.subarray(e,e+4);return new DataView(o.buffer,o.byteOffset,o.byteLength).getUint32(0,t)}setUint32(e,t,o){let n=Ee(4);new DataView(n.buffer,n.byteOffset,n.byteLength).setUint32(0,t,o),this.write(n,e)}getBigUint64(e,t){let o=this.subarray(e,e+8);return new DataView(o.buffer,o.byteOffset,o.byteLength).getBigUint64(0,t)}setBigUint64(e,t,o){let n=Ee(8);new DataView(n.buffer,n.byteOffset,n.byteLength).setBigUint64(0,t,o),this.write(n,e)}getFloat32(e,t){let o=this.subarray(e,e+4);return new DataView(o.buffer,o.byteOffset,o.byteLength).getFloat32(0,t)}setFloat32(e,t,o){let n=Ee(4);new DataView(n.buffer,n.byteOffset,n.byteLength).setFloat32(0,t,o),this.write(n,e)}getFloat64(e,t){let o=this.subarray(e,e+8);return new DataView(o.buffer,o.byteOffset,o.byteLength).getFloat64(0,t)}setFloat64(e,t,o){let n=Ee(8);new DataView(n.buffer,n.byteOffset,n.byteLength).setFloat64(0,t,o),this.write(n,e)}equals(e){if(e==null||!(e instanceof r)||e.bufs.length!==this.bufs.length)return!1;for(let t=0;t<this.bufs.length;t++)if(!ss(this.bufs[t],e.bufs[t]))return!1;return!0}static fromUint8Arrays(e,t){let o=new r;return o.bufs=e,t==null&&(t=e.reduce((n,i)=>n+i.byteLength,0)),o.length=t,o}};function ls(r){return globalThis.Buffer!=null?new Uint8Array(r.buffer,r.byteOffset,r.byteLength):r}function us(r=0){return globalThis.Buffer?.allocUnsafe!=null?ls(globalThis.Buffer.allocUnsafe(r)):new Uint8Array(r)}function hr(r){return r[Symbol.asyncIterator]!=null}var pr=r=>{let e=k(r),t=us(e);return me(r,t),pr.bytes=e,t};pr.bytes=0;function mr(r,e){e=e??{};let t=e.lengthEncoder??pr;function*o(n){let i=t(n.byteLength);i instanceof Uint8Array?yield i:yield*i,n instanceof Uint8Array?yield n:yield*n}return hr(r)?async function*(){for await(let n of r)yield*o(n)}():function*(){for(let n of r)yield*o(n)}()}mr.single=(r,e)=>{e=e??{};let t=e.lengthEncoder??pr;return new te(t(r.byteLength),r)};var ct=be(hs(),1);var Cl=8,Sl=1024*1024*4,ze;(function(r){r[r.LENGTH=0]="LENGTH",r[r.DATA=1]="DATA"})(ze||(ze={}));var Kn=r=>{let e=le(r);return Kn.bytes=k(e),e};Kn.bytes=0;function Wn(r,e){let t=new te,o=ze.LENGTH,n=-1,i=e?.lengthDecoder??Kn,s=e?.maxLengthLength??Cl,c=e?.maxDataLength??Sl;function*a(){for(;t.byteLength>0;){if(o===ze.LENGTH)try{if(n=i(t),n<0)throw(0,ct.default)(new Error("invalid message length"),"ERR_INVALID_MSG_LENGTH");if(n>c)throw(0,ct.default)(new Error("message length too long"),"ERR_MSG_DATA_TOO_LONG");let d=i.bytes;t.consume(d),e?.onLength!=null&&e.onLength(n),o=ze.DATA}catch(d){if(d instanceof RangeError){if(t.byteLength>s)throw(0,ct.default)(new Error("message length length too long"),"ERR_MSG_LENGTH_TOO_LONG");break}throw d}if(o===ze.DATA){if(t.byteLength<n)break;let d=t.sublist(0,n);t.consume(n),e?.onData!=null&&e.onData(d),yield d,o=ze.LENGTH}}}return hr(r)?async function*(){for await(let d of r)t.append(d),yield*a();if(t.byteLength>0)throw(0,ct.default)(new Error("unexpected end of input"),"ERR_UNEXPECTED_EOF")}():function*(){for(let d of r)t.append(d),yield*a();if(t.byteLength>0)throw(0,ct.default)(new Error("unexpected end of input"),"ERR_UNEXPECTED_EOF")}()}Wn.fromReader=(r,e)=>{let t=1,o=async function*(){for(;;)try{let{done:i,value:s}=await r.next(t);if(i===!0)return;s!=null&&(yield s)}catch(i){if(i.code==="ERR_UNDER_READ")return{done:!0,value:null};throw i}finally{t=1}}();return Wn(o,{...e??{},onLength:i=>{t=i}})};function ve(){let r={};return r.promise=new Promise((e,t)=>{r.resolve=e,r.reject=t}),r}var gr=class extends Error{type;code;constructor(e,t){super(e??"The operation was aborted"),this.type="aborted",this.name="AbortError",this.code=t??"ABORT_ERR"}};async function ps(r,e,t){if(e==null)return r;if(e.aborted)return Promise.reject(new gr(t?.errorMessage,t?.errorCode));let o,n=new gr(t?.errorMessage,t?.errorCode);try{return await Promise.race([r,new Promise((i,s)=>{o=()=>{s(n)},e.addEventListener("abort",o)})])}finally{o!=null&&e.removeEventListener("abort",o)}}var Xn=class{readNext;haveNext;ended;nextResult;constructor(){this.ended=!1,this.readNext=ve(),this.haveNext=ve()}[Symbol.asyncIterator](){return this}async next(){if(this.nextResult==null&&await this.haveNext.promise,this.nextResult==null)throw new Error("HaveNext promise resolved but nextResult was undefined");let e=this.nextResult;return this.nextResult=void 0,this.readNext.resolve(),this.readNext=ve(),e}async throw(e){return this.ended=!0,e!=null&&this.haveNext.reject(e),{done:!0,value:void 0}}async return(){let e={done:!0,value:void 0};return await this._push(void 0),e}async push(e,t){await this._push(e,t)}async end(e,t){e!=null?await this.throw(e):await this._push(void 0,t)}async _push(e,t){if(e!=null&&this.ended)throw new Error("Cannot push value onto an ended pushable");if(this.nextResult!=null&&(await this.readNext.promise,this.nextResult!=null))throw new Error("NeedNext promise resolved but nextResult was not consumed");e!=null?this.nextResult={done:!1,value:e}:(this.ended=!0,this.nextResult={done:!0,value:void 0}),this.haveNext.resolve(),this.haveNext=ve(),await ps(this.readNext.promise,t?.signal,t)}};function ms(){return new Xn}var br=class extends Error{code;constructor(e,t){super(e),this.code=t}},Jn=class extends br{type;constructor(e){super(e,"ABORT_ERR"),this.type="aborted"}};function gs(r,e){let t=ms();r.sink(t).catch(async s=>{await t.end(s)}),r.sink=async s=>{for await(let c of s)await t.push(c);await t.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 te;return{read:async(s,c)=>{c?.signal?.throwIfAborted();let a,d=new Promise((l,u)=>{a=()=>{u(new Jn("Read aborted"))},c?.signal?.addEventListener("abort",a)});try{if(s==null){let{done:u,value:p}=await Promise.race([o.next(),d]);return u===!0?new te:p}for(;n.byteLength<s;){let{value:u,done:p}=await Promise.race([o.next(),d]);if(p===!0)throw new br("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 t.push(s,c):await t.push(s.subarray(),c)},unwrap:()=>{if(n.byteLength>0){let s=r.source;r.source=async function*(){e?.yieldBytes===!1?yield n:yield*n,yield*s}()}return r}}}var yr=class extends Error{code;constructor(e,t){super(e),this.code=t}};function at(r,e={}){let t=gs(r,e);e.maxDataLength!=null&&e.maxLengthLength==null&&(e.maxLengthLength=k(e.maxDataLength));let o=e?.lengthDecoder??le,n=e?.lengthEncoder??me;return{read:async s=>{let c=-1,a=new te;for(;;){a.append(await t.read(1,s));try{c=o(a)}catch(d){if(d instanceof RangeError)continue;throw d}if(e?.maxLengthLength!=null&&a.byteLength>e.maxLengthLength)throw new yr("message length length too long","ERR_MSG_LENGTH_TOO_LONG");if(c>-1)break}if(e?.maxDataLength!=null&&c>e.maxDataLength)throw new yr("message length too long","ERR_MSG_DATA_TOO_LONG");return t.read(c,s)},write:async(s,c)=>{await t.write(new te(n(s.byteLength),s),c)},writeV:async(s,c)=>{let a=new te(...s.flatMap(d=>[n(d.byteLength),d]));await t.write(a,c)},unwrap:()=>t.unwrap()}}var wr=class{buffer;mask;top;btm;next;constructor(e){if(!(e>0)||e-1&e)throw new Error("Max size for a FixedFIFO should be a power of two");this.buffer=new Array(e),this.mask=e-1,this.top=0,this.btm=0,this.next=null}push(e){return this.buffer[this.top]!==void 0?!1:(this.buffer[this.top]=e,this.top=this.top+1&this.mask,!0)}shift(){let e=this.buffer[this.btm];if(e!==void 0)return this.buffer[this.btm]=void 0,this.btm=this.btm+1&this.mask,e}isEmpty(){return this.buffer[this.btm]===void 0}},lt=class{size;hwm;head;tail;constructor(e={}){this.hwm=e.splitLimit??16,this.head=new wr(this.hwm),this.tail=this.head,this.size=0}calculateSize(e){return e?.byteLength!=null?e.byteLength:1}push(e){if(e?.value!=null&&(this.size+=this.calculateSize(e.value)),!this.head.push(e)){let t=this.head;this.head=t.next=new wr(2*this.head.buffer.length),this.head.push(e)}}shift(){let e=this.tail.shift();if(e===void 0&&this.tail.next!=null){let t=this.tail.next;this.tail.next=null,this.tail=t,e=this.tail.shift()}return e?.value!=null&&(this.size-=this.calculateSize(e.value)),e}isEmpty(){return this.head.isEmpty()}};var Qn=class extends Error{type;code;constructor(e,t){super(e??"The operation was aborted"),this.type="aborted",this.code=t??"ABORT_ERR"}};function ut(r={}){return Ll(t=>{let o=t.shift();if(o==null)return{done:!0};if(o.error!=null)throw o.error;return{done:o.done===!0,value:o.value}},r)}function Ll(r,e){e=e??{};let t=e.onEnd,o=new lt,n,i,s,c=ve(),a=async()=>{try{return o.isEmpty()?s?{done:!0}:await new Promise((m,g)=>{i=x=>{i=null,o.push(x);try{m(r(o))}catch(v){g(v)}return n}}):r(o)}finally{o.isEmpty()&&queueMicrotask(()=>{c.resolve(),c=ve()})}},d=m=>i!=null?i(m):(o.push(m),n),l=m=>(o=new lt,i!=null?i({error:m}):(o.push({error:m}),n)),u=m=>{if(s)return n;if(e?.objectMode!==!0&&m?.byteLength==null)throw new Error("objectMode was not true but tried to push non-Uint8Array value");return d({done:!1,value:m})},p=m=>s?n:(s=!0,m!=null?l(m):d({done:!0})),w=()=>(o=new lt,p(),{done:!0}),f=m=>(p(m),{done:!0});if(n={[Symbol.asyncIterator](){return this},next:a,return:w,throw:f,push:u,end:p,get readableLength(){return o.size},onEmpty:async m=>{let g=m?.signal;if(g?.throwIfAborted(),o.isEmpty())return;let x,v;g!=null&&(x=new Promise((E,T)=>{v=()=>{T(new Qn)},g.addEventListener("abort",v)}));try{await Promise.race([c.promise,x])}finally{v!=null&&g!=null&&g?.removeEventListener("abort",v)}}},t==null)return n;let y=n;return n={[Symbol.asyncIterator](){return this},next(){return y.next()},throw(m){return y.throw(m),t!=null&&(t(m),t=void 0),{done:!0}},return(){return y.return(),t!=null&&(t(),t=void 0),{done:!0}},push:u,end(m){return y.end(m),t!=null&&(t(m),t=void 0),n},get readableLength(){return y.readableLength},onEmpty:m=>y.onEmpty(m)},n}function Nl(r){return r[Symbol.asyncIterator]!=null}function Dl(...r){let e=[];for(let t of r)Nl(t)||e.push(t);return e.length===r.length?function*(){for(let t of e)yield*t}():async function*(){let t=ut({objectMode:!0});Promise.resolve().then(async()=>{try{await Promise.all(r.map(async o=>{for await(let n of o)t.push(n)})),t.end()}catch(o){t.end(o)}}),yield*t}()}var bs=Dl;function Zn(r,...e){if(r==null)throw new Error("Empty pipeline");if(Yn(r)){let o=r;r=()=>o.source}else if(ws(r)||ys(r)){let o=r;r=()=>o}let t=[r,...e];if(t.length>1&&Yn(t[t.length-1])&&(t[t.length-1]=t[t.length-1].sink),t.length>2)for(let o=1;o<t.length-1;o++)Yn(t[o])&&(t[o]=Rl(t[o]));return Ul(...t)}var Ul=(...r)=>{let e;for(;r.length>0;)e=r.shift()(e);return e},ys=r=>r?.[Symbol.asyncIterator]!=null,ws=r=>r?.[Symbol.iterator]!=null,Yn=r=>r==null?!1:r.sink!=null&&r.source!=null,Rl=r=>e=>{let t=r.sink(e);if(t?.then!=null){let o=ut({objectMode:!0});t.then(()=>{o.end()},s=>{o.end(s)});let n,i=r.source;if(ys(i))n=async function*(){yield*i,o.end()};else if(ws(i))n=function*(){yield*i,o.end()};else throw new Error("Unknown duplex source type - must be Iterable or AsyncIterable");return bs(o,n())}return r.source};function xs(r,e){let t=at(r,e),o={read:async(n,i)=>{let s=await t.read(i);return n.decode(s)},write:async(n,i,s)=>{await t.write(i.encode(n),s)},writeV:async(n,i,s)=>{await t.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:()=>t.unwrap()};return o}function kl(r){return r[Symbol.asyncIterator]!=null}function Pl(r){if(kl(r))return(async()=>{for await(let e of r);})();for(let e of r);}var qn=Pl;function Z(r){return _.encode({type:_.Type.OK,peers:[],...r}).subarray()}function K(r){return _.encode({type:_.Type.ERROR,error:{msg:r.message},peers:[]}).subarray()}var xr=_e("libp2p:daemon-server:dht"),Er=class{dht;constructor(e){let{dht:t}=e;this.dht=t}async*provide(e){try{await qn(this.dht.provide(e)),yield Z()}catch(t){xr.error(t),yield K(t)}}async*getClosestPeers(e){yield Z({dht:{type:V.Type.BEGIN}});for await(let t of this.dht.getClosestPeers(e))t.name==="PEER_RESPONSE"&&(yield*t.closer.map(o=>V.encode({type:V.Type.VALUE,value:o.id.toBytes()})));yield V.encode({type:V.Type.END})}async*getPublicKey(e){yield K(new Error("FIX ME: not implemented"))}async*getValue(e){try{for await(let t of this.dht.get(e))t.name==="VALUE"&&(yield Z({dht:{type:V.Type.VALUE,value:t.value}}))}catch(t){xr.error(t),yield K(t)}}async*putValue(e,t){try{await qn(this.dht.put(e,t)),yield Z()}catch(o){xr.error(o),yield K(o)}}async*findPeer(e){try{for await(let t of this.dht.findPeer(e))t.name==="FINAL_PEER"&&(yield Z({dht:{type:V.Type.VALUE,peer:{id:t.peer.id.toBytes(),addrs:t.peer.multiaddrs.map(o=>o.bytes)}}}));throw new Error("Peer not found")}catch(t){xr.error(t),yield K(t)}}async*findProviders(e,t){yield Z({dht:{type:V.Type.BEGIN}});try{let o=t,n=0;for await(let i of this.dht.findProviders(e))if(i.name==="PEER_RESPONSE"){for(let s of i.providers)n++,yield V.encode({type:V.Type.VALUE,peer:{id:s.id.toBytes(),addrs:(s.multiaddrs??[]).map(c=>c.bytes)}});if(o===n)break}}catch(o){yield K(o)}yield V.encode({type:V.Type.END})}};function vr(r){return globalThis.Buffer!=null?new Uint8Array(r.buffer,r.byteOffset,r.byteLength):r}var no={};S(no,{base10:()=>Vl});function Ol(r,e){if(r.length>=255)throw new TypeError("Alphabet too long");for(var t=new Uint8Array(256),o=0;o<t.length;o++)t[o]=255;for(var n=0;n<r.length;n++){var i=r.charAt(n),s=i.charCodeAt(0);if(t[s]!==255)throw new TypeError(i+" is ambiguous");t[s]=n}var c=r.length,a=r.charAt(0),d=Math.log(c)/Math.log(256),l=Math.log(256)/Math.log(c);function u(f){if(f instanceof Uint8Array||(ArrayBuffer.isView(f)?f=new Uint8Array(f.buffer,f.byteOffset,f.byteLength):Array.isArray(f)&&(f=Uint8Array.from(f))),!(f instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(f.length===0)return"";for(var y=0,m=0,g=0,x=f.length;g!==x&&f[g]===0;)g++,y++;for(var v=(x-g)*l+1>>>0,E=new Uint8Array(v);g!==x;){for(var T=f[g],U=0,C=v-1;(T!==0||U<m)&&C!==-1;C--,U++)T+=256*E[C]>>>0,E[C]=T%c>>>0,T=T/c>>>0;if(T!==0)throw new Error("Non-zero carry");m=U,g++}for(var L=v-m;L!==v&&E[L]===0;)L++;for(var ae=a.repeat(y);L<v;++L)ae+=r.charAt(E[L]);return ae}function p(f){if(typeof f!="string")throw new TypeError("Expected String");if(f.length===0)return new Uint8Array;var y=0;if(f[y]!==" "){for(var m=0,g=0;f[y]===a;)m++,y++;for(var x=(f.length-y)*d+1>>>0,v=new Uint8Array(x);f[y];){var E=t[f.charCodeAt(y)];if(E===255)return;for(var T=0,U=x-1;(E!==0||T<g)&&U!==-1;U--,T++)E+=c*v[U]>>>0,v[U]=E%256>>>0,E=E/256>>>0;if(E!==0)throw new Error("Non-zero carry");g=T,y++}if(f[y]!==" "){for(var C=x-g;C!==x&&v[C]===0;)C++;for(var L=new Uint8Array(m+(x-C)),ae=m;C!==x;)L[ae++]=v[C++];return L}}}function w(f){var y=p(f);if(y)return y;throw new Error(`Non-${e} character`)}return{encode:u,decodeUnsafe:p,decode:w}}var Fl=Ol,_l=Fl,Es=_l;var bg=new Uint8Array(0);var vs=(r,e)=>{if(r===e)return!0;if(r.byteLength!==e.byteLength)return!1;for(let t=0;t<r.byteLength;t++)if(r[t]!==e[t])return!1;return!0},ce=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 As=r=>new TextEncoder().encode(r),Is=r=>new TextDecoder().decode(r);var jn=class{constructor(e,t,o){this.name=e,this.prefix=t,this.baseEncode=o}encode(e){if(e instanceof Uint8Array)return`${this.prefix}${this.baseEncode(e)}`;throw Error("Unknown type, must be binary type")}},eo=class{constructor(e,t,o){if(this.name=e,this.prefix=t,t.codePointAt(0)===void 0)throw new Error("Invalid prefix character");this.prefixCodePoint=t.codePointAt(0),this.baseDecode=o}decode(e){if(typeof e=="string"){if(e.codePointAt(0)!==this.prefixCodePoint)throw Error(`Unable to decode multibase string ${JSON.stringify(e)}, ${this.name} decoder only supports inputs prefixed with ${this.prefix}`);return this.baseDecode(e.slice(this.prefix.length))}else throw Error("Can only multibase decode strings")}or(e){return Ss(this,e)}},to=class{constructor(e){this.decoders=e}or(e){return Ss(this,e)}decode(e){let t=e[0],o=this.decoders[t];if(o)return o.decode(e);throw RangeError(`Unable to decode multibase string ${JSON.stringify(e)}, only inputs prefixed with ${Object.keys(this.decoders)} are supported`)}},Ss=(r,e)=>new to({...r.decoders||{[r.prefix]:r},...e.decoders||{[e.prefix]:e}}),ro=class{constructor(e,t,o,n){this.name=e,this.prefix=t,this.baseEncode=o,this.baseDecode=n,this.encoder=new jn(e,t,o),this.decoder=new eo(e,t,n)}encode(e){return this.encoder.encode(e)}decode(e){return this.decoder.decode(e)}},ft=({name:r,prefix:e,encode:t,decode:o})=>new ro(r,e,t,o),Ne=({prefix:r,name:e,alphabet:t})=>{let{encode:o,decode:n}=Es(t,e);return ft({prefix:r,name:e,encode:o,decode:i=>ce(n(i))})},Bl=(r,e,t,o)=>{let n={};for(let l=0;l<e.length;++l)n[e[l]]=l;let i=r.length;for(;r[i-1]==="=";)--i;let s=new Uint8Array(i*t/8|0),c=0,a=0,d=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<<t|u,c+=t,c>=8&&(c-=8,s[d++]=255&a>>c)}if(c>=t||255&a<<8-c)throw new SyntaxError("Unexpected end of data");return s},Ml=(r,e,t)=>{let o=e[e.length-1]==="=",n=(1<<t)-1,i="",s=0,c=0;for(let a=0;a<r.length;++a)for(c=c<<8|r[a],s+=8;s>t;)s-=t,i+=e[n&c>>s];if(s&&(i+=e[n&c<<t-s]),o)for(;i.length*t&7;)i+="=";return i},D=({name:r,prefix:e,bitsPerChar:t,alphabet:o})=>ft({prefix:e,name:r,encode(n){return Ml(n,o,t)},decode(n){return Bl(n,o,t,r)}});var Vl=Ne({prefix:"9",name:"base10",alphabet:"0123456789"});var oo={};S(oo,{base16:()=>Gl,base16upper:()=>$l});var Gl=D({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),$l=D({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var io={};S(io,{base2:()=>zl});var zl=D({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var so={};S(so,{base256emoji:()=>Jl});var Ts=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}"),Hl=Ts.reduce((r,e,t)=>(r[t]=e,r),[]),Wl=Ts.reduce((r,e,t)=>(r[e.codePointAt(0)]=t,r),[]);function Kl(r){return r.reduce((e,t)=>(e+=Hl[t],e),"")}function Xl(r){let e=[];for(let t of r){let o=Wl[t.codePointAt(0)];if(o===void 0)throw new Error(`Non-base256emoji character: ${t}`);e.push(o)}return new Uint8Array(e)}var Jl=ft({prefix:"\u{1F680}",name:"base256emoji",encode:Kl,decode:Xl});var co={};S(co,{base32:()=>dt,base32hex:()=>ql,base32hexpad:()=>eu,base32hexpadupper:()=>tu,base32hexupper:()=>jl,base32pad:()=>Yl,base32padupper:()=>Zl,base32upper:()=>Ql,base32z:()=>ru});var dt=D({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),Ql=D({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),Yl=D({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),Zl=D({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),ql=D({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),jl=D({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),eu=D({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),tu=D({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),ru=D({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var ao={};S(ao,{base36:()=>nu,base36upper:()=>ou});var nu=Ne({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),ou=Ne({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var lo={};S(lo,{base58btc:()=>ge,base58flickr:()=>iu});var ge=Ne({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),iu=Ne({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var uo={};S(uo,{base64:()=>su,base64pad:()=>cu,base64url:()=>au,base64urlpad:()=>lu});var su=D({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),cu=D({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),au=D({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),lu=D({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});var fo={};S(fo,{base8:()=>uu});var uu=D({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var ho={};S(ho,{identity:()=>fu});var fu=ft({prefix:"\0",name:"identity",encode:r=>Is(r),decode:r=>As(r)});var Rg=new TextEncoder,kg=new TextDecoder;var mo={};S(mo,{identity:()=>Pu});var pu=Ds,Ls=128,mu=127,gu=~mu,bu=Math.pow(2,31);function Ds(r,e,t){e=e||[],t=t||0;for(var o=t;r>=bu;)e[t++]=r&255|Ls,r/=128;for(;r&gu;)e[t++]=r&255|Ls,r>>>=7;return e[t]=r|0,Ds.bytes=t-o+1,e}var yu=po,wu=128,Ns=127;function po(r,o){var t=0,o=o||0,n=0,i=o,s,c=r.length;do{if(i>=c)throw po.bytes=0,new RangeError("Could not decode varint");s=r[i++],t+=n<28?(s&Ns)<<n:(s&Ns)*Math.pow(2,n),n+=7}while(s>=wu);return po.bytes=i-o,t}var xu=Math.pow(2,7),Eu=Math.pow(2,14),vu=Math.pow(2,21),Au=Math.pow(2,28),Iu=Math.pow(2,35),Cu=Math.pow(2,42),Su=Math.pow(2,49),Tu=Math.pow(2,56),Lu=Math.pow(2,63),Nu=function(r){return r<xu?1:r<Eu?2:r<vu?3:r<Au?4:r<Iu?5:r<Cu?6:r<Su?7:r<Tu?8:r<Lu?9:10},Du={encode:pu,decode:yu,encodingLength:Nu},Uu=Du,Lt=Uu;var Nt=(r,e=0)=>[Lt.decode(r,e),Lt.decode.bytes],ht=(r,e,t=0)=>(Lt.encode(r,e,t),e),pt=r=>Lt.encodingLength(r);var He=(r,e)=>{let t=e.byteLength,o=pt(r),n=o+pt(t),i=new Uint8Array(n+t);return ht(r,i,0),ht(t,i,o),i.set(e,n),new mt(r,t,e,i)},Us=r=>{let e=ce(r),[t,o]=Nt(e),[n,i]=Nt(e.subarray(o)),s=e.subarray(o+i);if(s.byteLength!==n)throw new Error("Incorrect length");return new mt(t,n,s,e)},Rs=(r,e)=>{if(r===e)return!0;{let t=e;return r.code===t.code&&r.size===t.size&&t.bytes instanceof Uint8Array&&vs(r.bytes,t.bytes)}},mt=class{constructor(e,t,o,n){this.code=e,this.size=t,this.digest=o,this.bytes=n}};var ks=0,Ru="identity",Ps=ce,ku=r=>He(ks,Ps(r)),Pu={code:ks,name:Ru,encode:Ps,digest:ku};var wo={};S(wo,{sha256:()=>Ou,sha512:()=>Fu});var yo=be(pe("crypto"),1);var bo=({name:r,code:e,encode:t})=>new go(r,e,t),go=class{constructor(e,t,o){this.name=e,this.code=t,this.encode=o}digest(e){if(e instanceof Uint8Array){let t=this.encode(e);return t instanceof Uint8Array?He(this.code,t):t.then(o=>He(this.code,o))}else throw Error("Unknown type, must be binary type")}};var Ou=bo({name:"sha2-256",code:18,encode:r=>ce(yo.default.createHash("sha256").update(r).digest())}),Fu=bo({name:"sha2-512",code:19,encode:r=>ce(yo.default.createHash("sha512").update(r).digest())});var Fs=(r,e)=>{let{bytes:t,version:o}=r;switch(o){case 0:return Bu(t,xo(r),e||ge.encoder);default:return Mu(t,xo(r),e||dt.encoder)}};var _s=new WeakMap,xo=r=>{let e=_s.get(r);if(e==null){let t=new Map;return _s.set(r,t),t}return e},Ir=class r{constructor(e,t,o,n){this.code=t,this.version=e,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:e,multihash:t}=this;if(e!==Ut)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(t.code!==Vu)throw new Error("Cannot convert non sha2-256 multihash CID to CIDv0");return r.createV0(t)}default:throw Error(`Can not convert CID version ${this.version} to version 0. This is a bug please report`)}}toV1(){switch(this.version){case 0:{let{code:e,digest:t}=this.multihash,o=He(e,t);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(e){return r.equals(this,e)}static equals(e,t){let o=t;return o&&e.code===o.code&&e.version===o.version&&Rs(e.multihash,o.multihash)}toString(e){return Fs(this,e)}toJSON(){return{"/":Fs(this)}}link(){return this}get[Symbol.toStringTag](){return"CID"}[Symbol.for("nodejs.util.inspect.custom")](){return`CID(${this.toString()})`}static asCID(e){if(e==null)return null;let t=e;if(t instanceof r)return t;if(t["/"]!=null&&t["/"]===t.bytes||t.asCID===t){let{version:o,code:n,multihash:i,bytes:s}=t;return new r(o,n,i,s||Bs(o,n,i.bytes))}else if(t[Gu]===!0){let{version:o,multihash:n,code:i}=t,s=Us(n);return r.create(o,i,s)}else return null}static create(e,t,o){if(typeof t!="number")throw new Error("String codecs are no longer supported");if(!(o.bytes instanceof Uint8Array))throw new Error("Invalid digest");switch(e){case 0:{if(t!==Ut)throw new Error(`Version 0 CID must use dag-pb (code: ${Ut}) block encoding`);return new r(e,t,o,o.bytes)}case 1:{let n=Bs(e,t,o.bytes);return new r(e,t,o,n)}default:throw new Error("Invalid version")}}static createV0(e){return r.create(0,Ut,e)}static createV1(e,t){return r.create(1,e,t)}static decode(e){let[t,o]=r.decodeFirst(e);if(o.length)throw new Error("Incorrect length");return t}static decodeFirst(e){let t=r.inspectBytes(e),o=t.size-t.multihashSize,n=ce(e.subarray(o,o+t.multihashSize));if(n.byteLength!==t.multihashSize)throw new Error("Incorrect length");let i=n.subarray(t.multihashSize-t.digestSize),s=new mt(t.multihashCode,t.digestSize,i,n);return[t.version===0?r.createV0(s):r.createV1(t.codec,s),e.subarray(t.size)]}static inspectBytes(e){let t=0,o=()=>{let[u,p]=Nt(e.subarray(t));return t+=p,u},n=o(),i=Ut;if(n===18?(n=0,t=0):i=o(),n!==0&&n!==1)throw new RangeError(`Invalid CID version ${n}`);let s=t,c=o(),a=o(),d=t+a,l=d-s;return{version:n,codec:i,multihashCode:c,digestSize:a,multihashSize:l,size:d}}static parse(e,t){let[o,n]=_u(e,t),i=r.decode(n);if(i.version===0&&e[0]!=="Q")throw Error("Version 0 CID string must not include multibase prefix");return xo(i).set(o,e),i}},_u=(r,e)=>{switch(r[0]){case"Q":{let t=e||ge;return[ge.prefix,t.decode(`${ge.prefix}${r}`)]}case ge.prefix:{let t=e||ge;return[ge.prefix,t.decode(r)]}case dt.prefix:{let t=e||dt;return[dt.prefix,t.decode(r)]}default:{if(e==null)throw Error("To parse non base32 or base58btc encoded CID multibase decoder must be provided");return[r[0],e.decode(r)]}}},Bu=(r,e,t)=>{let{prefix:o}=t;if(o!==ge.prefix)throw Error(`Cannot string encode V0 in ${t.name} encoding`);let n=e.get(o);if(n==null){let i=t.encode(r).slice(1);return e.set(o,i),i}else return n},Mu=(r,e,t)=>{let{prefix:o}=t,n=e.get(o);if(n==null){let i=t.encode(r);return e.set(o,i),i}else return n},Ut=112,Vu=18,Bs=(r,e,t)=>{let o=pt(r),n=o+pt(e),i=new Uint8Array(n+t.byteLength);return ht(r,i,0),ht(e,i,o),i.set(t,n),i},Gu=Symbol.for("@ipld/js-cid/CID");var Eo={...ho,...io,...fo,...no,...oo,...co,...ao,...lo,...uo,...so},Yg={...wo,...mo};function Ms(r=0){return globalThis.Buffer?.allocUnsafe!=null?vr(globalThis.Buffer.allocUnsafe(r)):new Uint8Array(r)}function Gs(r,e,t,o){return{name:r,prefix:e,encoder:{name:r,prefix:e,encode:t},decoder:{decode:o}}}var Vs=Gs("utf8","u",r=>"u"+new TextDecoder("utf8").decode(r),r=>new TextEncoder().encode(r.substring(1))),vo=Gs("ascii","a",r=>{let e="a";for(let t=0;t<r.length;t++)e+=String.fromCharCode(r[t]);return e},r=>{r=r.substring(1);let e=Ms(r.length);for(let t=0;t<r.length;t++)e[t]=r.charCodeAt(t);return e}),$u={utf8:Vs,"utf-8":Vs,hex:Eo.base16,latin1:vo,ascii:vo,binary:vo,...Eo},$s=$u;function zs(r,e="utf8"){let t=$s[e];if(t==null)throw new Error(`Unsupported encoding "${e}"`);return(e==="utf8"||e==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?vr(globalThis.Buffer.from(r,"utf-8")):t.decoder.decode(`${t.prefix}${r}`)}var Cr=_e("libp2p:daemon-server:pubsub"),Sr=class{pubsub;constructor(e){let{pubsub:t}=e;this.pubsub=t}async*getTopics(){try{yield Z({pubsub:{topics:this.pubsub.getTopics(),peerIDs:[]}})}catch(e){Cr.error(e),yield K(e)}}async*subscribe(e){try{let t=ut();this.pubsub.subscribe(e),this.pubsub.addEventListener("message",o=>{let n=o.detail;n.topic===e&&(n.type==="signed"?t.push(vt.encode({from:n.from.toBytes(),data:n.data,seqno:n.sequenceNumber==null?void 0:zs(n.sequenceNumber.toString(16).padStart(16,"0"),"base16"),topicIDs:[n.topic],signature:n.signature,key:n.key}).subarray()):t.push(vt.encode({data:n.data,topicIDs:[n.topic]}).subarray()))}),yield Z(),yield*t}catch(t){Cr.error(t),yield K(t)}}async*publish(e,t){try{await this.pubsub.publish(e,t),yield Z()}catch(o){Cr.error(o),yield K(o)}}async*listPeers(e){try{yield Z({pubsub:{topics:[e],peerIDs:this.pubsub.getSubscribers(e).map(t=>t.toBytes())}})}catch(t){Cr.error(t),yield K(t)}}};var zu=1<<22,X=_e("libp2p:daemon-server"),Tr=class{multiaddr;libp2p;tcp;listener;dhtOperations;pubsubOperations;constructor(e){let{multiaddr:t,libp2pNode:o}=e;this.multiaddr=t,this.libp2p=o,this.tcp=is()({logger:di()}),this.listener=this.tcp.createListener({handler:this.handleConnection.bind(this),upgrader:mn}),this._onExit=this._onExit.bind(this),o.services.dht!=null&&(this.dhtOperations=new Er({dht:o.services.dht})),o.services.pubsub!=null&&(this.pubsubOperations=new Sr({pubsub:o.services.pubsub}))}async connect(e){if(e.connect==null||e.connect.addrs==null)throw new Error("Invalid request");let t=e.connect.peer,o=e.connect.addrs.map(i=>se(i)),n=Be(t);return X("connect - adding multiaddrs %a to peer %p",o,n),await this.libp2p.peerStore.merge(n,{multiaddrs:o}),X("connect - dial %p",n),this.libp2p.dial(n)}async openStream(e){if(e.streamOpen==null||e.streamOpen.proto==null)throw new Error("Invalid request");let{peer:t,proto:o}=e.streamOpen,n=Be(t);X("openStream - dial %p",n);let i=await this.libp2p.dial(n);X("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(e){if(e.streamHandler==null||e.streamHandler.proto==null)throw new Error("Invalid request");let t=e.streamHandler.proto,o=se(e.streamHandler.addr),n;X("registerStreamHandler - handle %s",t),await this.libp2p.handle(t,({connection:i,stream:s})=>{Promise.resolve().then(async()=>{n=await this.tcp.dial(o,{upgrader:mn});let c=Ye.encode({peer:i.remotePeer.toBytes(),addr:i.remoteAddr.bytes,proto:s.protocol??""}),a=mr.single(c);await Zn(async function*(){yield a,yield*s.source}(),async function*(d){for await(let l of d)yield*l},n,s.sink)}).catch(async c=>{X.error(c),n!=null&&await n.close(c)}).finally(()=>{n?.close().catch(c=>{X.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(e=>{X.error(e)})}async start(){this._listen(),await this.libp2p.start(),await this.listener.listen(this.multiaddr)}getMultiaddr(){let e=this.listener.getAddrs();if(e.length>0)return e[0];throw new Error("Not started")}async stop(e={exit:!1}){await this.libp2p.stop(),await this.listener.close(),e.exit&&X("server closed, exiting"),process.removeListener("SIGTERM",this._onExit),process.removeListener("SIGINT",this._onExit),process.removeListener("SIGHUP",this._onExit)}async*handlePeerStoreRequest(e){try{switch(e.type){case Oe.Type.GET_PROTOCOLS:if(e.id==null)throw new Error("Invalid request");let t=Be(e.id),n=(await this.libp2p.peerStore.get(t)).protocols;yield Z({peerStore:{protos:n}});return;case Oe.Type.GET_PEER_INFO:throw new Error("ERR_NOT_IMPLEMENTED");default:throw new Error("ERR_INVALID_REQUEST_TYPE")}}catch(t){X.error(t),yield K(t)}}async*handlePubsubRequest(e){try{if(this.libp2p.services.pubsub==null||this.pubsubOperations==null)throw new Error("PubSub not configured");switch(e.type){case we.Type.GET_TOPICS:yield*this.pubsubOperations.getTopics();return;case we.Type.SUBSCRIBE:if(e.topic==null)throw new Error("Invalid request");yield*this.pubsubOperations.subscribe(e.topic);return;case we.Type.PUBLISH:if(e.topic==null||e.data==null)throw new Error("Invalid request");yield*this.pubsubOperations.publish(e.topic,e.data);return;case we.Type.LIST_PEERS:if(e.topic==null)throw new Error("Invalid request");yield*this.pubsubOperations.listPeers(e.topic);return;default:throw new Error("ERR_INVALID_REQUEST_TYPE")}}catch(t){X.error(t),yield K(t)}}async*handleDHTRequest(e){try{if(this.libp2p.services.dht==null||this.dhtOperations==null)throw new Error("DHT not configured");switch(e.type){case oe.Type.FIND_PEER:if(e.peer==null)throw new Error("Invalid request");yield*this.dhtOperations.findPeer(Be(e.peer));return;case oe.Type.FIND_PROVIDERS:if(e.cid==null)throw new Error("Invalid request");yield*this.dhtOperations.findProviders(Q.decode(e.cid),e.count??20);return;case oe.Type.PROVIDE:if(e.cid==null)throw new Error("Invalid request");yield*this.dhtOperations.provide(Q.decode(e.cid));return;case oe.Type.GET_CLOSEST_PEERS:if(e.key==null)throw new Error("Invalid request");yield*this.dhtOperations.getClosestPeers(e.key);return;case oe.Type.GET_PUBLIC_KEY:if(e.peer==null)throw new Error("Invalid request");yield*this.dhtOperations.getPublicKey(Be(e.peer));return;case oe.Type.GET_VALUE:if(e.key==null)throw new Error("Invalid request");yield*this.dhtOperations.getValue(e.key);return;case oe.Type.PUT_VALUE:if(e.key==null||e.value==null)throw new Error("Invalid request");yield*this.dhtOperations.putValue(e.key,e.value);return;default:throw new Error("ERR_INVALID_REQUEST_TYPE")}}catch(t){X.error(t),yield K(t)}}handleConnection(e){Promise.resolve().then(async()=>{let t=this,o=xs(e,{maxDataLength:zu}),n=await o.read(ne);X("read",n);try{switch(n.type){case ne.Type.CONNECT:{await t.connect(n),await o.write({type:_.Type.OK},_);break}case ne.Type.IDENTIFY:{await o.write({type:_.Type.OK,identify:{id:t.libp2p.peerId.toBytes(),addrs:t.libp2p.getMultiaddrs().map(i=>i.decapsulateCode(I("p2p").code)).map(i=>i.bytes)}},_);break}case ne.Type.LIST_PEERS:{let i=[],s=new Set;for(let c of t.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:_.Type.OK,peers:i},_);break}case ne.Type.STREAM_OPEN:{let i=await t.openStream(n);await o.write({type:_.Type.OK,streamInfo:i.streamInfo},_);let s=o.unwrap();await Zn(s,i.connection,s);break}case ne.Type.STREAM_HANDLER:{await t.registerStreamHandler(n),await o.write({type:_.Type.OK},_);break}case ne.Type.PEERSTORE:{if(n.peerStore==null)throw new Error("ERR_INVALID_REQUEST");let i=o.unwrap(),s=at(i);for await(let c of t.handlePeerStoreRequest(n.peerStore))await s.write(c);break}case ne.Type.PUBSUB:{if(n.pubsub==null)throw new Error("ERR_INVALID_REQUEST");let i=o.unwrap(),s=at(i);for await(let c of t.handlePubsubRequest(n.pubsub))await s.write(c);break}case ne.Type.DHT:{if(n.dht==null)throw new Error("ERR_INVALID_REQUEST");let i=o.unwrap(),s=at(i);for await(let c of t.handleDHTRequest(n.dht))await s.write(c);break}default:throw new Error("ERR_INVALID_REQUEST_TYPE")}}catch(i){X.error(i),await o.write({type:_.Type.ERROR,error:{msg:i.message},peers:[]},_)}finally{await o.unwrap().close()}}).catch(t=>{X.error("error handling incoming connection",t)})}},Hu=(r,e)=>new Tr({multiaddr:r,libp2pNode:e});return Qs(Wu);})();
4
+ `+i),r.push(n+"m+"+Ue.exports.humanize(this.diff)+"\x1B[0m")}else r[0]=rc()+t+" "+r[0]}function rc(){return U.inspectOpts.hideDate?"":new Date().toISOString()+" "}function nc(...r){return process.stderr.write(_e.format(...r)+`
5
+ `)}function oc(r){r?process.env.DEBUG=r:delete process.env.DEBUG}function ic(){return process.env.DEBUG}function sc(r){r.inspectOpts={};let t=Object.keys(U.inspectOpts);for(let e=0;e<t.length;e++)r.inspectOpts[t[e]]=U.inspectOpts[t[e]]}Ue.exports=Yr()(U);var{formatters:uo}=Ue.exports;uo.o=function(r){return this.inspectOpts.colors=this.useColors,_e.inspect(r,this.inspectOpts).split(`
6
+ `).map(t=>t.trim()).join(" ")};uo.O=function(r){return this.inspectOpts.colors=this.useColors,_e.inspect(r,this.inspectOpts)}});var fo=yt((zu,Jr)=>{typeof process>"u"||process.type==="renderer"||process.browser===!0||process.__nwjs?Jr.exports=oo():Jr.exports=lo()});var si=yt((Tf,ii)=>{"use strict";function oi(r,t){for(let e in t)Object.defineProperty(r,e,{value:t[e],enumerable:!0,configurable:!0});return r}function Xc(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 oi(r,e)}catch{e.message=r.message,e.stack=r.stack;let n=function(){};return n.prototype=Object.create(Object.getPrototypeOf(r)),oi(new n,e)}}ii.exports=Xc});var sa={};J(sa,{Server:()=>ir,createServer:()=>ia});var sr=$("node:buffer");function St(r){return new Uint8Array(r.buffer,r.byteOffset,r.byteLength)}function ht(r=0){return St(sr.Buffer.alloc(r))}function z(r=0){return St(sr.Buffer.allocUnsafe(r))}var Ei=Math.pow(2,7),xi=Math.pow(2,14),Ii=Math.pow(2,21),cr=Math.pow(2,28),ar=Math.pow(2,35),ur=Math.pow(2,42),lr=Math.pow(2,49),x=128,F=127;function v(r){if(r<Ei)return 1;if(r<xi)return 2;if(r<Ii)return 3;if(r<cr)return 4;if(r<ar)return 5;if(r<ur)return 6;if(r<lr)return 7;if(Number.MAX_SAFE_INTEGER!=null&&r>Number.MAX_SAFE_INTEGER)throw new RangeError("Could not encode varint");return 8}function dr(r,t,e=0){switch(v(r)){case 8:t[e++]=r&255|x,r/=128;case 7:t[e++]=r&255|x,r/=128;case 6:t[e++]=r&255|x,r/=128;case 5:t[e++]=r&255|x,r/=128;case 4:t[e++]=r&255|x,r>>>=7;case 3:t[e++]=r&255|x,r>>>=7;case 2:t[e++]=r&255|x,r>>>=7;case 1:{t[e++]=r&255,r>>>=7;break}default:throw new Error("unreachable")}return t}function Ai(r,t,e=0){switch(v(r)){case 8:t.set(e++,r&255|x),r/=128;case 7:t.set(e++,r&255|x),r/=128;case 6:t.set(e++,r&255|x),r/=128;case 5:t.set(e++,r&255|x),r/=128;case 4:t.set(e++,r&255|x),r>>>=7;case 3:t.set(e++,r&255|x),r>>>=7;case 2:t.set(e++,r&255|x),r>>>=7;case 1:{t.set(e++,r&255),r>>>=7;break}default:throw new Error("unreachable")}return t}function fr(r,t){let e=r[t],o=0;if(o+=e&F,e<x||(e=r[t+1],o+=(e&F)<<7,e<x)||(e=r[t+2],o+=(e&F)<<14,e<x)||(e=r[t+3],o+=(e&F)<<21,e<x)||(e=r[t+4],o+=(e&F)*cr,e<x)||(e=r[t+5],o+=(e&F)*ar,e<x)||(e=r[t+6],o+=(e&F)*ur,e<x)||(e=r[t+7],o+=(e&F)*lr,e<x))return o;throw new RangeError("Could not decode varint")}function Ci(r,t){let e=r.get(t),o=0;if(o+=e&F,e<x||(e=r.get(t+1),o+=(e&F)<<7,e<x)||(e=r.get(t+2),o+=(e&F)<<14,e<x)||(e=r.get(t+3),o+=(e&F)<<21,e<x)||(e=r.get(t+4),o+=(e&F)*cr,e<x)||(e=r.get(t+5),o+=(e&F)*ar,e<x)||(e=r.get(t+6),o+=(e&F)*ur,e<x)||(e=r.get(t+7),o+=(e&F)*lr,e<x))return o;throw new RangeError("Could not decode varint")}function ft(r,t,e=0){return t==null&&(t=z(v(r))),t instanceof Uint8Array?dr(r,t,e):Ai(r,t,e)}function at(r,t=0){return r instanceof Uint8Array?fr(r,t):Ci(r,t)}var hr=new Float32Array([-0]),bt=new Uint8Array(hr.buffer);function Tn(r,t,e){hr[0]=r,t[e]=bt[0],t[e+1]=bt[1],t[e+2]=bt[2],t[e+3]=bt[3]}function Ln(r,t){return bt[0]=r[t],bt[1]=r[t+1],bt[2]=r[t+2],bt[3]=r[t+3],hr[0]}var pr=new Float64Array([-0]),M=new Uint8Array(pr.buffer);function Nn(r,t,e){pr[0]=r,t[e]=M[0],t[e+1]=M[1],t[e+2]=M[2],t[e+3]=M[3],t[e+4]=M[4],t[e+5]=M[5],t[e+6]=M[6],t[e+7]=M[7]}function Rn(r,t){return M[0]=r[t],M[1]=r[t+1],M[2]=r[t+2],M[3]=r[t+3],M[4]=r[t+4],M[5]=r[t+5],M[6]=r[t+6],M[7]=r[t+7],pr[0]}var vi=BigInt(Number.MAX_SAFE_INTEGER),Si=BigInt(Number.MIN_SAFE_INTEGER),Z=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<vi&&t>Si)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>Dn&&(n=0n,++o>Dn&&(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 Z(0,0);Tt.toBigInt=function(){return 0n};Tt.zzEncode=Tt.zzDecode=function(){return this};Tt.length=function(){return 1};var Dn=4294967296n;function kn(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 Pn(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 mr(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 ut(r,t){return RangeError(`index out of range: ${r.pos} + ${t??1} > ${r.len}`)}function ye(r,t){return(r[t-4]|r[t-3]<<8|r[t-2]<<16|r[t-1]<<24)>>>0}var gr=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,ut(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 ut(this,4);return ye(this.buf,this.pos+=4)}sfixed32(){if(this.pos+4>this.len)throw ut(this,4);return ye(this.buf,this.pos+=4)|0}float(){if(this.pos+4>this.len)throw ut(this,4);let t=Ln(this.buf,this.pos);return this.pos+=4,t}double(){if(this.pos+8>this.len)throw ut(this,4);let t=Rn(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 ut(this,t);return this.pos+=t,e===o?new Uint8Array(0):this.buf.subarray(e,o)}string(){let t=this.bytes();return Pn(t,0,t.length)}skip(t){if(typeof t=="number"){if(this.pos+t>this.len)throw ut(this,t);this.pos+=t}else do if(this.pos>=this.len)throw ut(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 Z(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 ut(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 ut(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 ut(this,8);let t=ye(this.buf,this.pos+=4),e=ye(this.buf,this.pos+=4);return new Z(t,e)}int64(){return this.readLongVarint().toBigInt()}int64Number(){return this.readLongVarint().toNumber()}int64String(){return this.readLongVarint().toString()}uint64(){return this.readLongVarint().toBigInt(!0)}uint64Number(){let t=fr(this.buf,this.pos);return this.pos+=v(t),t}uint64String(){return this.readLongVarint().toString(!0)}sint64(){return this.readLongVarint().zzDecode().toBigInt()}sint64Number(){return this.readLongVarint().zzDecode().toNumber()}sint64String(){return this.readLongVarint().zzDecode().toString()}fixed64(){return this.readFixed64().toBigInt()}fixed64Number(){return this.readFixed64().toNumber()}fixed64String(){return this.readFixed64().toString()}sfixed64(){return this.readFixed64().toBigInt()}sfixed64Number(){return this.readFixed64().toNumber()}sfixed64String(){return this.readFixed64().toString()}};function yr(r){return new gr(r instanceof Uint8Array?r:r.subarray())}function S(r,t,e){let o=yr(r);return t.decode(o,void 0,e)}var to=$("node:buffer");var Ir={};J(Ir,{base10:()=>ki});var Ea=new Uint8Array(0);function _n(r,t){if(r===t)return!0;if(r.byteLength!==t.byteLength)return!1;for(let e=0;e<r.byteLength;e++)if(r[e]!==t[e])return!1;return!0}function nt(r){if(r instanceof Uint8Array&&r.constructor.name==="Uint8Array")return r;if(r instanceof ArrayBuffer)return new Uint8Array(r);if(ArrayBuffer.isView(r))return new Uint8Array(r.buffer,r.byteOffset,r.byteLength);throw new Error("Unknown type, must be binary type")}function Un(r){return new TextEncoder().encode(r)}function Fn(r){return new TextDecoder().decode(r)}function Ti(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),u=Math.log(256)/Math.log(c);function l(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 y=0,h=0,w=0,E=p.length;w!==E&&p[w]===0;)w++,y++;for(var R=(E-w)*u+1>>>0,P=new Uint8Array(R);w!==E;){for(var Y=p[w],et=0,Q=R-1;(Y!==0||et<h)&&Q!==-1;Q--,et++)Y+=256*P[Q]>>>0,P[Q]=Y%c>>>0,Y=Y/c>>>0;if(Y!==0)throw new Error("Non-zero carry");h=et,w++}for(var rt=R-h;rt!==R&&P[rt]===0;)rt++;for(var Vt=a.repeat(y);rt<R;++rt)Vt+=r.charAt(P[rt]);return Vt}function g(p){if(typeof p!="string")throw new TypeError("Expected String");if(p.length===0)return new Uint8Array;var y=0;if(p[y]!==" "){for(var h=0,w=0;p[y]===a;)h++,y++;for(var E=(p.length-y)*f+1>>>0,R=new Uint8Array(E);p[y];){var P=e[p.charCodeAt(y)];if(P===255)return;for(var Y=0,et=E-1;(P!==0||Y<w)&&et!==-1;et--,Y++)P+=c*R[et]>>>0,R[et]=P%256>>>0,P=P/256>>>0;if(P!==0)throw new Error("Non-zero carry");w=Y,y++}if(p[y]!==" "){for(var Q=E-w;Q!==E&&R[Q]===0;)Q++;for(var rt=new Uint8Array(h+(E-Q)),Vt=h;Q!==E;)rt[Vt++]=R[Q++];return rt}}}function b(p){var y=g(p);if(y)return y;throw new Error(`Non-${t} character`)}return{encode:l,decodeUnsafe:g,decode:b}}var Li=Ti,Ni=Li,Bn=Ni;var br=class{name;prefix;baseEncode;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")}},wr=class{name;prefix;baseDecode;prefixCodePoint;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 Gn(this,t)}},Er=class{decoders;constructor(t){this.decoders=t}or(t){return Gn(this,t)}decode(t){let e=t[0],o=this.decoders[e];if(o!=null)return o.decode(t);throw RangeError(`Unable to decode multibase string ${JSON.stringify(t)}, only inputs prefixed with ${Object.keys(this.decoders)} are supported`)}};function Gn(r,t){return new Er({...r.decoders??{[r.prefix]:r},...t.decoders??{[t.prefix]:t}})}var xr=class{name;prefix;baseEncode;baseDecode;encoder;decoder;constructor(t,e,o,n){this.name=t,this.prefix=e,this.baseEncode=o,this.baseDecode=n,this.encoder=new br(t,e,o),this.decoder=new wr(t,e,n)}encode(t){return this.encoder.encode(t)}decode(t){return this.decoder.decode(t)}};function $t({name:r,prefix:t,encode:e,decode:o}){return new xr(r,t,e,o)}function wt({name:r,prefix:t,alphabet:e}){let{encode:o,decode:n}=Bn(e,r);return $t({prefix:t,name:r,encode:o,decode:i=>nt(n(i))})}function Ri(r,t,e,o){let n={};for(let u=0;u<t.length;++u)n[t[u]]=u;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 u=0;u<i;++u){let l=n[r[u]];if(l===void 0)throw new SyntaxError(`Non-${o} character`);a=a<<e|l,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}function Di(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!==0&&(i+=t[n&c<<e-s]),o)for(;i.length*e&7;)i+="=";return i}function A({name:r,prefix:t,bitsPerChar:e,alphabet:o}){return $t({prefix:t,name:r,encode(n){return Di(n,o,e)},decode(n){return Ri(n,o,e,r)}})}var ki=wt({prefix:"9",name:"base10",alphabet:"0123456789"});var Ar={};J(Ar,{base16:()=>Pi,base16upper:()=>Oi});var Pi=A({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),Oi=A({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var Cr={};J(Cr,{base2:()=>_i});var _i=A({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var vr={};J(vr,{base256emoji:()=>Gi});var Vn=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}"),Ui=Vn.reduce((r,t,e)=>(r[e]=t,r),[]),Fi=Vn.reduce((r,t,e)=>(r[t.codePointAt(0)]=e,r),[]);function Mi(r){return r.reduce((t,e)=>(t+=Ui[e],t),"")}function Bi(r){let t=[];for(let e of r){let o=Fi[e.codePointAt(0)];if(o===void 0)throw new Error(`Non-base256emoji character: ${e}`);t.push(o)}return new Uint8Array(t)}var Gi=$t({prefix:"\u{1F680}",name:"base256emoji",encode:Mi,decode:Bi});var Sr={};J(Sr,{base32:()=>lt,base32hex:()=>Hi,base32hexpad:()=>Ki,base32hexpadupper:()=>Xi,base32hexupper:()=>Wi,base32pad:()=>$i,base32padupper:()=>zi,base32upper:()=>Vi,base32z:()=>Yi});var lt=A({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),Vi=A({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),$i=A({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),zi=A({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),Hi=A({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),Wi=A({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),Ki=A({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),Xi=A({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),Yi=A({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var Tr={};J(Tr,{base36:()=>Qi,base36upper:()=>Ji});var Qi=wt({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),Ji=wt({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var Lr={};J(Lr,{base58btc:()=>D,base58flickr:()=>Zi});var D=wt({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),Zi=wt({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var Rr={};J(Rr,{base64:()=>Nr,base64pad:()=>qi,base64url:()=>ji,base64urlpad:()=>ts});var Nr=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}),ts=A({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});var Dr={};J(Dr,{base8:()=>es});var es=A({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var kr={};J(kr,{identity:()=>rs});var rs=$t({prefix:"\0",name:"identity",encode:r=>Fn(r),decode:r=>Un(r)});var Ua=new TextEncoder,Fa=new TextDecoder;var Or={};J(Or,{identity:()=>we});var is=Hn,$n=128,ss=127,cs=~ss,as=Math.pow(2,31);function Hn(r,t,e){t=t||[],e=e||0;for(var o=e;r>=as;)t[e++]=r&255|$n,r/=128;for(;r&cs;)t[e++]=r&255|$n,r>>>=7;return t[e]=r|0,Hn.bytes=e-o+1,t}var us=Pr,ls=128,zn=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&zn)<<n:(s&zn)*Math.pow(2,n),n+=7}while(s>=ls);return Pr.bytes=i-o,e}var ds=Math.pow(2,7),fs=Math.pow(2,14),hs=Math.pow(2,21),ps=Math.pow(2,28),ms=Math.pow(2,35),gs=Math.pow(2,42),ys=Math.pow(2,49),bs=Math.pow(2,56),ws=Math.pow(2,63),Es=function(r){return r<ds?1:r<fs?2:r<hs?3:r<ps?4:r<ms?5:r<gs?6:r<ys?7:r<bs?8:r<ws?9:10},xs={encode:is,decode:us,encodingLength:Es},Is=xs,se=Is;function ce(r,t=0){return[se.decode(r,t),se.decode.bytes]}function zt(r,t,e=0){return se.encode(r,t,e),t}function Ht(r){return se.encodingLength(r)}function Et(r,t){let e=t.byteLength,o=Ht(r),n=o+Ht(e),i=new Uint8Array(n+e);return zt(r,i,0),zt(e,i,o),i.set(t,n),new Wt(r,e,t,i)}function Lt(r){let t=nt(r),[e,o]=ce(t),[n,i]=ce(t.subarray(o)),s=t.subarray(o+i);if(s.byteLength!==n)throw new Error("Incorrect length");return new Wt(e,n,s,t)}function Wn(r,t){if(r===t)return!0;{let e=t;return r.code===e.code&&r.size===e.size&&e.bytes instanceof Uint8Array&&_n(r.bytes,e.bytes)}}var Wt=class{code;size;digest;bytes;constructor(t,e,o,n){this.code=t,this.size=e,this.digest=o,this.bytes=n}};var Kn=0,As="identity",Xn=nt;function Cs(r){return Et(Kn,Xn(r))}var we={code:Kn,name:As,encode:Xn,digest:Cs};var Mr={};J(Mr,{sha256:()=>Ee,sha512:()=>vs});var Fr=vt($("crypto"),1);function Ur({name:r,code:t,encode:e}){return new _r(r,t,e)}var _r=class{name;code;encode;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?Et(this.code,e):e.then(o=>Et(this.code,o))}else throw Error("Unknown type, must be binary type")}};var Ee=Ur({name:"sha2-256",code:18,encode:r=>nt(Fr.default.createHash("sha256").update(r).digest())}),vs=Ur({name:"sha2-512",code:19,encode:r=>nt(Fr.default.createHash("sha512").update(r).digest())});function Qn(r,t){let{bytes:e,version:o}=r;switch(o){case 0:return Ts(e,Br(r),t??D.encoder);default:return Ls(e,Br(r),t??lt.encoder)}}var Jn=new WeakMap;function Br(r){let t=Jn.get(r);if(t==null){let e=new Map;return Jn.set(r,e),e}return t}var H=class r{code;version;multihash;bytes;"/";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!==ae)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(e.code!==Ns)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=Et(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!=null&&t.code===o.code&&t.version===o.version&&Wn(t.multihash,o.multihash)}toString(t){return Qn(this,t)}toJSON(){return{"/":Qn(this)}}link(){return this}[Symbol.toStringTag]="CID";[Symbol.for("nodejs.util.inspect.custom")](){return`CID(${this.toString()})`}static asCID(t){if(t==null)return null;let e=t;if(e instanceof r)return e;if(e["/"]!=null&&e["/"]===e.bytes||e.asCID===e){let{version:o,code:n,multihash:i,bytes:s}=e;return new r(o,n,i,s??Zn(o,n,i.bytes))}else if(e[Rs]===!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!==ae)throw new Error(`Version 0 CID must use dag-pb (code: ${ae}) block encoding`);return new r(t,e,o,o.bytes)}case 1:{let n=Zn(t,e,o.bytes);return new r(t,e,o,n)}default:throw new Error("Invalid version")}}static createV0(t){return r.create(0,ae,t)}static createV1(t,e){return r.create(1,t,e)}static decode(t){let[e,o]=r.decodeFirst(t);if(o.length!==0)throw new Error("Incorrect length");return e}static decodeFirst(t){let e=r.inspectBytes(t),o=e.size-e.multihashSize,n=nt(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 Wt(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[l,g]=ce(t.subarray(e));return e+=g,l},n=o(),i=ae;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,u=f-s;return{version:n,codec:i,multihashCode:c,digestSize:a,multihashSize:u,size:f}}static parse(t,e){let[o,n]=Ss(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 Br(i).set(o,t),i}};function Ss(r,t){switch(r[0]){case"Q":{let e=t??D;return[D.prefix,e.decode(`${D.prefix}${r}`)]}case D.prefix:{let e=t??D;return[D.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)]}}}function Ts(r,t,e){let{prefix:o}=e;if(o!==D.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}function Ls(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}var ae=112,Ns=18;function Zn(r,t,e){let o=Ht(r),n=o+Ht(t),i=new Uint8Array(n+e.byteLength);return zt(r,i,0),zt(t,i,o),i.set(e,n),i}var Rs=Symbol.for("@ipld/js-cid/CID");var xt={...kr,...Cr,...Dr,...Ir,...Ar,...Sr,...Tr,...Lr,...Rr,...vr},iu={...Mr,...Or};function jn(r,t,e,o){return{name:r,prefix:t,encoder:{name:r,prefix:t,encode:e},decoder:{decode:o}}}var qn=jn("utf8","u",r=>"u"+new TextDecoder("utf8").decode(r),r=>new TextEncoder().encode(r.substring(1))),Gr=jn("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=z(r.length);for(let e=0;e<r.length;e++)t[e]=r.charCodeAt(e);return t}),Ds={utf8:qn,"utf-8":qn,hex:xt.base16,latin1:Gr,ascii:Gr,binary:Gr,...xt},xe=Ds;function Rt(r,t="utf8"){let e=xe[t];if(e==null)throw new Error(`Unsupported encoding "${t}"`);return t==="utf8"||t==="utf-8"?St(to.Buffer.from(r,"utf-8")):e.decoder.decode(`${e.prefix}${r}`)}function Vr(r){let t=r??8192,e=t>>>1,o,n=t;return function(s){if(s<1||s>e)return z(s);n+s>t&&(o=z(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 $r(){}var Hr=class{head;tail;len;next;constructor(t){this.head=t.head,this.tail=t.tail,this.len=t.len,this.next=t.states}},ks=Vr();function Ps(r){return globalThis.Buffer!=null?z(r):ks(r)}var le=class{len;head;tail;states;constructor(){this.len=0,this.head=new Dt($r,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 Wr((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(Ie,10,Z.fromNumber(t)):this.uint32(t)}sint32(t){return this.uint32((t<<1^t>>31)>>>0)}uint64(t){let e=Z.fromBigInt(t);return this._push(Ie,e.length(),e)}uint64Number(t){return this._push(dr,v(t),t)}uint64String(t){return this.uint64(BigInt(t))}int64(t){return this.uint64(t)}int64Number(t){return this.uint64Number(t)}int64String(t){return this.uint64String(t)}sint64(t){let e=Z.fromBigInt(t).zzEncode();return this._push(Ie,e.length(),e)}sint64Number(t){let e=Z.fromNumber(t).zzEncode();return this._push(Ie,e.length(),e)}sint64String(t){return this.sint64(BigInt(t))}bool(t){return this._push(zr,1,t?1:0)}fixed32(t){return this._push(ue,4,t>>>0)}sfixed32(t){return this.fixed32(t)}fixed64(t){let e=Z.fromBigInt(t);return this._push(ue,4,e.lo)._push(ue,4,e.hi)}fixed64Number(t){let e=Z.fromNumber(t);return this._push(ue,4,e.lo)._push(ue,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(Tn,4,t)}double(t){return this._push(Nn,8,t)}bytes(t){let e=t.length>>>0;return e===0?this._push(zr,1,0):this.uint32(e)._push(_s,e,t)}string(t){let e=kn(t);return e!==0?this.uint32(e)._push(mr,e,t):this._push(zr,1,0)}fork(){return this.states=new Hr(this),this.head=this.tail=new Dt($r,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($r,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=Ps(this.len),o=0;for(;t!=null;)t.fn(t.val,e,o),o+=t.len,t=t.next;return e}};function zr(r,t,e){t[e]=r&255}function Os(r,t,e){for(;r>127;)t[e++]=r&127|128,r>>>=7;t[e]=r}var Wr=class extends Dt{next;constructor(t,e){super(Os,t,e),this.next=void 0}};function Ie(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 ue(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 _s(r,t,e){t.set(r,e)}globalThis.Buffer!=null&&(le.prototype.bytes=function(r){let t=r.length>>>0;return this.uint32(t),t>0&&this._push(Us,t,r),this},le.prototype.string=function(r){let t=globalThis.Buffer.byteLength(r);return this.uint32(t),t>0&&this._push(Fs,t,r),this});function Us(r,t,e){t.set(r,e)}function Fs(r,t,e){r.length<40?mr(r,t,e):t.utf8Write!=null?t.utf8Write(r,e):t.set(Rt(r),e)}function Kr(){return new le}function T(r,t){let e=Kr();return t.encode(r,e,{lengthDelimited:!1}),e.finish()}var Kt;(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"})(Kt||(Kt={}));function Ae(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 Ae("enum",Kt.VARINT,e,o)}function L(r,t){return Ae("message",Kt.LENGTH_DELIMITED,r,t)}var ot;(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=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),ve.codec().encode(n.connect,i)),n.streamOpen!=null&&(i.uint32(26),Se.codec().encode(n.streamOpen,i)),n.streamHandler!=null&&(i.uint32(34),Te.codec().encode(n.streamHandler,i)),n.dht!=null&&(i.uint32(42),it.codec().encode(n.dht,i)),n.connManager!=null&&(i.uint32(50),Ne.codec().encode(n.connManager,i)),n.disconnect!=null&&(i.uint32(58),Re.codec().encode(n.disconnect,i)),n.pubsub!=null&&(i.uint32(66),mt.codec().encode(n.pubsub,i)),n.peerStore!=null&&(i.uint32(74),kt.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=ve.codec().decode(n,n.uint32());break;case 3:s.streamOpen=Se.codec().decode(n,n.uint32());break;case 4:s.streamHandler=Te.codec().decode(n,n.uint32());break;case 5:s.dht=it.codec().decode(n,n.uint32());break;case 6:s.connManager=Ne.codec().decode(n,n.uint32());break;case 7:s.disconnect=Re.codec().decode(n,n.uint32());break;case 8:s.pubsub=mt.codec().decode(n,n.uint32());break;case 9:s.peerStore=kt.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())})(ot||(ot={}));var N;(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=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),Le.codec().encode(n.error,i)),n.streamInfo!=null&&(i.uint32(26),Xt.codec().encode(n.streamInfo,i)),n.identify!=null&&(i.uint32(34),Ce.codec().encode(n.identify,i)),n.dht!=null&&(i.uint32(42),_.codec().encode(n.dht,i)),n.peers!=null)for(let c of n.peers)i.uint32(50),It.codec().encode(c,i);n.pubsub!=null&&(i.uint32(58),De.codec().encode(n.pubsub,i)),n.peerStore!=null&&(i.uint32(66),ke.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=Le.codec().decode(n,n.uint32());break;case 3:s.streamInfo=Xt.codec().decode(n,n.uint32());break;case 4:s.identify=Ce.codec().decode(n,n.uint32());break;case 5:s.dht=_.codec().decode(n,n.uint32());break;case 6:s.peers.push(It.codec().decode(n,n.uint32()));break;case 7:s.pubsub=De.codec().decode(n,n.uint32());break;case 8:s.peerStore=ke.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())})(N||(N={}));var Ce;(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())})(Ce||(Ce={}));var ve;(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())})(ve||(ve={}));var Se;(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())})(Se||(Se={}));var Te;(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())})(Te||(Te={}));var Le;(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())})(Le||(Le={}));var Xt;(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())})(Xt||(Xt={}));var it;(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=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())})(it||(it={}));var _;(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=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),It.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=It.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())})(_||(_={}));var It;(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())})(It||(It={}));var Ne;(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=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())})(Ne||(Ne={}));var Re;(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())})(Re||(Re={}));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=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())})(mt||(mt={}));var de;(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())})(de||(de={}));var De;(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())})(De||(De={}));var kt;(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=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())})(kt||(kt={}));var ke;(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),It.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=It.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())})(ke||(ke={}));var Xr={upgradeInbound:async r=>r,upgradeOutbound:async r=>r};var j=vt(fo(),1);j.default.formatters.b=r=>r==null?"undefined":D.baseEncode(r);j.default.formatters.t=r=>r==null?"undefined":lt.baseEncode(r);j.default.formatters.m=r=>r==null?"undefined":Nr.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 cc(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 ho(){return{forComponent(r){return Ot(r)}}}function Ot(r){let t=cc(`${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})}var po=Symbol.for("@libp2p/peer-id");var go=Symbol.for("@libp2p/transport");var mo;(function(r){r[r.FATAL_ALL=0]="FATAL_ALL",r[r.NO_FATAL=1]="NO_FATAL"})(mo||(mo={}));var qt=class r extends Error{code;type;constructor(t="The operation was aborted"){super(t),this.name="AbortError",this.code=r.code,this.type=r.type}static code="ABORT_ERR";static type="aborted"},k=class extends Error{code;props;constructor(t,e,o){super(t),this.code=e,this.name=o?.name??"CodeError",this.props=o??{}}};var yo=$("events"),bo=(r,...t)=>{try{(0,yo.setMaxListeners)(r,...t)}catch{}};var Fe=class extends EventTarget{#t=new Map;constructor(){super(),bo(1/0,this)}listenerCount(t){let e=this.#t.get(t);return e==null?0:e.length}addEventListener(t,e,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 ac(t,e))}},Zr=class extends Event{detail;constructor(t,e){super(t,e),this.detail=e?.detail}},ac=globalThis.CustomEvent??Zr;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"),wo=Object.values(xt).map(r=>r.decoder).reduce((r,t)=>r.or(t),xt.identity.decoder),Eo=114,xo=36,Io=37,fe=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()})`}[po]=!0;toString(){return this.string==null&&(this.string=D.encode(this.multihash.bytes).slice(1)),this.string}toCID(){return H.createV1(Eo,this.multihash)}toBytes(){return this.multihash.bytes}toJSON(){return this.toString()}equals(t){if(t==null)return!1;if(t instanceof Uint8Array)return _t(this.multihash.bytes,t);if(typeof t=="string")return lc(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()})`}},he=class extends fe{type="RSA";publicKey;constructor(t){super({...t,type:"RSA"}),this.publicKey=t.publicKey}},pe=class extends fe{type="Ed25519";publicKey;constructor(t){super({...t,type:"Ed25519"}),this.publicKey=t.multihash.digest}},me=class extends fe{type="secp256k1";publicKey;constructor(t){super({...t,type:"secp256k1"}),this.publicKey=t.multihash.digest}};function lc(r,t){if(t=t??wo,r.charAt(0)==="1"||r.charAt(0)==="Q"){let e=Lt(D.decode(`z${r}`));return r.startsWith("12D")?new pe({multihash:e}):r.startsWith("16U")?new me({multihash:e}):new he({multihash:e})}return Ut(wo.decode(r))}function Ut(r){try{let t=Lt(r);if(t.code===we.code){if(t.digest.length===xo)return new pe({multihash:t});if(t.digest.length===Io)return new me({multihash:t})}if(t.code===Ee.code)return new he({multihash:t})}catch{return dc(H.decode(r))}throw new Error("Supplied PeerID CID is invalid")}function dc(r){if(r==null||r.multihash==null||r.version==null||r.version===1&&r.code!==Eo)throw new Error("Supplied PeerID CID is invalid");let t=r.multihash;if(t.code===Ee.code)return new he({multihash:r.multihash});if(t.code===we.code){if(t.digest.length===xo)return new pe({multihash:r.multihash});if(t.digest.length===Io)return new me({multihash:r.multihash})}throw new Error("Supplied PeerID CID is invalid")}var ti=vt($("net"),1);var Ao=$("node:buffer");function W(r,t="utf8"){let e=xe[t];if(e==null)throw new Error(`Unsupported encoding "${t}"`);return t==="utf8"||t==="utf-8"?Ao.Buffer.from(r.buffer,r.byteOffset,r.byteLength).toString("utf8"):e.encoder.encode(r).substring(1)}var Co=$("node:buffer");function st(r,t){return St(Co.Buffer.concat(r,t))}var Me=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 u=this.readAtomically(()=>{let l=this.readChar();if(l===void 0)return;let g=Number.parseInt(l,t);if(!Number.isNaN(g))return g});if(u===void 0)break;if(i*=t,i+=u,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 ml=new Me;var Al=parseInt("0xFFFF",16),Cl=new Uint8Array([0,0,0,0,0,0,0,0,0,0,255,255]);var ct=$("node:net");function Be(r){return!!(0,ct.isIP)(r)}var To=ct.isIPv4,yc=ct.isIPv6,qr=function(r){let t=0;if(r=r.toString().trim(),To(r)){let e=new Uint8Array(t+4);return r.split(/\./g).forEach(o=>{e[t++]=parseInt(o,10)&255}),e}if(yc(r)){let e=r.split(":",8),o;for(o=0;o<e.length;o++){let i=To(e[o]),s;i&&(s=qr(e[o]),e[o]=W(s.slice(0,2),"base16")),s!=null&&++o<8&&e.splice(o,0,W(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")},Lo=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 jt={},jr={},wc=[[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"]];wc.forEach(r=>{let t=Ec(...r);jr[t.code]=t,jt[t.name]=t});function Ec(r,t,e,o,n){return{code:r,size:t,name:e,resolvable:!!o,path:!!n}}function I(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(jt[r]!=null)return jt[r];throw new Error(`no protocol with name: ${r}`)}throw new Error(`invalid protocol id type: ${typeof r}`)}var ad=I("ip4"),ud=I("ip6"),ld=I("ipcidr");function en(r,t){switch(I(r).code){case 4:case 41:return Ic(t);case 42:return Do(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 Do(t);case 421:return Sc(t);case 444:return ko(t);case 445:return ko(t);case 466:return vc(t);default:return W(t,"base16")}}function rn(r,t){switch(I(r).code){case 4:return No(t);case 41:return No(t);case 42:return Ro(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 Ro(t);case 421:return Ac(t);case 444:return Tc(t);case 445:return Lc(t);case 466:return Cc(t);default:return Rt(t,"base16")}}var tn=Object.values(xt).map(r=>r.decoder),xc=function(){let r=tn[0].or(tn[1]);return tn.slice(2).forEach(t=>r=r.or(t)),r}();function No(r){if(!Be(r))throw new Error("invalid ip address");return qr(r)}function Ic(r){let t=Lo(r,0,r.length);if(t==null)throw new Error("ipBuff is required");if(!Be(t))throw new Error("invalid ip address");return t}function 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 Ro(r){let t=Rt(r),e=Uint8Array.from(ft(t.length));return st([e,t],e.length+t.length)}function Do(r){let t=at(r);if(r=r.slice(v(t)),r.length!==t)throw new Error("inconsistent lengths");return W(r)}function Ac(r){let t;r[0]==="Q"||r[0]==="1"?t=Lt(D.decode(`z${r}`)).bytes:t=H.parse(r).multihash.bytes;let e=Uint8Array.from(ft(t.length));return st([e,t],e.length+t.length)}function Cc(r){let t=xc.decode(r),e=Uint8Array.from(ft(t.length));return st([e,t],e.length+t.length)}function vc(r){let t=at(r),e=r.slice(v(t));if(e.length!==t)throw new Error("inconsistent lengths");return"u"+W(e,"base64url")}function Sc(r){let t=at(r),e=r.slice(v(t));if(e.length!==t)throw new Error("inconsistent lengths");return W(e,"base58btc")}function Tc(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 st([e,n],e.length+n.length)}function Lc(r){let t=r.split(":");if(t.length!==2)throw new Error(`failed to parse onion addr: ["'${t.join('", "')}'"]' does not contain a port number`);if(t[0].length!==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 st([e,n],e.length+n.length)}function ko(r){let t=r.slice(0,r.length-2),e=r.slice(r.length-2),o=W(t,"base32"),n=Po(e);return`${o}:${n}`}function Oo(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=I(s);if(c.size===0){t.push([c.code]),e.push([c.code]);continue}if(i++,i>=n.length)throw Uo("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:_o(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=at(r,n),s=v(i),c=I(i),a=Nc(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 Uo("Invalid address Uint8Array: "+W(r,"base16"));t.push([i,f]);let u=en(i,f);if(e.push([i,u]),c.path===!0){o=u;break}}return{bytes:Uint8Array.from(r),string:_o(e),tuples:t,stringTuples:e,path:o}}function _o(r){let t=[];return r.map(e=>{let o=I(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 st(r.map(t=>{let e=I(t[0]),o=Uint8Array.from(ft(e.code));return t.length>1&&t[1]!=null&&(o=st([o,t[1]])),o}))}function Nc(r,t){if(r.size>0)return r.size/8;if(r.size===0)return 0;{let e=at(t instanceof Uint8Array?t:Uint8Array.from(t));return e+v(e)}}function on(r){return"/"+r.trim().split("/").filter(t=>t).join("/")}function Uo(r){return new Error("Error parsing address: "+r)}var Rc=Symbol.for("nodejs.util.inspect.custom"),an=Symbol.for("@multiformats/js-multiaddr/multiaddr"),Dc=[I("dns").code,I("dns4").code,I("dns6").code,I("dnsaddr").code],Ge=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=Oo(t)}else if(Mo(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=I("tcp"),c=I("udp"),a=I("ip4"),f=I("ip6"),u=I("dns6"),l=I("ip6zone");for(let[b,p]of this.stringTuples())b===l.code&&(i=`%${p??""}`),Dc.includes(b)&&(e=s.name,n=443,o=`${p??""}${i}`,t=b===u.code?6:4),(b===s.code||b===c.code)&&(e=I(b).name,n=parseInt(p??"")),(b===a.code||b===f.code)&&(e=I(b).name,o=`${p??""}${i}`,t=b===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({},I(t)))}protoCodes(){return this.#e.map(([t])=>t)}protoNames(){return this.#e.map(([t])=>I(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===jt.p2p.code&&t.push([o,n]),o===jt["p2p-circuit"].code&&(t=[])});let e=t.pop();if(e?.[1]!=null){let o=e[1];return o[0]==="Q"||o[0]==="1"?W(D.decode(`z${o}`),"base58btc"):W(H.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=Fo.get(e.name);if(o==null)throw new k(`no available resolver for ${e.name}`,"ERR_NO_AVAILABLE_RESOLVER");return(await o(this,t)).map(i=>K(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)}[Rc](){return`Multiaddr(${this.#t})`}};var Fo=new Map;function Mo(r){return!!r?.[an]}function K(r){return new Ge(r)}var kc=d("dns4"),Pc=d("dns6"),Oc=d("dnsaddr"),Mt=C(d("dns"),Oc,kc,Pc),ze=C(d("ip4"),d("ip6")),Ct=C(m(ze,d("tcp")),m(Mt,d("tcp"))),He=m(ze,d("udp")),_c=m(He,d("utp")),Uc=m(He,d("quic")),Fc=m(He,d("quic-v1")),un=C(m(Ct,d("ws")),m(Mt,d("ws"))),Ve=C(m(un,d("p2p")),un),ln=C(m(Ct,d("wss")),m(Mt,d("wss")),m(Ct,d("tls"),d("ws")),m(Mt,d("tls"),d("ws"))),$e=C(m(ln,d("p2p")),ln),dn=C(m(Ct,d("http")),m(ze,d("http")),m(Mt,d("http"))),fn=C(m(Ct,d("https")),m(ze,d("https")),m(Mt,d("https"))),Bo=m(He,d("webrtc-direct"),d("certhash")),$o=C(m(Bo,d("p2p")),Bo),Go=m(Fc,d("webtransport"),d("certhash"),d("certhash")),zo=C(m(Go,d("p2p")),Go),Ho=C(m(Ve,d("p2p-webrtc-star"),d("p2p")),m($e,d("p2p-webrtc-star"),d("p2p")),m(Ve,d("p2p-webrtc-star")),m($e,d("p2p-webrtc-star"))),Ud=C(m(Ve,d("p2p-websocket-star"),d("p2p")),m($e,d("p2p-websocket-star"),d("p2p")),m(Ve,d("p2p-websocket-star")),m($e,d("p2p-websocket-star"))),Wo=C(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=C(un,ln,dn,fn,Ho,Wo,Ct,_c,Uc,Mt,$o,zo),Fd=C(m(Bt,d("p2p-stardust"),d("p2p")),m(Bt,d("p2p-stardust"))),At=C(m(Bt,d("p2p")),Ho,Wo,$o,zo,d("p2p")),Vo=C(m(At,d("p2p-circuit"),At),m(At,d("p2p-circuit")),m(d("p2p-circuit"),At),m(Bt,d("p2p-circuit")),m(d("p2p-circuit"),Bt),d("p2p-circuit")),Ko=()=>C(m(Vo,Ko),Vo),Ft=Ko(),Md=C(m(Ft,At,Ft),m(At,Ft),m(Ft,At),Ft,At);var Bd=C(m(Ft,d("webrtc"),d("p2p")),m(Ft,d("webrtc")),m(Bt,d("webrtc"),d("p2p")),m(Bt,d("webrtc")),d("webrtc"));function Xo(r){function t(e){let o;try{o=K(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:Xo(t),partialMatch:t}}function C(...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:Xo(t),partialMatch:t}}function d(r){let t=r;function e(n){let i;try{i=K(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 jo=vt($("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 Yo(r,t){if(typeof r!="string")throw new k(`invalid ip provided: ${r}`,hn.ERR_INVALID_IP_PARAMETER);if(typeof t=="string"&&(t=parseInt(t)),isNaN(t))throw new k(`invalid port provided: ${t}`,hn.ERR_INVALID_PORT_PARAMETER);if((0,ct.isIPv4)(r))return K(`/ip4/${r}/tcp/${t}`);if((0,ct.isIPv6)(r))return K(`/ip6/${r}/tcp/${t}`);throw new k(`invalid ip:port for creating a multiaddr: ${r}:${t}`,hn.ERR_INVALID_IP)}function Qo(r){if(Gc(r))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()}}();if(Bc(r))return r;throw new Error("unknown stream")}function Bc(r){return r[Symbol.asyncIterator]!=null}function Gc(r){return typeof r?.getReader=="function"}function Jo(r){return async t=>{let e=async()=>{Vc(t)&&await t.return(void 0)},o,n,i=w=>{o=w,e().catch(E=>{E=new AggregateError([o,E],"The Writable emitted an error, additionally an error occurred while ending the Source")}).finally(()=>{n?.(w)})},s,c=!1,a=()=>{c=!0,s?.()},f,u=!1,l=()=>{u=!0,f?.()},g,b=()=>{g?.()},p=async()=>new Promise((w,E)=>{s=g=w,n=E,r.once("drain",b)}),y=async()=>(await e(),new Promise((w,E)=>{if(c||u||o!=null){w();return}f=s=w,n=E})),h=()=>{r.removeListener("error",i),r.removeListener("close",a),r.removeListener("finish",l),r.removeListener("drain",b)};r.once("error",i),r.once("close",a),r.once("finish",l);try{for await(let w of t){if(!r.writable||r.destroyed||o!=null)break;r.write(w)||await p()}}catch(w){o==null&&r.destroy(w),o=w}try{if(r.writable&&r.end(),await y(),o!=null)throw o}finally{h()}}}function Vc(r){return r.return!=null}function pn(r){return{sink:Jo(r),source:Qo(r)}}var mn=vt($("os"),1),Zo=vt($("path"),1);var $c={ip4:"IPv4",ip6:"IPv6"};function te(r,t={}){let e=r.getPath();return e!=null?mn.default.platform()==="win32"?{path:Zo.default.join("\\\\.\\pipe\\",e)}:{path:e}:{...t,...r.toOptions()}}function gn(r,t,e){let o=n=>K(`/${r}/${n}/tcp/${e}`);return(zc(t)?Wc($c[r]):[t]).map(o)}function zc(r){return["0.0.0.0","::"].includes(r)}var Hc=mn.default.networkInterfaces();function Wc(r){let t=[];for(let[,e]of Object.entries(Hc))if(e!=null)for(let o of e)o.family===r&&t.push(o.address);return t}var We=(r,t)=>{let e=null,o=t.logger.forComponent("libp2p:tcp:socket"),n=t.metrics,i=t.metricPrefix??"",s=t.socketInactivityTimeout??3e5,c=t.socketCloseTimeout??500;t.listeningAddr?.getPath()!=null&&(t.remoteAddr=t.listeningAddr),t.remoteAddr?.getPath()!=null&&(t.localAddr=t.remoteAddr);let a;if(t.remoteAddr!=null)a=t.remoteAddr;else{if(r.remoteAddress==null||r.remotePort==null)throw new k("Could not determine remote address or port","ERR_NO_REMOTE_ADDRESS");a=Yo(r.remoteAddress,r.remotePort)}let f=te(a),u=f.path??`${f.host??""}:${f.port??""}`,{sink:l,source:g}=pn(r);r.setTimeout(s,()=>{o("%s socket read timeout",u),n?.increment({[`${i}timeout`]:!0});let p;r.readable&&(p=new k("Socket read timeout","ERR_SOCKET_READ_TIMEOUT")),r.destroy(p)}),r.once("close",()=>{o("%s socket close",u),n?.increment({[`${i}close`]:!0}),b.timeline.close==null&&(b.timeline.close=Date.now())}),r.once("end",()=>{o("%s socket end",u),n?.increment({[`${i}end`]:!0})});let b={async sink(p){try{await l(async function*(){for await(let y of p)y instanceof Uint8Array?yield y:yield y.subarray()}())}catch(y){y.type!=="aborted"&&o.error("%s error in sink",u,y)}r.end()},source:g,remoteAddr:a,timeline:{open:Date.now()},async close(p={}){if(r.destroyed){o("The %s socket is destroyed",u);return}if(e!=null)return o("The %s socket is closed or closing",u),e;if(p.signal==null){let h=AbortSignal.timeout(c);p={...p,signal:h}}let y=()=>{r.destroy(new k("Destroying socket after timeout","ERR_CLOSE_TIMEOUT"))};p.signal?.addEventListener("abort",y);try{o("%s closing socket",u),e=new Promise((h,w)=>{r.once("close",()=>{o("%s socket closed",u),h()}),r.once("error",E=>{o("%s socket error",u,E),b.timeline.close==null&&(b.timeline.close=Date.now()),r.destroyed||w(E)}),r.setTimeout(c),r.end(),r.writableLength>0?r.once("drain",()=>{o("%s socket drained",u),r.destroy()}):r.destroy()}),await e}catch(h){this.abort(h)}finally{p.signal?.removeEventListener("abort",y)}},abort:p=>{o("%s socket abort due to error",u,p),r.destroyed||r.destroy(p),b.timeline.close==null&&(b.timeline.close=Date.now())},log:o};return b};async function qo(r,t){try{await r.close()}catch(e){t.log.error("an error occurred closing the connection",e),r.abort(e)}}var O;(function(r){r[r.INACTIVE=0]="INACTIVE",r[r.ACTIVE=1]="ACTIVE",r[r.PAUSED=2]="PAUSED"})(O||(O={}));var Ke=class extends Fe{context;server;connections=new Set;status={code:O.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=jo.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 k("closeAbove must be >= listenBelow","ERR_CONNECTION_LIMITS");this.server.on("listening",()=>{if(t.metrics!=null){let e=this.server.address();e==null?this.addr="unknown":typeof e=="string"?this.addr=e:this.addr=`${e.address}:${e.port}`,t.metrics?.registerMetricGroup("libp2p_tcp_inbound_connections_total",{label:"address",help:"Current active connections in TCP listener",calculate:()=>({[this.addr]:this.connections.size})}),this.metrics={status:t.metrics.registerMetricGroup("libp2p_tcp_listener_status_info",{label:"address",help:"Current status of the TCP listener socket"}),errors:t.metrics.registerMetricGroup("libp2p_tcp_listener_errors_total",{label:"address",help:"Total count of TCP listener errors by type"}),events:t.metrics.registerMetricGroup("libp2p_tcp_listener_events_total",{label:"address",help:"Total count of TCP listener events by type"})},this.metrics?.status.update({[this.addr]:O.ACTIVE})}this.safeDispatchEvent("listening")}).on("error",e=>{this.metrics?.errors.increment({[`${this.addr} listen_error`]:!0}),this.safeDispatchEvent("error",{detail:e})}).on("close",()=>{this.metrics?.status.update({[this.addr]:this.status.code}),this.status.code!==O.PAUSED&&this.safeDispatchEvent("close")})}onSocket(t){if(this.status.code!==O.ACTIVE)throw new k("Server 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=We(t,{listeningAddr:this.status.listeningAddr,socketInactivityTimeout:this.context.socketInactivityTimeout,socketCloseTimeout:this.context.socketCloseTimeout,metrics:this.metrics?.events,metricPrefix:`${this.addr} `,logger:this.context.logger})}catch(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.safeDispatchEvent("connection",{detail:o})}).catch(async o=>{this.log.error("inbound connection failed",o),this.metrics?.errors.increment({[`${this.addr} inbound_upgrade`]:!0}),await qo(e,{log:this.log})}).catch(o=>{this.log.error("closing inbound connection failed",o)})}catch(o){this.log.error("inbound connection failed",o),qo(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===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(gn("ip4",e.address,e.port)):e.family==="IPv6"&&(t=t.concat(gn("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===O.ACTIVE||this.status.code===O.PAUSED)throw new k("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:te(o,{backlog:n})},await this.resume()}catch(i){throw this.status={code:O.INACTIVE},i}}async close(){let t=new k("Listener is closing","ERR_LISTENER_CLOSING");this.connections.forEach(e=>{e.abort(t)}),await this.pause(!0)}async resume(){if(this.server.listening||this.status.code===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},this.log("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||(this.log("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=>{if(n!=null){o(n);return}e()})}))}};var yn=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"})})}[go]=!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=We(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 qt;return s}async _connect(t,e){if(e.signal?.aborted===!0)throw new qt;return new Promise((o,n)=>{let i=Date.now(),s=te(t,{...this.opts.dialOpts??{},...e});this.log("dialing %a",t);let c=ti.default.connect(s),a=b=>{let p=s.path??`${s.host??""}:${s.port}`;b.message=`connection error ${p}: ${b.message}`,this.metrics?.dialerEvents.increment({error:!0}),g(b)},f=()=>{this.log("connection timeout %a",t),this.metrics?.dialerEvents.increment({timeout:!0});let b=new k(`connection timeout after ${Date.now()-i}ms`,"ERR_CONNECT_TIMEOUT");c.emit("error",b)},u=()=>{this.log("connection opened %a",t),this.metrics?.dialerEvents.increment({connect:!0}),g()},l=()=>{this.log("connection aborted %a",t),this.metrics?.dialerEvents.increment({abort:!0}),c.destroy(),g(new qt)},g=b=>{if(c.removeListener("error",a),c.removeListener("timeout",f),c.removeListener("connect",u),e.signal!=null&&e.signal.removeEventListener("abort",l),b!=null){n(b);return}o(c)};c.on("error",a),c.on("timeout",f),c.on("connect",u),e.signal!=null&&e.signal.addEventListener("abort",l)})}createListener(t){return new Ke({...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:Ct.matches(e.decapsulateCode(421)))}};function ei(r={}){return t=>new yn(t,r)}var ni=Symbol.for("@achingbrain/uint8arraylist");function ri(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 Xe(r){return!!r?.[ni]}var tt=class r{bufs;length;[ni]=!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(Xe(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(Xe(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=ri(this.bufs,t);return e.buf[e.index]}set(t,e){let o=ri(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(Xe(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 st(o,n)}subarray(t,e){let{bufs:o,length:n}=this._subList(t,e);return o.length===1?o[0]:st(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,u=e>c&&e<=a;if(f&&u){if(t===c&&e===a){o.push(s);break}let l=t-c;o.push(s.subarray(l,l+(e-t)));break}if(f){if(t===0){o.push(s);continue}o.push(s.subarray(t-c));continue}if(u){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(!Xe(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 l=0;l<i;l++)s[l]=-1;for(let l=0;l<n;l++)s[o[l]]=l;let c=s,a=this.byteLength-o.byteLength,f=o.byteLength-1,u;for(let l=e;l<=a;l+=u){u=0;for(let g=f;g>=0;g--){let b=this.get(l+g);if(o[g]!==b){u=Math.max(1,g-c[b]);break}}if(u===0)return l}return-1}getInt8(t){let e=this.subarray(t,t+1);return new DataView(e.buffer,e.byteOffset,e.byteLength).getInt8(0)}setInt8(t,e){let o=z(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=z(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 Ye(r){return r[Symbol.asyncIterator]!=null}var Qe=r=>{let t=v(r),e=z(t);return ft(r,e),Qe.bytes=t,e};Qe.bytes=0;function Je(r,t){t=t??{};let e=t.lengthEncoder??Qe;function*o(n){let i=e(n.byteLength);i instanceof Uint8Array?yield i:yield*i,n instanceof Uint8Array?yield n:yield*n}return Ye(r)?async function*(){for await(let n of r)yield*o(n)}():function*(){for(let n of r)yield*o(n)}()}Je.single=(r,t)=>{t=t??{};let e=t.lengthEncoder??Qe;return new tt(e(r.byteLength),r)};var ee=vt(si(),1);var Yc=8,Qc=1024*1024*4,Gt;(function(r){r[r.LENGTH=0]="LENGTH",r[r.DATA=1]="DATA"})(Gt||(Gt={}));var wn=r=>{let t=at(r);return wn.bytes=v(t),t};wn.bytes=0;function bn(r,t){let e=new tt,o=Gt.LENGTH,n=-1,i=t?.lengthDecoder??wn,s=t?.maxLengthLength??Yc,c=t?.maxDataLength??Qc;function*a(){for(;e.byteLength>0;){if(o===Gt.LENGTH)try{if(n=i(e),n<0)throw(0,ee.default)(new Error("invalid message length"),"ERR_INVALID_MSG_LENGTH");if(n>c)throw(0,ee.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,ee.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 Ye(r)?async function*(){for await(let f of r)e.append(f),yield*a();if(e.byteLength>0)throw(0,ee.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,ee.default)(new Error("unexpected end of input"),"ERR_UNEXPECTED_EOF")}()}bn.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 bn(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 Ze=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 ci(r,t,e){if(t==null)return r;if(t.aborted)return Promise.reject(new Ze(e?.errorMessage,e?.errorCode));let o,n=new Ze(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 En=class{readNext;haveNext;ended;nextResult;constructor(){this.ended=!1,this.readNext=gt(),this.haveNext=gt()}[Symbol.asyncIterator](){return this}async next(){if(this.nextResult==null&&await this.haveNext.promise,this.nextResult==null)throw new Error("HaveNext promise resolved but nextResult was undefined");let t=this.nextResult;return this.nextResult=void 0,this.readNext.resolve(),this.readNext=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");if(this.nextResult!=null&&(await this.readNext.promise,this.nextResult!=null))throw new Error("NeedNext promise resolved but nextResult was not consumed");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 ci(this.readNext.promise,e?.signal,e)}};function ai(){return new En}var qe=class extends Error{code;constructor(t,e){super(t),this.code=e}},xn=class extends qe{type;constructor(t){super(t,"ABORT_ERR"),this.type="aborted"}};function ui(r,t){let e=ai();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 tt;return{read:async(s,c)=>{c?.signal?.throwIfAborted();let a,f=new Promise((u,l)=>{a=()=>{l(new xn("Read aborted"))},c?.signal?.addEventListener("abort",a)});try{if(s==null){let{done:l,value:g}=await Promise.race([o.next(),f]);return l===!0?new tt:g}for(;n.byteLength<s;){let{value:l,done:g}=await Promise.race([o.next(),f]);if(g===!0)throw new qe("unexpected end of input","ERR_UNEXPECTED_EOF");n.append(l)}let u=n.sublist(0,s);return n.consume(s),u}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 je=class extends Error{code;constructor(t,e){super(t),this.code=e}};function re(r,t={}){let e=ui(r,t);t.maxDataLength!=null&&t.maxLengthLength==null&&(t.maxLengthLength=v(t.maxDataLength));let o=t?.lengthDecoder??at,n=t?.lengthEncoder??ft;return{read:async s=>{let c=-1,a=new tt;for(;;){a.append(await e.read(1,s));try{c=o(a)}catch(f){if(f instanceof RangeError)continue;throw f}if(t?.maxLengthLength!=null&&a.byteLength>t.maxLengthLength)throw new je("message length length too long","ERR_MSG_LENGTH_TOO_LONG");if(c>-1)break}if(t?.maxDataLength!=null&&c>t.maxDataLength)throw new je("message length too long","ERR_MSG_DATA_TOO_LONG");return e.read(c,s)},write:async(s,c)=>{await e.write(new tt(n(s.byteLength),s),c)},writeV:async(s,c)=>{let a=new tt(...s.flatMap(f=>[n(f.byteLength),f]));await e.write(a,c)},unwrap:()=>e.unwrap()}}var tr=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}},ne=class{size;hwm;head;tail;constructor(t={}){this.hwm=t.splitLimit??16,this.head=new tr(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 tr(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 In=class extends Error{type;code;constructor(t,e){super(t??"The operation was aborted"),this.type="aborted",this.code=e??"ABORT_ERR"}};function oe(r={}){return Zc(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 Zc(r,t){t=t??{};let e=t.onEnd,o=new ne,n,i,s,c=gt(),a=async()=>{try{return o.isEmpty()?s?{done:!0}:await new Promise((h,w)=>{i=E=>{i=null,o.push(E);try{h(r(o))}catch(R){w(R)}return n}}):r(o)}finally{o.isEmpty()&&queueMicrotask(()=>{c.resolve(),c=gt()})}},f=h=>i!=null?i(h):(o.push(h),n),u=h=>(o=new ne,i!=null?i({error:h}):(o.push({error:h}),n)),l=h=>{if(s)return n;if(t?.objectMode!==!0&&h?.byteLength==null)throw new Error("objectMode was not true but tried to push non-Uint8Array value");return f({done:!1,value:h})},g=h=>s?n:(s=!0,h!=null?u(h):f({done:!0})),b=()=>(o=new ne,g(),{done:!0}),p=h=>(g(h),{done:!0});if(n={[Symbol.asyncIterator](){return this},next:a,return:b,throw:p,push:l,end:g,get readableLength(){return o.size},onEmpty:async h=>{let w=h?.signal;if(w?.throwIfAborted(),o.isEmpty())return;let E,R;w!=null&&(E=new Promise((P,Y)=>{R=()=>{Y(new In)},w.addEventListener("abort",R)}));try{await Promise.race([c.promise,E])}finally{R!=null&&w!=null&&w?.removeEventListener("abort",R)}}},e==null)return n;let y=n;return n={[Symbol.asyncIterator](){return this},next(){return y.next()},throw(h){return y.throw(h),e!=null&&(e(h),e=void 0),{done:!0}},return(){return y.return(),e!=null&&(e(),e=void 0),{done:!0}},push:l,end(h){return y.end(h),e!=null&&(e(h),e=void 0),n},get readableLength(){return y.readableLength},onEmpty:h=>y.onEmpty(h)},n}function qc(r){return r[Symbol.asyncIterator]!=null}function jc(...r){let t=[];for(let e of r)qc(e)||t.push(e);return t.length===r.length?function*(){for(let e of t)yield*e}():async function*(){let e=oe({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 li=jc;function Cn(r,...t){if(r==null)throw new Error("Empty pipeline");if(An(r)){let o=r;r=()=>o.source}else if(fi(r)||di(r)){let o=r;r=()=>o}let e=[r,...t];if(e.length>1&&An(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++)An(e[o])&&(e[o]=ea(e[o]));return ta(...e)}var ta=(...r)=>{let t;for(;r.length>0;)t=r.shift()(t);return t},di=r=>r?.[Symbol.asyncIterator]!=null,fi=r=>r?.[Symbol.iterator]!=null,An=r=>r==null?!1:r.sink!=null&&r.source!=null,ea=r=>t=>{let e=r.sink(t);if(e?.then!=null){let o=oe({objectMode:!0});e.then(()=>{o.end()},s=>{o.end(s)});let n,i=r.source;if(di(i))n=async function*(){yield*i,o.end()};else if(fi(i))n=function*(){yield*i,o.end()};else throw new Error("Unknown duplex source type - must be Iterable or AsyncIterable");return li(o,n())}return r.source};function hi(r,t){let e=re(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 ra(r){return r[Symbol.asyncIterator]!=null}function na(r){if(ra(r))return(async()=>{for await(let t of r);})();for(let t of r);}var vn=na;function X(r){return N.encode({type:N.Type.OK,peers:[],...r}).subarray()}function G(r){return N.encode({type:N.Type.ERROR,error:{msg:r.message},peers:[]}).subarray()}var er=Ot("libp2p:daemon-server:dht"),rr=class{dht;constructor(t){let{dht:e}=t;this.dht=e}async*provide(t){try{await vn(this.dht.provide(t)),yield X()}catch(e){er.error(e),yield G(e)}}async*getClosestPeers(t){yield X({dht:{type:_.Type.BEGIN}});for await(let e of this.dht.getClosestPeers(t))e.name==="PEER_RESPONSE"&&(yield*e.closer.map(o=>_.encode({type:_.Type.VALUE,value:o.id.toBytes()})));yield _.encode({type:_.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:_.Type.VALUE,value:e.value}}))}catch(e){er.error(e),yield G(e)}}async*putValue(t,e){try{await vn(this.dht.put(t,e)),yield X()}catch(o){er.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:_.Type.VALUE,peer:{id:e.peer.id.toBytes(),addrs:e.peer.multiaddrs.map(o=>o.bytes)}}}));throw new Error("Peer not found")}catch(e){er.error(e),yield G(e)}}async*findProviders(t,e){yield X({dht:{type:_.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 _.encode({type:_.Type.VALUE,peer:{id:s.id.toBytes(),addrs:(s.multiaddrs??[]).map(c=>c.bytes)}});if(o===n)break}}catch(o){yield G(o)}yield _.encode({type:_.Type.END})}};var nr=Ot("libp2p:daemon-server:pubsub"),or=class{pubsub;constructor(t){let{pubsub:e}=t;this.pubsub=e}async*getTopics(){try{yield X({pubsub:{topics:this.pubsub.getTopics(),peerIDs:[]}})}catch(t){nr.error(t),yield G(t)}}async*subscribe(t){try{let e=oe();this.pubsub.subscribe(t),this.pubsub.addEventListener("message",o=>{let n=o.detail;n.topic===t&&(n.type==="signed"?e.push(de.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(de.encode({data:n.data,topicIDs:[n.topic]}).subarray()))}),yield X(),yield*e}catch(e){nr.error(e),yield G(e)}}async*publish(t,e){try{await this.pubsub.publish(t,e),yield X()}catch(o){nr.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){nr.error(e),yield G(e)}}};var oa=1<<22,V=Ot("libp2p:daemon-server"),ir=class{multiaddr;libp2p;tcp;listener;dhtOperations;pubsubOperations;constructor(t){let{multiaddr:e,libp2pNode:o}=t;this.multiaddr=e,this.libp2p=o,this.tcp=ei()({logger:ho()}),this.listener=this.tcp.createListener({handler:this.handleConnection.bind(this),upgrader:Xr}),this._onExit=this._onExit.bind(this),o.services.dht!=null&&(this.dhtOperations=new rr({dht:o.services.dht})),o.services.pubsub!=null&&(this.pubsubOperations=new or({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=>K(i)),n=Ut(e);return V("connect - adding multiaddrs %a to peer %p",o,n),await this.libp2p.peerStore.merge(n,{multiaddrs:o}),V("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);V("openStream - dial %p",n);let i=await this.libp2p.dial(n);V("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=K(t.streamHandler.addr),n;V("registerStreamHandler - handle %s",e),await this.libp2p.handle(e,({connection:i,stream:s})=>{Promise.resolve().then(async()=>{n=await this.tcp.dial(o,{upgrader:Xr});let c=Xt.encode({peer:i.remotePeer.toBytes(),addr:i.remoteAddr.bytes,proto:s.protocol??""}),a=Je.single(c);await Cn(async function*(){yield a,yield*s.source}(),async function*(f){for await(let u of f)yield*u},n,s.sink)}).catch(async c=>{V.error(c),n!=null&&await n.close(c)}).finally(()=>{n?.close().catch(c=>{V.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=>{V.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&&V("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 kt.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 kt.Type.GET_PEER_INFO:throw new Error("ERR_NOT_IMPLEMENTED");default:throw new Error("ERR_INVALID_REQUEST_TYPE")}}catch(e){V.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){V.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 it.Type.FIND_PEER:if(t.peer==null)throw new Error("Invalid request");yield*this.dhtOperations.findPeer(Ut(t.peer));return;case it.Type.FIND_PROVIDERS:if(t.cid==null)throw new Error("Invalid request");yield*this.dhtOperations.findProviders(H.decode(t.cid),t.count??20);return;case it.Type.PROVIDE:if(t.cid==null)throw new Error("Invalid request");yield*this.dhtOperations.provide(H.decode(t.cid));return;case it.Type.GET_CLOSEST_PEERS:if(t.key==null)throw new Error("Invalid request");yield*this.dhtOperations.getClosestPeers(t.key);return;case it.Type.GET_PUBLIC_KEY:if(t.peer==null)throw new Error("Invalid request");yield*this.dhtOperations.getPublicKey(Ut(t.peer));return;case it.Type.GET_VALUE:if(t.key==null)throw new Error("Invalid request");yield*this.dhtOperations.getValue(t.key);return;case it.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){V.error(e),yield G(e)}}handleConnection(t){Promise.resolve().then(async()=>{let e=this,o=hi(t,{maxDataLength:oa}),n=await o.read(ot);V("read",n);try{switch(n.type){case ot.Type.CONNECT:{await e.connect(n),await o.write({type:N.Type.OK},N);break}case ot.Type.IDENTIFY:{await o.write({type:N.Type.OK,identify:{id:e.libp2p.peerId.toBytes(),addrs:e.libp2p.getMultiaddrs().map(i=>i.decapsulateCode(I("p2p").code)).map(i=>i.bytes)}},N);break}case ot.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:N.Type.OK,peers:i},N);break}case ot.Type.STREAM_OPEN:{let i=await e.openStream(n);await o.write({type:N.Type.OK,streamInfo:i.streamInfo},N);let s=o.unwrap();await Cn(s,i.connection,s);break}case ot.Type.STREAM_HANDLER:{await e.registerStreamHandler(n),await o.write({type:N.Type.OK},N);break}case ot.Type.PEERSTORE:{if(n.peerStore==null)throw new Error("ERR_INVALID_REQUEST");let i=o.unwrap(),s=re(i);for await(let c of e.handlePeerStoreRequest(n.peerStore))await s.write(c);break}case ot.Type.PUBSUB:{if(n.pubsub==null)throw new Error("ERR_INVALID_REQUEST");let i=o.unwrap(),s=re(i);for await(let c of e.handlePubsubRequest(n.pubsub))await s.write(c);break}case ot.Type.DHT:{if(n.dht==null)throw new Error("ERR_INVALID_REQUEST");let i=o.unwrap(),s=re(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){V.error(i),await o.write({type:N.Type.ERROR,error:{msg:i.message},peers:[]},N)}finally{await o.unwrap().close()}}).catch(e=>{V.error("error handling incoming connection",e)})}},ia=(r,t)=>new ir({multiaddr:r,libp2pNode:t});return wi(sa);})();
7
7
  return Libp2PDaemonServer}));
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@libp2p/daemon-server",
3
- "version": "7.0.3",
3
+ "version": "7.0.5",
4
4
  "description": "API server for libp2p-daemon instances",
5
5
  "license": "Apache-2.0 OR MIT",
6
6
  "homepage": "https://github.com/libp2p/js-libp2p-daemon/tree/main/packages/libp2p-daemon-server#readme",
@@ -49,10 +49,10 @@
49
49
  "test:node": "aegir test -t node"
50
50
  },
51
51
  "dependencies": {
52
- "@chainsafe/libp2p-gossipsub": "^11.2.1",
52
+ "@chainsafe/libp2p-gossipsub": "^13.0.0",
53
53
  "@libp2p/daemon-protocol": "^6.0.0",
54
54
  "@libp2p/interface": "^1.1.2",
55
- "@libp2p/kad-dht": "^11.0.8",
55
+ "@libp2p/kad-dht": "^12.0.5",
56
56
  "@libp2p/logger": "^4.0.5",
57
57
  "@libp2p/peer-id": "^4.0.5",
58
58
  "@libp2p/tcp": "^9.0.13",
@@ -64,7 +64,7 @@
64
64
  "it-protobuf-stream": "^1.1.2",
65
65
  "it-pushable": "^3.2.3",
66
66
  "multiformats": "^13.0.1",
67
- "uint8arrays": "^4.0.10"
67
+ "uint8arrays": "^5.0.1"
68
68
  },
69
69
  "devDependencies": {
70
70
  "aegir": "^42.2.3",