@helia/http 1.0.9 → 1.0.10-ac4bdb8
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/README.md +1 -1
- package/dist/index.min.js +13 -13
- package/package.json +7 -7
- package/dist/typedoc-urls.json +0 -6
package/dist/index.min.js
CHANGED
|
@@ -1,22 +1,22 @@
|
|
|
1
1
|
(function (root, factory) {(typeof module === 'object' && module.exports) ? module.exports = factory() : root.HeliaHttp = factory()}(typeof self !== 'undefined' ? self : this, function () {
|
|
2
|
-
"use strict";var HeliaHttp=(()=>{var im=Object.create;var ts=Object.defineProperty;var am=Object.getOwnPropertyDescriptor;var cm=Object.getOwnPropertyNames;var um=Object.getPrototypeOf,lm=Object.prototype.hasOwnProperty;var ye=(r,t)=>()=>(t||r((t={exports:{}}).exports,t),t.exports),vt=(r,t)=>{for(var e in t)ts(r,e,{get:t[e],enumerable:!0})},xl=(r,t,e,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of cm(t))!lm.call(r,o)&&o!==e&&ts(r,o,{get:()=>t[o],enumerable:!(n=am(t,o))||n.enumerable});return r};var Jt=(r,t,e)=>(e=r!=null?im(um(r)):{},xl(t||!r||!r.__esModule?ts(e,"default",{value:r,enumerable:!0}):e,r)),fm=r=>xl(ts({},"__esModule",{value:!0}),r);var sn=ye((pE,Rl)=>{"use strict";function Il(r,t){for(let e in t)Object.defineProperty(r,e,{value:t[e],enumerable:!0,configurable:!0});return r}function vm(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 Il(r,e)}catch{e.message=r.message,e.stack=r.stack;let o=function(){};return o.prototype=Object.create(Object.getPrototypeOf(r)),Il(new o,e)}}Rl.exports=vm});var Of=ye(Ln=>{"use strict";var Jy="[object ArrayBuffer]",tr=class r{static isArrayBuffer(t){return Object.prototype.toString.call(t)===Jy}static toArrayBuffer(t){return this.isArrayBuffer(t)?t:t.byteLength===t.buffer.byteLength||t.byteOffset===0&&t.byteLength===t.buffer.byteLength?t.buffer:this.toUint8Array(t.buffer).slice(t.byteOffset,t.byteOffset+t.byteLength).buffer}static toUint8Array(t){return this.toView(t,Uint8Array)}static toView(t,e){if(t.constructor===e)return t;if(this.isArrayBuffer(t))return new e(t);if(this.isArrayBufferView(t))return new e(t.buffer,t.byteOffset,t.byteLength);throw new TypeError("The provided value is not of type '(ArrayBuffer or ArrayBufferView)'")}static isBufferSource(t){return this.isArrayBufferView(t)||this.isArrayBuffer(t)}static isArrayBufferView(t){return ArrayBuffer.isView(t)||t&&this.isArrayBuffer(t.buffer)}static isEqual(t,e){let n=r.toUint8Array(t),o=r.toUint8Array(e);if(n.length!==o.byteLength)return!1;for(let s=0;s<n.length;s++)if(n[s]!==o[s])return!1;return!0}static concat(...t){let e;Array.isArray(t[0])&&!(t[1]instanceof Function)||Array.isArray(t[0])&&t[1]instanceof Function?e=t[0]:t[t.length-1]instanceof Function?e=t.slice(0,t.length-1):e=t;let n=0;for(let i of e)n+=i.byteLength;let o=new Uint8Array(n),s=0;for(let i of e){let a=this.toUint8Array(i);o.set(a,s),s+=a.length}return t[t.length-1]instanceof Function?this.toView(o,t[t.length-1]):o.buffer}},Oc="string",Xy=/^[0-9a-f]+$/i,Qy=/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/,tw=/^[a-zA-Z0-9-_]+$/,Cs=class{static fromString(t){let e=unescape(encodeURIComponent(t)),n=new Uint8Array(e.length);for(let o=0;o<e.length;o++)n[o]=e.charCodeAt(o);return n.buffer}static toString(t){let e=tr.toUint8Array(t),n="";for(let s=0;s<e.length;s++)n+=String.fromCharCode(e[s]);return decodeURIComponent(escape(n))}},he=class{static toString(t,e=!1){let n=tr.toArrayBuffer(t),o=new DataView(n),s="";for(let i=0;i<n.byteLength;i+=2){let a=o.getUint16(i,e);s+=String.fromCharCode(a)}return s}static fromString(t,e=!1){let n=new ArrayBuffer(t.length*2),o=new DataView(n);for(let s=0;s<t.length;s++)o.setUint16(s*2,t.charCodeAt(s),e);return n}},Ns=class r{static isHex(t){return typeof t===Oc&&Xy.test(t)}static isBase64(t){return typeof t===Oc&&Qy.test(t)}static isBase64Url(t){return typeof t===Oc&&tw.test(t)}static ToString(t,e="utf8"){let n=tr.toUint8Array(t);switch(e.toLowerCase()){case"utf8":return this.ToUtf8String(n);case"binary":return this.ToBinary(n);case"hex":return this.ToHex(n);case"base64":return this.ToBase64(n);case"base64url":return this.ToBase64Url(n);case"utf16le":return he.toString(n,!0);case"utf16":case"utf16be":return he.toString(n);default:throw new Error(`Unknown type of encoding '${e}'`)}}static FromString(t,e="utf8"){if(!t)return new ArrayBuffer(0);switch(e.toLowerCase()){case"utf8":return this.FromUtf8String(t);case"binary":return this.FromBinary(t);case"hex":return this.FromHex(t);case"base64":return this.FromBase64(t);case"base64url":return this.FromBase64Url(t);case"utf16le":return he.fromString(t,!0);case"utf16":case"utf16be":return he.fromString(t);default:throw new Error(`Unknown type of encoding '${e}'`)}}static ToBase64(t){let e=tr.toUint8Array(t);if(typeof btoa<"u"){let n=this.ToString(e,"binary");return btoa(n)}else return Buffer.from(e).toString("base64")}static FromBase64(t){let e=this.formatString(t);if(!e)return new ArrayBuffer(0);if(!r.isBase64(e))throw new TypeError("Argument 'base64Text' is not Base64 encoded");return typeof atob<"u"?this.FromBinary(atob(e)):new Uint8Array(Buffer.from(e,"base64")).buffer}static FromBase64Url(t){let e=this.formatString(t);if(!e)return new ArrayBuffer(0);if(!r.isBase64Url(e))throw new TypeError("Argument 'base64url' is not Base64Url encoded");return this.FromBase64(this.Base64Padding(e.replace(/\-/g,"+").replace(/\_/g,"/")))}static ToBase64Url(t){return this.ToBase64(t).replace(/\+/g,"-").replace(/\//g,"_").replace(/\=/g,"")}static FromUtf8String(t,e=r.DEFAULT_UTF8_ENCODING){switch(e){case"ascii":return this.FromBinary(t);case"utf8":return Cs.fromString(t);case"utf16":case"utf16be":return he.fromString(t);case"utf16le":case"usc2":return he.fromString(t,!0);default:throw new Error(`Unknown type of encoding '${e}'`)}}static ToUtf8String(t,e=r.DEFAULT_UTF8_ENCODING){switch(e){case"ascii":return this.ToBinary(t);case"utf8":return Cs.toString(t);case"utf16":case"utf16be":return he.toString(t);case"utf16le":case"usc2":return he.toString(t,!0);default:throw new Error(`Unknown type of encoding '${e}'`)}}static FromBinary(t){let e=t.length,n=new Uint8Array(e);for(let o=0;o<e;o++)n[o]=t.charCodeAt(o);return n.buffer}static ToBinary(t){let e=tr.toUint8Array(t),n="";for(let o=0;o<e.length;o++)n+=String.fromCharCode(e[o]);return n}static ToHex(t){let e=tr.toUint8Array(t),n="",o=e.length;for(let s=0;s<o;s++){let i=e[s];i<16&&(n+="0"),n+=i.toString(16)}return n}static FromHex(t){let e=this.formatString(t);if(!e)return new ArrayBuffer(0);if(!r.isHex(e))throw new TypeError("Argument 'hexString' is not HEX encoded");e.length%2&&(e=`0${e}`);let n=new Uint8Array(e.length/2);for(let o=0;o<e.length;o=o+2){let s=e.slice(o,o+2);n[o/2]=parseInt(s,16)}return n.buffer}static ToUtf16String(t,e=!1){return he.toString(t,e)}static FromUtf16String(t,e=!1){return he.fromString(t,e)}static Base64Padding(t){let e=4-t.length%4;if(e<4)for(let n=0;n<e;n++)t+="=";return t}static formatString(t){return t?.replace(/[\n\r\t ]/g,"")||""}};Ns.DEFAULT_UTF8_ENCODING="utf8";function ew(r,...t){let e=arguments[0];for(let n=1;n<arguments.length;n++){let o=arguments[n];for(let s in o)e[s]=o[s]}return e}function rw(...r){let t=r.map(o=>o.byteLength).reduce((o,s)=>o+s),e=new Uint8Array(t),n=0;return r.map(o=>new Uint8Array(o)).forEach(o=>{for(let s of o)e[n++]=s}),e.buffer}function nw(r,t){if(!(r&&t)||r.byteLength!==t.byteLength)return!1;let e=new Uint8Array(r),n=new Uint8Array(t);for(let o=0;o<r.byteLength;o++)if(e[o]!==n[o])return!1;return!0}Ln.BufferSourceConverter=tr;Ln.Convert=Ns;Ln.assign=ew;Ln.combine=rw;Ln.isEqual=nw});var Hh=ye((Lo,Ei)=>{(function(r,t){"use strict";var e={version:"3.0.0",x86:{},x64:{},inputValidation:!0};function n(h){if(!Array.isArray(h)&&!ArrayBuffer.isView(h))return!1;for(var p=0;p<h.length;p++)if(!Number.isInteger(h[p])||h[p]<0||h[p]>255)return!1;return!0}function o(h,p){return(h&65535)*p+(((h>>>16)*p&65535)<<16)}function s(h,p){return h<<p|h>>>32-p}function i(h){return h^=h>>>16,h=o(h,2246822507),h^=h>>>13,h=o(h,3266489909),h^=h>>>16,h}function a(h,p){h=[h[0]>>>16,h[0]&65535,h[1]>>>16,h[1]&65535],p=[p[0]>>>16,p[0]&65535,p[1]>>>16,p[1]&65535];var d=[0,0,0,0];return d[3]+=h[3]+p[3],d[2]+=d[3]>>>16,d[3]&=65535,d[2]+=h[2]+p[2],d[1]+=d[2]>>>16,d[2]&=65535,d[1]+=h[1]+p[1],d[0]+=d[1]>>>16,d[1]&=65535,d[0]+=h[0]+p[0],d[0]&=65535,[d[0]<<16|d[1],d[2]<<16|d[3]]}function c(h,p){h=[h[0]>>>16,h[0]&65535,h[1]>>>16,h[1]&65535],p=[p[0]>>>16,p[0]&65535,p[1]>>>16,p[1]&65535];var d=[0,0,0,0];return d[3]+=h[3]*p[3],d[2]+=d[3]>>>16,d[3]&=65535,d[2]+=h[2]*p[3],d[1]+=d[2]>>>16,d[2]&=65535,d[2]+=h[3]*p[2],d[1]+=d[2]>>>16,d[2]&=65535,d[1]+=h[1]*p[3],d[0]+=d[1]>>>16,d[1]&=65535,d[1]+=h[2]*p[2],d[0]+=d[1]>>>16,d[1]&=65535,d[1]+=h[3]*p[1],d[0]+=d[1]>>>16,d[1]&=65535,d[0]+=h[0]*p[3]+h[1]*p[2]+h[2]*p[1]+h[3]*p[0],d[0]&=65535,[d[0]<<16|d[1],d[2]<<16|d[3]]}function u(h,p){return p%=64,p===32?[h[1],h[0]]:p<32?[h[0]<<p|h[1]>>>32-p,h[1]<<p|h[0]>>>32-p]:(p-=32,[h[1]<<p|h[0]>>>32-p,h[0]<<p|h[1]>>>32-p])}function f(h,p){return p%=64,p===0?h:p<32?[h[0]<<p|h[1]>>>32-p,h[1]<<p]:[h[1]<<p-32,0]}function l(h,p){return[h[0]^p[0],h[1]^p[1]]}function m(h){return h=l(h,[0,h[0]>>>1]),h=c(h,[4283543511,3981806797]),h=l(h,[0,h[0]>>>1]),h=c(h,[3301882366,444984403]),h=l(h,[0,h[0]>>>1]),h}e.x86.hash32=function(h,p){if(e.inputValidation&&!n(h))return t;p=p||0;for(var d=h.length%4,w=h.length-d,g=p,x=0,b=3432918353,B=461845907,A=0;A<w;A=A+4)x=h[A]|h[A+1]<<8|h[A+2]<<16|h[A+3]<<24,x=o(x,b),x=s(x,15),x=o(x,B),g^=x,g=s(g,13),g=o(g,5)+3864292196;switch(x=0,d){case 3:x^=h[A+2]<<16;case 2:x^=h[A+1]<<8;case 1:x^=h[A],x=o(x,b),x=s(x,15),x=o(x,B),g^=x}return g^=h.length,g=i(g),g>>>0},e.x86.hash128=function(h,p){if(e.inputValidation&&!n(h))return t;p=p||0;for(var d=h.length%16,w=h.length-d,g=p,x=p,b=p,B=p,A=0,I=0,v=0,E=0,U=597399067,P=2869860233,N=951274213,M=2716044179,C=0;C<w;C=C+16)A=h[C]|h[C+1]<<8|h[C+2]<<16|h[C+3]<<24,I=h[C+4]|h[C+5]<<8|h[C+6]<<16|h[C+7]<<24,v=h[C+8]|h[C+9]<<8|h[C+10]<<16|h[C+11]<<24,E=h[C+12]|h[C+13]<<8|h[C+14]<<16|h[C+15]<<24,A=o(A,U),A=s(A,15),A=o(A,P),g^=A,g=s(g,19),g+=x,g=o(g,5)+1444728091,I=o(I,P),I=s(I,16),I=o(I,N),x^=I,x=s(x,17),x+=b,x=o(x,5)+197830471,v=o(v,N),v=s(v,17),v=o(v,M),b^=v,b=s(b,15),b+=B,b=o(b,5)+2530024501,E=o(E,M),E=s(E,18),E=o(E,U),B^=E,B=s(B,13),B+=g,B=o(B,5)+850148119;switch(A=0,I=0,v=0,E=0,d){case 15:E^=h[C+14]<<16;case 14:E^=h[C+13]<<8;case 13:E^=h[C+12],E=o(E,M),E=s(E,18),E=o(E,U),B^=E;case 12:v^=h[C+11]<<24;case 11:v^=h[C+10]<<16;case 10:v^=h[C+9]<<8;case 9:v^=h[C+8],v=o(v,N),v=s(v,17),v=o(v,M),b^=v;case 8:I^=h[C+7]<<24;case 7:I^=h[C+6]<<16;case 6:I^=h[C+5]<<8;case 5:I^=h[C+4],I=o(I,P),I=s(I,16),I=o(I,N),x^=I;case 4:A^=h[C+3]<<24;case 3:A^=h[C+2]<<16;case 2:A^=h[C+1]<<8;case 1:A^=h[C],A=o(A,U),A=s(A,15),A=o(A,P),g^=A}return g^=h.length,x^=h.length,b^=h.length,B^=h.length,g+=x,g+=b,g+=B,x+=g,b+=g,B+=g,g=i(g),x=i(x),b=i(b),B=i(B),g+=x,g+=b,g+=B,x+=g,b+=g,B+=g,("00000000"+(g>>>0).toString(16)).slice(-8)+("00000000"+(x>>>0).toString(16)).slice(-8)+("00000000"+(b>>>0).toString(16)).slice(-8)+("00000000"+(B>>>0).toString(16)).slice(-8)},e.x64.hash128=function(h,p){if(e.inputValidation&&!n(h))return t;p=p||0;for(var d=h.length%16,w=h.length-d,g=[0,p],x=[0,p],b=[0,0],B=[0,0],A=[2277735313,289559509],I=[1291169091,658871167],v=0;v<w;v=v+16)b=[h[v+4]|h[v+5]<<8|h[v+6]<<16|h[v+7]<<24,h[v]|h[v+1]<<8|h[v+2]<<16|h[v+3]<<24],B=[h[v+12]|h[v+13]<<8|h[v+14]<<16|h[v+15]<<24,h[v+8]|h[v+9]<<8|h[v+10]<<16|h[v+11]<<24],b=c(b,A),b=u(b,31),b=c(b,I),g=l(g,b),g=u(g,27),g=a(g,x),g=a(c(g,[0,5]),[0,1390208809]),B=c(B,I),B=u(B,33),B=c(B,A),x=l(x,B),x=u(x,31),x=a(x,g),x=a(c(x,[0,5]),[0,944331445]);switch(b=[0,0],B=[0,0],d){case 15:B=l(B,f([0,h[v+14]],48));case 14:B=l(B,f([0,h[v+13]],40));case 13:B=l(B,f([0,h[v+12]],32));case 12:B=l(B,f([0,h[v+11]],24));case 11:B=l(B,f([0,h[v+10]],16));case 10:B=l(B,f([0,h[v+9]],8));case 9:B=l(B,[0,h[v+8]]),B=c(B,I),B=u(B,33),B=c(B,A),x=l(x,B);case 8:b=l(b,f([0,h[v+7]],56));case 7:b=l(b,f([0,h[v+6]],48));case 6:b=l(b,f([0,h[v+5]],40));case 5:b=l(b,f([0,h[v+4]],32));case 4:b=l(b,f([0,h[v+3]],24));case 3:b=l(b,f([0,h[v+2]],16));case 2:b=l(b,f([0,h[v+1]],8));case 1:b=l(b,[0,h[v]]),b=c(b,A),b=u(b,31),b=c(b,I),g=l(g,b)}return g=l(g,[0,h.length]),x=l(x,[0,h.length]),g=a(g,x),x=a(x,g),g=m(g),x=m(x),g=a(g,x),x=a(x,g),("00000000"+(g[0]>>>0).toString(16)).slice(-8)+("00000000"+(g[1]>>>0).toString(16)).slice(-8)+("00000000"+(x[0]>>>0).toString(16)).slice(-8)+("00000000"+(x[1]>>>0).toString(16)).slice(-8)},typeof Lo<"u"?(typeof Ei<"u"&&Ei.exports&&(Lo=Ei.exports=e),Lo.murmurHash3=e):typeof define=="function"&&define.amd?define([],function(){return e}):(e._murmurHash3=r.murmurHash3,e.noConflict=function(){return r.murmurHash3=e._murmurHash3,e._murmurHash3=t,e.noConflict=t,e},r.murmurHash3=e)})(Lo)});var qh=ye((y8,Kh)=>{Kh.exports=Hh()});var jh=ye((w8,zh)=>{var Fn=1e3,Vn=Fn*60,Mn=Vn*60,Jr=Mn*24,Ow=Jr*7,Fw=Jr*365.25;zh.exports=function(r,t){t=t||{};var e=typeof r;if(e==="string"&&r.length>0)return Vw(r);if(e==="number"&&isFinite(r))return t.long?$w(r):Mw(r);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(r))};function Vw(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]),n=(t[2]||"ms").toLowerCase();switch(n){case"years":case"year":case"yrs":case"yr":case"y":return e*Fw;case"weeks":case"week":case"w":return e*Ow;case"days":case"day":case"d":return e*Jr;case"hours":case"hour":case"hrs":case"hr":case"h":return e*Mn;case"minutes":case"minute":case"mins":case"min":case"m":return e*Vn;case"seconds":case"second":case"secs":case"sec":case"s":return e*Fn;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return e;default:return}}}}function Mw(r){var t=Math.abs(r);return t>=Jr?Math.round(r/Jr)+"d":t>=Mn?Math.round(r/Mn)+"h":t>=Vn?Math.round(r/Vn)+"m":t>=Fn?Math.round(r/Fn)+"s":r+"ms"}function $w(r){var t=Math.abs(r);return t>=Jr?vi(r,t,Jr,"day"):t>=Mn?vi(r,t,Mn,"hour"):t>=Vn?vi(r,t,Vn,"minute"):t>=Fn?vi(r,t,Fn,"second"):r+" ms"}function vi(r,t,e,n){var o=t>=e*1.5;return Math.round(r/e)+" "+n+(o?"s":"")}});var Wh=ye((b8,Gh)=>{function Hw(r){e.debug=e,e.default=e,e.coerce=c,e.disable=s,e.enable=o,e.enabled=i,e.humanize=jh(),e.destroy=u,Object.keys(r).forEach(f=>{e[f]=r[f]}),e.names=[],e.skips=[],e.formatters={};function t(f){let l=0;for(let m=0;m<f.length;m++)l=(l<<5)-l+f.charCodeAt(m),l|=0;return e.colors[Math.abs(l)%e.colors.length]}e.selectColor=t;function e(f){let l,m=null,h,p;function d(...w){if(!d.enabled)return;let g=d,x=Number(new Date),b=x-(l||x);g.diff=b,g.prev=l,g.curr=x,l=x,w[0]=e.coerce(w[0]),typeof w[0]!="string"&&w.unshift("%O");let B=0;w[0]=w[0].replace(/%([a-zA-Z%])/g,(I,v)=>{if(I==="%%")return"%";B++;let E=e.formatters[v];if(typeof E=="function"){let U=w[B];I=E.call(g,U),w.splice(B,1),B--}return I}),e.formatArgs.call(g,w),(g.log||e.log).apply(g,w)}return d.namespace=f,d.useColors=e.useColors(),d.color=e.selectColor(f),d.extend=n,d.destroy=e.destroy,Object.defineProperty(d,"enabled",{enumerable:!0,configurable:!1,get:()=>m!==null?m:(h!==e.namespaces&&(h=e.namespaces,p=e.enabled(f)),p),set:w=>{m=w}}),typeof e.init=="function"&&e.init(d),d}function n(f,l){let m=e(this.namespace+(typeof l>"u"?":":l)+f);return m.log=this.log,m}function o(f){e.save(f),e.namespaces=f,e.names=[],e.skips=[];let l,m=(typeof f=="string"?f:"").split(/[\s,]+/),h=m.length;for(l=0;l<h;l++)m[l]&&(f=m[l].replace(/\*/g,".*?"),f[0]==="-"?e.skips.push(new RegExp("^"+f.slice(1)+"$")):e.names.push(new RegExp("^"+f+"$")))}function s(){let f=[...e.names.map(a),...e.skips.map(a).map(l=>"-"+l)].join(",");return e.enable(""),f}function i(f){if(f[f.length-1]==="*")return!0;let l,m;for(l=0,m=e.skips.length;l<m;l++)if(e.skips[l].test(f))return!1;for(l=0,m=e.names.length;l<m;l++)if(e.names[l].test(f))return!0;return!1}function a(f){return f.toString().substring(2,f.toString().length-2).replace(/\.\*\?$/,"*")}function c(f){return f instanceof Error?f.stack||f.message:f}function u(){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}Gh.exports=Hw});var Yh=ye((te,Ai)=>{te.formatArgs=qw;te.save=zw;te.load=jw;te.useColors=Kw;te.storage=Gw();te.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`."))}})();te.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 Kw(){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 qw(r){if(r[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+r[0]+(this.useColors?"%c ":" ")+"+"+Ai.exports.humanize(this.diff),!this.useColors)return;let t="color: "+this.color;r.splice(1,0,t,"color: inherit");let e=0,n=0;r[0].replace(/%[a-zA-Z%]/g,o=>{o!=="%%"&&(e++,o==="%c"&&(n=e))}),r.splice(n,0,t)}te.log=console.debug||console.log||(()=>{});function zw(r){try{r?te.storage.setItem("debug",r):te.storage.removeItem("debug")}catch{}}function jw(){let r;try{r=te.storage.getItem("debug")}catch{}return!r&&typeof process<"u"&&"env"in process&&(r=process.env.DEBUG),r}function Gw(){try{return localStorage}catch{}}Ai.exports=Wh()(te);var{formatters:Ww}=Ai.exports;Ww.j=function(r){try{return JSON.stringify(r)}catch(t){return"[UnexpectedJSONParseError]: "+t.message}}});var Xh=ye((B8,Xc)=>{"use strict";var Zw=Object.prototype.hasOwnProperty,zt="~";function Uo(){}Object.create&&(Uo.prototype=Object.create(null),new Uo().__proto__||(zt=!1));function Jw(r,t,e){this.fn=r,this.context=t,this.once=e||!1}function Jh(r,t,e,n,o){if(typeof e!="function")throw new TypeError("The listener must be a function");var s=new Jw(e,n||r,o),i=zt?zt+t:t;return r._events[i]?r._events[i].fn?r._events[i]=[r._events[i],s]:r._events[i].push(s):(r._events[i]=s,r._eventsCount++),r}function Bi(r,t){--r._eventsCount===0?r._events=new Uo:delete r._events[t]}function $t(){this._events=new Uo,this._eventsCount=0}$t.prototype.eventNames=function(){var t=[],e,n;if(this._eventsCount===0)return t;for(n in e=this._events)Zw.call(e,n)&&t.push(zt?n.slice(1):n);return Object.getOwnPropertySymbols?t.concat(Object.getOwnPropertySymbols(e)):t};$t.prototype.listeners=function(t){var e=zt?zt+t:t,n=this._events[e];if(!n)return[];if(n.fn)return[n.fn];for(var o=0,s=n.length,i=new Array(s);o<s;o++)i[o]=n[o].fn;return i};$t.prototype.listenerCount=function(t){var e=zt?zt+t:t,n=this._events[e];return n?n.fn?1:n.length:0};$t.prototype.emit=function(t,e,n,o,s,i){var a=zt?zt+t:t;if(!this._events[a])return!1;var c=this._events[a],u=arguments.length,f,l;if(c.fn){switch(c.once&&this.removeListener(t,c.fn,void 0,!0),u){case 1:return c.fn.call(c.context),!0;case 2:return c.fn.call(c.context,e),!0;case 3:return c.fn.call(c.context,e,n),!0;case 4:return c.fn.call(c.context,e,n,o),!0;case 5:return c.fn.call(c.context,e,n,o,s),!0;case 6:return c.fn.call(c.context,e,n,o,s,i),!0}for(l=1,f=new Array(u-1);l<u;l++)f[l-1]=arguments[l];c.fn.apply(c.context,f)}else{var m=c.length,h;for(l=0;l<m;l++)switch(c[l].once&&this.removeListener(t,c[l].fn,void 0,!0),u){case 1:c[l].fn.call(c[l].context);break;case 2:c[l].fn.call(c[l].context,e);break;case 3:c[l].fn.call(c[l].context,e,n);break;case 4:c[l].fn.call(c[l].context,e,n,o);break;default:if(!f)for(h=1,f=new Array(u-1);h<u;h++)f[h-1]=arguments[h];c[l].fn.apply(c[l].context,f)}}return!0};$t.prototype.on=function(t,e,n){return Jh(this,t,e,n,!1)};$t.prototype.once=function(t,e,n){return Jh(this,t,e,n,!0)};$t.prototype.removeListener=function(t,e,n,o){var s=zt?zt+t:t;if(!this._events[s])return this;if(!e)return Bi(this,s),this;var i=this._events[s];if(i.fn)i.fn===e&&(!o||i.once)&&(!n||i.context===n)&&Bi(this,s);else{for(var a=0,c=[],u=i.length;a<u;a++)(i[a].fn!==e||o&&!i[a].once||n&&i[a].context!==n)&&c.push(i[a]);c.length?this._events[s]=c.length===1?c[0]:c:Bi(this,s)}return this};$t.prototype.removeAllListeners=function(t){var e;return t?(e=zt?zt+t:t,this._events[e]&&Bi(this,e)):(this._events=new Uo,this._eventsCount=0),this};$t.prototype.off=$t.prototype.removeListener;$t.prototype.addListener=$t.prototype.on;$t.prefixed=zt;$t.EventEmitter=$t;typeof Xc<"u"&&(Xc.exports=$t)});var nd=ye((G8,rd)=>{rd.exports=function(r){if(!r)throw Error("hashlru must have a max value, of type number, greater than 0");var t=0,e=Object.create(null),n=Object.create(null);function o(s,i){e[s]=i,t++,t>=r&&(t=0,n=e,e=Object.create(null))}return{has:function(s){return e[s]!==void 0||n[s]!==void 0},remove:function(s){e[s]!==void 0&&(e[s]=void 0),n[s]!==void 0&&(n[s]=void 0)},get:function(s){var i=e[s];if(i!==void 0)return i;if((i=n[s])!==void 0)return o(s,i),i},set:function(s,i){e[s]!==void 0?e[s]=i:o(s,i)},clear:function(){e=Object.create(null),n=Object.create(null)}}}});var qp=ye(Go=>{(function(){var r,t,e,n,o,s,i,a;a=function(c){var u,f,l,m;return u=(c&255<<24)>>>24,f=(c&255<<16)>>>16,l=(c&65280)>>>8,m=c&255,[u,f,l,m].join(".")},i=function(c){var u,f,l,m,h,p;for(u=[],l=m=0;m<=3&&c.length!==0;l=++m){if(l>0){if(c[0]!==".")throw new Error("Invalid IP");c=c.substring(1)}p=t(c),h=p[0],f=p[1],c=c.substring(f),u.push(h)}if(c.length!==0)throw new Error("Invalid IP");switch(u.length){case 1:if(u[0]>4294967295)throw new Error("Invalid IP");return u[0]>>>0;case 2:if(u[0]>255||u[1]>16777215)throw new Error("Invalid IP");return(u[0]<<24|u[1])>>>0;case 3:if(u[0]>255||u[1]>255||u[2]>65535)throw new Error("Invalid IP");return(u[0]<<24|u[1]<<16|u[2])>>>0;case 4:if(u[0]>255||u[1]>255||u[2]>255||u[3]>255)throw new Error("Invalid IP");return(u[0]<<24|u[1]<<16|u[2]<<8|u[3])>>>0;default:throw new Error("Invalid IP")}},e=function(c){return c.charCodeAt(0)},n=e("0"),s=e("a"),o=e("A"),t=function(c){var u,f,l,m,h;for(m=0,u=10,f="9",l=0,c.length>1&&c[l]==="0"&&(c[l+1]==="x"||c[l+1]==="X"?(l+=2,u=16):"0"<=c[l+1]&&c[l+1]<="9"&&(l++,u=8,f="7")),h=l;l<c.length;){if("0"<=c[l]&&c[l]<=f)m=m*u+(e(c[l])-n)>>>0;else if(u===16)if("a"<=c[l]&&c[l]<="f")m=m*u+(10+e(c[l])-s)>>>0;else if("A"<=c[l]&&c[l]<="F")m=m*u+(10+e(c[l])-o)>>>0;else break;else break;if(m>4294967295)throw new Error("too large");l++}if(l===h)throw new Error("empty octet");return[m,l]},r=function(){function c(u,f){var l,m,h,p;if(typeof u!="string")throw new Error("Missing `net' parameter");if(f||(p=u.split("/",2),u=p[0],f=p[1]),f||(f=32),typeof f=="string"&&f.indexOf(".")>-1){try{this.maskLong=i(f)}catch(d){throw l=d,new Error("Invalid mask: "+f)}for(m=h=32;h>=0;m=--h)if(this.maskLong===4294967295<<32-m>>>0){this.bitmask=m;break}}else if(f||f===0)this.bitmask=parseInt(f,10),this.maskLong=0,this.bitmask>0&&(this.maskLong=4294967295<<32-this.bitmask>>>0);else throw new Error("Invalid mask: empty");try{this.netLong=(i(u)&this.maskLong)>>>0}catch(d){throw l=d,new Error("Invalid net address: "+u)}if(!(this.bitmask<=32))throw new Error("Invalid mask for ip4: "+f);this.size=Math.pow(2,32-this.bitmask),this.base=a(this.netLong),this.mask=a(this.maskLong),this.hostmask=a(~this.maskLong),this.first=this.bitmask<=30?a(this.netLong+1):this.base,this.last=this.bitmask<=30?a(this.netLong+this.size-2):a(this.netLong+this.size-1),this.broadcast=this.bitmask<=30?a(this.netLong+this.size-1):void 0}return c.prototype.contains=function(u){return typeof u=="string"&&(u.indexOf("/")>0||u.split(".").length!==4)&&(u=new c(u)),u instanceof c?this.contains(u.base)&&this.contains(u.broadcast||u.last):(i(u)&this.maskLong)>>>0===(this.netLong&this.maskLong)>>>0},c.prototype.next=function(u){return u==null&&(u=1),new c(a(this.netLong+this.size*u),this.mask)},c.prototype.forEach=function(u){var f,l,m;for(m=i(this.first),l=i(this.last),f=0;m<=l;)u(a(m),m,f),f++,m++},c.prototype.toString=function(){return this.base+"/"+this.bitmask},c}(),Go.ip2long=i,Go.long2ip=a,Go.Netmask=r}).call(Go)});var Yu=ye((Q4,Wu)=>{var X4=function(){typeof Wu<"u"&&(Wu.exports=d);var r=86400,t=3200,e=146097*t/400,n=r*e,o=1e3*n,s=864e13,i=4294967296,a=1e6,c="000000000",u=Math.trunc||function(E){var U=E-E%1;return U==0&&(E<0||E===0&&1/E!=1/0)?-0:U},f=d.prototype,l=(d.fromDate=function(E){return new d(+E)},d.fromInt64BE=B(0,1,2,3,0,4),d.fromInt64LE=B(3,2,1,0,4,0),d.fromString=function(N){var U,P=new d,N=(N+="").replace(/^\s*[+\-]?\d+/,function(C){var C=+C,X=1970+(C-1970)%400;return P.year=C-X,X}).replace(/(?:Z|([+\-]\d{2}):?(\d{2}))$/,function(M,C,X){return C<0&&(X*=-1),U=6e4*(60*+C+ +X),""}).replace(/\.\d+$/,function(M){return P.nano=+(M+c).substr(1,9),""}).split(/\D+/);if(1<N.length?N[1]--:N[1]=0,P.time=U=Date.UTC.apply(Date,N)-(U||0),isNaN(U))throw new TypeError("Invalid Date");return w(P)},d.fromTimeT=function(E){return x(E,0)},f.year=0,f.time=0,f.nano=0,f.addNano=function(E){return this.nano+=+E||0,this},f.getNano=function(){var E=w(this);return(E.time%1e3*a+ +E.nano+1e9)%1e9},f.getTimeT=function(){var U=w(this),E=Math.floor(U.time/1e3),U=U.year;return U&&(E+=U*e*r/t),E},f.getYear=function(){return this.toDate().getUTCFullYear()+this.year},f.toDate=function(){return g(w(this).time)},f.toJSON=function(){return this.toString().replace(/0{1,6}Z$/,"Z")},f.toString=function(E){var U=this,P=U.toDate(),N={H:function(){return I(P.getUTCHours())},L:function(){return v(P.getUTCMilliseconds(),3)},M:function(){return I(P.getUTCMinutes())},N:function(){return v(U.getNano(),9)},S:function(){return I(P.getUTCSeconds())},Y:function(){var M=U.getYear();return 999999<M?"+"+M:9999<M?"+"+v(M,6):0<=M?v(M,4):-999999<=M?"-"+v(-M,6):M},a:function(){return h[P.getUTCDay()]},b:function(){return m[P.getUTCMonth()]},d:function(){return I(P.getUTCDate())},e:function(){return function(M){return(9<M?"":" ")+(0|M)}(P.getUTCDate())},m:function(){return I(P.getUTCMonth()+1)}};return function M(C){return C.replace(/%./g,function(X){var T=X[1],S=p[T],T=N[T];return S?M(S):T?T():X})}(E||l)},f.writeInt64BE=b(0,1,2,3,0,4),f.writeInt64LE=b(3,2,1,0,4,0),"%Y-%m-%dT%H:%M:%S.%NZ"),m=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],h=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],p={"%":"%",F:"%Y-%m-%d",n:`
|
|
3
|
-
`,R:"%H:%M",T:"%H:%M:%S",t:" ",X:"%T",Z:"GMT",z:"+0000"};return d;function d(E,U,P){var N=this;if(!(N instanceof d))return new d(E,U,P);N.time=+E||0,N.nano=+U||0,N.year=+P||0,w(N)}function w(E){var U,P,N,M=E.year,C=E.time,X=E.nano,S=((X<0||a<=X)&&(X-=(P=Math.floor(X/a))*a,C+=P,P=1),M%t);return(C<-s||s<C||S)&&((U=u(C/o))&&(M+=U*t,C-=U*o),(N=g(C)).setUTCFullYear(S+N.getUTCFullYear()),N=(C=+N)+(U=u((M-=S)/t))*o,U&&-s<=N&&N<=s&&(M-=U*t,C=N),P=1),P&&(E.year=M,E.time=C,E.nano=X),E}function g(E){var U=new Date(0);return U.setTime(E),U}function x(M,N){M=+M||0;var P=u((N=(N|0)*i)/n)+u(M/n),N=N%n+M%n,M=u(N/n);return M&&(P+=M,N-=M*n),new d(1e3*N,0,P*t)}function b(E,U,P,N,M,C){return function(S,T){var _=w(this);S=S||new Array(8),A(S,T|=0);var k=Math.floor(_.time/1e3),_=_.year*(e*r/t),H=u(_/i)+u(k/i),_=_%i+k%i,k=Math.floor(_/i);return k&&(H+=k,_-=k*i),X(S,T+M,H),X(S,T+C,_),S};function X(S,T,H){S[T+E]=H>>24&255,S[T+U]=H>>16&255,S[T+P]=H>>8&255,S[T+N]=255&H}}function B(E,U,P,N,M,C){return function(S,T){A(S,T|=0);var H=X(S,T+M);return x(X(S,T+C),H)};function X(S,T){return 16777216*S[T+E]+(S[T+U]<<16|S[T+P]<<8|S[T+N])}}function A(E,U){if(E=E&&E.length,E==null)throw new TypeError("Invalid Buffer");if(E<U+8)throw new RangeError("Out of range")}function I(E){return(9<E?"":"0")+(0|E)}function v(E,U){return(c+(0|E)).substr(-U)}}()});var A1={};vt(A1,{DEFAULT_SESSION_MAX_PROVIDERS:()=>Hp,DEFAULT_SESSION_MIN_PROVIDERS:()=>$p,createHeliaHTTP:()=>v1});var oo=Symbol.for("@libp2p/content-routing");var so=Symbol.for("@libp2p/peer-id");function El(r){return r!=null&&!!r[so]}var io=Symbol.for("@libp2p/peer-routing");var pr=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"},D=class extends Error{code;props;constructor(t,e,n){super(t),this.code=e,this.name=n?.name??"CodeError",this.props=n??{}}};var ft=(r,...t)=>{try{[...t]}catch{}};var rn=class extends EventTarget{#t=new Map;constructor(){super(),ft(1/0,this)}listenerCount(t){let e=this.#t.get(t);return e==null?0:e.length}addEventListener(t,e,n){super.addEventListener(t,e,n);let o=this.#t.get(t);o==null&&(o=[],this.#t.set(t,o)),o.push({callback:e,once:(n!==!0&&n!==!1&&n?.once)??!1})}removeEventListener(t,e,n){super.removeEventListener(t.toString(),e??null,n);let o=this.#t.get(t);o!=null&&(o=o.filter(({callback:s})=>s!==e),this.#t.set(t,o))}dispatchEvent(t){let e=super.dispatchEvent(t),n=this.#t.get(t.type);return n==null||(n=n.filter(({once:o})=>!o),this.#t.set(t.type,n)),e}safeDispatchEvent(t,e={}){return this.dispatchEvent(new hm(t,e))}},Sa=class extends Event{detail;constructor(t,e){super(t,e),this.detail=e?.detail}},hm=globalThis.CustomEvent??Sa;function vl(r){return r!=null&&typeof r.start=="function"&&typeof r.stop=="function"}async function mr(...r){let t=[];for(let e of r)vl(e)&&t.push(e);await Promise.all(t.map(async e=>{e.beforeStart!=null&&await e.beforeStart()})),await Promise.all(t.map(async e=>{await e.start()})),await Promise.all(t.map(async e=>{e.afterStart!=null&&await e.afterStart()}))}async function gr(...r){let t=[];for(let e of r)vl(e)&&t.push(e);await Promise.all(t.map(async e=>{e.beforeStop!=null&&await e.beforeStop()})),await Promise.all(t.map(async e=>{await e.stop()})),await Promise.all(t.map(async e=>{e.afterStop!=null&&await e.afterStop()}))}function Ht(r){let t=new globalThis.AbortController;function e(){t.abort();for(let s of r)s?.removeEventListener!=null&&s.removeEventListener("abort",e)}for(let s of r){if(s?.aborted===!0){e();break}s?.addEventListener!=null&&s.addEventListener("abort",e)}function n(){for(let s of r)s?.removeEventListener!=null&&s.removeEventListener("abort",e)}let o=t.signal;return o.clear=n,o}function kt(){let r={};return r.promise=new Promise((t,e)=>{r.resolve=t,r.reject=e}),r}var es=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}},nn=class{size;hwm;head;tail;constructor(t={}){this.hwm=t.splitLimit??16,this.head=new es(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 es(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 Ia=class extends Error{type;code;constructor(t,e){super(t??"The operation was aborted"),this.type="aborted",this.code=e??"ABORT_ERR"}};function Vr(r={}){return dm(e=>{let n=e.shift();if(n==null)return{done:!0};if(n.error!=null)throw n.error;return{done:n.done===!0,value:n.value}},r)}function dm(r,t){t=t??{};let e=t.onEnd,n=new nn,o,s,i,a=kt(),c=async()=>{try{return n.isEmpty()?i?{done:!0}:await new Promise((w,g)=>{s=x=>{s=null,n.push(x);try{w(r(n))}catch(b){g(b)}return o}}):r(n)}finally{n.isEmpty()&&queueMicrotask(()=>{a.resolve(),a=kt()})}},u=w=>s!=null?s(w):(n.push(w),o),f=w=>(n=new nn,s!=null?s({error:w}):(n.push({error:w}),o)),l=w=>{if(i)return o;if(t?.objectMode!==!0&&w?.byteLength==null)throw new Error("objectMode was not true but tried to push non-Uint8Array value");return u({done:!1,value:w})},m=w=>i?o:(i=!0,w!=null?f(w):u({done:!0})),h=()=>(n=new nn,m(),{done:!0}),p=w=>(m(w),{done:!0});if(o={[Symbol.asyncIterator](){return this},next:c,return:h,throw:p,push:l,end:m,get readableLength(){return n.size},onEmpty:async w=>{let g=w?.signal;if(g?.throwIfAborted(),n.isEmpty())return;let x,b;g!=null&&(x=new Promise((B,A)=>{b=()=>{A(new Ia)},g.addEventListener("abort",b)}));try{await Promise.race([a.promise,x])}finally{b!=null&&g!=null&&g?.removeEventListener("abort",b)}}},e==null)return o;let d=o;return o={[Symbol.asyncIterator](){return this},next(){return d.next()},throw(w){return d.throw(w),e!=null&&(e(w),e=void 0),{done:!0}},return(){return d.return(),e!=null&&(e(),e=void 0),{done:!0}},push:l,end(w){return d.end(w),e!=null&&(e(w),e=void 0),o},get readableLength(){return d.readableLength},onEmpty:w=>d.onEmpty(w)},o}var Ra=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 rs(r,t,e,n){let o=new Ra(n?.errorMessage,n?.errorCode);return e?.aborted===!0?Promise.reject(o):new Promise((s,i)=>{function a(){e?.removeEventListener("abort",f),r.removeEventListener(t,c),n?.errorEvent!=null&&r.removeEventListener(n.errorEvent,u)}let c=l=>{try{if(n?.filter?.(l)===!1)return}catch(m){a(),i(m);return}a(),s(l)},u=l=>{a(),i(l.detail)},f=()=>{a(),i(o)};e?.addEventListener("abort",f),r.addEventListener(t,c),n?.errorEvent!=null&&r.addEventListener(n.errorEvent,u)})}var ns=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 Al(r,t,e){if(t==null)return r;if(t.aborted)return Promise.reject(new ns(e?.errorMessage,e?.errorCode));let n,o=new ns(e?.errorMessage,e?.errorCode);try{return await Promise.race([r,new Promise((s,i)=>{n=()=>{i(o)},t.addEventListener("abort",n)})])}finally{n!=null&&t.removeEventListener("abort",n)}}var os=class{deferred;signal;where;constructor(t,e){this.signal=e,this.deferred=kt(),this.where=t,this.onAbort=this.onAbort.bind(this),this.signal?.addEventListener("abort",this.onAbort)}onAbort(){this.deferred.reject(this.signal?.reason??new pr)}cleanup(){this.signal?.removeEventListener("abort",this.onAbort)}};function pm(){return`${parseInt(String(Math.random()*1e9),10).toString()}${Date.now()}`}var ss=class{id;fn;options;recipients;status;timeline;controller;constructor(t,e){this.id=pm(),this.status="queued",this.fn=t,this.options=e,this.recipients=[],this.timeline={created:Date.now()},this.controller=new AbortController,ft(1/0,this.controller.signal),this.onAbort=this.onAbort.bind(this)}abort(t){this.controller.abort(t)}onAbort(){this.recipients.reduce((e,n)=>e&&n.signal?.aborted===!0,!0)&&(this.controller.abort(new pr),this.cleanup())}async join(t={}){let e=new os(new Error("where").stack,t.signal);return this.recipients.push(e),t.signal?.addEventListener("abort",this.onAbort),e.deferred.promise}async run(){this.status="running",this.timeline.started=Date.now();try{this.controller.signal.throwIfAborted();let t=await Al(this.fn({...this.options??{},signal:this.controller.signal}),this.controller.signal);this.recipients.forEach(e=>{e.deferred.resolve(t)}),this.status="complete"}catch(t){this.recipients.forEach(e=>{e.deferred.reject(t)}),this.status="errored"}finally{this.timeline.finished=Date.now(),this.cleanup()}}cleanup(){this.recipients.forEach(t=>{t.cleanup(),t.signal?.removeEventListener("abort",this.onAbort)})}};var qe=class extends rn{concurrency;queue;pending;sort;constructor(t={}){super(),this.concurrency=t.concurrency??Number.POSITIVE_INFINITY,this.pending=0,t.metricName!=null&&t.metrics?.registerMetricGroup(t.metricName,{calculate:()=>({size:this.queue.length,running:this.pending,queued:this.queue.length-this.pending})}),this.sort=t.sort,this.queue=[]}tryToStartAnother(){if(this.size===0)return queueMicrotask(()=>{this.safeDispatchEvent("empty")}),this.running===0&&queueMicrotask(()=>{this.safeDispatchEvent("idle")}),!1;if(this.pending<this.concurrency){let t;for(let e of this.queue)if(e.status==="queued"){t=e;break}return t==null?!1:(this.safeDispatchEvent("active"),this.pending++,t.run().finally(()=>{for(let e=0;e<this.queue.length;e++)if(this.queue[e]===t){this.queue.splice(e,1);break}this.pending--,this.tryToStartAnother(),this.safeDispatchEvent("next")}),!0)}return!1}enqueue(t){this.queue.push(t),this.sort!=null&&this.queue.sort(this.sort)}async add(t,e){e?.signal?.throwIfAborted();let n=new ss(t,e),o=n.join(e).then(s=>(this.safeDispatchEvent("completed",{detail:s}),this.safeDispatchEvent("success",{detail:{job:n,result:s}}),s)).catch(s=>{if(n.status==="queued"){for(let i=0;i<this.queue.length;i++)if(this.queue[i]===n){this.queue.splice(i,1);break}}throw this.safeDispatchEvent("error",{detail:s}),this.safeDispatchEvent("failure",{detail:{job:n,error:s}}),s});return this.enqueue(n),this.safeDispatchEvent("add"),this.tryToStartAnother(),o}clear(){this.queue.splice(0,this.queue.length)}abort(){this.queue.forEach(t=>{t.abort(new pr)}),this.clear()}async onEmpty(t){this.size!==0&&await rs(this,"empty",t?.signal)}async onSizeLessThan(t,e){this.size<t||await rs(this,"next",e?.signal,{filter:()=>this.size<t})}async onIdle(t){this.pending===0&&this.size===0||await rs(this,"idle",t?.signal)}get size(){return this.queue.length}get queued(){return this.queue.length-this.pending}get running(){return this.pending}async*toGenerator(t){t?.signal?.throwIfAborted();let e=Vr({objectMode:!0}),n=c=>{c!=null?this.abort():this.clear(),e.end(c)},o=c=>{c.detail!=null&&e.push(c.detail)},s=c=>{n(c.detail)},i=()=>{n()},a=()=>{n(new D("Queue aborted","ERR_QUEUE_ABORTED"))};this.addEventListener("completed",o),this.addEventListener("error",s),this.addEventListener("idle",i),t?.signal?.addEventListener("abort",a);try{yield*e}finally{this.removeEventListener("completed",o),this.removeEventListener("error",s),this.removeEventListener("idle",i),t?.signal?.removeEventListener("abort",a),n()}}};var is=class extends qe{has(t){return this.find(t)!=null}find(t){return this.queue.find(e=>t.equals(e.options.peerId))}};function mm(r){return r[Symbol.asyncIterator]!=null}function gm(r){if(mm(r))return(async()=>{for await(let t of r);})();for(let t of r);}var Mr=gm;function we(r=0){return new Uint8Array(r)}function jt(r=0){return new Uint8Array(r)}var ym=Math.pow(2,7),wm=Math.pow(2,14),bm=Math.pow(2,21),_a=Math.pow(2,28),Ta=Math.pow(2,35),Ca=Math.pow(2,42),Na=Math.pow(2,49),st=128,Ft=127;function Gt(r){if(r<ym)return 1;if(r<wm)return 2;if(r<bm)return 3;if(r<_a)return 4;if(r<Ta)return 5;if(r<Ca)return 6;if(r<Na)return 7;if(Number.MAX_SAFE_INTEGER!=null&&r>Number.MAX_SAFE_INTEGER)throw new RangeError("Could not encode varint");return 8}function La(r,t,e=0){switch(Gt(r)){case 8:t[e++]=r&255|st,r/=128;case 7:t[e++]=r&255|st,r/=128;case 6:t[e++]=r&255|st,r/=128;case 5:t[e++]=r&255|st,r/=128;case 4:t[e++]=r&255|st,r>>>=7;case 3:t[e++]=r&255|st,r>>>=7;case 2:t[e++]=r&255|st,r>>>=7;case 1:{t[e++]=r&255,r>>>=7;break}default:throw new Error("unreachable")}return t}function xm(r,t,e=0){switch(Gt(r)){case 8:t.set(e++,r&255|st),r/=128;case 7:t.set(e++,r&255|st),r/=128;case 6:t.set(e++,r&255|st),r/=128;case 5:t.set(e++,r&255|st),r/=128;case 4:t.set(e++,r&255|st),r>>>=7;case 3:t.set(e++,r&255|st),r>>>=7;case 2:t.set(e++,r&255|st),r>>>=7;case 1:{t.set(e++,r&255),r>>>=7;break}default:throw new Error("unreachable")}return t}function Ua(r,t){let e=r[t],n=0;if(n+=e&Ft,e<st||(e=r[t+1],n+=(e&Ft)<<7,e<st)||(e=r[t+2],n+=(e&Ft)<<14,e<st)||(e=r[t+3],n+=(e&Ft)<<21,e<st)||(e=r[t+4],n+=(e&Ft)*_a,e<st)||(e=r[t+5],n+=(e&Ft)*Ta,e<st)||(e=r[t+6],n+=(e&Ft)*Ca,e<st)||(e=r[t+7],n+=(e&Ft)*Na,e<st))return n;throw new RangeError("Could not decode varint")}function Em(r,t){let e=r.get(t),n=0;if(n+=e&Ft,e<st||(e=r.get(t+1),n+=(e&Ft)<<7,e<st)||(e=r.get(t+2),n+=(e&Ft)<<14,e<st)||(e=r.get(t+3),n+=(e&Ft)<<21,e<st)||(e=r.get(t+4),n+=(e&Ft)*_a,e<st)||(e=r.get(t+5),n+=(e&Ft)*Ta,e<st)||(e=r.get(t+6),n+=(e&Ft)*Ca,e<st)||(e=r.get(t+7),n+=(e&Ft)*Na,e<st))return n;throw new RangeError("Could not decode varint")}function on(r,t,e=0){return t==null&&(t=jt(Gt(r))),t instanceof Uint8Array?La(r,t,e):xm(r,t,e)}function $r(r,t=0){return r instanceof Uint8Array?Ua(r,t):Em(r,t)}function St(r,t){t==null&&(t=r.reduce((o,s)=>o+s.length,0));let e=jt(t),n=0;for(let o of r)e.set(o,n),n+=o.length;return e}function it(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 Sl=Symbol.for("@achingbrain/uint8arraylist");function kl(r,t){if(t==null||t<0)throw new RangeError("index is out of bounds");let e=0;for(let n of r){let o=e+n.byteLength;if(t<o)return{buf:n,index:t-e};e=o}throw new RangeError("index is out of bounds")}function as(r){return!!r?.[Sl]}var cs=class r{bufs;length;[Sl]=!0;constructor(...t){this.bufs=[],this.length=0,t.length>0&&this.appendAll(t)}*[Symbol.iterator](){yield*this.bufs}get byteLength(){return this.length}append(...t){this.appendAll(t)}appendAll(t){let e=0;for(let n of t)if(n instanceof Uint8Array)e+=n.byteLength,this.bufs.push(n);else if(as(n))e+=n.byteLength,this.bufs.push(...n.bufs);else throw new Error("Could not append value, must be an Uint8Array or a Uint8ArrayList");this.length+=e}prepend(...t){this.prependAll(t)}prependAll(t){let e=0;for(let n of t.reverse())if(n instanceof Uint8Array)e+=n.byteLength,this.bufs.unshift(n);else if(as(n))e+=n.byteLength,this.bufs.unshift(...n.bufs);else throw new Error("Could not prepend value, must be an Uint8Array or a Uint8ArrayList");this.length+=e}get(t){let e=kl(this.bufs,t);return e.buf[e.index]}set(t,e){let n=kl(this.bufs,t);n.buf[n.index]=e}write(t,e=0){if(t instanceof Uint8Array)for(let n=0;n<t.length;n++)this.set(e+n,t[n]);else if(as(t))for(let n=0;n<t.length;n++)this.set(e+n,t.get(n));else throw new Error("Could not write value, must be an Uint8Array or a Uint8ArrayList")}consume(t){if(t=Math.trunc(t),!(Number.isNaN(t)||t<=0)){if(t===this.byteLength){this.bufs=[],this.length=0;return}for(;this.bufs.length>0;)if(t>=this.bufs[0].byteLength)t-=this.bufs[0].byteLength,this.length-=this.bufs[0].byteLength,this.bufs.shift();else{this.bufs[0]=this.bufs[0].subarray(t),this.length-=t;break}}}slice(t,e){let{bufs:n,length:o}=this._subList(t,e);return St(n,o)}subarray(t,e){let{bufs:n,length:o}=this._subList(t,e);return n.length===1?n[0]:St(n,o)}sublist(t,e){let{bufs:n,length:o}=this._subList(t,e),s=new r;return s.length=o,s.bufs=[...n],s}_subList(t,e){if(t=t??0,e=e??this.length,t<0&&(t=this.length+t),e<0&&(e=this.length+e),t<0||e>this.length)throw new RangeError("index is out of bounds");if(t===e)return{bufs:[],length:0};if(t===0&&e===this.length)return{bufs:this.bufs,length:this.length};let n=[],o=0;for(let s=0;s<this.bufs.length;s++){let i=this.bufs[s],a=o,c=a+i.byteLength;if(o=c,t>=c)continue;let u=t>=a&&t<c,f=e>a&&e<=c;if(u&&f){if(t===a&&e===c){n.push(i);break}let l=t-a;n.push(i.subarray(l,l+(e-t)));break}if(u){if(t===0){n.push(i);continue}n.push(i.subarray(t-a));continue}if(f){if(e===c){n.push(i);break}n.push(i.subarray(0,e-a));break}n.push(i)}return{bufs:n,length:e-t}}indexOf(t,e=0){if(!as(t)&&!(t instanceof Uint8Array))throw new TypeError('The "value" argument must be a Uint8ArrayList or Uint8Array');let n=t instanceof Uint8Array?t:t.subarray();if(e=Number(e??0),isNaN(e)&&(e=0),e<0&&(e=this.length+e),e<0&&(e=0),t.length===0)return e>this.length?this.length:e;let o=n.byteLength;if(o===0)throw new TypeError("search must be at least 1 byte long");let s=256,i=new Int32Array(s);for(let l=0;l<s;l++)i[l]=-1;for(let l=0;l<o;l++)i[n[l]]=l;let a=i,c=this.byteLength-n.byteLength,u=n.byteLength-1,f;for(let l=e;l<=c;l+=f){f=0;for(let m=u;m>=0;m--){let h=this.get(l+m);if(n[m]!==h){f=Math.max(1,m-a[h]);break}}if(f===0)return l}return-1}getInt8(t){let e=this.subarray(t,t+1);return new DataView(e.buffer,e.byteOffset,e.byteLength).getInt8(0)}setInt8(t,e){let n=jt(1);new DataView(n.buffer,n.byteOffset,n.byteLength).setInt8(0,e),this.write(n,t)}getInt16(t,e){let n=this.subarray(t,t+2);return new DataView(n.buffer,n.byteOffset,n.byteLength).getInt16(0,e)}setInt16(t,e,n){let o=we(2);new DataView(o.buffer,o.byteOffset,o.byteLength).setInt16(0,e,n),this.write(o,t)}getInt32(t,e){let n=this.subarray(t,t+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getInt32(0,e)}setInt32(t,e,n){let o=we(4);new DataView(o.buffer,o.byteOffset,o.byteLength).setInt32(0,e,n),this.write(o,t)}getBigInt64(t,e){let n=this.subarray(t,t+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getBigInt64(0,e)}setBigInt64(t,e,n){let o=we(8);new DataView(o.buffer,o.byteOffset,o.byteLength).setBigInt64(0,e,n),this.write(o,t)}getUint8(t){let e=this.subarray(t,t+1);return new DataView(e.buffer,e.byteOffset,e.byteLength).getUint8(0)}setUint8(t,e){let n=jt(1);new DataView(n.buffer,n.byteOffset,n.byteLength).setUint8(0,e),this.write(n,t)}getUint16(t,e){let n=this.subarray(t,t+2);return new DataView(n.buffer,n.byteOffset,n.byteLength).getUint16(0,e)}setUint16(t,e,n){let o=we(2);new DataView(o.buffer,o.byteOffset,o.byteLength).setUint16(0,e,n),this.write(o,t)}getUint32(t,e){let n=this.subarray(t,t+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getUint32(0,e)}setUint32(t,e,n){let o=we(4);new DataView(o.buffer,o.byteOffset,o.byteLength).setUint32(0,e,n),this.write(o,t)}getBigUint64(t,e){let n=this.subarray(t,t+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getBigUint64(0,e)}setBigUint64(t,e,n){let o=we(8);new DataView(o.buffer,o.byteOffset,o.byteLength).setBigUint64(0,e,n),this.write(o,t)}getFloat32(t,e){let n=this.subarray(t,t+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getFloat32(0,e)}setFloat32(t,e,n){let o=we(4);new DataView(o.buffer,o.byteOffset,o.byteLength).setFloat32(0,e,n),this.write(o,t)}getFloat64(t,e){let n=this.subarray(t,t+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getFloat64(0,e)}setFloat64(t,e,n){let o=we(8);new DataView(o.buffer,o.byteOffset,o.byteLength).setFloat64(0,e,n),this.write(o,t)}equals(t){if(t==null||!(t instanceof r)||t.bufs.length!==this.bufs.length)return!1;for(let e=0;e<this.bufs.length;e++)if(!it(this.bufs[e],t.bufs[e]))return!1;return!0}static fromUint8Arrays(t,e){let n=new r;return n.bufs=t,e==null&&(e=t.reduce((o,s)=>o+s.byteLength,0)),n.length=e,n}};function Am(r){let[t,e]=r[Symbol.asyncIterator]!=null?[r[Symbol.asyncIterator](),Symbol.asyncIterator]:[r[Symbol.iterator](),Symbol.iterator],n=[];return{peek:()=>t.next(),push:o=>{n.push(o)},next:()=>n.length>0?{done:!1,value:n.shift()}:t.next(),[e](){return this}}}var an=Am;function Bm(r){return r[Symbol.asyncIterator]!=null}function km(r,t){let e=0;if(Bm(r))return async function*(){for await(let c of r)yield t(c,e++)}();let n=an(r),{value:o,done:s}=n.next();if(s===!0)return function*(){}();let i=t(o,e++);if(typeof i.then=="function")return async function*(){yield await i;for await(let c of n)yield t(c,e++)}();let a=t;return function*(){yield i;for(let c of n)yield a(c,e++)}()}var cn=km;function Sm(r){return r[Symbol.asyncIterator]!=null}function Im(...r){let t=[];for(let e of r)Sm(e)||t.push(e);return t.length===r.length?function*(){for(let e of t)yield*e}():async function*(){let e=Vr({objectMode:!0});Promise.resolve().then(async()=>{try{await Promise.all(r.map(async n=>{for await(let o of n)e.push(o)})),e.end()}catch(n){e.end(n)}}),yield*e}()}var Hr=Im;function Rm(r){return r[Symbol.asyncIterator]!=null}function _m(r,t){return Rm(r)?async function*(){let e=0;if(!(t<1)){for await(let n of r)if(yield n,e++,e===t)return}}():function*(){let e=0;if(!(t<1)){for(let n of r)if(yield n,e++,e===t)return}}()}var us=_m;var nt=class extends Event{constructor(t,e){super(t),this.detail=e}};var Da=new Float32Array([-0]),yr=new Uint8Array(Da.buffer);function _l(r,t,e){Da[0]=r,t[e]=yr[0],t[e+1]=yr[1],t[e+2]=yr[2],t[e+3]=yr[3]}function Tl(r,t){return yr[0]=r[t],yr[1]=r[t+1],yr[2]=r[t+2],yr[3]=r[t+3],Da[0]}var Pa=new Float64Array([-0]),Vt=new Uint8Array(Pa.buffer);function Cl(r,t,e){Pa[0]=r,t[e]=Vt[0],t[e+1]=Vt[1],t[e+2]=Vt[2],t[e+3]=Vt[3],t[e+4]=Vt[4],t[e+5]=Vt[5],t[e+6]=Vt[6],t[e+7]=Vt[7]}function Nl(r,t){return Vt[0]=r[t],Vt[1]=r[t+1],Vt[2]=r[t+2],Vt[3]=r[t+3],Vt[4]=r[t+4],Vt[5]=r[t+5],Vt[6]=r[t+6],Vt[7]=r[t+7],Pa[0]}var Tm=BigInt(Number.MAX_SAFE_INTEGER),Cm=BigInt(Number.MIN_SAFE_INTEGER),Xt=class r{lo;hi;constructor(t,e){this.lo=t|0,this.hi=e|0}toNumber(t=!1){if(!t&&this.hi>>>31>0){let e=~this.lo+1>>>0,n=~this.hi>>>0;return e===0&&(n=n+1>>>0),-(e+n*4294967296)}return this.lo+this.hi*4294967296}toBigInt(t=!1){if(t)return BigInt(this.lo>>>0)+(BigInt(this.hi>>>0)<<32n);if(this.hi>>>31){let e=~this.lo+1>>>0,n=~this.hi>>>0;return e===0&&(n=n+1>>>0),-(BigInt(e)+(BigInt(n)<<32n))}return BigInt(this.lo>>>0)+(BigInt(this.hi>>>0)<<32n)}toString(t=!1){return this.toBigInt(t).toString()}zzEncode(){let t=this.hi>>31;return this.hi=((this.hi<<1|this.lo>>>31)^t)>>>0,this.lo=(this.lo<<1^t)>>>0,this}zzDecode(){let t=-(this.lo&1);return this.lo=((this.lo>>>1|this.hi<<31)^t)>>>0,this.hi=(this.hi>>>1^t)>>>0,this}length(){let t=this.lo,e=(this.lo>>>28|this.hi<<4)>>>0,n=this.hi>>>24;return n===0?e===0?t<16384?t<128?1:2:t<2097152?3:4:e<16384?e<128?5:6:e<2097152?7:8:n<128?9:10}static fromBigInt(t){if(t===0n)return Kr;if(t<Tm&&t>Cm)return this.fromNumber(Number(t));let e=t<0n;e&&(t=-t);let n=t>>32n,o=t-(n<<32n);return e&&(n=~n|0n,o=~o|0n,++o>Ll&&(o=0n,++n>Ll&&(n=0n))),new r(Number(o),Number(n))}static fromNumber(t){if(t===0)return Kr;let e=t<0;e&&(t=-t);let n=t>>>0,o=(t-n)/4294967296>>>0;return e&&(o=~o>>>0,n=~n>>>0,++n>4294967295&&(n=0,++o>4294967295&&(o=0))),new r(n,o)}static from(t){return typeof t=="number"?r.fromNumber(t):typeof t=="bigint"?r.fromBigInt(t):typeof t=="string"?r.fromBigInt(BigInt(t)):t.low!=null||t.high!=null?new r(t.low>>>0,t.high>>>0):Kr}},Kr=new Xt(0,0);Kr.toBigInt=function(){return 0n};Kr.zzEncode=Kr.zzDecode=function(){return this};Kr.length=function(){return 1};var Ll=4294967296n;function Ul(r){let t=0,e=0;for(let n=0;n<r.length;++n)e=r.charCodeAt(n),e<128?t+=1:e<2048?t+=2:(e&64512)===55296&&(r.charCodeAt(n+1)&64512)===56320?(++n,t+=4):t+=3;return t}function Dl(r,t,e){if(e-t<1)return"";let o,s=[],i=0,a;for(;t<e;)a=r[t++],a<128?s[i++]=a:a>191&&a<224?s[i++]=(a&31)<<6|r[t++]&63:a>239&&a<365?(a=((a&7)<<18|(r[t++]&63)<<12|(r[t++]&63)<<6|r[t++]&63)-65536,s[i++]=55296+(a>>10),s[i++]=56320+(a&1023)):s[i++]=(a&15)<<12|(r[t++]&63)<<6|r[t++]&63,i>8191&&((o??(o=[])).push(String.fromCharCode.apply(String,s)),i=0);return o!=null?(i>0&&o.push(String.fromCharCode.apply(String,s.slice(0,i))),o.join("")):String.fromCharCode.apply(String,s.slice(0,i))}function Oa(r,t,e){let n=e,o,s;for(let i=0;i<r.length;++i)o=r.charCodeAt(i),o<128?t[e++]=o:o<2048?(t[e++]=o>>6|192,t[e++]=o&63|128):(o&64512)===55296&&((s=r.charCodeAt(i+1))&64512)===56320?(o=65536+((o&1023)<<10)+(s&1023),++i,t[e++]=o>>18|240,t[e++]=o>>12&63|128,t[e++]=o>>6&63|128,t[e++]=o&63|128):(t[e++]=o>>12|224,t[e++]=o>>6&63|128,t[e++]=o&63|128);return e-n}function be(r,t){return RangeError(`index out of range: ${r.pos} + ${t??1} > ${r.len}`)}function ls(r,t){return(r[t-4]|r[t-3]<<8|r[t-2]<<16|r[t-1]<<24)>>>0}var Fa=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,be(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 be(this,4);return ls(this.buf,this.pos+=4)}sfixed32(){if(this.pos+4>this.len)throw be(this,4);return ls(this.buf,this.pos+=4)|0}float(){if(this.pos+4>this.len)throw be(this,4);let t=Tl(this.buf,this.pos);return this.pos+=4,t}double(){if(this.pos+8>this.len)throw be(this,4);let t=Nl(this.buf,this.pos);return this.pos+=8,t}bytes(){let t=this.uint32(),e=this.pos,n=this.pos+t;if(n>this.len)throw be(this,t);return this.pos+=t,e===n?new Uint8Array(0):this.buf.subarray(e,n)}string(){let t=this.bytes();return Dl(t,0,t.length)}skip(t){if(typeof t=="number"){if(this.pos+t>this.len)throw be(this,t);this.pos+=t}else do if(this.pos>=this.len)throw be(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 Xt(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 be(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 be(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 be(this,8);let t=ls(this.buf,this.pos+=4),e=ls(this.buf,this.pos+=4);return new Xt(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=Ua(this.buf,this.pos);return this.pos+=Gt(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 Va(r){return new Fa(r instanceof Uint8Array?r:r.subarray())}function un(r,t,e){let n=Va(r);return t.decode(n,void 0,e)}var qa={};vt(qa,{base10:()=>Om});var LE=new Uint8Array(0);function Ol(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 ze(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 Fl(r){return new TextEncoder().encode(r)}function Vl(r){return new TextDecoder().decode(r)}function Nm(r,t){if(r.length>=255)throw new TypeError("Alphabet too long");for(var e=new Uint8Array(256),n=0;n<e.length;n++)e[n]=255;for(var o=0;o<r.length;o++){var s=r.charAt(o),i=s.charCodeAt(0);if(e[i]!==255)throw new TypeError(s+" is ambiguous");e[i]=o}var a=r.length,c=r.charAt(0),u=Math.log(a)/Math.log(256),f=Math.log(256)/Math.log(a);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 d=0,w=0,g=0,x=p.length;g!==x&&p[g]===0;)g++,d++;for(var b=(x-g)*f+1>>>0,B=new Uint8Array(b);g!==x;){for(var A=p[g],I=0,v=b-1;(A!==0||I<w)&&v!==-1;v--,I++)A+=256*B[v]>>>0,B[v]=A%a>>>0,A=A/a>>>0;if(A!==0)throw new Error("Non-zero carry");w=I,g++}for(var E=b-w;E!==b&&B[E]===0;)E++;for(var U=c.repeat(d);E<b;++E)U+=r.charAt(B[E]);return U}function m(p){if(typeof p!="string")throw new TypeError("Expected String");if(p.length===0)return new Uint8Array;var d=0;if(p[d]!==" "){for(var w=0,g=0;p[d]===c;)w++,d++;for(var x=(p.length-d)*u+1>>>0,b=new Uint8Array(x);p[d];){var B=e[p.charCodeAt(d)];if(B===255)return;for(var A=0,I=x-1;(B!==0||A<g)&&I!==-1;I--,A++)B+=a*b[I]>>>0,b[I]=B%256>>>0,B=B/256>>>0;if(B!==0)throw new Error("Non-zero carry");g=A,d++}if(p[d]!==" "){for(var v=x-g;v!==x&&b[v]===0;)v++;for(var E=new Uint8Array(w+(x-v)),U=w;v!==x;)E[U++]=b[v++];return E}}}function h(p){var d=m(p);if(d)return d;throw new Error(`Non-${t} character`)}return{encode:l,decodeUnsafe:m,decode:h}}var Lm=Nm,Um=Lm,$l=Um;var Ma=class{name;prefix;baseEncode;constructor(t,e,n){this.name=t,this.prefix=e,this.baseEncode=n}encode(t){if(t instanceof Uint8Array)return`${this.prefix}${this.baseEncode(t)}`;throw Error("Unknown type, must be binary type")}},$a=class{name;prefix;baseDecode;prefixCodePoint;constructor(t,e,n){if(this.name=t,this.prefix=e,e.codePointAt(0)===void 0)throw new Error("Invalid prefix character");this.prefixCodePoint=e.codePointAt(0),this.baseDecode=n}decode(t){if(typeof t=="string"){if(t.codePointAt(0)!==this.prefixCodePoint)throw Error(`Unable to decode multibase string ${JSON.stringify(t)}, ${this.name} decoder only supports inputs prefixed with ${this.prefix}`);return this.baseDecode(t.slice(this.prefix.length))}else throw Error("Can only multibase decode strings")}or(t){return Hl(this,t)}},Ha=class{decoders;constructor(t){this.decoders=t}or(t){return Hl(this,t)}decode(t){let e=t[0],n=this.decoders[e];if(n!=null)return n.decode(t);throw RangeError(`Unable to decode multibase string ${JSON.stringify(t)}, only inputs prefixed with ${Object.keys(this.decoders)} are supported`)}};function Hl(r,t){return new Ha({...r.decoders??{[r.prefix]:r},...t.decoders??{[t.prefix]:t}})}var Ka=class{name;prefix;baseEncode;baseDecode;encoder;decoder;constructor(t,e,n,o){this.name=t,this.prefix=e,this.baseEncode=n,this.baseDecode=o,this.encoder=new Ma(t,e,n),this.decoder=new $a(t,e,o)}encode(t){return this.encoder.encode(t)}decode(t){return this.decoder.decode(t)}};function ln({name:r,prefix:t,encode:e,decode:n}){return new Ka(r,t,e,n)}function wr({name:r,prefix:t,alphabet:e}){let{encode:n,decode:o}=$l(e,r);return ln({prefix:t,name:r,encode:n,decode:s=>ze(o(s))})}function Dm(r,t,e,n){let o={};for(let f=0;f<t.length;++f)o[t[f]]=f;let s=r.length;for(;r[s-1]==="=";)--s;let i=new Uint8Array(s*e/8|0),a=0,c=0,u=0;for(let f=0;f<s;++f){let l=o[r[f]];if(l===void 0)throw new SyntaxError(`Non-${n} character`);c=c<<e|l,a+=e,a>=8&&(a-=8,i[u++]=255&c>>a)}if(a>=e||255&c<<8-a)throw new SyntaxError("Unexpected end of data");return i}function Pm(r,t,e){let n=t[t.length-1]==="=",o=(1<<e)-1,s="",i=0,a=0;for(let c=0;c<r.length;++c)for(a=a<<8|r[c],i+=8;i>e;)i-=e,s+=t[o&a>>i];if(i!==0&&(s+=t[o&a<<e-i]),n)for(;s.length*e&7;)s+="=";return s}function pt({name:r,prefix:t,bitsPerChar:e,alphabet:n}){return ln({prefix:t,name:r,encode(o){return Pm(o,n,e)},decode(o){return Dm(o,n,e,r)}})}var Om=wr({prefix:"9",name:"base10",alphabet:"0123456789"});var za={};vt(za,{base16:()=>Fm,base16upper:()=>Vm});var Fm=pt({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),Vm=pt({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var ja={};vt(ja,{base2:()=>Mm});var Mm=pt({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var Ga={};vt(Ga,{base256emoji:()=>zm});var Kl=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}"),$m=Kl.reduce((r,t,e)=>(r[e]=t,r),[]),Hm=Kl.reduce((r,t,e)=>(r[t.codePointAt(0)]=e,r),[]);function Km(r){return r.reduce((t,e)=>(t+=$m[e],t),"")}function qm(r){let t=[];for(let e of r){let n=Hm[e.codePointAt(0)];if(n===void 0)throw new Error(`Non-base256emoji character: ${e}`);t.push(n)}return new Uint8Array(t)}var zm=ln({prefix:"\u{1F680}",name:"base256emoji",encode:Km,decode:qm});var Wa={};vt(Wa,{base32:()=>Ct,base32hex:()=>Wm,base32hexpad:()=>Zm,base32hexpadupper:()=>Jm,base32hexupper:()=>Ym,base32pad:()=>jm,base32padupper:()=>Gm,base32upper:()=>ql,base32z:()=>Xm});var Ct=pt({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),ql=pt({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),jm=pt({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),Gm=pt({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),Wm=pt({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),Ym=pt({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),Zm=pt({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),Jm=pt({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),Xm=pt({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var Ya={};vt(Ya,{base36:()=>br,base36upper:()=>Qm});var br=wr({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),Qm=wr({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var Za={};vt(Za,{base58btc:()=>ht,base58flickr:()=>tg});var ht=wr({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),tg=wr({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var Xa={};vt(Xa,{base64:()=>le,base64pad:()=>eg,base64url:()=>Ja,base64urlpad:()=>rg});var le=pt({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),eg=pt({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),Ja=pt({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),rg=pt({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});var Qa={};vt(Qa,{base8:()=>ng});var ng=pt({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var tc={};vt(tc,{identity:()=>og});var og=ln({prefix:"\0",name:"identity",encode:r=>Vl(r),decode:r=>Fl(r)});var YE=new TextEncoder,ZE=new TextDecoder;var zl=512;var fs=85;var nc={};vt(nc,{identity:()=>Wt});var sg=Yl,Gl=128,ig=127,ag=~ig,cg=Math.pow(2,31);function Yl(r,t,e){t=t||[],e=e||0;for(var n=e;r>=cg;)t[e++]=r&255|Gl,r/=128;for(;r&ag;)t[e++]=r&255|Gl,r>>>=7;return t[e]=r|0,Yl.bytes=e-n+1,t}var ug=rc,lg=128,Wl=127;function rc(r,n){var e=0,n=n||0,o=0,s=n,i,a=r.length;do{if(s>=a)throw rc.bytes=0,new RangeError("Could not decode varint");i=r[s++],e+=o<28?(i&Wl)<<o:(i&Wl)*Math.pow(2,o),o+=7}while(i>=lg);return rc.bytes=s-n,e}var fg=Math.pow(2,7),hg=Math.pow(2,14),dg=Math.pow(2,21),pg=Math.pow(2,28),mg=Math.pow(2,35),gg=Math.pow(2,42),yg=Math.pow(2,49),wg=Math.pow(2,56),bg=Math.pow(2,63),xg=function(r){return r<fg?1:r<hg?2:r<dg?3:r<pg?4:r<mg?5:r<gg?6:r<yg?7:r<wg?8:r<bg?9:10},Eg={encode:sg,decode:ug,encodingLength:xg},vg=Eg,ao=vg;function co(r,t=0){return[ao.decode(r,t),ao.decode.bytes]}function fn(r,t,e=0){return ao.encode(r,t,e),t}function hn(r){return ao.encodingLength(r)}function Ce(r,t){let e=t.byteLength,n=hn(r),o=n+hn(e),s=new Uint8Array(o+e);return fn(r,s,0),fn(e,s,n),s.set(t,o),new dn(r,e,t,s)}function Ne(r){let t=ze(r),[e,n]=co(t),[o,s]=co(t.subarray(n)),i=t.subarray(n+s);if(i.byteLength!==o)throw new Error("Incorrect length");return new dn(e,o,i,t)}function Zl(r,t){if(r===t)return!0;{let e=t;return r.code===e.code&&r.size===e.size&&e.bytes instanceof Uint8Array&&Ol(r.bytes,e.bytes)}}var dn=class{code;size;digest;bytes;constructor(t,e,n,o){this.code=t,this.size=e,this.digest=n,this.bytes=o}};var Jl=0,Ag="identity",Xl=ze;function Bg(r){return Ce(Jl,Xl(r))}var Wt={code:Jl,name:Ag,encode:Xl,digest:Bg};var ac={};vt(ac,{sha256:()=>At,sha512:()=>ic});function sc({name:r,code:t,encode:e}){return new oc(r,t,e)}var oc=class{name;code;encode;constructor(t,e,n){this.name=t,this.code=e,this.encode=n}digest(t){if(t instanceof Uint8Array){let e=this.encode(t);return e instanceof Uint8Array?Ce(this.code,e):e.then(n=>Ce(this.code,n))}else throw Error("Unknown type, must be binary type")}};function tf(r){return async t=>new Uint8Array(await crypto.subtle.digest(r,t))}var At=sc({name:"sha2-256",code:18,encode:tf("SHA-256")}),ic=sc({name:"sha2-512",code:19,encode:tf("SHA-512")});function ef(r,t){let{bytes:e,version:n}=r;switch(n){case 0:return Sg(e,cc(r),t??ht.encoder);default:return Ig(e,cc(r),t??Ct.encoder)}}var rf=new WeakMap;function cc(r){let t=rf.get(r);if(t==null){let e=new Map;return rf.set(r,e),e}return t}var tt=class r{code;version;multihash;bytes;"/";constructor(t,e,n,o){this.code=e,this.version=t,this.multihash=n,this.bytes=o,this["/"]=o}get asCID(){return this}get byteOffset(){return this.bytes.byteOffset}get byteLength(){return this.bytes.byteLength}toV0(){switch(this.version){case 0:return this;case 1:{let{code:t,multihash:e}=this;if(t!==uo)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(e.code!==Rg)throw new Error("Cannot convert non sha2-256 multihash CID to CIDv0");return r.createV0(e)}default:throw Error(`Can not convert CID version ${this.version} to version 0. This is a bug please report`)}}toV1(){switch(this.version){case 0:{let{code:t,digest:e}=this.multihash,n=Ce(t,e);return r.createV1(this.code,n)}case 1:return this;default:throw Error(`Can not convert CID version ${this.version} to version 1. This is a bug please report`)}}equals(t){return r.equals(this,t)}static equals(t,e){let n=e;return n!=null&&t.code===n.code&&t.version===n.version&&Zl(t.multihash,n.multihash)}toString(t){return ef(this,t)}toJSON(){return{"/":ef(this)}}link(){return this}[Symbol.toStringTag]="CID";[Symbol.for("nodejs.util.inspect.custom")](){return`CID(${this.toString()})`}static asCID(t){if(t==null)return null;let e=t;if(e instanceof r)return e;if(e["/"]!=null&&e["/"]===e.bytes||e.asCID===e){let{version:n,code:o,multihash:s,bytes:i}=e;return new r(n,o,s,i??nf(n,o,s.bytes))}else if(e[_g]===!0){let{version:n,multihash:o,code:s}=e,i=Ne(o);return r.create(n,s,i)}else return null}static create(t,e,n){if(typeof e!="number")throw new Error("String codecs are no longer supported");if(!(n.bytes instanceof Uint8Array))throw new Error("Invalid digest");switch(t){case 0:{if(e!==uo)throw new Error(`Version 0 CID must use dag-pb (code: ${uo}) block encoding`);return new r(t,e,n,n.bytes)}case 1:{let o=nf(t,e,n.bytes);return new r(t,e,n,o)}default:throw new Error("Invalid version")}}static createV0(t){return r.create(0,uo,t)}static createV1(t,e){return r.create(1,t,e)}static decode(t){let[e,n]=r.decodeFirst(t);if(n.length!==0)throw new Error("Incorrect length");return e}static decodeFirst(t){let e=r.inspectBytes(t),n=e.size-e.multihashSize,o=ze(t.subarray(n,n+e.multihashSize));if(o.byteLength!==e.multihashSize)throw new Error("Incorrect length");let s=o.subarray(e.multihashSize-e.digestSize),i=new dn(e.multihashCode,e.digestSize,s,o);return[e.version===0?r.createV0(i):r.createV1(e.codec,i),t.subarray(e.size)]}static inspectBytes(t){let e=0,n=()=>{let[l,m]=co(t.subarray(e));return e+=m,l},o=n(),s=uo;if(o===18?(o=0,e=0):s=n(),o!==0&&o!==1)throw new RangeError(`Invalid CID version ${o}`);let i=e,a=n(),c=n(),u=e+c,f=u-i;return{version:o,codec:s,multihashCode:a,digestSize:c,multihashSize:f,size:u}}static parse(t,e){let[n,o]=kg(t,e),s=r.decode(o);if(s.version===0&&t[0]!=="Q")throw Error("Version 0 CID string must not include multibase prefix");return cc(s).set(n,t),s}};function kg(r,t){switch(r[0]){case"Q":{let e=t??ht;return[ht.prefix,e.decode(`${ht.prefix}${r}`)]}case ht.prefix:{let e=t??ht;return[ht.prefix,e.decode(r)]}case Ct.prefix:{let e=t??Ct;return[Ct.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 Sg(r,t,e){let{prefix:n}=e;if(n!==ht.prefix)throw Error(`Cannot string encode V0 in ${e.name} encoding`);let o=t.get(n);if(o==null){let s=e.encode(r).slice(1);return t.set(n,s),s}else return o}function Ig(r,t,e){let{prefix:n}=e,o=t.get(n);if(o==null){let s=e.encode(r);return t.set(n,s),s}else return o}var uo=112,Rg=18;function nf(r,t,e){let n=hn(r),o=n+hn(t),s=new Uint8Array(o+e.byteLength);return fn(r,s,0),fn(t,s,n),s.set(e,o),s}var _g=Symbol.for("@ipld/js-cid/CID");var xr={...tc,...ja,...Qa,...qa,...za,...Wa,...Ya,...Za,...Xa,...Ga},yv={...ac,...nc};function sf(r,t,e,n){return{name:r,prefix:t,encoder:{name:r,prefix:t,encode:e},decoder:{decode:n}}}var of=sf("utf8","u",r=>"u"+new TextDecoder("utf8").decode(r),r=>new TextEncoder().encode(r.substring(1))),uc=sf("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=jt(r.length);for(let e=0;e<r.length;e++)t[e]=r.charCodeAt(e);return t}),Tg={utf8:of,"utf-8":of,hex:xr.base16,latin1:uc,ascii:uc,binary:uc,...xr},ds=Tg;function q(r,t="utf8"){let e=ds[t];if(e==null)throw new Error(`Unsupported encoding "${t}"`);return e.decoder.decode(`${e.prefix}${r}`)}function lc(r){let t=r??8192,e=t>>>1,n,o=t;return function(i){if(i<1||i>e)return jt(i);o+i>t&&(n=jt(t),o=0);let a=n.subarray(o,o+=i);return o&7&&(o=(o|7)+1),a}}var qr=class{fn;len;next;val;constructor(t,e,n){this.fn=t,this.len=e,this.next=void 0,this.val=n}};function fc(){}var dc=class{head;tail;len;next;constructor(t){this.head=t.head,this.tail=t.tail,this.len=t.len,this.next=t.states}},Cg=lc();function Ng(r){return globalThis.Buffer!=null?jt(r):Cg(r)}var fo=class{len;head;tail;states;constructor(){this.len=0,this.head=new qr(fc,0,0),this.tail=this.head,this.states=null}_push(t,e,n){return this.tail=this.tail.next=new qr(t,e,n),this.len+=e,this}uint32(t){return this.len+=(this.tail=this.tail.next=new pc((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(ps,10,Xt.fromNumber(t)):this.uint32(t)}sint32(t){return this.uint32((t<<1^t>>31)>>>0)}uint64(t){let e=Xt.fromBigInt(t);return this._push(ps,e.length(),e)}uint64Number(t){return this._push(La,Gt(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=Xt.fromBigInt(t).zzEncode();return this._push(ps,e.length(),e)}sint64Number(t){let e=Xt.fromNumber(t).zzEncode();return this._push(ps,e.length(),e)}sint64String(t){return this.sint64(BigInt(t))}bool(t){return this._push(hc,1,t?1:0)}fixed32(t){return this._push(lo,4,t>>>0)}sfixed32(t){return this.fixed32(t)}fixed64(t){let e=Xt.fromBigInt(t);return this._push(lo,4,e.lo)._push(lo,4,e.hi)}fixed64Number(t){let e=Xt.fromNumber(t);return this._push(lo,4,e.lo)._push(lo,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(_l,4,t)}double(t){return this._push(Cl,8,t)}bytes(t){let e=t.length>>>0;return e===0?this._push(hc,1,0):this.uint32(e)._push(Ug,e,t)}string(t){let e=Ul(t);return e!==0?this.uint32(e)._push(Oa,e,t):this._push(hc,1,0)}fork(){return this.states=new dc(this),this.head=this.tail=new qr(fc,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 qr(fc,0,0),this.len=0),this}ldelim(){let t=this.head,e=this.tail,n=this.len;return this.reset().uint32(n),n!==0&&(this.tail.next=t.next,this.tail=e,this.len+=n),this}finish(){let t=this.head.next,e=Ng(this.len),n=0;for(;t!=null;)t.fn(t.val,e,n),n+=t.len,t=t.next;return e}};function hc(r,t,e){t[e]=r&255}function Lg(r,t,e){for(;r>127;)t[e++]=r&127|128,r>>>=7;t[e]=r}var pc=class extends qr{next;constructor(t,e){super(Lg,t,e),this.next=void 0}};function ps(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 lo(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 Ug(r,t,e){t.set(r,e)}globalThis.Buffer!=null&&(fo.prototype.bytes=function(r){let t=r.length>>>0;return this.uint32(t),t>0&&this._push(Dg,t,r),this},fo.prototype.string=function(r){let t=globalThis.Buffer.byteLength(r);return this.uint32(t),t>0&&this._push(Pg,t,r),this});function Dg(r,t,e){t.set(r,e)}function Pg(r,t,e){r.length<40?Oa(r,t,e):t.utf8Write!=null?t.utf8Write(r,e):t.set(q(r),e)}function mc(){return new fo}function pn(r,t){let e=mc();return t.encode(r,e,{lengthDelimited:!1}),e.finish()}var mn;(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"})(mn||(mn={}));function ms(r,t,e,n){return{name:r,type:t,encode:e,decode:n}}function ho(r){function t(o){if(r[o.toString()]==null)throw new Error("Invalid enum value");return r[o]}let e=function(s,i){let a=t(s);i.int32(a)},n=function(s){let i=s.int32();return t(i)};return ms("enum",mn.VARINT,e,n)}function gn(r,t){return ms("message",mn.LENGTH_DELIMITED,r,t)}var Og=Symbol.for("nodejs.util.inspect.custom"),af=Object.values(xr).map(r=>r.decoder).reduce((r,t)=>r.or(t),xr.identity.decoder),cf=114,gc=36,yc=37,po=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()})`}[so]=!0;toString(){return this.string==null&&(this.string=ht.encode(this.multihash.bytes).slice(1)),this.string}toCID(){return tt.createV1(cf,this.multihash)}toBytes(){return this.multihash.bytes}toJSON(){return this.toString()}equals(t){if(t==null)return!1;if(t instanceof Uint8Array)return it(this.multihash.bytes,t);if(typeof t=="string")return wc(t).equals(this);if(t?.multihash?.bytes!=null)return it(this.multihash.bytes,t.multihash.bytes);throw new Error("not valid Id")}[Og](){return`PeerId(${this.toString()})`}},yn=class extends po{type="RSA";publicKey;constructor(t){super({...t,type:"RSA"}),this.publicKey=t.publicKey}},wn=class extends po{type="Ed25519";publicKey;constructor(t){super({...t,type:"Ed25519"}),this.publicKey=t.multihash.digest}},bn=class extends po{type="secp256k1";publicKey;constructor(t){super({...t,type:"secp256k1"}),this.publicKey=t.multihash.digest}};function wc(r,t){if(t=t??af,r.charAt(0)==="1"||r.charAt(0)==="Q"){let e=Ne(ht.decode(`z${r}`));return r.startsWith("12D")?new wn({multihash:e}):r.startsWith("16U")?new bn({multihash:e}):new yn({multihash:e})}return mo(af.decode(r))}function mo(r){try{let t=Ne(r);if(t.code===Wt.code){if(t.digest.length===gc)return new wn({multihash:t});if(t.digest.length===yc)return new bn({multihash:t})}if(t.code===At.code)return new yn({multihash:t})}catch{return Fg(tt.decode(r))}throw new Error("Supplied PeerID CID is invalid")}function Fg(r){if(r==null||r.multihash==null||r.version==null||r.version===1&&r.code!==cf)throw new Error("Supplied PeerID CID is invalid");let t=r.multihash;if(t.code===At.code)return new yn({multihash:r.multihash});if(t.code===Wt.code){if(t.digest.length===gc)return new wn({multihash:r.multihash});if(t.digest.length===yc)return new bn({multihash:r.multihash})}throw new Error("Supplied PeerID CID is invalid")}async function uf(r,t){return r.length===gc?new wn({multihash:Ce(Wt.code,r),privateKey:t}):r.length===yc?new bn({multihash:Ce(Wt.code,r),privateKey:t}):new yn({multihash:await At.digest(r),publicKey:r,privateKey:t})}var Kt={get(r=globalThis){let t=r.crypto;if(t==null||t.subtle==null)throw Object.assign(new Error("Missing Web Crypto API. The most likely cause of this error is that this page is being accessed from an insecure context (i.e. not HTTPS). For more information and possible resolutions see https://github.com/libp2p/js-libp2p/blob/main/packages/crypto/README.md#web-crypto-api"),{code:"ERR_MISSING_WEB_CRYPTO"});return t}};var Dc={};vt(Dc,{Ed25519PrivateKey:()=>Wr,Ed25519PublicKey:()=>wo,generateKeyPair:()=>Wy,generateKeyPairFromSeed:()=>Pf,unmarshalEd25519PrivateKey:()=>jy,unmarshalEd25519PublicKey:()=>Gy});function fe(r){return r==null?!1:typeof r.then=="function"&&typeof r.catch=="function"&&typeof r.finally=="function"}function xn(r){if(!Number.isSafeInteger(r)||r<0)throw new Error(`positive integer expected, not ${r}`)}function Vg(r){return r instanceof Uint8Array||r!=null&&typeof r=="object"&&r.constructor.name==="Uint8Array"}function En(r,...t){if(!Vg(r))throw new Error("Uint8Array expected");if(t.length>0&&!t.includes(r.length))throw new Error(`Uint8Array expected of length ${t}, not of length=${r.length}`)}function gs(r){if(typeof r!="function"||typeof r.create!="function")throw new Error("Hash should be wrapped by utils.wrapConstructor");xn(r.outputLen),xn(r.blockLen)}function vn(r,t=!0){if(r.destroyed)throw new Error("Hash instance has been destroyed");if(t&&r.finished)throw new Error("Hash#digest() has already been called")}function lf(r,t){En(r);let e=t.outputLen;if(r.length<e)throw new Error(`digestInto() expects output buffer of length at least ${e}`)}var ys=typeof globalThis=="object"&&"crypto"in globalThis?globalThis.crypto:void 0;var Bn=r=>new DataView(r.buffer,r.byteOffset,r.byteLength),xe=(r,t)=>r<<32-t|r>>>t;var u2=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;var Mg=async()=>{};async function ff(r,t,e){let n=Date.now();for(let o=0;o<r;o++){e(o);let s=Date.now()-n;s>=0&&s<t||(await Mg(),n+=s)}}function bc(r){if(typeof r!="string")throw new Error(`utf8ToBytes expected string, got ${typeof r}`);return new Uint8Array(new TextEncoder().encode(r))}function Er(r){return typeof r=="string"&&(r=bc(r)),En(r),r}function ws(...r){let t=0;for(let n=0;n<r.length;n++){let o=r[n];En(o),t+=o.length}let e=new Uint8Array(t);for(let n=0,o=0;n<r.length;n++){let s=r[n];e.set(s,o),o+=s.length}return e}var An=class{clone(){return this._cloneInto()}},$g={}.toString;function hf(r,t){if(t!==void 0&&$g.call(t)!=="[object Object]")throw new Error("Options should be object or undefined");return Object.assign(r,t)}function bs(r){let t=n=>r().update(Er(n)).digest(),e=r();return t.outputLen=e.outputLen,t.blockLen=e.blockLen,t.create=()=>r(),t}function kn(r=32){if(ys&&typeof ys.getRandomValues=="function")return ys.getRandomValues(new Uint8Array(r));throw new Error("crypto.getRandomValues must be defined")}function Hg(r,t,e,n){if(typeof r.setBigUint64=="function")return r.setBigUint64(t,e,n);let o=BigInt(32),s=BigInt(4294967295),i=Number(e>>o&s),a=Number(e&s),c=n?4:0,u=n?0:4;r.setUint32(t+c,i,n),r.setUint32(t+u,a,n)}var df=(r,t,e)=>r&t^~r&e,pf=(r,t,e)=>r&t^r&e^t&e,Sn=class extends An{constructor(t,e,n,o){super(),this.blockLen=t,this.outputLen=e,this.padOffset=n,this.isLE=o,this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.buffer=new Uint8Array(t),this.view=Bn(this.buffer)}update(t){vn(this);let{view:e,buffer:n,blockLen:o}=this;t=Er(t);let s=t.length;for(let i=0;i<s;){let a=Math.min(o-this.pos,s-i);if(a===o){let c=Bn(t);for(;o<=s-i;i+=o)this.process(c,i);continue}n.set(t.subarray(i,i+a),this.pos),this.pos+=a,i+=a,this.pos===o&&(this.process(e,0),this.pos=0)}return this.length+=t.length,this.roundClean(),this}digestInto(t){vn(this),lf(t,this),this.finished=!0;let{buffer:e,view:n,blockLen:o,isLE:s}=this,{pos:i}=this;e[i++]=128,this.buffer.subarray(i).fill(0),this.padOffset>o-i&&(this.process(n,0),i=0);for(let l=i;l<o;l++)e[l]=0;Hg(n,o-8,BigInt(this.length*8),s),this.process(n,0);let a=Bn(t),c=this.outputLen;if(c%4)throw new Error("_sha2: outputLen should be aligned to 32bit");let u=c/4,f=this.get();if(u>f.length)throw new Error("_sha2: outputLen bigger than state");for(let l=0;l<u;l++)a.setUint32(4*l,f[l],s)}digest(){let{buffer:t,outputLen:e}=this;this.digestInto(t);let n=t.slice(0,e);return this.destroy(),n}_cloneInto(t){t||(t=new this.constructor),t.set(...this.get());let{blockLen:e,buffer:n,length:o,finished:s,destroyed:i,pos:a}=this;return t.length=o,t.pos=a,t.finished=s,t.destroyed=i,o%e&&t.buffer.set(n),t}};var xs=BigInt(4294967295),xc=BigInt(32);function mf(r,t=!1){return t?{h:Number(r&xs),l:Number(r>>xc&xs)}:{h:Number(r>>xc&xs)|0,l:Number(r&xs)|0}}function Kg(r,t=!1){let e=new Uint32Array(r.length),n=new Uint32Array(r.length);for(let o=0;o<r.length;o++){let{h:s,l:i}=mf(r[o],t);[e[o],n[o]]=[s,i]}return[e,n]}var qg=(r,t)=>BigInt(r>>>0)<<xc|BigInt(t>>>0),zg=(r,t,e)=>r>>>e,jg=(r,t,e)=>r<<32-e|t>>>e,Gg=(r,t,e)=>r>>>e|t<<32-e,Wg=(r,t,e)=>r<<32-e|t>>>e,Yg=(r,t,e)=>r<<64-e|t>>>e-32,Zg=(r,t,e)=>r>>>e-32|t<<64-e,Jg=(r,t)=>t,Xg=(r,t)=>r,Qg=(r,t,e)=>r<<e|t>>>32-e,ty=(r,t,e)=>t<<e|r>>>32-e,ey=(r,t,e)=>t<<e-32|r>>>64-e,ry=(r,t,e)=>r<<e-32|t>>>64-e;function ny(r,t,e,n){let o=(t>>>0)+(n>>>0);return{h:r+e+(o/2**32|0)|0,l:o|0}}var oy=(r,t,e)=>(r>>>0)+(t>>>0)+(e>>>0),sy=(r,t,e,n)=>t+e+n+(r/2**32|0)|0,iy=(r,t,e,n)=>(r>>>0)+(t>>>0)+(e>>>0)+(n>>>0),ay=(r,t,e,n,o)=>t+e+n+o+(r/2**32|0)|0,cy=(r,t,e,n,o)=>(r>>>0)+(t>>>0)+(e>>>0)+(n>>>0)+(o>>>0),uy=(r,t,e,n,o,s)=>t+e+n+o+s+(r/2**32|0)|0;var ly={fromBig:mf,split:Kg,toBig:qg,shrSH:zg,shrSL:jg,rotrSH:Gg,rotrSL:Wg,rotrBH:Yg,rotrBL:Zg,rotr32H:Jg,rotr32L:Xg,rotlSH:Qg,rotlSL:ty,rotlBH:ey,rotlBL:ry,add:ny,add3L:oy,add3H:sy,add4L:iy,add4H:ay,add5H:uy,add5L:cy},z=ly;var[fy,hy]=z.split(["0x428a2f98d728ae22","0x7137449123ef65cd","0xb5c0fbcfec4d3b2f","0xe9b5dba58189dbbc","0x3956c25bf348b538","0x59f111f1b605d019","0x923f82a4af194f9b","0xab1c5ed5da6d8118","0xd807aa98a3030242","0x12835b0145706fbe","0x243185be4ee4b28c","0x550c7dc3d5ffb4e2","0x72be5d74f27b896f","0x80deb1fe3b1696b1","0x9bdc06a725c71235","0xc19bf174cf692694","0xe49b69c19ef14ad2","0xefbe4786384f25e3","0x0fc19dc68b8cd5b5","0x240ca1cc77ac9c65","0x2de92c6f592b0275","0x4a7484aa6ea6e483","0x5cb0a9dcbd41fbd4","0x76f988da831153b5","0x983e5152ee66dfab","0xa831c66d2db43210","0xb00327c898fb213f","0xbf597fc7beef0ee4","0xc6e00bf33da88fc2","0xd5a79147930aa725","0x06ca6351e003826f","0x142929670a0e6e70","0x27b70a8546d22ffc","0x2e1b21385c26c926","0x4d2c6dfc5ac42aed","0x53380d139d95b3df","0x650a73548baf63de","0x766a0abb3c77b2a8","0x81c2c92e47edaee6","0x92722c851482353b","0xa2bfe8a14cf10364","0xa81a664bbc423001","0xc24b8b70d0f89791","0xc76c51a30654be30","0xd192e819d6ef5218","0xd69906245565a910","0xf40e35855771202a","0x106aa07032bbd1b8","0x19a4c116b8d2d0c8","0x1e376c085141ab53","0x2748774cdf8eeb99","0x34b0bcb5e19b48a8","0x391c0cb3c5c95a63","0x4ed8aa4ae3418acb","0x5b9cca4f7763e373","0x682e6ff3d6b2b8a3","0x748f82ee5defb2fc","0x78a5636f43172f60","0x84c87814a1f0ab72","0x8cc702081a6439ec","0x90befffa23631e28","0xa4506cebde82bde9","0xbef9a3f7b2c67915","0xc67178f2e372532b","0xca273eceea26619c","0xd186b8c721c0c207","0xeada7dd6cde0eb1e","0xf57d4f7fee6ed178","0x06f067aa72176fba","0x0a637dc5a2c898a6","0x113f9804bef90dae","0x1b710b35131c471b","0x28db77f523047d84","0x32caab7b40c72493","0x3c9ebe0a15c9bebc","0x431d67c49c100d4c","0x4cc5d4becb3e42b6","0x597f299cfc657e2a","0x5fcb6fab3ad6faec","0x6c44198c4a475817"].map(r=>BigInt(r))),vr=new Uint32Array(80),Ar=new Uint32Array(80),Ec=class extends Sn{constructor(){super(128,64,16,!1),this.Ah=1779033703,this.Al=-205731576,this.Bh=-1150833019,this.Bl=-2067093701,this.Ch=1013904242,this.Cl=-23791573,this.Dh=-1521486534,this.Dl=1595750129,this.Eh=1359893119,this.El=-1377402159,this.Fh=-1694144372,this.Fl=725511199,this.Gh=528734635,this.Gl=-79577749,this.Hh=1541459225,this.Hl=327033209}get(){let{Ah:t,Al:e,Bh:n,Bl:o,Ch:s,Cl:i,Dh:a,Dl:c,Eh:u,El:f,Fh:l,Fl:m,Gh:h,Gl:p,Hh:d,Hl:w}=this;return[t,e,n,o,s,i,a,c,u,f,l,m,h,p,d,w]}set(t,e,n,o,s,i,a,c,u,f,l,m,h,p,d,w){this.Ah=t|0,this.Al=e|0,this.Bh=n|0,this.Bl=o|0,this.Ch=s|0,this.Cl=i|0,this.Dh=a|0,this.Dl=c|0,this.Eh=u|0,this.El=f|0,this.Fh=l|0,this.Fl=m|0,this.Gh=h|0,this.Gl=p|0,this.Hh=d|0,this.Hl=w|0}process(t,e){for(let b=0;b<16;b++,e+=4)vr[b]=t.getUint32(e),Ar[b]=t.getUint32(e+=4);for(let b=16;b<80;b++){let B=vr[b-15]|0,A=Ar[b-15]|0,I=z.rotrSH(B,A,1)^z.rotrSH(B,A,8)^z.shrSH(B,A,7),v=z.rotrSL(B,A,1)^z.rotrSL(B,A,8)^z.shrSL(B,A,7),E=vr[b-2]|0,U=Ar[b-2]|0,P=z.rotrSH(E,U,19)^z.rotrBH(E,U,61)^z.shrSH(E,U,6),N=z.rotrSL(E,U,19)^z.rotrBL(E,U,61)^z.shrSL(E,U,6),M=z.add4L(v,N,Ar[b-7],Ar[b-16]),C=z.add4H(M,I,P,vr[b-7],vr[b-16]);vr[b]=C|0,Ar[b]=M|0}let{Ah:n,Al:o,Bh:s,Bl:i,Ch:a,Cl:c,Dh:u,Dl:f,Eh:l,El:m,Fh:h,Fl:p,Gh:d,Gl:w,Hh:g,Hl:x}=this;for(let b=0;b<80;b++){let B=z.rotrSH(l,m,14)^z.rotrSH(l,m,18)^z.rotrBH(l,m,41),A=z.rotrSL(l,m,14)^z.rotrSL(l,m,18)^z.rotrBL(l,m,41),I=l&h^~l&d,v=m&p^~m&w,E=z.add5L(x,A,v,hy[b],Ar[b]),U=z.add5H(E,g,B,I,fy[b],vr[b]),P=E|0,N=z.rotrSH(n,o,28)^z.rotrBH(n,o,34)^z.rotrBH(n,o,39),M=z.rotrSL(n,o,28)^z.rotrBL(n,o,34)^z.rotrBL(n,o,39),C=n&s^n&a^s&a,X=o&i^o&c^i&c;g=d|0,x=w|0,d=h|0,w=p|0,h=l|0,p=m|0,{h:l,l:m}=z.add(u|0,f|0,U|0,P|0),u=a|0,f=c|0,a=s|0,c=i|0,s=n|0,i=o|0;let S=z.add3L(P,M,X);n=z.add3H(S,U,N,C),o=S|0}({h:n,l:o}=z.add(this.Ah|0,this.Al|0,n|0,o|0)),{h:s,l:i}=z.add(this.Bh|0,this.Bl|0,s|0,i|0),{h:a,l:c}=z.add(this.Ch|0,this.Cl|0,a|0,c|0),{h:u,l:f}=z.add(this.Dh|0,this.Dl|0,u|0,f|0),{h:l,l:m}=z.add(this.Eh|0,this.El|0,l|0,m|0),{h,l:p}=z.add(this.Fh|0,this.Fl|0,h|0,p|0),{h:d,l:w}=z.add(this.Gh|0,this.Gl|0,d|0,w|0),{h:g,l:x}=z.add(this.Hh|0,this.Hl|0,g|0,x|0),this.set(n,o,s,i,a,c,u,f,l,m,h,p,d,w,g,x)}roundClean(){vr.fill(0),Ar.fill(0)}destroy(){this.buffer.fill(0),this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)}};var In=bs(()=>new Ec);var vs={};vt(vs,{abytes:()=>Rn,bitGet:()=>by,bitLen:()=>wy,bitMask:()=>go,bitSet:()=>xy,bytesToHex:()=>We,bytesToNumberBE:()=>Ye,bytesToNumberLE:()=>kr,concatBytes:()=>Ze,createHmacDrbg:()=>Bc,ensureBytes:()=>mt,equalBytes:()=>gy,hexToBytes:()=>zr,hexToNumber:()=>Ac,isBytes:()=>Br,numberToBytesBE:()=>Sr,numberToBytesLE:()=>jr,numberToHexUnpadded:()=>bf,numberToVarBytesBE:()=>my,utf8ToBytes:()=>yy,validateObject:()=>Le});var wf=BigInt(0),Es=BigInt(1),dy=BigInt(2);function Br(r){return r instanceof Uint8Array||r!=null&&typeof r=="object"&&r.constructor.name==="Uint8Array"}function Rn(r){if(!Br(r))throw new Error("Uint8Array expected")}var py=Array.from({length:256},(r,t)=>t.toString(16).padStart(2,"0"));function We(r){Rn(r);let t="";for(let e=0;e<r.length;e++)t+=py[r[e]];return t}function bf(r){let t=r.toString(16);return t.length&1?`0${t}`:t}function Ac(r){if(typeof r!="string")throw new Error("hex string expected, got "+typeof r);return BigInt(r===""?"0":`0x${r}`)}var Ge={_0:48,_9:57,_A:65,_F:70,_a:97,_f:102};function gf(r){if(r>=Ge._0&&r<=Ge._9)return r-Ge._0;if(r>=Ge._A&&r<=Ge._F)return r-(Ge._A-10);if(r>=Ge._a&&r<=Ge._f)return r-(Ge._a-10)}function zr(r){if(typeof r!="string")throw new Error("hex string expected, got "+typeof r);let t=r.length,e=t/2;if(t%2)throw new Error("padded hex string expected, got unpadded hex of length "+t);let n=new Uint8Array(e);for(let o=0,s=0;o<e;o++,s+=2){let i=gf(r.charCodeAt(s)),a=gf(r.charCodeAt(s+1));if(i===void 0||a===void 0){let c=r[s]+r[s+1];throw new Error('hex string expected, got non-hex character "'+c+'" at index '+s)}n[o]=i*16+a}return n}function Ye(r){return Ac(We(r))}function kr(r){return Rn(r),Ac(We(Uint8Array.from(r).reverse()))}function Sr(r,t){return zr(r.toString(16).padStart(t*2,"0"))}function jr(r,t){return Sr(r,t).reverse()}function my(r){return zr(bf(r))}function mt(r,t,e){let n;if(typeof t=="string")try{n=zr(t)}catch(s){throw new Error(`${r} must be valid hex string, got "${t}". Cause: ${s}`)}else if(Br(t))n=Uint8Array.from(t);else throw new Error(`${r} must be hex string or Uint8Array`);let o=n.length;if(typeof e=="number"&&o!==e)throw new Error(`${r} expected ${e} bytes, got ${o}`);return n}function Ze(...r){let t=0;for(let n=0;n<r.length;n++){let o=r[n];Rn(o),t+=o.length}let e=new Uint8Array(t);for(let n=0,o=0;n<r.length;n++){let s=r[n];e.set(s,o),o+=s.length}return e}function gy(r,t){if(r.length!==t.length)return!1;let e=0;for(let n=0;n<r.length;n++)e|=r[n]^t[n];return e===0}function yy(r){if(typeof r!="string")throw new Error(`utf8ToBytes expected string, got ${typeof r}`);return new Uint8Array(new TextEncoder().encode(r))}function wy(r){let t;for(t=0;r>wf;r>>=Es,t+=1);return t}function by(r,t){return r>>BigInt(t)&Es}function xy(r,t,e){return r|(e?Es:wf)<<BigInt(t)}var go=r=>(dy<<BigInt(r-1))-Es,vc=r=>new Uint8Array(r),yf=r=>Uint8Array.from(r);function Bc(r,t,e){if(typeof r!="number"||r<2)throw new Error("hashLen must be a number");if(typeof t!="number"||t<2)throw new Error("qByteLen must be a number");if(typeof e!="function")throw new Error("hmacFn must be a function");let n=vc(r),o=vc(r),s=0,i=()=>{n.fill(1),o.fill(0),s=0},a=(...l)=>e(o,n,...l),c=(l=vc())=>{o=a(yf([0]),l),n=a(),l.length!==0&&(o=a(yf([1]),l),n=a())},u=()=>{if(s++>=1e3)throw new Error("drbg: tried 1000 values");let l=0,m=[];for(;l<t;){n=a();let h=n.slice();m.push(h),l+=n.length}return Ze(...m)};return(l,m)=>{i(),c(l);let h;for(;!(h=m(u()));)c();return i(),h}}var Ey={bigint:r=>typeof r=="bigint",function:r=>typeof r=="function",boolean:r=>typeof r=="boolean",string:r=>typeof r=="string",stringOrUint8Array:r=>typeof r=="string"||Br(r),isSafeInteger:r=>Number.isSafeInteger(r),array:r=>Array.isArray(r),field:(r,t)=>t.Fp.isValid(r),hash:r=>typeof r=="function"&&Number.isSafeInteger(r.outputLen)};function Le(r,t,e={}){let n=(o,s,i)=>{let a=Ey[s];if(typeof a!="function")throw new Error(`Invalid validator "${s}", expected function`);let c=r[o];if(!(i&&c===void 0)&&!a(c,r))throw new Error(`Invalid param ${String(o)}=${c} (${typeof c}), expected ${s}`)};for(let[o,s]of Object.entries(t))n(o,s,!1);for(let[o,s]of Object.entries(e))n(o,s,!0);return r}var Bt=BigInt(0),ut=BigInt(1),Gr=BigInt(2),vy=BigInt(3),kc=BigInt(4),xf=BigInt(5),Ef=BigInt(8),Ay=BigInt(9),By=BigInt(16);function at(r,t){let e=r%t;return e>=Bt?e:t+e}function ky(r,t,e){if(e<=Bt||t<Bt)throw new Error("Expected power/modulo > 0");if(e===ut)return Bt;let n=ut;for(;t>Bt;)t&ut&&(n=n*r%e),r=r*r%e,t>>=ut;return n}function lt(r,t,e){let n=r;for(;t-- >Bt;)n*=n,n%=e;return n}function As(r,t){if(r===Bt||t<=Bt)throw new Error(`invert: expected positive integers, got n=${r} mod=${t}`);let e=at(r,t),n=t,o=Bt,s=ut,i=ut,a=Bt;for(;e!==Bt;){let u=n/e,f=n%e,l=o-i*u,m=s-a*u;n=e,e=f,o=i,s=a,i=l,a=m}if(n!==ut)throw new Error("invert: does not exist");return at(o,t)}function Sy(r){let t=(r-ut)/Gr,e,n,o;for(e=r-ut,n=0;e%Gr===Bt;e/=Gr,n++);for(o=Gr;o<r&&ky(o,t,r)!==r-ut;o++);if(n===1){let i=(r+ut)/kc;return function(c,u){let f=c.pow(u,i);if(!c.eql(c.sqr(f),u))throw new Error("Cannot find square root");return f}}let s=(e+ut)/Gr;return function(a,c){if(a.pow(c,t)===a.neg(a.ONE))throw new Error("Cannot find square root");let u=n,f=a.pow(a.mul(a.ONE,o),e),l=a.pow(c,s),m=a.pow(c,e);for(;!a.eql(m,a.ONE);){if(a.eql(m,a.ZERO))return a.ZERO;let h=1;for(let d=a.sqr(m);h<u&&!a.eql(d,a.ONE);h++)d=a.sqr(d);let p=a.pow(f,ut<<BigInt(u-h-1));f=a.sqr(p),l=a.mul(l,p),m=a.mul(m,f),u=h}return l}}function Iy(r){if(r%kc===vy){let t=(r+ut)/kc;return function(n,o){let s=n.pow(o,t);if(!n.eql(n.sqr(s),o))throw new Error("Cannot find square root");return s}}if(r%Ef===xf){let t=(r-xf)/Ef;return function(n,o){let s=n.mul(o,Gr),i=n.pow(s,t),a=n.mul(o,i),c=n.mul(n.mul(a,Gr),i),u=n.mul(a,n.sub(c,n.ONE));if(!n.eql(n.sqr(u),o))throw new Error("Cannot find square root");return u}}return r%By,Sy(r)}var vf=(r,t)=>(at(r,t)&ut)===ut,Ry=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"];function Sc(r){let t={ORDER:"bigint",MASK:"bigint",BYTES:"isSafeInteger",BITS:"isSafeInteger"},e=Ry.reduce((n,o)=>(n[o]="function",n),t);return Le(r,e)}function _y(r,t,e){if(e<Bt)throw new Error("Expected power > 0");if(e===Bt)return r.ONE;if(e===ut)return t;let n=r.ONE,o=t;for(;e>Bt;)e&ut&&(n=r.mul(n,o)),o=r.sqr(o),e>>=ut;return n}function Ty(r,t){let e=new Array(t.length),n=t.reduce((s,i,a)=>r.is0(i)?s:(e[a]=s,r.mul(s,i)),r.ONE),o=r.inv(n);return t.reduceRight((s,i,a)=>r.is0(i)?s:(e[a]=r.mul(s,e[a]),r.mul(s,i)),o),e}function Ic(r,t){let e=t!==void 0?t:r.toString(2).length,n=Math.ceil(e/8);return{nBitLength:e,nByteLength:n}}function Bs(r,t,e=!1,n={}){if(r<=Bt)throw new Error(`Expected Field ORDER > 0, got ${r}`);let{nBitLength:o,nByteLength:s}=Ic(r,t);if(s>2048)throw new Error("Field lengths over 2048 bytes are not supported");let i=Iy(r),a=Object.freeze({ORDER:r,BITS:o,BYTES:s,MASK:go(o),ZERO:Bt,ONE:ut,create:c=>at(c,r),isValid:c=>{if(typeof c!="bigint")throw new Error(`Invalid field element: expected bigint, got ${typeof c}`);return Bt<=c&&c<r},is0:c=>c===Bt,isOdd:c=>(c&ut)===ut,neg:c=>at(-c,r),eql:(c,u)=>c===u,sqr:c=>at(c*c,r),add:(c,u)=>at(c+u,r),sub:(c,u)=>at(c-u,r),mul:(c,u)=>at(c*u,r),pow:(c,u)=>_y(a,c,u),div:(c,u)=>at(c*As(u,r),r),sqrN:c=>c*c,addN:(c,u)=>c+u,subN:(c,u)=>c-u,mulN:(c,u)=>c*u,inv:c=>As(c,r),sqrt:n.sqrt||(c=>i(a,c)),invertBatch:c=>Ty(a,c),cmov:(c,u,f)=>f?u:c,toBytes:c=>e?jr(c,s):Sr(c,s),fromBytes:c=>{if(c.length!==s)throw new Error(`Fp.fromBytes: expected ${s}, got ${c.length}`);return e?kr(c):Ye(c)}});return Object.freeze(a)}function Af(r,t){if(!r.isOdd)throw new Error("Field doesn't have isOdd");let e=r.sqrt(t);return r.isOdd(e)?r.neg(e):e}function Bf(r){if(typeof r!="bigint")throw new Error("field order must be bigint");let t=r.toString(2).length;return Math.ceil(t/8)}function Rc(r){let t=Bf(r);return t+Math.ceil(t/2)}function kf(r,t,e=!1){let n=r.length,o=Bf(t),s=Rc(t);if(n<16||n<s||n>1024)throw new Error(`expected ${s}-1024 bytes of input, got ${n}`);let i=e?Ye(r):kr(r),a=at(i,t-ut)+ut;return e?jr(a,o):Sr(a,o)}var Ny=BigInt(0),_c=BigInt(1);function ks(r,t){let e=(o,s)=>{let i=s.negate();return o?i:s},n=o=>{let s=Math.ceil(t/o)+1,i=2**(o-1);return{windows:s,windowSize:i}};return{constTimeNegate:e,unsafeLadder(o,s){let i=r.ZERO,a=o;for(;s>Ny;)s&_c&&(i=i.add(a)),a=a.double(),s>>=_c;return i},precomputeWindow(o,s){let{windows:i,windowSize:a}=n(s),c=[],u=o,f=u;for(let l=0;l<i;l++){f=u,c.push(f);for(let m=1;m<a;m++)f=f.add(u),c.push(f);u=f.double()}return c},wNAF(o,s,i){let{windows:a,windowSize:c}=n(o),u=r.ZERO,f=r.BASE,l=BigInt(2**o-1),m=2**o,h=BigInt(o);for(let p=0;p<a;p++){let d=p*c,w=Number(i&l);i>>=h,w>c&&(w-=m,i+=_c);let g=d,x=d+Math.abs(w)-1,b=p%2!==0,B=w<0;w===0?f=f.add(e(b,s[g])):u=u.add(e(B,s[x]))}return{p:u,f}},wNAFCached(o,s,i,a){let c=o._WINDOW_SIZE||1,u=s.get(o);return u||(u=this.precomputeWindow(o,c),c!==1&&s.set(o,a(u))),this.wNAF(c,u,i)}}}function yo(r){return Sc(r.Fp),Le(r,{n:"bigint",h:"bigint",Gx:"field",Gy:"field"},{nBitLength:"isSafeInteger",nByteLength:"isSafeInteger"}),Object.freeze({...Ic(r.n,r.nBitLength),...r,p:r.Fp.ORDER})}var Ee=BigInt(0),Qt=BigInt(1),Ss=BigInt(2),Ly=BigInt(8),Uy={zip215:!0};function Dy(r){let t=yo(r);return Le(r,{hash:"function",a:"bigint",d:"bigint",randomBytes:"function"},{adjustScalarBytes:"function",domain:"function",uvRatio:"function",mapToCurve:"function"}),Object.freeze({...t})}function Is(r){let t=Dy(r),{Fp:e,n,prehash:o,hash:s,randomBytes:i,nByteLength:a,h:c}=t,u=Ss<<BigInt(a*8)-Qt,f=e.create,l=t.uvRatio||((_,k)=>{try{return{isValid:!0,value:e.sqrt(_*e.inv(k))}}catch{return{isValid:!1,value:Ee}}}),m=t.adjustScalarBytes||(_=>_),h=t.domain||((_,k,F)=>{if(k.length||F)throw new Error("Contexts/pre-hash are not supported");return _}),p=_=>typeof _=="bigint"&&Ee<_,d=(_,k)=>p(_)&&p(k)&&_<k,w=_=>_===Ee||d(_,u);function g(_,k){if(d(_,k))return _;throw new Error(`Expected valid scalar < ${k}, got ${typeof _} ${_}`)}function x(_){return _===Ee?_:g(_,n)}let b=new Map;function B(_){if(!(_ instanceof A))throw new Error("ExtendedPoint expected")}class A{constructor(k,F,$,K){if(this.ex=k,this.ey=F,this.ez=$,this.et=K,!w(k))throw new Error("x required");if(!w(F))throw new Error("y required");if(!w($))throw new Error("z required");if(!w(K))throw new Error("t required")}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static fromAffine(k){if(k instanceof A)throw new Error("extended point not allowed");let{x:F,y:$}=k||{};if(!w(F)||!w($))throw new Error("invalid affine point");return new A(F,$,Qt,f(F*$))}static normalizeZ(k){let F=e.invertBatch(k.map($=>$.ez));return k.map(($,K)=>$.toAffine(F[K])).map(A.fromAffine)}_setWindowSize(k){this._WINDOW_SIZE=k,b.delete(this)}assertValidity(){let{a:k,d:F}=t;if(this.is0())throw new Error("bad point: ZERO");let{ex:$,ey:K,ez:W,et:Y}=this,rt=f($*$),J=f(K*K),Q=f(W*W),wt=f(Q*Q),dt=f(rt*k),_t=f(Q*f(dt+J)),Tt=f(wt+f(F*f(rt*J)));if(_t!==Tt)throw new Error("bad point: equation left != right (1)");let Et=f($*K),Ot=f(W*Y);if(Et!==Ot)throw new Error("bad point: equation left != right (2)")}equals(k){B(k);let{ex:F,ey:$,ez:K}=this,{ex:W,ey:Y,ez:rt}=k,J=f(F*rt),Q=f(W*K),wt=f($*rt),dt=f(Y*K);return J===Q&&wt===dt}is0(){return this.equals(A.ZERO)}negate(){return new A(f(-this.ex),this.ey,this.ez,f(-this.et))}double(){let{a:k}=t,{ex:F,ey:$,ez:K}=this,W=f(F*F),Y=f($*$),rt=f(Ss*f(K*K)),J=f(k*W),Q=F+$,wt=f(f(Q*Q)-W-Y),dt=J+Y,_t=dt-rt,Tt=J-Y,Et=f(wt*_t),Ot=f(dt*Tt),Ke=f(wt*Tt),Fr=f(_t*dt);return new A(Et,Ot,Fr,Ke)}add(k){B(k);let{a:F,d:$}=t,{ex:K,ey:W,ez:Y,et:rt}=this,{ex:J,ey:Q,ez:wt,et:dt}=k;if(F===BigInt(-1)){let dl=f((W-K)*(Q+J)),pl=f((W+K)*(Q-J)),ka=f(pl-dl);if(ka===Ee)return this.double();let ml=f(Y*Ss*dt),gl=f(rt*Ss*wt),yl=gl+ml,wl=pl+dl,bl=gl-ml,rm=f(yl*ka),nm=f(wl*bl),om=f(yl*bl),sm=f(ka*wl);return new A(rm,nm,sm,om)}let _t=f(K*J),Tt=f(W*Q),Et=f(rt*$*dt),Ot=f(Y*wt),Ke=f((K+W)*(J+Q)-_t-Tt),Fr=Ot-Et,no=Ot+Et,hl=f(Tt-F*_t),X0=f(Ke*Fr),Q0=f(no*hl),tm=f(Ke*hl),em=f(Fr*no);return new A(X0,Q0,em,tm)}subtract(k){return this.add(k.negate())}wNAF(k){return E.wNAFCached(this,b,k,A.normalizeZ)}multiply(k){let{p:F,f:$}=this.wNAF(g(k,n));return A.normalizeZ([F,$])[0]}multiplyUnsafe(k){let F=x(k);return F===Ee?v:this.equals(v)||F===Qt?this:this.equals(I)?this.wNAF(F).p:E.unsafeLadder(this,F)}isSmallOrder(){return this.multiplyUnsafe(c).is0()}isTorsionFree(){return E.unsafeLadder(this,n).is0()}toAffine(k){let{ex:F,ey:$,ez:K}=this,W=this.is0();k==null&&(k=W?Ly:e.inv(K));let Y=f(F*k),rt=f($*k),J=f(K*k);if(W)return{x:Ee,y:Qt};if(J!==Qt)throw new Error("invZ was invalid");return{x:Y,y:rt}}clearCofactor(){let{h:k}=t;return k===Qt?this:this.multiplyUnsafe(k)}static fromHex(k,F=!1){let{d:$,a:K}=t,W=e.BYTES;k=mt("pointHex",k,W);let Y=k.slice(),rt=k[W-1];Y[W-1]=rt&-129;let J=kr(Y);J===Ee||(F?g(J,u):g(J,e.ORDER));let Q=f(J*J),wt=f(Q-Qt),dt=f($*Q-K),{isValid:_t,value:Tt}=l(wt,dt);if(!_t)throw new Error("Point.fromHex: invalid y coordinate");let Et=(Tt&Qt)===Qt,Ot=(rt&128)!==0;if(!F&&Tt===Ee&&Ot)throw new Error("Point.fromHex: x=0 and x_0=1");return Ot!==Et&&(Tt=f(-Tt)),A.fromAffine({x:Tt,y:J})}static fromPrivateKey(k){return N(k).point}toRawBytes(){let{x:k,y:F}=this.toAffine(),$=jr(F,e.BYTES);return $[$.length-1]|=k&Qt?128:0,$}toHex(){return We(this.toRawBytes())}}A.BASE=new A(t.Gx,t.Gy,Qt,f(t.Gx*t.Gy)),A.ZERO=new A(Ee,Qt,Qt,Ee);let{BASE:I,ZERO:v}=A,E=ks(A,a*8);function U(_){return at(_,n)}function P(_){return U(kr(_))}function N(_){let k=a;_=mt("private key",_,k);let F=mt("hashed private key",s(_),2*k),$=m(F.slice(0,k)),K=F.slice(k,2*k),W=P($),Y=I.multiply(W),rt=Y.toRawBytes();return{head:$,prefix:K,scalar:W,point:Y,pointBytes:rt}}function M(_){return N(_).pointBytes}function C(_=new Uint8Array,...k){let F=Ze(...k);return P(s(h(F,mt("context",_),!!o)))}function X(_,k,F={}){_=mt("message",_),o&&(_=o(_));let{prefix:$,scalar:K,pointBytes:W}=N(k),Y=C(F.context,$,_),rt=I.multiply(Y).toRawBytes(),J=C(F.context,rt,W,_),Q=U(Y+J*K);x(Q);let wt=Ze(rt,jr(Q,e.BYTES));return mt("result",wt,a*2)}let S=Uy;function T(_,k,F,$=S){let{context:K,zip215:W}=$,Y=e.BYTES;_=mt("signature",_,2*Y),k=mt("message",k),o&&(k=o(k));let rt=kr(_.slice(Y,2*Y)),J,Q,wt;try{J=A.fromHex(F,W),Q=A.fromHex(_.slice(0,Y),W),wt=I.multiplyUnsafe(rt)}catch{return!1}if(!W&&J.isSmallOrder())return!1;let dt=C(K,Q.toRawBytes(),J.toRawBytes(),k);return Q.add(J.multiplyUnsafe(dt)).subtract(wt).clearCofactor().equals(A.ZERO)}return I._setWindowSize(8),{CURVE:t,getPublicKey:M,sign:X,verify:T,ExtendedPoint:A,utils:{getExtendedPublicKey:N,randomPrivateKey:()=>i(e.BYTES),precompute(_=8,k=A.BASE){return k._setWindowSize(_),k.multiply(BigInt(3)),k}}}}var Cc=BigInt("57896044618658097711785492504343953926634992332820282019728792003956564819949"),Sf=BigInt("19681161376707505956807079304988542015446066515923890162744021073123829784752"),C2=BigInt(0),Py=BigInt(1),Tc=BigInt(2),Oy=BigInt(5),If=BigInt(10),Fy=BigInt(20),Vy=BigInt(40),Rf=BigInt(80);function My(r){let t=Cc,n=r*r%t*r%t,o=lt(n,Tc,t)*n%t,s=lt(o,Py,t)*r%t,i=lt(s,Oy,t)*s%t,a=lt(i,If,t)*i%t,c=lt(a,Fy,t)*a%t,u=lt(c,Vy,t)*c%t,f=lt(u,Rf,t)*u%t,l=lt(f,Rf,t)*u%t,m=lt(l,If,t)*i%t;return{pow_p_5_8:lt(m,Tc,t)*r%t,b2:n}}function $y(r){return r[0]&=248,r[31]&=127,r[31]|=64,r}function Hy(r,t){let e=Cc,n=at(t*t*t,e),o=at(n*n*t,e),s=My(r*o).pow_p_5_8,i=at(r*n*s,e),a=at(t*i*i,e),c=i,u=at(i*Sf,e),f=a===r,l=a===at(-r,e),m=a===at(-r*Sf,e);return f&&(i=c),(l||m)&&(i=u),vf(i,e)&&(i=at(-i,e)),{isValid:f||l,value:i}}var Je=Bs(Cc,void 0,!0),Nc={a:BigInt(-1),d:BigInt("37095705934669439343138083508754565189542113879843219016388785533085940283555"),Fp:Je,n:BigInt("7237005577332262213973186563042994240857116359379907606001950938285454250989"),h:BigInt(8),Gx:BigInt("15112221349535400772501151409588531511454012693041857206046113283949847762202"),Gy:BigInt("46316835694926478169428394003475163141307993866256225615783033603165251855960"),hash:In,randomBytes:kn,adjustScalarBytes:$y,uvRatio:Hy},_n=Is(Nc);function _f(r,t,e){if(t.length>255)throw new Error("Context is too big");return ws(bc("SigEd25519 no Ed25519 collisions"),new Uint8Array([e?1:0,t.length]),t,r)}var N2=Is({...Nc,domain:_f}),L2=Is({...Nc,domain:_f,prehash:In});var Ky=(Je.ORDER+BigInt(3))/BigInt(8),U2=Je.pow(Tc,Ky),D2=Je.sqrt(Je.neg(Je.ONE)),P2=(Je.ORDER-BigInt(5))/BigInt(8),O2=BigInt(486662);var F2=Af(Je,Je.neg(BigInt(486664)));var V2=BigInt("25063068953384623474111414158702152701244531502492656460079210482610430750235"),M2=BigInt("54469307008909316920995813868745141605393597292927456921205312896311721017578"),$2=BigInt("1159843021668779879193775521855586647937357759715417654439879720876111806838"),H2=BigInt("40440834346308536858101042469323190826248399146238708352240133220865137265952");var K2=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");var Tn=32,Xe=64,Rs=32;function Tf(){let r=_n.utils.randomPrivateKey(),t=_n.getPublicKey(r);return{privateKey:Uf(r,t),publicKey:t}}function Cf(r){if(r.length!==Rs)throw new TypeError('"seed" must be 32 bytes in length.');if(!(r instanceof Uint8Array))throw new TypeError('"seed" must be a node.js Buffer, or Uint8Array.');let t=r,e=_n.getPublicKey(t);return{privateKey:Uf(t,e),publicKey:e}}function Nf(r,t){let e=r.subarray(0,Rs);return _n.sign(t instanceof Uint8Array?t:t.subarray(),e)}function Lf(r,t,e){return _n.verify(t,e instanceof Uint8Array?e:e.subarray(),r)}function Uf(r,t){let e=new Uint8Array(Xe);for(let n=0;n<Rs;n++)e[n]=r[n],e[Rs+n]=t[n];return e}var Lc={alg:"A128GCM",ext:!0,k:"scm9jmO_4BJAgdwWGVulLg",key_ops:["encrypt","decrypt"],kty:"oct"};function Df(r){let t=r?.algorithm??"AES-GCM",e=r?.keyLength??16,n=r?.nonceLength??12,o=r?.digest??"SHA-256",s=r?.saltLength??16,i=r?.iterations??32767,a=Kt.get();e*=8;async function c(l,m){let h=a.getRandomValues(new Uint8Array(s)),p=a.getRandomValues(new Uint8Array(n)),d={name:t,iv:p};typeof m=="string"&&(m=q(m));let w;if(m.length===0){w=await a.subtle.importKey("jwk",Lc,{name:"AES-GCM"},!0,["encrypt"]);try{let x={name:"PBKDF2",salt:h,iterations:i,hash:{name:o}},b=await a.subtle.importKey("raw",m,{name:"PBKDF2"},!1,["deriveKey"]);w=await a.subtle.deriveKey(x,b,{name:t,length:e},!0,["encrypt"])}catch{w=await a.subtle.importKey("jwk",Lc,{name:"AES-GCM"},!0,["encrypt"])}}else{let x={name:"PBKDF2",salt:h,iterations:i,hash:{name:o}},b=await a.subtle.importKey("raw",m,{name:"PBKDF2"},!1,["deriveKey"]);w=await a.subtle.deriveKey(x,b,{name:t,length:e},!0,["encrypt"])}let g=await a.subtle.encrypt(d,w,l);return St([h,d.iv,new Uint8Array(g)])}async function u(l,m){let h=l.subarray(0,s),p=l.subarray(s,s+n),d=l.subarray(s+n),w={name:t,iv:p};typeof m=="string"&&(m=q(m));let g;if(m.length===0)try{let b={name:"PBKDF2",salt:h,iterations:i,hash:{name:o}},B=await a.subtle.importKey("raw",m,{name:"PBKDF2"},!1,["deriveKey"]);g=await a.subtle.deriveKey(b,B,{name:t,length:e},!0,["decrypt"])}catch{g=await a.subtle.importKey("jwk",Lc,{name:"AES-GCM"},!0,["decrypt"])}else{let b={name:"PBKDF2",salt:h,iterations:i,hash:{name:o}},B=await a.subtle.importKey("raw",m,{name:"PBKDF2"},!1,["deriveKey"]);g=await a.subtle.deriveKey(b,B,{name:t,length:e},!0,["decrypt"])}let x=await a.subtle.decrypt(w,g,d);return new Uint8Array(x)}return{encrypt:c,decrypt:u}}async function Cn(r,t){let n=await Df().encrypt(r,t);return le.encode(n)}var gt;(function(r){r.RSA="RSA",r.Ed25519="Ed25519",r.Secp256k1="Secp256k1"})(gt||(gt={}));var Uc;(function(r){r[r.RSA=0]="RSA",r[r.Ed25519=1]="Ed25519",r[r.Secp256k1=2]="Secp256k1"})(Uc||(Uc={}));(function(r){r.codec=()=>ho(Uc)})(gt||(gt={}));var Ue;(function(r){let t;r.codec=()=>(t==null&&(t=gn((e,n,o={})=>{o.lengthDelimited!==!1&&n.fork(),e.Type!=null&&(n.uint32(8),gt.codec().encode(e.Type,n)),e.Data!=null&&(n.uint32(18),n.bytes(e.Data)),o.lengthDelimited!==!1&&n.ldelim()},(e,n)=>{let o={},s=n==null?e.len:e.pos+n;for(;e.pos<s;){let i=e.uint32();switch(i>>>3){case 1:o.Type=gt.codec().decode(e);break;case 2:o.Data=e.bytes();break;default:e.skipType(i&7);break}}return o})),t),r.encode=e=>pn(e,r.codec()),r.decode=e=>un(e,r.codec())})(Ue||(Ue={}));var Qe;(function(r){let t;r.codec=()=>(t==null&&(t=gn((e,n,o={})=>{o.lengthDelimited!==!1&&n.fork(),e.Type!=null&&(n.uint32(8),gt.codec().encode(e.Type,n)),e.Data!=null&&(n.uint32(18),n.bytes(e.Data)),o.lengthDelimited!==!1&&n.ldelim()},(e,n)=>{let o={},s=n==null?e.len:e.pos+n;for(;e.pos<s;){let i=e.uint32();switch(i>>>3){case 1:o.Type=gt.codec().decode(e);break;case 2:o.Data=e.bytes();break;default:e.skipType(i&7);break}}return o})),t),r.encode=e=>pn(e,r.codec()),r.decode=e=>un(e,r.codec())})(Qe||(Qe={}));var wo=class{_key;constructor(t){this._key=Nn(t,Tn)}verify(t,e){return Lf(this._key,e,t)}marshal(){return this._key}get bytes(){return Ue.encode({Type:gt.Ed25519,Data:this.marshal()}).subarray()}equals(t){return it(this.bytes,t.bytes)}hash(){let t=At.digest(this.bytes);return fe(t)?t.then(({bytes:e})=>e):t.bytes}},Wr=class{_key;_publicKey;constructor(t,e){this._key=Nn(t,Xe),this._publicKey=Nn(e,Tn)}sign(t){return Nf(this._key,t)}get public(){return new wo(this._publicKey)}marshal(){return this._key}get bytes(){return Qe.encode({Type:gt.Ed25519,Data:this.marshal()}).subarray()}equals(t){return it(this.bytes,t.bytes)}async hash(){let t=At.digest(this.bytes),e;return fe(t)?{bytes:e}=await t:e=t.bytes,e}async id(){let t=Wt.digest(this.public.bytes);return ht.encode(t.bytes).substring(1)}async export(t,e="libp2p-key"){if(e==="libp2p-key")return Cn(this.bytes,t);throw new D(`export format '${e}' is not supported`,"ERR_INVALID_EXPORT_FORMAT")}};function jy(r){if(r.length>Xe){r=Nn(r,Xe+Tn);let n=r.subarray(0,Xe),o=r.subarray(Xe,r.length);return new Wr(n,o)}r=Nn(r,Xe);let t=r.subarray(0,Xe),e=r.subarray(Tn);return new Wr(t,e)}function Gy(r){return r=Nn(r,Tn),new wo(r)}async function Wy(){let{privateKey:r,publicKey:t}=Tf();return new Wr(r,t)}async function Pf(r){let{privateKey:t,publicKey:e}=Cf(r);return new Wr(t,e)}function Nn(r,t){if(r=Uint8Array.from(r??[]),r.length!==t)throw new D(`Key must be a Uint8Array of length ${t}, got ${r.length}`,"ERR_INVALID_KEY_TYPE");return r}function j(r,t="utf8"){let e=ds[t];if(e==null)throw new Error(`Unsupported encoding "${t}"`);return e.encoder.encode(r).substring(1)}var zc={};vt(zc,{MAX_RSA_KEY_SIZE:()=>To,RsaPrivateKey:()=>On,RsaPublicKey:()=>_o,fromJwk:()=>Ew,generateKeyPair:()=>vw,unmarshalRsaPrivateKey:()=>Kc,unmarshalRsaPublicKey:()=>xw});function De(r){if(isNaN(r)||r<=0)throw new D("random bytes length must be a Number bigger than 0","ERR_INVALID_LENGTH");return kn(r)}var Tr={};vt(Tr,{exportToPem:()=>mw,importFromPem:()=>gw,jwkToPkcs1:()=>fw,jwkToPkix:()=>dw,pkcs1ToJwk:()=>lw,pkixToJwk:()=>hw});var Ts=class extends An{constructor(t,e){super(),this.finished=!1,this.destroyed=!1,gs(t);let n=Er(e);if(this.iHash=t.create(),typeof this.iHash.update!="function")throw new Error("Expected instance of class which extends utils.Hash");this.blockLen=this.iHash.blockLen,this.outputLen=this.iHash.outputLen;let o=this.blockLen,s=new Uint8Array(o);s.set(n.length>o?t.create().update(n).digest():n);for(let i=0;i<s.length;i++)s[i]^=54;this.iHash.update(s),this.oHash=t.create();for(let i=0;i<s.length;i++)s[i]^=106;this.oHash.update(s),s.fill(0)}update(t){return vn(this),this.iHash.update(t),this}digestInto(t){vn(this),En(t,this.outputLen),this.finished=!0,this.iHash.digestInto(t),this.oHash.update(t),this.oHash.digestInto(t),this.destroy()}digest(){let t=new Uint8Array(this.oHash.outputLen);return this.digestInto(t),t}_cloneInto(t){t||(t=Object.create(Object.getPrototypeOf(this),{}));let{oHash:e,iHash:n,finished:o,destroyed:s,blockLen:i,outputLen:a}=this;return t=t,t.finished=o,t.destroyed=s,t.blockLen=i,t.outputLen=a,t.oHash=e._cloneInto(t.oHash),t.iHash=n._cloneInto(t.iHash),t}destroy(){this.destroyed=!0,this.oHash.destroy(),this.iHash.destroy()}},bo=(r,t,e)=>new Ts(r,t).update(e).digest();bo.create=(r,t)=>new Ts(r,t);function Yy(r,t,e,n){gs(r);let o=hf({dkLen:32,asyncTick:10},n),{c:s,dkLen:i,asyncTick:a}=o;if(xn(s),xn(i),xn(a),s<1)throw new Error("PBKDF2: iterations (c) should be >= 1");let c=Er(t),u=Er(e),f=new Uint8Array(i),l=bo.create(r,c),m=l._cloneInto().update(u);return{c:s,dkLen:i,asyncTick:a,DK:f,PRF:l,PRFSalt:m}}function Zy(r,t,e,n,o){return r.destroy(),t.destroy(),n&&n.destroy(),o.fill(0),e}async function Pc(r,t,e,n){let{c:o,dkLen:s,asyncTick:i,DK:a,PRF:c,PRFSalt:u}=Yy(r,t,e,n),f,l=new Uint8Array(4),m=Bn(l),h=new Uint8Array(c.outputLen);for(let p=1,d=0;d<s;p++,d+=c.outputLen){let w=a.subarray(d,d+c.outputLen);m.setInt32(0,p,!1),(f=u._cloneInto(f)).update(l).digestInto(h),w.set(h.subarray(0,w.length)),await ff(o-1,i,()=>{c._cloneInto(f).update(h).digestInto(h);for(let g=0;g<w.length;g++)w[g]^=h[g]})}return Zy(c,u,a,f,h)}var Z=Jt(Of());function Yr(r,t){let e=0;if(r.length===1)return r[0];for(let n=r.length-1;n>=0;n--)e+=r[r.length-1-n]*Math.pow(2,t*n);return e}function Ir(r,t,e=-1){let n=e,o=r,s=0,i=Math.pow(2,t);for(let a=1;a<8;a++){if(r<i){let c;if(n<0)c=new ArrayBuffer(a),s=a;else{if(n<a)return new ArrayBuffer(0);c=new ArrayBuffer(n),s=n}let u=new Uint8Array(c);for(let f=a-1;f>=0;f--){let l=Math.pow(2,f*t);u[s-f-1]=Math.floor(o/l),o-=u[s-f-1]*l}return c}i*=Math.pow(2,t)}return new ArrayBuffer(0)}function Ls(...r){let t=0,e=0;for(let s of r)t+=s.length;let n=new ArrayBuffer(t),o=new Uint8Array(n);for(let s of r)o.set(s,e),e+=s.length;return o}function Fc(){let r=new Uint8Array(this.valueHex);if(this.valueHex.byteLength>=2){let a=r[0]===255&&r[1]&128,c=r[0]===0&&(r[1]&128)===0;(a||c)&&this.warnings.push("Needlessly long format")}let t=new ArrayBuffer(this.valueHex.byteLength),e=new Uint8Array(t);for(let a=0;a<this.valueHex.byteLength;a++)e[a]=0;e[0]=r[0]&128;let n=Yr(e,8),o=new ArrayBuffer(this.valueHex.byteLength),s=new Uint8Array(o);for(let a=0;a<this.valueHex.byteLength;a++)s[a]=r[a];return s[0]&=127,Yr(s,8)-n}function Ff(r){let t=r<0?r*-1:r,e=128;for(let n=1;n<8;n++){if(t<=e){if(r<0){let i=e-t,a=Ir(i,8,n),c=new Uint8Array(a);return c[0]|=128,a}let o=Ir(t,8,n),s=new Uint8Array(o);if(s[0]&128){let i=o.slice(0),a=new Uint8Array(i);o=new ArrayBuffer(o.byteLength+1),s=new Uint8Array(o);for(let c=0;c<i.byteLength;c++)s[c+1]=a[c];s[0]=0}return o}e*=Math.pow(2,8)}return new ArrayBuffer(0)}function Vf(r,t){if(r.byteLength!==t.byteLength)return!1;let e=new Uint8Array(r),n=new Uint8Array(t);for(let o=0;o<e.length;o++)if(e[o]!==n[o])return!1;return!0}function Yt(r,t){let e=r.toString(10);if(t<e.length)return"";let n=t-e.length,o=new Array(n);for(let i=0;i<n;i++)o[i]="0";return o.join("").concat(e)}var wA=Math.log(2);function Us(){if(typeof BigInt>"u")throw new Error("BigInt is not defined. Your environment doesn't implement BigInt.")}function Vc(r){let t=0,e=0;for(let o=0;o<r.length;o++){let s=r[o];t+=s.byteLength}let n=new Uint8Array(t);for(let o=0;o<r.length;o++){let s=r[o];n.set(new Uint8Array(s),e),e+=s.byteLength}return n.buffer}function or(r,t,e,n){return t instanceof Uint8Array?t.byteLength?e<0?(r.error="Wrong parameter: inputOffset less than zero",!1):n<0?(r.error="Wrong parameter: inputLength less than zero",!1):t.byteLength-e-n<0?(r.error="End of input reached before message was fully decoded (inconsistent offset and length values)",!1):!0:(r.error="Wrong parameter: inputBuffer has zero length",!1):(r.error="Wrong parameter: inputBuffer must be 'Uint8Array'",!1)}var Eo=class{constructor(){this.items=[]}write(t){this.items.push(t)}final(){return Vc(this.items)}},xo=[new Uint8Array([1])],Mf="0123456789";var Dn="",Ae=new ArrayBuffer(0),Mc=new Uint8Array(0),vo="EndOfContent",Hf="OCTET STRING",Kf="BIT STRING";function sr(r){var t;return t=class extends r{constructor(...n){var o;super(...n);let s=n[0]||{};this.isHexOnly=(o=s.isHexOnly)!==null&&o!==void 0?o:!1,this.valueHexView=s.valueHex?Z.BufferSourceConverter.toUint8Array(s.valueHex):Mc}get valueHex(){return this.valueHexView.slice().buffer}set valueHex(n){this.valueHexView=new Uint8Array(n)}fromBER(n,o,s){let i=n instanceof ArrayBuffer?new Uint8Array(n):n;if(!or(this,i,o,s))return-1;let a=o+s;return this.valueHexView=i.subarray(o,a),this.valueHexView.length?(this.blockLength=s,a):(this.warnings.push("Zero buffer length"),o)}toBER(n=!1){return this.isHexOnly?n?new ArrayBuffer(this.valueHexView.byteLength):this.valueHexView.byteLength===this.valueHexView.buffer.byteLength?this.valueHexView.buffer:this.valueHexView.slice().buffer:(this.error="Flag 'isHexOnly' is not set, abort",Ae)}toJSON(){return{...super.toJSON(),isHexOnly:this.isHexOnly,valueHex:Z.Convert.ToHex(this.valueHexView)}}},t.NAME="hexBlock",t}var er=class{constructor({blockLength:t=0,error:e=Dn,warnings:n=[],valueBeforeDecode:o=Mc}={}){this.blockLength=t,this.error=e,this.warnings=n,this.valueBeforeDecodeView=Z.BufferSourceConverter.toUint8Array(o)}static blockName(){return this.NAME}get valueBeforeDecode(){return this.valueBeforeDecodeView.slice().buffer}set valueBeforeDecode(t){this.valueBeforeDecodeView=new Uint8Array(t)}toJSON(){return{blockName:this.constructor.NAME,blockLength:this.blockLength,error:this.error,warnings:this.warnings,valueBeforeDecode:Z.Convert.ToHex(this.valueBeforeDecodeView)}}};er.NAME="baseBlock";var Mt=class extends er{fromBER(t,e,n){throw TypeError("User need to make a specific function in a class which extends 'ValueBlock'")}toBER(t,e){throw TypeError("User need to make a specific function in a class which extends 'ValueBlock'")}};Mt.NAME="valueBlock";var Ds=class extends sr(er){constructor({idBlock:t={}}={}){var e,n,o,s;super(),t?(this.isHexOnly=(e=t.isHexOnly)!==null&&e!==void 0?e:!1,this.valueHexView=t.valueHex?Z.BufferSourceConverter.toUint8Array(t.valueHex):Mc,this.tagClass=(n=t.tagClass)!==null&&n!==void 0?n:-1,this.tagNumber=(o=t.tagNumber)!==null&&o!==void 0?o:-1,this.isConstructed=(s=t.isConstructed)!==null&&s!==void 0?s:!1):(this.tagClass=-1,this.tagNumber=-1,this.isConstructed=!1)}toBER(t=!1){let e=0;switch(this.tagClass){case 1:e|=0;break;case 2:e|=64;break;case 3:e|=128;break;case 4:e|=192;break;default:return this.error="Unknown tag class",Ae}if(this.isConstructed&&(e|=32),this.tagNumber<31&&!this.isHexOnly){let o=new Uint8Array(1);if(!t){let s=this.tagNumber;s&=31,e|=s,o[0]=e}return o.buffer}if(!this.isHexOnly){let o=Ir(this.tagNumber,7),s=new Uint8Array(o),i=o.byteLength,a=new Uint8Array(i+1);if(a[0]=e|31,!t){for(let c=0;c<i-1;c++)a[c+1]=s[c]|128;a[i]=s[i-1]}return a.buffer}let n=new Uint8Array(this.valueHexView.byteLength+1);if(n[0]=e|31,!t){let o=this.valueHexView;for(let s=0;s<o.length-1;s++)n[s+1]=o[s]|128;n[this.valueHexView.byteLength]=o[o.length-1]}return n.buffer}fromBER(t,e,n){let o=Z.BufferSourceConverter.toUint8Array(t);if(!or(this,o,e,n))return-1;let s=o.subarray(e,e+n);if(s.length===0)return this.error="Zero buffer length",-1;switch(s[0]&192){case 0:this.tagClass=1;break;case 64:this.tagClass=2;break;case 128:this.tagClass=3;break;case 192:this.tagClass=4;break;default:return this.error="Unknown tag class",-1}this.isConstructed=(s[0]&32)===32,this.isHexOnly=!1;let a=s[0]&31;if(a!==31)this.tagNumber=a,this.blockLength=1;else{let c=1,u=this.valueHexView=new Uint8Array(255),f=255;for(;s[c]&128;){if(u[c-1]=s[c]&127,c++,c>=s.length)return this.error="End of input reached before message was fully decoded",-1;if(c===f){f+=255;let m=new Uint8Array(f);for(let h=0;h<u.length;h++)m[h]=u[h];u=this.valueHexView=new Uint8Array(f)}}this.blockLength=c+1,u[c-1]=s[c]&127;let l=new Uint8Array(c);for(let m=0;m<c;m++)l[m]=u[m];u=this.valueHexView=new Uint8Array(c),u.set(l),this.blockLength<=9?this.tagNumber=Yr(u,7):(this.isHexOnly=!0,this.warnings.push("Tag too long, represented as hex-coded"))}if(this.tagClass===1&&this.isConstructed)switch(this.tagNumber){case 1:case 2:case 5:case 6:case 9:case 13:case 14:case 23:case 24:case 31:case 32:case 33:case 34:return this.error="Constructed encoding used for primitive type",-1}return e+this.blockLength}toJSON(){return{...super.toJSON(),tagClass:this.tagClass,tagNumber:this.tagNumber,isConstructed:this.isConstructed}}};Ds.NAME="identificationBlock";var Ps=class extends er{constructor({lenBlock:t={}}={}){var e,n,o;super(),this.isIndefiniteForm=(e=t.isIndefiniteForm)!==null&&e!==void 0?e:!1,this.longFormUsed=(n=t.longFormUsed)!==null&&n!==void 0?n:!1,this.length=(o=t.length)!==null&&o!==void 0?o:0}fromBER(t,e,n){let o=Z.BufferSourceConverter.toUint8Array(t);if(!or(this,o,e,n))return-1;let s=o.subarray(e,e+n);if(s.length===0)return this.error="Zero buffer length",-1;if(s[0]===255)return this.error="Length block 0xFF is reserved by standard",-1;if(this.isIndefiniteForm=s[0]===128,this.isIndefiniteForm)return this.blockLength=1,e+this.blockLength;if(this.longFormUsed=!!(s[0]&128),this.longFormUsed===!1)return this.length=s[0],this.blockLength=1,e+this.blockLength;let i=s[0]&127;if(i>8)return this.error="Too big integer",-1;if(i+1>s.length)return this.error="End of input reached before message was fully decoded",-1;let a=e+1,c=o.subarray(a,a+i);return c[i-1]===0&&this.warnings.push("Needlessly long encoded length"),this.length=Yr(c,8),this.longFormUsed&&this.length<=127&&this.warnings.push("Unnecessary usage of long length form"),this.blockLength=i+1,e+this.blockLength}toBER(t=!1){let e,n;if(this.length>127&&(this.longFormUsed=!0),this.isIndefiniteForm)return e=new ArrayBuffer(1),t===!1&&(n=new Uint8Array(e),n[0]=128),e;if(this.longFormUsed){let o=Ir(this.length,8);if(o.byteLength>127)return this.error="Too big length",Ae;if(e=new ArrayBuffer(o.byteLength+1),t)return e;let s=new Uint8Array(o);n=new Uint8Array(e),n[0]=o.byteLength|128;for(let i=0;i<o.byteLength;i++)n[i+1]=s[i];return e}return e=new ArrayBuffer(1),t===!1&&(n=new Uint8Array(e),n[0]=this.length),e}toJSON(){return{...super.toJSON(),isIndefiniteForm:this.isIndefiniteForm,longFormUsed:this.longFormUsed,length:this.length}}};Ps.NAME="lengthBlock";var O={},Nt=class extends er{constructor({name:t=Dn,optional:e=!1,primitiveSchema:n,...o}={},s){super(o),this.name=t,this.optional=e,n&&(this.primitiveSchema=n),this.idBlock=new Ds(o),this.lenBlock=new Ps(o),this.valueBlock=s?new s(o):new Mt(o)}fromBER(t,e,n){let o=this.valueBlock.fromBER(t,e,this.lenBlock.isIndefiniteForm?n:this.lenBlock.length);return o===-1?(this.error=this.valueBlock.error,o):(this.idBlock.error.length||(this.blockLength+=this.idBlock.blockLength),this.lenBlock.error.length||(this.blockLength+=this.lenBlock.blockLength),this.valueBlock.error.length||(this.blockLength+=this.valueBlock.blockLength),o)}toBER(t,e){let n=e||new Eo;e||qf(this);let o=this.idBlock.toBER(t);if(n.write(o),this.lenBlock.isIndefiniteForm)n.write(new Uint8Array([128]).buffer),this.valueBlock.toBER(t,n),n.write(new ArrayBuffer(2));else{let s=this.valueBlock.toBER(t);this.lenBlock.length=s.byteLength;let i=this.lenBlock.toBER(t);n.write(i),n.write(s)}return e?Ae:n.final()}toJSON(){let t={...super.toJSON(),idBlock:this.idBlock.toJSON(),lenBlock:this.lenBlock.toJSON(),valueBlock:this.valueBlock.toJSON(),name:this.name,optional:this.optional};return this.primitiveSchema&&(t.primitiveSchema=this.primitiveSchema.toJSON()),t}toString(t="ascii"){return t==="ascii"?this.onAsciiEncoding():Z.Convert.ToHex(this.toBER())}onAsciiEncoding(){return`${this.constructor.NAME} : ${Z.Convert.ToHex(this.valueBlock.valueBeforeDecodeView)}`}isEqual(t){if(this===t)return!0;if(!(t instanceof this.constructor))return!1;let e=this.toBER(),n=t.toBER();return Vf(e,n)}};Nt.NAME="BaseBlock";function qf(r){if(r instanceof O.Constructed)for(let t of r.valueBlock.value)qf(t)&&(r.lenBlock.isIndefiniteForm=!0);return!!r.lenBlock.isIndefiniteForm}var Os=class extends Nt{constructor({value:t=Dn,...e}={},n){super(e,n),t&&this.fromString(t)}getValue(){return this.valueBlock.value}setValue(t){this.valueBlock.value=t}fromBER(t,e,n){let o=this.valueBlock.fromBER(t,e,this.lenBlock.isIndefiniteForm?n:this.lenBlock.length);return o===-1?(this.error=this.valueBlock.error,o):(this.fromBuffer(this.valueBlock.valueHexView),this.idBlock.error.length||(this.blockLength+=this.idBlock.blockLength),this.lenBlock.error.length||(this.blockLength+=this.lenBlock.blockLength),this.valueBlock.error.length||(this.blockLength+=this.valueBlock.blockLength),o)}onAsciiEncoding(){return`${this.constructor.NAME} : '${this.valueBlock.value}'`}};Os.NAME="BaseStringBlock";var Fs=class extends sr(Mt){constructor({isHexOnly:t=!0,...e}={}){super(e),this.isHexOnly=t}};Fs.NAME="PrimitiveValueBlock";var zf,Vs=class extends Nt{constructor(t={}){super(t,Fs),this.idBlock.isConstructed=!1}};zf=Vs;O.Primitive=zf;Vs.NAME="PRIMITIVE";function sw(r,t){if(r instanceof t)return r;let e=new t;return e.idBlock=r.idBlock,e.lenBlock=r.lenBlock,e.warnings=r.warnings,e.valueBeforeDecodeView=r.valueBeforeDecodeView,e}function wi(r,t=0,e=r.length){let n=t,o=new Nt({},Mt),s=new er;if(!or(s,r,t,e))return o.error=s.error,{offset:-1,result:o};if(!r.subarray(t,t+e).length)return o.error="Zero buffer length",{offset:-1,result:o};let a=o.idBlock.fromBER(r,t,e);if(o.idBlock.warnings.length&&o.warnings.concat(o.idBlock.warnings),a===-1)return o.error=o.idBlock.error,{offset:-1,result:o};if(t=a,e-=o.idBlock.blockLength,a=o.lenBlock.fromBER(r,t,e),o.lenBlock.warnings.length&&o.warnings.concat(o.lenBlock.warnings),a===-1)return o.error=o.lenBlock.error,{offset:-1,result:o};if(t=a,e-=o.lenBlock.blockLength,!o.idBlock.isConstructed&&o.lenBlock.isIndefiniteForm)return o.error="Indefinite length form used for primitive encoding form",{offset:-1,result:o};let c=Nt;switch(o.idBlock.tagClass){case 1:if(o.idBlock.tagNumber>=37&&o.idBlock.isHexOnly===!1)return o.error="UNIVERSAL 37 and upper tags are reserved by ASN.1 standard",{offset:-1,result:o};switch(o.idBlock.tagNumber){case 0:if(o.idBlock.isConstructed&&o.lenBlock.length>0)return o.error="Type [UNIVERSAL 0] is reserved",{offset:-1,result:o};c=O.EndOfContent;break;case 1:c=O.Boolean;break;case 2:c=O.Integer;break;case 3:c=O.BitString;break;case 4:c=O.OctetString;break;case 5:c=O.Null;break;case 6:c=O.ObjectIdentifier;break;case 10:c=O.Enumerated;break;case 12:c=O.Utf8String;break;case 13:c=O.RelativeObjectIdentifier;break;case 14:c=O.TIME;break;case 15:return o.error="[UNIVERSAL 15] is reserved by ASN.1 standard",{offset:-1,result:o};case 16:c=O.Sequence;break;case 17:c=O.Set;break;case 18:c=O.NumericString;break;case 19:c=O.PrintableString;break;case 20:c=O.TeletexString;break;case 21:c=O.VideotexString;break;case 22:c=O.IA5String;break;case 23:c=O.UTCTime;break;case 24:c=O.GeneralizedTime;break;case 25:c=O.GraphicString;break;case 26:c=O.VisibleString;break;case 27:c=O.GeneralString;break;case 28:c=O.UniversalString;break;case 29:c=O.CharacterString;break;case 30:c=O.BmpString;break;case 31:c=O.DATE;break;case 32:c=O.TimeOfDay;break;case 33:c=O.DateTime;break;case 34:c=O.Duration;break;default:{let u=o.idBlock.isConstructed?new O.Constructed:new O.Primitive;u.idBlock=o.idBlock,u.lenBlock=o.lenBlock,u.warnings=o.warnings,o=u}}break;case 2:case 3:case 4:default:c=o.idBlock.isConstructed?O.Constructed:O.Primitive}return o=sw(o,c),a=o.fromBER(r,t,o.lenBlock.isIndefiniteForm?e:o.lenBlock.length),o.valueBeforeDecodeView=r.subarray(n,n+o.blockLength),{offset:a,result:o}}function Pn(r){if(!r.byteLength){let t=new Nt({},Mt);return t.error="Input buffer has zero length",{offset:-1,result:t}}return wi(Z.BufferSourceConverter.toUint8Array(r).slice(),0,r.byteLength)}function iw(r,t){return r?1:t}var Pe=class extends Mt{constructor({value:t=[],isIndefiniteForm:e=!1,...n}={}){super(n),this.value=t,this.isIndefiniteForm=e}fromBER(t,e,n){let o=Z.BufferSourceConverter.toUint8Array(t);if(!or(this,o,e,n))return-1;if(this.valueBeforeDecodeView=o.subarray(e,e+n),this.valueBeforeDecodeView.length===0)return this.warnings.push("Zero buffer length"),e;let s=e;for(;iw(this.isIndefiniteForm,n)>0;){let i=wi(o,s,n);if(i.offset===-1)return this.error=i.result.error,this.warnings.concat(i.result.warnings),-1;if(s=i.offset,this.blockLength+=i.result.blockLength,n-=i.result.blockLength,this.value.push(i.result),this.isIndefiniteForm&&i.result.constructor.NAME===vo)break}return this.isIndefiniteForm&&(this.value[this.value.length-1].constructor.NAME===vo?this.value.pop():this.warnings.push("No EndOfContent block encoded")),s}toBER(t,e){let n=e||new Eo;for(let o=0;o<this.value.length;o++)this.value[o].toBER(t,n);return e?Ae:n.final()}toJSON(){let t={...super.toJSON(),isIndefiniteForm:this.isIndefiniteForm,value:[]};for(let e of this.value)t.value.push(e.toJSON());return t}};Pe.NAME="ConstructedValueBlock";var jf,Rr=class extends Nt{constructor(t={}){super(t,Pe),this.idBlock.isConstructed=!0}fromBER(t,e,n){this.valueBlock.isIndefiniteForm=this.lenBlock.isIndefiniteForm;let o=this.valueBlock.fromBER(t,e,this.lenBlock.isIndefiniteForm?n:this.lenBlock.length);return o===-1?(this.error=this.valueBlock.error,o):(this.idBlock.error.length||(this.blockLength+=this.idBlock.blockLength),this.lenBlock.error.length||(this.blockLength+=this.lenBlock.blockLength),this.valueBlock.error.length||(this.blockLength+=this.valueBlock.blockLength),o)}onAsciiEncoding(){let t=[];for(let n of this.valueBlock.value)t.push(n.toString("ascii").split(`
|
|
2
|
+
"use strict";var HeliaHttp=(()=>{var rm=Object.create;var Jo=Object.defineProperty;var nm=Object.getOwnPropertyDescriptor;var om=Object.getOwnPropertyNames;var sm=Object.getPrototypeOf,im=Object.prototype.hasOwnProperty;var lr=(r,t)=>()=>(t||r((t={exports:{}}).exports,t),t.exports),bt=(r,t)=>{for(var e in t)Jo(r,e,{get:t[e],enumerable:!0})},vl=(r,t,e,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of om(t))!im.call(r,o)&&o!==e&&Jo(r,o,{get:()=>t[o],enumerable:!(n=nm(t,o))||n.enumerable});return r};var ie=(r,t,e)=>(e=r!=null?rm(sm(r)):{},vl(t||!r||!r.__esModule?Jo(e,"default",{value:r,enumerable:!0}):e,r)),am=r=>vl(Jo({},"__esModule",{value:!0}),r);var Of=lr(Tn=>{"use strict";var jy="[object ArrayBuffer]",Je=class r{static isArrayBuffer(t){return Object.prototype.toString.call(t)===jy}static toArrayBuffer(t){return this.isArrayBuffer(t)?t:t.byteLength===t.buffer.byteLength||t.byteOffset===0&&t.byteLength===t.buffer.byteLength?t.buffer:this.toUint8Array(t.buffer).slice(t.byteOffset,t.byteOffset+t.byteLength).buffer}static toUint8Array(t){return this.toView(t,Uint8Array)}static toView(t,e){if(t.constructor===e)return t;if(this.isArrayBuffer(t))return new e(t);if(this.isArrayBufferView(t))return new e(t.buffer,t.byteOffset,t.byteLength);throw new TypeError("The provided value is not of type '(ArrayBuffer or ArrayBufferView)'")}static isBufferSource(t){return this.isArrayBufferView(t)||this.isArrayBuffer(t)}static isArrayBufferView(t){return ArrayBuffer.isView(t)||t&&this.isArrayBuffer(t.buffer)}static isEqual(t,e){let n=r.toUint8Array(t),o=r.toUint8Array(e);if(n.length!==o.byteLength)return!1;for(let s=0;s<n.length;s++)if(n[s]!==o[s])return!1;return!0}static concat(...t){let e;Array.isArray(t[0])&&!(t[1]instanceof Function)||Array.isArray(t[0])&&t[1]instanceof Function?e=t[0]:t[t.length-1]instanceof Function?e=t.slice(0,t.length-1):e=t;let n=0;for(let i of e)n+=i.byteLength;let o=new Uint8Array(n),s=0;for(let i of e){let a=this.toUint8Array(i);o.set(a,s),s+=a.length}return t[t.length-1]instanceof Function?this.toView(o,t[t.length-1]):o.buffer}},Dc="string",Gy=/^[0-9a-f]+$/i,Wy=/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/,Yy=/^[a-zA-Z0-9-_]+$/,Ss=class{static fromString(t){let e=unescape(encodeURIComponent(t)),n=new Uint8Array(e.length);for(let o=0;o<e.length;o++)n[o]=e.charCodeAt(o);return n.buffer}static toString(t){let e=Je.toUint8Array(t),n="";for(let s=0;s<e.length;s++)n+=String.fromCharCode(e[s]);return decodeURIComponent(escape(n))}},ue=class{static toString(t,e=!1){let n=Je.toArrayBuffer(t),o=new DataView(n),s="";for(let i=0;i<n.byteLength;i+=2){let a=o.getUint16(i,e);s+=String.fromCharCode(a)}return s}static fromString(t,e=!1){let n=new ArrayBuffer(t.length*2),o=new DataView(n);for(let s=0;s<t.length;s++)o.setUint16(s*2,t.charCodeAt(s),e);return n}},Is=class r{static isHex(t){return typeof t===Dc&&Gy.test(t)}static isBase64(t){return typeof t===Dc&&Wy.test(t)}static isBase64Url(t){return typeof t===Dc&&Yy.test(t)}static ToString(t,e="utf8"){let n=Je.toUint8Array(t);switch(e.toLowerCase()){case"utf8":return this.ToUtf8String(n);case"binary":return this.ToBinary(n);case"hex":return this.ToHex(n);case"base64":return this.ToBase64(n);case"base64url":return this.ToBase64Url(n);case"utf16le":return ue.toString(n,!0);case"utf16":case"utf16be":return ue.toString(n);default:throw new Error(`Unknown type of encoding '${e}'`)}}static FromString(t,e="utf8"){if(!t)return new ArrayBuffer(0);switch(e.toLowerCase()){case"utf8":return this.FromUtf8String(t);case"binary":return this.FromBinary(t);case"hex":return this.FromHex(t);case"base64":return this.FromBase64(t);case"base64url":return this.FromBase64Url(t);case"utf16le":return ue.fromString(t,!0);case"utf16":case"utf16be":return ue.fromString(t);default:throw new Error(`Unknown type of encoding '${e}'`)}}static ToBase64(t){let e=Je.toUint8Array(t);if(typeof btoa<"u"){let n=this.ToString(e,"binary");return btoa(n)}else return Buffer.from(e).toString("base64")}static FromBase64(t){let e=this.formatString(t);if(!e)return new ArrayBuffer(0);if(!r.isBase64(e))throw new TypeError("Argument 'base64Text' is not Base64 encoded");return typeof atob<"u"?this.FromBinary(atob(e)):new Uint8Array(Buffer.from(e,"base64")).buffer}static FromBase64Url(t){let e=this.formatString(t);if(!e)return new ArrayBuffer(0);if(!r.isBase64Url(e))throw new TypeError("Argument 'base64url' is not Base64Url encoded");return this.FromBase64(this.Base64Padding(e.replace(/\-/g,"+").replace(/\_/g,"/")))}static ToBase64Url(t){return this.ToBase64(t).replace(/\+/g,"-").replace(/\//g,"_").replace(/\=/g,"")}static FromUtf8String(t,e=r.DEFAULT_UTF8_ENCODING){switch(e){case"ascii":return this.FromBinary(t);case"utf8":return Ss.fromString(t);case"utf16":case"utf16be":return ue.fromString(t);case"utf16le":case"usc2":return ue.fromString(t,!0);default:throw new Error(`Unknown type of encoding '${e}'`)}}static ToUtf8String(t,e=r.DEFAULT_UTF8_ENCODING){switch(e){case"ascii":return this.ToBinary(t);case"utf8":return Ss.toString(t);case"utf16":case"utf16be":return ue.toString(t);case"utf16le":case"usc2":return ue.toString(t,!0);default:throw new Error(`Unknown type of encoding '${e}'`)}}static FromBinary(t){let e=t.length,n=new Uint8Array(e);for(let o=0;o<e;o++)n[o]=t.charCodeAt(o);return n.buffer}static ToBinary(t){let e=Je.toUint8Array(t),n="";for(let o=0;o<e.length;o++)n+=String.fromCharCode(e[o]);return n}static ToHex(t){let e=Je.toUint8Array(t),n="",o=e.length;for(let s=0;s<o;s++){let i=e[s];i<16&&(n+="0"),n+=i.toString(16)}return n}static FromHex(t){let e=this.formatString(t);if(!e)return new ArrayBuffer(0);if(!r.isHex(e))throw new TypeError("Argument 'hexString' is not HEX encoded");e.length%2&&(e=`0${e}`);let n=new Uint8Array(e.length/2);for(let o=0;o<e.length;o=o+2){let s=e.slice(o,o+2);n[o/2]=parseInt(s,16)}return n.buffer}static ToUtf16String(t,e=!1){return ue.toString(t,e)}static FromUtf16String(t,e=!1){return ue.fromString(t,e)}static Base64Padding(t){let e=4-t.length%4;if(e<4)for(let n=0;n<e;n++)t+="=";return t}static formatString(t){return t?.replace(/[\n\r\t ]/g,"")||""}};Is.DEFAULT_UTF8_ENCODING="utf8";function Zy(r,...t){let e=arguments[0];for(let n=1;n<arguments.length;n++){let o=arguments[n];for(let s in o)e[s]=o[s]}return e}function Jy(...r){let t=r.map(o=>o.byteLength).reduce((o,s)=>o+s),e=new Uint8Array(t),n=0;return r.map(o=>new Uint8Array(o)).forEach(o=>{for(let s of o)e[n++]=s}),e.buffer}function Xy(r,t){if(!(r&&t)||r.byteLength!==t.byteLength)return!1;let e=new Uint8Array(r),n=new Uint8Array(t);for(let o=0;o<r.byteLength;o++)if(e[o]!==n[o])return!1;return!0}Tn.BufferSourceConverter=Je;Tn.Convert=Is;Tn.assign=Zy;Tn.combine=Jy;Tn.isEqual=Xy});var Kh=lr((_o,gi)=>{(function(r,t){"use strict";var e={version:"3.0.0",x86:{},x64:{},inputValidation:!0};function n(h){if(!Array.isArray(h)&&!ArrayBuffer.isView(h))return!1;for(var p=0;p<h.length;p++)if(!Number.isInteger(h[p])||h[p]<0||h[p]>255)return!1;return!0}function o(h,p){return(h&65535)*p+(((h>>>16)*p&65535)<<16)}function s(h,p){return h<<p|h>>>32-p}function i(h){return h^=h>>>16,h=o(h,2246822507),h^=h>>>13,h=o(h,3266489909),h^=h>>>16,h}function a(h,p){h=[h[0]>>>16,h[0]&65535,h[1]>>>16,h[1]&65535],p=[p[0]>>>16,p[0]&65535,p[1]>>>16,p[1]&65535];var d=[0,0,0,0];return d[3]+=h[3]+p[3],d[2]+=d[3]>>>16,d[3]&=65535,d[2]+=h[2]+p[2],d[1]+=d[2]>>>16,d[2]&=65535,d[1]+=h[1]+p[1],d[0]+=d[1]>>>16,d[1]&=65535,d[0]+=h[0]+p[0],d[0]&=65535,[d[0]<<16|d[1],d[2]<<16|d[3]]}function c(h,p){h=[h[0]>>>16,h[0]&65535,h[1]>>>16,h[1]&65535],p=[p[0]>>>16,p[0]&65535,p[1]>>>16,p[1]&65535];var d=[0,0,0,0];return d[3]+=h[3]*p[3],d[2]+=d[3]>>>16,d[3]&=65535,d[2]+=h[2]*p[3],d[1]+=d[2]>>>16,d[2]&=65535,d[2]+=h[3]*p[2],d[1]+=d[2]>>>16,d[2]&=65535,d[1]+=h[1]*p[3],d[0]+=d[1]>>>16,d[1]&=65535,d[1]+=h[2]*p[2],d[0]+=d[1]>>>16,d[1]&=65535,d[1]+=h[3]*p[1],d[0]+=d[1]>>>16,d[1]&=65535,d[0]+=h[0]*p[3]+h[1]*p[2]+h[2]*p[1]+h[3]*p[0],d[0]&=65535,[d[0]<<16|d[1],d[2]<<16|d[3]]}function l(h,p){return p%=64,p===32?[h[1],h[0]]:p<32?[h[0]<<p|h[1]>>>32-p,h[1]<<p|h[0]>>>32-p]:(p-=32,[h[1]<<p|h[0]>>>32-p,h[0]<<p|h[1]>>>32-p])}function f(h,p){return p%=64,p===0?h:p<32?[h[0]<<p|h[1]>>>32-p,h[1]<<p]:[h[1]<<p-32,0]}function u(h,p){return[h[0]^p[0],h[1]^p[1]]}function m(h){return h=u(h,[0,h[0]>>>1]),h=c(h,[4283543511,3981806797]),h=u(h,[0,h[0]>>>1]),h=c(h,[3301882366,444984403]),h=u(h,[0,h[0]>>>1]),h}e.x86.hash32=function(h,p){if(e.inputValidation&&!n(h))return t;p=p||0;for(var d=h.length%4,b=h.length-d,y=p,w=0,x=3432918353,k=461845907,S=0;S<b;S=S+4)w=h[S]|h[S+1]<<8|h[S+2]<<16|h[S+3]<<24,w=o(w,x),w=s(w,15),w=o(w,k),y^=w,y=s(y,13),y=o(y,5)+3864292196;switch(w=0,d){case 3:w^=h[S+2]<<16;case 2:w^=h[S+1]<<8;case 1:w^=h[S],w=o(w,x),w=s(w,15),w=o(w,k),y^=w}return y^=h.length,y=i(y),y>>>0},e.x86.hash128=function(h,p){if(e.inputValidation&&!n(h))return t;p=p||0;for(var d=h.length%16,b=h.length-d,y=p,w=p,x=p,k=p,S=0,I=0,B=0,A=0,U=597399067,O=2869860233,D=951274213,M=2716044179,C=0;C<b;C=C+16)S=h[C]|h[C+1]<<8|h[C+2]<<16|h[C+3]<<24,I=h[C+4]|h[C+5]<<8|h[C+6]<<16|h[C+7]<<24,B=h[C+8]|h[C+9]<<8|h[C+10]<<16|h[C+11]<<24,A=h[C+12]|h[C+13]<<8|h[C+14]<<16|h[C+15]<<24,S=o(S,U),S=s(S,15),S=o(S,O),y^=S,y=s(y,19),y+=w,y=o(y,5)+1444728091,I=o(I,O),I=s(I,16),I=o(I,D),w^=I,w=s(w,17),w+=x,w=o(w,5)+197830471,B=o(B,D),B=s(B,17),B=o(B,M),x^=B,x=s(x,15),x+=k,x=o(x,5)+2530024501,A=o(A,M),A=s(A,18),A=o(A,U),k^=A,k=s(k,13),k+=y,k=o(k,5)+850148119;switch(S=0,I=0,B=0,A=0,d){case 15:A^=h[C+14]<<16;case 14:A^=h[C+13]<<8;case 13:A^=h[C+12],A=o(A,M),A=s(A,18),A=o(A,U),k^=A;case 12:B^=h[C+11]<<24;case 11:B^=h[C+10]<<16;case 10:B^=h[C+9]<<8;case 9:B^=h[C+8],B=o(B,D),B=s(B,17),B=o(B,M),x^=B;case 8:I^=h[C+7]<<24;case 7:I^=h[C+6]<<16;case 6:I^=h[C+5]<<8;case 5:I^=h[C+4],I=o(I,O),I=s(I,16),I=o(I,D),w^=I;case 4:S^=h[C+3]<<24;case 3:S^=h[C+2]<<16;case 2:S^=h[C+1]<<8;case 1:S^=h[C],S=o(S,U),S=s(S,15),S=o(S,O),y^=S}return y^=h.length,w^=h.length,x^=h.length,k^=h.length,y+=w,y+=x,y+=k,w+=y,x+=y,k+=y,y=i(y),w=i(w),x=i(x),k=i(k),y+=w,y+=x,y+=k,w+=y,x+=y,k+=y,("00000000"+(y>>>0).toString(16)).slice(-8)+("00000000"+(w>>>0).toString(16)).slice(-8)+("00000000"+(x>>>0).toString(16)).slice(-8)+("00000000"+(k>>>0).toString(16)).slice(-8)},e.x64.hash128=function(h,p){if(e.inputValidation&&!n(h))return t;p=p||0;for(var d=h.length%16,b=h.length-d,y=[0,p],w=[0,p],x=[0,0],k=[0,0],S=[2277735313,289559509],I=[1291169091,658871167],B=0;B<b;B=B+16)x=[h[B+4]|h[B+5]<<8|h[B+6]<<16|h[B+7]<<24,h[B]|h[B+1]<<8|h[B+2]<<16|h[B+3]<<24],k=[h[B+12]|h[B+13]<<8|h[B+14]<<16|h[B+15]<<24,h[B+8]|h[B+9]<<8|h[B+10]<<16|h[B+11]<<24],x=c(x,S),x=l(x,31),x=c(x,I),y=u(y,x),y=l(y,27),y=a(y,w),y=a(c(y,[0,5]),[0,1390208809]),k=c(k,I),k=l(k,33),k=c(k,S),w=u(w,k),w=l(w,31),w=a(w,y),w=a(c(w,[0,5]),[0,944331445]);switch(x=[0,0],k=[0,0],d){case 15:k=u(k,f([0,h[B+14]],48));case 14:k=u(k,f([0,h[B+13]],40));case 13:k=u(k,f([0,h[B+12]],32));case 12:k=u(k,f([0,h[B+11]],24));case 11:k=u(k,f([0,h[B+10]],16));case 10:k=u(k,f([0,h[B+9]],8));case 9:k=u(k,[0,h[B+8]]),k=c(k,I),k=l(k,33),k=c(k,S),w=u(w,k);case 8:x=u(x,f([0,h[B+7]],56));case 7:x=u(x,f([0,h[B+6]],48));case 6:x=u(x,f([0,h[B+5]],40));case 5:x=u(x,f([0,h[B+4]],32));case 4:x=u(x,f([0,h[B+3]],24));case 3:x=u(x,f([0,h[B+2]],16));case 2:x=u(x,f([0,h[B+1]],8));case 1:x=u(x,[0,h[B]]),x=c(x,S),x=l(x,31),x=c(x,I),y=u(y,x)}return y=u(y,[0,h.length]),w=u(w,[0,h.length]),y=a(y,w),w=a(w,y),y=m(y),w=m(w),y=a(y,w),w=a(w,y),("00000000"+(y[0]>>>0).toString(16)).slice(-8)+("00000000"+(y[1]>>>0).toString(16)).slice(-8)+("00000000"+(w[0]>>>0).toString(16)).slice(-8)+("00000000"+(w[1]>>>0).toString(16)).slice(-8)},typeof _o<"u"?(typeof gi<"u"&&gi.exports&&(_o=gi.exports=e),_o.murmurHash3=e):typeof define=="function"&&define.amd?define([],function(){return e}):(e._murmurHash3=r.murmurHash3,e.noConflict=function(){return r.murmurHash3=e._murmurHash3,e._murmurHash3=t,e.noConflict=t,e},r.murmurHash3=e)})(_o)});var zh=lr((a8,qh)=>{qh.exports=Kh()});var Yh=lr((E8,Jc)=>{"use strict";var jw=Object.prototype.hasOwnProperty,Kt="~";function To(){}Object.create&&(To.prototype=Object.create(null),new To().__proto__||(Kt=!1));function Gw(r,t,e){this.fn=r,this.context=t,this.once=e||!1}function Wh(r,t,e,n,o){if(typeof e!="function")throw new TypeError("The listener must be a function");var s=new Gw(e,n||r,o),i=Kt?Kt+t:t;return r._events[i]?r._events[i].fn?r._events[i]=[r._events[i],s]:r._events[i].push(s):(r._events[i]=s,r._eventsCount++),r}function xi(r,t){--r._eventsCount===0?r._events=new To:delete r._events[t]}function Ft(){this._events=new To,this._eventsCount=0}Ft.prototype.eventNames=function(){var t=[],e,n;if(this._eventsCount===0)return t;for(n in e=this._events)jw.call(e,n)&&t.push(Kt?n.slice(1):n);return Object.getOwnPropertySymbols?t.concat(Object.getOwnPropertySymbols(e)):t};Ft.prototype.listeners=function(t){var e=Kt?Kt+t:t,n=this._events[e];if(!n)return[];if(n.fn)return[n.fn];for(var o=0,s=n.length,i=new Array(s);o<s;o++)i[o]=n[o].fn;return i};Ft.prototype.listenerCount=function(t){var e=Kt?Kt+t:t,n=this._events[e];return n?n.fn?1:n.length:0};Ft.prototype.emit=function(t,e,n,o,s,i){var a=Kt?Kt+t:t;if(!this._events[a])return!1;var c=this._events[a],l=arguments.length,f,u;if(c.fn){switch(c.once&&this.removeListener(t,c.fn,void 0,!0),l){case 1:return c.fn.call(c.context),!0;case 2:return c.fn.call(c.context,e),!0;case 3:return c.fn.call(c.context,e,n),!0;case 4:return c.fn.call(c.context,e,n,o),!0;case 5:return c.fn.call(c.context,e,n,o,s),!0;case 6:return c.fn.call(c.context,e,n,o,s,i),!0}for(u=1,f=new Array(l-1);u<l;u++)f[u-1]=arguments[u];c.fn.apply(c.context,f)}else{var m=c.length,h;for(u=0;u<m;u++)switch(c[u].once&&this.removeListener(t,c[u].fn,void 0,!0),l){case 1:c[u].fn.call(c[u].context);break;case 2:c[u].fn.call(c[u].context,e);break;case 3:c[u].fn.call(c[u].context,e,n);break;case 4:c[u].fn.call(c[u].context,e,n,o);break;default:if(!f)for(h=1,f=new Array(l-1);h<l;h++)f[h-1]=arguments[h];c[u].fn.apply(c[u].context,f)}}return!0};Ft.prototype.on=function(t,e,n){return Wh(this,t,e,n,!1)};Ft.prototype.once=function(t,e,n){return Wh(this,t,e,n,!0)};Ft.prototype.removeListener=function(t,e,n,o){var s=Kt?Kt+t:t;if(!this._events[s])return this;if(!e)return xi(this,s),this;var i=this._events[s];if(i.fn)i.fn===e&&(!o||i.once)&&(!n||i.context===n)&&xi(this,s);else{for(var a=0,c=[],l=i.length;a<l;a++)(i[a].fn!==e||o&&!i[a].once||n&&i[a].context!==n)&&c.push(i[a]);c.length?this._events[s]=c.length===1?c[0]:c:xi(this,s)}return this};Ft.prototype.removeAllListeners=function(t){var e;return t?(e=Kt?Kt+t:t,this._events[e]&&xi(this,e)):(this._events=new To,this._eventsCount=0),this};Ft.prototype.off=Ft.prototype.removeListener;Ft.prototype.addListener=Ft.prototype.on;Ft.prefixed=Kt;Ft.EventEmitter=Ft;typeof Jc<"u"&&(Jc.exports=Ft)});var td=lr((q8,Qh)=>{Qh.exports=function(r){if(!r)throw Error("hashlru must have a max value, of type number, greater than 0");var t=0,e=Object.create(null),n=Object.create(null);function o(s,i){e[s]=i,t++,t>=r&&(t=0,n=e,e=Object.create(null))}return{has:function(s){return e[s]!==void 0||n[s]!==void 0},remove:function(s){e[s]!==void 0&&(e[s]=void 0),n[s]!==void 0&&(n[s]=void 0)},get:function(s){var i=e[s];if(i!==void 0)return i;if((i=n[s])!==void 0)return o(s,i),i},set:function(s,i){e[s]!==void 0?e[s]=i:o(s,i)},clear:function(){e=Object.create(null),n=Object.create(null)}}}});var zn=lr((BS,Up)=>{"use strict";function Lp(r,t){for(let e in t)Object.defineProperty(r,e,{value:t[e],enumerable:!0,configurable:!0});return r}function jb(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 Lp(r,e)}catch{e.message=r.message,e.stack=r.stack;let o=function(){};return o.prototype=Object.create(Object.getPrototypeOf(r)),Lp(new o,e)}}Up.exports=jb});var Kp=lr(Ko=>{(function(){var r,t,e,n,o,s,i,a;a=function(c){var l,f,u,m;return l=(c&255<<24)>>>24,f=(c&255<<16)>>>16,u=(c&65280)>>>8,m=c&255,[l,f,u,m].join(".")},i=function(c){var l,f,u,m,h,p;for(l=[],u=m=0;m<=3&&c.length!==0;u=++m){if(u>0){if(c[0]!==".")throw new Error("Invalid IP");c=c.substring(1)}p=t(c),h=p[0],f=p[1],c=c.substring(f),l.push(h)}if(c.length!==0)throw new Error("Invalid IP");switch(l.length){case 1:if(l[0]>4294967295)throw new Error("Invalid IP");return l[0]>>>0;case 2:if(l[0]>255||l[1]>16777215)throw new Error("Invalid IP");return(l[0]<<24|l[1])>>>0;case 3:if(l[0]>255||l[1]>255||l[2]>65535)throw new Error("Invalid IP");return(l[0]<<24|l[1]<<16|l[2])>>>0;case 4:if(l[0]>255||l[1]>255||l[2]>255||l[3]>255)throw new Error("Invalid IP");return(l[0]<<24|l[1]<<16|l[2]<<8|l[3])>>>0;default:throw new Error("Invalid IP")}},e=function(c){return c.charCodeAt(0)},n=e("0"),s=e("a"),o=e("A"),t=function(c){var l,f,u,m,h;for(m=0,l=10,f="9",u=0,c.length>1&&c[u]==="0"&&(c[u+1]==="x"||c[u+1]==="X"?(u+=2,l=16):"0"<=c[u+1]&&c[u+1]<="9"&&(u++,l=8,f="7")),h=u;u<c.length;){if("0"<=c[u]&&c[u]<=f)m=m*l+(e(c[u])-n)>>>0;else if(l===16)if("a"<=c[u]&&c[u]<="f")m=m*l+(10+e(c[u])-s)>>>0;else if("A"<=c[u]&&c[u]<="F")m=m*l+(10+e(c[u])-o)>>>0;else break;else break;if(m>4294967295)throw new Error("too large");u++}if(u===h)throw new Error("empty octet");return[m,u]},r=function(){function c(l,f){var u,m,h,p;if(typeof l!="string")throw new Error("Missing `net' parameter");if(f||(p=l.split("/",2),l=p[0],f=p[1]),f||(f=32),typeof f=="string"&&f.indexOf(".")>-1){try{this.maskLong=i(f)}catch(d){throw u=d,new Error("Invalid mask: "+f)}for(m=h=32;h>=0;m=--h)if(this.maskLong===4294967295<<32-m>>>0){this.bitmask=m;break}}else if(f||f===0)this.bitmask=parseInt(f,10),this.maskLong=0,this.bitmask>0&&(this.maskLong=4294967295<<32-this.bitmask>>>0);else throw new Error("Invalid mask: empty");try{this.netLong=(i(l)&this.maskLong)>>>0}catch(d){throw u=d,new Error("Invalid net address: "+l)}if(!(this.bitmask<=32))throw new Error("Invalid mask for ip4: "+f);this.size=Math.pow(2,32-this.bitmask),this.base=a(this.netLong),this.mask=a(this.maskLong),this.hostmask=a(~this.maskLong),this.first=this.bitmask<=30?a(this.netLong+1):this.base,this.last=this.bitmask<=30?a(this.netLong+this.size-2):a(this.netLong+this.size-1),this.broadcast=this.bitmask<=30?a(this.netLong+this.size-1):void 0}return c.prototype.contains=function(l){return typeof l=="string"&&(l.indexOf("/")>0||l.split(".").length!==4)&&(l=new c(l)),l instanceof c?this.contains(l.base)&&this.contains(l.broadcast||l.last):(i(l)&this.maskLong)>>>0===(this.netLong&this.maskLong)>>>0},c.prototype.next=function(l){return l==null&&(l=1),new c(a(this.netLong+this.size*l),this.mask)},c.prototype.forEach=function(l){var f,u,m;for(m=i(this.first),u=i(this.last),f=0;m<=u;)l(a(m),m,f),f++,m++},c.prototype.toString=function(){return this.base+"/"+this.bitmask},c}(),Ko.ip2long=i,Ko.long2ip=a,Ko.Netmask=r}).call(Ko)});var Xu=lr((J4,Ju)=>{var Z4=function(){typeof Ju<"u"&&(Ju.exports=d);var r=86400,t=3200,e=146097*t/400,n=r*e,o=1e3*n,s=864e13,i=4294967296,a=1e6,c="000000000",l=Math.trunc||function(A){var U=A-A%1;return U==0&&(A<0||A===0&&1/A!=1/0)?-0:U},f=d.prototype,u=(d.fromDate=function(A){return new d(+A)},d.fromInt64BE=k(0,1,2,3,0,4),d.fromInt64LE=k(3,2,1,0,4,0),d.fromString=function(D){var U,O=new d,D=(D+="").replace(/^\s*[+\-]?\d+/,function(C){var C=+C,T=1970+(C-1970)%400;return O.year=C-T,T}).replace(/(?:Z|([+\-]\d{2}):?(\d{2}))$/,function(M,C,T){return C<0&&(T*=-1),U=6e4*(60*+C+ +T),""}).replace(/\.\d+$/,function(M){return O.nano=+(M+c).substr(1,9),""}).split(/\D+/);if(1<D.length?D[1]--:D[1]=0,O.time=U=Date.UTC.apply(Date,D)-(U||0),isNaN(U))throw new TypeError("Invalid Date");return b(O)},d.fromTimeT=function(A){return w(A,0)},f.year=0,f.time=0,f.nano=0,f.addNano=function(A){return this.nano+=+A||0,this},f.getNano=function(){var A=b(this);return(A.time%1e3*a+ +A.nano+1e9)%1e9},f.getTimeT=function(){var U=b(this),A=Math.floor(U.time/1e3),U=U.year;return U&&(A+=U*e*r/t),A},f.getYear=function(){return this.toDate().getUTCFullYear()+this.year},f.toDate=function(){return y(b(this).time)},f.toJSON=function(){return this.toString().replace(/0{1,6}Z$/,"Z")},f.toString=function(A){var U=this,O=U.toDate(),D={H:function(){return I(O.getUTCHours())},L:function(){return B(O.getUTCMilliseconds(),3)},M:function(){return I(O.getUTCMinutes())},N:function(){return B(U.getNano(),9)},S:function(){return I(O.getUTCSeconds())},Y:function(){var M=U.getYear();return 999999<M?"+"+M:9999<M?"+"+B(M,6):0<=M?B(M,4):-999999<=M?"-"+B(-M,6):M},a:function(){return h[O.getUTCDay()]},b:function(){return m[O.getUTCMonth()]},d:function(){return I(O.getUTCDate())},e:function(){return function(M){return(9<M?"":" ")+(0|M)}(O.getUTCDate())},m:function(){return I(O.getUTCMonth()+1)}};return function M(C){return C.replace(/%./g,function(T){var E=T[1],v=p[E],E=D[E];return v?M(v):E?E():T})}(A||u)},f.writeInt64BE=x(0,1,2,3,0,4),f.writeInt64LE=x(3,2,1,0,4,0),"%Y-%m-%dT%H:%M:%S.%NZ"),m=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],h=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],p={"%":"%",F:"%Y-%m-%d",n:`
|
|
3
|
+
`,R:"%H:%M",T:"%H:%M:%S",t:" ",X:"%T",Z:"GMT",z:"+0000"};return d;function d(A,U,O){var D=this;if(!(D instanceof d))return new d(A,U,O);D.time=+A||0,D.nano=+U||0,D.year=+O||0,b(D)}function b(A){var U,O,D,M=A.year,C=A.time,T=A.nano,v=((T<0||a<=T)&&(T-=(O=Math.floor(T/a))*a,C+=O,O=1),M%t);return(C<-s||s<C||v)&&((U=l(C/o))&&(M+=U*t,C-=U*o),(D=y(C)).setUTCFullYear(v+D.getUTCFullYear()),D=(C=+D)+(U=l((M-=v)/t))*o,U&&-s<=D&&D<=s&&(M-=U*t,C=D),O=1),O&&(A.year=M,A.time=C,A.nano=T),A}function y(A){var U=new Date(0);return U.setTime(A),U}function w(M,D){M=+M||0;var O=l((D=(D|0)*i)/n)+l(M/n),D=D%n+M%n,M=l(D/n);return M&&(O+=M,D-=M*n),new d(1e3*D,0,O*t)}function x(A,U,O,D,M,C){return function(v,E){var L=b(this);v=v||new Array(8),S(v,E|=0);var $=Math.floor(L.time/1e3),L=L.year*(e*r/t),_=l(L/i)+l($/i),L=L%i+$%i,$=Math.floor(L/i);return $&&(_+=$,L-=$*i),T(v,E+M,_),T(v,E+C,L),v};function T(v,E,_){v[E+A]=_>>24&255,v[E+U]=_>>16&255,v[E+O]=_>>8&255,v[E+D]=255&_}}function k(A,U,O,D,M,C){return function(v,E){S(v,E|=0);var _=T(v,E+M);return w(T(v,E+C),_)};function T(v,E){return 16777216*v[E+A]+(v[E+U]<<16|v[E+O]<<8|v[E+D])}}function S(A,U){if(A=A&&A.length,A==null)throw new TypeError("Invalid Buffer");if(A<U+8)throw new RangeError("Out of range")}function I(A){return(9<A?"":"0")+(0|A)}function B(A,U){return(c+(0|A)).substr(-U)}}()});var v1={};bt(v1,{DEFAULT_SESSION_MAX_PROVIDERS:()=>$p,DEFAULT_SESSION_MIN_PROVIDERS:()=>Mp,createHeliaHTTP:()=>E1});var Qn=Symbol.for("@libp2p/content-routing");var tn=Symbol.for("@libp2p/peer-id");function Al(r){return r!=null&&!!r[tn]}var to=Symbol.for("@libp2p/peer-routing");var fr=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"},P=class extends Error{code;props;constructor(t,e,n){super(t),this.code=e,this.name=n?.name??"CodeError",this.props=n??{}}};var lt=(r,...t)=>{try{[...t]}catch{}};var en=class extends EventTarget{#t=new Map;constructor(){super(),lt(1/0,this)}listenerCount(t){let e=this.#t.get(t);return e==null?0:e.length}addEventListener(t,e,n){super.addEventListener(t,e,n);let o=this.#t.get(t);o==null&&(o=[],this.#t.set(t,o)),o.push({callback:e,once:(n!==!0&&n!==!1&&n?.once)??!1})}removeEventListener(t,e,n){super.removeEventListener(t.toString(),e??null,n);let o=this.#t.get(t);o!=null&&(o=o.filter(({callback:s})=>s!==e),this.#t.set(t,o))}dispatchEvent(t){let e=super.dispatchEvent(t),n=this.#t.get(t.type);return n==null||(n=n.filter(({once:o})=>!o),this.#t.set(t.type,n)),e}safeDispatchEvent(t,e={}){return this.dispatchEvent(new cm(t,e))}},Ea=class extends Event{detail;constructor(t,e){super(t,e),this.detail=e?.detail}},cm=globalThis.CustomEvent??Ea;function Bl(r){return r!=null&&typeof r.start=="function"&&typeof r.stop=="function"}async function hr(...r){let t=[];for(let e of r)Bl(e)&&t.push(e);await Promise.all(t.map(async e=>{e.beforeStart!=null&&await e.beforeStart()})),await Promise.all(t.map(async e=>{await e.start()})),await Promise.all(t.map(async e=>{e.afterStart!=null&&await e.afterStart()}))}async function dr(...r){let t=[];for(let e of r)Bl(e)&&t.push(e);await Promise.all(t.map(async e=>{e.beforeStop!=null&&await e.beforeStop()})),await Promise.all(t.map(async e=>{await e.stop()})),await Promise.all(t.map(async e=>{e.afterStop!=null&&await e.afterStop()}))}function Vt(r){let t=new globalThis.AbortController;function e(){t.abort();for(let s of r)s?.removeEventListener!=null&&s.removeEventListener("abort",e)}for(let s of r){if(s?.aborted===!0){e();break}s?.addEventListener!=null&&s.addEventListener("abort",e)}function n(){for(let s of r)s?.removeEventListener!=null&&s.removeEventListener("abort",e)}let o=t.signal;return o.clear=n,o}function kt(){let r={};return r.promise=new Promise((t,e)=>{r.resolve=t,r.reject=e}),r}var Xo=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}},rn=class{size;hwm;head;tail;constructor(t={}){this.hwm=t.splitLimit??16,this.head=new Xo(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 Xo(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 va=class extends Error{type;code;constructor(t,e){super(t??"The operation was aborted"),this.type="aborted",this.code=e??"ABORT_ERR"}};function Or(r={}){return um(e=>{let n=e.shift();if(n==null)return{done:!0};if(n.error!=null)throw n.error;return{done:n.done===!0,value:n.value}},r)}function um(r,t){t=t??{};let e=t.onEnd,n=new rn,o,s,i,a=kt(),c=async()=>{try{return n.isEmpty()?i?{done:!0}:await new Promise((b,y)=>{s=w=>{s=null,n.push(w);try{b(r(n))}catch(x){y(x)}return o}}):r(n)}finally{n.isEmpty()&&queueMicrotask(()=>{a.resolve(),a=kt()})}},l=b=>s!=null?s(b):(n.push(b),o),f=b=>(n=new rn,s!=null?s({error:b}):(n.push({error:b}),o)),u=b=>{if(i)return o;if(t?.objectMode!==!0&&b?.byteLength==null)throw new Error("objectMode was not true but tried to push non-Uint8Array value");return l({done:!1,value:b})},m=b=>i?o:(i=!0,b!=null?f(b):l({done:!0})),h=()=>(n=new rn,m(),{done:!0}),p=b=>(m(b),{done:!0});if(o={[Symbol.asyncIterator](){return this},next:c,return:h,throw:p,push:u,end:m,get readableLength(){return n.size},onEmpty:async b=>{let y=b?.signal;if(y?.throwIfAborted(),n.isEmpty())return;let w,x;y!=null&&(w=new Promise((k,S)=>{x=()=>{S(new va)},y.addEventListener("abort",x)}));try{await Promise.race([a.promise,w])}finally{x!=null&&y!=null&&y?.removeEventListener("abort",x)}}},e==null)return o;let d=o;return o={[Symbol.asyncIterator](){return this},next(){return d.next()},throw(b){return d.throw(b),e!=null&&(e(b),e=void 0),{done:!0}},return(){return d.return(),e!=null&&(e(),e=void 0),{done:!0}},push:u,end(b){return d.end(b),e!=null&&(e(b),e=void 0),o},get readableLength(){return d.readableLength},onEmpty:b=>d.onEmpty(b)},o}var Aa=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 Qo(r,t,e,n){let o=new Aa(n?.errorMessage,n?.errorCode);return e?.aborted===!0?Promise.reject(o):new Promise((s,i)=>{function a(){e?.removeEventListener("abort",f),r.removeEventListener(t,c),n?.errorEvent!=null&&r.removeEventListener(n.errorEvent,l)}let c=u=>{try{if(n?.filter?.(u)===!1)return}catch(m){a(),i(m);return}a(),s(u)},l=u=>{a(),i(u.detail)},f=()=>{a(),i(o)};e?.addEventListener("abort",f),r.addEventListener(t,c),n?.errorEvent!=null&&r.addEventListener(n.errorEvent,l)})}var ts=class extends Error{type;code;constructor(t,e,n){super(t??"The operation was aborted"),this.type="aborted",this.name=n??"AbortError",this.code=e??"ABORT_ERR"}};async function kl(r,t,e){if(t==null)return r;if(t.aborted)return Promise.reject(new ts(e?.errorMessage,e?.errorCode,e?.errorName));let n,o=new ts(e?.errorMessage,e?.errorCode,e?.errorName);try{return await Promise.race([r,new Promise((s,i)=>{n=()=>{i(o)},t.addEventListener("abort",n)})])}finally{n!=null&&t.removeEventListener("abort",n)}}var es=class{deferred;signal;constructor(t){this.signal=t,this.deferred=kt(),this.onAbort=this.onAbort.bind(this),this.signal?.addEventListener("abort",this.onAbort)}onAbort(){this.deferred.reject(this.signal?.reason??new fr)}cleanup(){this.signal?.removeEventListener("abort",this.onAbort)}};function lm(){return`${parseInt(String(Math.random()*1e9),10).toString()}${Date.now()}`}var rs=class{id;fn;options;recipients;status;timeline;controller;constructor(t,e){this.id=lm(),this.status="queued",this.fn=t,this.options=e,this.recipients=[],this.timeline={created:Date.now()},this.controller=new AbortController,lt(1/0,this.controller.signal),this.onAbort=this.onAbort.bind(this)}abort(t){this.controller.abort(t)}onAbort(){this.recipients.reduce((e,n)=>e&&n.signal?.aborted===!0,!0)&&(this.controller.abort(new fr),this.cleanup())}async join(t={}){let e=new es(t.signal);return this.recipients.push(e),t.signal?.addEventListener("abort",this.onAbort),e.deferred.promise}async run(){this.status="running",this.timeline.started=Date.now();try{this.controller.signal.throwIfAborted();let t=await kl(this.fn({...this.options??{},signal:this.controller.signal}),this.controller.signal);this.recipients.forEach(e=>{e.deferred.resolve(t)}),this.status="complete"}catch(t){this.recipients.forEach(e=>{e.deferred.reject(t)}),this.status="errored"}finally{this.timeline.finished=Date.now(),this.cleanup()}}cleanup(){this.recipients.forEach(t=>{t.cleanup(),t.signal?.removeEventListener("abort",this.onAbort)})}};var He=class extends en{concurrency;queue;pending;sort;constructor(t={}){super(),this.concurrency=t.concurrency??Number.POSITIVE_INFINITY,this.pending=0,t.metricName!=null&&t.metrics?.registerMetricGroup(t.metricName,{calculate:()=>({size:this.queue.length,running:this.pending,queued:this.queue.length-this.pending})}),this.sort=t.sort,this.queue=[]}tryToStartAnother(){if(this.size===0)return queueMicrotask(()=>{this.safeDispatchEvent("empty")}),this.running===0&&queueMicrotask(()=>{this.safeDispatchEvent("idle")}),!1;if(this.pending<this.concurrency){let t;for(let e of this.queue)if(e.status==="queued"){t=e;break}return t==null?!1:(this.safeDispatchEvent("active"),this.pending++,t.run().finally(()=>{for(let e=0;e<this.queue.length;e++)if(this.queue[e]===t){this.queue.splice(e,1);break}this.pending--,this.tryToStartAnother(),this.safeDispatchEvent("next")}),!0)}return!1}enqueue(t){this.queue.push(t),this.sort!=null&&this.queue.sort(this.sort)}async add(t,e){e?.signal?.throwIfAborted();let n=new rs(t,e);return this.enqueue(n),this.safeDispatchEvent("add"),this.tryToStartAnother(),n.join(e).then(o=>(this.safeDispatchEvent("completed",{detail:o}),this.safeDispatchEvent("success",{detail:{job:n,result:o}}),o)).catch(o=>{if(n.status==="queued"){for(let s=0;s<this.queue.length;s++)if(this.queue[s]===n){this.queue.splice(s,1);break}}throw this.safeDispatchEvent("error",{detail:o}),this.safeDispatchEvent("failure",{detail:{job:n,error:o}}),o})}clear(){this.queue.splice(0,this.queue.length)}abort(){this.queue.forEach(t=>{t.abort(new fr)}),this.clear()}async onEmpty(t){this.size!==0&&await Qo(this,"empty",t?.signal)}async onSizeLessThan(t,e){this.size<t||await Qo(this,"next",e?.signal,{filter:()=>this.size<t})}async onIdle(t){this.pending===0&&this.size===0||await Qo(this,"idle",t?.signal)}get size(){return this.queue.length}get queued(){return this.queue.length-this.pending}get running(){return this.pending}async*toGenerator(t){t?.signal?.throwIfAborted();let e=Or({objectMode:!0}),n=c=>{c!=null?this.abort():this.clear(),e.end(c)},o=c=>{c.detail!=null&&e.push(c.detail)},s=c=>{n(c.detail)},i=()=>{n()},a=()=>{n(new P("Queue aborted","ERR_QUEUE_ABORTED"))};this.addEventListener("completed",o),this.addEventListener("error",s),this.addEventListener("idle",i),t?.signal?.addEventListener("abort",a);try{yield*e}finally{this.removeEventListener("completed",o),this.removeEventListener("error",s),this.removeEventListener("idle",i),t?.signal?.removeEventListener("abort",a),n()}}};var ns=class extends He{has(t){return this.find(t)!=null}find(t){return this.queue.find(e=>t.equals(e.options.peerId))}};function fm(r){return r[Symbol.asyncIterator]!=null}function hm(r){if(fm(r))return(async()=>{for await(let t of r);})();for(let t of r);}var Fr=hm;function ge(r=0){return new Uint8Array(r)}function zt(r=0){return new Uint8Array(r)}var dm=Math.pow(2,7),pm=Math.pow(2,14),mm=Math.pow(2,21),Ba=Math.pow(2,28),ka=Math.pow(2,35),Sa=Math.pow(2,42),Ia=Math.pow(2,49),rt=128,Dt=127;function jt(r){if(r<dm)return 1;if(r<pm)return 2;if(r<mm)return 3;if(r<Ba)return 4;if(r<ka)return 5;if(r<Sa)return 6;if(r<Ia)return 7;if(Number.MAX_SAFE_INTEGER!=null&&r>Number.MAX_SAFE_INTEGER)throw new RangeError("Could not encode varint");return 8}function Ra(r,t,e=0){switch(jt(r)){case 8:t[e++]=r&255|rt,r/=128;case 7:t[e++]=r&255|rt,r/=128;case 6:t[e++]=r&255|rt,r/=128;case 5:t[e++]=r&255|rt,r/=128;case 4:t[e++]=r&255|rt,r>>>=7;case 3:t[e++]=r&255|rt,r>>>=7;case 2:t[e++]=r&255|rt,r>>>=7;case 1:{t[e++]=r&255,r>>>=7;break}default:throw new Error("unreachable")}return t}function gm(r,t,e=0){switch(jt(r)){case 8:t.set(e++,r&255|rt),r/=128;case 7:t.set(e++,r&255|rt),r/=128;case 6:t.set(e++,r&255|rt),r/=128;case 5:t.set(e++,r&255|rt),r/=128;case 4:t.set(e++,r&255|rt),r>>>=7;case 3:t.set(e++,r&255|rt),r>>>=7;case 2:t.set(e++,r&255|rt),r>>>=7;case 1:{t.set(e++,r&255),r>>>=7;break}default:throw new Error("unreachable")}return t}function _a(r,t){let e=r[t],n=0;if(n+=e&Dt,e<rt||(e=r[t+1],n+=(e&Dt)<<7,e<rt)||(e=r[t+2],n+=(e&Dt)<<14,e<rt)||(e=r[t+3],n+=(e&Dt)<<21,e<rt)||(e=r[t+4],n+=(e&Dt)*Ba,e<rt)||(e=r[t+5],n+=(e&Dt)*ka,e<rt)||(e=r[t+6],n+=(e&Dt)*Sa,e<rt)||(e=r[t+7],n+=(e&Dt)*Ia,e<rt))return n;throw new RangeError("Could not decode varint")}function ym(r,t){let e=r.get(t),n=0;if(n+=e&Dt,e<rt||(e=r.get(t+1),n+=(e&Dt)<<7,e<rt)||(e=r.get(t+2),n+=(e&Dt)<<14,e<rt)||(e=r.get(t+3),n+=(e&Dt)<<21,e<rt)||(e=r.get(t+4),n+=(e&Dt)*Ba,e<rt)||(e=r.get(t+5),n+=(e&Dt)*ka,e<rt)||(e=r.get(t+6),n+=(e&Dt)*Sa,e<rt)||(e=r.get(t+7),n+=(e&Dt)*Ia,e<rt))return n;throw new RangeError("Could not decode varint")}function nn(r,t,e=0){return t==null&&(t=zt(jt(r))),t instanceof Uint8Array?Ra(r,t,e):gm(r,t,e)}function Vr(r,t=0){return r instanceof Uint8Array?_a(r,t):ym(r,t)}function St(r,t){t==null&&(t=r.reduce((o,s)=>o+s.length,0));let e=zt(t),n=0;for(let o of r)e.set(o,n),n+=o.length;return e}function nt(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 Rl=Symbol.for("@achingbrain/uint8arraylist");function Il(r,t){if(t==null||t<0)throw new RangeError("index is out of bounds");let e=0;for(let n of r){let o=e+n.byteLength;if(t<o)return{buf:n,index:t-e};e=o}throw new RangeError("index is out of bounds")}function os(r){return!!r?.[Rl]}var ss=class r{bufs;length;[Rl]=!0;constructor(...t){this.bufs=[],this.length=0,t.length>0&&this.appendAll(t)}*[Symbol.iterator](){yield*this.bufs}get byteLength(){return this.length}append(...t){this.appendAll(t)}appendAll(t){let e=0;for(let n of t)if(n instanceof Uint8Array)e+=n.byteLength,this.bufs.push(n);else if(os(n))e+=n.byteLength,this.bufs.push(...n.bufs);else throw new Error("Could not append value, must be an Uint8Array or a Uint8ArrayList");this.length+=e}prepend(...t){this.prependAll(t)}prependAll(t){let e=0;for(let n of t.reverse())if(n instanceof Uint8Array)e+=n.byteLength,this.bufs.unshift(n);else if(os(n))e+=n.byteLength,this.bufs.unshift(...n.bufs);else throw new Error("Could not prepend value, must be an Uint8Array or a Uint8ArrayList");this.length+=e}get(t){let e=Il(this.bufs,t);return e.buf[e.index]}set(t,e){let n=Il(this.bufs,t);n.buf[n.index]=e}write(t,e=0){if(t instanceof Uint8Array)for(let n=0;n<t.length;n++)this.set(e+n,t[n]);else if(os(t))for(let n=0;n<t.length;n++)this.set(e+n,t.get(n));else throw new Error("Could not write value, must be an Uint8Array or a Uint8ArrayList")}consume(t){if(t=Math.trunc(t),!(Number.isNaN(t)||t<=0)){if(t===this.byteLength){this.bufs=[],this.length=0;return}for(;this.bufs.length>0;)if(t>=this.bufs[0].byteLength)t-=this.bufs[0].byteLength,this.length-=this.bufs[0].byteLength,this.bufs.shift();else{this.bufs[0]=this.bufs[0].subarray(t),this.length-=t;break}}}slice(t,e){let{bufs:n,length:o}=this._subList(t,e);return St(n,o)}subarray(t,e){let{bufs:n,length:o}=this._subList(t,e);return n.length===1?n[0]:St(n,o)}sublist(t,e){let{bufs:n,length:o}=this._subList(t,e),s=new r;return s.length=o,s.bufs=[...n],s}_subList(t,e){if(t=t??0,e=e??this.length,t<0&&(t=this.length+t),e<0&&(e=this.length+e),t<0||e>this.length)throw new RangeError("index is out of bounds");if(t===e)return{bufs:[],length:0};if(t===0&&e===this.length)return{bufs:this.bufs,length:this.length};let n=[],o=0;for(let s=0;s<this.bufs.length;s++){let i=this.bufs[s],a=o,c=a+i.byteLength;if(o=c,t>=c)continue;let l=t>=a&&t<c,f=e>a&&e<=c;if(l&&f){if(t===a&&e===c){n.push(i);break}let u=t-a;n.push(i.subarray(u,u+(e-t)));break}if(l){if(t===0){n.push(i);continue}n.push(i.subarray(t-a));continue}if(f){if(e===c){n.push(i);break}n.push(i.subarray(0,e-a));break}n.push(i)}return{bufs:n,length:e-t}}indexOf(t,e=0){if(!os(t)&&!(t instanceof Uint8Array))throw new TypeError('The "value" argument must be a Uint8ArrayList or Uint8Array');let n=t instanceof Uint8Array?t:t.subarray();if(e=Number(e??0),isNaN(e)&&(e=0),e<0&&(e=this.length+e),e<0&&(e=0),t.length===0)return e>this.length?this.length:e;let o=n.byteLength;if(o===0)throw new TypeError("search must be at least 1 byte long");let s=256,i=new Int32Array(s);for(let u=0;u<s;u++)i[u]=-1;for(let u=0;u<o;u++)i[n[u]]=u;let a=i,c=this.byteLength-n.byteLength,l=n.byteLength-1,f;for(let u=e;u<=c;u+=f){f=0;for(let m=l;m>=0;m--){let h=this.get(u+m);if(n[m]!==h){f=Math.max(1,m-a[h]);break}}if(f===0)return u}return-1}getInt8(t){let e=this.subarray(t,t+1);return new DataView(e.buffer,e.byteOffset,e.byteLength).getInt8(0)}setInt8(t,e){let n=zt(1);new DataView(n.buffer,n.byteOffset,n.byteLength).setInt8(0,e),this.write(n,t)}getInt16(t,e){let n=this.subarray(t,t+2);return new DataView(n.buffer,n.byteOffset,n.byteLength).getInt16(0,e)}setInt16(t,e,n){let o=ge(2);new DataView(o.buffer,o.byteOffset,o.byteLength).setInt16(0,e,n),this.write(o,t)}getInt32(t,e){let n=this.subarray(t,t+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getInt32(0,e)}setInt32(t,e,n){let o=ge(4);new DataView(o.buffer,o.byteOffset,o.byteLength).setInt32(0,e,n),this.write(o,t)}getBigInt64(t,e){let n=this.subarray(t,t+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getBigInt64(0,e)}setBigInt64(t,e,n){let o=ge(8);new DataView(o.buffer,o.byteOffset,o.byteLength).setBigInt64(0,e,n),this.write(o,t)}getUint8(t){let e=this.subarray(t,t+1);return new DataView(e.buffer,e.byteOffset,e.byteLength).getUint8(0)}setUint8(t,e){let n=zt(1);new DataView(n.buffer,n.byteOffset,n.byteLength).setUint8(0,e),this.write(n,t)}getUint16(t,e){let n=this.subarray(t,t+2);return new DataView(n.buffer,n.byteOffset,n.byteLength).getUint16(0,e)}setUint16(t,e,n){let o=ge(2);new DataView(o.buffer,o.byteOffset,o.byteLength).setUint16(0,e,n),this.write(o,t)}getUint32(t,e){let n=this.subarray(t,t+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getUint32(0,e)}setUint32(t,e,n){let o=ge(4);new DataView(o.buffer,o.byteOffset,o.byteLength).setUint32(0,e,n),this.write(o,t)}getBigUint64(t,e){let n=this.subarray(t,t+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getBigUint64(0,e)}setBigUint64(t,e,n){let o=ge(8);new DataView(o.buffer,o.byteOffset,o.byteLength).setBigUint64(0,e,n),this.write(o,t)}getFloat32(t,e){let n=this.subarray(t,t+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getFloat32(0,e)}setFloat32(t,e,n){let o=ge(4);new DataView(o.buffer,o.byteOffset,o.byteLength).setFloat32(0,e,n),this.write(o,t)}getFloat64(t,e){let n=this.subarray(t,t+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getFloat64(0,e)}setFloat64(t,e,n){let o=ge(8);new DataView(o.buffer,o.byteOffset,o.byteLength).setFloat64(0,e,n),this.write(o,t)}equals(t){if(t==null||!(t instanceof r)||t.bufs.length!==this.bufs.length)return!1;for(let e=0;e<this.bufs.length;e++)if(!nt(this.bufs[e],t.bufs[e]))return!1;return!0}static fromUint8Arrays(t,e){let n=new r;return n.bufs=t,e==null&&(e=t.reduce((o,s)=>o+s.byteLength,0)),n.length=e,n}};function wm(r){let[t,e]=r[Symbol.asyncIterator]!=null?[r[Symbol.asyncIterator](),Symbol.asyncIterator]:[r[Symbol.iterator](),Symbol.iterator],n=[];return{peek:()=>t.next(),push:o=>{n.push(o)},next:()=>n.length>0?{done:!1,value:n.shift()}:t.next(),[e](){return this}}}var on=wm;function bm(r){return r[Symbol.asyncIterator]!=null}function xm(r,t){let e=0;if(bm(r))return async function*(){for await(let c of r)yield t(c,e++)}();let n=on(r),{value:o,done:s}=n.next();if(s===!0)return function*(){}();let i=t(o,e++);if(typeof i.then=="function")return async function*(){yield await i;for await(let c of n)yield t(c,e++)}();let a=t;return function*(){yield i;for(let c of n)yield a(c,e++)}()}var sn=xm;function Em(r){return r[Symbol.asyncIterator]!=null}function vm(...r){let t=[];for(let e of r)Em(e)||t.push(e);return t.length===r.length?function*(){for(let e of t)yield*e}():async function*(){let e=Or({objectMode:!0});Promise.resolve().then(async()=>{try{await Promise.all(r.map(async n=>{for await(let o of n)e.push(o)})),e.end()}catch(n){e.end(n)}}),yield*e}()}var Mr=vm;function Am(r){return r[Symbol.asyncIterator]!=null}function Bm(r,t){return Am(r)?async function*(){let e=0;if(!(t<1)){for await(let n of r)if(yield n,e++,e===t)return}}():function*(){let e=0;if(!(t<1)){for(let n of r)if(yield n,e++,e===t)return}}()}var is=Bm;var tt=class extends Event{type;detail;constructor(t,e){super(t),this.type=t,this.detail=e}};var Ta=new Float32Array([-0]),pr=new Uint8Array(Ta.buffer);function _l(r,t,e){Ta[0]=r,t[e]=pr[0],t[e+1]=pr[1],t[e+2]=pr[2],t[e+3]=pr[3]}function Tl(r,t){return pr[0]=r[t],pr[1]=r[t+1],pr[2]=r[t+2],pr[3]=r[t+3],Ta[0]}var Ca=new Float64Array([-0]),Pt=new Uint8Array(Ca.buffer);function Cl(r,t,e){Ca[0]=r,t[e]=Pt[0],t[e+1]=Pt[1],t[e+2]=Pt[2],t[e+3]=Pt[3],t[e+4]=Pt[4],t[e+5]=Pt[5],t[e+6]=Pt[6],t[e+7]=Pt[7]}function Nl(r,t){return Pt[0]=r[t],Pt[1]=r[t+1],Pt[2]=r[t+2],Pt[3]=r[t+3],Pt[4]=r[t+4],Pt[5]=r[t+5],Pt[6]=r[t+6],Pt[7]=r[t+7],Ca[0]}var km=BigInt(Number.MAX_SAFE_INTEGER),Sm=BigInt(Number.MIN_SAFE_INTEGER),Xt=class r{lo;hi;constructor(t,e){this.lo=t|0,this.hi=e|0}toNumber(t=!1){if(!t&&this.hi>>>31>0){let e=~this.lo+1>>>0,n=~this.hi>>>0;return e===0&&(n=n+1>>>0),-(e+n*4294967296)}return this.lo+this.hi*4294967296}toBigInt(t=!1){if(t)return BigInt(this.lo>>>0)+(BigInt(this.hi>>>0)<<32n);if(this.hi>>>31){let e=~this.lo+1>>>0,n=~this.hi>>>0;return e===0&&(n=n+1>>>0),-(BigInt(e)+(BigInt(n)<<32n))}return BigInt(this.lo>>>0)+(BigInt(this.hi>>>0)<<32n)}toString(t=!1){return this.toBigInt(t).toString()}zzEncode(){let t=this.hi>>31;return this.hi=((this.hi<<1|this.lo>>>31)^t)>>>0,this.lo=(this.lo<<1^t)>>>0,this}zzDecode(){let t=-(this.lo&1);return this.lo=((this.lo>>>1|this.hi<<31)^t)>>>0,this.hi=(this.hi>>>1^t)>>>0,this}length(){let t=this.lo,e=(this.lo>>>28|this.hi<<4)>>>0,n=this.hi>>>24;return n===0?e===0?t<16384?t<128?1:2:t<2097152?3:4:e<16384?e<128?5:6:e<2097152?7:8:n<128?9:10}static fromBigInt(t){if(t===0n)return $r;if(t<km&&t>Sm)return this.fromNumber(Number(t));let e=t<0n;e&&(t=-t);let n=t>>32n,o=t-(n<<32n);return e&&(n=~n|0n,o=~o|0n,++o>Ll&&(o=0n,++n>Ll&&(n=0n))),new r(Number(o),Number(n))}static fromNumber(t){if(t===0)return $r;let e=t<0;e&&(t=-t);let n=t>>>0,o=(t-n)/4294967296>>>0;return e&&(o=~o>>>0,n=~n>>>0,++n>4294967295&&(n=0,++o>4294967295&&(o=0))),new r(n,o)}static from(t){return typeof t=="number"?r.fromNumber(t):typeof t=="bigint"?r.fromBigInt(t):typeof t=="string"?r.fromBigInt(BigInt(t)):t.low!=null||t.high!=null?new r(t.low>>>0,t.high>>>0):$r}},$r=new Xt(0,0);$r.toBigInt=function(){return 0n};$r.zzEncode=$r.zzDecode=function(){return this};$r.length=function(){return 1};var Ll=4294967296n;function Ul(r){let t=0,e=0;for(let n=0;n<r.length;++n)e=r.charCodeAt(n),e<128?t+=1:e<2048?t+=2:(e&64512)===55296&&(r.charCodeAt(n+1)&64512)===56320?(++n,t+=4):t+=3;return t}function Dl(r,t,e){if(e-t<1)return"";let o,s=[],i=0,a;for(;t<e;)a=r[t++],a<128?s[i++]=a:a>191&&a<224?s[i++]=(a&31)<<6|r[t++]&63:a>239&&a<365?(a=((a&7)<<18|(r[t++]&63)<<12|(r[t++]&63)<<6|r[t++]&63)-65536,s[i++]=55296+(a>>10),s[i++]=56320+(a&1023)):s[i++]=(a&15)<<12|(r[t++]&63)<<6|r[t++]&63,i>8191&&((o??(o=[])).push(String.fromCharCode.apply(String,s)),i=0);return o!=null?(i>0&&o.push(String.fromCharCode.apply(String,s.slice(0,i))),o.join("")):String.fromCharCode.apply(String,s.slice(0,i))}function Na(r,t,e){let n=e,o,s;for(let i=0;i<r.length;++i)o=r.charCodeAt(i),o<128?t[e++]=o:o<2048?(t[e++]=o>>6|192,t[e++]=o&63|128):(o&64512)===55296&&((s=r.charCodeAt(i+1))&64512)===56320?(o=65536+((o&1023)<<10)+(s&1023),++i,t[e++]=o>>18|240,t[e++]=o>>12&63|128,t[e++]=o>>6&63|128,t[e++]=o&63|128):(t[e++]=o>>12|224,t[e++]=o>>6&63|128,t[e++]=o&63|128);return e-n}function ye(r,t){return RangeError(`index out of range: ${r.pos} + ${t??1} > ${r.len}`)}function as(r,t){return(r[t-4]|r[t-3]<<8|r[t-2]<<16|r[t-1]<<24)>>>0}var La=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,ye(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 ye(this,4);return as(this.buf,this.pos+=4)}sfixed32(){if(this.pos+4>this.len)throw ye(this,4);return as(this.buf,this.pos+=4)|0}float(){if(this.pos+4>this.len)throw ye(this,4);let t=Tl(this.buf,this.pos);return this.pos+=4,t}double(){if(this.pos+8>this.len)throw ye(this,4);let t=Nl(this.buf,this.pos);return this.pos+=8,t}bytes(){let t=this.uint32(),e=this.pos,n=this.pos+t;if(n>this.len)throw ye(this,t);return this.pos+=t,e===n?new Uint8Array(0):this.buf.subarray(e,n)}string(){let t=this.bytes();return Dl(t,0,t.length)}skip(t){if(typeof t=="number"){if(this.pos+t>this.len)throw ye(this,t);this.pos+=t}else do if(this.pos>=this.len)throw ye(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 Xt(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 ye(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 ye(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 ye(this,8);let t=as(this.buf,this.pos+=4),e=as(this.buf,this.pos+=4);return new Xt(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=_a(this.buf,this.pos);return this.pos+=jt(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 Ua(r){return new La(r instanceof Uint8Array?r:r.subarray())}function an(r,t,e){let n=Ua(r);return t.decode(n,void 0,e)}var Va={};bt(Va,{base10:()=>Nm});var CE=new Uint8Array(0);function Ol(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 Ke(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 Fl(r){return new TextEncoder().encode(r)}function Vl(r){return new TextDecoder().decode(r)}function Im(r,t){if(r.length>=255)throw new TypeError("Alphabet too long");for(var e=new Uint8Array(256),n=0;n<e.length;n++)e[n]=255;for(var o=0;o<r.length;o++){var s=r.charAt(o),i=s.charCodeAt(0);if(e[i]!==255)throw new TypeError(s+" is ambiguous");e[i]=o}var a=r.length,c=r.charAt(0),l=Math.log(a)/Math.log(256),f=Math.log(256)/Math.log(a);function u(p){if(p instanceof Uint8Array||(ArrayBuffer.isView(p)?p=new Uint8Array(p.buffer,p.byteOffset,p.byteLength):Array.isArray(p)&&(p=Uint8Array.from(p))),!(p instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(p.length===0)return"";for(var d=0,b=0,y=0,w=p.length;y!==w&&p[y]===0;)y++,d++;for(var x=(w-y)*f+1>>>0,k=new Uint8Array(x);y!==w;){for(var S=p[y],I=0,B=x-1;(S!==0||I<b)&&B!==-1;B--,I++)S+=256*k[B]>>>0,k[B]=S%a>>>0,S=S/a>>>0;if(S!==0)throw new Error("Non-zero carry");b=I,y++}for(var A=x-b;A!==x&&k[A]===0;)A++;for(var U=c.repeat(d);A<x;++A)U+=r.charAt(k[A]);return U}function m(p){if(typeof p!="string")throw new TypeError("Expected String");if(p.length===0)return new Uint8Array;var d=0;if(p[d]!==" "){for(var b=0,y=0;p[d]===c;)b++,d++;for(var w=(p.length-d)*l+1>>>0,x=new Uint8Array(w);p[d];){var k=e[p.charCodeAt(d)];if(k===255)return;for(var S=0,I=w-1;(k!==0||S<y)&&I!==-1;I--,S++)k+=a*x[I]>>>0,x[I]=k%256>>>0,k=k/256>>>0;if(k!==0)throw new Error("Non-zero carry");y=S,d++}if(p[d]!==" "){for(var B=w-y;B!==w&&x[B]===0;)B++;for(var A=new Uint8Array(b+(w-B)),U=b;B!==w;)A[U++]=x[B++];return A}}}function h(p){var d=m(p);if(d)return d;throw new Error(`Non-${t} character`)}return{encode:u,decodeUnsafe:m,decode:h}}var Rm=Im,_m=Rm,$l=_m;var Da=class{name;prefix;baseEncode;constructor(t,e,n){this.name=t,this.prefix=e,this.baseEncode=n}encode(t){if(t instanceof Uint8Array)return`${this.prefix}${this.baseEncode(t)}`;throw Error("Unknown type, must be binary type")}},Pa=class{name;prefix;baseDecode;prefixCodePoint;constructor(t,e,n){if(this.name=t,this.prefix=e,e.codePointAt(0)===void 0)throw new Error("Invalid prefix character");this.prefixCodePoint=e.codePointAt(0),this.baseDecode=n}decode(t){if(typeof t=="string"){if(t.codePointAt(0)!==this.prefixCodePoint)throw Error(`Unable to decode multibase string ${JSON.stringify(t)}, ${this.name} decoder only supports inputs prefixed with ${this.prefix}`);return this.baseDecode(t.slice(this.prefix.length))}else throw Error("Can only multibase decode strings")}or(t){return Hl(this,t)}},Oa=class{decoders;constructor(t){this.decoders=t}or(t){return Hl(this,t)}decode(t){let e=t[0],n=this.decoders[e];if(n!=null)return n.decode(t);throw RangeError(`Unable to decode multibase string ${JSON.stringify(t)}, only inputs prefixed with ${Object.keys(this.decoders)} are supported`)}};function Hl(r,t){return new Oa({...r.decoders??{[r.prefix]:r},...t.decoders??{[t.prefix]:t}})}var Fa=class{name;prefix;baseEncode;baseDecode;encoder;decoder;constructor(t,e,n,o){this.name=t,this.prefix=e,this.baseEncode=n,this.baseDecode=o,this.encoder=new Da(t,e,n),this.decoder=new Pa(t,e,o)}encode(t){return this.encoder.encode(t)}decode(t){return this.decoder.decode(t)}};function cn({name:r,prefix:t,encode:e,decode:n}){return new Fa(r,t,e,n)}function mr({name:r,prefix:t,alphabet:e}){let{encode:n,decode:o}=$l(e,r);return cn({prefix:t,name:r,encode:n,decode:s=>Ke(o(s))})}function Tm(r,t,e,n){let o={};for(let f=0;f<t.length;++f)o[t[f]]=f;let s=r.length;for(;r[s-1]==="=";)--s;let i=new Uint8Array(s*e/8|0),a=0,c=0,l=0;for(let f=0;f<s;++f){let u=o[r[f]];if(u===void 0)throw new SyntaxError(`Non-${n} character`);c=c<<e|u,a+=e,a>=8&&(a-=8,i[l++]=255&c>>a)}if(a>=e||255&c<<8-a)throw new SyntaxError("Unexpected end of data");return i}function Cm(r,t,e){let n=t[t.length-1]==="=",o=(1<<e)-1,s="",i=0,a=0;for(let c=0;c<r.length;++c)for(a=a<<8|r[c],i+=8;i>e;)i-=e,s+=t[o&a>>i];if(i!==0&&(s+=t[o&a<<e-i]),n)for(;s.length*e&7;)s+="=";return s}function ht({name:r,prefix:t,bitsPerChar:e,alphabet:n}){return cn({prefix:t,name:r,encode(o){return Cm(o,n,e)},decode(o){return Tm(o,n,e,r)}})}var Nm=mr({prefix:"9",name:"base10",alphabet:"0123456789"});var Ma={};bt(Ma,{base16:()=>Lm,base16upper:()=>Um});var Lm=ht({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),Um=ht({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var $a={};bt($a,{base2:()=>Dm});var Dm=ht({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var Ha={};bt(Ha,{base256emoji:()=>Mm});var Kl=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}"),Pm=Kl.reduce((r,t,e)=>(r[e]=t,r),[]),Om=Kl.reduce((r,t,e)=>(r[t.codePointAt(0)]=e,r),[]);function Fm(r){return r.reduce((t,e)=>(t+=Pm[e],t),"")}function Vm(r){let t=[];for(let e of r){let n=Om[e.codePointAt(0)];if(n===void 0)throw new Error(`Non-base256emoji character: ${e}`);t.push(n)}return new Uint8Array(t)}var Mm=cn({prefix:"\u{1F680}",name:"base256emoji",encode:Fm,decode:Vm});var Ka={};bt(Ka,{base32:()=>Tt,base32hex:()=>Km,base32hexpad:()=>zm,base32hexpadupper:()=>jm,base32hexupper:()=>qm,base32pad:()=>$m,base32padupper:()=>Hm,base32upper:()=>ql,base32z:()=>Gm});var Tt=ht({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),ql=ht({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),$m=ht({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),Hm=ht({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),Km=ht({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),qm=ht({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),zm=ht({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),jm=ht({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),Gm=ht({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var qa={};bt(qa,{base36:()=>gr,base36upper:()=>Wm});var gr=mr({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),Wm=mr({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var za={};bt(za,{base58btc:()=>ft,base58flickr:()=>Ym});var ft=mr({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),Ym=mr({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var Ga={};bt(Ga,{base64:()=>ae,base64pad:()=>Zm,base64url:()=>ja,base64urlpad:()=>Jm});var ae=ht({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),Zm=ht({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),ja=ht({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),Jm=ht({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});var Wa={};bt(Wa,{base8:()=>Xm});var Xm=ht({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var Ya={};bt(Ya,{identity:()=>Qm});var Qm=cn({prefix:"\0",name:"identity",encode:r=>Vl(r),decode:r=>Fl(r)});var GE=new TextEncoder,WE=new TextDecoder;var zl=512;var cs=85;var Xa={};bt(Xa,{identity:()=>Mt});var tg=Yl,Gl=128,eg=127,rg=~eg,ng=Math.pow(2,31);function Yl(r,t,e){t=t||[],e=e||0;for(var n=e;r>=ng;)t[e++]=r&255|Gl,r/=128;for(;r&rg;)t[e++]=r&255|Gl,r>>>=7;return t[e]=r|0,Yl.bytes=e-n+1,t}var og=Ja,sg=128,Wl=127;function Ja(r,n){var e=0,n=n||0,o=0,s=n,i,a=r.length;do{if(s>=a)throw Ja.bytes=0,new RangeError("Could not decode varint");i=r[s++],e+=o<28?(i&Wl)<<o:(i&Wl)*Math.pow(2,o),o+=7}while(i>=sg);return Ja.bytes=s-n,e}var ig=Math.pow(2,7),ag=Math.pow(2,14),cg=Math.pow(2,21),ug=Math.pow(2,28),lg=Math.pow(2,35),fg=Math.pow(2,42),hg=Math.pow(2,49),dg=Math.pow(2,56),pg=Math.pow(2,63),mg=function(r){return r<ig?1:r<ag?2:r<cg?3:r<ug?4:r<lg?5:r<fg?6:r<hg?7:r<dg?8:r<pg?9:10},gg={encode:tg,decode:og,encodingLength:mg},yg=gg,eo=yg;function ro(r,t=0){return[eo.decode(r,t),eo.decode.bytes]}function un(r,t,e=0){return eo.encode(r,t,e),t}function ln(r){return eo.encodingLength(r)}function Te(r,t){let e=t.byteLength,n=ln(r),o=n+ln(e),s=new Uint8Array(o+e);return un(r,s,0),un(e,s,n),s.set(t,o),new fn(r,e,t,s)}function Ce(r){let t=Ke(r),[e,n]=ro(t),[o,s]=ro(t.subarray(n)),i=t.subarray(n+s);if(i.byteLength!==o)throw new Error("Incorrect length");return new fn(e,o,i,t)}function Zl(r,t){if(r===t)return!0;{let e=t;return r.code===e.code&&r.size===e.size&&e.bytes instanceof Uint8Array&&Ol(r.bytes,e.bytes)}}var fn=class{code;size;digest;bytes;constructor(t,e,n,o){this.code=t,this.size=e,this.digest=n,this.bytes=o}};var Jl=0,wg="identity",Xl=Ke;function bg(r){return Te(Jl,Xl(r))}var Mt={code:Jl,name:wg,encode:Xl,digest:bg};var rc={};bt(rc,{sha256:()=>xt,sha512:()=>ec});function tc({name:r,code:t,encode:e}){return new Qa(r,t,e)}var Qa=class{name;code;encode;constructor(t,e,n){this.name=t,this.code=e,this.encode=n}digest(t){if(t instanceof Uint8Array){let e=this.encode(t);return e instanceof Uint8Array?Te(this.code,e):e.then(n=>Te(this.code,n))}else throw Error("Unknown type, must be binary type")}};function tf(r){return async t=>new Uint8Array(await crypto.subtle.digest(r,t))}var xt=tc({name:"sha2-256",code:18,encode:tf("SHA-256")}),ec=tc({name:"sha2-512",code:19,encode:tf("SHA-512")});function ef(r,t){let{bytes:e,version:n}=r;switch(n){case 0:return Eg(e,nc(r),t??ft.encoder);default:return vg(e,nc(r),t??Tt.encoder)}}var rf=new WeakMap;function nc(r){let t=rf.get(r);if(t==null){let e=new Map;return rf.set(r,e),e}return t}var Z=class r{code;version;multihash;bytes;"/";constructor(t,e,n,o){this.code=e,this.version=t,this.multihash=n,this.bytes=o,this["/"]=o}get asCID(){return this}get byteOffset(){return this.bytes.byteOffset}get byteLength(){return this.bytes.byteLength}toV0(){switch(this.version){case 0:return this;case 1:{let{code:t,multihash:e}=this;if(t!==no)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(e.code!==Ag)throw new Error("Cannot convert non sha2-256 multihash CID to CIDv0");return r.createV0(e)}default:throw Error(`Can not convert CID version ${this.version} to version 0. This is a bug please report`)}}toV1(){switch(this.version){case 0:{let{code:t,digest:e}=this.multihash,n=Te(t,e);return r.createV1(this.code,n)}case 1:return this;default:throw Error(`Can not convert CID version ${this.version} to version 1. This is a bug please report`)}}equals(t){return r.equals(this,t)}static equals(t,e){let n=e;return n!=null&&t.code===n.code&&t.version===n.version&&Zl(t.multihash,n.multihash)}toString(t){return ef(this,t)}toJSON(){return{"/":ef(this)}}link(){return this}[Symbol.toStringTag]="CID";[Symbol.for("nodejs.util.inspect.custom")](){return`CID(${this.toString()})`}static asCID(t){if(t==null)return null;let e=t;if(e instanceof r)return e;if(e["/"]!=null&&e["/"]===e.bytes||e.asCID===e){let{version:n,code:o,multihash:s,bytes:i}=e;return new r(n,o,s,i??nf(n,o,s.bytes))}else if(e[Bg]===!0){let{version:n,multihash:o,code:s}=e,i=Ce(o);return r.create(n,s,i)}else return null}static create(t,e,n){if(typeof e!="number")throw new Error("String codecs are no longer supported");if(!(n.bytes instanceof Uint8Array))throw new Error("Invalid digest");switch(t){case 0:{if(e!==no)throw new Error(`Version 0 CID must use dag-pb (code: ${no}) block encoding`);return new r(t,e,n,n.bytes)}case 1:{let o=nf(t,e,n.bytes);return new r(t,e,n,o)}default:throw new Error("Invalid version")}}static createV0(t){return r.create(0,no,t)}static createV1(t,e){return r.create(1,t,e)}static decode(t){let[e,n]=r.decodeFirst(t);if(n.length!==0)throw new Error("Incorrect length");return e}static decodeFirst(t){let e=r.inspectBytes(t),n=e.size-e.multihashSize,o=Ke(t.subarray(n,n+e.multihashSize));if(o.byteLength!==e.multihashSize)throw new Error("Incorrect length");let s=o.subarray(e.multihashSize-e.digestSize),i=new fn(e.multihashCode,e.digestSize,s,o);return[e.version===0?r.createV0(i):r.createV1(e.codec,i),t.subarray(e.size)]}static inspectBytes(t){let e=0,n=()=>{let[u,m]=ro(t.subarray(e));return e+=m,u},o=n(),s=no;if(o===18?(o=0,e=0):s=n(),o!==0&&o!==1)throw new RangeError(`Invalid CID version ${o}`);let i=e,a=n(),c=n(),l=e+c,f=l-i;return{version:o,codec:s,multihashCode:a,digestSize:c,multihashSize:f,size:l}}static parse(t,e){let[n,o]=xg(t,e),s=r.decode(o);if(s.version===0&&t[0]!=="Q")throw Error("Version 0 CID string must not include multibase prefix");return nc(s).set(n,t),s}};function xg(r,t){switch(r[0]){case"Q":{let e=t??ft;return[ft.prefix,e.decode(`${ft.prefix}${r}`)]}case ft.prefix:{let e=t??ft;return[ft.prefix,e.decode(r)]}case Tt.prefix:{let e=t??Tt;return[Tt.prefix,e.decode(r)]}default:{if(t==null)throw Error("To parse non base32 or base58btc encoded CID multibase decoder must be provided");return[r[0],t.decode(r)]}}}function Eg(r,t,e){let{prefix:n}=e;if(n!==ft.prefix)throw Error(`Cannot string encode V0 in ${e.name} encoding`);let o=t.get(n);if(o==null){let s=e.encode(r).slice(1);return t.set(n,s),s}else return o}function vg(r,t,e){let{prefix:n}=e,o=t.get(n);if(o==null){let s=e.encode(r);return t.set(n,s),s}else return o}var no=112,Ag=18;function nf(r,t,e){let n=ln(r),o=n+ln(t),s=new Uint8Array(o+e.byteLength);return un(r,s,0),un(t,s,n),s.set(e,o),s}var Bg=Symbol.for("@ipld/js-cid/CID");var yr={...Ya,...$a,...Wa,...Va,...Ma,...Ka,...qa,...za,...Ga,...Ha},mv={...rc,...Xa};function sf(r,t,e,n){return{name:r,prefix:t,encoder:{name:r,prefix:t,encode:e},decoder:{decode:n}}}var of=sf("utf8","u",r=>"u"+new TextDecoder("utf8").decode(r),r=>new TextEncoder().encode(r.substring(1))),oc=sf("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=zt(r.length);for(let e=0;e<r.length;e++)t[e]=r.charCodeAt(e);return t}),kg={utf8:of,"utf-8":of,hex:yr.base16,latin1:oc,ascii:oc,binary:oc,...yr},ls=kg;function K(r,t="utf8"){let e=ls[t];if(e==null)throw new Error(`Unsupported encoding "${t}"`);return e.decoder.decode(`${e.prefix}${r}`)}function sc(r){let t=r??8192,e=t>>>1,n,o=t;return function(i){if(i<1||i>e)return zt(i);o+i>t&&(n=zt(t),o=0);let a=n.subarray(o,o+=i);return o&7&&(o=(o|7)+1),a}}var Hr=class{fn;len;next;val;constructor(t,e,n){this.fn=t,this.len=e,this.next=void 0,this.val=n}};function ic(){}var cc=class{head;tail;len;next;constructor(t){this.head=t.head,this.tail=t.tail,this.len=t.len,this.next=t.states}},Sg=sc();function Ig(r){return globalThis.Buffer!=null?zt(r):Sg(r)}var so=class{len;head;tail;states;constructor(){this.len=0,this.head=new Hr(ic,0,0),this.tail=this.head,this.states=null}_push(t,e,n){return this.tail=this.tail.next=new Hr(t,e,n),this.len+=e,this}uint32(t){return this.len+=(this.tail=this.tail.next=new uc((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(fs,10,Xt.fromNumber(t)):this.uint32(t)}sint32(t){return this.uint32((t<<1^t>>31)>>>0)}uint64(t){let e=Xt.fromBigInt(t);return this._push(fs,e.length(),e)}uint64Number(t){return this._push(Ra,jt(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=Xt.fromBigInt(t).zzEncode();return this._push(fs,e.length(),e)}sint64Number(t){let e=Xt.fromNumber(t).zzEncode();return this._push(fs,e.length(),e)}sint64String(t){return this.sint64(BigInt(t))}bool(t){return this._push(ac,1,t?1:0)}fixed32(t){return this._push(oo,4,t>>>0)}sfixed32(t){return this.fixed32(t)}fixed64(t){let e=Xt.fromBigInt(t);return this._push(oo,4,e.lo)._push(oo,4,e.hi)}fixed64Number(t){let e=Xt.fromNumber(t);return this._push(oo,4,e.lo)._push(oo,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(_l,4,t)}double(t){return this._push(Cl,8,t)}bytes(t){let e=t.length>>>0;return e===0?this._push(ac,1,0):this.uint32(e)._push(_g,e,t)}string(t){let e=Ul(t);return e!==0?this.uint32(e)._push(Na,e,t):this._push(ac,1,0)}fork(){return this.states=new cc(this),this.head=this.tail=new Hr(ic,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 Hr(ic,0,0),this.len=0),this}ldelim(){let t=this.head,e=this.tail,n=this.len;return this.reset().uint32(n),n!==0&&(this.tail.next=t.next,this.tail=e,this.len+=n),this}finish(){let t=this.head.next,e=Ig(this.len),n=0;for(;t!=null;)t.fn(t.val,e,n),n+=t.len,t=t.next;return e}};function ac(r,t,e){t[e]=r&255}function Rg(r,t,e){for(;r>127;)t[e++]=r&127|128,r>>>=7;t[e]=r}var uc=class extends Hr{next;constructor(t,e){super(Rg,t,e),this.next=void 0}};function fs(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 oo(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 _g(r,t,e){t.set(r,e)}globalThis.Buffer!=null&&(so.prototype.bytes=function(r){let t=r.length>>>0;return this.uint32(t),t>0&&this._push(Tg,t,r),this},so.prototype.string=function(r){let t=globalThis.Buffer.byteLength(r);return this.uint32(t),t>0&&this._push(Cg,t,r),this});function Tg(r,t,e){t.set(r,e)}function Cg(r,t,e){r.length<40?Na(r,t,e):t.utf8Write!=null?t.utf8Write(r,e):t.set(K(r),e)}function lc(){return new so}function hn(r,t){let e=lc();return t.encode(r,e,{lengthDelimited:!1}),e.finish()}var dn;(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"})(dn||(dn={}));function hs(r,t,e,n){return{name:r,type:t,encode:e,decode:n}}function io(r){function t(o){if(r[o.toString()]==null)throw new Error("Invalid enum value");return r[o]}let e=function(s,i){let a=t(s);i.int32(a)},n=function(s){let i=s.int32();return t(i)};return hs("enum",dn.VARINT,e,n)}function pn(r,t){return hs("message",dn.LENGTH_DELIMITED,r,t)}function q(r,t="utf8"){let e=ls[t];if(e==null)throw new Error(`Unsupported encoding "${t}"`);return e.encoder.encode(r).substring(1)}var cf=Symbol.for("nodejs.util.inspect.custom"),af=Object.values(yr).map(r=>r.decoder).reduce((r,t)=>r.or(t),yr.identity.decoder),uf=114,dc=36,pc=37,ao=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()})`}[tn]=!0;toString(){return this.string==null&&(this.string=ft.encode(this.multihash.bytes).slice(1)),this.string}toCID(){return Z.createV1(uf,this.multihash)}toBytes(){return this.multihash.bytes}toJSON(){return this.toString()}equals(t){if(t==null)return!1;if(t instanceof Uint8Array)return nt(this.multihash.bytes,t);if(typeof t=="string")return mc(t).equals(this);if(t?.multihash?.bytes!=null)return nt(this.multihash.bytes,t.multihash.bytes);throw new Error("not valid Id")}[cf](){return`PeerId(${this.toString()})`}},mn=class extends ao{type="RSA";publicKey;constructor(t){super({...t,type:"RSA"}),this.publicKey=t.publicKey}},gn=class extends ao{type="Ed25519";publicKey;constructor(t){super({...t,type:"Ed25519"}),this.publicKey=t.multihash.digest}},yn=class extends ao{type="secp256k1";publicKey;constructor(t){super({...t,type:"secp256k1"}),this.publicKey=t.multihash.digest}},fc=2336,hc=class{type="url";multihash;privateKey;publicKey;url;constructor(t){this.url=t.toString(),this.multihash=Mt.digest(K(this.url))}[cf](){return`PeerId(${this.url})`}[tn]=!0;toString(){return this.toCID().toString()}toCID(){return Z.createV1(fc,this.multihash)}toBytes(){return this.toCID().bytes}equals(t){return t==null?!1:(t instanceof Uint8Array&&(t=q(t)),t.toString()===this.toString())}};function mc(r,t){if(t=t??af,r.charAt(0)==="1"||r.charAt(0)==="Q"){let e=Ce(ft.decode(`z${r}`));return r.startsWith("12D")?new gn({multihash:e}):r.startsWith("16U")?new yn({multihash:e}):new mn({multihash:e})}return co(af.decode(r))}function co(r){try{let t=Ce(r);if(t.code===Mt.code){if(t.digest.length===dc)return new gn({multihash:t});if(t.digest.length===pc)return new yn({multihash:t})}if(t.code===xt.code)return new mn({multihash:t})}catch{return Ng(Z.decode(r))}throw new Error("Supplied PeerID CID is invalid")}function Ng(r){if(r?.multihash==null||r.version==null||r.version===1&&r.code!==uf&&r.code!==fc)throw new Error("Supplied PeerID CID is invalid");if(r.code===fc){let e=q(r.multihash.digest);return new hc(new URL(e))}let t=r.multihash;if(t.code===xt.code)return new mn({multihash:r.multihash});if(t.code===Mt.code){if(t.digest.length===dc)return new gn({multihash:r.multihash});if(t.digest.length===pc)return new yn({multihash:r.multihash})}throw new Error("Supplied PeerID CID is invalid")}async function lf(r,t){return r.length===dc?new gn({multihash:Te(Mt.code,r),privateKey:t}):r.length===pc?new yn({multihash:Te(Mt.code,r),privateKey:t}):new mn({multihash:await xt.digest(r),publicKey:r,privateKey:t})}var $t={get(r=globalThis){let t=r.crypto;if(t?.subtle==null)throw Object.assign(new Error("Missing Web Crypto API. The most likely cause of this error is that this page is being accessed from an insecure context (i.e. not HTTPS). For more information and possible resolutions see https://github.com/libp2p/js-libp2p/blob/main/packages/crypto/README.md#web-crypto-api"),{code:"ERR_MISSING_WEB_CRYPTO"});return t}};var Lc={};bt(Lc,{Ed25519PrivateKey:()=>Gr,Ed25519PublicKey:()=>po,generateKeyPair:()=>Ky,generateKeyPairFromSeed:()=>Pf,unmarshalEd25519PrivateKey:()=>$y,unmarshalEd25519PublicKey:()=>Hy});function ce(r){return r==null?!1:typeof r.then=="function"&&typeof r.catch=="function"&&typeof r.finally=="function"}function wn(r){if(!Number.isSafeInteger(r)||r<0)throw new Error(`positive integer expected, not ${r}`)}function Lg(r){return r instanceof Uint8Array||r!=null&&typeof r=="object"&&r.constructor.name==="Uint8Array"}function bn(r,...t){if(!Lg(r))throw new Error("Uint8Array expected");if(t.length>0&&!t.includes(r.length))throw new Error(`Uint8Array expected of length ${t}, not of length=${r.length}`)}function ds(r){if(typeof r!="function"||typeof r.create!="function")throw new Error("Hash should be wrapped by utils.wrapConstructor");wn(r.outputLen),wn(r.blockLen)}function xn(r,t=!0){if(r.destroyed)throw new Error("Hash instance has been destroyed");if(t&&r.finished)throw new Error("Hash#digest() has already been called")}function ff(r,t){bn(r);let e=t.outputLen;if(r.length<e)throw new Error(`digestInto() expects output buffer of length at least ${e}`)}var ps=typeof globalThis=="object"&&"crypto"in globalThis?globalThis.crypto:void 0;var vn=r=>new DataView(r.buffer,r.byteOffset,r.byteLength),we=(r,t)=>r<<32-t|r>>>t;var f2=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;var Ug=async()=>{};async function hf(r,t,e){let n=Date.now();for(let o=0;o<r;o++){e(o);let s=Date.now()-n;s>=0&&s<t||(await Ug(),n+=s)}}function df(r){if(typeof r!="string")throw new Error(`utf8ToBytes expected string, got ${typeof r}`);return new Uint8Array(new TextEncoder().encode(r))}function wr(r){return typeof r=="string"&&(r=df(r)),bn(r),r}function gc(...r){let t=0;for(let n=0;n<r.length;n++){let o=r[n];bn(o),t+=o.length}let e=new Uint8Array(t);for(let n=0,o=0;n<r.length;n++){let s=r[n];e.set(s,o),o+=s.length}return e}var En=class{clone(){return this._cloneInto()}},Dg={}.toString;function pf(r,t){if(t!==void 0&&Dg.call(t)!=="[object Object]")throw new Error("Options should be object or undefined");return Object.assign(r,t)}function ms(r){let t=n=>r().update(wr(n)).digest(),e=r();return t.outputLen=e.outputLen,t.blockLen=e.blockLen,t.create=()=>r(),t}function An(r=32){if(ps&&typeof ps.getRandomValues=="function")return ps.getRandomValues(new Uint8Array(r));throw new Error("crypto.getRandomValues must be defined")}function Pg(r,t,e,n){if(typeof r.setBigUint64=="function")return r.setBigUint64(t,e,n);let o=BigInt(32),s=BigInt(4294967295),i=Number(e>>o&s),a=Number(e&s),c=n?4:0,l=n?0:4;r.setUint32(t+c,i,n),r.setUint32(t+l,a,n)}var mf=(r,t,e)=>r&t^~r&e,gf=(r,t,e)=>r&t^r&e^t&e,Bn=class extends En{constructor(t,e,n,o){super(),this.blockLen=t,this.outputLen=e,this.padOffset=n,this.isLE=o,this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.buffer=new Uint8Array(t),this.view=vn(this.buffer)}update(t){xn(this);let{view:e,buffer:n,blockLen:o}=this;t=wr(t);let s=t.length;for(let i=0;i<s;){let a=Math.min(o-this.pos,s-i);if(a===o){let c=vn(t);for(;o<=s-i;i+=o)this.process(c,i);continue}n.set(t.subarray(i,i+a),this.pos),this.pos+=a,i+=a,this.pos===o&&(this.process(e,0),this.pos=0)}return this.length+=t.length,this.roundClean(),this}digestInto(t){xn(this),ff(t,this),this.finished=!0;let{buffer:e,view:n,blockLen:o,isLE:s}=this,{pos:i}=this;e[i++]=128,this.buffer.subarray(i).fill(0),this.padOffset>o-i&&(this.process(n,0),i=0);for(let u=i;u<o;u++)e[u]=0;Pg(n,o-8,BigInt(this.length*8),s),this.process(n,0);let a=vn(t),c=this.outputLen;if(c%4)throw new Error("_sha2: outputLen should be aligned to 32bit");let l=c/4,f=this.get();if(l>f.length)throw new Error("_sha2: outputLen bigger than state");for(let u=0;u<l;u++)a.setUint32(4*u,f[u],s)}digest(){let{buffer:t,outputLen:e}=this;this.digestInto(t);let n=t.slice(0,e);return this.destroy(),n}_cloneInto(t){t||(t=new this.constructor),t.set(...this.get());let{blockLen:e,buffer:n,length:o,finished:s,destroyed:i,pos:a}=this;return t.length=o,t.pos=a,t.finished=s,t.destroyed=i,o%e&&t.buffer.set(n),t}};var gs=BigInt(4294967295),yc=BigInt(32);function yf(r,t=!1){return t?{h:Number(r&gs),l:Number(r>>yc&gs)}:{h:Number(r>>yc&gs)|0,l:Number(r&gs)|0}}function Og(r,t=!1){let e=new Uint32Array(r.length),n=new Uint32Array(r.length);for(let o=0;o<r.length;o++){let{h:s,l:i}=yf(r[o],t);[e[o],n[o]]=[s,i]}return[e,n]}var Fg=(r,t)=>BigInt(r>>>0)<<yc|BigInt(t>>>0),Vg=(r,t,e)=>r>>>e,Mg=(r,t,e)=>r<<32-e|t>>>e,$g=(r,t,e)=>r>>>e|t<<32-e,Hg=(r,t,e)=>r<<32-e|t>>>e,Kg=(r,t,e)=>r<<64-e|t>>>e-32,qg=(r,t,e)=>r>>>e-32|t<<64-e,zg=(r,t)=>t,jg=(r,t)=>r,Gg=(r,t,e)=>r<<e|t>>>32-e,Wg=(r,t,e)=>t<<e|r>>>32-e,Yg=(r,t,e)=>t<<e-32|r>>>64-e,Zg=(r,t,e)=>r<<e-32|t>>>64-e;function Jg(r,t,e,n){let o=(t>>>0)+(n>>>0);return{h:r+e+(o/2**32|0)|0,l:o|0}}var Xg=(r,t,e)=>(r>>>0)+(t>>>0)+(e>>>0),Qg=(r,t,e,n)=>t+e+n+(r/2**32|0)|0,ty=(r,t,e,n)=>(r>>>0)+(t>>>0)+(e>>>0)+(n>>>0),ey=(r,t,e,n,o)=>t+e+n+o+(r/2**32|0)|0,ry=(r,t,e,n,o)=>(r>>>0)+(t>>>0)+(e>>>0)+(n>>>0)+(o>>>0),ny=(r,t,e,n,o,s)=>t+e+n+o+s+(r/2**32|0)|0;var oy={fromBig:yf,split:Og,toBig:Fg,shrSH:Vg,shrSL:Mg,rotrSH:$g,rotrSL:Hg,rotrBH:Kg,rotrBL:qg,rotr32H:zg,rotr32L:jg,rotlSH:Gg,rotlSL:Wg,rotlBH:Yg,rotlBL:Zg,add:Jg,add3L:Xg,add3H:Qg,add4L:ty,add4H:ey,add5H:ny,add5L:ry},j=oy;var[sy,iy]=j.split(["0x428a2f98d728ae22","0x7137449123ef65cd","0xb5c0fbcfec4d3b2f","0xe9b5dba58189dbbc","0x3956c25bf348b538","0x59f111f1b605d019","0x923f82a4af194f9b","0xab1c5ed5da6d8118","0xd807aa98a3030242","0x12835b0145706fbe","0x243185be4ee4b28c","0x550c7dc3d5ffb4e2","0x72be5d74f27b896f","0x80deb1fe3b1696b1","0x9bdc06a725c71235","0xc19bf174cf692694","0xe49b69c19ef14ad2","0xefbe4786384f25e3","0x0fc19dc68b8cd5b5","0x240ca1cc77ac9c65","0x2de92c6f592b0275","0x4a7484aa6ea6e483","0x5cb0a9dcbd41fbd4","0x76f988da831153b5","0x983e5152ee66dfab","0xa831c66d2db43210","0xb00327c898fb213f","0xbf597fc7beef0ee4","0xc6e00bf33da88fc2","0xd5a79147930aa725","0x06ca6351e003826f","0x142929670a0e6e70","0x27b70a8546d22ffc","0x2e1b21385c26c926","0x4d2c6dfc5ac42aed","0x53380d139d95b3df","0x650a73548baf63de","0x766a0abb3c77b2a8","0x81c2c92e47edaee6","0x92722c851482353b","0xa2bfe8a14cf10364","0xa81a664bbc423001","0xc24b8b70d0f89791","0xc76c51a30654be30","0xd192e819d6ef5218","0xd69906245565a910","0xf40e35855771202a","0x106aa07032bbd1b8","0x19a4c116b8d2d0c8","0x1e376c085141ab53","0x2748774cdf8eeb99","0x34b0bcb5e19b48a8","0x391c0cb3c5c95a63","0x4ed8aa4ae3418acb","0x5b9cca4f7763e373","0x682e6ff3d6b2b8a3","0x748f82ee5defb2fc","0x78a5636f43172f60","0x84c87814a1f0ab72","0x8cc702081a6439ec","0x90befffa23631e28","0xa4506cebde82bde9","0xbef9a3f7b2c67915","0xc67178f2e372532b","0xca273eceea26619c","0xd186b8c721c0c207","0xeada7dd6cde0eb1e","0xf57d4f7fee6ed178","0x06f067aa72176fba","0x0a637dc5a2c898a6","0x113f9804bef90dae","0x1b710b35131c471b","0x28db77f523047d84","0x32caab7b40c72493","0x3c9ebe0a15c9bebc","0x431d67c49c100d4c","0x4cc5d4becb3e42b6","0x597f299cfc657e2a","0x5fcb6fab3ad6faec","0x6c44198c4a475817"].map(r=>BigInt(r))),br=new Uint32Array(80),xr=new Uint32Array(80),wc=class extends Bn{constructor(){super(128,64,16,!1),this.Ah=1779033703,this.Al=-205731576,this.Bh=-1150833019,this.Bl=-2067093701,this.Ch=1013904242,this.Cl=-23791573,this.Dh=-1521486534,this.Dl=1595750129,this.Eh=1359893119,this.El=-1377402159,this.Fh=-1694144372,this.Fl=725511199,this.Gh=528734635,this.Gl=-79577749,this.Hh=1541459225,this.Hl=327033209}get(){let{Ah:t,Al:e,Bh:n,Bl:o,Ch:s,Cl:i,Dh:a,Dl:c,Eh:l,El:f,Fh:u,Fl:m,Gh:h,Gl:p,Hh:d,Hl:b}=this;return[t,e,n,o,s,i,a,c,l,f,u,m,h,p,d,b]}set(t,e,n,o,s,i,a,c,l,f,u,m,h,p,d,b){this.Ah=t|0,this.Al=e|0,this.Bh=n|0,this.Bl=o|0,this.Ch=s|0,this.Cl=i|0,this.Dh=a|0,this.Dl=c|0,this.Eh=l|0,this.El=f|0,this.Fh=u|0,this.Fl=m|0,this.Gh=h|0,this.Gl=p|0,this.Hh=d|0,this.Hl=b|0}process(t,e){for(let x=0;x<16;x++,e+=4)br[x]=t.getUint32(e),xr[x]=t.getUint32(e+=4);for(let x=16;x<80;x++){let k=br[x-15]|0,S=xr[x-15]|0,I=j.rotrSH(k,S,1)^j.rotrSH(k,S,8)^j.shrSH(k,S,7),B=j.rotrSL(k,S,1)^j.rotrSL(k,S,8)^j.shrSL(k,S,7),A=br[x-2]|0,U=xr[x-2]|0,O=j.rotrSH(A,U,19)^j.rotrBH(A,U,61)^j.shrSH(A,U,6),D=j.rotrSL(A,U,19)^j.rotrBL(A,U,61)^j.shrSL(A,U,6),M=j.add4L(B,D,xr[x-7],xr[x-16]),C=j.add4H(M,I,O,br[x-7],br[x-16]);br[x]=C|0,xr[x]=M|0}let{Ah:n,Al:o,Bh:s,Bl:i,Ch:a,Cl:c,Dh:l,Dl:f,Eh:u,El:m,Fh:h,Fl:p,Gh:d,Gl:b,Hh:y,Hl:w}=this;for(let x=0;x<80;x++){let k=j.rotrSH(u,m,14)^j.rotrSH(u,m,18)^j.rotrBH(u,m,41),S=j.rotrSL(u,m,14)^j.rotrSL(u,m,18)^j.rotrBL(u,m,41),I=u&h^~u&d,B=m&p^~m&b,A=j.add5L(w,S,B,iy[x],xr[x]),U=j.add5H(A,y,k,I,sy[x],br[x]),O=A|0,D=j.rotrSH(n,o,28)^j.rotrBH(n,o,34)^j.rotrBH(n,o,39),M=j.rotrSL(n,o,28)^j.rotrBL(n,o,34)^j.rotrBL(n,o,39),C=n&s^n&a^s&a,T=o&i^o&c^i&c;y=d|0,w=b|0,d=h|0,b=p|0,h=u|0,p=m|0,{h:u,l:m}=j.add(l|0,f|0,U|0,O|0),l=a|0,f=c|0,a=s|0,c=i|0,s=n|0,i=o|0;let v=j.add3L(O,M,T);n=j.add3H(v,U,D,C),o=v|0}({h:n,l:o}=j.add(this.Ah|0,this.Al|0,n|0,o|0)),{h:s,l:i}=j.add(this.Bh|0,this.Bl|0,s|0,i|0),{h:a,l:c}=j.add(this.Ch|0,this.Cl|0,a|0,c|0),{h:l,l:f}=j.add(this.Dh|0,this.Dl|0,l|0,f|0),{h:u,l:m}=j.add(this.Eh|0,this.El|0,u|0,m|0),{h,l:p}=j.add(this.Fh|0,this.Fl|0,h|0,p|0),{h:d,l:b}=j.add(this.Gh|0,this.Gl|0,d|0,b|0),{h:y,l:w}=j.add(this.Hh|0,this.Hl|0,y|0,w|0),this.set(n,o,s,i,a,c,l,f,u,m,h,p,d,b,y,w)}roundClean(){br.fill(0),xr.fill(0)}destroy(){this.buffer.fill(0),this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)}};var uo=ms(()=>new wc);var ws={};bt(ws,{aInRange:()=>Gt,abool:()=>be,abytes:()=>kn,bitGet:()=>dy,bitLen:()=>hy,bitMask:()=>fo,bitSet:()=>py,bytesToHex:()=>je,bytesToNumberBE:()=>Ge,bytesToNumberLE:()=>vr,concatBytes:()=>We,createHmacDrbg:()=>Ac,ensureBytes:()=>dt,equalBytes:()=>ly,hexToBytes:()=>Kr,hexToNumber:()=>vc,inRange:()=>lo,isBytes:()=>Er,memoized:()=>zr,notImplemented:()=>gy,numberToBytesBE:()=>Ar,numberToBytesLE:()=>qr,numberToHexUnpadded:()=>xf,numberToVarBytesBE:()=>uy,utf8ToBytes:()=>fy,validateObject:()=>Ne});var Ec=BigInt(0),ys=BigInt(1),ay=BigInt(2);function Er(r){return r instanceof Uint8Array||r!=null&&typeof r=="object"&&r.constructor.name==="Uint8Array"}function kn(r){if(!Er(r))throw new Error("Uint8Array expected")}function be(r,t){if(typeof t!="boolean")throw new Error(`${r} must be valid boolean, got "${t}".`)}var cy=Array.from({length:256},(r,t)=>t.toString(16).padStart(2,"0"));function je(r){kn(r);let t="";for(let e=0;e<r.length;e++)t+=cy[r[e]];return t}function xf(r){let t=r.toString(16);return t.length&1?`0${t}`:t}function vc(r){if(typeof r!="string")throw new Error("hex string expected, got "+typeof r);return BigInt(r===""?"0":`0x${r}`)}var ze={_0:48,_9:57,_A:65,_F:70,_a:97,_f:102};function wf(r){if(r>=ze._0&&r<=ze._9)return r-ze._0;if(r>=ze._A&&r<=ze._F)return r-(ze._A-10);if(r>=ze._a&&r<=ze._f)return r-(ze._a-10)}function Kr(r){if(typeof r!="string")throw new Error("hex string expected, got "+typeof r);let t=r.length,e=t/2;if(t%2)throw new Error("padded hex string expected, got unpadded hex of length "+t);let n=new Uint8Array(e);for(let o=0,s=0;o<e;o++,s+=2){let i=wf(r.charCodeAt(s)),a=wf(r.charCodeAt(s+1));if(i===void 0||a===void 0){let c=r[s]+r[s+1];throw new Error('hex string expected, got non-hex character "'+c+'" at index '+s)}n[o]=i*16+a}return n}function Ge(r){return vc(je(r))}function vr(r){return kn(r),vc(je(Uint8Array.from(r).reverse()))}function Ar(r,t){return Kr(r.toString(16).padStart(t*2,"0"))}function qr(r,t){return Ar(r,t).reverse()}function uy(r){return Kr(xf(r))}function dt(r,t,e){let n;if(typeof t=="string")try{n=Kr(t)}catch(s){throw new Error(`${r} must be valid hex string, got "${t}". Cause: ${s}`)}else if(Er(t))n=Uint8Array.from(t);else throw new Error(`${r} must be hex string or Uint8Array`);let o=n.length;if(typeof e=="number"&&o!==e)throw new Error(`${r} expected ${e} bytes, got ${o}`);return n}function We(...r){let t=0;for(let n=0;n<r.length;n++){let o=r[n];kn(o),t+=o.length}let e=new Uint8Array(t);for(let n=0,o=0;n<r.length;n++){let s=r[n];e.set(s,o),o+=s.length}return e}function ly(r,t){if(r.length!==t.length)return!1;let e=0;for(let n=0;n<r.length;n++)e|=r[n]^t[n];return e===0}function fy(r){if(typeof r!="string")throw new Error(`utf8ToBytes expected string, got ${typeof r}`);return new Uint8Array(new TextEncoder().encode(r))}var bc=r=>typeof r=="bigint"&&Ec<=r;function lo(r,t,e){return bc(r)&&bc(t)&&bc(e)&&t<=r&&r<e}function Gt(r,t,e,n){if(!lo(t,e,n))throw new Error(`expected valid ${r}: ${e} <= n < ${n}, got ${typeof t} ${t}`)}function hy(r){let t;for(t=0;r>Ec;r>>=ys,t+=1);return t}function dy(r,t){return r>>BigInt(t)&ys}function py(r,t,e){return r|(e?ys:Ec)<<BigInt(t)}var fo=r=>(ay<<BigInt(r-1))-ys,xc=r=>new Uint8Array(r),bf=r=>Uint8Array.from(r);function Ac(r,t,e){if(typeof r!="number"||r<2)throw new Error("hashLen must be a number");if(typeof t!="number"||t<2)throw new Error("qByteLen must be a number");if(typeof e!="function")throw new Error("hmacFn must be a function");let n=xc(r),o=xc(r),s=0,i=()=>{n.fill(1),o.fill(0),s=0},a=(...u)=>e(o,n,...u),c=(u=xc())=>{o=a(bf([0]),u),n=a(),u.length!==0&&(o=a(bf([1]),u),n=a())},l=()=>{if(s++>=1e3)throw new Error("drbg: tried 1000 values");let u=0,m=[];for(;u<t;){n=a();let h=n.slice();m.push(h),u+=n.length}return We(...m)};return(u,m)=>{i(),c(u);let h;for(;!(h=m(l()));)c();return i(),h}}var my={bigint:r=>typeof r=="bigint",function:r=>typeof r=="function",boolean:r=>typeof r=="boolean",string:r=>typeof r=="string",stringOrUint8Array:r=>typeof r=="string"||Er(r),isSafeInteger:r=>Number.isSafeInteger(r),array:r=>Array.isArray(r),field:(r,t)=>t.Fp.isValid(r),hash:r=>typeof r=="function"&&Number.isSafeInteger(r.outputLen)};function Ne(r,t,e={}){let n=(o,s,i)=>{let a=my[s];if(typeof a!="function")throw new Error(`Invalid validator "${s}", expected function`);let c=r[o];if(!(i&&c===void 0)&&!a(c,r))throw new Error(`Invalid param ${String(o)}=${c} (${typeof c}), expected ${s}`)};for(let[o,s]of Object.entries(t))n(o,s,!1);for(let[o,s]of Object.entries(e))n(o,s,!0);return r}var gy=()=>{throw new Error("not implemented")};function zr(r){let t=new WeakMap;return(e,...n)=>{let o=t.get(e);if(o!==void 0)return o;let s=r(e,...n);return t.set(e,s),s}}var Et=BigInt(0),it=BigInt(1),jr=BigInt(2),yy=BigInt(3),Bc=BigInt(4),Ef=BigInt(5),vf=BigInt(8),wy=BigInt(9),by=BigInt(16);function ot(r,t){let e=r%t;return e>=Et?e:t+e}function xy(r,t,e){if(e<=Et||t<Et)throw new Error("Expected power/modulo > 0");if(e===it)return Et;let n=it;for(;t>Et;)t&it&&(n=n*r%e),r=r*r%e,t>>=it;return n}function at(r,t,e){let n=r;for(;t-- >Et;)n*=n,n%=e;return n}function bs(r,t){if(r===Et||t<=Et)throw new Error(`invert: expected positive integers, got n=${r} mod=${t}`);let e=ot(r,t),n=t,o=Et,s=it,i=it,a=Et;for(;e!==Et;){let l=n/e,f=n%e,u=o-i*l,m=s-a*l;n=e,e=f,o=i,s=a,i=u,a=m}if(n!==it)throw new Error("invert: does not exist");return ot(o,t)}function Ey(r){let t=(r-it)/jr,e,n,o;for(e=r-it,n=0;e%jr===Et;e/=jr,n++);for(o=jr;o<r&&xy(o,t,r)!==r-it;o++);if(n===1){let i=(r+it)/Bc;return function(c,l){let f=c.pow(l,i);if(!c.eql(c.sqr(f),l))throw new Error("Cannot find square root");return f}}let s=(e+it)/jr;return function(a,c){if(a.pow(c,t)===a.neg(a.ONE))throw new Error("Cannot find square root");let l=n,f=a.pow(a.mul(a.ONE,o),e),u=a.pow(c,s),m=a.pow(c,e);for(;!a.eql(m,a.ONE);){if(a.eql(m,a.ZERO))return a.ZERO;let h=1;for(let d=a.sqr(m);h<l&&!a.eql(d,a.ONE);h++)d=a.sqr(d);let p=a.pow(f,it<<BigInt(l-h-1));f=a.sqr(p),u=a.mul(u,p),m=a.mul(m,f),l=h}return u}}function vy(r){if(r%Bc===yy){let t=(r+it)/Bc;return function(n,o){let s=n.pow(o,t);if(!n.eql(n.sqr(s),o))throw new Error("Cannot find square root");return s}}if(r%vf===Ef){let t=(r-Ef)/vf;return function(n,o){let s=n.mul(o,jr),i=n.pow(s,t),a=n.mul(o,i),c=n.mul(n.mul(a,jr),i),l=n.mul(a,n.sub(c,n.ONE));if(!n.eql(n.sqr(l),o))throw new Error("Cannot find square root");return l}}return r%by,Ey(r)}var Af=(r,t)=>(ot(r,t)&it)===it,Ay=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"];function kc(r){let t={ORDER:"bigint",MASK:"bigint",BYTES:"isSafeInteger",BITS:"isSafeInteger"},e=Ay.reduce((n,o)=>(n[o]="function",n),t);return Ne(r,e)}function By(r,t,e){if(e<Et)throw new Error("Expected power > 0");if(e===Et)return r.ONE;if(e===it)return t;let n=r.ONE,o=t;for(;e>Et;)e&it&&(n=r.mul(n,o)),o=r.sqr(o),e>>=it;return n}function ky(r,t){let e=new Array(t.length),n=t.reduce((s,i,a)=>r.is0(i)?s:(e[a]=s,r.mul(s,i)),r.ONE),o=r.inv(n);return t.reduceRight((s,i,a)=>r.is0(i)?s:(e[a]=r.mul(s,e[a]),r.mul(s,i)),o),e}function Sc(r,t){let e=t!==void 0?t:r.toString(2).length,n=Math.ceil(e/8);return{nBitLength:e,nByteLength:n}}function xs(r,t,e=!1,n={}){if(r<=Et)throw new Error(`Expected Field ORDER > 0, got ${r}`);let{nBitLength:o,nByteLength:s}=Sc(r,t);if(s>2048)throw new Error("Field lengths over 2048 bytes are not supported");let i=vy(r),a=Object.freeze({ORDER:r,BITS:o,BYTES:s,MASK:fo(o),ZERO:Et,ONE:it,create:c=>ot(c,r),isValid:c=>{if(typeof c!="bigint")throw new Error(`Invalid field element: expected bigint, got ${typeof c}`);return Et<=c&&c<r},is0:c=>c===Et,isOdd:c=>(c&it)===it,neg:c=>ot(-c,r),eql:(c,l)=>c===l,sqr:c=>ot(c*c,r),add:(c,l)=>ot(c+l,r),sub:(c,l)=>ot(c-l,r),mul:(c,l)=>ot(c*l,r),pow:(c,l)=>By(a,c,l),div:(c,l)=>ot(c*bs(l,r),r),sqrN:c=>c*c,addN:(c,l)=>c+l,subN:(c,l)=>c-l,mulN:(c,l)=>c*l,inv:c=>bs(c,r),sqrt:n.sqrt||(c=>i(a,c)),invertBatch:c=>ky(a,c),cmov:(c,l,f)=>f?l:c,toBytes:c=>e?qr(c,s):Ar(c,s),fromBytes:c=>{if(c.length!==s)throw new Error(`Fp.fromBytes: expected ${s}, got ${c.length}`);return e?vr(c):Ge(c)}});return Object.freeze(a)}function Bf(r){if(typeof r!="bigint")throw new Error("field order must be bigint");let t=r.toString(2).length;return Math.ceil(t/8)}function Ic(r){let t=Bf(r);return t+Math.ceil(t/2)}function kf(r,t,e=!1){let n=r.length,o=Bf(t),s=Ic(t);if(n<16||n<s||n>1024)throw new Error(`expected ${s}-1024 bytes of input, got ${n}`);let i=e?Ge(r):vr(r),a=ot(i,t-it)+it;return e?qr(a,o):Ar(a,o)}var Iy=BigInt(0),Rc=BigInt(1),_c=new WeakMap,Sf=new WeakMap;function Es(r,t){let e=(s,i)=>{let a=i.negate();return s?a:i},n=s=>{if(!Number.isSafeInteger(s)||s<=0||s>t)throw new Error(`Wrong window size=${s}, should be [1..${t}]`)},o=s=>{n(s);let i=Math.ceil(t/s)+1,a=2**(s-1);return{windows:i,windowSize:a}};return{constTimeNegate:e,unsafeLadder(s,i){let a=r.ZERO,c=s;for(;i>Iy;)i&Rc&&(a=a.add(c)),c=c.double(),i>>=Rc;return a},precomputeWindow(s,i){let{windows:a,windowSize:c}=o(i),l=[],f=s,u=f;for(let m=0;m<a;m++){u=f,l.push(u);for(let h=1;h<c;h++)u=u.add(f),l.push(u);f=u.double()}return l},wNAF(s,i,a){let{windows:c,windowSize:l}=o(s),f=r.ZERO,u=r.BASE,m=BigInt(2**s-1),h=2**s,p=BigInt(s);for(let d=0;d<c;d++){let b=d*l,y=Number(a&m);a>>=p,y>l&&(y-=h,a+=Rc);let w=b,x=b+Math.abs(y)-1,k=d%2!==0,S=y<0;y===0?u=u.add(e(k,i[w])):f=f.add(e(S,i[x]))}return{p:f,f:u}},wNAFCached(s,i,a){let c=Sf.get(s)||1,l=_c.get(s);return l||(l=this.precomputeWindow(s,c),c!==1&&_c.set(s,a(l))),this.wNAF(c,l,i)},setWindowSize(s,i){n(i),Sf.set(s,i),_c.delete(s)}}}function ho(r){return kc(r.Fp),Ne(r,{n:"bigint",h:"bigint",Gx:"field",Gy:"field"},{nBitLength:"isSafeInteger",nByteLength:"isSafeInteger"}),Object.freeze({...Sc(r.n,r.nBitLength),...r,p:r.Fp.ORDER})}var xe=BigInt(0),Wt=BigInt(1),vs=BigInt(2),Ry=BigInt(8),_y={zip215:!0};function Ty(r){let t=ho(r);return Ne(r,{hash:"function",a:"bigint",d:"bigint",randomBytes:"function"},{adjustScalarBytes:"function",domain:"function",uvRatio:"function",mapToCurve:"function"}),Object.freeze({...t})}function If(r){let t=Ty(r),{Fp:e,n,prehash:o,hash:s,randomBytes:i,nByteLength:a,h:c}=t,l=vs<<BigInt(a*8)-Wt,f=e.create,u=t.uvRatio||((v,E)=>{try{return{isValid:!0,value:e.sqrt(v*e.inv(E))}}catch{return{isValid:!1,value:xe}}}),m=t.adjustScalarBytes||(v=>v),h=t.domain||((v,E,_)=>{if(be("phflag",_),E.length||_)throw new Error("Contexts/pre-hash are not supported");return v});function p(v,E){Gt("coordinate "+v,E,xe,l)}function d(v){if(!(v instanceof w))throw new Error("ExtendedPoint expected")}let b=zr((v,E)=>{let{ex:_,ey:L,ez:$}=v,H=v.is0();E==null&&(E=H?Ry:e.inv($));let z=f(_*E),X=f(L*E),W=f($*E);if(H)return{x:xe,y:Wt};if(W!==Wt)throw new Error("invZ was invalid");return{x:z,y:X}}),y=zr(v=>{let{a:E,d:_}=t;if(v.is0())throw new Error("bad point: ZERO");let{ex:L,ey:$,ez:H,et:z}=v,X=f(L*L),W=f($*$),Q=f(H*H),ct=f(Q*Q),ut=f(X*E),qt=f(Q*f(ut+W)),At=f(ct+f(_*f(X*W)));if(qt!==At)throw new Error("bad point: equation left != right (1)");let wt=f(L*$),pe=f(H*z);if(wt!==pe)throw new Error("bad point: equation left != right (2)");return!0});class w{constructor(E,_,L,$){this.ex=E,this.ey=_,this.ez=L,this.et=$,p("x",E),p("y",_),p("z",L),p("t",$),Object.freeze(this)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static fromAffine(E){if(E instanceof w)throw new Error("extended point not allowed");let{x:_,y:L}=E||{};return p("x",_),p("y",L),new w(_,L,Wt,f(_*L))}static normalizeZ(E){let _=e.invertBatch(E.map(L=>L.ez));return E.map((L,$)=>L.toAffine(_[$])).map(w.fromAffine)}_setWindowSize(E){S.setWindowSize(this,E)}assertValidity(){y(this)}equals(E){d(E);let{ex:_,ey:L,ez:$}=this,{ex:H,ey:z,ez:X}=E,W=f(_*X),Q=f(H*$),ct=f(L*X),ut=f(z*$);return W===Q&&ct===ut}is0(){return this.equals(w.ZERO)}negate(){return new w(f(-this.ex),this.ey,this.ez,f(-this.et))}double(){let{a:E}=t,{ex:_,ey:L,ez:$}=this,H=f(_*_),z=f(L*L),X=f(vs*f($*$)),W=f(E*H),Q=_+L,ct=f(f(Q*Q)-H-z),ut=W+z,qt=ut-X,At=W-z,wt=f(ct*qt),pe=f(ut*At),Bt=f(ct*At),me=f(qt*ut);return new w(wt,pe,me,Bt)}add(E){d(E);let{a:_,d:L}=t,{ex:$,ey:H,ez:z,et:X}=this,{ex:W,ey:Q,ez:ct,et:ut}=E;if(_===BigInt(-1)){let ml=f((H-$)*(Q+W)),gl=f((H+$)*(Q-W)),xa=f(gl-ml);if(xa===xe)return this.double();let yl=f(z*vs*ut),wl=f(X*vs*ct),bl=wl+yl,xl=gl+ml,El=wl-yl,X0=f(bl*xa),Q0=f(xl*El),tm=f(bl*El),em=f(xa*xl);return new w(X0,Q0,em,tm)}let qt=f($*W),At=f(H*Q),wt=f(X*L*ut),pe=f(z*ct),Bt=f(($+H)*(W+Q)-qt-At),me=pe-wt,Pr=pe+wt,Xn=f(At-_*qt),Zo=f(Bt*me),Y0=f(Pr*Xn),Z0=f(Bt*Xn),J0=f(me*Pr);return new w(Zo,Y0,J0,Z0)}subtract(E){return this.add(E.negate())}wNAF(E){return S.wNAFCached(this,E,w.normalizeZ)}multiply(E){let _=E;Gt("scalar",_,Wt,n);let{p:L,f:$}=this.wNAF(_);return w.normalizeZ([L,$])[0]}multiplyUnsafe(E){let _=E;return Gt("scalar",_,xe,n),_===xe?k:this.equals(k)||_===Wt?this:this.equals(x)?this.wNAF(_).p:S.unsafeLadder(this,_)}isSmallOrder(){return this.multiplyUnsafe(c).is0()}isTorsionFree(){return S.unsafeLadder(this,n).is0()}toAffine(E){return b(this,E)}clearCofactor(){let{h:E}=t;return E===Wt?this:this.multiplyUnsafe(E)}static fromHex(E,_=!1){let{d:L,a:$}=t,H=e.BYTES;E=dt("pointHex",E,H),be("zip215",_);let z=E.slice(),X=E[H-1];z[H-1]=X&-129;let W=vr(z),Q=_?l:e.ORDER;Gt("pointHex.y",W,xe,Q);let ct=f(W*W),ut=f(ct-Wt),qt=f(L*ct-$),{isValid:At,value:wt}=u(ut,qt);if(!At)throw new Error("Point.fromHex: invalid y coordinate");let pe=(wt&Wt)===Wt,Bt=(X&128)!==0;if(!_&&wt===xe&&Bt)throw new Error("Point.fromHex: x=0 and x_0=1");return Bt!==pe&&(wt=f(-wt)),w.fromAffine({x:wt,y:W})}static fromPrivateKey(E){return A(E).point}toRawBytes(){let{x:E,y:_}=this.toAffine(),L=qr(_,e.BYTES);return L[L.length-1]|=E&Wt?128:0,L}toHex(){return je(this.toRawBytes())}}w.BASE=new w(t.Gx,t.Gy,Wt,f(t.Gx*t.Gy)),w.ZERO=new w(xe,Wt,Wt,xe);let{BASE:x,ZERO:k}=w,S=Es(w,a*8);function I(v){return ot(v,n)}function B(v){return I(vr(v))}function A(v){let E=a;v=dt("private key",v,E);let _=dt("hashed private key",s(v),2*E),L=m(_.slice(0,E)),$=_.slice(E,2*E),H=B(L),z=x.multiply(H),X=z.toRawBytes();return{head:L,prefix:$,scalar:H,point:z,pointBytes:X}}function U(v){return A(v).pointBytes}function O(v=new Uint8Array,...E){let _=We(...E);return B(s(h(_,dt("context",v),!!o)))}function D(v,E,_={}){v=dt("message",v),o&&(v=o(v));let{prefix:L,scalar:$,pointBytes:H}=A(E),z=O(_.context,L,v),X=x.multiply(z).toRawBytes(),W=O(_.context,X,H,v),Q=I(z+W*$);Gt("signature.s",Q,xe,n);let ct=We(X,qr(Q,e.BYTES));return dt("result",ct,a*2)}let M=_y;function C(v,E,_,L=M){let{context:$,zip215:H}=L,z=e.BYTES;v=dt("signature",v,2*z),E=dt("message",E),H!==void 0&&be("zip215",H),o&&(E=o(E));let X=vr(v.slice(z,2*z)),W,Q,ct;try{W=w.fromHex(_,H),Q=w.fromHex(v.slice(0,z),H),ct=x.multiplyUnsafe(X)}catch{return!1}if(!H&&W.isSmallOrder())return!1;let ut=O($,Q.toRawBytes(),W.toRawBytes(),E);return Q.add(W.multiplyUnsafe(ut)).subtract(ct).clearCofactor().equals(w.ZERO)}return x._setWindowSize(8),{CURVE:t,getPublicKey:U,sign:D,verify:C,ExtendedPoint:w,utils:{getExtendedPublicKey:A,randomPrivateKey:()=>i(e.BYTES),precompute(v=8,E=w.BASE){return E._setWindowSize(v),E.multiply(BigInt(3)),E}}}}var Tc=BigInt("57896044618658097711785492504343953926634992332820282019728792003956564819949"),Rf=BigInt("19681161376707505956807079304988542015446066515923890162744021073123829784752"),U2=BigInt(0),Cy=BigInt(1),_f=BigInt(2),D2=BigInt(3),Ny=BigInt(5),Ly=BigInt(8);function Uy(r){let t=BigInt(10),e=BigInt(20),n=BigInt(40),o=BigInt(80),s=Tc,a=r*r%s*r%s,c=at(a,_f,s)*a%s,l=at(c,Cy,s)*r%s,f=at(l,Ny,s)*l%s,u=at(f,t,s)*f%s,m=at(u,e,s)*u%s,h=at(m,n,s)*m%s,p=at(h,o,s)*h%s,d=at(p,o,s)*h%s,b=at(d,t,s)*f%s;return{pow_p_5_8:at(b,_f,s)*r%s,b2:a}}function Dy(r){return r[0]&=248,r[31]&=127,r[31]|=64,r}function Py(r,t){let e=Tc,n=ot(t*t*t,e),o=ot(n*n*t,e),s=Uy(r*o).pow_p_5_8,i=ot(r*n*s,e),a=ot(t*i*i,e),c=i,l=ot(i*Rf,e),f=a===r,u=a===ot(-r,e),m=a===ot(-r*Rf,e);return f&&(i=c),(u||m)&&(i=l),Af(i,e)&&(i=ot(-i,e)),{isValid:f||u,value:i}}var Oy=xs(Tc,void 0,!0),Fy={a:BigInt(-1),d:BigInt("37095705934669439343138083508754565189542113879843219016388785533085940283555"),Fp:Oy,n:BigInt("7237005577332262213973186563042994240857116359379907606001950938285454250989"),h:Ly,Gx:BigInt("15112221349535400772501151409588531511454012693041857206046113283949847762202"),Gy:BigInt("46316835694926478169428394003475163141307993866256225615783033603165251855960"),hash:uo,randomBytes:An,adjustScalarBytes:Dy,uvRatio:Py},Sn=If(Fy);var In=32,Ye=64,As=32;function Tf(){let r=Sn.utils.randomPrivateKey(),t=Sn.getPublicKey(r);return{privateKey:Uf(r,t),publicKey:t}}function Cf(r){if(r.length!==As)throw new TypeError('"seed" must be 32 bytes in length.');if(!(r instanceof Uint8Array))throw new TypeError('"seed" must be a node.js Buffer, or Uint8Array.');let t=r,e=Sn.getPublicKey(t);return{privateKey:Uf(t,e),publicKey:e}}function Nf(r,t){let e=r.subarray(0,As);return Sn.sign(t instanceof Uint8Array?t:t.subarray(),e)}function Lf(r,t,e){return Sn.verify(t,e instanceof Uint8Array?e:e.subarray(),r)}function Uf(r,t){let e=new Uint8Array(Ye);for(let n=0;n<As;n++)e[n]=r[n],e[As+n]=t[n];return e}var Cc={alg:"A128GCM",ext:!0,k:"scm9jmO_4BJAgdwWGVulLg",key_ops:["encrypt","decrypt"],kty:"oct"};function Df(r){let t=r?.algorithm??"AES-GCM",e=r?.keyLength??16,n=r?.nonceLength??12,o=r?.digest??"SHA-256",s=r?.saltLength??16,i=r?.iterations??32767,a=$t.get();e*=8;async function c(u,m){let h=a.getRandomValues(new Uint8Array(s)),p=a.getRandomValues(new Uint8Array(n)),d={name:t,iv:p};typeof m=="string"&&(m=K(m));let b;if(m.length===0){b=await a.subtle.importKey("jwk",Cc,{name:"AES-GCM"},!0,["encrypt"]);try{let w={name:"PBKDF2",salt:h,iterations:i,hash:{name:o}},x=await a.subtle.importKey("raw",m,{name:"PBKDF2"},!1,["deriveKey"]);b=await a.subtle.deriveKey(w,x,{name:t,length:e},!0,["encrypt"])}catch{b=await a.subtle.importKey("jwk",Cc,{name:"AES-GCM"},!0,["encrypt"])}}else{let w={name:"PBKDF2",salt:h,iterations:i,hash:{name:o}},x=await a.subtle.importKey("raw",m,{name:"PBKDF2"},!1,["deriveKey"]);b=await a.subtle.deriveKey(w,x,{name:t,length:e},!0,["encrypt"])}let y=await a.subtle.encrypt(d,b,u);return St([h,d.iv,new Uint8Array(y)])}async function l(u,m){let h=u.subarray(0,s),p=u.subarray(s,s+n),d=u.subarray(s+n),b={name:t,iv:p};typeof m=="string"&&(m=K(m));let y;if(m.length===0)try{let x={name:"PBKDF2",salt:h,iterations:i,hash:{name:o}},k=await a.subtle.importKey("raw",m,{name:"PBKDF2"},!1,["deriveKey"]);y=await a.subtle.deriveKey(x,k,{name:t,length:e},!0,["decrypt"])}catch{y=await a.subtle.importKey("jwk",Cc,{name:"AES-GCM"},!0,["decrypt"])}else{let x={name:"PBKDF2",salt:h,iterations:i,hash:{name:o}},k=await a.subtle.importKey("raw",m,{name:"PBKDF2"},!1,["deriveKey"]);y=await a.subtle.deriveKey(x,k,{name:t,length:e},!0,["decrypt"])}let w=await a.subtle.decrypt(b,y,d);return new Uint8Array(w)}return{encrypt:c,decrypt:l}}async function Rn(r,t){let n=await Df().encrypt(r,t);return ae.encode(n)}var pt;(function(r){r.RSA="RSA",r.Ed25519="Ed25519",r.Secp256k1="Secp256k1"})(pt||(pt={}));var Nc;(function(r){r[r.RSA=0]="RSA",r[r.Ed25519=1]="Ed25519",r[r.Secp256k1=2]="Secp256k1"})(Nc||(Nc={}));(function(r){r.codec=()=>io(Nc)})(pt||(pt={}));var Le;(function(r){let t;r.codec=()=>(t==null&&(t=pn((e,n,o={})=>{o.lengthDelimited!==!1&&n.fork(),e.Type!=null&&(n.uint32(8),pt.codec().encode(e.Type,n)),e.Data!=null&&(n.uint32(18),n.bytes(e.Data)),o.lengthDelimited!==!1&&n.ldelim()},(e,n)=>{let o={},s=n==null?e.len:e.pos+n;for(;e.pos<s;){let i=e.uint32();switch(i>>>3){case 1:o.Type=pt.codec().decode(e);break;case 2:o.Data=e.bytes();break;default:e.skipType(i&7);break}}return o})),t),r.encode=e=>hn(e,r.codec()),r.decode=e=>an(e,r.codec())})(Le||(Le={}));var Ze;(function(r){let t;r.codec=()=>(t==null&&(t=pn((e,n,o={})=>{o.lengthDelimited!==!1&&n.fork(),e.Type!=null&&(n.uint32(8),pt.codec().encode(e.Type,n)),e.Data!=null&&(n.uint32(18),n.bytes(e.Data)),o.lengthDelimited!==!1&&n.ldelim()},(e,n)=>{let o={},s=n==null?e.len:e.pos+n;for(;e.pos<s;){let i=e.uint32();switch(i>>>3){case 1:o.Type=pt.codec().decode(e);break;case 2:o.Data=e.bytes();break;default:e.skipType(i&7);break}}return o})),t),r.encode=e=>hn(e,r.codec()),r.decode=e=>an(e,r.codec())})(Ze||(Ze={}));var po=class{_key;constructor(t){this._key=_n(t,In)}verify(t,e){return Lf(this._key,e,t)}marshal(){return this._key}get bytes(){return Le.encode({Type:pt.Ed25519,Data:this.marshal()}).subarray()}equals(t){return nt(this.bytes,t.bytes)}hash(){let t=xt.digest(this.bytes);return ce(t)?t.then(({bytes:e})=>e):t.bytes}},Gr=class{_key;_publicKey;constructor(t,e){this._key=_n(t,Ye),this._publicKey=_n(e,In)}sign(t){return Nf(this._key,t)}get public(){return new po(this._publicKey)}marshal(){return this._key}get bytes(){return Ze.encode({Type:pt.Ed25519,Data:this.marshal()}).subarray()}equals(t){return nt(this.bytes,t.bytes)}async hash(){let t=xt.digest(this.bytes),e;return ce(t)?{bytes:e}=await t:e=t.bytes,e}async id(){let t=Mt.digest(this.public.bytes);return ft.encode(t.bytes).substring(1)}async export(t,e="libp2p-key"){if(e==="libp2p-key")return Rn(this.bytes,t);throw new P(`export format '${e}' is not supported`,"ERR_INVALID_EXPORT_FORMAT")}};function $y(r){if(r.length>Ye){r=_n(r,Ye+In);let n=r.subarray(0,Ye),o=r.subarray(Ye,r.length);return new Gr(n,o)}r=_n(r,Ye);let t=r.subarray(0,Ye),e=r.subarray(In);return new Gr(t,e)}function Hy(r){return r=_n(r,In),new po(r)}async function Ky(){let{privateKey:r,publicKey:t}=Tf();return new Gr(r,t)}async function Pf(r){let{privateKey:t,publicKey:e}=Cf(r);return new Gr(t,e)}function _n(r,t){if(r=Uint8Array.from(r??[]),r.length!==t)throw new P(`Key must be a Uint8Array of length ${t}, got ${r.length}`,"ERR_INVALID_KEY_TYPE");return r}var Kc={};bt(Kc,{MAX_RSA_KEY_SIZE:()=>So,RsaPrivateKey:()=>Un,RsaPublicKey:()=>ko,fromJwk:()=>gw,generateKeyPair:()=>yw,unmarshalRsaPrivateKey:()=>$c,unmarshalRsaPublicKey:()=>mw});function Ue(r){if(isNaN(r)||r<=0)throw new P("random bytes length must be a Number bigger than 0","ERR_INVALID_LENGTH");return An(r)}var Ir={};bt(Ir,{exportToPem:()=>lw,importFromPem:()=>fw,jwkToPkcs1:()=>iw,jwkToPkix:()=>cw,pkcs1ToJwk:()=>sw,pkixToJwk:()=>aw});var ks=class extends En{constructor(t,e){super(),this.finished=!1,this.destroyed=!1,ds(t);let n=wr(e);if(this.iHash=t.create(),typeof this.iHash.update!="function")throw new Error("Expected instance of class which extends utils.Hash");this.blockLen=this.iHash.blockLen,this.outputLen=this.iHash.outputLen;let o=this.blockLen,s=new Uint8Array(o);s.set(n.length>o?t.create().update(n).digest():n);for(let i=0;i<s.length;i++)s[i]^=54;this.iHash.update(s),this.oHash=t.create();for(let i=0;i<s.length;i++)s[i]^=106;this.oHash.update(s),s.fill(0)}update(t){return xn(this),this.iHash.update(t),this}digestInto(t){xn(this),bn(t,this.outputLen),this.finished=!0,this.iHash.digestInto(t),this.oHash.update(t),this.oHash.digestInto(t),this.destroy()}digest(){let t=new Uint8Array(this.oHash.outputLen);return this.digestInto(t),t}_cloneInto(t){t||(t=Object.create(Object.getPrototypeOf(this),{}));let{oHash:e,iHash:n,finished:o,destroyed:s,blockLen:i,outputLen:a}=this;return t=t,t.finished=o,t.destroyed=s,t.blockLen=i,t.outputLen=a,t.oHash=e._cloneInto(t.oHash),t.iHash=n._cloneInto(t.iHash),t}destroy(){this.destroyed=!0,this.oHash.destroy(),this.iHash.destroy()}},mo=(r,t,e)=>new ks(r,t).update(e).digest();mo.create=(r,t)=>new ks(r,t);function qy(r,t,e,n){ds(r);let o=pf({dkLen:32,asyncTick:10},n),{c:s,dkLen:i,asyncTick:a}=o;if(wn(s),wn(i),wn(a),s<1)throw new Error("PBKDF2: iterations (c) should be >= 1");let c=wr(t),l=wr(e),f=new Uint8Array(i),u=mo.create(r,c),m=u._cloneInto().update(l);return{c:s,dkLen:i,asyncTick:a,DK:f,PRF:u,PRFSalt:m}}function zy(r,t,e,n,o){return r.destroy(),t.destroy(),n&&n.destroy(),o.fill(0),e}async function Uc(r,t,e,n){let{c:o,dkLen:s,asyncTick:i,DK:a,PRF:c,PRFSalt:l}=qy(r,t,e,n),f,u=new Uint8Array(4),m=vn(u),h=new Uint8Array(c.outputLen);for(let p=1,d=0;d<s;p++,d+=c.outputLen){let b=a.subarray(d,d+c.outputLen);m.setInt32(0,p,!1),(f=l._cloneInto(f)).update(u).digestInto(h),b.set(h.subarray(0,b.length)),await hf(o-1,i,()=>{c._cloneInto(f).update(h).digestInto(h);for(let y=0;y<b.length;y++)b[y]^=h[y]})}return zy(c,l,a,f,h)}var Y=ie(Of());function Wr(r,t){let e=0;if(r.length===1)return r[0];for(let n=r.length-1;n>=0;n--)e+=r[r.length-1-n]*Math.pow(2,t*n);return e}function Br(r,t,e=-1){let n=e,o=r,s=0,i=Math.pow(2,t);for(let a=1;a<8;a++){if(r<i){let c;if(n<0)c=new ArrayBuffer(a),s=a;else{if(n<a)return new ArrayBuffer(0);c=new ArrayBuffer(n),s=n}let l=new Uint8Array(c);for(let f=a-1;f>=0;f--){let u=Math.pow(2,f*t);l[s-f-1]=Math.floor(o/u),o-=l[s-f-1]*u}return c}i*=Math.pow(2,t)}return new ArrayBuffer(0)}function Rs(...r){let t=0,e=0;for(let s of r)t+=s.length;let n=new ArrayBuffer(t),o=new Uint8Array(n);for(let s of r)o.set(s,e),e+=s.length;return o}function Pc(){let r=new Uint8Array(this.valueHex);if(this.valueHex.byteLength>=2){let a=r[0]===255&&r[1]&128,c=r[0]===0&&(r[1]&128)===0;(a||c)&&this.warnings.push("Needlessly long format")}let t=new ArrayBuffer(this.valueHex.byteLength),e=new Uint8Array(t);for(let a=0;a<this.valueHex.byteLength;a++)e[a]=0;e[0]=r[0]&128;let n=Wr(e,8),o=new ArrayBuffer(this.valueHex.byteLength),s=new Uint8Array(o);for(let a=0;a<this.valueHex.byteLength;a++)s[a]=r[a];return s[0]&=127,Wr(s,8)-n}function Ff(r){let t=r<0?r*-1:r,e=128;for(let n=1;n<8;n++){if(t<=e){if(r<0){let i=e-t,a=Br(i,8,n),c=new Uint8Array(a);return c[0]|=128,a}let o=Br(t,8,n),s=new Uint8Array(o);if(s[0]&128){let i=o.slice(0),a=new Uint8Array(i);o=new ArrayBuffer(o.byteLength+1),s=new Uint8Array(o);for(let c=0;c<i.byteLength;c++)s[c+1]=a[c];s[0]=0}return o}e*=Math.pow(2,8)}return new ArrayBuffer(0)}function Vf(r,t){if(r.byteLength!==t.byteLength)return!1;let e=new Uint8Array(r),n=new Uint8Array(t);for(let o=0;o<e.length;o++)if(e[o]!==n[o])return!1;return!0}function Yt(r,t){let e=r.toString(10);if(t<e.length)return"";let n=t-e.length,o=new Array(n);for(let i=0;i<n;i++)o[i]="0";return o.join("").concat(e)}var cA=Math.log(2);function _s(){if(typeof BigInt>"u")throw new Error("BigInt is not defined. Your environment doesn't implement BigInt.")}function Oc(r){let t=0,e=0;for(let o=0;o<r.length;o++){let s=r[o];t+=s.byteLength}let n=new Uint8Array(t);for(let o=0;o<r.length;o++){let s=r[o];n.set(new Uint8Array(s),e),e+=s.byteLength}return n.buffer}function er(r,t,e,n){return t instanceof Uint8Array?t.byteLength?e<0?(r.error="Wrong parameter: inputOffset less than zero",!1):n<0?(r.error="Wrong parameter: inputLength less than zero",!1):t.byteLength-e-n<0?(r.error="End of input reached before message was fully decoded (inconsistent offset and length values)",!1):!0:(r.error="Wrong parameter: inputBuffer has zero length",!1):(r.error="Wrong parameter: inputBuffer must be 'Uint8Array'",!1)}var yo=class{constructor(){this.items=[]}write(t){this.items.push(t)}final(){return Oc(this.items)}},go=[new Uint8Array([1])],Mf="0123456789";var Nn="",ve=new ArrayBuffer(0),Fc=new Uint8Array(0),wo="EndOfContent",Hf="OCTET STRING",Kf="BIT STRING";function rr(r){var t;return t=class extends r{constructor(...n){var o;super(...n);let s=n[0]||{};this.isHexOnly=(o=s.isHexOnly)!==null&&o!==void 0?o:!1,this.valueHexView=s.valueHex?Y.BufferSourceConverter.toUint8Array(s.valueHex):Fc}get valueHex(){return this.valueHexView.slice().buffer}set valueHex(n){this.valueHexView=new Uint8Array(n)}fromBER(n,o,s){let i=n instanceof ArrayBuffer?new Uint8Array(n):n;if(!er(this,i,o,s))return-1;let a=o+s;return this.valueHexView=i.subarray(o,a),this.valueHexView.length?(this.blockLength=s,a):(this.warnings.push("Zero buffer length"),o)}toBER(n=!1){return this.isHexOnly?n?new ArrayBuffer(this.valueHexView.byteLength):this.valueHexView.byteLength===this.valueHexView.buffer.byteLength?this.valueHexView.buffer:this.valueHexView.slice().buffer:(this.error="Flag 'isHexOnly' is not set, abort",ve)}toJSON(){return{...super.toJSON(),isHexOnly:this.isHexOnly,valueHex:Y.Convert.ToHex(this.valueHexView)}}},t.NAME="hexBlock",t}var Xe=class{constructor({blockLength:t=0,error:e=Nn,warnings:n=[],valueBeforeDecode:o=Fc}={}){this.blockLength=t,this.error=e,this.warnings=n,this.valueBeforeDecodeView=Y.BufferSourceConverter.toUint8Array(o)}static blockName(){return this.NAME}get valueBeforeDecode(){return this.valueBeforeDecodeView.slice().buffer}set valueBeforeDecode(t){this.valueBeforeDecodeView=new Uint8Array(t)}toJSON(){return{blockName:this.constructor.NAME,blockLength:this.blockLength,error:this.error,warnings:this.warnings,valueBeforeDecode:Y.Convert.ToHex(this.valueBeforeDecodeView)}}};Xe.NAME="baseBlock";var Ot=class extends Xe{fromBER(t,e,n){throw TypeError("User need to make a specific function in a class which extends 'ValueBlock'")}toBER(t,e){throw TypeError("User need to make a specific function in a class which extends 'ValueBlock'")}};Ot.NAME="valueBlock";var Ts=class extends rr(Xe){constructor({idBlock:t={}}={}){var e,n,o,s;super(),t?(this.isHexOnly=(e=t.isHexOnly)!==null&&e!==void 0?e:!1,this.valueHexView=t.valueHex?Y.BufferSourceConverter.toUint8Array(t.valueHex):Fc,this.tagClass=(n=t.tagClass)!==null&&n!==void 0?n:-1,this.tagNumber=(o=t.tagNumber)!==null&&o!==void 0?o:-1,this.isConstructed=(s=t.isConstructed)!==null&&s!==void 0?s:!1):(this.tagClass=-1,this.tagNumber=-1,this.isConstructed=!1)}toBER(t=!1){let e=0;switch(this.tagClass){case 1:e|=0;break;case 2:e|=64;break;case 3:e|=128;break;case 4:e|=192;break;default:return this.error="Unknown tag class",ve}if(this.isConstructed&&(e|=32),this.tagNumber<31&&!this.isHexOnly){let o=new Uint8Array(1);if(!t){let s=this.tagNumber;s&=31,e|=s,o[0]=e}return o.buffer}if(!this.isHexOnly){let o=Br(this.tagNumber,7),s=new Uint8Array(o),i=o.byteLength,a=new Uint8Array(i+1);if(a[0]=e|31,!t){for(let c=0;c<i-1;c++)a[c+1]=s[c]|128;a[i]=s[i-1]}return a.buffer}let n=new Uint8Array(this.valueHexView.byteLength+1);if(n[0]=e|31,!t){let o=this.valueHexView;for(let s=0;s<o.length-1;s++)n[s+1]=o[s]|128;n[this.valueHexView.byteLength]=o[o.length-1]}return n.buffer}fromBER(t,e,n){let o=Y.BufferSourceConverter.toUint8Array(t);if(!er(this,o,e,n))return-1;let s=o.subarray(e,e+n);if(s.length===0)return this.error="Zero buffer length",-1;switch(s[0]&192){case 0:this.tagClass=1;break;case 64:this.tagClass=2;break;case 128:this.tagClass=3;break;case 192:this.tagClass=4;break;default:return this.error="Unknown tag class",-1}this.isConstructed=(s[0]&32)===32,this.isHexOnly=!1;let a=s[0]&31;if(a!==31)this.tagNumber=a,this.blockLength=1;else{let c=1,l=this.valueHexView=new Uint8Array(255),f=255;for(;s[c]&128;){if(l[c-1]=s[c]&127,c++,c>=s.length)return this.error="End of input reached before message was fully decoded",-1;if(c===f){f+=255;let m=new Uint8Array(f);for(let h=0;h<l.length;h++)m[h]=l[h];l=this.valueHexView=new Uint8Array(f)}}this.blockLength=c+1,l[c-1]=s[c]&127;let u=new Uint8Array(c);for(let m=0;m<c;m++)u[m]=l[m];l=this.valueHexView=new Uint8Array(c),l.set(u),this.blockLength<=9?this.tagNumber=Wr(l,7):(this.isHexOnly=!0,this.warnings.push("Tag too long, represented as hex-coded"))}if(this.tagClass===1&&this.isConstructed)switch(this.tagNumber){case 1:case 2:case 5:case 6:case 9:case 13:case 14:case 23:case 24:case 31:case 32:case 33:case 34:return this.error="Constructed encoding used for primitive type",-1}return e+this.blockLength}toJSON(){return{...super.toJSON(),tagClass:this.tagClass,tagNumber:this.tagNumber,isConstructed:this.isConstructed}}};Ts.NAME="identificationBlock";var Cs=class extends Xe{constructor({lenBlock:t={}}={}){var e,n,o;super(),this.isIndefiniteForm=(e=t.isIndefiniteForm)!==null&&e!==void 0?e:!1,this.longFormUsed=(n=t.longFormUsed)!==null&&n!==void 0?n:!1,this.length=(o=t.length)!==null&&o!==void 0?o:0}fromBER(t,e,n){let o=Y.BufferSourceConverter.toUint8Array(t);if(!er(this,o,e,n))return-1;let s=o.subarray(e,e+n);if(s.length===0)return this.error="Zero buffer length",-1;if(s[0]===255)return this.error="Length block 0xFF is reserved by standard",-1;if(this.isIndefiniteForm=s[0]===128,this.isIndefiniteForm)return this.blockLength=1,e+this.blockLength;if(this.longFormUsed=!!(s[0]&128),this.longFormUsed===!1)return this.length=s[0],this.blockLength=1,e+this.blockLength;let i=s[0]&127;if(i>8)return this.error="Too big integer",-1;if(i+1>s.length)return this.error="End of input reached before message was fully decoded",-1;let a=e+1,c=o.subarray(a,a+i);return c[i-1]===0&&this.warnings.push("Needlessly long encoded length"),this.length=Wr(c,8),this.longFormUsed&&this.length<=127&&this.warnings.push("Unnecessary usage of long length form"),this.blockLength=i+1,e+this.blockLength}toBER(t=!1){let e,n;if(this.length>127&&(this.longFormUsed=!0),this.isIndefiniteForm)return e=new ArrayBuffer(1),t===!1&&(n=new Uint8Array(e),n[0]=128),e;if(this.longFormUsed){let o=Br(this.length,8);if(o.byteLength>127)return this.error="Too big length",ve;if(e=new ArrayBuffer(o.byteLength+1),t)return e;let s=new Uint8Array(o);n=new Uint8Array(e),n[0]=o.byteLength|128;for(let i=0;i<o.byteLength;i++)n[i+1]=s[i];return e}return e=new ArrayBuffer(1),t===!1&&(n=new Uint8Array(e),n[0]=this.length),e}toJSON(){return{...super.toJSON(),isIndefiniteForm:this.isIndefiniteForm,longFormUsed:this.longFormUsed,length:this.length}}};Cs.NAME="lengthBlock";var F={},Ct=class extends Xe{constructor({name:t=Nn,optional:e=!1,primitiveSchema:n,...o}={},s){super(o),this.name=t,this.optional=e,n&&(this.primitiveSchema=n),this.idBlock=new Ts(o),this.lenBlock=new Cs(o),this.valueBlock=s?new s(o):new Ot(o)}fromBER(t,e,n){let o=this.valueBlock.fromBER(t,e,this.lenBlock.isIndefiniteForm?n:this.lenBlock.length);return o===-1?(this.error=this.valueBlock.error,o):(this.idBlock.error.length||(this.blockLength+=this.idBlock.blockLength),this.lenBlock.error.length||(this.blockLength+=this.lenBlock.blockLength),this.valueBlock.error.length||(this.blockLength+=this.valueBlock.blockLength),o)}toBER(t,e){let n=e||new yo;e||qf(this);let o=this.idBlock.toBER(t);if(n.write(o),this.lenBlock.isIndefiniteForm)n.write(new Uint8Array([128]).buffer),this.valueBlock.toBER(t,n),n.write(new ArrayBuffer(2));else{let s=this.valueBlock.toBER(t);this.lenBlock.length=s.byteLength;let i=this.lenBlock.toBER(t);n.write(i),n.write(s)}return e?ve:n.final()}toJSON(){let t={...super.toJSON(),idBlock:this.idBlock.toJSON(),lenBlock:this.lenBlock.toJSON(),valueBlock:this.valueBlock.toJSON(),name:this.name,optional:this.optional};return this.primitiveSchema&&(t.primitiveSchema=this.primitiveSchema.toJSON()),t}toString(t="ascii"){return t==="ascii"?this.onAsciiEncoding():Y.Convert.ToHex(this.toBER())}onAsciiEncoding(){return`${this.constructor.NAME} : ${Y.Convert.ToHex(this.valueBlock.valueBeforeDecodeView)}`}isEqual(t){if(this===t)return!0;if(!(t instanceof this.constructor))return!1;let e=this.toBER(),n=t.toBER();return Vf(e,n)}};Ct.NAME="BaseBlock";function qf(r){if(r instanceof F.Constructed)for(let t of r.valueBlock.value)qf(t)&&(r.lenBlock.isIndefiniteForm=!0);return!!r.lenBlock.isIndefiniteForm}var Ns=class extends Ct{constructor({value:t=Nn,...e}={},n){super(e,n),t&&this.fromString(t)}getValue(){return this.valueBlock.value}setValue(t){this.valueBlock.value=t}fromBER(t,e,n){let o=this.valueBlock.fromBER(t,e,this.lenBlock.isIndefiniteForm?n:this.lenBlock.length);return o===-1?(this.error=this.valueBlock.error,o):(this.fromBuffer(this.valueBlock.valueHexView),this.idBlock.error.length||(this.blockLength+=this.idBlock.blockLength),this.lenBlock.error.length||(this.blockLength+=this.lenBlock.blockLength),this.valueBlock.error.length||(this.blockLength+=this.valueBlock.blockLength),o)}onAsciiEncoding(){return`${this.constructor.NAME} : '${this.valueBlock.value}'`}};Ns.NAME="BaseStringBlock";var Ls=class extends rr(Ot){constructor({isHexOnly:t=!0,...e}={}){super(e),this.isHexOnly=t}};Ls.NAME="PrimitiveValueBlock";var zf,Us=class extends Ct{constructor(t={}){super(t,Ls),this.idBlock.isConstructed=!1}};zf=Us;F.Primitive=zf;Us.NAME="PRIMITIVE";function tw(r,t){if(r instanceof t)return r;let e=new t;return e.idBlock=r.idBlock,e.lenBlock=r.lenBlock,e.warnings=r.warnings,e.valueBeforeDecodeView=r.valueBeforeDecodeView,e}function di(r,t=0,e=r.length){let n=t,o=new Ct({},Ot),s=new Xe;if(!er(s,r,t,e))return o.error=s.error,{offset:-1,result:o};if(!r.subarray(t,t+e).length)return o.error="Zero buffer length",{offset:-1,result:o};let a=o.idBlock.fromBER(r,t,e);if(o.idBlock.warnings.length&&o.warnings.concat(o.idBlock.warnings),a===-1)return o.error=o.idBlock.error,{offset:-1,result:o};if(t=a,e-=o.idBlock.blockLength,a=o.lenBlock.fromBER(r,t,e),o.lenBlock.warnings.length&&o.warnings.concat(o.lenBlock.warnings),a===-1)return o.error=o.lenBlock.error,{offset:-1,result:o};if(t=a,e-=o.lenBlock.blockLength,!o.idBlock.isConstructed&&o.lenBlock.isIndefiniteForm)return o.error="Indefinite length form used for primitive encoding form",{offset:-1,result:o};let c=Ct;switch(o.idBlock.tagClass){case 1:if(o.idBlock.tagNumber>=37&&o.idBlock.isHexOnly===!1)return o.error="UNIVERSAL 37 and upper tags are reserved by ASN.1 standard",{offset:-1,result:o};switch(o.idBlock.tagNumber){case 0:if(o.idBlock.isConstructed&&o.lenBlock.length>0)return o.error="Type [UNIVERSAL 0] is reserved",{offset:-1,result:o};c=F.EndOfContent;break;case 1:c=F.Boolean;break;case 2:c=F.Integer;break;case 3:c=F.BitString;break;case 4:c=F.OctetString;break;case 5:c=F.Null;break;case 6:c=F.ObjectIdentifier;break;case 10:c=F.Enumerated;break;case 12:c=F.Utf8String;break;case 13:c=F.RelativeObjectIdentifier;break;case 14:c=F.TIME;break;case 15:return o.error="[UNIVERSAL 15] is reserved by ASN.1 standard",{offset:-1,result:o};case 16:c=F.Sequence;break;case 17:c=F.Set;break;case 18:c=F.NumericString;break;case 19:c=F.PrintableString;break;case 20:c=F.TeletexString;break;case 21:c=F.VideotexString;break;case 22:c=F.IA5String;break;case 23:c=F.UTCTime;break;case 24:c=F.GeneralizedTime;break;case 25:c=F.GraphicString;break;case 26:c=F.VisibleString;break;case 27:c=F.GeneralString;break;case 28:c=F.UniversalString;break;case 29:c=F.CharacterString;break;case 30:c=F.BmpString;break;case 31:c=F.DATE;break;case 32:c=F.TimeOfDay;break;case 33:c=F.DateTime;break;case 34:c=F.Duration;break;default:{let l=o.idBlock.isConstructed?new F.Constructed:new F.Primitive;l.idBlock=o.idBlock,l.lenBlock=o.lenBlock,l.warnings=o.warnings,o=l}}break;case 2:case 3:case 4:default:c=o.idBlock.isConstructed?F.Constructed:F.Primitive}return o=tw(o,c),a=o.fromBER(r,t,o.lenBlock.isIndefiniteForm?e:o.lenBlock.length),o.valueBeforeDecodeView=r.subarray(n,n+o.blockLength),{offset:a,result:o}}function Ln(r){if(!r.byteLength){let t=new Ct({},Ot);return t.error="Input buffer has zero length",{offset:-1,result:t}}return di(Y.BufferSourceConverter.toUint8Array(r).slice(),0,r.byteLength)}function ew(r,t){return r?1:t}var De=class extends Ot{constructor({value:t=[],isIndefiniteForm:e=!1,...n}={}){super(n),this.value=t,this.isIndefiniteForm=e}fromBER(t,e,n){let o=Y.BufferSourceConverter.toUint8Array(t);if(!er(this,o,e,n))return-1;if(this.valueBeforeDecodeView=o.subarray(e,e+n),this.valueBeforeDecodeView.length===0)return this.warnings.push("Zero buffer length"),e;let s=e;for(;ew(this.isIndefiniteForm,n)>0;){let i=di(o,s,n);if(i.offset===-1)return this.error=i.result.error,this.warnings.concat(i.result.warnings),-1;if(s=i.offset,this.blockLength+=i.result.blockLength,n-=i.result.blockLength,this.value.push(i.result),this.isIndefiniteForm&&i.result.constructor.NAME===wo)break}return this.isIndefiniteForm&&(this.value[this.value.length-1].constructor.NAME===wo?this.value.pop():this.warnings.push("No EndOfContent block encoded")),s}toBER(t,e){let n=e||new yo;for(let o=0;o<this.value.length;o++)this.value[o].toBER(t,n);return e?ve:n.final()}toJSON(){let t={...super.toJSON(),isIndefiniteForm:this.isIndefiniteForm,value:[]};for(let e of this.value)t.value.push(e.toJSON());return t}};De.NAME="ConstructedValueBlock";var jf,kr=class extends Ct{constructor(t={}){super(t,De),this.idBlock.isConstructed=!0}fromBER(t,e,n){this.valueBlock.isIndefiniteForm=this.lenBlock.isIndefiniteForm;let o=this.valueBlock.fromBER(t,e,this.lenBlock.isIndefiniteForm?n:this.lenBlock.length);return o===-1?(this.error=this.valueBlock.error,o):(this.idBlock.error.length||(this.blockLength+=this.idBlock.blockLength),this.lenBlock.error.length||(this.blockLength+=this.lenBlock.blockLength),this.valueBlock.error.length||(this.blockLength+=this.valueBlock.blockLength),o)}onAsciiEncoding(){let t=[];for(let n of this.valueBlock.value)t.push(n.toString("ascii").split(`
|
|
4
4
|
`).map(o=>` ${o}`).join(`
|
|
5
5
|
`));let e=this.idBlock.tagClass===3?`[${this.idBlock.tagNumber}]`:this.constructor.NAME;return t.length?`${e} :
|
|
6
6
|
${t.join(`
|
|
7
|
-
`)}`:`${e} :`}};jf=Rr;O.Constructed=jf;Rr.NAME="CONSTRUCTED";var Ms=class extends Mt{fromBER(t,e,n){return e}toBER(t){return Ae}};Ms.override="EndOfContentValueBlock";var Gf,$s=class extends Nt{constructor(t={}){super(t,Ms),this.idBlock.tagClass=1,this.idBlock.tagNumber=0}};Gf=$s;O.EndOfContent=Gf;$s.NAME=vo;var Wf,_r=class extends Nt{constructor(t={}){super(t,Mt),this.idBlock.tagClass=1,this.idBlock.tagNumber=5}fromBER(t,e,n){return this.lenBlock.length>0&&this.warnings.push("Non-zero length of value block for Null type"),this.idBlock.error.length||(this.blockLength+=this.idBlock.blockLength),this.lenBlock.error.length||(this.blockLength+=this.lenBlock.blockLength),this.blockLength+=n,e+n>t.byteLength?(this.error="End of input reached before message was fully decoded (inconsistent offset and length values)",-1):e+n}toBER(t,e){let n=new ArrayBuffer(2);if(!t){let o=new Uint8Array(n);o[0]=5,o[1]=0}return e&&e.write(n),n}onAsciiEncoding(){return`${this.constructor.NAME}`}};Wf=_r;O.Null=Wf;_r.NAME="NULL";var Hs=class extends sr(Mt){constructor({value:t,...e}={}){super(e),e.valueHex?this.valueHexView=Z.BufferSourceConverter.toUint8Array(e.valueHex):this.valueHexView=new Uint8Array(1),t&&(this.value=t)}get value(){for(let t of this.valueHexView)if(t>0)return!0;return!1}set value(t){this.valueHexView[0]=t?255:0}fromBER(t,e,n){let o=Z.BufferSourceConverter.toUint8Array(t);return or(this,o,e,n)?(this.valueHexView=o.subarray(e,e+n),n>1&&this.warnings.push("Boolean value encoded in more then 1 octet"),this.isHexOnly=!0,Fc.call(this),this.blockLength=n,e+n):-1}toBER(){return this.valueHexView.slice()}toJSON(){return{...super.toJSON(),value:this.value}}};Hs.NAME="BooleanValueBlock";var Yf,Ks=class extends Nt{constructor(t={}){super(t,Hs),this.idBlock.tagClass=1,this.idBlock.tagNumber=1}getValue(){return this.valueBlock.value}setValue(t){this.valueBlock.value=t}onAsciiEncoding(){return`${this.constructor.NAME} : ${this.getValue}`}};Yf=Ks;O.Boolean=Yf;Ks.NAME="BOOLEAN";var qs=class extends sr(Pe){constructor({isConstructed:t=!1,...e}={}){super(e),this.isConstructed=t}fromBER(t,e,n){let o=0;if(this.isConstructed){if(this.isHexOnly=!1,o=Pe.prototype.fromBER.call(this,t,e,n),o===-1)return o;for(let s=0;s<this.value.length;s++){let i=this.value[s].constructor.NAME;if(i===vo){if(this.isIndefiniteForm)break;return this.error="EndOfContent is unexpected, OCTET STRING may consists of OCTET STRINGs only",-1}if(i!==Hf)return this.error="OCTET STRING may consists of OCTET STRINGs only",-1}}else this.isHexOnly=!0,o=super.fromBER(t,e,n),this.blockLength=n;return o}toBER(t,e){return this.isConstructed?Pe.prototype.toBER.call(this,t,e):t?new ArrayBuffer(this.valueHexView.byteLength):this.valueHexView.slice().buffer}toJSON(){return{...super.toJSON(),isConstructed:this.isConstructed}}};qs.NAME="OctetStringValueBlock";var Zf,rr=class r extends Nt{constructor({idBlock:t={},lenBlock:e={},...n}={}){var o,s;(o=n.isConstructed)!==null&&o!==void 0||(n.isConstructed=!!(!((s=n.value)===null||s===void 0)&&s.length)),super({idBlock:{isConstructed:n.isConstructed,...t},lenBlock:{...e,isIndefiniteForm:!!n.isIndefiniteForm},...n},qs),this.idBlock.tagClass=1,this.idBlock.tagNumber=4}fromBER(t,e,n){if(this.valueBlock.isConstructed=this.idBlock.isConstructed,this.valueBlock.isIndefiniteForm=this.lenBlock.isIndefiniteForm,n===0)return this.idBlock.error.length===0&&(this.blockLength+=this.idBlock.blockLength),this.lenBlock.error.length===0&&(this.blockLength+=this.lenBlock.blockLength),e;if(!this.valueBlock.isConstructed){let s=(t instanceof ArrayBuffer?new Uint8Array(t):t).subarray(e,e+n);try{if(s.byteLength){let i=wi(s,0,s.byteLength);i.offset!==-1&&i.offset===n&&(this.valueBlock.value=[i.result])}}catch{}}return super.fromBER(t,e,n)}onAsciiEncoding(){return this.valueBlock.isConstructed||this.valueBlock.value&&this.valueBlock.value.length?Rr.prototype.onAsciiEncoding.call(this):`${this.constructor.NAME} : ${Z.Convert.ToHex(this.valueBlock.valueHexView)}`}getValue(){if(!this.idBlock.isConstructed)return this.valueBlock.valueHexView.slice().buffer;let t=[];for(let e of this.valueBlock.value)e instanceof r&&t.push(e.valueBlock.valueHexView);return Z.BufferSourceConverter.concat(t)}};Zf=rr;O.OctetString=Zf;rr.NAME=Hf;var zs=class extends sr(Pe){constructor({unusedBits:t=0,isConstructed:e=!1,...n}={}){super(n),this.unusedBits=t,this.isConstructed=e,this.blockLength=this.valueHexView.byteLength}fromBER(t,e,n){if(!n)return e;let o=-1;if(this.isConstructed){if(o=Pe.prototype.fromBER.call(this,t,e,n),o===-1)return o;for(let a of this.value){let c=a.constructor.NAME;if(c===vo){if(this.isIndefiniteForm)break;return this.error="EndOfContent is unexpected, BIT STRING may consists of BIT STRINGs only",-1}if(c!==Kf)return this.error="BIT STRING may consists of BIT STRINGs only",-1;let u=a.valueBlock;if(this.unusedBits>0&&u.unusedBits>0)return this.error='Using of "unused bits" inside constructive BIT STRING allowed for least one only',-1;this.unusedBits=u.unusedBits}return o}let s=Z.BufferSourceConverter.toUint8Array(t);if(!or(this,s,e,n))return-1;let i=s.subarray(e,e+n);if(this.unusedBits=i[0],this.unusedBits>7)return this.error="Unused bits for BitString must be in range 0-7",-1;if(!this.unusedBits){let a=i.subarray(1);try{if(a.byteLength){let c=wi(a,0,a.byteLength);c.offset!==-1&&c.offset===n-1&&(this.value=[c.result])}}catch{}}return this.valueHexView=i.subarray(1),this.blockLength=i.length,e+n}toBER(t,e){if(this.isConstructed)return Pe.prototype.toBER.call(this,t,e);if(t)return new ArrayBuffer(this.valueHexView.byteLength+1);if(!this.valueHexView.byteLength)return Ae;let n=new Uint8Array(this.valueHexView.length+1);return n[0]=this.unusedBits,n.set(this.valueHexView,1),n.buffer}toJSON(){return{...super.toJSON(),unusedBits:this.unusedBits,isConstructed:this.isConstructed}}};zs.NAME="BitStringValueBlock";var Jf,Un=class extends Nt{constructor({idBlock:t={},lenBlock:e={},...n}={}){var o,s;(o=n.isConstructed)!==null&&o!==void 0||(n.isConstructed=!!(!((s=n.value)===null||s===void 0)&&s.length)),super({idBlock:{isConstructed:n.isConstructed,...t},lenBlock:{...e,isIndefiniteForm:!!n.isIndefiniteForm},...n},zs),this.idBlock.tagClass=1,this.idBlock.tagNumber=3}fromBER(t,e,n){return this.valueBlock.isConstructed=this.idBlock.isConstructed,this.valueBlock.isIndefiniteForm=this.lenBlock.isIndefiniteForm,super.fromBER(t,e,n)}onAsciiEncoding(){if(this.valueBlock.isConstructed||this.valueBlock.value&&this.valueBlock.value.length)return Rr.prototype.onAsciiEncoding.call(this);{let t=[],e=this.valueBlock.valueHexView;for(let o of e)t.push(o.toString(2).padStart(8,"0"));let n=t.join("");return`${this.constructor.NAME} : ${n.substring(0,n.length-this.valueBlock.unusedBits)}`}}};Jf=Un;O.BitString=Jf;Un.NAME=Kf;var Xf;function aw(r,t){let e=new Uint8Array([0]),n=new Uint8Array(r),o=new Uint8Array(t),s=n.slice(0),i=s.length-1,a=o.slice(0),c=a.length-1,u=0,f=c<i?i:c,l=0;for(let m=f;m>=0;m--,l++){switch(!0){case l<a.length:u=s[i-l]+a[c-l]+e[0];break;default:u=s[i-l]+e[0]}switch(e[0]=u/10,!0){case l>=s.length:s=Ls(new Uint8Array([u%10]),s);break;default:s[i-l]=u%10}}return e[0]>0&&(s=Ls(e,s)),s}function $f(r){if(r>=xo.length)for(let t=xo.length;t<=r;t++){let e=new Uint8Array([0]),n=xo[t-1].slice(0);for(let o=n.length-1;o>=0;o--){let s=new Uint8Array([(n[o]<<1)+e[0]]);e[0]=s[0]/10,n[o]=s[0]%10}e[0]>0&&(n=Ls(e,n)),xo.push(n)}return xo[r]}function cw(r,t){let e=0,n=new Uint8Array(r),o=new Uint8Array(t),s=n.slice(0),i=s.length-1,a=o.slice(0),c=a.length-1,u,f=0;for(let l=c;l>=0;l--,f++)switch(u=s[i-f]-a[c-f]-e,!0){case u<0:e=1,s[i-f]=u+10;break;default:e=0,s[i-f]=u}if(e>0)for(let l=i-c+1;l>=0;l--,f++)if(u=s[i-f]-e,u<0)e=1,s[i-f]=u+10;else{e=0,s[i-f]=u;break}return s.slice()}var Ao=class extends sr(Mt){constructor({value:t,...e}={}){super(e),this._valueDec=0,e.valueHex&&this.setValueHex(),t!==void 0&&(this.valueDec=t)}setValueHex(){this.valueHexView.length>=4?(this.warnings.push("Too big Integer for decoding, hex only"),this.isHexOnly=!0,this._valueDec=0):(this.isHexOnly=!1,this.valueHexView.length>0&&(this._valueDec=Fc.call(this)))}set valueDec(t){this._valueDec=t,this.isHexOnly=!1,this.valueHexView=new Uint8Array(Ff(t))}get valueDec(){return this._valueDec}fromDER(t,e,n,o=0){let s=this.fromBER(t,e,n);if(s===-1)return s;let i=this.valueHexView;return i[0]===0&&i[1]&128?this.valueHexView=i.subarray(1):o!==0&&i.length<o&&(o-i.length>1&&(o=i.length+1),this.valueHexView=i.subarray(o-i.length)),s}toDER(t=!1){let e=this.valueHexView;switch(!0){case(e[0]&128)!==0:{let n=new Uint8Array(this.valueHexView.length+1);n[0]=0,n.set(e,1),this.valueHexView=n}break;case(e[0]===0&&(e[1]&128)===0):this.valueHexView=this.valueHexView.subarray(1);break}return this.toBER(t)}fromBER(t,e,n){let o=super.fromBER(t,e,n);return o===-1||this.setValueHex(),o}toBER(t){return t?new ArrayBuffer(this.valueHexView.length):this.valueHexView.slice().buffer}toJSON(){return{...super.toJSON(),valueDec:this.valueDec}}toString(){let t=this.valueHexView.length*8-1,e=new Uint8Array(this.valueHexView.length*8/3),n=0,o,s=this.valueHexView,i="",a=!1;for(let c=s.byteLength-1;c>=0;c--){o=s[c];for(let u=0;u<8;u++){if((o&1)===1)switch(n){case t:e=cw($f(n),e),i="-";break;default:e=aw(e,$f(n))}n++,o>>=1}}for(let c=0;c<e.length;c++)e[c]&&(a=!0),a&&(i+=Mf.charAt(e[c]));return a===!1&&(i+=Mf.charAt(0)),i}};Xf=Ao;Ao.NAME="IntegerValueBlock";Object.defineProperty(Xf.prototype,"valueHex",{set:function(r){this.valueHexView=new Uint8Array(r),this.setValueHex()},get:function(){return this.valueHexView.slice().buffer}});var Qf,bt=class r extends Nt{constructor(t={}){super(t,Ao),this.idBlock.tagClass=1,this.idBlock.tagNumber=2}toBigInt(){return Us(),BigInt(this.valueBlock.toString())}static fromBigInt(t){Us();let e=BigInt(t),n=new Eo,o=e.toString(16).replace(/^-/,""),s=new Uint8Array(Z.Convert.FromHex(o));if(e<0){let a=new Uint8Array(s.length+(s[0]&128?1:0));a[0]|=128;let u=BigInt(`0x${Z.Convert.ToHex(a)}`)+e,f=Z.BufferSourceConverter.toUint8Array(Z.Convert.FromHex(u.toString(16)));f[0]|=128,n.write(f)}else s[0]&128&&n.write(new Uint8Array([0])),n.write(s);return new r({valueHex:n.final()})}convertToDER(){let t=new r({valueHex:this.valueBlock.valueHexView});return t.valueBlock.toDER(),t}convertFromDER(){return new r({valueHex:this.valueBlock.valueHexView[0]===0?this.valueBlock.valueHexView.subarray(1):this.valueBlock.valueHexView})}onAsciiEncoding(){return`${this.constructor.NAME} : ${this.valueBlock.toString()}`}};Qf=bt;O.Integer=Qf;bt.NAME="INTEGER";var th,js=class extends bt{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=10}};th=js;O.Enumerated=th;js.NAME="ENUMERATED";var Bo=class extends sr(Mt){constructor({valueDec:t=-1,isFirstSid:e=!1,...n}={}){super(n),this.valueDec=t,this.isFirstSid=e}fromBER(t,e,n){if(!n)return e;let o=Z.BufferSourceConverter.toUint8Array(t);if(!or(this,o,e,n))return-1;let s=o.subarray(e,e+n);this.valueHexView=new Uint8Array(n);for(let a=0;a<n&&(this.valueHexView[a]=s[a]&127,this.blockLength++,!!(s[a]&128));a++);let i=new Uint8Array(this.blockLength);for(let a=0;a<this.blockLength;a++)i[a]=this.valueHexView[a];return this.valueHexView=i,s[this.blockLength-1]&128?(this.error="End of input reached before message was fully decoded",-1):(this.valueHexView[0]===0&&this.warnings.push("Needlessly long format of SID encoding"),this.blockLength<=8?this.valueDec=Yr(this.valueHexView,7):(this.isHexOnly=!0,this.warnings.push("Too big SID for decoding, hex only")),e+this.blockLength)}set valueBigInt(t){Us();let e=BigInt(t).toString(2);for(;e.length%7;)e="0"+e;let n=new Uint8Array(e.length/7);for(let o=0;o<n.length;o++)n[o]=parseInt(e.slice(o*7,o*7+7),2)+(o+1<n.length?128:0);this.fromBER(n.buffer,0,n.length)}toBER(t){if(this.isHexOnly){if(t)return new ArrayBuffer(this.valueHexView.byteLength);let o=this.valueHexView,s=new Uint8Array(this.blockLength);for(let i=0;i<this.blockLength-1;i++)s[i]=o[i]|128;return s[this.blockLength-1]=o[this.blockLength-1],s.buffer}let e=Ir(this.valueDec,7);if(e.byteLength===0)return this.error="Error during encoding SID value",Ae;let n=new Uint8Array(e.byteLength);if(!t){let o=new Uint8Array(e),s=e.byteLength-1;for(let i=0;i<s;i++)n[i]=o[i]|128;n[s]=o[s]}return n}toString(){let t="";if(this.isHexOnly)t=Z.Convert.ToHex(this.valueHexView);else if(this.isFirstSid){let e=this.valueDec;this.valueDec<=39?t="0.":this.valueDec<=79?(t="1.",e-=40):(t="2.",e-=80),t+=e.toString()}else t=this.valueDec.toString();return t}toJSON(){return{...super.toJSON(),valueDec:this.valueDec,isFirstSid:this.isFirstSid}}};Bo.NAME="sidBlock";var Gs=class extends Mt{constructor({value:t=Dn,...e}={}){super(e),this.value=[],t&&this.fromString(t)}fromBER(t,e,n){let o=e;for(;n>0;){let s=new Bo;if(o=s.fromBER(t,o,n),o===-1)return this.blockLength=0,this.error=s.error,o;this.value.length===0&&(s.isFirstSid=!0),this.blockLength+=s.blockLength,n-=s.blockLength,this.value.push(s)}return o}toBER(t){let e=[];for(let n=0;n<this.value.length;n++){let o=this.value[n].toBER(t);if(o.byteLength===0)return this.error=this.value[n].error,Ae;e.push(o)}return Vc(e)}fromString(t){this.value=[];let e=0,n=0,o="",s=!1;do if(n=t.indexOf(".",e),n===-1?o=t.substring(e):o=t.substring(e,n),e=n+1,s){let i=this.value[0],a=0;switch(i.valueDec){case 0:break;case 1:a=40;break;case 2:a=80;break;default:this.value=[];return}let c=parseInt(o,10);if(isNaN(c))return;i.valueDec=c+a,s=!1}else{let i=new Bo;if(o>Number.MAX_SAFE_INTEGER){Us();let a=BigInt(o);i.valueBigInt=a}else if(i.valueDec=parseInt(o,10),isNaN(i.valueDec))return;this.value.length||(i.isFirstSid=!0,s=!0),this.value.push(i)}while(n!==-1)}toString(){let t="",e=!1;for(let n=0;n<this.value.length;n++){e=this.value[n].isHexOnly;let o=this.value[n].toString();n!==0&&(t=`${t}.`),e?(o=`{${o}}`,this.value[n].isFirstSid?t=`2.{${o} - 80}`:t+=o):t+=o}return t}toJSON(){let t={...super.toJSON(),value:this.toString(),sidArray:[]};for(let e=0;e<this.value.length;e++)t.sidArray.push(this.value[e].toJSON());return t}};Gs.NAME="ObjectIdentifierValueBlock";var eh,ve=class extends Nt{constructor(t={}){super(t,Gs),this.idBlock.tagClass=1,this.idBlock.tagNumber=6}getValue(){return this.valueBlock.toString()}setValue(t){this.valueBlock.fromString(t)}onAsciiEncoding(){return`${this.constructor.NAME} : ${this.valueBlock.toString()||"empty"}`}toJSON(){return{...super.toJSON(),value:this.getValue()}}};eh=ve;O.ObjectIdentifier=eh;ve.NAME="OBJECT IDENTIFIER";var ko=class extends sr(er){constructor({valueDec:t=0,...e}={}){super(e),this.valueDec=t}fromBER(t,e,n){if(n===0)return e;let o=Z.BufferSourceConverter.toUint8Array(t);if(!or(this,o,e,n))return-1;let s=o.subarray(e,e+n);this.valueHexView=new Uint8Array(n);for(let a=0;a<n&&(this.valueHexView[a]=s[a]&127,this.blockLength++,!!(s[a]&128));a++);let i=new Uint8Array(this.blockLength);for(let a=0;a<this.blockLength;a++)i[a]=this.valueHexView[a];return this.valueHexView=i,s[this.blockLength-1]&128?(this.error="End of input reached before message was fully decoded",-1):(this.valueHexView[0]===0&&this.warnings.push("Needlessly long format of SID encoding"),this.blockLength<=8?this.valueDec=Yr(this.valueHexView,7):(this.isHexOnly=!0,this.warnings.push("Too big SID for decoding, hex only")),e+this.blockLength)}toBER(t){if(this.isHexOnly){if(t)return new ArrayBuffer(this.valueHexView.byteLength);let o=this.valueHexView,s=new Uint8Array(this.blockLength);for(let i=0;i<this.blockLength-1;i++)s[i]=o[i]|128;return s[this.blockLength-1]=o[this.blockLength-1],s.buffer}let e=Ir(this.valueDec,7);if(e.byteLength===0)return this.error="Error during encoding SID value",Ae;let n=new Uint8Array(e.byteLength);if(!t){let o=new Uint8Array(e),s=e.byteLength-1;for(let i=0;i<s;i++)n[i]=o[i]|128;n[s]=o[s]}return n.buffer}toString(){let t="";return this.isHexOnly?t=Z.Convert.ToHex(this.valueHexView):t=this.valueDec.toString(),t}toJSON(){return{...super.toJSON(),valueDec:this.valueDec}}};ko.NAME="relativeSidBlock";var Ws=class extends Mt{constructor({value:t=Dn,...e}={}){super(e),this.value=[],t&&this.fromString(t)}fromBER(t,e,n){let o=e;for(;n>0;){let s=new ko;if(o=s.fromBER(t,o,n),o===-1)return this.blockLength=0,this.error=s.error,o;this.blockLength+=s.blockLength,n-=s.blockLength,this.value.push(s)}return o}toBER(t,e){let n=[];for(let o=0;o<this.value.length;o++){let s=this.value[o].toBER(t);if(s.byteLength===0)return this.error=this.value[o].error,Ae;n.push(s)}return Vc(n)}fromString(t){this.value=[];let e=0,n=0,o="";do{n=t.indexOf(".",e),n===-1?o=t.substring(e):o=t.substring(e,n),e=n+1;let s=new ko;if(s.valueDec=parseInt(o,10),isNaN(s.valueDec))return!0;this.value.push(s)}while(n!==-1);return!0}toString(){let t="",e=!1;for(let n=0;n<this.value.length;n++){e=this.value[n].isHexOnly;let o=this.value[n].toString();n!==0&&(t=`${t}.`),e&&(o=`{${o}}`),t+=o}return t}toJSON(){let t={...super.toJSON(),value:this.toString(),sidArray:[]};for(let e=0;e<this.value.length;e++)t.sidArray.push(this.value[e].toJSON());return t}};Ws.NAME="RelativeObjectIdentifierValueBlock";var rh,Ys=class extends Nt{constructor(t={}){super(t,Ws),this.idBlock.tagClass=1,this.idBlock.tagNumber=13}getValue(){return this.valueBlock.toString()}setValue(t){this.valueBlock.fromString(t)}onAsciiEncoding(){return`${this.constructor.NAME} : ${this.valueBlock.toString()||"empty"}`}toJSON(){return{...super.toJSON(),value:this.getValue()}}};rh=Ys;O.RelativeObjectIdentifier=rh;Ys.NAME="RelativeObjectIdentifier";var nh,It=class extends Rr{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=16}};nh=It;O.Sequence=nh;It.NAME="SEQUENCE";var oh,Zs=class extends Rr{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=17}};oh=Zs;O.Set=oh;Zs.NAME="SET";var Js=class extends sr(Mt){constructor({...t}={}){super(t),this.isHexOnly=!0,this.value=Dn}toJSON(){return{...super.toJSON(),value:this.value}}};Js.NAME="StringValueBlock";var Xs=class extends Js{};Xs.NAME="SimpleStringValueBlock";var qt=class extends Os{constructor({...t}={}){super(t,Xs)}fromBuffer(t){this.valueBlock.value=String.fromCharCode.apply(null,Z.BufferSourceConverter.toUint8Array(t))}fromString(t){let e=t.length,n=this.valueBlock.valueHexView=new Uint8Array(e);for(let o=0;o<e;o++)n[o]=t.charCodeAt(o);this.valueBlock.value=t}};qt.NAME="SIMPLE STRING";var Qs=class extends qt{fromBuffer(t){this.valueBlock.valueHexView=Z.BufferSourceConverter.toUint8Array(t);try{this.valueBlock.value=Z.Convert.ToUtf8String(t)}catch(e){this.warnings.push(`Error during "decodeURIComponent": ${e}, using raw string`),this.valueBlock.value=Z.Convert.ToBinary(t)}}fromString(t){this.valueBlock.valueHexView=new Uint8Array(Z.Convert.FromUtf8String(t)),this.valueBlock.value=t}};Qs.NAME="Utf8StringValueBlock";var sh,nr=class extends Qs{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=12}};sh=nr;O.Utf8String=sh;nr.NAME="UTF8String";var ti=class extends qt{fromBuffer(t){this.valueBlock.value=Z.Convert.ToUtf16String(t),this.valueBlock.valueHexView=Z.BufferSourceConverter.toUint8Array(t)}fromString(t){this.valueBlock.value=t,this.valueBlock.valueHexView=new Uint8Array(Z.Convert.FromUtf16String(t))}};ti.NAME="BmpStringValueBlock";var ih,ei=class extends ti{constructor({...t}={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=30}};ih=ei;O.BmpString=ih;ei.NAME="BMPString";var ri=class extends qt{fromBuffer(t){let e=ArrayBuffer.isView(t)?t.slice().buffer:t.slice(0),n=new Uint8Array(e);for(let o=0;o<n.length;o+=4)n[o]=n[o+3],n[o+1]=n[o+2],n[o+2]=0,n[o+3]=0;this.valueBlock.value=String.fromCharCode.apply(null,new Uint32Array(e))}fromString(t){let e=t.length,n=this.valueBlock.valueHexView=new Uint8Array(e*4);for(let o=0;o<e;o++){let s=Ir(t.charCodeAt(o),8),i=new Uint8Array(s);if(i.length>4)continue;let a=4-i.length;for(let c=i.length-1;c>=0;c--)n[o*4+c+a]=i[c]}this.valueBlock.value=t}};ri.NAME="UniversalStringValueBlock";var ah,ni=class extends ri{constructor({...t}={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=28}};ah=ni;O.UniversalString=ah;ni.NAME="UniversalString";var ch,oi=class extends qt{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=18}};ch=oi;O.NumericString=ch;oi.NAME="NumericString";var uh,si=class extends qt{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=19}};uh=si;O.PrintableString=uh;si.NAME="PrintableString";var lh,ii=class extends qt{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=20}};lh=ii;O.TeletexString=lh;ii.NAME="TeletexString";var fh,ai=class extends qt{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=21}};fh=ai;O.VideotexString=fh;ai.NAME="VideotexString";var hh,ci=class extends qt{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=22}};hh=ci;O.IA5String=hh;ci.NAME="IA5String";var dh,ui=class extends qt{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=25}};dh=ui;O.GraphicString=dh;ui.NAME="GraphicString";var ph,So=class extends qt{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=26}};ph=So;O.VisibleString=ph;So.NAME="VisibleString";var mh,li=class extends qt{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=27}};mh=li;O.GeneralString=mh;li.NAME="GeneralString";var gh,fi=class extends qt{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=29}};gh=fi;O.CharacterString=gh;fi.NAME="CharacterString";var yh,Io=class extends So{constructor({value:t,valueDate:e,...n}={}){if(super(n),this.year=0,this.month=0,this.day=0,this.hour=0,this.minute=0,this.second=0,t){this.fromString(t),this.valueBlock.valueHexView=new Uint8Array(t.length);for(let o=0;o<t.length;o++)this.valueBlock.valueHexView[o]=t.charCodeAt(o)}e&&(this.fromDate(e),this.valueBlock.valueHexView=new Uint8Array(this.toBuffer())),this.idBlock.tagClass=1,this.idBlock.tagNumber=23}fromBuffer(t){this.fromString(String.fromCharCode.apply(null,Z.BufferSourceConverter.toUint8Array(t)))}toBuffer(){let t=this.toString(),e=new ArrayBuffer(t.length),n=new Uint8Array(e);for(let o=0;o<t.length;o++)n[o]=t.charCodeAt(o);return e}fromDate(t){this.year=t.getUTCFullYear(),this.month=t.getUTCMonth()+1,this.day=t.getUTCDate(),this.hour=t.getUTCHours(),this.minute=t.getUTCMinutes(),this.second=t.getUTCSeconds()}toDate(){return new Date(Date.UTC(this.year,this.month-1,this.day,this.hour,this.minute,this.second))}fromString(t){let n=/(\d{2})(\d{2})(\d{2})(\d{2})(\d{2})(\d{2})Z/ig.exec(t);if(n===null){this.error="Wrong input string for conversion";return}let o=parseInt(n[1],10);o>=50?this.year=1900+o:this.year=2e3+o,this.month=parseInt(n[2],10),this.day=parseInt(n[3],10),this.hour=parseInt(n[4],10),this.minute=parseInt(n[5],10),this.second=parseInt(n[6],10)}toString(t="iso"){if(t==="iso"){let e=new Array(7);return e[0]=Yt(this.year<2e3?this.year-1900:this.year-2e3,2),e[1]=Yt(this.month,2),e[2]=Yt(this.day,2),e[3]=Yt(this.hour,2),e[4]=Yt(this.minute,2),e[5]=Yt(this.second,2),e[6]="Z",e.join("")}return super.toString(t)}onAsciiEncoding(){return`${this.constructor.NAME} : ${this.toDate().toISOString()}`}toJSON(){return{...super.toJSON(),year:this.year,month:this.month,day:this.day,hour:this.hour,minute:this.minute,second:this.second}}};yh=Io;O.UTCTime=yh;Io.NAME="UTCTime";var wh,hi=class extends Io{constructor(t={}){var e;super(t),(e=this.millisecond)!==null&&e!==void 0||(this.millisecond=0),this.idBlock.tagClass=1,this.idBlock.tagNumber=24}fromDate(t){super.fromDate(t),this.millisecond=t.getUTCMilliseconds()}toDate(){return new Date(Date.UTC(this.year,this.month-1,this.day,this.hour,this.minute,this.second,this.millisecond))}fromString(t){let e=!1,n="",o="",s=0,i,a=0,c=0;if(t[t.length-1]==="Z")n=t.substring(0,t.length-1),e=!0;else{let l=new Number(t[t.length-1]);if(isNaN(l.valueOf()))throw new Error("Wrong input string for conversion");n=t}if(e){if(n.indexOf("+")!==-1)throw new Error("Wrong input string for conversion");if(n.indexOf("-")!==-1)throw new Error("Wrong input string for conversion")}else{let l=1,m=n.indexOf("+"),h="";if(m===-1&&(m=n.indexOf("-"),l=-1),m!==-1){if(h=n.substring(m+1),n=n.substring(0,m),h.length!==2&&h.length!==4)throw new Error("Wrong input string for conversion");let p=parseInt(h.substring(0,2),10);if(isNaN(p.valueOf()))throw new Error("Wrong input string for conversion");if(a=l*p,h.length===4){if(p=parseInt(h.substring(2,4),10),isNaN(p.valueOf()))throw new Error("Wrong input string for conversion");c=l*p}}}let u=n.indexOf(".");if(u===-1&&(u=n.indexOf(",")),u!==-1){let l=new Number(`0${n.substring(u)}`);if(isNaN(l.valueOf()))throw new Error("Wrong input string for conversion");s=l.valueOf(),o=n.substring(0,u)}else o=n;switch(!0){case o.length===8:if(i=/(\d{4})(\d{2})(\d{2})/ig,u!==-1)throw new Error("Wrong input string for conversion");break;case o.length===10:if(i=/(\d{4})(\d{2})(\d{2})(\d{2})/ig,u!==-1){let l=60*s;this.minute=Math.floor(l),l=60*(l-this.minute),this.second=Math.floor(l),l=1e3*(l-this.second),this.millisecond=Math.floor(l)}break;case o.length===12:if(i=/(\d{4})(\d{2})(\d{2})(\d{2})(\d{2})/ig,u!==-1){let l=60*s;this.second=Math.floor(l),l=1e3*(l-this.second),this.millisecond=Math.floor(l)}break;case o.length===14:if(i=/(\d{4})(\d{2})(\d{2})(\d{2})(\d{2})(\d{2})/ig,u!==-1){let l=1e3*s;this.millisecond=Math.floor(l)}break;default:throw new Error("Wrong input string for conversion")}let f=i.exec(o);if(f===null)throw new Error("Wrong input string for conversion");for(let l=1;l<f.length;l++)switch(l){case 1:this.year=parseInt(f[l],10);break;case 2:this.month=parseInt(f[l],10);break;case 3:this.day=parseInt(f[l],10);break;case 4:this.hour=parseInt(f[l],10)+a;break;case 5:this.minute=parseInt(f[l],10)+c;break;case 6:this.second=parseInt(f[l],10);break;default:throw new Error("Wrong input string for conversion")}if(e===!1){let l=new Date(this.year,this.month,this.day,this.hour,this.minute,this.second,this.millisecond);this.year=l.getUTCFullYear(),this.month=l.getUTCMonth(),this.day=l.getUTCDay(),this.hour=l.getUTCHours(),this.minute=l.getUTCMinutes(),this.second=l.getUTCSeconds(),this.millisecond=l.getUTCMilliseconds()}}toString(t="iso"){if(t==="iso"){let e=[];return e.push(Yt(this.year,4)),e.push(Yt(this.month,2)),e.push(Yt(this.day,2)),e.push(Yt(this.hour,2)),e.push(Yt(this.minute,2)),e.push(Yt(this.second,2)),this.millisecond!==0&&(e.push("."),e.push(Yt(this.millisecond,3))),e.push("Z"),e.join("")}return super.toString(t)}toJSON(){return{...super.toJSON(),millisecond:this.millisecond}}};wh=hi;O.GeneralizedTime=wh;hi.NAME="GeneralizedTime";var bh,di=class extends nr{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=31}};bh=di;O.DATE=bh;di.NAME="DATE";var xh,pi=class extends nr{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=32}};xh=pi;O.TimeOfDay=xh;pi.NAME="TimeOfDay";var Eh,mi=class extends nr{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=33}};Eh=mi;O.DateTime=Eh;mi.NAME="DateTime";var vh,gi=class extends nr{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=34}};vh=gi;O.Duration=vh;gi.NAME="Duration";var Ah,yi=class extends nr{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=14}};Ah=yi;O.TIME=Ah;yi.NAME="TIME";function lw(r){let{result:t}=Pn(r),e=t.valueBlock.value;return{n:j(Oe(e[1].toBigInt()),"base64url"),e:j(Oe(e[2].toBigInt()),"base64url"),d:j(Oe(e[3].toBigInt()),"base64url"),p:j(Oe(e[4].toBigInt()),"base64url"),q:j(Oe(e[5].toBigInt()),"base64url"),dp:j(Oe(e[6].toBigInt()),"base64url"),dq:j(Oe(e[7].toBigInt()),"base64url"),qi:j(Oe(e[8].toBigInt()),"base64url"),kty:"RSA",alg:"RS256"}}function fw(r){if(r.n==null||r.e==null||r.d==null||r.p==null||r.q==null||r.dp==null||r.dq==null||r.qi==null)throw new D("JWK was missing components","ERR_INVALID_PARAMETERS");let e=new It({value:[new bt({value:0}),bt.fromBigInt(Fe(q(r.n,"base64url"))),bt.fromBigInt(Fe(q(r.e,"base64url"))),bt.fromBigInt(Fe(q(r.d,"base64url"))),bt.fromBigInt(Fe(q(r.p,"base64url"))),bt.fromBigInt(Fe(q(r.q,"base64url"))),bt.fromBigInt(Fe(q(r.dp,"base64url"))),bt.fromBigInt(Fe(q(r.dq,"base64url"))),bt.fromBigInt(Fe(q(r.qi,"base64url")))]}).toBER();return new Uint8Array(e,0,e.byteLength)}function hw(r){let{result:t}=Pn(r),e=t.valueBlock.value[1].valueBlock.value[0].valueBlock.value;return{kty:"RSA",n:j(Oe(e[0].toBigInt()),"base64url"),e:j(Oe(e[1].toBigInt()),"base64url")}}function dw(r){if(r.n==null||r.e==null)throw new D("JWK was missing components","ERR_INVALID_PARAMETERS");let e=new It({value:[new It({value:[new ve({value:"1.2.840.113549.1.1.1"}),new _r]}),new Un({valueHex:new It({value:[bt.fromBigInt(Fe(q(r.n,"base64url"))),bt.fromBigInt(Fe(q(r.e,"base64url")))]}).toBER()})]}).toBER();return new Uint8Array(e,0,e.byteLength)}function Oe(r){let t=r.toString(16);t.length%2>0&&(t=`0${t}`);let e=t.length/2,n=new Uint8Array(e),o=0,s=0;for(;o<e;)n[o]=parseInt(t.slice(s,s+2),16),o+=1,s+=2;return n}function Fe(r){let t=[];return r.forEach(function(e){let n=e.toString(16);n.length%2>0&&(n=`0${n}`),t.push(n)}),BigInt("0x"+t.join(""))}var pw=16,$c=32,Hc=1e4;async function mw(r,t){let e=Kt.get(),o=new It({value:[new bt({value:0}),new It({value:[new ve({value:"1.2.840.113549.1.1.1"}),new _r]}),new rr({valueHex:r.marshal()})]}).toBER(),s=new Uint8Array(o,0,o.byteLength),i=De(pw),a=await Pc(In,t,i,{c:Hc,dkLen:$c}),c=De(16),u=await e.subtle.importKey("raw",a,"AES-CBC",!1,["encrypt"]),f=await e.subtle.encrypt({name:"AES-CBC",iv:c},u,s),l=new It({value:[new rr({valueHex:i}),new bt({value:Hc}),new bt({value:$c}),new It({value:[new ve({value:"1.2.840.113549.2.11"}),new _r]})]}),m=new It({value:[new ve({value:"1.2.840.113549.1.5.13"}),new It({value:[new It({value:[new ve({value:"1.2.840.113549.1.5.12"}),l]}),new It({value:[new ve({value:"2.16.840.1.101.3.4.1.42"}),new rr({valueHex:c})]})]})]}),p=new It({value:[m,new rr({valueHex:f})]}).toBER(),d=new Uint8Array(p,0,p.byteLength);return["-----BEGIN ENCRYPTED PRIVATE KEY-----",...j(d,"base64pad").split(/(.{64})/).filter(Boolean),"-----END ENCRYPTED PRIVATE KEY-----"].join(`
|
|
8
|
-
`)}async function gw(r,t){let e=Kt.get(),n;if(r.includes("-----BEGIN ENCRYPTED PRIVATE KEY-----")){let o=q(r.replace("-----BEGIN ENCRYPTED PRIVATE KEY-----","").replace("-----END ENCRYPTED PRIVATE KEY-----","").replace(/\n/g,"").trim(),"base64pad"),{result:s}=Pn(o),{iv:i,salt:a,iterations:c,keySize:u,cipherText:f}=yw(s),l=await Pc(In,t,a,{c,dkLen:u}),m=await e.subtle.importKey("raw",l,"AES-CBC",!1,["decrypt"]),h=Ro(await e.subtle.decrypt({name:"AES-CBC",iv:i},m,f)),{result:p}=Pn(h);n=Bh(p)}else if(r.includes("-----BEGIN PRIVATE KEY-----")){let o=q(r.replace("-----BEGIN PRIVATE KEY-----","").replace("-----END PRIVATE KEY-----","").replace(/\n/g,"").trim(),"base64pad"),{result:s}=Pn(o);n=Bh(s)}else throw new D("Could not parse private key from PEM data","ERR_INVALID_PARAMETERS");return Kc(n)}function yw(r){let t=r.valueBlock.value[0];if(t.valueBlock.value[0].toString()!=="OBJECT IDENTIFIER : 1.2.840.113549.1.5.13")throw new D("Only pkcs5PBES2 encrypted private keys are supported","ERR_INVALID_PARAMS");let n=t.valueBlock.value[1].valueBlock.value[0];if(n.valueBlock.value[0].toString()!=="OBJECT IDENTIFIER : 1.2.840.113549.1.5.12")throw new D("Only pkcs5PBKDF2 key derivation functions are supported","ERR_INVALID_PARAMS");let s=n.valueBlock.value[1],i=Ro(s.valueBlock.value[0].getValue()),a=Hc,c=$c;if(s.valueBlock.value.length===3)a=Number(s.valueBlock.value[1].toBigInt()),c=Number(s.valueBlock.value[2].toBigInt());else if(s.valueBlock.value.length===2)throw new D("Could not derive key size and iterations from PEM file - please use @libp2p/rsa to re-import your key","ERR_INVALID_PARAMS");let u=t.valueBlock.value[1].valueBlock.value[1],f=u.valueBlock.value[0].toString();if(f!=="OBJECT IDENTIFIER : 1.2.840.113549.3.7"){if(f!=="OBJECT IDENTIFIER : 1.3.14.3.2.7"){if(f!=="OBJECT IDENTIFIER : 2.16.840.1.101.3.4.1.2"){if(f!=="OBJECT IDENTIFIER : 2.16.840.1.101.3.4.1.22"){if(f!=="OBJECT IDENTIFIER : 2.16.840.1.101.3.4.1.42")throw new D("Only AES-CBC encryption schemes are supported","ERR_INVALID_PARAMS")}}}}let l=Ro(u.valueBlock.value[1].getValue());return{cipherText:Ro(r.valueBlock.value[1].getValue()),salt:i,iterations:a,keySize:c,iv:l}}function Bh(r){return Ro(r.valueBlock.value[2].getValue())}function Ro(r){return new Uint8Array(r,0,r.byteLength)}async function kh(r){let t=await Kt.get().subtle.generateKey({name:"RSASSA-PKCS1-v1_5",modulusLength:r,publicExponent:new Uint8Array([1,0,1]),hash:{name:"SHA-256"}},!0,["sign","verify"]),e=await Rh(t);return{privateKey:e[0],publicKey:e[1]}}async function qc(r){let e=[await Kt.get().subtle.importKey("jwk",r,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!0,["sign"]),await ww(r)],n=await Rh({privateKey:e[0],publicKey:e[1]});return{privateKey:n[0],publicKey:n[1]}}async function Sh(r,t){let e=await Kt.get().subtle.importKey("jwk",r,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!1,["sign"]),n=await Kt.get().subtle.sign({name:"RSASSA-PKCS1-v1_5"},e,t instanceof Uint8Array?t:t.subarray());return new Uint8Array(n,0,n.byteLength)}async function Ih(r,t,e){let n=await Kt.get().subtle.importKey("jwk",r,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!1,["verify"]);return Kt.get().subtle.verify({name:"RSASSA-PKCS1-v1_5"},n,t,e instanceof Uint8Array?e:e.subarray())}async function Rh(r){if(r.privateKey==null||r.publicKey==null)throw new D("Private and public key are required","ERR_INVALID_PARAMETERS");return Promise.all([Kt.get().subtle.exportKey("jwk",r.privateKey),Kt.get().subtle.exportKey("jwk",r.publicKey)])}async function ww(r){return Kt.get().subtle.importKey("jwk",{kty:r.kty,n:r.n,e:r.e},{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!0,["verify"])}function bi(r){if(r.kty!=="RSA")throw new D("invalid key type","ERR_INVALID_KEY_TYPE");if(r.n==null)throw new D("invalid key modulus","ERR_INVALID_KEY_MODULUS");return q(r.n,"base64url").length*8}var To=8192,_o=class{_key;constructor(t){this._key=t}verify(t,e){return Ih(this._key,e,t)}marshal(){return Tr.jwkToPkix(this._key)}get bytes(){return Ue.encode({Type:gt.RSA,Data:this.marshal()}).subarray()}equals(t){return it(this.bytes,t.bytes)}hash(){let t=At.digest(this.bytes);return fe(t)?t.then(({bytes:e})=>e):t.bytes}},On=class{_key;_publicKey;constructor(t,e){this._key=t,this._publicKey=e}genSecret(){return De(16)}sign(t){return Sh(this._key,t)}get public(){if(this._publicKey==null)throw new D("public key not provided","ERR_PUBKEY_NOT_PROVIDED");return new _o(this._publicKey)}marshal(){return Tr.jwkToPkcs1(this._key)}get bytes(){return Qe.encode({Type:gt.RSA,Data:this.marshal()}).subarray()}equals(t){return it(this.bytes,t.bytes)}hash(){let t=At.digest(this.bytes);return fe(t)?t.then(({bytes:e})=>e):t.bytes}async id(){let t=await this.public.hash();return j(t,"base58btc")}async export(t,e="pkcs-8"){if(e==="pkcs-8")return Tr.exportToPem(this,t);if(e==="libp2p-key")return Cn(this.bytes,t);throw new D(`export format '${e}' is not supported`,"ERR_INVALID_EXPORT_FORMAT")}};async function Kc(r){let t=Tr.pkcs1ToJwk(r);if(bi(t)>To)throw new D("key size is too large","ERR_KEY_SIZE_TOO_LARGE");let e=await qc(t);return new On(e.privateKey,e.publicKey)}function xw(r){let t=Tr.pkixToJwk(r);if(bi(t)>To)throw new D("key size is too large","ERR_KEY_SIZE_TOO_LARGE");return new _o(t)}async function Ew(r){if(bi(r)>To)throw new D("key size is too large","ERR_KEY_SIZE_TOO_LARGE");let t=await qc(r);return new On(t.privateKey,t.publicKey)}async function vw(r){if(r>To)throw new D("key size is too large","ERR_KEY_SIZE_TOO_LARGE");let t=await kh(r);return new On(t.privateKey,t.publicKey)}var Zc={};vt(Zc,{Secp256k1PrivateKey:()=>No,Secp256k1PublicKey:()=>Co,generateKeyPair:()=>Dw,unmarshalSecp256k1PrivateKey:()=>Lw,unmarshalSecp256k1PublicKey:()=>Uw});var Aw=new Uint32Array([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]),Cr=new Uint32Array([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),Nr=new Uint32Array(64),jc=class extends Sn{constructor(){super(64,32,8,!1),this.A=Cr[0]|0,this.B=Cr[1]|0,this.C=Cr[2]|0,this.D=Cr[3]|0,this.E=Cr[4]|0,this.F=Cr[5]|0,this.G=Cr[6]|0,this.H=Cr[7]|0}get(){let{A:t,B:e,C:n,D:o,E:s,F:i,G:a,H:c}=this;return[t,e,n,o,s,i,a,c]}set(t,e,n,o,s,i,a,c){this.A=t|0,this.B=e|0,this.C=n|0,this.D=o|0,this.E=s|0,this.F=i|0,this.G=a|0,this.H=c|0}process(t,e){for(let l=0;l<16;l++,e+=4)Nr[l]=t.getUint32(e,!1);for(let l=16;l<64;l++){let m=Nr[l-15],h=Nr[l-2],p=xe(m,7)^xe(m,18)^m>>>3,d=xe(h,17)^xe(h,19)^h>>>10;Nr[l]=d+Nr[l-7]+p+Nr[l-16]|0}let{A:n,B:o,C:s,D:i,E:a,F:c,G:u,H:f}=this;for(let l=0;l<64;l++){let m=xe(a,6)^xe(a,11)^xe(a,25),h=f+m+df(a,c,u)+Aw[l]+Nr[l]|0,d=(xe(n,2)^xe(n,13)^xe(n,22))+pf(n,o,s)|0;f=u,u=c,c=a,a=i+h|0,i=s,s=o,o=n,n=h+d|0}n=n+this.A|0,o=o+this.B|0,s=s+this.C|0,i=i+this.D|0,a=a+this.E|0,c=c+this.F|0,u=u+this.G|0,f=f+this.H|0,this.set(n,o,s,i,a,c,u,f)}roundClean(){Nr.fill(0)}destroy(){this.set(0,0,0,0,0,0,0,0),this.buffer.fill(0)}};var _h=bs(()=>new jc);function Bw(r){let t=yo(r);Le(t,{a:"field",b:"field"},{allowedPrivateKeyLengths:"array",wrapPrivateKey:"boolean",isTorsionFree:"function",clearCofactor:"function",allowInfinityPoint:"boolean",fromBytes:"function",toBytes:"function"});let{endo:e,Fp:n,a:o}=t;if(e){if(!n.eql(o,n.ZERO))throw new Error("Endomorphism can only be defined for Koblitz curves that have a=0");if(typeof e!="object"||typeof e.beta!="bigint"||typeof e.splitScalar!="function")throw new Error("Expected endomorphism with beta: bigint and splitScalar: function")}return Object.freeze({...t})}var{bytesToNumberBE:kw,hexToBytes:Sw}=vs,Zr={Err:class extends Error{constructor(t=""){super(t)}},_parseInt(r){let{Err:t}=Zr;if(r.length<2||r[0]!==2)throw new t("Invalid signature integer tag");let e=r[1],n=r.subarray(2,e+2);if(!e||n.length!==e)throw new t("Invalid signature integer: wrong length");if(n[0]&128)throw new t("Invalid signature integer: negative");if(n[0]===0&&!(n[1]&128))throw new t("Invalid signature integer: unnecessary leading zero");return{d:kw(n),l:r.subarray(e+2)}},toSig(r){let{Err:t}=Zr,e=typeof r=="string"?Sw(r):r;Rn(e);let n=e.length;if(n<2||e[0]!=48)throw new t("Invalid signature tag");if(e[1]!==n-2)throw new t("Invalid signature: incorrect length");let{d:o,l:s}=Zr._parseInt(e.subarray(2)),{d:i,l:a}=Zr._parseInt(s);if(a.length)throw new t("Invalid signature: left bytes after parsing");return{r:o,s:i}},hexFromSig(r){let t=u=>Number.parseInt(u[0],16)&8?"00"+u:u,e=u=>{let f=u.toString(16);return f.length&1?`0${f}`:f},n=t(e(r.s)),o=t(e(r.r)),s=n.length/2,i=o.length/2,a=e(s),c=e(i);return`30${e(i+s+4)}02${c}${o}02${a}${n}`}},ir=BigInt(0),de=BigInt(1),qA=BigInt(2),Th=BigInt(3),zA=BigInt(4);function Iw(r){let t=Bw(r),{Fp:e}=t,n=t.toBytes||((p,d,w)=>{let g=d.toAffine();return Ze(Uint8Array.from([4]),e.toBytes(g.x),e.toBytes(g.y))}),o=t.fromBytes||(p=>{let d=p.subarray(1),w=e.fromBytes(d.subarray(0,e.BYTES)),g=e.fromBytes(d.subarray(e.BYTES,2*e.BYTES));return{x:w,y:g}});function s(p){let{a:d,b:w}=t,g=e.sqr(p),x=e.mul(g,p);return e.add(e.add(x,e.mul(p,d)),w)}if(!e.eql(e.sqr(t.Gy),s(t.Gx)))throw new Error("bad generator point: equation left != right");function i(p){return typeof p=="bigint"&&ir<p&&p<t.n}function a(p){if(!i(p))throw new Error("Expected valid bigint: 0 < bigint < curve.n")}function c(p){let{allowedPrivateKeyLengths:d,nByteLength:w,wrapPrivateKey:g,n:x}=t;if(d&&typeof p!="bigint"){if(Br(p)&&(p=We(p)),typeof p!="string"||!d.includes(p.length))throw new Error("Invalid key");p=p.padStart(w*2,"0")}let b;try{b=typeof p=="bigint"?p:Ye(mt("private key",p,w))}catch{throw new Error(`private key must be ${w} bytes, hex or bigint, not ${typeof p}`)}return g&&(b=at(b,x)),a(b),b}let u=new Map;function f(p){if(!(p instanceof l))throw new Error("ProjectivePoint expected")}class l{constructor(d,w,g){if(this.px=d,this.py=w,this.pz=g,d==null||!e.isValid(d))throw new Error("x required");if(w==null||!e.isValid(w))throw new Error("y required");if(g==null||!e.isValid(g))throw new Error("z required")}static fromAffine(d){let{x:w,y:g}=d||{};if(!d||!e.isValid(w)||!e.isValid(g))throw new Error("invalid affine point");if(d instanceof l)throw new Error("projective point not allowed");let x=b=>e.eql(b,e.ZERO);return x(w)&&x(g)?l.ZERO:new l(w,g,e.ONE)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static normalizeZ(d){let w=e.invertBatch(d.map(g=>g.pz));return d.map((g,x)=>g.toAffine(w[x])).map(l.fromAffine)}static fromHex(d){let w=l.fromAffine(o(mt("pointHex",d)));return w.assertValidity(),w}static fromPrivateKey(d){return l.BASE.multiply(c(d))}_setWindowSize(d){this._WINDOW_SIZE=d,u.delete(this)}assertValidity(){if(this.is0()){if(t.allowInfinityPoint&&!e.is0(this.py))return;throw new Error("bad point: ZERO")}let{x:d,y:w}=this.toAffine();if(!e.isValid(d)||!e.isValid(w))throw new Error("bad point: x or y not FE");let g=e.sqr(w),x=s(d);if(!e.eql(g,x))throw new Error("bad point: equation left != right");if(!this.isTorsionFree())throw new Error("bad point: not in prime-order subgroup")}hasEvenY(){let{y:d}=this.toAffine();if(e.isOdd)return!e.isOdd(d);throw new Error("Field doesn't support isOdd")}equals(d){f(d);let{px:w,py:g,pz:x}=this,{px:b,py:B,pz:A}=d,I=e.eql(e.mul(w,A),e.mul(b,x)),v=e.eql(e.mul(g,A),e.mul(B,x));return I&&v}negate(){return new l(this.px,e.neg(this.py),this.pz)}double(){let{a:d,b:w}=t,g=e.mul(w,Th),{px:x,py:b,pz:B}=this,A=e.ZERO,I=e.ZERO,v=e.ZERO,E=e.mul(x,x),U=e.mul(b,b),P=e.mul(B,B),N=e.mul(x,b);return N=e.add(N,N),v=e.mul(x,B),v=e.add(v,v),A=e.mul(d,v),I=e.mul(g,P),I=e.add(A,I),A=e.sub(U,I),I=e.add(U,I),I=e.mul(A,I),A=e.mul(N,A),v=e.mul(g,v),P=e.mul(d,P),N=e.sub(E,P),N=e.mul(d,N),N=e.add(N,v),v=e.add(E,E),E=e.add(v,E),E=e.add(E,P),E=e.mul(E,N),I=e.add(I,E),P=e.mul(b,B),P=e.add(P,P),E=e.mul(P,N),A=e.sub(A,E),v=e.mul(P,U),v=e.add(v,v),v=e.add(v,v),new l(A,I,v)}add(d){f(d);let{px:w,py:g,pz:x}=this,{px:b,py:B,pz:A}=d,I=e.ZERO,v=e.ZERO,E=e.ZERO,U=t.a,P=e.mul(t.b,Th),N=e.mul(w,b),M=e.mul(g,B),C=e.mul(x,A),X=e.add(w,g),S=e.add(b,B);X=e.mul(X,S),S=e.add(N,M),X=e.sub(X,S),S=e.add(w,x);let T=e.add(b,A);return S=e.mul(S,T),T=e.add(N,C),S=e.sub(S,T),T=e.add(g,x),I=e.add(B,A),T=e.mul(T,I),I=e.add(M,C),T=e.sub(T,I),E=e.mul(U,S),I=e.mul(P,C),E=e.add(I,E),I=e.sub(M,E),E=e.add(M,E),v=e.mul(I,E),M=e.add(N,N),M=e.add(M,N),C=e.mul(U,C),S=e.mul(P,S),M=e.add(M,C),C=e.sub(N,C),C=e.mul(U,C),S=e.add(S,C),N=e.mul(M,S),v=e.add(v,N),N=e.mul(T,S),I=e.mul(X,I),I=e.sub(I,N),N=e.mul(X,M),E=e.mul(T,E),E=e.add(E,N),new l(I,v,E)}subtract(d){return this.add(d.negate())}is0(){return this.equals(l.ZERO)}wNAF(d){return h.wNAFCached(this,u,d,w=>{let g=e.invertBatch(w.map(x=>x.pz));return w.map((x,b)=>x.toAffine(g[b])).map(l.fromAffine)})}multiplyUnsafe(d){let w=l.ZERO;if(d===ir)return w;if(a(d),d===de)return this;let{endo:g}=t;if(!g)return h.unsafeLadder(this,d);let{k1neg:x,k1:b,k2neg:B,k2:A}=g.splitScalar(d),I=w,v=w,E=this;for(;b>ir||A>ir;)b&de&&(I=I.add(E)),A&de&&(v=v.add(E)),E=E.double(),b>>=de,A>>=de;return x&&(I=I.negate()),B&&(v=v.negate()),v=new l(e.mul(v.px,g.beta),v.py,v.pz),I.add(v)}multiply(d){a(d);let w=d,g,x,{endo:b}=t;if(b){let{k1neg:B,k1:A,k2neg:I,k2:v}=b.splitScalar(w),{p:E,f:U}=this.wNAF(A),{p:P,f:N}=this.wNAF(v);E=h.constTimeNegate(B,E),P=h.constTimeNegate(I,P),P=new l(e.mul(P.px,b.beta),P.py,P.pz),g=E.add(P),x=U.add(N)}else{let{p:B,f:A}=this.wNAF(w);g=B,x=A}return l.normalizeZ([g,x])[0]}multiplyAndAddUnsafe(d,w,g){let x=l.BASE,b=(A,I)=>I===ir||I===de||!A.equals(x)?A.multiplyUnsafe(I):A.multiply(I),B=b(this,w).add(b(d,g));return B.is0()?void 0:B}toAffine(d){let{px:w,py:g,pz:x}=this,b=this.is0();d==null&&(d=b?e.ONE:e.inv(x));let B=e.mul(w,d),A=e.mul(g,d),I=e.mul(x,d);if(b)return{x:e.ZERO,y:e.ZERO};if(!e.eql(I,e.ONE))throw new Error("invZ was invalid");return{x:B,y:A}}isTorsionFree(){let{h:d,isTorsionFree:w}=t;if(d===de)return!0;if(w)return w(l,this);throw new Error("isTorsionFree() has not been declared for the elliptic curve")}clearCofactor(){let{h:d,clearCofactor:w}=t;return d===de?this:w?w(l,this):this.multiplyUnsafe(t.h)}toRawBytes(d=!0){return this.assertValidity(),n(l,this,d)}toHex(d=!0){return We(this.toRawBytes(d))}}l.BASE=new l(t.Gx,t.Gy,e.ONE),l.ZERO=new l(e.ZERO,e.ONE,e.ZERO);let m=t.nBitLength,h=ks(l,t.endo?Math.ceil(m/2):m);return{CURVE:t,ProjectivePoint:l,normPrivateKeyToScalar:c,weierstrassEquation:s,isWithinCurveOrder:i}}function Rw(r){let t=yo(r);return Le(t,{hash:"hash",hmac:"function",randomBytes:"function"},{bits2int:"function",bits2int_modN:"function",lowS:"boolean"}),Object.freeze({lowS:!0,...t})}function Ch(r){let t=Rw(r),{Fp:e,n}=t,o=e.BYTES+1,s=2*e.BYTES+1;function i(S){return ir<S&&S<e.ORDER}function a(S){return at(S,n)}function c(S){return As(S,n)}let{ProjectivePoint:u,normPrivateKeyToScalar:f,weierstrassEquation:l,isWithinCurveOrder:m}=Iw({...t,toBytes(S,T,H){let _=T.toAffine(),k=e.toBytes(_.x),F=Ze;return H?F(Uint8Array.from([T.hasEvenY()?2:3]),k):F(Uint8Array.from([4]),k,e.toBytes(_.y))},fromBytes(S){let T=S.length,H=S[0],_=S.subarray(1);if(T===o&&(H===2||H===3)){let k=Ye(_);if(!i(k))throw new Error("Point is not on curve");let F=l(k),$;try{$=e.sqrt(F)}catch(Y){let rt=Y instanceof Error?": "+Y.message:"";throw new Error("Point is not on curve"+rt)}let K=($&de)===de;return(H&1)===1!==K&&($=e.neg($)),{x:k,y:$}}else if(T===s&&H===4){let k=e.fromBytes(_.subarray(0,e.BYTES)),F=e.fromBytes(_.subarray(e.BYTES,2*e.BYTES));return{x:k,y:F}}else throw new Error(`Point of length ${T} was invalid. Expected ${o} compressed bytes or ${s} uncompressed bytes`)}}),h=S=>We(Sr(S,t.nByteLength));function p(S){let T=n>>de;return S>T}function d(S){return p(S)?a(-S):S}let w=(S,T,H)=>Ye(S.slice(T,H));class g{constructor(T,H,_){this.r=T,this.s=H,this.recovery=_,this.assertValidity()}static fromCompact(T){let H=t.nByteLength;return T=mt("compactSignature",T,H*2),new g(w(T,0,H),w(T,H,2*H))}static fromDER(T){let{r:H,s:_}=Zr.toSig(mt("DER",T));return new g(H,_)}assertValidity(){if(!m(this.r))throw new Error("r must be 0 < r < CURVE.n");if(!m(this.s))throw new Error("s must be 0 < s < CURVE.n")}addRecoveryBit(T){return new g(this.r,this.s,T)}recoverPublicKey(T){let{r:H,s:_,recovery:k}=this,F=v(mt("msgHash",T));if(k==null||![0,1,2,3].includes(k))throw new Error("recovery id invalid");let $=k===2||k===3?H+t.n:H;if($>=e.ORDER)throw new Error("recovery id 2 or 3 invalid");let K=k&1?"03":"02",W=u.fromHex(K+h($)),Y=c($),rt=a(-F*Y),J=a(_*Y),Q=u.BASE.multiplyAndAddUnsafe(W,rt,J);if(!Q)throw new Error("point at infinify");return Q.assertValidity(),Q}hasHighS(){return p(this.s)}normalizeS(){return this.hasHighS()?new g(this.r,a(-this.s),this.recovery):this}toDERRawBytes(){return zr(this.toDERHex())}toDERHex(){return Zr.hexFromSig({r:this.r,s:this.s})}toCompactRawBytes(){return zr(this.toCompactHex())}toCompactHex(){return h(this.r)+h(this.s)}}let x={isValidPrivateKey(S){try{return f(S),!0}catch{return!1}},normPrivateKeyToScalar:f,randomPrivateKey:()=>{let S=Rc(t.n);return kf(t.randomBytes(S),t.n)},precompute(S=8,T=u.BASE){return T._setWindowSize(S),T.multiply(BigInt(3)),T}};function b(S,T=!0){return u.fromPrivateKey(S).toRawBytes(T)}function B(S){let T=Br(S),H=typeof S=="string",_=(T||H)&&S.length;return T?_===o||_===s:H?_===2*o||_===2*s:S instanceof u}function A(S,T,H=!0){if(B(S))throw new Error("first arg must be private key");if(!B(T))throw new Error("second arg must be public key");return u.fromHex(T).multiply(f(S)).toRawBytes(H)}let I=t.bits2int||function(S){let T=Ye(S),H=S.length*8-t.nBitLength;return H>0?T>>BigInt(H):T},v=t.bits2int_modN||function(S){return a(I(S))},E=go(t.nBitLength);function U(S){if(typeof S!="bigint")throw new Error("bigint expected");if(!(ir<=S&&S<E))throw new Error(`bigint expected < 2^${t.nBitLength}`);return Sr(S,t.nByteLength)}function P(S,T,H=N){if(["recovered","canonical"].some(dt=>dt in H))throw new Error("sign() legacy options not supported");let{hash:_,randomBytes:k}=t,{lowS:F,prehash:$,extraEntropy:K}=H;F==null&&(F=!0),S=mt("msgHash",S),$&&(S=mt("prehashed msgHash",_(S)));let W=v(S),Y=f(T),rt=[U(Y),U(W)];if(K!=null&&K!==!1){let dt=K===!0?k(e.BYTES):K;rt.push(mt("extraEntropy",dt))}let J=Ze(...rt),Q=W;function wt(dt){let _t=I(dt);if(!m(_t))return;let Tt=c(_t),Et=u.BASE.multiply(_t).toAffine(),Ot=a(Et.x);if(Ot===ir)return;let Ke=a(Tt*a(Q+Ot*Y));if(Ke===ir)return;let Fr=(Et.x===Ot?0:2)|Number(Et.y&de),no=Ke;return F&&p(Ke)&&(no=d(Ke),Fr^=1),new g(Ot,no,Fr)}return{seed:J,k2sig:wt}}let N={lowS:t.lowS,prehash:!1},M={lowS:t.lowS,prehash:!1};function C(S,T,H=N){let{seed:_,k2sig:k}=P(S,T,H),F=t;return Bc(F.hash.outputLen,F.nByteLength,F.hmac)(_,k)}u.BASE._setWindowSize(8);function X(S,T,H,_=M){let k=S;if(T=mt("msgHash",T),H=mt("publicKey",H),"strict"in _)throw new Error("options.strict was renamed to lowS");let{lowS:F,prehash:$}=_,K,W;try{if(typeof k=="string"||Br(k))try{K=g.fromDER(k)}catch(Et){if(!(Et instanceof Zr.Err))throw Et;K=g.fromCompact(k)}else if(typeof k=="object"&&typeof k.r=="bigint"&&typeof k.s=="bigint"){let{r:Et,s:Ot}=k;K=new g(Et,Ot)}else throw new Error("PARSE");W=u.fromHex(H)}catch(Et){if(Et.message==="PARSE")throw new Error("signature must be Signature instance, Uint8Array or hex string");return!1}if(F&&K.hasHighS())return!1;$&&(T=t.hash(T));let{r:Y,s:rt}=K,J=v(T),Q=c(rt),wt=a(J*Q),dt=a(Y*Q),_t=u.BASE.multiplyAndAddUnsafe(W,wt,dt)?.toAffine();return _t?a(_t.x)===Y:!1}return{CURVE:t,getPublicKey:b,getSharedSecret:A,sign:C,verify:X,ProjectivePoint:u,Signature:g,utils:x}}function _w(r){return{hash:r,hmac:(t,...e)=>bo(r,t,ws(...e)),randomBytes:kn}}function Nh(r,t){let e=n=>Ch({...r,..._w(n)});return Object.freeze({...e(t),create:e})}var Dh=BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"),Lh=BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),Tw=BigInt(1),Gc=BigInt(2),Uh=(r,t)=>(r+t/Gc)/t;function Cw(r){let t=Dh,e=BigInt(3),n=BigInt(6),o=BigInt(11),s=BigInt(22),i=BigInt(23),a=BigInt(44),c=BigInt(88),u=r*r*r%t,f=u*u*r%t,l=lt(f,e,t)*f%t,m=lt(l,e,t)*f%t,h=lt(m,Gc,t)*u%t,p=lt(h,o,t)*h%t,d=lt(p,s,t)*p%t,w=lt(d,a,t)*d%t,g=lt(w,c,t)*w%t,x=lt(g,a,t)*d%t,b=lt(x,e,t)*f%t,B=lt(b,i,t)*p%t,A=lt(B,n,t)*u%t,I=lt(A,Gc,t);if(!Wc.eql(Wc.sqr(I),r))throw new Error("Cannot find square root");return I}var Wc=Bs(Dh,void 0,void 0,{sqrt:Cw}),Be=Nh({a:BigInt(0),b:BigInt(7),Fp:Wc,n:Lh,Gx:BigInt("55066263022277343669578718895168534326250603453777594175500187360389116729240"),Gy:BigInt("32670510020758816978083085130507043184471273380659243275938904335757337482424"),h:BigInt(1),lowS:!0,endo:{beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee"),splitScalar:r=>{let t=Lh,e=BigInt("0x3086d221a7d46bcde86c90e49284eb15"),n=-Tw*BigInt("0xe4437ed6010e88286f547fa90abfe4c3"),o=BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"),s=e,i=BigInt("0x100000000000000000000000000000000"),a=Uh(s*r,t),c=Uh(-n*r,t),u=at(r-a*e-c*o,t),f=at(-a*n-c*s,t),l=u>i,m=f>i;if(l&&(u=t-u),m&&(f=t-f),u>i||f>i)throw new Error("splitScalar: Endomorphism failed, k="+r);return{k1neg:l,k1:u,k2neg:m,k2:f}}}},_h),t8=BigInt(0);var e8=Be.ProjectivePoint;function Ph(){return Be.utils.randomPrivateKey()}function Oh(r,t){let e=At.digest(t instanceof Uint8Array?t:t.subarray());if(fe(e))return e.then(({digest:n})=>Be.sign(n,r).toDERRawBytes()).catch(n=>{throw new D(String(n),"ERR_INVALID_INPUT")});try{return Be.sign(e.digest,r).toDERRawBytes()}catch(n){throw new D(String(n),"ERR_INVALID_INPUT")}}function Fh(r,t,e){let n=At.digest(e instanceof Uint8Array?e:e.subarray());if(fe(n))return n.then(({digest:o})=>Be.verify(t,o,r)).catch(o=>{throw new D(String(o),"ERR_INVALID_INPUT")});try{return Be.verify(t,n.digest,r)}catch(o){throw new D(String(o),"ERR_INVALID_INPUT")}}function Vh(r){return Be.ProjectivePoint.fromHex(r).toRawBytes(!0)}function Mh(r){try{Be.getPublicKey(r,!0)}catch(t){throw new D(String(t),"ERR_INVALID_PRIVATE_KEY")}}function Yc(r){try{Be.ProjectivePoint.fromHex(r)}catch(t){throw new D(String(t),"ERR_INVALID_PUBLIC_KEY")}}function $h(r){try{return Be.getPublicKey(r,!0)}catch(t){throw new D(String(t),"ERR_INVALID_PRIVATE_KEY")}}var Co=class{_key;constructor(t){Yc(t),this._key=t}verify(t,e){return Fh(this._key,e,t)}marshal(){return Vh(this._key)}get bytes(){return Ue.encode({Type:gt.Secp256k1,Data:this.marshal()}).subarray()}equals(t){return it(this.bytes,t.bytes)}async hash(){let t=At.digest(this.bytes),e;return fe(t)?{bytes:e}=await t:e=t.bytes,e}},No=class{_key;_publicKey;constructor(t,e){this._key=t,this._publicKey=e??$h(t),Mh(this._key),Yc(this._publicKey)}sign(t){return Oh(this._key,t)}get public(){return new Co(this._publicKey)}marshal(){return this._key}get bytes(){return Qe.encode({Type:gt.Secp256k1,Data:this.marshal()}).subarray()}equals(t){return it(this.bytes,t.bytes)}hash(){let t=At.digest(this.bytes);return fe(t)?t.then(({bytes:e})=>e):t.bytes}async id(){let t=await this.public.hash();return j(t,"base58btc")}async export(t,e="libp2p-key"){if(e==="libp2p-key")return Cn(this.bytes,t);throw new D(`export format '${e}' is not supported`,"ERR_INVALID_EXPORT_FORMAT")}};function Lw(r){return new No(r)}function Uw(r){return new Co(r)}async function Dw(){let r=Ph();return new No(r)}var xi={rsa:zc,ed25519:Dc,secp256k1:Zc};function Pw(r){let t=Object.keys(xi).join(" / ");return new D(`invalid or unsupported key type ${r}. Must be ${t}`,"ERR_UNSUPPORTED_KEY_TYPE")}function Jc(r){let t=Ue.decode(r),e=t.Data??new Uint8Array;switch(t.Type){case gt.RSA:return xi.rsa.unmarshalRsaPublicKey(e);case gt.Ed25519:return xi.ed25519.unmarshalEd25519PublicKey(e);case gt.Secp256k1:return xi.secp256k1.unmarshalSecp256k1PublicKey(e);default:throw Pw(t.Type??"unknown")}}var ee=Jt(Yh(),1);ee.default.formatters.b=r=>r==null?"undefined":ht.baseEncode(r);ee.default.formatters.t=r=>r==null?"undefined":Ct.baseEncode(r);ee.default.formatters.m=r=>r==null?"undefined":le.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 Yw(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 Zh(){return{forComponent(r){return re(r)}}}function re(r){let t=Yw(`${r}:trace`);return ee.default.enabled(`${r}:trace`)&&ee.default.names.map(e=>e.toString()).find(e=>e.includes(":trace"))!=null&&(t=(0,ee.default)(`${r}:trace`)),Object.assign((0,ee.default)(r),{error:(0,ee.default)(`${r}:error`),trace:t})}var Qc=Jt(Xh(),1);var Do=class extends Error{constructor(t){super(t),this.name="TimeoutError"}},tu=class extends Error{constructor(t){super(),this.name="AbortError",this.message=t}},Qh=r=>globalThis.DOMException===void 0?new tu(r):new DOMException(r),td=r=>{let t=r.reason===void 0?Qh("This operation was aborted."):r.reason;return t instanceof Error?t:Qh(t)};function Po(r,t){let{milliseconds:e,fallback:n,message:o,customTimers:s={setTimeout,clearTimeout}}=t,i,c=new Promise((u,f)=>{if(typeof e!="number"||Math.sign(e)!==1)throw new TypeError(`Expected \`milliseconds\` to be a positive number, got \`${e}\``);if(t.signal){let{signal:m}=t;m.aborted&&f(td(m)),m.addEventListener("abort",()=>{f(td(m))})}if(e===Number.POSITIVE_INFINITY){r.then(u,f);return}let l=new Do;i=s.setTimeout.call(void 0,()=>{if(n){try{u(n())}catch(m){f(m)}return}typeof r.cancel=="function"&&r.cancel(),o===!1?u():o instanceof Error?f(o):(l.message=o??`Promise timed out after ${e} milliseconds`,f(l))},e),(async()=>{try{u(await r)}catch(m){f(m)}})()}).finally(()=>{c.clear()});return c.clear=()=>{s.clearTimeout.call(void 0,i),i=void 0},c}function eu(r,t,e){let n=0,o=r.length;for(;o>0;){let s=Math.trunc(o/2),i=n+s;e(r[i],t)<=0?(n=++i,o-=s+1):o=s}return n}var Oo=class{#t=[];enqueue(t,e){e={priority:0,...e};let n={priority:e.priority,run:t};if(this.size&&this.#t[this.size-1].priority>=e.priority){this.#t.push(n);return}let o=eu(this.#t,n,(s,i)=>i.priority-s.priority);this.#t.splice(o,0,n)}dequeue(){return this.#t.shift()?.run}filter(t){return this.#t.filter(e=>e.priority===t.priority).map(e=>e.run)}get size(){return this.#t.length}};var Ve=class extends Qc.default{#t;#e;#r=0;#o;#a;#u=0;#s;#l;#n;#m;#i=0;#f;#c;#g;timeout;constructor(t){if(super(),t={carryoverConcurrencyCount:!1,intervalCap:Number.POSITIVE_INFINITY,interval:0,concurrency:Number.POSITIVE_INFINITY,autoStart:!0,queueClass:Oo,...t},!(typeof t.intervalCap=="number"&&t.intervalCap>=1))throw new TypeError(`Expected \`intervalCap\` to be a number from 1 and up, got \`${t.intervalCap?.toString()??""}\` (${typeof t.intervalCap})`);if(t.interval===void 0||!(Number.isFinite(t.interval)&&t.interval>=0))throw new TypeError(`Expected \`interval\` to be a finite number >= 0, got \`${t.interval?.toString()??""}\` (${typeof t.interval})`);this.#t=t.carryoverConcurrencyCount,this.#e=t.intervalCap===Number.POSITIVE_INFINITY||t.interval===0,this.#o=t.intervalCap,this.#a=t.interval,this.#n=new t.queueClass,this.#m=t.queueClass,this.concurrency=t.concurrency,this.timeout=t.timeout,this.#g=t.throwOnTimeout===!0,this.#c=t.autoStart===!1}get#b(){return this.#e||this.#r<this.#o}get#x(){return this.#i<this.#f}#E(){this.#i--,this.#h(),this.emit("next")}#v(){this.#w(),this.#y(),this.#l=void 0}get#A(){let t=Date.now();if(this.#s===void 0){let e=this.#u-t;if(e<0)this.#r=this.#t?this.#i:0;else return this.#l===void 0&&(this.#l=setTimeout(()=>{this.#v()},e)),!0}return!1}#h(){if(this.#n.size===0)return this.#s&&clearInterval(this.#s),this.#s=void 0,this.emit("empty"),this.#i===0&&this.emit("idle"),!1;if(!this.#c){let t=!this.#A;if(this.#b&&this.#x){let e=this.#n.dequeue();return e?(this.emit("active"),e(),t&&this.#y(),!0):!1}}return!1}#y(){this.#e||this.#s!==void 0||(this.#s=setInterval(()=>{this.#w()},this.#a),this.#u=Date.now()+this.#a)}#w(){this.#r===0&&this.#i===0&&this.#s&&(clearInterval(this.#s),this.#s=void 0),this.#r=this.#t?this.#i:0,this.#d()}#d(){for(;this.#h(););}get concurrency(){return this.#f}set concurrency(t){if(!(typeof t=="number"&&t>=1))throw new TypeError(`Expected \`concurrency\` to be a number from 1 and up, got \`${t}\` (${typeof t})`);this.#f=t,this.#d()}async#B(t){return new Promise((e,n)=>{t.addEventListener("abort",()=>{n(t.reason)},{once:!0})})}async add(t,e={}){return e={timeout:this.timeout,throwOnTimeout:this.#g,...e},new Promise((n,o)=>{this.#n.enqueue(async()=>{this.#i++,this.#r++;try{e.signal?.throwIfAborted();let s=t({signal:e.signal});e.timeout&&(s=Po(Promise.resolve(s),{milliseconds:e.timeout})),e.signal&&(s=Promise.race([s,this.#B(e.signal)]));let i=await s;n(i),this.emit("completed",i)}catch(s){if(s instanceof Do&&!e.throwOnTimeout){n();return}o(s),this.emit("error",s)}finally{this.#E()}},e),this.emit("add"),this.#h()})}async addAll(t,e){return Promise.all(t.map(async n=>this.add(n,e)))}start(){return this.#c?(this.#c=!1,this.#d(),this):this}pause(){this.#c=!0}clear(){this.#n=new this.#m}async onEmpty(){this.#n.size!==0&&await this.#p("empty")}async onSizeLessThan(t){this.#n.size<t||await this.#p("next",()=>this.#n.size<t)}async onIdle(){this.#i===0&&this.#n.size===0||await this.#p("idle")}async#p(t,e){return new Promise(n=>{let o=()=>{e&&!e()||(this.off(t,o),n())};this.on(t,o)})}get size(){return this.#n.size}sizeBy(t){return this.#n.filter(t).length}get pending(){return this.#i}get isPaused(){return this.#c}};function ki(r){let t=[ke.A];return r==null?t:Array.isArray(r)?r.length===0?t:r:[r]}var ru=60;function Si(r){return{Status:r.Status??0,TC:r.TC??r.flag_tc??!1,RD:r.RD??r.flag_rd??!1,RA:r.RA??r.flag_ra??!1,AD:r.AD??r.flag_ad??!1,CD:r.CD??r.flag_cd??!1,Question:(r.Question??r.questions??[]).map(t=>({name:t.name,type:ke[t.type]})),Answer:(r.Answer??r.answers??[]).map(t=>({name:t.name,type:ke[t.type],TTL:t.TTL??t.ttl??ru,data:t.data instanceof Uint8Array?j(t.data):t.data}))}}var Xw=4;function nu(r,t={}){let e=new Ve({concurrency:t.queryConcurrency??Xw});return async(n,o={})=>{let s=new URLSearchParams;s.set("name",n),ki(o.types).forEach(a=>{s.append("type",ke[a])}),o.onProgress?.(new nt("dns:query",{detail:n}));let i=await e.add(async()=>{let a=await fetch(`${r}?${s}`,{headers:{accept:"application/dns-json"},signal:o?.signal});if(a.status!==200)throw new Error(`Unexpected HTTP status: ${a.status} - ${a.statusText}`);let c=Si(await a.json());return o.onProgress?.(new nt("dns:response",{detail:c})),c},{signal:o.signal});if(i==null)throw new Error("No DNS response received");return i}}function ed(){return[nu("https://cloudflare-dns.com/dns-query"),nu("https://dns.google/resolve")]}var od=Jt(nd(),1);var ou=class{lru;constructor(t){this.lru=(0,od.default)(t)}get(t,e){let n=!0,o=[];for(let s of e){let i=this.getAnswers(t,s);if(i.length===0){n=!1;break}o.push(...i)}if(n)return Si({answers:o})}getAnswers(t,e){let n=`${t.toLowerCase()}-${e}`,o=this.lru.get(n);if(o!=null){let s=o.filter(i=>i.expires>Date.now()).map(({expires:i,value:a})=>({...a,TTL:Math.round((i-Date.now())/1e3),type:ke[a.type]}));return s.length===0&&this.lru.remove(n),s}return[]}add(t,e){let n=`${t.toLowerCase()}-${e.type}`,o=this.lru.get(n)??[];o.push({expires:Date.now()+(e.TTL??ru)*1e3,value:e}),this.lru.set(n,o)}remove(t,e){let n=`${t.toLowerCase()}-${e}`;this.lru.remove(n)}clear(){this.lru.clear()}};function sd(r){return new ou(r)}var Qw=1e3,Ii=class{resolvers;cache;constructor(t){this.resolvers={},this.cache=sd(t.cacheSize??Qw),Object.entries(t.resolvers??{}).forEach(([e,n])=>{Array.isArray(n)||(n=[n]),e.endsWith(".")||(e=`${e}.`),this.resolvers[e]=n}),this.resolvers["."]==null&&(this.resolvers["."]=ed())}async query(t,e={}){let n=ki(e.types),o=e.cached!==!1?this.cache.get(t,n):void 0;if(o!=null)return e.onProgress?.(new nt("dns:cache",{detail:o})),o;let s=`${t.split(".").pop()}.`,i=(this.resolvers[s]??this.resolvers["."]).sort(()=>Math.random()>.5?-1:1),a=[];for(let c of i){if(e.signal?.aborted===!0)break;try{let u=await c(t,{...e,types:n});for(let f of u.Answer)this.cache.add(t,f);return u}catch(u){a.push(u),e.onProgress?.(new nt("dns:error",{detail:u}))}}throw a.length===1?a[0]:new AggregateError(a,`DNS lookup of ${t} ${n} failed`)}};var ke;(function(r){r[r.A=1]="A",r[r.CNAME=5]="CNAME",r[r.TXT=16]="TXT",r[r.AAAA=28]="AAAA"})(ke||(ke={}));function id(r={}){return new Ii(r)}var tb=["string","number","bigint","symbol"],eb=["Function","Generator","AsyncGenerator","GeneratorFunction","AsyncGeneratorFunction","AsyncFunction","Observable","Array","Buffer","Object","RegExp","Date","Error","Map","Set","WeakMap","WeakSet","ArrayBuffer","SharedArrayBuffer","DataView","Promise","URL","HTMLElement","Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Uint16Array","Int32Array","Uint32Array","Float32Array","Float64Array","BigInt64Array","BigUint64Array"];function ad(r){if(r===null)return"null";if(r===void 0)return"undefined";if(r===!0||r===!1)return"boolean";let t=typeof r;if(tb.includes(t))return t;if(t==="function")return"Function";if(Array.isArray(r))return"Array";if(rb(r))return"Buffer";let e=nb(r);return e||"Object"}function rb(r){return r&&r.constructor&&r.constructor.isBuffer&&r.constructor.isBuffer.call(null,r)}function nb(r){let t=Object.prototype.toString.call(r).slice(8,-1);if(eb.includes(t))return t}var y=class{constructor(t,e,n){this.major=t,this.majorEncoded=t<<5,this.name=e,this.terminal=n}toString(){return`Type[${this.major}].${this.name}`}compare(t){return this.major<t.major?-1:this.major>t.major?1:0}};y.uint=new y(0,"uint",!0);y.negint=new y(1,"negint",!0);y.bytes=new y(2,"bytes",!0);y.string=new y(3,"string",!0);y.array=new y(4,"array",!1);y.map=new y(5,"map",!1);y.tag=new y(6,"tag",!1);y.float=new y(7,"float",!0);y.false=new y(7,"false",!0);y.true=new y(7,"true",!0);y.null=new y(7,"null",!0);y.undefined=new y(7,"undefined",!0);y.break=new y(7,"break",!0);var R=class{constructor(t,e,n){this.type=t,this.value=e,this.encodedLength=n,this.encodedBytes=void 0,this.byteValue=void 0}toString(){return`Token[${this.type}].${this.value}`}};var $n=globalThis.process&&!globalThis.process.browser&&globalThis.Buffer&&typeof globalThis.Buffer.isBuffer=="function",ob=new TextDecoder,sb=new TextEncoder;function Ri(r){return $n&&globalThis.Buffer.isBuffer(r)}function Fo(r){return r instanceof Uint8Array?Ri(r)?new Uint8Array(r.buffer,r.byteOffset,r.byteLength):r:Uint8Array.from(r)}var fd=$n?(r,t,e)=>e-t>64?globalThis.Buffer.from(r.subarray(t,e)).toString("utf8"):ud(r,t,e):(r,t,e)=>e-t>64?ob.decode(r.subarray(t,e)):ud(r,t,e),_i=$n?r=>r.length>64?globalThis.Buffer.from(r):cd(r):r=>r.length>64?sb.encode(r):cd(r),Me=r=>Uint8Array.from(r),Hn=$n?(r,t,e)=>Ri(r)?new Uint8Array(r.subarray(t,e)):r.slice(t,e):(r,t,e)=>r.slice(t,e),hd=$n?(r,t)=>(r=r.map(e=>e instanceof Uint8Array?e:globalThis.Buffer.from(e)),Fo(globalThis.Buffer.concat(r,t))):(r,t)=>{let e=new Uint8Array(t),n=0;for(let o of r)n+o.length>e.length&&(o=o.subarray(0,e.length-n)),e.set(o,n),n+=o.length;return e},dd=$n?r=>globalThis.Buffer.allocUnsafe(r):r=>new Uint8Array(r);function pd(r,t){if(Ri(r)&&Ri(t))return r.compare(t);for(let e=0;e<r.length;e++)if(r[e]!==t[e])return r[e]<t[e]?-1:1;return 0}function cd(r){let t=[],e=0;for(let n=0;n<r.length;n++){let o=r.charCodeAt(n);o<128?t[e++]=o:o<2048?(t[e++]=o>>6|192,t[e++]=o&63|128):(o&64512)===55296&&n+1<r.length&&(r.charCodeAt(n+1)&64512)===56320?(o=65536+((o&1023)<<10)+(r.charCodeAt(++n)&1023),t[e++]=o>>18|240,t[e++]=o>>12&63|128,t[e++]=o>>6&63|128,t[e++]=o&63|128):(t[e++]=o>>12|224,t[e++]=o>>6&63|128,t[e++]=o&63|128)}return t}function ud(r,t,e){let n=[];for(;t<e;){let o=r[t],s=null,i=o>239?4:o>223?3:o>191?2:1;if(t+i<=e){let a,c,u,f;switch(i){case 1:o<128&&(s=o);break;case 2:a=r[t+1],(a&192)===128&&(f=(o&31)<<6|a&63,f>127&&(s=f));break;case 3:a=r[t+1],c=r[t+2],(a&192)===128&&(c&192)===128&&(f=(o&15)<<12|(a&63)<<6|c&63,f>2047&&(f<55296||f>57343)&&(s=f));break;case 4:a=r[t+1],c=r[t+2],u=r[t+3],(a&192)===128&&(c&192)===128&&(u&192)===128&&(f=(o&15)<<18|(a&63)<<12|(c&63)<<6|u&63,f>65535&&f<1114112&&(s=f))}}s===null?(s=65533,i=1):s>65535&&(s-=65536,n.push(s>>>10&1023|55296),s=56320|s&1023),n.push(s),t+=i}return su(n)}var ld=4096;function su(r){let t=r.length;if(t<=ld)return String.fromCharCode.apply(String,r);let e="",n=0;for(;n<t;)e+=String.fromCharCode.apply(String,r.slice(n,n+=ld));return e}var ib=256,Vo=class{constructor(t=ib){this.chunkSize=t,this.cursor=0,this.maxCursor=-1,this.chunks=[],this._initReuseChunk=null}reset(){this.cursor=0,this.maxCursor=-1,this.chunks.length&&(this.chunks=[]),this._initReuseChunk!==null&&(this.chunks.push(this._initReuseChunk),this.maxCursor=this._initReuseChunk.length-1)}push(t){let e=this.chunks[this.chunks.length-1];if(this.cursor+t.length<=this.maxCursor+1){let o=e.length-(this.maxCursor-this.cursor)-1;e.set(t,o)}else{if(e){let o=e.length-(this.maxCursor-this.cursor)-1;o<e.length&&(this.chunks[this.chunks.length-1]=e.subarray(0,o),this.maxCursor=this.cursor-1)}t.length<64&&t.length<this.chunkSize?(e=dd(this.chunkSize),this.chunks.push(e),this.maxCursor+=e.length,this._initReuseChunk===null&&(this._initReuseChunk=e),e.set(t,0)):(this.chunks.push(t),this.maxCursor+=t.length)}this.cursor+=t.length}toBytes(t=!1){let e;if(this.chunks.length===1){let n=this.chunks[0];t&&this.cursor>n.length/2?(e=this.cursor===n.length?n:n.subarray(0,this.cursor),this._initReuseChunk=null,this.chunks=[]):e=Hn(n,0,this.cursor)}else e=hd(this.chunks,this.cursor);return t&&this.reset(),e}};var V="CBOR decode error:",Kn="CBOR encode error:",Mo=[];Mo[23]=1;Mo[24]=2;Mo[25]=3;Mo[26]=5;Mo[27]=9;function ar(r,t,e){if(r.length-t<e)throw new Error(`${V} not enough data for type`)}var Rt=[24,256,65536,4294967296,BigInt("18446744073709551616")];function ne(r,t,e){ar(r,t,1);let n=r[t];if(e.strict===!0&&n<Rt[0])throw new Error(`${V} integer encoded in more bytes than necessary (strict decode)`);return n}function oe(r,t,e){ar(r,t,2);let n=r[t]<<8|r[t+1];if(e.strict===!0&&n<Rt[1])throw new Error(`${V} integer encoded in more bytes than necessary (strict decode)`);return n}function se(r,t,e){ar(r,t,4);let n=r[t]*16777216+(r[t+1]<<16)+(r[t+2]<<8)+r[t+3];if(e.strict===!0&&n<Rt[2])throw new Error(`${V} integer encoded in more bytes than necessary (strict decode)`);return n}function ie(r,t,e){ar(r,t,8);let n=r[t]*16777216+(r[t+1]<<16)+(r[t+2]<<8)+r[t+3],o=r[t+4]*16777216+(r[t+5]<<16)+(r[t+6]<<8)+r[t+7],s=(BigInt(n)<<BigInt(32))+BigInt(o);if(e.strict===!0&&s<Rt[3])throw new Error(`${V} integer encoded in more bytes than necessary (strict decode)`);if(s<=Number.MAX_SAFE_INTEGER)return Number(s);if(e.allowBigInt===!0)return s;throw new Error(`${V} integers outside of the safe integer range are not supported`)}function md(r,t,e,n){return new R(y.uint,ne(r,t+1,n),2)}function gd(r,t,e,n){return new R(y.uint,oe(r,t+1,n),3)}function yd(r,t,e,n){return new R(y.uint,se(r,t+1,n),5)}function wd(r,t,e,n){return new R(y.uint,ie(r,t+1,n),9)}function pe(r,t){return Lt(r,0,t.value)}function Lt(r,t,e){if(e<Rt[0]){let n=Number(e);r.push([t|n])}else if(e<Rt[1]){let n=Number(e);r.push([t|24,n])}else if(e<Rt[2]){let n=Number(e);r.push([t|25,n>>>8,n&255])}else if(e<Rt[3]){let n=Number(e);r.push([t|26,n>>>24&255,n>>>16&255,n>>>8&255,n&255])}else{let n=BigInt(e);if(n<Rt[4]){let o=[t|27,0,0,0,0,0,0,0],s=Number(n&BigInt(4294967295)),i=Number(n>>BigInt(32)&BigInt(4294967295));o[8]=s&255,s=s>>8,o[7]=s&255,s=s>>8,o[6]=s&255,s=s>>8,o[5]=s&255,o[4]=i&255,i=i>>8,o[3]=i&255,i=i>>8,o[2]=i&255,i=i>>8,o[1]=i&255,r.push(o)}else throw new Error(`${V} encountered BigInt larger than allowable range`)}}pe.encodedSize=function(t){return Lt.encodedSize(t.value)};Lt.encodedSize=function(t){return t<Rt[0]?1:t<Rt[1]?2:t<Rt[2]?3:t<Rt[3]?5:9};pe.compareTokens=function(t,e){return t.value<e.value?-1:t.value>e.value?1:0};function bd(r,t,e,n){return new R(y.negint,-1-ne(r,t+1,n),2)}function xd(r,t,e,n){return new R(y.negint,-1-oe(r,t+1,n),3)}function Ed(r,t,e,n){return new R(y.negint,-1-se(r,t+1,n),5)}var iu=BigInt(-1),vd=BigInt(1);function Ad(r,t,e,n){let o=ie(r,t+1,n);if(typeof o!="bigint"){let s=-1-o;if(s>=Number.MIN_SAFE_INTEGER)return new R(y.negint,s,9)}if(n.allowBigInt!==!0)throw new Error(`${V} integers outside of the safe integer range are not supported`);return new R(y.negint,iu-BigInt(o),9)}function Ti(r,t){let e=t.value,n=typeof e=="bigint"?e*iu-vd:e*-1-1;Lt(r,t.type.majorEncoded,n)}Ti.encodedSize=function(t){let e=t.value,n=typeof e=="bigint"?e*iu-vd:e*-1-1;return n<Rt[0]?1:n<Rt[1]?2:n<Rt[2]?3:n<Rt[3]?5:9};Ti.compareTokens=function(t,e){return t.value<e.value?1:t.value>e.value?-1:0};function $o(r,t,e,n){ar(r,t,e+n);let o=Hn(r,t+e,t+e+n);return new R(y.bytes,o,e+n)}function Bd(r,t,e,n){return $o(r,t,1,e)}function kd(r,t,e,n){return $o(r,t,2,ne(r,t+1,n))}function Sd(r,t,e,n){return $o(r,t,3,oe(r,t+1,n))}function Id(r,t,e,n){return $o(r,t,5,se(r,t+1,n))}function Rd(r,t,e,n){let o=ie(r,t+1,n);if(typeof o=="bigint")throw new Error(`${V} 64-bit integer bytes lengths not supported`);return $o(r,t,9,o)}function Ci(r){return r.encodedBytes===void 0&&(r.encodedBytes=r.type===y.string?_i(r.value):r.value),r.encodedBytes}function qn(r,t){let e=Ci(t);Lt(r,t.type.majorEncoded,e.length),r.push(e)}qn.encodedSize=function(t){let e=Ci(t);return Lt.encodedSize(e.length)+e.length};qn.compareTokens=function(t,e){return cb(Ci(t),Ci(e))};function cb(r,t){return r.length<t.length?-1:r.length>t.length?1:pd(r,t)}function Ho(r,t,e,n,o){let s=e+n;ar(r,t,s);let i=new R(y.string,fd(r,t+e,t+s),s);return o.retainStringBytes===!0&&(i.byteValue=Hn(r,t+e,t+s)),i}function _d(r,t,e,n){return Ho(r,t,1,e,n)}function Td(r,t,e,n){return Ho(r,t,2,ne(r,t+1,n),n)}function Cd(r,t,e,n){return Ho(r,t,3,oe(r,t+1,n),n)}function Nd(r,t,e,n){return Ho(r,t,5,se(r,t+1,n),n)}function Ld(r,t,e,n){let o=ie(r,t+1,n);if(typeof o=="bigint")throw new Error(`${V} 64-bit integer string lengths not supported`);return Ho(r,t,9,o,n)}var Ud=qn;function zn(r,t,e,n){return new R(y.array,n,e)}function Dd(r,t,e,n){return zn(r,t,1,e)}function Pd(r,t,e,n){return zn(r,t,2,ne(r,t+1,n))}function Od(r,t,e,n){return zn(r,t,3,oe(r,t+1,n))}function Fd(r,t,e,n){return zn(r,t,5,se(r,t+1,n))}function Vd(r,t,e,n){let o=ie(r,t+1,n);if(typeof o=="bigint")throw new Error(`${V} 64-bit integer array lengths not supported`);return zn(r,t,9,o)}function Md(r,t,e,n){if(n.allowIndefinite===!1)throw new Error(`${V} indefinite length items not allowed`);return zn(r,t,1,1/0)}function Ni(r,t){Lt(r,y.array.majorEncoded,t.value)}Ni.compareTokens=pe.compareTokens;Ni.encodedSize=function(t){return Lt.encodedSize(t.value)};function jn(r,t,e,n){return new R(y.map,n,e)}function $d(r,t,e,n){return jn(r,t,1,e)}function Hd(r,t,e,n){return jn(r,t,2,ne(r,t+1,n))}function Kd(r,t,e,n){return jn(r,t,3,oe(r,t+1,n))}function qd(r,t,e,n){return jn(r,t,5,se(r,t+1,n))}function zd(r,t,e,n){let o=ie(r,t+1,n);if(typeof o=="bigint")throw new Error(`${V} 64-bit integer map lengths not supported`);return jn(r,t,9,o)}function jd(r,t,e,n){if(n.allowIndefinite===!1)throw new Error(`${V} indefinite length items not allowed`);return jn(r,t,1,1/0)}function Li(r,t){Lt(r,y.map.majorEncoded,t.value)}Li.compareTokens=pe.compareTokens;Li.encodedSize=function(t){return Lt.encodedSize(t.value)};function Gd(r,t,e,n){return new R(y.tag,e,1)}function Wd(r,t,e,n){return new R(y.tag,ne(r,t+1,n),2)}function Yd(r,t,e,n){return new R(y.tag,oe(r,t+1,n),3)}function Zd(r,t,e,n){return new R(y.tag,se(r,t+1,n),5)}function Jd(r,t,e,n){return new R(y.tag,ie(r,t+1,n),9)}function Ui(r,t){Lt(r,y.tag.majorEncoded,t.value)}Ui.compareTokens=pe.compareTokens;Ui.encodedSize=function(t){return Lt.encodedSize(t.value)};var pb=20,mb=21,gb=22,yb=23;function Xd(r,t,e,n){if(n.allowUndefined===!1)throw new Error(`${V} undefined values are not supported`);return n.coerceUndefinedToNull===!0?new R(y.null,null,1):new R(y.undefined,void 0,1)}function Qd(r,t,e,n){if(n.allowIndefinite===!1)throw new Error(`${V} indefinite length items not allowed`);return new R(y.break,void 0,1)}function au(r,t,e){if(e){if(e.allowNaN===!1&&Number.isNaN(r))throw new Error(`${V} NaN values are not supported`);if(e.allowInfinity===!1&&(r===1/0||r===-1/0))throw new Error(`${V} Infinity values are not supported`)}return new R(y.float,r,t)}function tp(r,t,e,n){return au(cu(r,t+1),3,n)}function ep(r,t,e,n){return au(uu(r,t+1),5,n)}function rp(r,t,e,n){return au(ip(r,t+1),9,n)}function Di(r,t,e){let n=t.value;if(n===!1)r.push([y.float.majorEncoded|pb]);else if(n===!0)r.push([y.float.majorEncoded|mb]);else if(n===null)r.push([y.float.majorEncoded|gb]);else if(n===void 0)r.push([y.float.majorEncoded|yb]);else{let o,s=!1;(!e||e.float64!==!0)&&(op(n),o=cu(Se,1),n===o||Number.isNaN(n)?(Se[0]=249,r.push(Se.slice(0,3)),s=!0):(sp(n),o=uu(Se,1),n===o&&(Se[0]=250,r.push(Se.slice(0,5)),s=!0))),s||(wb(n),o=ip(Se,1),Se[0]=251,r.push(Se.slice(0,9)))}}Di.encodedSize=function(t,e){let n=t.value;if(n===!1||n===!0||n===null||n===void 0)return 1;if(!e||e.float64!==!0){op(n);let o=cu(Se,1);if(n===o||Number.isNaN(n))return 3;if(sp(n),o=uu(Se,1),n===o)return 5}return 9};var np=new ArrayBuffer(9),me=new DataView(np,1),Se=new Uint8Array(np,0);function op(r){if(r===1/0)me.setUint16(0,31744,!1);else if(r===-1/0)me.setUint16(0,64512,!1);else if(Number.isNaN(r))me.setUint16(0,32256,!1);else{me.setFloat32(0,r);let t=me.getUint32(0),e=(t&2139095040)>>23,n=t&8388607;if(e===255)me.setUint16(0,31744,!1);else if(e===0)me.setUint16(0,(r&2147483648)>>16|n>>13,!1);else{let o=e-127;o<-24?me.setUint16(0,0):o<-14?me.setUint16(0,(t&2147483648)>>16|1<<24+o,!1):me.setUint16(0,(t&2147483648)>>16|o+15<<10|n>>13,!1)}}}function cu(r,t){if(r.length-t<2)throw new Error(`${V} not enough data for float16`);let e=(r[t]<<8)+r[t+1];if(e===31744)return 1/0;if(e===64512)return-1/0;if(e===32256)return NaN;let n=e>>10&31,o=e&1023,s;return n===0?s=o*2**-24:n!==31?s=(o+1024)*2**(n-25):s=o===0?1/0:NaN,e&32768?-s:s}function sp(r){me.setFloat32(0,r,!1)}function uu(r,t){if(r.length-t<4)throw new Error(`${V} not enough data for float32`);let e=(r.byteOffset||0)+t;return new DataView(r.buffer,e,4).getFloat32(0,!1)}function wb(r){me.setFloat64(0,r,!1)}function ip(r,t){if(r.length-t<8)throw new Error(`${V} not enough data for float64`);let e=(r.byteOffset||0)+t;return new DataView(r.buffer,e,8).getFloat64(0,!1)}Di.compareTokens=pe.compareTokens;function et(r,t,e){throw new Error(`${V} encountered invalid minor (${e}) for major ${r[t]>>>5}`)}function Pi(r){return()=>{throw new Error(`${V} ${r}`)}}var L=[];for(let r=0;r<=23;r++)L[r]=et;L[24]=md;L[25]=gd;L[26]=yd;L[27]=wd;L[28]=et;L[29]=et;L[30]=et;L[31]=et;for(let r=32;r<=55;r++)L[r]=et;L[56]=bd;L[57]=xd;L[58]=Ed;L[59]=Ad;L[60]=et;L[61]=et;L[62]=et;L[63]=et;for(let r=64;r<=87;r++)L[r]=Bd;L[88]=kd;L[89]=Sd;L[90]=Id;L[91]=Rd;L[92]=et;L[93]=et;L[94]=et;L[95]=Pi("indefinite length bytes/strings are not supported");for(let r=96;r<=119;r++)L[r]=_d;L[120]=Td;L[121]=Cd;L[122]=Nd;L[123]=Ld;L[124]=et;L[125]=et;L[126]=et;L[127]=Pi("indefinite length bytes/strings are not supported");for(let r=128;r<=151;r++)L[r]=Dd;L[152]=Pd;L[153]=Od;L[154]=Fd;L[155]=Vd;L[156]=et;L[157]=et;L[158]=et;L[159]=Md;for(let r=160;r<=183;r++)L[r]=$d;L[184]=Hd;L[185]=Kd;L[186]=qd;L[187]=zd;L[188]=et;L[189]=et;L[190]=et;L[191]=jd;for(let r=192;r<=215;r++)L[r]=Gd;L[216]=Wd;L[217]=Yd;L[218]=Zd;L[219]=Jd;L[220]=et;L[221]=et;L[222]=et;L[223]=et;for(let r=224;r<=243;r++)L[r]=Pi("simple values are not supported");L[244]=et;L[245]=et;L[246]=et;L[247]=Xd;L[248]=Pi("simple values are not supported");L[249]=tp;L[250]=ep;L[251]=rp;L[252]=et;L[253]=et;L[254]=et;L[255]=Qd;var Ie=[];for(let r=0;r<24;r++)Ie[r]=new R(y.uint,r,1);for(let r=-1;r>=-24;r--)Ie[31-r]=new R(y.negint,r,1);Ie[64]=new R(y.bytes,new Uint8Array(0),1);Ie[96]=new R(y.string,"",1);Ie[128]=new R(y.array,0,1);Ie[160]=new R(y.map,0,1);Ie[244]=new R(y.false,!1,1);Ie[245]=new R(y.true,!0,1);Ie[246]=new R(y.null,null,1);function ap(r){switch(r.type){case y.false:return Me([244]);case y.true:return Me([245]);case y.null:return Me([246]);case y.bytes:return r.value.length?void 0:Me([64]);case y.string:return r.value===""?Me([96]):void 0;case y.array:return r.value===0?Me([128]):void 0;case y.map:return r.value===0?Me([160]):void 0;case y.uint:return r.value<24?Me([Number(r.value)]):void 0;case y.negint:if(r.value>=-24)return Me([31-Number(r.value)])}}var xb={float64:!1,mapSorter:Ab,quickEncodeToken:ap};function Eb(){let r=[];return r[y.uint.major]=pe,r[y.negint.major]=Ti,r[y.bytes.major]=qn,r[y.string.major]=Ud,r[y.array.major]=Ni,r[y.map.major]=Li,r[y.tag.major]=Ui,r[y.float.major]=Di,r}var cp=Eb(),lu=new Vo,Fi=class r{constructor(t,e){this.obj=t,this.parent=e}includes(t){let e=this;do if(e.obj===t)return!0;while(e=e.parent);return!1}static createCheck(t,e){if(t&&t.includes(e))throw new Error(`${Kn} object contains circular references`);return new r(e,t)}},Lr={null:new R(y.null,null),undefined:new R(y.undefined,void 0),true:new R(y.true,!0),false:new R(y.false,!1),emptyArray:new R(y.array,0),emptyMap:new R(y.map,0)},Ur={number(r,t,e,n){return!Number.isInteger(r)||!Number.isSafeInteger(r)?new R(y.float,r):r>=0?new R(y.uint,r):new R(y.negint,r)},bigint(r,t,e,n){return r>=BigInt(0)?new R(y.uint,r):new R(y.negint,r)},Uint8Array(r,t,e,n){return new R(y.bytes,r)},string(r,t,e,n){return new R(y.string,r)},boolean(r,t,e,n){return r?Lr.true:Lr.false},null(r,t,e,n){return Lr.null},undefined(r,t,e,n){return Lr.undefined},ArrayBuffer(r,t,e,n){return new R(y.bytes,new Uint8Array(r))},DataView(r,t,e,n){return new R(y.bytes,new Uint8Array(r.buffer,r.byteOffset,r.byteLength))},Array(r,t,e,n){if(!r.length)return e.addBreakTokens===!0?[Lr.emptyArray,new R(y.break)]:Lr.emptyArray;n=Fi.createCheck(n,r);let o=[],s=0;for(let i of r)o[s++]=Oi(i,e,n);return e.addBreakTokens?[new R(y.array,r.length),o,new R(y.break)]:[new R(y.array,r.length),o]},Object(r,t,e,n){let o=t!=="Object",s=o?r.keys():Object.keys(r),i=o?r.size:s.length;if(!i)return e.addBreakTokens===!0?[Lr.emptyMap,new R(y.break)]:Lr.emptyMap;n=Fi.createCheck(n,r);let a=[],c=0;for(let u of s)a[c++]=[Oi(u,e,n),Oi(o?r.get(u):r[u],e,n)];return vb(a,e),e.addBreakTokens?[new R(y.map,i),a,new R(y.break)]:[new R(y.map,i),a]}};Ur.Map=Ur.Object;Ur.Buffer=Ur.Uint8Array;for(let r of"Uint8Clamped Uint16 Uint32 Int8 Int16 Int32 BigUint64 BigInt64 Float32 Float64".split(" "))Ur[`${r}Array`]=Ur.DataView;function Oi(r,t={},e){let n=ad(r),o=t&&t.typeEncoders&&t.typeEncoders[n]||Ur[n];if(typeof o=="function"){let i=o(r,n,t,e);if(i!=null)return i}let s=Ur[n];if(!s)throw new Error(`${Kn} unsupported type: ${n}`);return s(r,n,t,e)}function vb(r,t){t.mapSorter&&r.sort(t.mapSorter)}function Ab(r,t){let e=Array.isArray(r[0])?r[0][0]:r[0],n=Array.isArray(t[0])?t[0][0]:t[0];if(e.type!==n.type)return e.type.compare(n.type);let o=e.type.major,s=cp[o].compareTokens(e,n);return s===0&&console.warn("WARNING: complex key types used, CBOR key sorting guarantees are gone"),s}function up(r,t,e,n){if(Array.isArray(t))for(let o of t)up(r,o,e,n);else e[t.type.major](r,t,n)}function lp(r,t,e){let n=Oi(r,e);if(!Array.isArray(n)&&e.quickEncodeToken){let o=e.quickEncodeToken(n);if(o)return o;let s=t[n.type.major];if(s.encodedSize){let i=s.encodedSize(n,e),a=new Vo(i);if(s(a,n,e),a.chunks.length!==1)throw new Error(`Unexpected error: pre-calculated length for ${n} was wrong`);return Fo(a.chunks[0])}}return lu.reset(),up(lu,n,t,e),lu.toBytes(!0)}function Gn(r,t){return t=Object.assign({},xb,t),lp(r,cp,t)}var Bb={strict:!1,allowIndefinite:!0,allowUndefined:!0,allowBigInt:!0},Vi=class{constructor(t,e={}){this._pos=0,this.data=t,this.options=e}pos(){return this._pos}done(){return this._pos>=this.data.length}next(){let t=this.data[this._pos],e=Ie[t];if(e===void 0){let n=L[t];if(!n)throw new Error(`${V} no decoder for major type ${t>>>5} (byte 0x${t.toString(16).padStart(2,"0")})`);let o=t&31;e=n(this.data,this._pos,o,this.options)}return this._pos+=e.encodedLength,e}},Ko=Symbol.for("DONE"),Mi=Symbol.for("BREAK");function kb(r,t,e){let n=[];for(let o=0;o<r.value;o++){let s=Wn(t,e);if(s===Mi){if(r.value===1/0)break;throw new Error(`${V} got unexpected break to lengthed array`)}if(s===Ko)throw new Error(`${V} found array but not enough entries (got ${o}, expected ${r.value})`);n[o]=s}return n}function Sb(r,t,e){let n=e.useMaps===!0,o=n?void 0:{},s=n?new Map:void 0;for(let i=0;i<r.value;i++){let a=Wn(t,e);if(a===Mi){if(r.value===1/0)break;throw new Error(`${V} got unexpected break to lengthed map`)}if(a===Ko)throw new Error(`${V} found map but not enough entries (got ${i} [no key], expected ${r.value})`);if(n!==!0&&typeof a!="string")throw new Error(`${V} non-string keys not supported (got ${typeof a})`);if(e.rejectDuplicateMapKeys===!0&&(n&&s.has(a)||!n&&a in o))throw new Error(`${V} found repeat map key "${a}"`);let c=Wn(t,e);if(c===Ko)throw new Error(`${V} found map but not enough entries (got ${i} [no value], expected ${r.value})`);n?s.set(a,c):o[a]=c}return n?s:o}function Wn(r,t){if(r.done())return Ko;let e=r.next();if(e.type===y.break)return Mi;if(e.type.terminal)return e.value;if(e.type===y.array)return kb(e,r,t);if(e.type===y.map)return Sb(e,r,t);if(e.type===y.tag){if(t.tags&&typeof t.tags[e.value]=="function"){let n=Wn(r,t);return t.tags[e.value](n)}throw new Error(`${V} tag not supported (${e.value})`)}throw new Error("unsupported")}function fu(r,t){if(!(r instanceof Uint8Array))throw new Error(`${V} data to decode must be a Uint8Array`);t=Object.assign({},Bb,t);let e=t.tokenizer||new Vi(r,t),n=Wn(e,t);if(n===Ko)throw new Error(`${V} did not find any content to decode`);if(n===Mi)throw new Error(`${V} got unexpected break`);return[n,r.subarray(e.pos())]}function ge(r,t){let[e,n]=fu(r,t);if(n.length>0)throw new Error(`${V} too many terminals, data makes no sense`);return e}var cr="/",fp=new TextEncoder().encode(cr),Hi=fp[0],Ut=class r{_buf;constructor(t,e){if(typeof t=="string")this._buf=q(t);else if(t instanceof Uint8Array)this._buf=t;else throw new Error("Invalid key, should be String of Uint8Array");if(e==null&&(e=!0),e&&this.clean(),this._buf.byteLength===0||this._buf[0]!==Hi)throw new Error("Invalid key")}toString(t="utf8"){return j(this._buf,t)}uint8Array(){return this._buf}get[Symbol.toStringTag](){return`Key(${this.toString()})`}static withNamespaces(t){return new r(t.join(cr))}static random(){return new r(Math.random().toString().substring(2))}static asKey(t){return t instanceof Uint8Array||typeof t=="string"?new r(t):typeof t.uint8Array=="function"?new r(t.uint8Array()):null}clean(){if((this._buf==null||this._buf.byteLength===0)&&(this._buf=fp),this._buf[0]!==Hi){let t=new Uint8Array(this._buf.byteLength+1);t.fill(Hi,0,1),t.set(this._buf,1),this._buf=t}for(;this._buf.byteLength>1&&this._buf[this._buf.byteLength-1]===Hi;)this._buf=this._buf.subarray(0,-1)}less(t){let e=this.list(),n=t.list();for(let o=0;o<e.length;o++){if(n.length<o+1)return!1;let s=e[o],i=n[o];if(s<i)return!0;if(s>i)return!1}return e.length<n.length}reverse(){return r.withNamespaces(this.list().slice().reverse())}namespaces(){return this.list()}baseNamespace(){let t=this.namespaces();return t[t.length-1]}list(){return this.toString().split(cr).slice(1)}type(){return Ib(this.baseNamespace())}name(){return Rb(this.baseNamespace())}instance(t){return new r(this.toString()+":"+t)}path(){let t=this.parent().toString();return t.endsWith(cr)||(t+=cr),t+=this.type(),new r(t)}parent(){let t=this.list();return t.length===1?new r(cr):new r(t.slice(0,-1).join(cr))}child(t){return this.toString()===cr?t:t.toString()===cr?this:new r(this.toString()+t.toString(),!1)}isAncestorOf(t){return t.toString()===this.toString()?!1:t.toString().startsWith(this.toString())}isDecendantOf(t){return t.toString()===this.toString()?!1:this.toString().startsWith(t.toString())}isTopLevel(){return this.list().length===1}concat(...t){return r.withNamespaces([...this.namespaces(),..._b(t.map(e=>e.namespaces()))])}};function Ib(r){let t=r.split(":");return t.length<2?"":t.slice(0,-1).join(":")}function Rb(r){let t=r.split(":");return t[t.length-1]}function _b(r){return[].concat(...r)}var mp="/pin/",hp="/pinned-block/",hu=br,dp=1;function pp(r){return r.version===0&&(r=r.toV1()),new Ut(`${mp}${r.toString(hu)}`)}var Ki=class{datastore;blockstore;dagWalkers;constructor(t,e,n){this.datastore=t,this.blockstore=e,this.dagWalkers=n}async*add(t,e={}){let n=pp(t);if(await this.datastore.has(n))throw new Error("Already pinned");let o=Math.round(e.depth??1/0);if(o<0)throw new Error("Depth must be greater than or equal to 0");let s=new qe({concurrency:dp});for await(let a of this.#t(t,s,{...e,depth:o}))await this.#e(a,c=>c.pinnedBy.find(u=>it(u,t.bytes))!=null?!1:(c.pinCount++,c.pinnedBy.push(t.bytes),!0),e),yield a;let i={depth:o,metadata:e.metadata??{}};await this.datastore.put(n,Gn(i),e)}async*#t(t,e,n){if(n.depth===-1)return;let o=this.dagWalkers[t.code];if(o==null)throw new Error(`No dag walker found for cid codec ${t.code}`);let s=await this.blockstore.get(t,n);yield t;for await(let i of o.walk(s))yield*await e.add(async()=>this.#t(i,e,{...n,depth:n.depth-1}))}async#e(t,e,n){let o=new Ut(`${hp}${hu.encode(t.multihash.bytes)}`),s={pinCount:0,pinnedBy:[]};try{s=ge(await this.datastore.get(o,n))}catch(a){if(a.code!=="ERR_NOT_FOUND")throw a}if(e(s)){if(s.pinCount===0&&await this.datastore.has(o)){await this.datastore.delete(o);return}await this.datastore.put(o,Gn(s),n),n.onProgress?.(new nt("helia:pin:add",t))}}async*rm(t,e={}){let n=pp(t),o=await this.datastore.get(n,e),s=ge(o);await this.datastore.delete(n,e);let i=new qe({concurrency:dp});for await(let a of this.#t(t,i,{...e,depth:s.depth}))await this.#e(a,c=>(c.pinCount--,c.pinnedBy=c.pinnedBy.filter(u=>it(u,t.bytes)),!0),{...e,depth:s.depth}),yield a}async*ls(t={}){for await(let{key:e,value:n}of this.datastore.query({prefix:mp+(t.cid!=null?`${t.cid.toString(br)}`:"")},t)){let o=tt.parse(e.toString().substring(5),br),s=ge(n);yield{cid:o,...s}}}async isPinned(t,e={}){let n=new Ut(`${hp}${hu.encode(t.multihash.bytes)}`);return this.datastore.has(n,e)}};var Tb=5,qi=class{log;routers;providerLookupConcurrency;constructor(t,e){this.log=t.logger.forComponent("helia:routing"),this.routers=e.routers??[],this.providerLookupConcurrency=e.providerLookupConcurrency??Tb}async start(){await mr(...this.routers)}async stop(){await gr(...this.routers)}async*findProviders(t,e={}){if(this.routers.length===0)throw new D("No content routers available","ERR_NO_ROUTERS_AVAILABLE");let n=new is({concurrency:this.providerLookupConcurrency});n.addEventListener("error",()=>{});for await(let o of Hr(n.toGenerator(),...Yn(this.routers,"findProviders").map(s=>s.findProviders(t,e))))if(o!=null){if(o.multiaddrs.length===0){if(n.find(o.id)!=null)continue;n.add(async()=>{try{let s=await this.findPeer(o.id,e);return s.multiaddrs.length===0?null:s}catch(s){return this.log.error("could not load multiaddrs for peer %p",o.id,s),null}},{peerId:o.id,signal:e.signal}).catch(s=>{this.log.error("could not load multiaddrs for peer %p",o.id,s)})}yield o}}async provide(t,e={}){if(this.routers.length===0)throw new D("No content routers available","ERR_NO_ROUTERS_AVAILABLE");await Promise.all(Yn(this.routers,"provide").map(async n=>{await n.provide(t,e)}))}async put(t,e,n){await Promise.all(Yn(this.routers,"put").map(async o=>{await o.put(t,e,n)}))}async get(t,e){return Promise.any(Yn(this.routers,"get").map(async n=>n.get(t,e)))}async findPeer(t,e){if(this.routers.length===0)throw new D("No peer routers available","ERR_NO_ROUTERS_AVAILABLE");let n=this,o=Hr(...Yn(this.routers,"findPeer").map(s=>async function*(){try{yield await s.findPeer(t,e)}catch(i){n.log.error(i)}}()));for await(let s of o)if(s!=null)return s;throw new D("Could not find peer in routing","ERR_NOT_FOUND")}async*getClosestPeers(t,e={}){if(this.routers.length===0)throw new D("No peer routers available","ERR_NO_ROUTERS_AVAILABLE");for await(let n of Hr(...Yn(this.routers,"getClosestPeers").map(o=>o.getClosestPeers(t,e))))n!=null&&(yield n)}};function Yn(r,t){return r.filter(e=>e[t]!=null)}var Dr={},Zn=r=>{r.addEventListener("message",t=>{Zn.dispatchEvent("message",r,t)}),r.port!=null&&r.port.addEventListener("message",t=>{Zn.dispatchEvent("message",r,t)})};Zn.addEventListener=(r,t)=>{Dr[r]==null&&(Dr[r]=[]),Dr[r].push(t)};Zn.removeEventListener=(r,t)=>{Dr[r]!=null&&(Dr[r]=Dr[r].filter(e=>e===t))};Zn.dispatchEvent=function(r,t,e){Dr[r]!=null&&Dr[r].forEach(n=>n(t,e))};var du=Zn;var pu="lock:worker:request-read",mu="lock:worker:release-read",gu="lock:master:grant-read",yu="lock:worker:request-write",wu="lock:worker:release-write",bu="lock:master:grant-write";var gp=(r=21)=>Math.random().toString().substring(2);var yp=(r,t,e,n,o)=>(s,i)=>{if(i.data.type!==e)return;let a={type:i.data.type,name:i.data.name,identifier:i.data.identifier};r.dispatchEvent(new MessageEvent(t,{data:{name:a.name,handler:async()=>{s.postMessage({type:o,name:a.name,identifier:a.identifier}),await new Promise(c=>{let u=f=>{if(f==null||f.data==null)return;let l={type:f.data.type,name:f.data.name,identifier:f.data.identifier};l.type===n&&l.identifier===a.identifier&&(s.removeEventListener("message",u),c())};s.addEventListener("message",u)})}}}))},wp=(r,t,e,n)=>async()=>{let o=gp();return globalThis.postMessage({type:t,identifier:o,name:r}),new Promise(s=>{let i=a=>{if(a==null||a.data==null)return;let c={type:a.data.type,identifier:a.data.identifier};c.type===e&&c.identifier===o&&(globalThis.removeEventListener("message",i),s(()=>{globalThis.postMessage({type:n,identifier:o,name:r})}))};globalThis.addEventListener("message",i)})},Cb={singleProcess:!1},bp=r=>{if(r=Object.assign({},Cb,r),!!globalThis.document||r.singleProcess){let e=new EventTarget;return du.addEventListener("message",yp(e,"requestReadLock",pu,mu,gu)),du.addEventListener("message",yp(e,"requestWriteLock",yu,wu,bu)),e}return{isWorker:!0,readLock:e=>wp(e,pu,gu,mu),writeLock:e=>wp(e,yu,bu,wu)}};var Qr={},Pr;async function xu(r,t){let e,n=new Promise(o=>{e=o});return r.add(async()=>Po((async()=>{await new Promise(o=>{e(()=>{o()})})})(),{milliseconds:t.timeout})),n}var Nb=(r,t)=>{if(Pr.isWorker===!0)return{readLock:Pr.readLock(r,t),writeLock:Pr.writeLock(r,t)};let e=new Ve({concurrency:1}),n;return{async readLock(){if(n!=null)return xu(n,t);n=new Ve({concurrency:t.concurrency,autoStart:!1});let o=n,s=xu(n,t);return e.add(async()=>{o.start(),await o.onIdle().then(()=>{n===o&&(n=null)})}),s},async writeLock(){return n=null,xu(e,t)}}},Lb={name:"lock",concurrency:1/0,timeout:846e5,singleProcess:!1};function Eu(r){let t=Object.assign({},Lb,r);return Pr==null&&(Pr=bp(t),Pr.isWorker!==!0&&(Pr.addEventListener("requestReadLock",e=>{Qr[e.data.name]!=null&&Qr[e.data.name].readLock().then(async n=>e.data.handler().finally(()=>{n()}))}),Pr.addEventListener("requestWriteLock",async e=>{Qr[e.data.name]!=null&&Qr[e.data.name].writeLock().then(async n=>e.data.handler().finally(()=>{n()}))}))),Qr[t.name]==null&&(Qr[t.name]=Nb(t.name,t)),Qr[t.name]}var zi=class{lock;child;pins;started;constructor(t,e,n={}){this.child=t,this.pins=e,this.lock=Eu({singleProcess:n.holdGcLock}),this.started=!1}isStarted(){return this.started}async start(){await mr(this.child),this.started=!0}async stop(){await gr(this.child),this.started=!1}unwrap(){return this.child}async put(t,e,n={}){n?.signal?.throwIfAborted();let o=await this.lock.readLock();try{return await this.child.put(t,e,n)}finally{o()}}async*putMany(t,e={}){e?.signal?.throwIfAborted();let n=await this.lock.readLock();try{yield*this.child.putMany(t,e)}finally{n()}}async get(t,e={}){e?.signal?.throwIfAborted();let n=await this.lock.readLock();try{return await this.child.get(t,e)}finally{n()}}async*getMany(t,e={}){e?.signal?.throwIfAborted();let n=await this.lock.readLock();try{yield*this.child.getMany(t,e)}finally{n()}}async delete(t,e={}){e?.signal?.throwIfAborted();let n=await this.lock.writeLock();try{if(await this.pins.isPinned(t))throw new Error("CID was pinned");await this.child.delete(t,e)}finally{n()}}async*deleteMany(t,e={}){e?.signal?.throwIfAborted();let n=await this.lock.writeLock();try{let o=this;yield*this.child.deleteMany(async function*(){for await(let s of t){if(await o.pins.isPinned(s))throw new Error("CID was pinned");yield s}}(),e)}finally{n()}}async has(t,e={}){e?.signal?.throwIfAborted();let n=await this.lock.readLock();try{return await this.child.has(t,e)}finally{n()}}async*getAll(t={}){t?.signal?.throwIfAborted();let e=await this.lock.readLock();try{yield*this.child.getAll(t)}finally{e()}}createSession(t,e){return e?.signal?.throwIfAborted(),this.child.createSession(t,e)}};var Ep=42;function Ub(r){if(r.asCID!==r&&r["/"]!==r.bytes)return null;let t=tt.asCID(r);if(!t)return null;let e=new Uint8Array(t.bytes.byteLength+1);return e.set(t.bytes,1),[new R(y.tag,Ep),new R(y.bytes,e)]}function Db(){throw new Error("`undefined` is not supported by the IPLD Data Model and cannot be encoded")}function Pb(r){if(Number.isNaN(r))throw new Error("`NaN` is not supported by the IPLD Data Model and cannot be encoded");if(r===1/0||r===-1/0)throw new Error("`Infinity` and `-Infinity` is not supported by the IPLD Data Model and cannot be encoded");return null}var xp={float64:!0,typeEncoders:{Object:Ub,undefined:Db,number:Pb}},Nk={...xp,typeEncoders:{...xp.typeEncoders}};function Ob(r){if(r[0]!==0)throw new Error("Invalid CID for CBOR tag 42; expected leading 0x00");return tt.decode(r.subarray(1))}var vu={allowIndefinite:!1,coerceUndefinedToNull:!0,allowNaN:!1,allowInfinity:!1,allowBigInt:!0,strict:!0,useMaps:!1,rejectDuplicateMapKeys:!0,tags:[]};vu.tags[Ep]=Ob;var Lk={...vu,tags:vu.tags.slice()};var vp=113;var Ap=class extends Array{constructor(){super(),this.inRecursive=[]}prefix(t){let e=this.inRecursive[this.inRecursive.length-1];e&&(e.type===y.array&&(e.elements++,e.elements!==1&&t.push([44])),e.type===y.map&&(e.elements++,e.elements!==1&&(e.elements%2===1?t.push([44]):t.push([58]))))}[y.uint.major](t,e){this.prefix(t);let n=String(e.value),o=[];for(let s=0;s<n.length;s++)o[s]=n.charCodeAt(s);t.push(o)}[y.negint.major](t,e){this[y.uint.major](t,e)}[y.bytes.major](t,e){throw new Error(`${Kn} unsupported type: Uint8Array`)}[y.string.major](t,e){this.prefix(t);let n=_i(JSON.stringify(e.value));t.push(n.length>32?Fo(n):n)}[y.array.major](t,e){this.prefix(t),this.inRecursive.push({type:y.array,elements:0}),t.push([91])}[y.map.major](t,e){this.prefix(t),this.inRecursive.push({type:y.map,elements:0}),t.push([123])}[y.tag.major](t,e){}[y.float.major](t,e){if(e.type.name==="break"){let i=this.inRecursive.pop();if(i){if(i.type===y.array)t.push([93]);else if(i.type===y.map)t.push([125]);else throw new Error("Unexpected recursive type; this should not happen!");return}throw new Error("Unexpected break; this should not happen!")}if(e.value===void 0)throw new Error(`${Kn} unsupported type: undefined`);if(this.prefix(t),e.type.name==="true"){t.push([116,114,117,101]);return}else if(e.type.name==="false"){t.push([102,97,108,115,101]);return}else if(e.type.name==="null"){t.push([110,117,108,108]);return}let n=String(e.value),o=[],s=!1;for(let i=0;i<n.length;i++)o[i]=n.charCodeAt(i),!s&&(o[i]===46||o[i]===101||o[i]===69)&&(s=!0);s||(o.push(46),o.push(48)),t.push(o)}};var tn=class{constructor(t,e={}){this._pos=0,this.data=t,this.options=e,this.modeStack=["value"],this.lastToken=""}pos(){return this._pos}done(){return this._pos>=this.data.length}ch(){return this.data[this._pos]}currentMode(){return this.modeStack[this.modeStack.length-1]}skipWhitespace(){let t=this.ch();for(;t===32||t===9||t===13||t===10;)t=this.data[++this._pos]}expect(t){if(this.data.length-this._pos<t.length)throw new Error(`${V} unexpected end of input at position ${this._pos}`);for(let e=0;e<t.length;e++)if(this.data[this._pos++]!==t[e])throw new Error(`${V} unexpected token at position ${this._pos}, expected to find '${String.fromCharCode(...t)}'`)}parseNumber(){let t=this._pos,e=!1,n=!1,o=a=>{for(;!this.done();){let c=this.ch();if(a.includes(c))this._pos++;else break}};if(this.ch()===45&&(e=!0,this._pos++),this.ch()===48)if(this._pos++,this.ch()===46)this._pos++,n=!0;else return new R(y.uint,0,this._pos-t);if(o([48,49,50,51,52,53,54,55,56,57]),e&&this._pos===t+1)throw new Error(`${V} unexpected token at position ${this._pos}`);if(!this.done()&&this.ch()===46){if(n)throw new Error(`${V} unexpected token at position ${this._pos}`);n=!0,this._pos++,o([48,49,50,51,52,53,54,55,56,57])}!this.done()&&(this.ch()===101||this.ch()===69)&&(n=!0,this._pos++,!this.done()&&(this.ch()===43||this.ch()===45)&&this._pos++,o([48,49,50,51,52,53,54,55,56,57]));let s=String.fromCharCode.apply(null,this.data.subarray(t,this._pos)),i=parseFloat(s);return n?new R(y.float,i,this._pos-t):this.options.allowBigInt!==!0||Number.isSafeInteger(i)?new R(i>=0?y.uint:y.negint,i,this._pos-t):new R(i>=0?y.uint:y.negint,BigInt(s),this._pos-t)}parseString(){if(this.ch()!==34)throw new Error(`${V} unexpected character at position ${this._pos}; this shouldn't happen`);this._pos++;for(let s=this._pos,i=0;s<this.data.length&&i<65536;s++,i++){let a=this.data[s];if(a===92||a<32||a>=128)break;if(a===34){let c=String.fromCharCode.apply(null,this.data.subarray(this._pos,s));return this._pos=s+1,new R(y.string,c,i)}}let t=this._pos,e=[],n=()=>{if(this._pos+4>=this.data.length)throw new Error(`${V} unexpected end of unicode escape sequence at position ${this._pos}`);let s=0;for(let i=0;i<4;i++){let a=this.ch();if(a>=48&&a<=57)a-=48;else if(a>=97&&a<=102)a=a-97+10;else if(a>=65&&a<=70)a=a-65+10;else throw new Error(`${V} unexpected unicode escape character at position ${this._pos}`);s=s*16+a,this._pos++}return s},o=()=>{let s=this.ch(),i=null,a=s>239?4:s>223?3:s>191?2:1;if(this._pos+a>this.data.length)throw new Error(`${V} unexpected unicode sequence at position ${this._pos}`);let c,u,f,l;switch(a){case 1:s<128&&(i=s);break;case 2:c=this.data[this._pos+1],(c&192)===128&&(l=(s&31)<<6|c&63,l>127&&(i=l));break;case 3:c=this.data[this._pos+1],u=this.data[this._pos+2],(c&192)===128&&(u&192)===128&&(l=(s&15)<<12|(c&63)<<6|u&63,l>2047&&(l<55296||l>57343)&&(i=l));break;case 4:c=this.data[this._pos+1],u=this.data[this._pos+2],f=this.data[this._pos+3],(c&192)===128&&(u&192)===128&&(f&192)===128&&(l=(s&15)<<18|(c&63)<<12|(u&63)<<6|f&63,l>65535&&l<1114112&&(i=l))}i===null?(i=65533,a=1):i>65535&&(i-=65536,e.push(i>>>10&1023|55296),i=56320|i&1023),e.push(i),this._pos+=a};for(;!this.done();){let s=this.ch(),i;switch(s){case 92:if(this._pos++,this.done())throw new Error(`${V} unexpected string termination at position ${this._pos}`);switch(i=this.ch(),this._pos++,i){case 34:case 39:case 92:case 47:e.push(i);break;case 98:e.push(8);break;case 116:e.push(9);break;case 110:e.push(10);break;case 102:e.push(12);break;case 114:e.push(13);break;case 117:e.push(n());break;default:throw new Error(`${V} unexpected string escape character at position ${this._pos}`)}break;case 34:return this._pos++,new R(y.string,su(e),this._pos-t);default:if(s<32)throw new Error(`${V} invalid control character at position ${this._pos}`);s<128?(e.push(s),this._pos++):o()}}throw new Error(`${V} unexpected end of string at position ${this._pos}`)}parseValue(){switch(this.ch()){case 123:return this.modeStack.push("obj-start"),this._pos++,new R(y.map,1/0,1);case 91:return this.modeStack.push("array-start"),this._pos++,new R(y.array,1/0,1);case 34:return this.parseString();case 110:return this.expect([110,117,108,108]),new R(y.null,null,4);case 102:return this.expect([102,97,108,115,101]),new R(y.false,!1,5);case 116:return this.expect([116,114,117,101]),new R(y.true,!0,4);case 45:case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:return this.parseNumber();default:throw new Error(`${V} unexpected character at position ${this._pos}`)}}next(){switch(this.skipWhitespace(),this.currentMode()){case"value":return this.modeStack.pop(),this.parseValue();case"array-value":{if(this.modeStack.pop(),this.ch()===93)return this._pos++,this.skipWhitespace(),new R(y.break,void 0,1);if(this.ch()!==44)throw new Error(`${V} unexpected character at position ${this._pos}, was expecting array delimiter but found '${String.fromCharCode(this.ch())}'`);return this._pos++,this.modeStack.push("array-value"),this.skipWhitespace(),this.parseValue()}case"array-start":return this.modeStack.pop(),this.ch()===93?(this._pos++,this.skipWhitespace(),new R(y.break,void 0,1)):(this.modeStack.push("array-value"),this.skipWhitespace(),this.parseValue());case"obj-key":if(this.ch()===125)return this.modeStack.pop(),this._pos++,this.skipWhitespace(),new R(y.break,void 0,1);if(this.ch()!==44)throw new Error(`${V} unexpected character at position ${this._pos}, was expecting object delimiter but found '${String.fromCharCode(this.ch())}'`);this._pos++,this.skipWhitespace();case"obj-start":{if(this.modeStack.pop(),this.ch()===125)return this._pos++,this.skipWhitespace(),new R(y.break,void 0,1);let t=this.parseString();if(this.skipWhitespace(),this.ch()!==58)throw new Error(`${V} unexpected character at position ${this._pos}, was expecting key/value delimiter ':' but found '${String.fromCharCode(this.ch())}'`);return this._pos++,this.modeStack.push("obj-value"),t}case"obj-value":return this.modeStack.pop(),this.modeStack.push("obj-key"),this.skipWhitespace(),this.parseValue();default:throw new Error(`${V} unexpected parse state at position ${this._pos}; this shouldn't happen`)}}};function ji(r,t){return t=Object.assign({tokenizer:new tn(r,t)},t),ge(r,t)}var Mb={allowIndefinite:!1,allowUndefined:!1,allowNaN:!1,allowInfinity:!1,allowBigInt:!0,strict:!0,useMaps:!1,rejectDuplicateMapKeys:!0,tags:[]};Mb.tags[42]=tt.parse;var kp=297;var Zk=new TextDecoder;var Jk=new TextEncoder;var Hb=new TextDecoder;function Au(r,t){let e=0;for(let n=0;;n+=7){if(n>=64)throw new Error("protobuf: varint overflow");if(t>=r.length)throw new Error("protobuf: unexpected end of data");let o=r[t++];if(e+=n<28?(o&127)<<n:(o&127)*2**n,o<128)break}return[e,t]}function Gi(r,t){let e;[e,t]=Au(r,t);let n=t+e;if(e<0||n<0)throw new Error("protobuf: invalid length");if(n>r.length)throw new Error("protobuf: unexpected end of data");return[r.subarray(t,n),n]}function Sp(r,t){let e;return[e,t]=Au(r,t),[e&7,e>>3,t]}function Kb(r){let t={},e=r.length,n=0;for(;n<e;){let o,s;if([o,s,n]=Sp(r,n),s===1){if(t.Hash)throw new Error("protobuf: (PBLink) duplicate Hash section");if(o!==2)throw new Error(`protobuf: (PBLink) wrong wireType (${o}) for Hash`);if(t.Name!==void 0)throw new Error("protobuf: (PBLink) invalid order, found Name before Hash");if(t.Tsize!==void 0)throw new Error("protobuf: (PBLink) invalid order, found Tsize before Hash");[t.Hash,n]=Gi(r,n)}else if(s===2){if(t.Name!==void 0)throw new Error("protobuf: (PBLink) duplicate Name section");if(o!==2)throw new Error(`protobuf: (PBLink) wrong wireType (${o}) for Name`);if(t.Tsize!==void 0)throw new Error("protobuf: (PBLink) invalid order, found Tsize before Name");let i;[i,n]=Gi(r,n),t.Name=Hb.decode(i)}else if(s===3){if(t.Tsize!==void 0)throw new Error("protobuf: (PBLink) duplicate Tsize section");if(o!==0)throw new Error(`protobuf: (PBLink) wrong wireType (${o}) for Tsize`);[t.Tsize,n]=Au(r,n)}else throw new Error(`protobuf: (PBLink) invalid fieldNumber, expected 1, 2 or 3, got ${s}`)}if(n>e)throw new Error("protobuf: (PBLink) unexpected end of data");return t}function Ip(r){let t=r.length,e=0,n,o=!1,s;for(;e<t;){let a,c;if([a,c,e]=Sp(r,e),a!==2)throw new Error(`protobuf: (PBNode) invalid wireType, expected 2, got ${a}`);if(c===1){if(s)throw new Error("protobuf: (PBNode) duplicate Data section");[s,e]=Gi(r,e),n&&(o=!0)}else if(c===2){if(o)throw new Error("protobuf: (PBNode) duplicate Links section");n||(n=[]);let u;[u,e]=Gi(r,e),n.push(Kb(u))}else throw new Error(`protobuf: (PBNode) invalid fieldNumber, expected 1 or 2, got ${c}`)}if(e>t)throw new Error("protobuf: (PBNode) unexpected end of data");let i={};return s&&(i.Data=s),i.Links=n||[],i}var Qk=new TextEncoder,tS=2**32,eS=2**31;var oS=new TextEncoder;function Rp(r){return r instanceof ArrayBuffer?new Uint8Array(r,0,r.byteLength):r}var _p=112;function Tp(r){let t=Rp(r),e=Ip(t),n={};return e.Data&&(n.Data=e.Data),e.Links&&(n.Links=e.Links.map(o=>{let s={};try{s.Hash=tt.decode(o.Hash)}catch{}if(!s.Hash)throw new Error("Invalid Hash field found in link, expected CID");return o.Name!==void 0&&(s.Name=o.Name),o.Tsize!==void 0&&(s.Tsize=o.Tsize),s})),n}var zb={codec:_p,*walk(r){yield*Tp(r).Links.map(e=>e.Hash)}},jb={codec:fs,*walk(){}},Cp=42,Gb={codec:vp,*walk(r){let t=[],e=[];e[Cp]=n=>{if(n[0]!==0)throw new Error("Invalid CID for CBOR tag 42; expected leading 0x00");let o=tt.decode(n.subarray(1));return t.push(o),o},ge(r,{tags:e}),yield*t}},Bu=class extends tn{tokenBuffer;constructor(t,e){super(t,e),this.tokenBuffer=[]}done(){return this.tokenBuffer.length===0&&super.done()}_next(){return this.tokenBuffer.length>0?this.tokenBuffer.pop():super.next()}next(){let t=this._next();if(t.type===y.map){let e=this._next();if(e.type===y.string&&e.value==="/"){let n=this._next();if(n.type===y.string){if(this._next().type!==y.break)throw new Error("Invalid encoded CID form");return this.tokenBuffer.push(n),new R(y.tag,42,0)}if(n.type===y.map){let o=this._next();if(o.type===y.string&&o.value==="bytes"){let s=this._next();if(s.type===y.string){for(let a=0;a<2;a++)if(this._next().type!==y.break)throw new Error("Invalid encoded Bytes form");let i=le.decode(`m${s.value}`);return new R(y.bytes,i,s.value.length)}this.tokenBuffer.push(s)}this.tokenBuffer.push(o)}this.tokenBuffer.push(n)}this.tokenBuffer.push(e)}return t}},Wb={codec:kp,*walk(r){let t=[],e=[];e[Cp]=n=>{let o=tt.parse(n);return t.push(o),o},ji(r,{tags:e,tokenizer:new Bu(r,{tags:e,allowIndefinite:!0,allowUndefined:!0,allowNaN:!0,allowInfinity:!0,allowBigInt:!0,strict:!1,rejectDuplicateMapKeys:!1})}),yield*t}},Yb={codec:zl,*walk(){}};function Np(r=[]){let t={};return[zb,jb,Gb,Wb,Yb,...r].forEach(e=>{t[e.codec]=e}),t}var ku=new Ut("/version"),Lp=1;async function Up(r){if(!await r.has(ku)){await r.put(ku,q(`${Lp}`));return}let t=await r.get(ku),e=j(t);if(parseInt(e,10)!==Lp)throw new Error("Unknown datastore version, a datastore migration may be required")}function Dp(r=[]){let t={};return[At,ic,Wt,...r].forEach(e=>{t[e.code]=e}),t}var ur=class{has(t,e){return Promise.reject(new Error(".has is not implemented"))}put(t,e,n){return Promise.reject(new Error(".put is not implemented"))}async*putMany(t,e){for await(let{cid:n,block:o}of t)await this.put(n,o,e),yield n}get(t,e){return Promise.reject(new Error(".get is not implemented"))}async*getMany(t,e){for await(let n of t)yield{cid:n,block:await this.get(n,e)}}delete(t,e){return Promise.reject(new Error(".delete is not implemented"))}async*deleteMany(t,e){for await(let n of t)await this.delete(n,e),yield n}async*getAll(t){throw new Error(".getAll is not implemented")}};var Jn={};vt(Jn,{abortedError:()=>tx,closeFailedError:()=>Jb,deleteFailedError:()=>Op,getFailedError:()=>Xb,hasFailedError:()=>Qb,notFoundError:()=>qo,openFailedError:()=>Zb,putFailedError:()=>Pp});var lr=Jt(sn(),1);function Zb(r){return r=r??new Error("Open failed"),(0,lr.default)(r,"ERR_OPEN_FAILED")}function Jb(r){return r=r??new Error("Close failed"),(0,lr.default)(r,"ERR_CLOSE_FAILED")}function Pp(r){return r=r??new Error("Put failed"),(0,lr.default)(r,"ERR_PUT_FAILED")}function Xb(r){return r=r??new Error("Get failed"),(0,lr.default)(r,"ERR_GET_FAILED")}function Op(r){return r=r??new Error("Delete failed"),(0,lr.default)(r,"ERR_DELETE_FAILED")}function Qb(r){return r=r??new Error("Has failed"),(0,lr.default)(r,"ERR_HAS_FAILED")}function qo(r){return r=r??new Error("Not Found"),(0,lr.default)(r,"ERR_NOT_FOUND")}function tx(r){return r=r??new Error("Aborted"),(0,lr.default)(r,"ERR_ABORTED")}var zo=class extends ur{data;constructor(){super(),this.data=new Map}put(t,e){return this.data.set(Ct.encode(t.multihash.bytes),e),t}get(t){let e=this.data.get(Ct.encode(t.multihash.bytes));if(e==null)throw qo();return e}has(t){return this.data.has(Ct.encode(t.multihash.bytes))}async delete(t){this.data.delete(Ct.encode(t.multihash.bytes))}async*getAll(){for(let[t,e]of this.data.entries())yield{cid:tt.createV1(fs,Ne(Ct.decode(t))),block:e}}};function ex(r){return r[Symbol.asyncIterator]!=null}function rx(r,t){let e=0;if(ex(r))return async function*(){for await(let c of r)await t(c,e++)&&(yield c)}();let n=an(r),{value:o,done:s}=n.next();if(s===!0)return function*(){}();let i=t(o,e++);if(typeof i.then=="function")return async function*(){await i&&(yield o);for await(let c of n)await t(c,e++)&&(yield c)}();let a=t;return function*(){i===!0&&(yield o);for(let c of n)a(c,e++)&&(yield c)}()}var Re=rx;var $S=re("blockstore:core:tiered");var Fp={...Jn};var Wi=0,Yi=class extends ur{child;constructor(t){super(),this.child=t}put(t,e){return t.multihash.code===Wi||this.child==null?t:this.child.put(t,e)}get(t){if(t.multihash.code===Wi)return t.multihash.digest;if(this.child==null)throw Fp.notFoundError();return this.child.get(t)}has(t){return t.multihash.code===Wi?!0:this.child==null?!1:this.child.has(t)}delete(t){if(t.code!==Wi&&this.child!=null)return this.child.delete(t)}getAll(t){return this.child!=null?this.child.getAll(t):[]}};function nx(r){return r[Symbol.asyncIterator]!=null}function Vp(r){return r?.then!=null}function ox(r,t){let e=0;if(nx(r))return async function*(){for await(let c of r){let u=t(c,e++);Vp(u)&&await u,yield c}}();let n=an(r),{value:o,done:s}=n.next();if(s===!0)return function*(){}();if(typeof t(o,e++)?.then=="function")return async function*(){yield o;for await(let c of n){let u=t(c,e++);Vp(u)&&await u,yield c}}();let a=t;return function*(){yield o;for(let c of n)a(c,e++),yield c}()}var Su=ox;var Zi=class{child;hashers;log;logger;components;constructor(t){this.log=t.logger.forComponent("helia:networked-storage"),this.logger=t.logger,this.components=t,this.child=new Yi(t.blockstore),this.hashers=t.hashers??{}}async put(t,e,n={}){return await this.child.has(t,n)?(n.onProgress?.(new nt("blocks:put:duplicate",t)),t):(n.onProgress?.(new nt("blocks:put:providers:notify",t)),await Promise.all(this.components.blockBrokers.map(async o=>o.announce?.(t,e,n))),n.onProgress?.(new nt("blocks:put:blockstore:put",t)),this.child.put(t,e,n))}async*putMany(t,e={}){let n=Re(t,async({cid:s})=>{let i=await this.child.has(s,e);return i&&e.onProgress?.(new nt("blocks:put-many:duplicate",s)),!i}),o=Su(n,async({cid:s,block:i})=>{e.onProgress?.(new nt("blocks:put-many:providers:notify",s)),await Promise.all(this.components.blockBrokers.map(async a=>a.announce?.(s,i,e)))});e.onProgress?.(new nt("blocks:put-many:blockstore:put-many")),yield*this.child.putMany(o,e)}async get(t,e={}){if(e.offline!==!0&&!await this.child.has(t,e)){e.onProgress?.(new nt("blocks:get:providers:get",t));let n=await Mp(t,this.components.blockBrokers,this.hashers[t.multihash.code],{...e,log:this.log});return e.onProgress?.(new nt("blocks:get:blockstore:put",t)),await this.child.put(t,n,e),e.onProgress?.(new nt("blocks:get:providers:notify",t)),await Promise.all(this.components.blockBrokers.map(async o=>o.announce?.(t,n,e))),n}return e.onProgress?.(new nt("blocks:get:blockstore:get",t)),this.child.get(t,e)}async*getMany(t,e={}){e.onProgress?.(new nt("blocks:get-many:blockstore:get-many")),yield*this.child.getMany(Su(t,async n=>{if(e.offline!==!0&&!await this.child.has(n,e)){e.onProgress?.(new nt("blocks:get-many:providers:get",n));let o=await Mp(n,this.components.blockBrokers,this.hashers[n.multihash.code],{...e,log:this.log});e.onProgress?.(new nt("blocks:get-many:blockstore:put",n)),await this.child.put(n,o,e),e.onProgress?.(new nt("blocks:get-many:providers:notify",n)),await Promise.all(this.components.blockBrokers.map(async s=>s.announce?.(n,o,e)))}}))}async delete(t,e={}){e.onProgress?.(new nt("blocks:delete:blockstore:delete",t)),await this.child.delete(t,e)}async*deleteMany(t,e={}){e.onProgress?.(new nt("blocks:delete-many:blockstore:delete-many")),yield*this.child.deleteMany(async function*(){for await(let n of t)yield n}(),e)}async has(t,e={}){return this.child.has(t,e)}async*getAll(t={}){t.onProgress?.(new nt("blocks:get-all:blockstore:get-many")),yield*this.child.getAll(t)}},Ji=class extends Zi{started;constructor(t){super(t),this.started=!1}isStarted(){return this.started}async start(){await mr(this.child,...this.components.blockBrokers),this.started=!0}async stop(){await gr(this.child,...this.components.blockBrokers),this.started=!1}unwrap(){return this.child}createSession(t,e){let n=this.components.blockBrokers.map(o=>o.createSession==null?o:o.createSession(e));return new Iu({blockstore:this.child,blockBrokers:n,hashers:this.hashers,logger:this.logger},{root:t})}},Iu=class extends Zi{closeController;constructor(t,e){super(t),this.closeController=new AbortController,ft(1/0,this.closeController.signal),this.log=t.logger.forComponent(`helia:session-storage:${e.root}`)}close(){this.closeController.abort()}async put(t,e,n={}){let o=Ht([this.closeController.signal,n.signal]);ft(1/0,o);try{return await super.put(t,e,{...n,signal:o})}finally{o.clear()}}async*putMany(t,e={}){let n=Ht([this.closeController.signal,e.signal]);ft(1/0,n);try{yield*super.putMany(t,{...e,signal:n})}finally{n.clear()}}async get(t,e={}){let n=Ht([this.closeController.signal,e.signal]);ft(1/0,n);try{return await super.get(t,{...e,signal:n})}finally{n.clear()}}async*getMany(t,e={}){let n=Ht([this.closeController.signal,e.signal]);ft(1/0,n);try{yield*super.getMany(t,{...e,signal:n})}finally{n.clear()}}async delete(t,e={}){let n=Ht([this.closeController.signal,e.signal]);ft(1/0,n);try{await super.delete(t,{...e,signal:n})}finally{n.clear()}}async*deleteMany(t,e={}){let n=Ht([this.closeController.signal,e.signal]);ft(1/0,n);try{yield*super.deleteMany(t,{...e,signal:n})}finally{n.clear()}}async has(t,e={}){let n=Ht([this.closeController.signal,e.signal]);ft(1/0,n);try{return await super.has(t,{...e,signal:n})}finally{n.clear()}}async*getAll(t={}){let e=Ht([this.closeController.signal,t.signal]);ft(1/0,e);try{yield*super.getAll({...t,signal:e})}finally{e.clear()}}};function sx(r){return typeof r.retrieve=="function"}var ix=(r,t)=>{if(t==null)throw new D(`No hasher configured for multihash code 0x${r.multihash.code.toString(16)}, please configure one. You can look up which hash this is at https://github.com/multiformats/multicodec/blob/master/table.csv`,"ERR_UNKNOWN_HASH_ALG");return async e=>{let n=await t.digest(e);if(!it(n.digest,r.multihash.digest))throw new D("Hash of downloaded block did not match multihash from passed CID","ERR_HASH_MISMATCH")}};async function Mp(r,t,e,n){let o=ix(r,e),s=new AbortController,i=Ht([s.signal,n.signal]);ft(1/0,s.signal,i);let a=[];for(let c of t)sx(c)&&a.push(c);try{return await Promise.any(a.map(async c=>{try{let u=!1,f=await c.retrieve(r,{...n,signal:i,validateFn:async l=>{await o(l),u=!0}});return u||await o(f),f}catch(u){throw n.log.error("could not retrieve verified block for %c",r,u),u}}))}finally{s.abort(),i.clear()}}var $p=1,Hp=5;var Ru=Jt(qh(),1);var ax=Math.LN2*Math.LN2,Xi=class r{static create(t,e=.005){let n=cx(t,e);return new r(n)}seeds;bits;buffer;constructor(t={}){t.seeds!=null?this.seeds=t.seeds:this.seeds=ux(t.hashes??8),this.bits=t.bits??1024,this.buffer=we(Math.ceil(this.bits/8))}add(t){typeof t=="string"&&(t=q(t));for(let e=0;e<this.seeds.length;e++){let o=Ru.default.x86.hash32(t,this.seeds[e])%this.bits;this.setbit(o)}}has(t){typeof t=="string"&&(t=q(t));for(let e=0;e<this.seeds.length;e++){let o=Ru.default.x86.hash32(t,this.seeds[e])%this.bits;if(!this.getbit(o))return!1}return!0}clear(){this.buffer.fill(0)}setbit(t){let e=0,n=t;for(;n>7;)e++,n-=8;let o=this.buffer[e];o|=1<<n,this.buffer[e]=o}getbit(t){let e=0,n=t;for(;n>7;)e++,n-=8;return(this.buffer[e]&1<<n)!==0}};function cx(r,t=.005){let e=Math.round(-1*r*Math.log(t)/ax),n=Math.round(e/r*Math.LN2);return{bits:e,hashes:n}}function ux(r){let t,e,n=[];for(let o=0;o<r;o++)for(t=new cs(De(4)),n[o]=t.getUint32(0,!0),e=0;e<o;e++)if(n[o]===n[e]){o--;break}return n}var jo=class extends rn{intialPeerSearchComplete;requests;name;log;logger;minProviders;maxProviders;providers;evictionFilter;constructor(t,e){super(),ft(1/0,this),this.name=e.name,this.logger=t.logger,this.log=t.logger.forComponent(this.name),this.requests=new Map,this.minProviders=e.minProviders??1,this.maxProviders=e.maxProviders??5,this.providers=[],this.evictionFilter=Xi.create(this.maxProviders)}async retrieve(t,e={}){let n=le.encode(t.multihash.bytes),o=this.requests.get(n);if(o!=null)return this.log("join existing request for %c",t),o;let s=kt();if(this.requests.set(n,s.promise),this.providers.length===0){let u=!1;this.intialPeerSearchComplete==null&&(u=!0,this.log=this.logger.forComponent(`${this.name}:${t}`),this.intialPeerSearchComplete=this.findProviders(t,this.minProviders,e)),await this.intialPeerSearchComplete,u&&this.log("found initial session peers for %c",t)}let i=!1,a=new qe({concurrency:this.maxProviders});a.addEventListener("error",()=>{}),a.addEventListener("failure",u=>{this.log.error("error querying provider %o, evicting from session",u.detail.job.options.provider,u.detail.error),this.evict(u.detail.job.options.provider)}),a.addEventListener("success",u=>{i=!0,s.resolve(u.detail.result)}),a.addEventListener("idle",()=>{i||e.signal?.aborted===!0||Promise.resolve().then(async()=>{this.log("no session peers had block for for %c, finding new providers",t);for(let u=0;u<this.minProviders&&this.providers.length!==0;u++){let f=this.providers[Math.floor(Math.random()*this.providers.length)];this.evict(f)}await this.findProviders(t,this.minProviders,e),this.log("found new providers re-retrieving %c",t),this.requests.delete(n),s.resolve(await this.retrieve(t,e))}).catch(u=>{this.log.error("could not find new providers for %c",t,u),s.reject(u)})});let c=u=>{a.add(async()=>this.queryProvider(t,u.detail,e),{provider:u.detail}).catch(f=>{e.signal?.aborted!==!0&&this.log.error("error retrieving session block for %c",t,f)})};this.addEventListener("provider",c),Promise.all([...this.providers].map(async u=>a.add(async()=>this.queryProvider(t,u,e),{provider:u}))).catch(u=>{e.signal?.aborted!==!0&&this.log.error("error retrieving session block for %c",t,u)});try{return await s.promise}finally{this.removeEventListener("provider",c),a.clear(),this.requests.delete(n)}}evict(t){this.evictionFilter.add(this.toEvictionKey(t));let e=this.providers.findIndex(n=>this.equals(n,t));e!==-1&&this.providers.splice(e,1)}isEvicted(t){return this.evictionFilter.has(this.toEvictionKey(t))}hasProvider(t){return!!(this.providers.find(e=>this.equals(e,t))!=null||this.isEvicted(t))}async findProviders(t,e,n){let o=kt(),s=0;return Promise.resolve().then(async()=>{this.log("finding %d-%d new provider(s) for %c",e,this.maxProviders,t);for await(let i of this.findNewProviders(t,n)){if(s===this.maxProviders||n.signal?.aborted===!0)break;if(!this.hasProvider(i)&&(this.log("found %d/%d new providers",s,this.maxProviders),this.providers.push(i),this.safeDispatchEvent("provider",{detail:i}),s++,s===e&&(this.log("session is ready"),o.resolve()),this.providers.length===this.maxProviders)){this.log("found max session peers",s);break}}if(this.log("found %d/%d new session peers",s,this.maxProviders),s<e)throw new D(`Found ${s} of ${e} ${this.name} providers for ${t}`,"ERR_INSUFFICIENT_PROVIDERS_FOUND")}).catch(i=>{this.log.error("error searching routing for potential session peers for %c",t,i.errors??i),o.reject(i)}),o.promise}};var Qi=class{blockstore;datastore;pins;logger;routing;dagWalkers;hashers;dns;metrics;log;constructor(t){this.logger=t.logger??Zh(),this.log=this.logger.forComponent("helia"),this.hashers=Dp(t.hashers),this.dagWalkers=Np(t.dagWalkers),this.dns=t.dns??id(),this.metrics=t.metrics;let e={blockstore:t.blockstore,datastore:t.datastore,hashers:this.hashers,dagWalkers:this.dagWalkers,logger:this.logger,blockBrokers:[],dns:this.dns,metrics:this.metrics,...t.components??{}};this.routing=e.routing=new qi(e,{routers:(t.routers??[]).flatMap(o=>{let s=[o];return o[oo]!=null&&s.push(o[oo]),o[io]!=null&&s.push(o[io]),s}),providerLookupConcurrency:t.providerLookupConcurrency});let n=new Ji(e);this.pins=new Ki(t.datastore,n,this.dagWalkers),this.blockstore=new zi(n,this.pins,{holdGcLock:t.holdGcLock??!0}),this.datastore=t.datastore,e.blockBrokers=t.blockBrokers.map(o=>o(e))}async start(){await Up(this.datastore),await mr(this.blockstore,this.datastore,this.routing)}async stop(){await gr(this.blockstore,this.datastore,this.routing)}async gc(t={}){let e=await this.blockstore.lock.writeLock();try{let n=this,o=this.blockstore.unwrap();this.log("gc start"),await Mr(o.deleteMany(async function*(){for await(let{cid:s}of o.getAll())try{if(await n.pins.isPinned(s,t))continue;yield s,t.onProgress?.(new nt("helia:gc:deleted",s))}catch(i){n.log.error("Error during gc",i),t.onProgress?.(new nt("helia:gc:error",i))}}()))}finally{e()}this.log("gc finished")}};var ta=class{index=0;input="";new(t){return this.index=0,this.input=t,this}readAtomically(t){let e=this.index,n=t();return n===void 0&&(this.index=e),n}parseWith(t){let e=t();if(this.index===this.input.length)return e}peekChar(){if(!(this.index>=this.input.length))return this.input[this.index]}readChar(){if(!(this.index>=this.input.length))return this.input[this.index++]}readGivenChar(t){return this.readAtomically(()=>{let e=this.readChar();if(e===t)return e})}readSeparator(t,e,n){return this.readAtomically(()=>{if(!(e>0&&this.readGivenChar(t)===void 0))return n()})}readNumber(t,e,n,o){return this.readAtomically(()=>{let s=0,i=0,a=this.peekChar();if(a===void 0)return;let c=a==="0",u=2**(8*o)-1;for(;;){let f=this.readAtomically(()=>{let l=this.readChar();if(l===void 0)return;let m=Number.parseInt(l,t);if(!Number.isNaN(m))return m});if(f===void 0)break;if(s*=t,s+=f,s>u||(i+=1,e!==void 0&&i>e))return}if(i!==0)return!n&&c&&i>1?void 0:s})}readIPv4Addr(){return this.readAtomically(()=>{let t=new Uint8Array(4);for(let e=0;e<t.length;e++){let n=this.readSeparator(".",e,()=>this.readNumber(10,3,!1,1));if(n===void 0)return;t[e]=n}return t})}readIPv6Addr(){let t=e=>{for(let n=0;n<e.length/2;n++){let o=n*2;if(n<e.length-3){let i=this.readSeparator(":",n,()=>this.readIPv4Addr());if(i!==void 0)return e[o]=i[0],e[o+1]=i[1],e[o+2]=i[2],e[o+3]=i[3],[o+4,!0]}let s=this.readSeparator(":",n,()=>this.readNumber(16,4,!0,2));if(s===void 0)return[o,!1];e[o]=s>>8,e[o+1]=s&255}return[e.length,!1]};return this.readAtomically(()=>{let e=new Uint8Array(16),[n,o]=t(e);if(n===16)return e;if(o||this.readGivenChar(":")===void 0||this.readGivenChar(":")===void 0)return;let s=new Uint8Array(14),i=16-(n+2),[a]=t(s.subarray(0,i));return e.set(s.subarray(0,a),16-a),e})}readIPAddr(){return this.readIPv4Addr()??this.readIPv6Addr()}};var Kp=45,lx=15,Xn=new ta;function _u(r){if(!(r.length>lx))return Xn.new(r).parseWith(()=>Xn.readIPv4Addr())}function Tu(r){if(r.includes("%")&&(r=r.split("%")[0]),!(r.length>Kp))return Xn.new(r).parseWith(()=>Xn.readIPv6Addr())}function ea(r){if(r.includes("%")&&(r=r.split("%")[0]),!(r.length>Kp))return Xn.new(r).parseWith(()=>Xn.readIPAddr())}function Qn(r){return!!_u(r)}function to(r){return!!Tu(r)}function ra(r){return!!ea(r)}var zp=Jt(qp(),1),fx=["0.0.0.0/8","10.0.0.0/8","100.64.0.0/10","127.0.0.0/8","169.254.0.0/16","172.16.0.0/12","192.0.0.0/24","192.0.0.0/29","192.0.0.8/32","192.0.0.9/32","192.0.0.10/32","192.0.0.170/32","192.0.0.171/32","192.0.2.0/24","192.31.196.0/24","192.52.193.0/24","192.88.99.0/24","192.168.0.0/16","192.175.48.0/24","198.18.0.0/15","198.51.100.0/24","203.0.113.0/24","240.0.0.0/4","255.255.255.255/32"],hx=fx.map(r=>new zp.Netmask(r));function dx(r){for(let t of hx)if(t.contains(r))return!0;return!1}function px(r){return/^::$/.test(r)||/^::1$/.test(r)||/^::f{4}:([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})$/.test(r)||/^::f{4}:0.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})$/.test(r)||/^64:ff9b::([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})$/.test(r)||/^100::([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4})$/.test(r)||/^2001::([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4})$/.test(r)||/^2001:2[0-9a-fA-F]:([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4})$/.test(r)||/^2001:db8:([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4})$/.test(r)||/^2002:([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4})$/.test(r)||/^f[c-d]([0-9a-fA-F]{2,2}):/i.test(r)||/^fe[8-9a-bA-B][0-9a-fA-F]:/i.test(r)||/^ff([0-9a-fA-F]{2,2}):/i.test(r)}function jp(r){return Qn(r)?dx(r):to(r)?px(r):void 0}var ZI=parseInt("0xFFFF",16),JI=new Uint8Array([0,0,0,0,0,0,0,0,0,0,255,255]);var Yp=Qn,bx=to,Cu=function(r){let t=0;if(r=r.toString().trim(),Yp(r)){let e=new Uint8Array(t+4);return r.split(/\./g).forEach(n=>{e[t++]=parseInt(n,10)&255}),e}if(bx(r)){let e=r.split(":",8),n;for(n=0;n<e.length;n++){let s=Yp(e[n]),i;s&&(i=Cu(e[n]),e[n]=j(i.slice(0,2),"base16")),i!=null&&++n<8&&e.splice(n,0,j(i.slice(2,4),"base16"))}if(e[0]==="")for(;e.length<8;)e.unshift("0");else if(e[e.length-1]==="")for(;e.length<8;)e.push("0");else if(e.length<8){for(n=0;n<e.length&&e[n]!=="";n++);let s=[n,1];for(n=9-e.length;n>0;n--)s.push("0");e.splice.apply(e,s)}let o=new Uint8Array(t+16);for(n=0;n<e.length;n++){let s=parseInt(e[n],16);o[t++]=s>>8&255,o[t++]=s&255}return o}throw new Error("invalid ip address")},Zp=function(r,t=0,e){t=~~t,e=e??r.length-t;let n=new DataView(r.buffer);if(e===4){let o=[];for(let s=0;s<e;s++)o.push(r[t+s]);return o.join(".")}if(e===16){let o=[];for(let s=0;s<e;s+=2)o.push(n.getUint16(t+s).toString(16));return o.join(":").replace(/(^|:)0(:0)*:0(:|$)/,"$1::$3").replace(/:{3,4}/,"::")}return""};var eo={},Nu={},Ex=[[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"]];Ex.forEach(r=>{let t=vx(...r);Nu[t.code]=t,eo[t.name]=t});function vx(r,t,e,n,o){return{code:r,size:t,name:e,resolvable:!!n,path:!!o}}function G(r){if(typeof r=="number"){if(Nu[r]!=null)return Nu[r];throw new Error(`no protocol with code: ${r}`)}else if(typeof r=="string"){if(eo[r]!=null)return eo[r];throw new Error(`no protocol with name: ${r}`)}throw new Error(`invalid protocol id type: ${typeof r}`)}var N6=G("ip4"),L6=G("ip6"),U6=G("ipcidr");function Uu(r,t){switch(G(r).code){case 4:case 41:return Bx(t);case 42:return Qp(t);case 6:case 273:case 33:case 132:return e0(t).toString();case 53:case 54:case 55:case 56:case 400:case 449:case 777:return Qp(t);case 421:return Rx(t);case 444:return t0(t);case 445:return t0(t);case 466:return Ix(t);default:return j(t,"base16")}}function Du(r,t){switch(G(r).code){case 4:return Jp(t);case 41:return Jp(t);case 42:return Xp(t);case 6:case 273:case 33:case 132:return Pu(parseInt(t,10));case 53:case 54:case 55:case 56:case 400:case 449:case 777:return Xp(t);case 421:return kx(t);case 444:return _x(t);case 445:return Tx(t);case 466:return Sx(t);default:return q(t,"base16")}}var Lu=Object.values(xr).map(r=>r.decoder),Ax=function(){let r=Lu[0].or(Lu[1]);return Lu.slice(2).forEach(t=>r=r.or(t)),r}();function Jp(r){if(!ra(r))throw new Error("invalid ip address");return Cu(r)}function Bx(r){let t=Zp(r,0,r.length);if(t==null)throw new Error("ipBuff is required");if(!ra(t))throw new Error("invalid ip address");return t}function Pu(r){let t=new ArrayBuffer(2);return new DataView(t).setUint16(0,r),new Uint8Array(t)}function e0(r){return new DataView(r.buffer).getUint16(r.byteOffset)}function Xp(r){let t=q(r),e=Uint8Array.from(on(t.length));return St([e,t],e.length+t.length)}function Qp(r){let t=$r(r);if(r=r.slice(Gt(t)),r.length!==t)throw new Error("inconsistent lengths");return j(r)}function kx(r){let t;r[0]==="Q"||r[0]==="1"?t=Ne(ht.decode(`z${r}`)).bytes:t=tt.parse(r).multihash.bytes;let e=Uint8Array.from(on(t.length));return St([e,t],e.length+t.length)}function Sx(r){let t=Ax.decode(r),e=Uint8Array.from(on(t.length));return St([e,t],e.length+t.length)}function Ix(r){let t=$r(r),e=r.slice(Gt(t));if(e.length!==t)throw new Error("inconsistent lengths");return"u"+j(e,"base64url")}function Rx(r){let t=$r(r),e=r.slice(Gt(t));if(e.length!==t)throw new Error("inconsistent lengths");return j(e,"base58btc")}function _x(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=Ct.decode("b"+t[0]),n=parseInt(t[1],10);if(n<1||n>65536)throw new Error("Port number is not in range(1, 65536)");let o=Pu(n);return St([e,o],e.length+o.length)}function Tx(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=Ct.decode(`b${t[0]}`),n=parseInt(t[1],10);if(n<1||n>65536)throw new Error("Port number is not in range(1, 65536)");let o=Pu(n);return St([e,o],e.length+o.length)}function t0(r){let t=r.slice(0,r.length-2),e=r.slice(r.length-2),n=j(t,"base32"),o=e0(e);return`${n}:${o}`}function r0(r){r=Ou(r);let t=[],e=[],n=null,o=r.split("/").slice(1);if(o.length===1&&o[0]==="")return{bytes:new Uint8Array,string:"/",tuples:[],stringTuples:[],path:null};for(let s=0;s<o.length;s++){let i=o[s],a=G(i);if(a.size===0){t.push([a.code]),e.push([a.code]);continue}if(s++,s>=o.length)throw o0("invalid address: "+r);if(a.path===!0){n=Ou(o.slice(s).join("/")),t.push([a.code,Du(a.code,n)]),e.push([a.code,n]);break}let c=Du(a.code,o[s]);t.push([a.code,c]),e.push([a.code,Uu(a.code,c)])}return{string:n0(e),bytes:Vu(t),tuples:t,stringTuples:e,path:n}}function Fu(r){let t=[],e=[],n=null,o=0;for(;o<r.length;){let s=$r(r,o),i=Gt(s),a=G(s),c=Cx(a,r.slice(o+i));if(c===0){t.push([s]),e.push([s]),o+=i;continue}let u=r.slice(o+i,o+i+c);if(o+=c+i,o>r.length)throw o0("Invalid address Uint8Array: "+j(r,"base16"));t.push([s,u]);let f=Uu(s,u);if(e.push([s,f]),a.path===!0){n=f;break}}return{bytes:Uint8Array.from(r),string:n0(e),tuples:t,stringTuples:e,path:n}}function n0(r){let t=[];return r.map(e=>{let n=G(e[0]);return t.push(n.name),e.length>1&&e[1]!=null&&t.push(e[1]),null}),Ou(t.join("/"))}function Vu(r){return St(r.map(t=>{let e=G(t[0]),n=Uint8Array.from(on(e.code));return t.length>1&&t[1]!=null&&(n=St([n,t[1]])),n}))}function Cx(r,t){if(r.size>0)return r.size/8;if(r.size===0)return 0;{let e=$r(t instanceof Uint8Array?t:Uint8Array.from(t));return e+Gt(e)}}function Ou(r){return"/"+r.trim().split("/").filter(t=>t).join("/")}function o0(r){return new Error("Error parsing address: "+r)}var Nx=Symbol.for("nodejs.util.inspect.custom"),Mu=Symbol.for("@multiformats/js-multiaddr/multiaddr"),Lx=[G("dns").code,G("dns4").code,G("dns6").code,G("dnsaddr").code],na=class r{bytes;#t;#e;#r;#o;[Mu]=!0;constructor(t){t==null&&(t="");let e;if(t instanceof Uint8Array)e=Fu(t);else if(typeof t=="string"){if(t.length>0&&t.charAt(0)!=="/")throw new Error(`multiaddr "${t}" must start with a "/"`);e=r0(t)}else if(i0(t))e=Fu(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.#o=e.path}toString(){return this.#t}toJSON(){return this.toString()}toOptions(){let t,e,n,o,s="",i=G("tcp"),a=G("udp"),c=G("ip4"),u=G("ip6"),f=G("dns6"),l=G("ip6zone");for(let[h,p]of this.stringTuples())h===l.code&&(s=`%${p??""}`),Lx.includes(h)&&(e=i.name,o=443,n=`${p??""}${s}`,t=h===f.code?6:4),(h===i.code||h===a.code)&&(e=G(h).name,o=parseInt(p??"")),(h===c.code||h===u.code)&&(e=G(h).name,n=`${p??""}${s}`,t=h===u.code?6:4);if(t==null||e==null||n==null||o==null)throw new Error('multiaddr must have a valid format: "/{ip4, ip6, dns4, dns6, dnsaddr}/{address}/{tcp, udp}/{port}".');return{family:t,host:n,transport:e,port:o}}protos(){return this.#e.map(([t])=>Object.assign({},G(t)))}protoCodes(){return this.#e.map(([t])=>t)}protoNames(){return this.#e.map(([t])=>G(t).name)}tuples(){return this.#e}stringTuples(){return this.#r}encapsulate(t){return t=new r(t),new r(this.toString()+t.toString())}decapsulate(t){let e=t.toString(),n=this.toString(),o=n.lastIndexOf(e);if(o<0)throw new Error(`Address ${this.toString()} does not contain subaddress: ${t.toString()}`);return new r(n.slice(0,o))}decapsulateCode(t){let e=this.tuples();for(let n=e.length-1;n>=0;n--)if(e[n][0]===t)return new r(Vu(e.slice(0,n)));return this}getPeerId(){try{let t=[];this.stringTuples().forEach(([n,o])=>{n===eo.p2p.code&&t.push([n,o]),n===eo["p2p-circuit"].code&&(t=[])});let e=t.pop();if(e?.[1]!=null){let n=e[1];return n[0]==="Q"||n[0]==="1"?j(ht.decode(`z${n}`),"base58btc"):j(tt.parse(n).multihash.bytes,"base58btc")}return null}catch{return null}}getPath(){return this.#o}equals(t){return it(this.bytes,t.bytes)}async resolve(t){let e=this.protos().find(s=>s.resolvable);if(e==null)return[this];let n=s0.get(e.name);if(n==null)throw new D(`no available resolver for ${e.name}`,"ERR_NO_AVAILABLE_RESOLVER");return(await n(this,t)).map(s=>fr(s))}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)}[Nx](){return`Multiaddr(${this.#t})`}};var s0=new Map;function i0(r){return!!r?.[Mu]}function fr(r){return new na(r)}var Ux=r=>r.toString().split("/").slice(1),Wo=r=>({match:t=>t.length<1?!1:r(t[0])?t.slice(1):!1,pattern:"fn"}),ot=r=>({match:t=>Wo(e=>e===r).match(t),pattern:r}),ia=()=>({match:r=>Wo(t=>typeof t=="string").match(r),pattern:"{string}"}),aa=()=>({match:r=>Wo(t=>!isNaN(parseInt(t))).match(r),pattern:"{number}"}),Dt=()=>({match:r=>{if(r.length<2||r[0]!=="p2p"&&r[0]!=="ipfs")return!1;if(r[1].startsWith("Q")||r[1].startsWith("1"))try{ht.decode(`z${r[1]}`)}catch{return!1}else return!1;return r.slice(2)},pattern:"/p2p/{peerid}"}),oa=()=>({match:r=>{if(r.length<2||r[0]!=="certhash")return!1;try{Ja.decode(r[1])}catch{return!1}return r.slice(2)},pattern:"/certhash/{certhash}"}),Pt=r=>({match:t=>{let e=r.match(t);return e===!1?t:e},pattern:`optional(${r.pattern})`}),ae=(...r)=>({match:t=>{let e;for(let n of r){let o=n.match(t);o!==!1&&(e==null||o.length<e.length)&&(e=o)}return e??!1},pattern:`or(${r.map(t=>t.pattern).join(", ")})`}),ct=(...r)=>({match:t=>{for(let e of r){let n=e.match(t);if(n===!1)return!1;t=n}return t},pattern:`and(${r.map(t=>t.pattern).join(", ")})`});function yt(...r){function t(o){let s=Ux(o);for(let i of r){let a=i.match(s);if(a===!1)return!1;s=a}return s}function e(o){return t(o)!==!1}function n(o){let s=t(o);return s===!1?!1:s.length===0}return{matches:e,exactMatch:n}}var Hu=ct(ot("dns4"),ia()),Ku=ct(ot("dns6"),ia()),qu=ct(ot("dnsaddr"),ia()),a0=ct(ot("dns"),ia()),u4=yt(Hu),l4=yt(Ku),f4=yt(qu),c0=yt(ae(a0,qu,Hu,Ku)),u0=ct(ot("ip4"),Wo(Qn)),l0=ct(ot("ip6"),Wo(to)),f0=ae(u0,l0),$e=ae(f0,a0,Hu,Ku,qu),h4=yt($e),d4=yt(u0),p4=yt(l0),m4=yt(f0),ca=ct($e,ot("tcp"),aa()),Yo=ct($e,ot("udp"),aa()),Dx=ae(ca,Yo),g4=yt(ca),y4=yt(Yo),zu=ct(Yo,ot("quic")),ua=ct(Yo,ot("quic-v1")),Px=ae(zu,ua),w4=yt(zu),b4=yt(ua),$u=ae($e,ca,Yo,zu,ua),h0=ae(ct($u,ot("ws"),Pt(Dt()))),x4=yt(h0),d0=ae(ct($u,ot("wss"),Pt(Dt())),ct($u,ot("tls"),ot("ws"),Pt(Dt()))),E4=yt(d0),p0=ct(Dx,ot("webrtc-direct"),oa(),Pt(oa()),Pt(Dt())),v4=yt(p0),m0=ct(ua,ot("webtransport"),Pt(oa()),Pt(oa()),Pt(Dt())),A4=yt(m0),sa=ae(h0,d0,ct(ca,Pt(Dt())),ct(Px,Pt(Dt())),ct($e,Pt(Dt())),p0,m0,Dt()),B4=yt(sa),Ox=ct(sa,ot("p2p-circuit"),Dt()),k4=yt(Ox),Fx=ae(ct(sa,ot("p2p-circuit"),ot("webrtc"),Dt()),ct(sa,ot("webrtc"),Pt(Dt())),ot("webrtc")),S4=yt(Fx),Vx=ae(ct($e,ot("tcp"),aa(),ot("http"),Pt(Dt())),ct($e,ot("http"),Pt(Dt()))),g0=yt(Vx),Mx=ae(ct($e,ot("tcp"),ae(ct(ot("443"),ot("http")),ct(aa(),ot("https"))),Pt(Dt())),ct($e,ot("tls"),ot("http"),Pt(Dt())),ct($e,ot("https"),Pt(Dt()))),y0=yt(Mx);var $x=[G("tcp").code,G("dns").code,G("dnsaddr").code,G("dns4").code,G("dns6").code];function w0(r){let t;try{t=G("sni").code}catch{return null}for(let[e,n]of r)if(e===t&&n!==void 0)return n;return null}function b0(r){return r.some(([t,e])=>t===G("tls").code)}function ce(r,t,e){let n=x0[G(r).name];if(n===void 0)throw new Error(`Can't interpret protocol ${G(r).name}`);let o=n(t,e);return r===G("ip6").code?`[${o}]`:o}var x0={ip4:(r,t)=>r,ip6:(r,t)=>t.length===0?r:`[${r}]`,tcp:(r,t)=>{let e=t.pop();if(e===void 0)throw new Error("Unexpected end of multiaddr");return`tcp://${ce(e[0],e[1]??"",t)}:${r}`},udp:(r,t)=>{let e=t.pop();if(e===void 0)throw new Error("Unexpected end of multiaddr");return`udp://${ce(e[0],e[1]??"",t)}:${r}`},dnsaddr:(r,t)=>r,dns4:(r,t)=>r,dns6:(r,t)=>r,dns:(r,t)=>r,ipfs:(r,t)=>{let e=t.pop();if(e===void 0)throw new Error("Unexpected end of multiaddr");return`${ce(e[0],e[1]??"",t)}/ipfs/${r}`},p2p:(r,t)=>{let e=t.pop();if(e===void 0)throw new Error("Unexpected end of multiaddr");return`${ce(e[0],e[1]??"",t)}/p2p/${r}`},http:(r,t)=>{let e=b0(t),n=w0(t);if(e&&n!==null)return`https://${n}`;let o=e?"https://":"http://",s=t.pop();if(s===void 0)throw new Error("Unexpected end of multiaddr");let i=ce(s[0],s[1]??"",t);return i=i.replace("tcp://",""),`${o}${i}`},tls:(r,t)=>{let e=t.pop();if(e===void 0)throw new Error("Unexpected end of multiaddr");return ce(e[0],e[1]??"",t)},sni:(r,t)=>{let e=t.pop();if(e===void 0)throw new Error("Unexpected end of multiaddr");return ce(e[0],e[1]??"",t)},https:(r,t)=>{let e=t.pop();if(e===void 0)throw new Error("Unexpected end of multiaddr");let n=ce(e[0],e[1]??"",t);return n=n.replace("tcp://",""),`https://${n}`},ws:(r,t)=>{let e=b0(t),n=w0(t);if(e&&n!==null)return`wss://${n}`;let o=e?"wss://":"ws://",s=t.pop();if(s===void 0)throw new Error("Unexpected end of multiaddr");let i=ce(s[0],s[1]??"",t);return i=i.replace("tcp://",""),`${o}${i}`},wss:(r,t)=>{let e=t.pop();if(e===void 0)throw new Error("Unexpected end of multiaddr");let n=ce(e[0],e[1]??"",t);return n=n.replace("tcp://",""),`wss://${n}`},"p2p-websocket-star":(r,t)=>{let e=t.pop();if(e===void 0)throw new Error("Unexpected end of multiaddr");return`${ce(e[0],e[1]??"",t)}/p2p-websocket-star`},"p2p-webrtc-star":(r,t)=>{let e=t.pop();if(e===void 0)throw new Error("Unexpected end of multiaddr");return`${ce(e[0],e[1]??"",t)}/p2p-webrtc-star`},"p2p-webrtc-direct":(r,t)=>{let e=t.pop();if(e===void 0)throw new Error("Unexpected end of multiaddr");return`${ce(e[0],e[1]??"",t)}/p2p-webrtc-direct`}};function E0(r,t){let n=fr(r).stringTuples(),o=n.pop();if(o===void 0)throw new Error("Unexpected end of multiaddr");let s=G(o[0]),i=x0[s.name];if(i==null)throw new Error(`No interpreter found for ${s.name}`);let a=i(o[1]??"",n);return t?.assumeHttp!==!1&&$x.includes(o[0])&&(a=a.replace(/^.*:\/\//,""),o[1]==="443"?a=`https://${a}`:a=`http://${a}`),(a.startsWith("http://")||a.startsWith("https://"))&&(a=new URL(a).toString(),a.endsWith("/")&&(a=a.substring(0,a.length-1))),a}var la=class{url;#t=0;#e=0;#r=0;#o=0;#a=new Map;log;constructor(t,e){this.url=t instanceof URL?t:new URL(t),this.log=e.forComponent(`helia:trustless-gateway-block-broker:${this.url.hostname}`)}#u(t){let e=t.multihash.bytes;return le.encode(e)}async getRawBlock(t,e){let n=new URL(this.url.toString());if(n.pathname=`/ipfs/${t.toString()}`,n.search="?format=raw",e?.aborted===!0)throw new Error(`Signal to fetch raw block for CID ${t} from gateway ${this.url} was aborted prior to fetch`);let o=this.#u(t),s=new AbortController,i=()=>{s.abort()};e?.addEventListener("abort",i);try{let a=this.#a.get(o);return a==null&&(this.#t++,a=fetch(n.toString(),{signal:s.signal,headers:{Accept:"application/vnd.ipld.raw"},cache:"force-cache"}).then(async c=>{if(this.log("GET %s %d",n,c.status),!c.ok)throw this.#e++,new Error(`unable to fetch raw block for CID ${t} from gateway ${this.url}`);return this.#o++,new Uint8Array(await c.arrayBuffer())}),this.#a.set(o,a)),await a}catch{throw e?.aborted===!0?new Error(`fetching raw block for CID ${t} from gateway ${this.url} was aborted`):(this.#e++,new Error(`unable to fetch raw block for CID ${t}`))}finally{e?.removeEventListener("abort",i),this.#a.delete(o)}}reliability(){return this.#t===0?1:this.#r>0?-1/0:this.#o/(this.#t+this.#e*3)}incrementInvalidBlocks(){this.#r++}getStats(){return{attempts:this.#t,errors:this.#e,invalidBlocks:this.#r,successes:this.#o,pendingResponses:this.#a.size}}};function Hx(r,t,e){return r.filter(n=>y0.matches(n)||t&&g0.matches(n)?e||c0.matches(n)?!0:jp(n.toOptions().host)===!1:!1)}async function*fa(r,t,e,n,o,s){for await(let i of t.findProviders(r,s)){let a=Hx(i.multiaddrs,n,o);if(a.length===0)continue;let c=E0(a[0]);yield new la(c,e)}}var ju=class extends jo{routing;allowInsecure;allowLocal;constructor(t,e){super(t,{...e,name:"helia:trustless-gateway:session"}),this.routing=t.routing,this.allowInsecure=e.allowInsecure??ha,this.allowLocal=e.allowLocal??da}async queryProvider(t,e,n){this.log("fetching BLOCK for %c from %s",t,e.url);let o=await e.getRawBlock(t,n.signal);return this.log.trace("got block for %c from %s",t,e.url),await n.validateFn?.(o),o}async*findNewProviders(t,e={}){yield*fa(t,this.routing,this.logger,this.allowInsecure,this.allowLocal,e)}toEvictionKey(t){return t.url.toString()}equals(t,e){return t.url.toString()===e.url.toString()}};function v0(r,t){return new ju(r,t)}var pa=class{allowInsecure;allowLocal;routing;log;logger;constructor(t,e={}){this.log=t.logger.forComponent("helia:trustless-gateway-block-broker"),this.logger=t.logger,this.routing=t.routing,this.allowInsecure=e.allowInsecure??ha,this.allowLocal=e.allowLocal??da}async retrieve(t,e={}){let n=[];for await(let o of fa(t,this.routing,this.logger,this.allowInsecure,this.allowLocal,e)){this.log("getting block for %c from %s",t,o.url);try{let s=await o.getRawBlock(t,e.signal);this.log.trace("got block for %c from %s",t,o.url);try{await e.validateFn?.(s)}catch(i){this.log.error("failed to validate block for %c from %s",t,o.url,i);continue}return s}catch(s){if(this.log.error("failed to get block for %c from %s",t,o.url,s),s instanceof Error?n.push(s):n.push(new Error(`Unable to fetch raw block for CID ${t} from gateway ${o.url}`)),e.signal?.aborted===!0){this.log.trace("request aborted while fetching raw block for CID %c from gateway %s",t,o.url);break}}}throw n.length>0?new AggregateError(n,`Unable to fetch raw block for CID ${t} from any gateway`):new Error(`Unable to fetch raw block for CID ${t} from any gateway`)}createSession(t={}){return v0({logger:this.logger,routing:this.routing},t)}};var ha=!1,da=!1;function Gu(r={}){return t=>new pa(t,r)}async function*ma(r,t={}){let e=r.getReader();try{for(;;){let n=await e.read();if(n.done)return;yield n.value}}finally{t.preventCancel!==!0&&await e.cancel(),e.releaseLock()}}var jx=Jt(sn(),1);var Gx=Jt(Yu(),1);var A0="ERR_IPNS_EXPIRED_RECORD",ga="ERR_UNRECOGNIZED_VALIDITY";var hr="ERR_SIGNATURE_VERIFICATION";var Zu="ERR_UNDEFINED_PARAMETER",B0="ERR_INVALID_RECORD_DATA",k0="ERR_INVALID_VALUE",S0="ERR_INVALID_EMBEDDED_KEY";var I0="ERR_RECORD_TOO_LARGE";var _e;(function(r){let t;(function(o){o.EOL="EOL"})(t=r.ValidityType||(r.ValidityType={}));let e;(function(o){o[o.EOL=0]="EOL"})(e||(e={})),function(o){o.codec=()=>ho(e)}(t=r.ValidityType||(r.ValidityType={}));let n;r.codec=()=>(n==null&&(n=gn((o,s,i={})=>{i.lengthDelimited!==!1&&s.fork(),o.value!=null&&(s.uint32(10),s.bytes(o.value)),o.signatureV1!=null&&(s.uint32(18),s.bytes(o.signatureV1)),o.validityType!=null&&(s.uint32(24),r.ValidityType.codec().encode(o.validityType,s)),o.validity!=null&&(s.uint32(34),s.bytes(o.validity)),o.sequence!=null&&(s.uint32(40),s.uint64(o.sequence)),o.ttl!=null&&(s.uint32(48),s.uint64(o.ttl)),o.pubKey!=null&&(s.uint32(58),s.bytes(o.pubKey)),o.signatureV2!=null&&(s.uint32(66),s.bytes(o.signatureV2)),o.data!=null&&(s.uint32(74),s.bytes(o.data)),i.lengthDelimited!==!1&&s.ldelim()},(o,s)=>{let i={},a=s==null?o.len:o.pos+s;for(;o.pos<a;){let c=o.uint32();switch(c>>>3){case 1:i.value=o.bytes();break;case 2:i.signatureV1=o.bytes();break;case 3:i.validityType=r.ValidityType.codec().decode(o);break;case 4:i.validity=o.bytes();break;case 5:i.sequence=o.uint64();break;case 6:i.ttl=o.uint64();break;case 7:i.pubKey=o.bytes();break;case 8:i.signatureV2=o.bytes();break;case 9:i.data=o.bytes();break;default:o.skipType(c&7);break}}return i})),n),r.encode=o=>pn(o,r.codec()),r.decode=o=>un(o,r.codec())})(_e||(_e={}));var ue=Jt(sn(),1);var _0=re("ipns:utils"),T0=q("/ipns/"),Kx=114,C0=async(r,t)=>{if(t==null||r==null){let n=new Error("one or more of the provided parameters are not defined");throw _0.error(n),(0,ue.default)(n,Zu)}let e;if(t.pubKey!=null){try{e=Jc(t.pubKey)}catch(o){throw _0.error(o),o}if(!(await uf(t.pubKey)).equals(r))throw(0,ue.default)(new Error("Embedded public key did not match PeerID"),S0)}else r.publicKey!=null&&(e=Jc(r.publicKey));if(e!=null)return e;throw(0,ue.default)(new Error("no public key is available"),Zu)};var N0=r=>{let t=q("ipns-signature:");return St([t,r])},en=r=>"signatureV1"in r?_e.encode({value:q(r.value),signatureV1:r.signatureV1,validityType:r.validityType,validity:q(r.validity),sequence:r.sequence,ttl:r.ttl,pubKey:r.pubKey,signatureV2:r.signatureV2,data:r.data}):_e.encode({pubKey:r.pubKey,signatureV2:r.signatureV2,data:r.data});function He(r){let t=_e.decode(r);if(t.sequence!=null&&(t.sequence=BigInt(t.sequence)),t.ttl!=null&&(t.ttl=BigInt(t.ttl)),t.signatureV2==null||t.data==null)throw(0,ue.default)(new Error("missing data or signatureV2"),hr);let e=L0(t.data),n=qx(e.Value),o=j(e.Validity);if(t.value!=null&&t.signatureV1!=null)return zx(t),{value:n,validityType:_e.ValidityType.EOL,validity:o,sequence:e.Sequence,ttl:e.TTL,pubKey:t.pubKey,signatureV1:t.signatureV1,signatureV2:t.signatureV2,data:t.data};if(t.signatureV2!=null)return{value:n,validityType:_e.ValidityType.EOL,validity:o,sequence:e.Sequence,ttl:e.TTL,pubKey:t.pubKey,signatureV2:t.signatureV2,data:t.data};throw new Error("invalid record: does not include signatureV1 or signatureV2")}var Ju=r=>St([T0,r.toBytes()]),ro=r=>mo(r.slice(T0.length));var L0=r=>{let t=ge(r);if(t.ValidityType===0)t.ValidityType=_e.ValidityType.EOL;else throw(0,ue.default)(new Error("Unknown validity type"),ga);return Number.isInteger(t.Sequence)&&(t.Sequence=BigInt(t.Sequence)),Number.isInteger(t.TTL)&&(t.TTL=BigInt(t.TTL)),t},qx=r=>{if(r!=null){if(El(r))return`/ipns/${r.toCID().toString(br)}`;if(r instanceof Uint8Array){let n=j(r);n.startsWith("/")&&(r=n)}let t=r.toString().trim();if(t.startsWith("/")&&t.length>1)return t;let e=tt.asCID(r);if(e!=null)return e.code===Kx?`/ipns/${e.toString(br)}`:`/ipfs/${e.toV1().toString()}`;try{return r instanceof Uint8Array?`/ipfs/${tt.decode(r).toV1().toString()}`:`/ipfs/${tt.parse(t).toV1().toString()}`}catch{}}throw(0,ue.default)(new Error("Value must be a valid content path starting with /"),k0)},zx=r=>{if(r.data==null)throw(0,ue.default)(new Error("Record data is missing"),B0);let t=L0(r.data);if(!it(t.Value,r.value??new Uint8Array(0)))throw(0,ue.default)(new Error('Field "value" did not match between protobuf and CBOR'),hr);if(!it(t.Validity,r.validity??new Uint8Array(0)))throw(0,ue.default)(new Error('Field "validity" did not match between protobuf and CBOR'),hr);if(t.ValidityType!==r.validityType)throw(0,ue.default)(new Error('Field "validityType" did not match between protobuf and CBOR'),hr);if(t.Sequence!==r.sequence)throw(0,ue.default)(new Error('Field "sequence" did not match between protobuf and CBOR'),hr);if(t.TTL!==r.ttl)throw(0,ue.default)(new Error('Field "ttl" did not match between protobuf and CBOR'),hr)};var x3=re("ipns"),E3=Wt.code,v3=60*60*1e9,Wx="/ipns/",A3=Wx.length;var Zo=Jt(sn(),1),U0=Jt(Yu(),1);var ya=re("ipns:validator"),Yx=1024*10,Zx=async(r,t)=>{let e=He(t),n;try{let o=N0(e.data);n=await r.verify(o,e.signatureV2)}catch{n=!1}if(!n)throw ya.error("record signature verification failed"),(0,Zo.default)(new Error("record signature verification failed"),hr);if(e.validityType===_e.ValidityType.EOL){if(U0.default.fromString(e.validity).toDate().getTime()<Date.now())throw ya.error("record has expired"),(0,Zo.default)(new Error("record has expired"),A0)}else if(e.validityType!=null)throw ya.error("unrecognized validity type"),(0,Zo.default)(new Error("unrecognized validity type"),ga);ya("ipns record for %s is valid",e.value)};async function D0(r,t){if(t.byteLength>Yx)throw(0,Zo.default)(new Error("record too large"),I0);let e=ro(r),n=He(t),o=await C0(e,n);await Zx(o,t)}async function*Jo(r){let t=/\r?\n/,e=new TextDecoder("utf8"),n="";for await(let o of r){typeof o=="string"&&(o=new TextEncoder().encode(o)),n+=e.decode(o,{stream:!0});let s=n.split(t);n=s.pop()??"";for(let i=0;i<s.length;i++)yield JSON.parse(s[i])}n+=e.decode(),n!==""&&(yield JSON.parse(n))}function Jx(r){return r[Symbol.asyncIterator]!=null}function Xx(r){if(Jx(r))return(async()=>{for await(let t of r)return t})();for(let t of r)return t}var wa=Xx;var Xu=q("/ipns/");function P0(r){return it(r.subarray(0,Xu.byteLength),Xu)}var O0=r=>mo(r.slice(Xu.length)),ba=class{client;constructor(t){this.client=t}async*findProviders(t,e={}){yield*cn(this.client.getProviders(t,e),n=>({id:n.ID,multiaddrs:n.Addrs??[]}))}async provide(){}async put(t,e,n){if(!P0(t))return;let o=O0(t),s=He(e);await this.client.putIPNS(o,s,n)}async get(t,e){if(!P0(t))throw new D("Not found","ERR_NOT_FOUND");let n=O0(t);try{let o=await this.client.getIPNS(n,e);return en(o)}catch(o){throw o.code==="ERR_BAD_RESPONSE"?new D("Not found","ERR_NOT_FOUND"):o}}},xa=class{client;constructor(t){this.client=t}async findPeer(t,e={}){let n=await wa(this.client.getPeers(t,e));if(n!=null)return{id:n.ID,multiaddrs:n.Addrs??[]};throw new D("Not found","ERR_NOT_FOUND")}async*getClosestPeers(t,e={}){}};var Zt=re("delegated-routing-v1-http-api-client"),F0={concurrentRequests:4,timeout:3e4},Ea=class{started;httpQueue;shutDownController;clientUrl;timeout;contentRouting;peerRouting;constructor(t,e={}){this.started=!1,this.shutDownController=new AbortController,ft(1/0,this.shutDownController.signal),this.httpQueue=new Ve({concurrency:e.concurrentRequests??F0.concurrentRequests}),this.clientUrl=t instanceof URL?t:new URL(t),this.timeout=e.timeout??F0.timeout,this.contentRouting=new ba(this),this.peerRouting=new xa(this)}get[oo](){return this.contentRouting}get[io](){return this.peerRouting}isStarted(){return this.started}start(){this.started=!0}stop(){this.httpQueue.clear(),this.shutDownController.abort(),this.started=!1}async*getProviders(t,e={}){Zt("getProviders starts: %c",t);let n=AbortSignal.timeout(this.timeout),o=Ht([this.shutDownController.signal,n,e.signal]);ft(1/0,n,o);let s=kt(),i=kt();this.httpQueue.add(async()=>(s.resolve(),i.promise));try{await s.promise;let a=`${this.clientUrl}routing/v1/providers/${t.toString()}`,u=await fetch(a,{headers:{Accept:"application/x-ndjson"},signal:o});if(u.status===404)throw new D("No matching records found.","ERR_NOT_FOUND");if(u.status===422)throw new D("Request does not conform to schema or semantic constraints.","ERR_INVALID_REQUEST");if(u.body==null)throw new D("Routing response had no body","ERR_BAD_RESPONSE");if(u.headers.get("Content-Type")==="application/json"){let l=await u.json();for(let m of l.Providers){let h=this.#t(m);h!=null&&(yield h)}}else for await(let l of Jo(ma(u.body))){let m=this.#t(l);m!=null&&(yield m)}}catch(a){Zt.error("getProviders errored:",a)}finally{o.clear(),i.resolve(),Zt("getProviders finished: %c",t)}}async*getPeers(t,e={}){Zt("getPeers starts: %c",t);let n=AbortSignal.timeout(this.timeout),o=Ht([this.shutDownController.signal,n,e.signal]);ft(1/0,n,o);let s=kt(),i=kt();this.httpQueue.add(async()=>(s.resolve(),i.promise));try{await s.promise;let a=`${this.clientUrl}routing/v1/peers/${t.toCID().toString()}`,u=await fetch(a,{headers:{Accept:"application/x-ndjson"},signal:o});if(u.status===404)throw new D("No matching records found.","ERR_NOT_FOUND");if(u.status===422)throw new D("Request does not conform to schema or semantic constraints.","ERR_INVALID_REQUEST");if(u.body==null)throw new D("Routing response had no body","ERR_BAD_RESPONSE");if(u.headers.get("Content-Type")==="application/json"){let l=await u.json();for(let m of l.Peers){let h=this.#t(m);h!=null&&(yield h)}}else for await(let l of Jo(ma(u.body))){let m=this.#t(l);m!=null&&(yield m)}}catch(a){Zt.error("getPeers errored:",a)}finally{o.clear(),i.resolve(),Zt("getPeers finished: %c",t)}}async getIPNS(t,e={}){Zt("getIPNS starts: %c",t);let n=AbortSignal.timeout(this.timeout),o=Ht([this.shutDownController.signal,n,e.signal]);ft(1/0,n,o);let s=kt(),i=kt();this.httpQueue.add(async()=>(s.resolve(),i.promise));let a=`${this.clientUrl}routing/v1/ipns/${t.toCID().toString()}`;try{await s.promise;let u=await fetch(a,{headers:{Accept:"application/vnd.ipfs.ipns-record"},signal:o});if(Zt("getIPNS GET %s %d",a,u.status),u.status===404)throw new D("No matching records found.","ERR_NOT_FOUND");if(u.status===422)throw new D("Request does not conform to schema or semantic constraints.","ERR_INVALID_REQUEST");if(u.body==null)throw new D("GET ipns response had no body","ERR_BAD_RESPONSE");let f=await u.arrayBuffer(),l=new Uint8Array(f,0,f.byteLength);return e.validate!==!1&&await D0(Ju(t),l),He(l)}catch(c){throw Zt.error("getIPNS GET %s error:",a,c),c}finally{o.clear(),i.resolve(),Zt("getIPNS finished: %c",t)}}async putIPNS(t,e,n={}){Zt("putIPNS starts: %c",t);let o=AbortSignal.timeout(this.timeout),s=Ht([this.shutDownController.signal,o,n.signal]);ft(1/0,o,s);let i=kt(),a=kt();this.httpQueue.add(async()=>(i.resolve(),a.promise));let c=`${this.clientUrl}routing/v1/ipns/${t.toCID().toString()}`;try{await i.promise;let u=en(e),l=await fetch(c,{method:"PUT",headers:{"Content-Type":"application/vnd.ipfs.ipns-record"},body:u,signal:s});if(Zt("putIPNS PUT %s %d",c,l.status),l.status!==200)throw new D("PUT ipns response had status other than 200","ERR_BAD_RESPONSE")}catch(u){throw Zt.error("putIPNS PUT %s error:",c,u.stack),u}finally{s.clear(),a.resolve(),Zt("putIPNS finished: %c",t)}}#t(t){let e=[],n=t.Addrs?.map(fr)??[];return t.Protocols!=null&&e.push(...t.Protocols),t.Protocol!=null&&(e.push(t.Protocol),delete t.Protocol),{...t,Schema:"peer",ID:wc(t.ID),Addrs:n,Protocols:e}}};function V0(r,t={}){return new Ea(new URL(r),t)}var M0=q("/ipns/");function $0(r){return it(r.subarray(0,M0.byteLength),M0)}var Qu=class{client;constructor(t){this.client=V0(t)}async provide(t,e){}async*findProviders(t,e){yield*cn(this.client.getProviders(t,e),n=>({id:n.ID,multiaddrs:n.Addrs,protocols:n.Protocols}))}async put(t,e,n){if(!$0(t))return;let o=ro(t),s=He(e);await this.client.putIPNS(o,s,n)}async get(t,e){if(!$0(t))throw new D("Not found","ERR_NOT_FOUND");let n=ro(t);try{let o=await this.client.getIPNS(n,e);return en(o)}catch(o){throw o.code==="ERR_BAD_RESPONSE"?new D("Not found","ERR_NOT_FOUND"):o}}async findPeer(t,e){let n=await wa(this.client.getPeers(t,e));if(n!=null)return{id:n.ID,multiaddrs:n.Addrs??[]};throw new D("Not found","ERR_NOT_FOUND")}async*getClosestPeers(t,e){}};function tl(r){return new Qu(new URL(r))}var H0="[a-fA-F\\d:]",Or=r=>r&&r.includeBoundaries?`(?:(?<=\\s|^)(?=${H0})|(?<=${H0})(?=\\s|$))`:"",Te="(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)(?:\\.(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)){3}",xt="[a-fA-F\\d]{1,4}",va=`
|
|
7
|
+
`)}`:`${e} :`}};jf=kr;F.Constructed=jf;kr.NAME="CONSTRUCTED";var Ds=class extends Ot{fromBER(t,e,n){return e}toBER(t){return ve}};Ds.override="EndOfContentValueBlock";var Gf,Ps=class extends Ct{constructor(t={}){super(t,Ds),this.idBlock.tagClass=1,this.idBlock.tagNumber=0}};Gf=Ps;F.EndOfContent=Gf;Ps.NAME=wo;var Wf,Sr=class extends Ct{constructor(t={}){super(t,Ot),this.idBlock.tagClass=1,this.idBlock.tagNumber=5}fromBER(t,e,n){return this.lenBlock.length>0&&this.warnings.push("Non-zero length of value block for Null type"),this.idBlock.error.length||(this.blockLength+=this.idBlock.blockLength),this.lenBlock.error.length||(this.blockLength+=this.lenBlock.blockLength),this.blockLength+=n,e+n>t.byteLength?(this.error="End of input reached before message was fully decoded (inconsistent offset and length values)",-1):e+n}toBER(t,e){let n=new ArrayBuffer(2);if(!t){let o=new Uint8Array(n);o[0]=5,o[1]=0}return e&&e.write(n),n}onAsciiEncoding(){return`${this.constructor.NAME}`}};Wf=Sr;F.Null=Wf;Sr.NAME="NULL";var Os=class extends rr(Ot){constructor({value:t,...e}={}){super(e),e.valueHex?this.valueHexView=Y.BufferSourceConverter.toUint8Array(e.valueHex):this.valueHexView=new Uint8Array(1),t&&(this.value=t)}get value(){for(let t of this.valueHexView)if(t>0)return!0;return!1}set value(t){this.valueHexView[0]=t?255:0}fromBER(t,e,n){let o=Y.BufferSourceConverter.toUint8Array(t);return er(this,o,e,n)?(this.valueHexView=o.subarray(e,e+n),n>1&&this.warnings.push("Boolean value encoded in more then 1 octet"),this.isHexOnly=!0,Pc.call(this),this.blockLength=n,e+n):-1}toBER(){return this.valueHexView.slice()}toJSON(){return{...super.toJSON(),value:this.value}}};Os.NAME="BooleanValueBlock";var Yf,Fs=class extends Ct{constructor(t={}){super(t,Os),this.idBlock.tagClass=1,this.idBlock.tagNumber=1}getValue(){return this.valueBlock.value}setValue(t){this.valueBlock.value=t}onAsciiEncoding(){return`${this.constructor.NAME} : ${this.getValue}`}};Yf=Fs;F.Boolean=Yf;Fs.NAME="BOOLEAN";var Vs=class extends rr(De){constructor({isConstructed:t=!1,...e}={}){super(e),this.isConstructed=t}fromBER(t,e,n){let o=0;if(this.isConstructed){if(this.isHexOnly=!1,o=De.prototype.fromBER.call(this,t,e,n),o===-1)return o;for(let s=0;s<this.value.length;s++){let i=this.value[s].constructor.NAME;if(i===wo){if(this.isIndefiniteForm)break;return this.error="EndOfContent is unexpected, OCTET STRING may consists of OCTET STRINGs only",-1}if(i!==Hf)return this.error="OCTET STRING may consists of OCTET STRINGs only",-1}}else this.isHexOnly=!0,o=super.fromBER(t,e,n),this.blockLength=n;return o}toBER(t,e){return this.isConstructed?De.prototype.toBER.call(this,t,e):t?new ArrayBuffer(this.valueHexView.byteLength):this.valueHexView.slice().buffer}toJSON(){return{...super.toJSON(),isConstructed:this.isConstructed}}};Vs.NAME="OctetStringValueBlock";var Zf,Qe=class r extends Ct{constructor({idBlock:t={},lenBlock:e={},...n}={}){var o,s;(o=n.isConstructed)!==null&&o!==void 0||(n.isConstructed=!!(!((s=n.value)===null||s===void 0)&&s.length)),super({idBlock:{isConstructed:n.isConstructed,...t},lenBlock:{...e,isIndefiniteForm:!!n.isIndefiniteForm},...n},Vs),this.idBlock.tagClass=1,this.idBlock.tagNumber=4}fromBER(t,e,n){if(this.valueBlock.isConstructed=this.idBlock.isConstructed,this.valueBlock.isIndefiniteForm=this.lenBlock.isIndefiniteForm,n===0)return this.idBlock.error.length===0&&(this.blockLength+=this.idBlock.blockLength),this.lenBlock.error.length===0&&(this.blockLength+=this.lenBlock.blockLength),e;if(!this.valueBlock.isConstructed){let s=(t instanceof ArrayBuffer?new Uint8Array(t):t).subarray(e,e+n);try{if(s.byteLength){let i=di(s,0,s.byteLength);i.offset!==-1&&i.offset===n&&(this.valueBlock.value=[i.result])}}catch{}}return super.fromBER(t,e,n)}onAsciiEncoding(){return this.valueBlock.isConstructed||this.valueBlock.value&&this.valueBlock.value.length?kr.prototype.onAsciiEncoding.call(this):`${this.constructor.NAME} : ${Y.Convert.ToHex(this.valueBlock.valueHexView)}`}getValue(){if(!this.idBlock.isConstructed)return this.valueBlock.valueHexView.slice().buffer;let t=[];for(let e of this.valueBlock.value)e instanceof r&&t.push(e.valueBlock.valueHexView);return Y.BufferSourceConverter.concat(t)}};Zf=Qe;F.OctetString=Zf;Qe.NAME=Hf;var Ms=class extends rr(De){constructor({unusedBits:t=0,isConstructed:e=!1,...n}={}){super(n),this.unusedBits=t,this.isConstructed=e,this.blockLength=this.valueHexView.byteLength}fromBER(t,e,n){if(!n)return e;let o=-1;if(this.isConstructed){if(o=De.prototype.fromBER.call(this,t,e,n),o===-1)return o;for(let a of this.value){let c=a.constructor.NAME;if(c===wo){if(this.isIndefiniteForm)break;return this.error="EndOfContent is unexpected, BIT STRING may consists of BIT STRINGs only",-1}if(c!==Kf)return this.error="BIT STRING may consists of BIT STRINGs only",-1;let l=a.valueBlock;if(this.unusedBits>0&&l.unusedBits>0)return this.error='Using of "unused bits" inside constructive BIT STRING allowed for least one only',-1;this.unusedBits=l.unusedBits}return o}let s=Y.BufferSourceConverter.toUint8Array(t);if(!er(this,s,e,n))return-1;let i=s.subarray(e,e+n);if(this.unusedBits=i[0],this.unusedBits>7)return this.error="Unused bits for BitString must be in range 0-7",-1;if(!this.unusedBits){let a=i.subarray(1);try{if(a.byteLength){let c=di(a,0,a.byteLength);c.offset!==-1&&c.offset===n-1&&(this.value=[c.result])}}catch{}}return this.valueHexView=i.subarray(1),this.blockLength=i.length,e+n}toBER(t,e){if(this.isConstructed)return De.prototype.toBER.call(this,t,e);if(t)return new ArrayBuffer(this.valueHexView.byteLength+1);if(!this.valueHexView.byteLength)return ve;let n=new Uint8Array(this.valueHexView.length+1);return n[0]=this.unusedBits,n.set(this.valueHexView,1),n.buffer}toJSON(){return{...super.toJSON(),unusedBits:this.unusedBits,isConstructed:this.isConstructed}}};Ms.NAME="BitStringValueBlock";var Jf,Cn=class extends Ct{constructor({idBlock:t={},lenBlock:e={},...n}={}){var o,s;(o=n.isConstructed)!==null&&o!==void 0||(n.isConstructed=!!(!((s=n.value)===null||s===void 0)&&s.length)),super({idBlock:{isConstructed:n.isConstructed,...t},lenBlock:{...e,isIndefiniteForm:!!n.isIndefiniteForm},...n},Ms),this.idBlock.tagClass=1,this.idBlock.tagNumber=3}fromBER(t,e,n){return this.valueBlock.isConstructed=this.idBlock.isConstructed,this.valueBlock.isIndefiniteForm=this.lenBlock.isIndefiniteForm,super.fromBER(t,e,n)}onAsciiEncoding(){if(this.valueBlock.isConstructed||this.valueBlock.value&&this.valueBlock.value.length)return kr.prototype.onAsciiEncoding.call(this);{let t=[],e=this.valueBlock.valueHexView;for(let o of e)t.push(o.toString(2).padStart(8,"0"));let n=t.join("");return`${this.constructor.NAME} : ${n.substring(0,n.length-this.valueBlock.unusedBits)}`}}};Jf=Cn;F.BitString=Jf;Cn.NAME=Kf;var Xf;function rw(r,t){let e=new Uint8Array([0]),n=new Uint8Array(r),o=new Uint8Array(t),s=n.slice(0),i=s.length-1,a=o.slice(0),c=a.length-1,l=0,f=c<i?i:c,u=0;for(let m=f;m>=0;m--,u++){switch(!0){case u<a.length:l=s[i-u]+a[c-u]+e[0];break;default:l=s[i-u]+e[0]}switch(e[0]=l/10,!0){case u>=s.length:s=Rs(new Uint8Array([l%10]),s);break;default:s[i-u]=l%10}}return e[0]>0&&(s=Rs(e,s)),s}function $f(r){if(r>=go.length)for(let t=go.length;t<=r;t++){let e=new Uint8Array([0]),n=go[t-1].slice(0);for(let o=n.length-1;o>=0;o--){let s=new Uint8Array([(n[o]<<1)+e[0]]);e[0]=s[0]/10,n[o]=s[0]%10}e[0]>0&&(n=Rs(e,n)),go.push(n)}return go[r]}function nw(r,t){let e=0,n=new Uint8Array(r),o=new Uint8Array(t),s=n.slice(0),i=s.length-1,a=o.slice(0),c=a.length-1,l,f=0;for(let u=c;u>=0;u--,f++)switch(l=s[i-f]-a[c-f]-e,!0){case l<0:e=1,s[i-f]=l+10;break;default:e=0,s[i-f]=l}if(e>0)for(let u=i-c+1;u>=0;u--,f++)if(l=s[i-f]-e,l<0)e=1,s[i-f]=l+10;else{e=0,s[i-f]=l;break}return s.slice()}var bo=class extends rr(Ot){constructor({value:t,...e}={}){super(e),this._valueDec=0,e.valueHex&&this.setValueHex(),t!==void 0&&(this.valueDec=t)}setValueHex(){this.valueHexView.length>=4?(this.warnings.push("Too big Integer for decoding, hex only"),this.isHexOnly=!0,this._valueDec=0):(this.isHexOnly=!1,this.valueHexView.length>0&&(this._valueDec=Pc.call(this)))}set valueDec(t){this._valueDec=t,this.isHexOnly=!1,this.valueHexView=new Uint8Array(Ff(t))}get valueDec(){return this._valueDec}fromDER(t,e,n,o=0){let s=this.fromBER(t,e,n);if(s===-1)return s;let i=this.valueHexView;return i[0]===0&&i[1]&128?this.valueHexView=i.subarray(1):o!==0&&i.length<o&&(o-i.length>1&&(o=i.length+1),this.valueHexView=i.subarray(o-i.length)),s}toDER(t=!1){let e=this.valueHexView;switch(!0){case(e[0]&128)!==0:{let n=new Uint8Array(this.valueHexView.length+1);n[0]=0,n.set(e,1),this.valueHexView=n}break;case(e[0]===0&&(e[1]&128)===0):this.valueHexView=this.valueHexView.subarray(1);break}return this.toBER(t)}fromBER(t,e,n){let o=super.fromBER(t,e,n);return o===-1||this.setValueHex(),o}toBER(t){return t?new ArrayBuffer(this.valueHexView.length):this.valueHexView.slice().buffer}toJSON(){return{...super.toJSON(),valueDec:this.valueDec}}toString(){let t=this.valueHexView.length*8-1,e=new Uint8Array(this.valueHexView.length*8/3),n=0,o,s=this.valueHexView,i="",a=!1;for(let c=s.byteLength-1;c>=0;c--){o=s[c];for(let l=0;l<8;l++){if((o&1)===1)switch(n){case t:e=nw($f(n),e),i="-";break;default:e=rw(e,$f(n))}n++,o>>=1}}for(let c=0;c<e.length;c++)e[c]&&(a=!0),a&&(i+=Mf.charAt(e[c]));return a===!1&&(i+=Mf.charAt(0)),i}};Xf=bo;bo.NAME="IntegerValueBlock";Object.defineProperty(Xf.prototype,"valueHex",{set:function(r){this.valueHexView=new Uint8Array(r),this.setValueHex()},get:function(){return this.valueHexView.slice().buffer}});var Qf,gt=class r extends Ct{constructor(t={}){super(t,bo),this.idBlock.tagClass=1,this.idBlock.tagNumber=2}toBigInt(){return _s(),BigInt(this.valueBlock.toString())}static fromBigInt(t){_s();let e=BigInt(t),n=new yo,o=e.toString(16).replace(/^-/,""),s=new Uint8Array(Y.Convert.FromHex(o));if(e<0){let a=new Uint8Array(s.length+(s[0]&128?1:0));a[0]|=128;let l=BigInt(`0x${Y.Convert.ToHex(a)}`)+e,f=Y.BufferSourceConverter.toUint8Array(Y.Convert.FromHex(l.toString(16)));f[0]|=128,n.write(f)}else s[0]&128&&n.write(new Uint8Array([0])),n.write(s);return new r({valueHex:n.final()})}convertToDER(){let t=new r({valueHex:this.valueBlock.valueHexView});return t.valueBlock.toDER(),t}convertFromDER(){return new r({valueHex:this.valueBlock.valueHexView[0]===0?this.valueBlock.valueHexView.subarray(1):this.valueBlock.valueHexView})}onAsciiEncoding(){return`${this.constructor.NAME} : ${this.valueBlock.toString()}`}};Qf=gt;F.Integer=Qf;gt.NAME="INTEGER";var th,$s=class extends gt{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=10}};th=$s;F.Enumerated=th;$s.NAME="ENUMERATED";var xo=class extends rr(Ot){constructor({valueDec:t=-1,isFirstSid:e=!1,...n}={}){super(n),this.valueDec=t,this.isFirstSid=e}fromBER(t,e,n){if(!n)return e;let o=Y.BufferSourceConverter.toUint8Array(t);if(!er(this,o,e,n))return-1;let s=o.subarray(e,e+n);this.valueHexView=new Uint8Array(n);for(let a=0;a<n&&(this.valueHexView[a]=s[a]&127,this.blockLength++,!!(s[a]&128));a++);let i=new Uint8Array(this.blockLength);for(let a=0;a<this.blockLength;a++)i[a]=this.valueHexView[a];return this.valueHexView=i,s[this.blockLength-1]&128?(this.error="End of input reached before message was fully decoded",-1):(this.valueHexView[0]===0&&this.warnings.push("Needlessly long format of SID encoding"),this.blockLength<=8?this.valueDec=Wr(this.valueHexView,7):(this.isHexOnly=!0,this.warnings.push("Too big SID for decoding, hex only")),e+this.blockLength)}set valueBigInt(t){_s();let e=BigInt(t).toString(2);for(;e.length%7;)e="0"+e;let n=new Uint8Array(e.length/7);for(let o=0;o<n.length;o++)n[o]=parseInt(e.slice(o*7,o*7+7),2)+(o+1<n.length?128:0);this.fromBER(n.buffer,0,n.length)}toBER(t){if(this.isHexOnly){if(t)return new ArrayBuffer(this.valueHexView.byteLength);let o=this.valueHexView,s=new Uint8Array(this.blockLength);for(let i=0;i<this.blockLength-1;i++)s[i]=o[i]|128;return s[this.blockLength-1]=o[this.blockLength-1],s.buffer}let e=Br(this.valueDec,7);if(e.byteLength===0)return this.error="Error during encoding SID value",ve;let n=new Uint8Array(e.byteLength);if(!t){let o=new Uint8Array(e),s=e.byteLength-1;for(let i=0;i<s;i++)n[i]=o[i]|128;n[s]=o[s]}return n}toString(){let t="";if(this.isHexOnly)t=Y.Convert.ToHex(this.valueHexView);else if(this.isFirstSid){let e=this.valueDec;this.valueDec<=39?t="0.":this.valueDec<=79?(t="1.",e-=40):(t="2.",e-=80),t+=e.toString()}else t=this.valueDec.toString();return t}toJSON(){return{...super.toJSON(),valueDec:this.valueDec,isFirstSid:this.isFirstSid}}};xo.NAME="sidBlock";var Hs=class extends Ot{constructor({value:t=Nn,...e}={}){super(e),this.value=[],t&&this.fromString(t)}fromBER(t,e,n){let o=e;for(;n>0;){let s=new xo;if(o=s.fromBER(t,o,n),o===-1)return this.blockLength=0,this.error=s.error,o;this.value.length===0&&(s.isFirstSid=!0),this.blockLength+=s.blockLength,n-=s.blockLength,this.value.push(s)}return o}toBER(t){let e=[];for(let n=0;n<this.value.length;n++){let o=this.value[n].toBER(t);if(o.byteLength===0)return this.error=this.value[n].error,ve;e.push(o)}return Oc(e)}fromString(t){this.value=[];let e=0,n=0,o="",s=!1;do if(n=t.indexOf(".",e),n===-1?o=t.substring(e):o=t.substring(e,n),e=n+1,s){let i=this.value[0],a=0;switch(i.valueDec){case 0:break;case 1:a=40;break;case 2:a=80;break;default:this.value=[];return}let c=parseInt(o,10);if(isNaN(c))return;i.valueDec=c+a,s=!1}else{let i=new xo;if(o>Number.MAX_SAFE_INTEGER){_s();let a=BigInt(o);i.valueBigInt=a}else if(i.valueDec=parseInt(o,10),isNaN(i.valueDec))return;this.value.length||(i.isFirstSid=!0,s=!0),this.value.push(i)}while(n!==-1)}toString(){let t="",e=!1;for(let n=0;n<this.value.length;n++){e=this.value[n].isHexOnly;let o=this.value[n].toString();n!==0&&(t=`${t}.`),e?(o=`{${o}}`,this.value[n].isFirstSid?t=`2.{${o} - 80}`:t+=o):t+=o}return t}toJSON(){let t={...super.toJSON(),value:this.toString(),sidArray:[]};for(let e=0;e<this.value.length;e++)t.sidArray.push(this.value[e].toJSON());return t}};Hs.NAME="ObjectIdentifierValueBlock";var eh,Ee=class extends Ct{constructor(t={}){super(t,Hs),this.idBlock.tagClass=1,this.idBlock.tagNumber=6}getValue(){return this.valueBlock.toString()}setValue(t){this.valueBlock.fromString(t)}onAsciiEncoding(){return`${this.constructor.NAME} : ${this.valueBlock.toString()||"empty"}`}toJSON(){return{...super.toJSON(),value:this.getValue()}}};eh=Ee;F.ObjectIdentifier=eh;Ee.NAME="OBJECT IDENTIFIER";var Eo=class extends rr(Xe){constructor({valueDec:t=0,...e}={}){super(e),this.valueDec=t}fromBER(t,e,n){if(n===0)return e;let o=Y.BufferSourceConverter.toUint8Array(t);if(!er(this,o,e,n))return-1;let s=o.subarray(e,e+n);this.valueHexView=new Uint8Array(n);for(let a=0;a<n&&(this.valueHexView[a]=s[a]&127,this.blockLength++,!!(s[a]&128));a++);let i=new Uint8Array(this.blockLength);for(let a=0;a<this.blockLength;a++)i[a]=this.valueHexView[a];return this.valueHexView=i,s[this.blockLength-1]&128?(this.error="End of input reached before message was fully decoded",-1):(this.valueHexView[0]===0&&this.warnings.push("Needlessly long format of SID encoding"),this.blockLength<=8?this.valueDec=Wr(this.valueHexView,7):(this.isHexOnly=!0,this.warnings.push("Too big SID for decoding, hex only")),e+this.blockLength)}toBER(t){if(this.isHexOnly){if(t)return new ArrayBuffer(this.valueHexView.byteLength);let o=this.valueHexView,s=new Uint8Array(this.blockLength);for(let i=0;i<this.blockLength-1;i++)s[i]=o[i]|128;return s[this.blockLength-1]=o[this.blockLength-1],s.buffer}let e=Br(this.valueDec,7);if(e.byteLength===0)return this.error="Error during encoding SID value",ve;let n=new Uint8Array(e.byteLength);if(!t){let o=new Uint8Array(e),s=e.byteLength-1;for(let i=0;i<s;i++)n[i]=o[i]|128;n[s]=o[s]}return n.buffer}toString(){let t="";return this.isHexOnly?t=Y.Convert.ToHex(this.valueHexView):t=this.valueDec.toString(),t}toJSON(){return{...super.toJSON(),valueDec:this.valueDec}}};Eo.NAME="relativeSidBlock";var Ks=class extends Ot{constructor({value:t=Nn,...e}={}){super(e),this.value=[],t&&this.fromString(t)}fromBER(t,e,n){let o=e;for(;n>0;){let s=new Eo;if(o=s.fromBER(t,o,n),o===-1)return this.blockLength=0,this.error=s.error,o;this.blockLength+=s.blockLength,n-=s.blockLength,this.value.push(s)}return o}toBER(t,e){let n=[];for(let o=0;o<this.value.length;o++){let s=this.value[o].toBER(t);if(s.byteLength===0)return this.error=this.value[o].error,ve;n.push(s)}return Oc(n)}fromString(t){this.value=[];let e=0,n=0,o="";do{n=t.indexOf(".",e),n===-1?o=t.substring(e):o=t.substring(e,n),e=n+1;let s=new Eo;if(s.valueDec=parseInt(o,10),isNaN(s.valueDec))return!0;this.value.push(s)}while(n!==-1);return!0}toString(){let t="",e=!1;for(let n=0;n<this.value.length;n++){e=this.value[n].isHexOnly;let o=this.value[n].toString();n!==0&&(t=`${t}.`),e&&(o=`{${o}}`),t+=o}return t}toJSON(){let t={...super.toJSON(),value:this.toString(),sidArray:[]};for(let e=0;e<this.value.length;e++)t.sidArray.push(this.value[e].toJSON());return t}};Ks.NAME="RelativeObjectIdentifierValueBlock";var rh,qs=class extends Ct{constructor(t={}){super(t,Ks),this.idBlock.tagClass=1,this.idBlock.tagNumber=13}getValue(){return this.valueBlock.toString()}setValue(t){this.valueBlock.fromString(t)}onAsciiEncoding(){return`${this.constructor.NAME} : ${this.valueBlock.toString()||"empty"}`}toJSON(){return{...super.toJSON(),value:this.getValue()}}};rh=qs;F.RelativeObjectIdentifier=rh;qs.NAME="RelativeObjectIdentifier";var nh,It=class extends kr{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=16}};nh=It;F.Sequence=nh;It.NAME="SEQUENCE";var oh,zs=class extends kr{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=17}};oh=zs;F.Set=oh;zs.NAME="SET";var js=class extends rr(Ot){constructor({...t}={}){super(t),this.isHexOnly=!0,this.value=Nn}toJSON(){return{...super.toJSON(),value:this.value}}};js.NAME="StringValueBlock";var Gs=class extends js{};Gs.NAME="SimpleStringValueBlock";var Ht=class extends Ns{constructor({...t}={}){super(t,Gs)}fromBuffer(t){this.valueBlock.value=String.fromCharCode.apply(null,Y.BufferSourceConverter.toUint8Array(t))}fromString(t){let e=t.length,n=this.valueBlock.valueHexView=new Uint8Array(e);for(let o=0;o<e;o++)n[o]=t.charCodeAt(o);this.valueBlock.value=t}};Ht.NAME="SIMPLE STRING";var Ws=class extends Ht{fromBuffer(t){this.valueBlock.valueHexView=Y.BufferSourceConverter.toUint8Array(t);try{this.valueBlock.value=Y.Convert.ToUtf8String(t)}catch(e){this.warnings.push(`Error during "decodeURIComponent": ${e}, using raw string`),this.valueBlock.value=Y.Convert.ToBinary(t)}}fromString(t){this.valueBlock.valueHexView=new Uint8Array(Y.Convert.FromUtf8String(t)),this.valueBlock.value=t}};Ws.NAME="Utf8StringValueBlock";var sh,tr=class extends Ws{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=12}};sh=tr;F.Utf8String=sh;tr.NAME="UTF8String";var Ys=class extends Ht{fromBuffer(t){this.valueBlock.value=Y.Convert.ToUtf16String(t),this.valueBlock.valueHexView=Y.BufferSourceConverter.toUint8Array(t)}fromString(t){this.valueBlock.value=t,this.valueBlock.valueHexView=new Uint8Array(Y.Convert.FromUtf16String(t))}};Ys.NAME="BmpStringValueBlock";var ih,Zs=class extends Ys{constructor({...t}={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=30}};ih=Zs;F.BmpString=ih;Zs.NAME="BMPString";var Js=class extends Ht{fromBuffer(t){let e=ArrayBuffer.isView(t)?t.slice().buffer:t.slice(0),n=new Uint8Array(e);for(let o=0;o<n.length;o+=4)n[o]=n[o+3],n[o+1]=n[o+2],n[o+2]=0,n[o+3]=0;this.valueBlock.value=String.fromCharCode.apply(null,new Uint32Array(e))}fromString(t){let e=t.length,n=this.valueBlock.valueHexView=new Uint8Array(e*4);for(let o=0;o<e;o++){let s=Br(t.charCodeAt(o),8),i=new Uint8Array(s);if(i.length>4)continue;let a=4-i.length;for(let c=i.length-1;c>=0;c--)n[o*4+c+a]=i[c]}this.valueBlock.value=t}};Js.NAME="UniversalStringValueBlock";var ah,Xs=class extends Js{constructor({...t}={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=28}};ah=Xs;F.UniversalString=ah;Xs.NAME="UniversalString";var ch,Qs=class extends Ht{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=18}};ch=Qs;F.NumericString=ch;Qs.NAME="NumericString";var uh,ti=class extends Ht{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=19}};uh=ti;F.PrintableString=uh;ti.NAME="PrintableString";var lh,ei=class extends Ht{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=20}};lh=ei;F.TeletexString=lh;ei.NAME="TeletexString";var fh,ri=class extends Ht{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=21}};fh=ri;F.VideotexString=fh;ri.NAME="VideotexString";var hh,ni=class extends Ht{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=22}};hh=ni;F.IA5String=hh;ni.NAME="IA5String";var dh,oi=class extends Ht{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=25}};dh=oi;F.GraphicString=dh;oi.NAME="GraphicString";var ph,vo=class extends Ht{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=26}};ph=vo;F.VisibleString=ph;vo.NAME="VisibleString";var mh,si=class extends Ht{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=27}};mh=si;F.GeneralString=mh;si.NAME="GeneralString";var gh,ii=class extends Ht{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=29}};gh=ii;F.CharacterString=gh;ii.NAME="CharacterString";var yh,Ao=class extends vo{constructor({value:t,valueDate:e,...n}={}){if(super(n),this.year=0,this.month=0,this.day=0,this.hour=0,this.minute=0,this.second=0,t){this.fromString(t),this.valueBlock.valueHexView=new Uint8Array(t.length);for(let o=0;o<t.length;o++)this.valueBlock.valueHexView[o]=t.charCodeAt(o)}e&&(this.fromDate(e),this.valueBlock.valueHexView=new Uint8Array(this.toBuffer())),this.idBlock.tagClass=1,this.idBlock.tagNumber=23}fromBuffer(t){this.fromString(String.fromCharCode.apply(null,Y.BufferSourceConverter.toUint8Array(t)))}toBuffer(){let t=this.toString(),e=new ArrayBuffer(t.length),n=new Uint8Array(e);for(let o=0;o<t.length;o++)n[o]=t.charCodeAt(o);return e}fromDate(t){this.year=t.getUTCFullYear(),this.month=t.getUTCMonth()+1,this.day=t.getUTCDate(),this.hour=t.getUTCHours(),this.minute=t.getUTCMinutes(),this.second=t.getUTCSeconds()}toDate(){return new Date(Date.UTC(this.year,this.month-1,this.day,this.hour,this.minute,this.second))}fromString(t){let n=/(\d{2})(\d{2})(\d{2})(\d{2})(\d{2})(\d{2})Z/ig.exec(t);if(n===null){this.error="Wrong input string for conversion";return}let o=parseInt(n[1],10);o>=50?this.year=1900+o:this.year=2e3+o,this.month=parseInt(n[2],10),this.day=parseInt(n[3],10),this.hour=parseInt(n[4],10),this.minute=parseInt(n[5],10),this.second=parseInt(n[6],10)}toString(t="iso"){if(t==="iso"){let e=new Array(7);return e[0]=Yt(this.year<2e3?this.year-1900:this.year-2e3,2),e[1]=Yt(this.month,2),e[2]=Yt(this.day,2),e[3]=Yt(this.hour,2),e[4]=Yt(this.minute,2),e[5]=Yt(this.second,2),e[6]="Z",e.join("")}return super.toString(t)}onAsciiEncoding(){return`${this.constructor.NAME} : ${this.toDate().toISOString()}`}toJSON(){return{...super.toJSON(),year:this.year,month:this.month,day:this.day,hour:this.hour,minute:this.minute,second:this.second}}};yh=Ao;F.UTCTime=yh;Ao.NAME="UTCTime";var wh,ai=class extends Ao{constructor(t={}){var e;super(t),(e=this.millisecond)!==null&&e!==void 0||(this.millisecond=0),this.idBlock.tagClass=1,this.idBlock.tagNumber=24}fromDate(t){super.fromDate(t),this.millisecond=t.getUTCMilliseconds()}toDate(){return new Date(Date.UTC(this.year,this.month-1,this.day,this.hour,this.minute,this.second,this.millisecond))}fromString(t){let e=!1,n="",o="",s=0,i,a=0,c=0;if(t[t.length-1]==="Z")n=t.substring(0,t.length-1),e=!0;else{let u=new Number(t[t.length-1]);if(isNaN(u.valueOf()))throw new Error("Wrong input string for conversion");n=t}if(e){if(n.indexOf("+")!==-1)throw new Error("Wrong input string for conversion");if(n.indexOf("-")!==-1)throw new Error("Wrong input string for conversion")}else{let u=1,m=n.indexOf("+"),h="";if(m===-1&&(m=n.indexOf("-"),u=-1),m!==-1){if(h=n.substring(m+1),n=n.substring(0,m),h.length!==2&&h.length!==4)throw new Error("Wrong input string for conversion");let p=parseInt(h.substring(0,2),10);if(isNaN(p.valueOf()))throw new Error("Wrong input string for conversion");if(a=u*p,h.length===4){if(p=parseInt(h.substring(2,4),10),isNaN(p.valueOf()))throw new Error("Wrong input string for conversion");c=u*p}}}let l=n.indexOf(".");if(l===-1&&(l=n.indexOf(",")),l!==-1){let u=new Number(`0${n.substring(l)}`);if(isNaN(u.valueOf()))throw new Error("Wrong input string for conversion");s=u.valueOf(),o=n.substring(0,l)}else o=n;switch(!0){case o.length===8:if(i=/(\d{4})(\d{2})(\d{2})/ig,l!==-1)throw new Error("Wrong input string for conversion");break;case o.length===10:if(i=/(\d{4})(\d{2})(\d{2})(\d{2})/ig,l!==-1){let u=60*s;this.minute=Math.floor(u),u=60*(u-this.minute),this.second=Math.floor(u),u=1e3*(u-this.second),this.millisecond=Math.floor(u)}break;case o.length===12:if(i=/(\d{4})(\d{2})(\d{2})(\d{2})(\d{2})/ig,l!==-1){let u=60*s;this.second=Math.floor(u),u=1e3*(u-this.second),this.millisecond=Math.floor(u)}break;case o.length===14:if(i=/(\d{4})(\d{2})(\d{2})(\d{2})(\d{2})(\d{2})/ig,l!==-1){let u=1e3*s;this.millisecond=Math.floor(u)}break;default:throw new Error("Wrong input string for conversion")}let f=i.exec(o);if(f===null)throw new Error("Wrong input string for conversion");for(let u=1;u<f.length;u++)switch(u){case 1:this.year=parseInt(f[u],10);break;case 2:this.month=parseInt(f[u],10);break;case 3:this.day=parseInt(f[u],10);break;case 4:this.hour=parseInt(f[u],10)+a;break;case 5:this.minute=parseInt(f[u],10)+c;break;case 6:this.second=parseInt(f[u],10);break;default:throw new Error("Wrong input string for conversion")}if(e===!1){let u=new Date(this.year,this.month,this.day,this.hour,this.minute,this.second,this.millisecond);this.year=u.getUTCFullYear(),this.month=u.getUTCMonth(),this.day=u.getUTCDay(),this.hour=u.getUTCHours(),this.minute=u.getUTCMinutes(),this.second=u.getUTCSeconds(),this.millisecond=u.getUTCMilliseconds()}}toString(t="iso"){if(t==="iso"){let e=[];return e.push(Yt(this.year,4)),e.push(Yt(this.month,2)),e.push(Yt(this.day,2)),e.push(Yt(this.hour,2)),e.push(Yt(this.minute,2)),e.push(Yt(this.second,2)),this.millisecond!==0&&(e.push("."),e.push(Yt(this.millisecond,3))),e.push("Z"),e.join("")}return super.toString(t)}toJSON(){return{...super.toJSON(),millisecond:this.millisecond}}};wh=ai;F.GeneralizedTime=wh;ai.NAME="GeneralizedTime";var bh,ci=class extends tr{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=31}};bh=ci;F.DATE=bh;ci.NAME="DATE";var xh,ui=class extends tr{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=32}};xh=ui;F.TimeOfDay=xh;ui.NAME="TimeOfDay";var Eh,li=class extends tr{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=33}};Eh=li;F.DateTime=Eh;li.NAME="DateTime";var vh,fi=class extends tr{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=34}};vh=fi;F.Duration=vh;fi.NAME="Duration";var Ah,hi=class extends tr{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=14}};Ah=hi;F.TIME=Ah;hi.NAME="TIME";function sw(r){let{result:t}=Ln(r),e=t.valueBlock.value;return{n:q(Pe(e[1].toBigInt()),"base64url"),e:q(Pe(e[2].toBigInt()),"base64url"),d:q(Pe(e[3].toBigInt()),"base64url"),p:q(Pe(e[4].toBigInt()),"base64url"),q:q(Pe(e[5].toBigInt()),"base64url"),dp:q(Pe(e[6].toBigInt()),"base64url"),dq:q(Pe(e[7].toBigInt()),"base64url"),qi:q(Pe(e[8].toBigInt()),"base64url"),kty:"RSA",alg:"RS256"}}function iw(r){if(r.n==null||r.e==null||r.d==null||r.p==null||r.q==null||r.dp==null||r.dq==null||r.qi==null)throw new P("JWK was missing components","ERR_INVALID_PARAMETERS");let e=new It({value:[new gt({value:0}),gt.fromBigInt(Oe(K(r.n,"base64url"))),gt.fromBigInt(Oe(K(r.e,"base64url"))),gt.fromBigInt(Oe(K(r.d,"base64url"))),gt.fromBigInt(Oe(K(r.p,"base64url"))),gt.fromBigInt(Oe(K(r.q,"base64url"))),gt.fromBigInt(Oe(K(r.dp,"base64url"))),gt.fromBigInt(Oe(K(r.dq,"base64url"))),gt.fromBigInt(Oe(K(r.qi,"base64url")))]}).toBER();return new Uint8Array(e,0,e.byteLength)}function aw(r){let{result:t}=Ln(r),e=t.valueBlock.value[1].valueBlock.value[0].valueBlock.value;return{kty:"RSA",n:q(Pe(e[0].toBigInt()),"base64url"),e:q(Pe(e[1].toBigInt()),"base64url")}}function cw(r){if(r.n==null||r.e==null)throw new P("JWK was missing components","ERR_INVALID_PARAMETERS");let e=new It({value:[new It({value:[new Ee({value:"1.2.840.113549.1.1.1"}),new Sr]}),new Cn({valueHex:new It({value:[gt.fromBigInt(Oe(K(r.n,"base64url"))),gt.fromBigInt(Oe(K(r.e,"base64url")))]}).toBER()})]}).toBER();return new Uint8Array(e,0,e.byteLength)}function Pe(r){let t=r.toString(16);t.length%2>0&&(t=`0${t}`);let e=t.length/2,n=new Uint8Array(e),o=0,s=0;for(;o<e;)n[o]=parseInt(t.slice(s,s+2),16),o+=1,s+=2;return n}function Oe(r){let t=[];return r.forEach(function(e){let n=e.toString(16);n.length%2>0&&(n=`0${n}`),t.push(n)}),BigInt("0x"+t.join(""))}var uw=16,Vc=32,Mc=1e4;async function lw(r,t){let e=$t.get(),o=new It({value:[new gt({value:0}),new It({value:[new Ee({value:"1.2.840.113549.1.1.1"}),new Sr]}),new Qe({valueHex:r.marshal()})]}).toBER(),s=new Uint8Array(o,0,o.byteLength),i=Ue(uw),a=await Uc(uo,t,i,{c:Mc,dkLen:Vc}),c=Ue(16),l=await e.subtle.importKey("raw",a,"AES-CBC",!1,["encrypt"]),f=await e.subtle.encrypt({name:"AES-CBC",iv:c},l,s),u=new It({value:[new Qe({valueHex:i}),new gt({value:Mc}),new gt({value:Vc}),new It({value:[new Ee({value:"1.2.840.113549.2.11"}),new Sr]})]}),m=new It({value:[new Ee({value:"1.2.840.113549.1.5.13"}),new It({value:[new It({value:[new Ee({value:"1.2.840.113549.1.5.12"}),u]}),new It({value:[new Ee({value:"2.16.840.1.101.3.4.1.42"}),new Qe({valueHex:c})]})]})]}),p=new It({value:[m,new Qe({valueHex:f})]}).toBER(),d=new Uint8Array(p,0,p.byteLength);return["-----BEGIN ENCRYPTED PRIVATE KEY-----",...q(d,"base64pad").split(/(.{64})/).filter(Boolean),"-----END ENCRYPTED PRIVATE KEY-----"].join(`
|
|
8
|
+
`)}async function fw(r,t){let e=$t.get(),n;if(r.includes("-----BEGIN ENCRYPTED PRIVATE KEY-----")){let o=K(r.replace("-----BEGIN ENCRYPTED PRIVATE KEY-----","").replace("-----END ENCRYPTED PRIVATE KEY-----","").replace(/\n/g,"").trim(),"base64pad"),{result:s}=Ln(o),{iv:i,salt:a,iterations:c,keySize:l,cipherText:f}=hw(s),u=await Uc(uo,t,a,{c,dkLen:l}),m=await e.subtle.importKey("raw",u,"AES-CBC",!1,["decrypt"]),h=Bo(await e.subtle.decrypt({name:"AES-CBC",iv:i},m,f)),{result:p}=Ln(h);n=Bh(p)}else if(r.includes("-----BEGIN PRIVATE KEY-----")){let o=K(r.replace("-----BEGIN PRIVATE KEY-----","").replace("-----END PRIVATE KEY-----","").replace(/\n/g,"").trim(),"base64pad"),{result:s}=Ln(o);n=Bh(s)}else throw new P("Could not parse private key from PEM data","ERR_INVALID_PARAMETERS");return $c(n)}function hw(r){let t=r.valueBlock.value[0];if(t.valueBlock.value[0].toString()!=="OBJECT IDENTIFIER : 1.2.840.113549.1.5.13")throw new P("Only pkcs5PBES2 encrypted private keys are supported","ERR_INVALID_PARAMS");let n=t.valueBlock.value[1].valueBlock.value[0];if(n.valueBlock.value[0].toString()!=="OBJECT IDENTIFIER : 1.2.840.113549.1.5.12")throw new P("Only pkcs5PBKDF2 key derivation functions are supported","ERR_INVALID_PARAMS");let s=n.valueBlock.value[1],i=Bo(s.valueBlock.value[0].getValue()),a=Mc,c=Vc;if(s.valueBlock.value.length===3)a=Number(s.valueBlock.value[1].toBigInt()),c=Number(s.valueBlock.value[2].toBigInt());else if(s.valueBlock.value.length===2)throw new P("Could not derive key size and iterations from PEM file - please use @libp2p/rsa to re-import your key","ERR_INVALID_PARAMS");let l=t.valueBlock.value[1].valueBlock.value[1],f=l.valueBlock.value[0].toString();if(f!=="OBJECT IDENTIFIER : 1.2.840.113549.3.7"){if(f!=="OBJECT IDENTIFIER : 1.3.14.3.2.7"){if(f!=="OBJECT IDENTIFIER : 2.16.840.1.101.3.4.1.2"){if(f!=="OBJECT IDENTIFIER : 2.16.840.1.101.3.4.1.22"){if(f!=="OBJECT IDENTIFIER : 2.16.840.1.101.3.4.1.42")throw new P("Only AES-CBC encryption schemes are supported","ERR_INVALID_PARAMS")}}}}let u=Bo(l.valueBlock.value[1].getValue());return{cipherText:Bo(r.valueBlock.value[1].getValue()),salt:i,iterations:a,keySize:c,iv:u}}function Bh(r){return Bo(r.valueBlock.value[2].getValue())}function Bo(r){return new Uint8Array(r,0,r.byteLength)}async function kh(r){let t=await $t.get().subtle.generateKey({name:"RSASSA-PKCS1-v1_5",modulusLength:r,publicExponent:new Uint8Array([1,0,1]),hash:{name:"SHA-256"}},!0,["sign","verify"]),e=await Rh(t);return{privateKey:e[0],publicKey:e[1]}}async function Hc(r){let e=[await $t.get().subtle.importKey("jwk",r,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!0,["sign"]),await dw(r)],n=await Rh({privateKey:e[0],publicKey:e[1]});return{privateKey:n[0],publicKey:n[1]}}async function Sh(r,t){let e=await $t.get().subtle.importKey("jwk",r,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!1,["sign"]),n=await $t.get().subtle.sign({name:"RSASSA-PKCS1-v1_5"},e,t instanceof Uint8Array?t:t.subarray());return new Uint8Array(n,0,n.byteLength)}async function Ih(r,t,e){let n=await $t.get().subtle.importKey("jwk",r,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!1,["verify"]);return $t.get().subtle.verify({name:"RSASSA-PKCS1-v1_5"},n,t,e instanceof Uint8Array?e:e.subarray())}async function Rh(r){if(r.privateKey==null||r.publicKey==null)throw new P("Private and public key are required","ERR_INVALID_PARAMETERS");return Promise.all([$t.get().subtle.exportKey("jwk",r.privateKey),$t.get().subtle.exportKey("jwk",r.publicKey)])}async function dw(r){return $t.get().subtle.importKey("jwk",{kty:r.kty,n:r.n,e:r.e},{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!0,["verify"])}function pi(r){if(r.kty!=="RSA")throw new P("invalid key type","ERR_INVALID_KEY_TYPE");if(r.n==null)throw new P("invalid key modulus","ERR_INVALID_KEY_MODULUS");return K(r.n,"base64url").length*8}var So=8192,ko=class{_key;constructor(t){this._key=t}verify(t,e){return Ih(this._key,e,t)}marshal(){return Ir.jwkToPkix(this._key)}get bytes(){return Le.encode({Type:pt.RSA,Data:this.marshal()}).subarray()}equals(t){return nt(this.bytes,t.bytes)}hash(){let t=xt.digest(this.bytes);return ce(t)?t.then(({bytes:e})=>e):t.bytes}},Un=class{_key;_publicKey;constructor(t,e){this._key=t,this._publicKey=e}genSecret(){return Ue(16)}sign(t){return Sh(this._key,t)}get public(){if(this._publicKey==null)throw new P("public key not provided","ERR_PUBKEY_NOT_PROVIDED");return new ko(this._publicKey)}marshal(){return Ir.jwkToPkcs1(this._key)}get bytes(){return Ze.encode({Type:pt.RSA,Data:this.marshal()}).subarray()}equals(t){return nt(this.bytes,t.bytes)}hash(){let t=xt.digest(this.bytes);return ce(t)?t.then(({bytes:e})=>e):t.bytes}async id(){let t=await this.public.hash();return q(t,"base58btc")}async export(t,e="pkcs-8"){if(e==="pkcs-8")return Ir.exportToPem(this,t);if(e==="libp2p-key")return Rn(this.bytes,t);throw new P(`export format '${e}' is not supported`,"ERR_INVALID_EXPORT_FORMAT")}};async function $c(r){let t=Ir.pkcs1ToJwk(r);if(pi(t)>So)throw new P("key size is too large","ERR_KEY_SIZE_TOO_LARGE");let e=await Hc(t);return new Un(e.privateKey,e.publicKey)}function mw(r){let t=Ir.pkixToJwk(r);if(pi(t)>So)throw new P("key size is too large","ERR_KEY_SIZE_TOO_LARGE");return new ko(t)}async function gw(r){if(pi(r)>So)throw new P("key size is too large","ERR_KEY_SIZE_TOO_LARGE");let t=await Hc(r);return new Un(t.privateKey,t.publicKey)}async function yw(r){if(r>So)throw new P("key size is too large","ERR_KEY_SIZE_TOO_LARGE");let t=await kh(r);return new Un(t.privateKey,t.publicKey)}var Wc={};bt(Wc,{Secp256k1PrivateKey:()=>Ro,Secp256k1PublicKey:()=>Io,generateKeyPair:()=>Tw,unmarshalSecp256k1PrivateKey:()=>Rw,unmarshalSecp256k1PublicKey:()=>_w});var ww=new Uint32Array([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]),Rr=new Uint32Array([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),_r=new Uint32Array(64),qc=class extends Bn{constructor(){super(64,32,8,!1),this.A=Rr[0]|0,this.B=Rr[1]|0,this.C=Rr[2]|0,this.D=Rr[3]|0,this.E=Rr[4]|0,this.F=Rr[5]|0,this.G=Rr[6]|0,this.H=Rr[7]|0}get(){let{A:t,B:e,C:n,D:o,E:s,F:i,G:a,H:c}=this;return[t,e,n,o,s,i,a,c]}set(t,e,n,o,s,i,a,c){this.A=t|0,this.B=e|0,this.C=n|0,this.D=o|0,this.E=s|0,this.F=i|0,this.G=a|0,this.H=c|0}process(t,e){for(let u=0;u<16;u++,e+=4)_r[u]=t.getUint32(e,!1);for(let u=16;u<64;u++){let m=_r[u-15],h=_r[u-2],p=we(m,7)^we(m,18)^m>>>3,d=we(h,17)^we(h,19)^h>>>10;_r[u]=d+_r[u-7]+p+_r[u-16]|0}let{A:n,B:o,C:s,D:i,E:a,F:c,G:l,H:f}=this;for(let u=0;u<64;u++){let m=we(a,6)^we(a,11)^we(a,25),h=f+m+mf(a,c,l)+ww[u]+_r[u]|0,d=(we(n,2)^we(n,13)^we(n,22))+gf(n,o,s)|0;f=l,l=c,c=a,a=i+h|0,i=s,s=o,o=n,n=h+d|0}n=n+this.A|0,o=o+this.B|0,s=s+this.C|0,i=i+this.D|0,a=a+this.E|0,c=c+this.F|0,l=l+this.G|0,f=f+this.H|0,this.set(n,o,s,i,a,c,l,f)}roundClean(){_r.fill(0)}destroy(){this.set(0,0,0,0,0,0,0,0),this.buffer.fill(0)}};var _h=ms(()=>new qc);function Th(r){r.lowS!==void 0&&be("lowS",r.lowS),r.prehash!==void 0&&be("prehash",r.prehash)}function bw(r){let t=ho(r);Ne(t,{a:"field",b:"field"},{allowedPrivateKeyLengths:"array",wrapPrivateKey:"boolean",isTorsionFree:"function",clearCofactor:"function",allowInfinityPoint:"boolean",fromBytes:"function",toBytes:"function"});let{endo:e,Fp:n,a:o}=t;if(e){if(!n.eql(o,n.ZERO))throw new Error("Endomorphism can only be defined for Koblitz curves that have a=0");if(typeof e!="object"||typeof e.beta!="bigint"||typeof e.splitScalar!="function")throw new Error("Expected endomorphism with beta: bigint and splitScalar: function")}return Object.freeze({...t})}var{bytesToNumberBE:xw,hexToBytes:Ew}=ws,Yr={Err:class extends Error{constructor(t=""){super(t)}},_parseInt(r){let{Err:t}=Yr;if(r.length<2||r[0]!==2)throw new t("Invalid signature integer tag");let e=r[1],n=r.subarray(2,e+2);if(!e||n.length!==e)throw new t("Invalid signature integer: wrong length");if(n[0]&128)throw new t("Invalid signature integer: negative");if(n[0]===0&&!(n[1]&128))throw new t("Invalid signature integer: unnecessary leading zero");return{d:xw(n),l:r.subarray(e+2)}},toSig(r){let{Err:t}=Yr,e=typeof r=="string"?Ew(r):r;kn(e);let n=e.length;if(n<2||e[0]!=48)throw new t("Invalid signature tag");if(e[1]!==n-2)throw new t("Invalid signature: incorrect length");let{d:o,l:s}=Yr._parseInt(e.subarray(2)),{d:i,l:a}=Yr._parseInt(s);if(a.length)throw new t("Invalid signature: left bytes after parsing");return{r:o,s:i}},hexFromSig(r){let t=l=>Number.parseInt(l[0],16)&8?"00"+l:l,e=l=>{let f=l.toString(16);return f.length&1?`0${f}`:f},n=t(e(r.s)),o=t(e(r.r)),s=n.length/2,i=o.length/2,a=e(s),c=e(i);return`30${e(i+s+4)}02${c}${o}02${a}${n}`}},Tr=BigInt(0),Rt=BigInt(1),UA=BigInt(2),Ch=BigInt(3),DA=BigInt(4);function vw(r){let t=bw(r),{Fp:e}=t,n=t.toBytes||((p,d,b)=>{let y=d.toAffine();return We(Uint8Array.from([4]),e.toBytes(y.x),e.toBytes(y.y))}),o=t.fromBytes||(p=>{let d=p.subarray(1),b=e.fromBytes(d.subarray(0,e.BYTES)),y=e.fromBytes(d.subarray(e.BYTES,2*e.BYTES));return{x:b,y}});function s(p){let{a:d,b}=t,y=e.sqr(p),w=e.mul(y,p);return e.add(e.add(w,e.mul(p,d)),b)}if(!e.eql(e.sqr(t.Gy),s(t.Gx)))throw new Error("bad generator point: equation left != right");function i(p){return lo(p,Rt,t.n)}function a(p){let{allowedPrivateKeyLengths:d,nByteLength:b,wrapPrivateKey:y,n:w}=t;if(d&&typeof p!="bigint"){if(Er(p)&&(p=je(p)),typeof p!="string"||!d.includes(p.length))throw new Error("Invalid key");p=p.padStart(b*2,"0")}let x;try{x=typeof p=="bigint"?p:Ge(dt("private key",p,b))}catch{throw new Error(`private key must be ${b} bytes, hex or bigint, not ${typeof p}`)}return y&&(x=ot(x,w)),Gt("private key",x,Rt,w),x}function c(p){if(!(p instanceof u))throw new Error("ProjectivePoint expected")}let l=zr((p,d)=>{let{px:b,py:y,pz:w}=p;if(e.eql(w,e.ONE))return{x:b,y};let x=p.is0();d==null&&(d=x?e.ONE:e.inv(w));let k=e.mul(b,d),S=e.mul(y,d),I=e.mul(w,d);if(x)return{x:e.ZERO,y:e.ZERO};if(!e.eql(I,e.ONE))throw new Error("invZ was invalid");return{x:k,y:S}}),f=zr(p=>{if(p.is0()){if(t.allowInfinityPoint&&!e.is0(p.py))return;throw new Error("bad point: ZERO")}let{x:d,y:b}=p.toAffine();if(!e.isValid(d)||!e.isValid(b))throw new Error("bad point: x or y not FE");let y=e.sqr(b),w=s(d);if(!e.eql(y,w))throw new Error("bad point: equation left != right");if(!p.isTorsionFree())throw new Error("bad point: not in prime-order subgroup");return!0});class u{constructor(d,b,y){if(this.px=d,this.py=b,this.pz=y,d==null||!e.isValid(d))throw new Error("x required");if(b==null||!e.isValid(b))throw new Error("y required");if(y==null||!e.isValid(y))throw new Error("z required");Object.freeze(this)}static fromAffine(d){let{x:b,y}=d||{};if(!d||!e.isValid(b)||!e.isValid(y))throw new Error("invalid affine point");if(d instanceof u)throw new Error("projective point not allowed");let w=x=>e.eql(x,e.ZERO);return w(b)&&w(y)?u.ZERO:new u(b,y,e.ONE)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static normalizeZ(d){let b=e.invertBatch(d.map(y=>y.pz));return d.map((y,w)=>y.toAffine(b[w])).map(u.fromAffine)}static fromHex(d){let b=u.fromAffine(o(dt("pointHex",d)));return b.assertValidity(),b}static fromPrivateKey(d){return u.BASE.multiply(a(d))}_setWindowSize(d){h.setWindowSize(this,d)}assertValidity(){f(this)}hasEvenY(){let{y:d}=this.toAffine();if(e.isOdd)return!e.isOdd(d);throw new Error("Field doesn't support isOdd")}equals(d){c(d);let{px:b,py:y,pz:w}=this,{px:x,py:k,pz:S}=d,I=e.eql(e.mul(b,S),e.mul(x,w)),B=e.eql(e.mul(y,S),e.mul(k,w));return I&&B}negate(){return new u(this.px,e.neg(this.py),this.pz)}double(){let{a:d,b}=t,y=e.mul(b,Ch),{px:w,py:x,pz:k}=this,S=e.ZERO,I=e.ZERO,B=e.ZERO,A=e.mul(w,w),U=e.mul(x,x),O=e.mul(k,k),D=e.mul(w,x);return D=e.add(D,D),B=e.mul(w,k),B=e.add(B,B),S=e.mul(d,B),I=e.mul(y,O),I=e.add(S,I),S=e.sub(U,I),I=e.add(U,I),I=e.mul(S,I),S=e.mul(D,S),B=e.mul(y,B),O=e.mul(d,O),D=e.sub(A,O),D=e.mul(d,D),D=e.add(D,B),B=e.add(A,A),A=e.add(B,A),A=e.add(A,O),A=e.mul(A,D),I=e.add(I,A),O=e.mul(x,k),O=e.add(O,O),A=e.mul(O,D),S=e.sub(S,A),B=e.mul(O,U),B=e.add(B,B),B=e.add(B,B),new u(S,I,B)}add(d){c(d);let{px:b,py:y,pz:w}=this,{px:x,py:k,pz:S}=d,I=e.ZERO,B=e.ZERO,A=e.ZERO,U=t.a,O=e.mul(t.b,Ch),D=e.mul(b,x),M=e.mul(y,k),C=e.mul(w,S),T=e.add(b,y),v=e.add(x,k);T=e.mul(T,v),v=e.add(D,M),T=e.sub(T,v),v=e.add(b,w);let E=e.add(x,S);return v=e.mul(v,E),E=e.add(D,C),v=e.sub(v,E),E=e.add(y,w),I=e.add(k,S),E=e.mul(E,I),I=e.add(M,C),E=e.sub(E,I),A=e.mul(U,v),I=e.mul(O,C),A=e.add(I,A),I=e.sub(M,A),A=e.add(M,A),B=e.mul(I,A),M=e.add(D,D),M=e.add(M,D),C=e.mul(U,C),v=e.mul(O,v),M=e.add(M,C),C=e.sub(D,C),C=e.mul(U,C),v=e.add(v,C),D=e.mul(M,v),B=e.add(B,D),D=e.mul(E,v),I=e.mul(T,I),I=e.sub(I,D),D=e.mul(T,M),A=e.mul(E,A),A=e.add(A,D),new u(I,B,A)}subtract(d){return this.add(d.negate())}is0(){return this.equals(u.ZERO)}wNAF(d){return h.wNAFCached(this,d,u.normalizeZ)}multiplyUnsafe(d){Gt("scalar",d,Tr,t.n);let b=u.ZERO;if(d===Tr)return b;if(d===Rt)return this;let{endo:y}=t;if(!y)return h.unsafeLadder(this,d);let{k1neg:w,k1:x,k2neg:k,k2:S}=y.splitScalar(d),I=b,B=b,A=this;for(;x>Tr||S>Tr;)x&Rt&&(I=I.add(A)),S&Rt&&(B=B.add(A)),A=A.double(),x>>=Rt,S>>=Rt;return w&&(I=I.negate()),k&&(B=B.negate()),B=new u(e.mul(B.px,y.beta),B.py,B.pz),I.add(B)}multiply(d){let{endo:b,n:y}=t;Gt("scalar",d,Rt,y);let w,x;if(b){let{k1neg:k,k1:S,k2neg:I,k2:B}=b.splitScalar(d),{p:A,f:U}=this.wNAF(S),{p:O,f:D}=this.wNAF(B);A=h.constTimeNegate(k,A),O=h.constTimeNegate(I,O),O=new u(e.mul(O.px,b.beta),O.py,O.pz),w=A.add(O),x=U.add(D)}else{let{p:k,f:S}=this.wNAF(d);w=k,x=S}return u.normalizeZ([w,x])[0]}multiplyAndAddUnsafe(d,b,y){let w=u.BASE,x=(S,I)=>I===Tr||I===Rt||!S.equals(w)?S.multiplyUnsafe(I):S.multiply(I),k=x(this,b).add(x(d,y));return k.is0()?void 0:k}toAffine(d){return l(this,d)}isTorsionFree(){let{h:d,isTorsionFree:b}=t;if(d===Rt)return!0;if(b)return b(u,this);throw new Error("isTorsionFree() has not been declared for the elliptic curve")}clearCofactor(){let{h:d,clearCofactor:b}=t;return d===Rt?this:b?b(u,this):this.multiplyUnsafe(t.h)}toRawBytes(d=!0){return be("isCompressed",d),this.assertValidity(),n(u,this,d)}toHex(d=!0){return be("isCompressed",d),je(this.toRawBytes(d))}}u.BASE=new u(t.Gx,t.Gy,e.ONE),u.ZERO=new u(e.ZERO,e.ONE,e.ZERO);let m=t.nBitLength,h=Es(u,t.endo?Math.ceil(m/2):m);return{CURVE:t,ProjectivePoint:u,normPrivateKeyToScalar:a,weierstrassEquation:s,isWithinCurveOrder:i}}function Aw(r){let t=ho(r);return Ne(t,{hash:"hash",hmac:"function",randomBytes:"function"},{bits2int:"function",bits2int_modN:"function",lowS:"boolean"}),Object.freeze({lowS:!0,...t})}function Nh(r){let t=Aw(r),{Fp:e,n}=t,o=e.BYTES+1,s=2*e.BYTES+1;function i(T){return ot(T,n)}function a(T){return bs(T,n)}let{ProjectivePoint:c,normPrivateKeyToScalar:l,weierstrassEquation:f,isWithinCurveOrder:u}=vw({...t,toBytes(T,v,E){let _=v.toAffine(),L=e.toBytes(_.x),$=We;return be("isCompressed",E),E?$(Uint8Array.from([v.hasEvenY()?2:3]),L):$(Uint8Array.from([4]),L,e.toBytes(_.y))},fromBytes(T){let v=T.length,E=T[0],_=T.subarray(1);if(v===o&&(E===2||E===3)){let L=Ge(_);if(!lo(L,Rt,e.ORDER))throw new Error("Point is not on curve");let $=f(L),H;try{H=e.sqrt($)}catch(W){let Q=W instanceof Error?": "+W.message:"";throw new Error("Point is not on curve"+Q)}let z=(H&Rt)===Rt;return(E&1)===1!==z&&(H=e.neg(H)),{x:L,y:H}}else if(v===s&&E===4){let L=e.fromBytes(_.subarray(0,e.BYTES)),$=e.fromBytes(_.subarray(e.BYTES,2*e.BYTES));return{x:L,y:$}}else throw new Error(`Point of length ${v} was invalid. Expected ${o} compressed bytes or ${s} uncompressed bytes`)}}),m=T=>je(Ar(T,t.nByteLength));function h(T){let v=n>>Rt;return T>v}function p(T){return h(T)?i(-T):T}let d=(T,v,E)=>Ge(T.slice(v,E));class b{constructor(v,E,_){this.r=v,this.s=E,this.recovery=_,this.assertValidity()}static fromCompact(v){let E=t.nByteLength;return v=dt("compactSignature",v,E*2),new b(d(v,0,E),d(v,E,2*E))}static fromDER(v){let{r:E,s:_}=Yr.toSig(dt("DER",v));return new b(E,_)}assertValidity(){Gt("r",this.r,Rt,n),Gt("s",this.s,Rt,n)}addRecoveryBit(v){return new b(this.r,this.s,v)}recoverPublicKey(v){let{r:E,s:_,recovery:L}=this,$=I(dt("msgHash",v));if(L==null||![0,1,2,3].includes(L))throw new Error("recovery id invalid");let H=L===2||L===3?E+t.n:E;if(H>=e.ORDER)throw new Error("recovery id 2 or 3 invalid");let z=L&1?"03":"02",X=c.fromHex(z+m(H)),W=a(H),Q=i(-$*W),ct=i(_*W),ut=c.BASE.multiplyAndAddUnsafe(X,Q,ct);if(!ut)throw new Error("point at infinify");return ut.assertValidity(),ut}hasHighS(){return h(this.s)}normalizeS(){return this.hasHighS()?new b(this.r,i(-this.s),this.recovery):this}toDERRawBytes(){return Kr(this.toDERHex())}toDERHex(){return Yr.hexFromSig({r:this.r,s:this.s})}toCompactRawBytes(){return Kr(this.toCompactHex())}toCompactHex(){return m(this.r)+m(this.s)}}let y={isValidPrivateKey(T){try{return l(T),!0}catch{return!1}},normPrivateKeyToScalar:l,randomPrivateKey:()=>{let T=Ic(t.n);return kf(t.randomBytes(T),t.n)},precompute(T=8,v=c.BASE){return v._setWindowSize(T),v.multiply(BigInt(3)),v}};function w(T,v=!0){return c.fromPrivateKey(T).toRawBytes(v)}function x(T){let v=Er(T),E=typeof T=="string",_=(v||E)&&T.length;return v?_===o||_===s:E?_===2*o||_===2*s:T instanceof c}function k(T,v,E=!0){if(x(T))throw new Error("first arg must be private key");if(!x(v))throw new Error("second arg must be public key");return c.fromHex(v).multiply(l(T)).toRawBytes(E)}let S=t.bits2int||function(T){let v=Ge(T),E=T.length*8-t.nBitLength;return E>0?v>>BigInt(E):v},I=t.bits2int_modN||function(T){return i(S(T))},B=fo(t.nBitLength);function A(T){return Gt(`num < 2^${t.nBitLength}`,T,Tr,B),Ar(T,t.nByteLength)}function U(T,v,E=O){if(["recovered","canonical"].some(At=>At in E))throw new Error("sign() legacy options not supported");let{hash:_,randomBytes:L}=t,{lowS:$,prehash:H,extraEntropy:z}=E;$==null&&($=!0),T=dt("msgHash",T),Th(E),H&&(T=dt("prehashed msgHash",_(T)));let X=I(T),W=l(v),Q=[A(W),A(X)];if(z!=null&&z!==!1){let At=z===!0?L(e.BYTES):z;Q.push(dt("extraEntropy",At))}let ct=We(...Q),ut=X;function qt(At){let wt=S(At);if(!u(wt))return;let pe=a(wt),Bt=c.BASE.multiply(wt).toAffine(),me=i(Bt.x);if(me===Tr)return;let Pr=i(pe*i(ut+me*W));if(Pr===Tr)return;let Xn=(Bt.x===me?0:2)|Number(Bt.y&Rt),Zo=Pr;return $&&h(Pr)&&(Zo=p(Pr),Xn^=1),new b(me,Zo,Xn)}return{seed:ct,k2sig:qt}}let O={lowS:t.lowS,prehash:!1},D={lowS:t.lowS,prehash:!1};function M(T,v,E=O){let{seed:_,k2sig:L}=U(T,v,E),$=t;return Ac($.hash.outputLen,$.nByteLength,$.hmac)(_,L)}c.BASE._setWindowSize(8);function C(T,v,E,_=D){let L=T;if(v=dt("msgHash",v),E=dt("publicKey",E),"strict"in _)throw new Error("options.strict was renamed to lowS");Th(_);let{lowS:$,prehash:H}=_,z,X;try{if(typeof L=="string"||Er(L))try{z=b.fromDER(L)}catch(Bt){if(!(Bt instanceof Yr.Err))throw Bt;z=b.fromCompact(L)}else if(typeof L=="object"&&typeof L.r=="bigint"&&typeof L.s=="bigint"){let{r:Bt,s:me}=L;z=new b(Bt,me)}else throw new Error("PARSE");X=c.fromHex(E)}catch(Bt){if(Bt.message==="PARSE")throw new Error("signature must be Signature instance, Uint8Array or hex string");return!1}if($&&z.hasHighS())return!1;H&&(v=t.hash(v));let{r:W,s:Q}=z,ct=I(v),ut=a(Q),qt=i(ct*ut),At=i(W*ut),wt=c.BASE.multiplyAndAddUnsafe(X,qt,At)?.toAffine();return wt?i(wt.x)===W:!1}return{CURVE:t,getPublicKey:w,getSharedSecret:k,sign:M,verify:C,ProjectivePoint:c,Signature:b,utils:y}}function Bw(r){return{hash:r,hmac:(t,...e)=>mo(r,t,gc(...e)),randomBytes:An}}function Lh(r,t){let e=n=>Nh({...r,...Bw(n)});return Object.freeze({...e(t),create:e})}var Ph=BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"),Uh=BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),kw=BigInt(1),zc=BigInt(2),Dh=(r,t)=>(r+t/zc)/t;function Sw(r){let t=Ph,e=BigInt(3),n=BigInt(6),o=BigInt(11),s=BigInt(22),i=BigInt(23),a=BigInt(44),c=BigInt(88),l=r*r*r%t,f=l*l*r%t,u=at(f,e,t)*f%t,m=at(u,e,t)*f%t,h=at(m,zc,t)*l%t,p=at(h,o,t)*h%t,d=at(p,s,t)*p%t,b=at(d,a,t)*d%t,y=at(b,c,t)*b%t,w=at(y,a,t)*d%t,x=at(w,e,t)*f%t,k=at(x,i,t)*p%t,S=at(k,n,t)*l%t,I=at(S,zc,t);if(!jc.eql(jc.sqr(I),r))throw new Error("Cannot find square root");return I}var jc=xs(Ph,void 0,void 0,{sqrt:Sw}),Ae=Lh({a:BigInt(0),b:BigInt(7),Fp:jc,n:Uh,Gx:BigInt("55066263022277343669578718895168534326250603453777594175500187360389116729240"),Gy:BigInt("32670510020758816978083085130507043184471273380659243275938904335757337482424"),h:BigInt(1),lowS:!0,endo:{beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee"),splitScalar:r=>{let t=Uh,e=BigInt("0x3086d221a7d46bcde86c90e49284eb15"),n=-kw*BigInt("0xe4437ed6010e88286f547fa90abfe4c3"),o=BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"),s=e,i=BigInt("0x100000000000000000000000000000000"),a=Dh(s*r,t),c=Dh(-n*r,t),l=ot(r-a*e-c*o,t),f=ot(-a*n-c*s,t),u=l>i,m=f>i;if(u&&(l=t-l),m&&(f=t-f),l>i||f>i)throw new Error("splitScalar: Endomorphism failed, k="+r);return{k1neg:u,k1:l,k2neg:m,k2:f}}}},_h),qA=BigInt(0);var zA=Ae.ProjectivePoint;function Oh(){return Ae.utils.randomPrivateKey()}function Fh(r,t){let e=xt.digest(t instanceof Uint8Array?t:t.subarray());if(ce(e))return e.then(({digest:n})=>Ae.sign(n,r).toDERRawBytes()).catch(n=>{throw new P(String(n),"ERR_INVALID_INPUT")});try{return Ae.sign(e.digest,r).toDERRawBytes()}catch(n){throw new P(String(n),"ERR_INVALID_INPUT")}}function Vh(r,t,e){let n=xt.digest(e instanceof Uint8Array?e:e.subarray());if(ce(n))return n.then(({digest:o})=>Ae.verify(t,o,r)).catch(o=>{throw new P(String(o),"ERR_INVALID_INPUT")});try{return Ae.verify(t,n.digest,r)}catch(o){throw new P(String(o),"ERR_INVALID_INPUT")}}function Mh(r){return Ae.ProjectivePoint.fromHex(r).toRawBytes(!0)}function $h(r){try{Ae.getPublicKey(r,!0)}catch(t){throw new P(String(t),"ERR_INVALID_PRIVATE_KEY")}}function Gc(r){try{Ae.ProjectivePoint.fromHex(r)}catch(t){throw new P(String(t),"ERR_INVALID_PUBLIC_KEY")}}function Hh(r){try{return Ae.getPublicKey(r,!0)}catch(t){throw new P(String(t),"ERR_INVALID_PRIVATE_KEY")}}var Io=class{_key;constructor(t){Gc(t),this._key=t}verify(t,e){return Vh(this._key,e,t)}marshal(){return Mh(this._key)}get bytes(){return Le.encode({Type:pt.Secp256k1,Data:this.marshal()}).subarray()}equals(t){return nt(this.bytes,t.bytes)}async hash(){let t=xt.digest(this.bytes),e;return ce(t)?{bytes:e}=await t:e=t.bytes,e}},Ro=class{_key;_publicKey;constructor(t,e){this._key=t,this._publicKey=e??Hh(t),$h(this._key),Gc(this._publicKey)}sign(t){return Fh(this._key,t)}get public(){return new Io(this._publicKey)}marshal(){return this._key}get bytes(){return Ze.encode({Type:pt.Secp256k1,Data:this.marshal()}).subarray()}equals(t){return nt(this.bytes,t.bytes)}hash(){let t=xt.digest(this.bytes);return ce(t)?t.then(({bytes:e})=>e):t.bytes}async id(){let t=await this.public.hash();return q(t,"base58btc")}async export(t,e="libp2p-key"){if(e==="libp2p-key")return Rn(this.bytes,t);throw new P(`export format '${e}' is not supported`,"ERR_INVALID_EXPORT_FORMAT")}};function Rw(r){return new Ro(r)}function _w(r){return new Io(r)}async function Tw(){let r=Oh();return new Ro(r)}var mi={rsa:Kc,ed25519:Lc,secp256k1:Wc};function Cw(r){let t=Object.keys(mi).join(" / ");return new P(`invalid or unsupported key type ${r}. Must be ${t}`,"ERR_UNSUPPORTED_KEY_TYPE")}function Yc(r){let t=Le.decode(r),e=t.Data??new Uint8Array;switch(t.Type){case pt.RSA:return mi.rsa.unmarshalRsaPublicKey(e);case pt.Ed25519:return mi.ed25519.unmarshalEd25519PublicKey(e);case pt.Secp256k1:return mi.secp256k1.unmarshalSecp256k1PublicKey(e);default:throw Cw(t.Type??"unknown")}}function Nw(r,t){try{if(typeof r=="string"&&r.length>0)return Lw(r);if(typeof r=="number"&&isFinite(r))return t?.long?Dw(r):Uw(r);throw new Error("Value is not a string or number.")}catch(e){let n=Pw(e)?`${e.message}. value=${JSON.stringify(r)}`:"An unknown error has occured.";throw new Error(n)}}function Lw(r){if(r=String(r),r.length>100)throw new Error("Value exceeds the maximum length of 100 characters.");let t=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(r);if(!t)return NaN;let e=parseFloat(t[1]),n=(t[2]||"ms").toLowerCase();switch(n){case"years":case"year":case"yrs":case"yr":case"y":return e*315576e5;case"weeks":case"week":case"w":return e*6048e5;case"days":case"day":case"d":return e*864e5;case"hours":case"hour":case"hrs":case"hr":case"h":return e*36e5;case"minutes":case"minute":case"mins":case"min":case"m":return e*6e4;case"seconds":case"second":case"secs":case"sec":case"s":return e*1e3;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return e;default:throw new Error(`The unit ${n} was matched, but no matching case exists.`)}}var wi=Nw;function Uw(r){let t=Math.abs(r);return t>=864e5?`${Math.round(r/864e5)}d`:t>=36e5?`${Math.round(r/36e5)}h`:t>=6e4?`${Math.round(r/6e4)}m`:t>=1e3?`${Math.round(r/1e3)}s`:`${r}ms`}function Dw(r){let t=Math.abs(r);return t>=864e5?yi(r,t,864e5,"day"):t>=36e5?yi(r,t,36e5,"hour"):t>=6e4?yi(r,t,6e4,"minute"):t>=1e3?yi(r,t,1e3,"second"):`${r} ms`}function yi(r,t,e,n){let o=t>=e*1.5;return`${Math.round(r/e)} ${n}${o?"s":""}`}function Pw(r){return typeof r=="object"&&r!==null&&"message"in r}function Zc(r){e.debug=e,e.default=e,e.coerce=c,e.disable=s,e.enable=o,e.enabled=i,e.humanize=wi,e.destroy=l,Object.keys(r).forEach(f=>{e[f]=r[f]}),e.names=[],e.skips=[],e.formatters={};function t(f){let u=0;for(let m=0;m<f.length;m++)u=(u<<5)-u+f.charCodeAt(m),u|=0;return e.colors[Math.abs(u)%e.colors.length]}e.selectColor=t;function e(f){let u,m=null,h,p;function d(...b){if(!d.enabled)return;let y=d,w=Number(new Date),x=w-(u||w);y.diff=x,y.prev=u,y.curr=w,u=w,b[0]=e.coerce(b[0]),typeof b[0]!="string"&&b.unshift("%O");let k=0;b[0]=b[0].replace(/%([a-zA-Z%])/g,(I,B)=>{if(I==="%%")return"%";k++;let A=e.formatters[B];if(typeof A=="function"){let U=b[k];I=A.call(y,U),b.splice(k,1),k--}return I}),e.formatArgs.call(y,b),(y.log||e.log).apply(y,b)}return d.namespace=f,d.useColors=e.useColors(),d.color=e.selectColor(f),d.extend=n,d.destroy=e.destroy,Object.defineProperty(d,"enabled",{enumerable:!0,configurable:!1,get:()=>m!==null?m:(h!==e.namespaces&&(h=e.namespaces,p=e.enabled(f)),p),set:b=>{m=b}}),typeof e.init=="function"&&e.init(d),d}function n(f,u){let m=e(this.namespace+(typeof u>"u"?":":u)+f);return m.log=this.log,m}function o(f){e.save(f),e.namespaces=f,e.names=[],e.skips=[];let u,m=(typeof f=="string"?f:"").split(/[\s,]+/),h=m.length;for(u=0;u<h;u++)m[u]&&(f=m[u].replace(/\*/g,".*?"),f[0]==="-"?e.skips.push(new RegExp("^"+f.substr(1)+"$")):e.names.push(new RegExp("^"+f+"$")))}function s(){let f=[...e.names.map(a),...e.skips.map(a).map(u=>"-"+u)].join(",");return e.enable(""),f}function i(f){if(f[f.length-1]==="*")return!0;let u,m;for(u=0,m=e.skips.length;u<m;u++)if(e.skips[u].test(f))return!1;for(u=0,m=e.names.length;u<m;u++)if(e.names[u].test(f))return!0;return!1}function a(f){return f.toString().substring(2,f.toString().length-2).replace(/\.\*\?$/,"*")}function c(f){return f instanceof Error?f.stack??f.message:f}function l(){console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.")}return e.setupFormatters(e.formatters),e.enable(e.load()),e}var bi=Kw(),Ow=["#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 Fw(){return typeof window<"u"&&window.process&&(window.process.type==="renderer"||window.process.__nwjs)?!0:typeof navigator<"u"&&navigator.userAgent?.toLowerCase().match(/(edge|trident)\/(\d+)/)!=null?!1:typeof document<"u"&&document.documentElement?.style?.WebkitAppearance||typeof window<"u"&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||typeof navigator<"u"&&navigator.userAgent?.toLowerCase().match(/firefox\/(\d+)/)!=null&&parseInt(RegExp.$1,10)>=31||typeof navigator<"u"&&navigator.userAgent?.toLowerCase().match(/applewebkit\/(\d+)/)}function Vw(r){if(r[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+r[0]+(this.useColors?"%c ":" ")+"+"+wi(this.diff),!this.useColors)return;let t="color: "+this.color;r.splice(1,0,t,"color: inherit");let e=0,n=0;r[0].replace(/%[a-zA-Z%]/g,o=>{o!=="%%"&&(e++,o==="%c"&&(n=e))}),r.splice(n,0,t)}var Mw=console.debug??console.log??(()=>{});function $w(r){try{r?bi?.setItem("debug",r):bi?.removeItem("debug")}catch{}}function Hw(){let r;try{r=bi?.getItem("debug")}catch{}return!r&&typeof process<"u"&&"env"in process&&(r=process.env.DEBUG),r}function Kw(){try{return localStorage}catch{}}function qw(r){r.j=function(t){try{return JSON.stringify(t)}catch(e){return"[UnexpectedJSONParseError]: "+e.message}}}var jh=Zc({formatArgs:Vw,save:$w,load:Hw,useColors:Fw,setupFormatters:qw,colors:Ow,storage:bi,log:Mw});var Qt=jh;Qt.formatters.b=r=>r==null?"undefined":ft.baseEncode(r);Qt.formatters.t=r=>r==null?"undefined":Tt.baseEncode(r);Qt.formatters.m=r=>r==null?"undefined":ae.baseEncode(r);Qt.formatters.p=r=>r==null?"undefined":r.toString();Qt.formatters.c=r=>r==null?"undefined":r.toString();Qt.formatters.k=r=>r==null?"undefined":r.toString();Qt.formatters.a=r=>r==null?"undefined":r.toString();function zw(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 Gh(){return{forComponent(r){return te(r)}}}function te(r){let t=zw(`${r}:trace`);return Qt.enabled(`${r}:trace`)&&Qt.names.map(e=>e.toString()).find(e=>e.includes(":trace"))!=null&&(t=Qt(`${r}:trace`)),Object.assign(Qt(r),{error:Qt(`${r}:error`),trace:t})}var Xc=ie(Yh(),1);var Co=class extends Error{constructor(t){super(t),this.name="TimeoutError"}},Qc=class extends Error{constructor(t){super(),this.name="AbortError",this.message=t}},Zh=r=>globalThis.DOMException===void 0?new Qc(r):new DOMException(r),Jh=r=>{let t=r.reason===void 0?Zh("This operation was aborted."):r.reason;return t instanceof Error?t:Zh(t)};function No(r,t){let{milliseconds:e,fallback:n,message:o,customTimers:s={setTimeout,clearTimeout}}=t,i,c=new Promise((l,f)=>{if(typeof e!="number"||Math.sign(e)!==1)throw new TypeError(`Expected \`milliseconds\` to be a positive number, got \`${e}\``);if(t.signal){let{signal:m}=t;m.aborted&&f(Jh(m)),m.addEventListener("abort",()=>{f(Jh(m))})}if(e===Number.POSITIVE_INFINITY){r.then(l,f);return}let u=new Co;i=s.setTimeout.call(void 0,()=>{if(n){try{l(n())}catch(m){f(m)}return}typeof r.cancel=="function"&&r.cancel(),o===!1?l():o instanceof Error?f(o):(u.message=o??`Promise timed out after ${e} milliseconds`,f(u))},e),(async()=>{try{l(await r)}catch(m){f(m)}})()}).finally(()=>{c.clear()});return c.clear=()=>{s.clearTimeout.call(void 0,i),i=void 0},c}function tu(r,t,e){let n=0,o=r.length;for(;o>0;){let s=Math.trunc(o/2),i=n+s;e(r[i],t)<=0?(n=++i,o-=s+1):o=s}return n}var Lo=class{#t=[];enqueue(t,e){e={priority:0,...e};let n={priority:e.priority,run:t};if(this.size&&this.#t[this.size-1].priority>=e.priority){this.#t.push(n);return}let o=tu(this.#t,n,(s,i)=>i.priority-s.priority);this.#t.splice(o,0,n)}dequeue(){return this.#t.shift()?.run}filter(t){return this.#t.filter(e=>e.priority===t.priority).map(e=>e.run)}get size(){return this.#t.length}};var Fe=class extends Xc.default{#t;#e;#r=0;#o;#a;#u=0;#s;#l;#n;#m;#i=0;#f;#c;#g;timeout;constructor(t){if(super(),t={carryoverConcurrencyCount:!1,intervalCap:Number.POSITIVE_INFINITY,interval:0,concurrency:Number.POSITIVE_INFINITY,autoStart:!0,queueClass:Lo,...t},!(typeof t.intervalCap=="number"&&t.intervalCap>=1))throw new TypeError(`Expected \`intervalCap\` to be a number from 1 and up, got \`${t.intervalCap?.toString()??""}\` (${typeof t.intervalCap})`);if(t.interval===void 0||!(Number.isFinite(t.interval)&&t.interval>=0))throw new TypeError(`Expected \`interval\` to be a finite number >= 0, got \`${t.interval?.toString()??""}\` (${typeof t.interval})`);this.#t=t.carryoverConcurrencyCount,this.#e=t.intervalCap===Number.POSITIVE_INFINITY||t.interval===0,this.#o=t.intervalCap,this.#a=t.interval,this.#n=new t.queueClass,this.#m=t.queueClass,this.concurrency=t.concurrency,this.timeout=t.timeout,this.#g=t.throwOnTimeout===!0,this.#c=t.autoStart===!1}get#b(){return this.#e||this.#r<this.#o}get#x(){return this.#i<this.#f}#E(){this.#i--,this.#h(),this.emit("next")}#v(){this.#w(),this.#y(),this.#l=void 0}get#A(){let t=Date.now();if(this.#s===void 0){let e=this.#u-t;if(e<0)this.#r=this.#t?this.#i:0;else return this.#l===void 0&&(this.#l=setTimeout(()=>{this.#v()},e)),!0}return!1}#h(){if(this.#n.size===0)return this.#s&&clearInterval(this.#s),this.#s=void 0,this.emit("empty"),this.#i===0&&this.emit("idle"),!1;if(!this.#c){let t=!this.#A;if(this.#b&&this.#x){let e=this.#n.dequeue();return e?(this.emit("active"),e(),t&&this.#y(),!0):!1}}return!1}#y(){this.#e||this.#s!==void 0||(this.#s=setInterval(()=>{this.#w()},this.#a),this.#u=Date.now()+this.#a)}#w(){this.#r===0&&this.#i===0&&this.#s&&(clearInterval(this.#s),this.#s=void 0),this.#r=this.#t?this.#i:0,this.#d()}#d(){for(;this.#h(););}get concurrency(){return this.#f}set concurrency(t){if(!(typeof t=="number"&&t>=1))throw new TypeError(`Expected \`concurrency\` to be a number from 1 and up, got \`${t}\` (${typeof t})`);this.#f=t,this.#d()}async#B(t){return new Promise((e,n)=>{t.addEventListener("abort",()=>{n(t.reason)},{once:!0})})}async add(t,e={}){return e={timeout:this.timeout,throwOnTimeout:this.#g,...e},new Promise((n,o)=>{this.#n.enqueue(async()=>{this.#i++,this.#r++;try{e.signal?.throwIfAborted();let s=t({signal:e.signal});e.timeout&&(s=No(Promise.resolve(s),{milliseconds:e.timeout})),e.signal&&(s=Promise.race([s,this.#B(e.signal)]));let i=await s;n(i),this.emit("completed",i)}catch(s){if(s instanceof Co&&!e.throwOnTimeout){n();return}o(s),this.emit("error",s)}finally{this.#E()}},e),this.emit("add"),this.#h()})}async addAll(t,e){return Promise.all(t.map(async n=>this.add(n,e)))}start(){return this.#c?(this.#c=!1,this.#d(),this):this}pause(){this.#c=!0}clear(){this.#n=new this.#m}async onEmpty(){this.#n.size!==0&&await this.#p("empty")}async onSizeLessThan(t){this.#n.size<t||await this.#p("next",()=>this.#n.size<t)}async onIdle(){this.#i===0&&this.#n.size===0||await this.#p("idle")}async#p(t,e){return new Promise(n=>{let o=()=>{e&&!e()||(this.off(t,o),n())};this.on(t,o)})}get size(){return this.#n.size}sizeBy(t){return this.#n.filter(t).length}get pending(){return this.#i}get isPaused(){return this.#c}};function Ei(r){let t=[Be.A];return r==null?t:Array.isArray(r)?r.length===0?t:r:[r]}var eu=60;function vi(r){return{Status:r.Status??0,TC:r.TC??r.flag_tc??!1,RD:r.RD??r.flag_rd??!1,RA:r.RA??r.flag_ra??!1,AD:r.AD??r.flag_ad??!1,CD:r.CD??r.flag_cd??!1,Question:(r.Question??r.questions??[]).map(t=>({name:t.name,type:Be[t.type]})),Answer:(r.Answer??r.answers??[]).map(t=>({name:t.name,type:Be[t.type],TTL:t.TTL??t.ttl??eu,data:t.data instanceof Uint8Array?q(t.data):t.data}))}}var Ww=4;function ru(r,t={}){let e=new Fe({concurrency:t.queryConcurrency??Ww});return async(n,o={})=>{let s=new URLSearchParams;s.set("name",n),Ei(o.types).forEach(a=>{s.append("type",Be[a])}),o.onProgress?.(new tt("dns:query",{detail:n}));let i=await e.add(async()=>{let a=await fetch(`${r}?${s}`,{headers:{accept:"application/dns-json"},signal:o?.signal});if(a.status!==200)throw new Error(`Unexpected HTTP status: ${a.status} - ${a.statusText}`);let c=vi(await a.json());return o.onProgress?.(new tt("dns:response",{detail:c})),c},{signal:o.signal});if(i==null)throw new Error("No DNS response received");return i}}function Xh(){return[ru("https://cloudflare-dns.com/dns-query"),ru("https://dns.google/resolve")]}var ed=ie(td(),1);var nu=class{lru;constructor(t){this.lru=(0,ed.default)(t)}get(t,e){let n=!0,o=[];for(let s of e){let i=this.getAnswers(t,s);if(i.length===0){n=!1;break}o.push(...i)}if(n)return vi({answers:o})}getAnswers(t,e){let n=`${t.toLowerCase()}-${e}`,o=this.lru.get(n);if(o!=null){let s=o.filter(i=>i.expires>Date.now()).map(({expires:i,value:a})=>({...a,TTL:Math.round((i-Date.now())/1e3),type:Be[a.type]}));return s.length===0&&this.lru.remove(n),s}return[]}add(t,e){let n=`${t.toLowerCase()}-${e.type}`,o=this.lru.get(n)??[];o.push({expires:Date.now()+(e.TTL??eu)*1e3,value:e}),this.lru.set(n,o)}remove(t,e){let n=`${t.toLowerCase()}-${e}`;this.lru.remove(n)}clear(){this.lru.clear()}};function rd(r){return new nu(r)}var Yw=1e3,Ai=class{resolvers;cache;constructor(t){this.resolvers={},this.cache=rd(t.cacheSize??Yw),Object.entries(t.resolvers??{}).forEach(([e,n])=>{Array.isArray(n)||(n=[n]),e.endsWith(".")||(e=`${e}.`),this.resolvers[e]=n}),this.resolvers["."]==null&&(this.resolvers["."]=Xh())}async query(t,e={}){let n=Ei(e.types),o=e.cached!==!1?this.cache.get(t,n):void 0;if(o!=null)return e.onProgress?.(new tt("dns:cache",{detail:o})),o;let s=`${t.split(".").pop()}.`,i=(this.resolvers[s]??this.resolvers["."]).sort(()=>Math.random()>.5?-1:1),a=[];for(let c of i){if(e.signal?.aborted===!0)break;try{let l=await c(t,{...e,types:n});for(let f of l.Answer)this.cache.add(t,f);return l}catch(l){a.push(l),e.onProgress?.(new tt("dns:error",{detail:l}))}}throw a.length===1?a[0]:new AggregateError(a,`DNS lookup of ${t} ${n} failed`)}};var Be;(function(r){r[r.A=1]="A",r[r.CNAME=5]="CNAME",r[r.TXT=16]="TXT",r[r.AAAA=28]="AAAA"})(Be||(Be={}));function nd(r={}){return new Ai(r)}var Zw=["string","number","bigint","symbol"],Jw=["Function","Generator","AsyncGenerator","GeneratorFunction","AsyncGeneratorFunction","AsyncFunction","Observable","Array","Buffer","Object","RegExp","Date","Error","Map","Set","WeakMap","WeakSet","ArrayBuffer","SharedArrayBuffer","DataView","Promise","URL","HTMLElement","Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Uint16Array","Int32Array","Uint32Array","Float32Array","Float64Array","BigInt64Array","BigUint64Array"];function od(r){if(r===null)return"null";if(r===void 0)return"undefined";if(r===!0||r===!1)return"boolean";let t=typeof r;if(Zw.includes(t))return t;if(t==="function")return"Function";if(Array.isArray(r))return"Array";if(Xw(r))return"Buffer";let e=Qw(r);return e||"Object"}function Xw(r){return r&&r.constructor&&r.constructor.isBuffer&&r.constructor.isBuffer.call(null,r)}function Qw(r){let t=Object.prototype.toString.call(r).slice(8,-1);if(Jw.includes(t))return t}var g=class{constructor(t,e,n){this.major=t,this.majorEncoded=t<<5,this.name=e,this.terminal=n}toString(){return`Type[${this.major}].${this.name}`}compare(t){return this.major<t.major?-1:this.major>t.major?1:0}};g.uint=new g(0,"uint",!0);g.negint=new g(1,"negint",!0);g.bytes=new g(2,"bytes",!0);g.string=new g(3,"string",!0);g.array=new g(4,"array",!1);g.map=new g(5,"map",!1);g.tag=new g(6,"tag",!1);g.float=new g(7,"float",!0);g.false=new g(7,"false",!0);g.true=new g(7,"true",!0);g.null=new g(7,"null",!0);g.undefined=new g(7,"undefined",!0);g.break=new g(7,"break",!0);var R=class{constructor(t,e,n){this.type=t,this.value=e,this.encodedLength=n,this.encodedBytes=void 0,this.byteValue=void 0}toString(){return`Token[${this.type}].${this.value}`}};var Dn=globalThis.process&&!globalThis.process.browser&&globalThis.Buffer&&typeof globalThis.Buffer.isBuffer=="function",tb=new TextDecoder,eb=new TextEncoder;function Bi(r){return Dn&&globalThis.Buffer.isBuffer(r)}function Uo(r){return r instanceof Uint8Array?Bi(r)?new Uint8Array(r.buffer,r.byteOffset,r.byteLength):r:Uint8Array.from(r)}var cd=Dn?(r,t,e)=>e-t>64?globalThis.Buffer.from(r.subarray(t,e)).toString("utf8"):id(r,t,e):(r,t,e)=>e-t>64?tb.decode(r.subarray(t,e)):id(r,t,e),ki=Dn?r=>r.length>64?globalThis.Buffer.from(r):sd(r):r=>r.length>64?eb.encode(r):sd(r),Ve=r=>Uint8Array.from(r),Pn=Dn?(r,t,e)=>Bi(r)?new Uint8Array(r.subarray(t,e)):r.slice(t,e):(r,t,e)=>r.slice(t,e),ud=Dn?(r,t)=>(r=r.map(e=>e instanceof Uint8Array?e:globalThis.Buffer.from(e)),Uo(globalThis.Buffer.concat(r,t))):(r,t)=>{let e=new Uint8Array(t),n=0;for(let o of r)n+o.length>e.length&&(o=o.subarray(0,e.length-n)),e.set(o,n),n+=o.length;return e},ld=Dn?r=>globalThis.Buffer.allocUnsafe(r):r=>new Uint8Array(r);function fd(r,t){if(Bi(r)&&Bi(t))return r.compare(t);for(let e=0;e<r.length;e++)if(r[e]!==t[e])return r[e]<t[e]?-1:1;return 0}function sd(r){let t=[],e=0;for(let n=0;n<r.length;n++){let o=r.charCodeAt(n);o<128?t[e++]=o:o<2048?(t[e++]=o>>6|192,t[e++]=o&63|128):(o&64512)===55296&&n+1<r.length&&(r.charCodeAt(n+1)&64512)===56320?(o=65536+((o&1023)<<10)+(r.charCodeAt(++n)&1023),t[e++]=o>>18|240,t[e++]=o>>12&63|128,t[e++]=o>>6&63|128,t[e++]=o&63|128):(t[e++]=o>>12|224,t[e++]=o>>6&63|128,t[e++]=o&63|128)}return t}function id(r,t,e){let n=[];for(;t<e;){let o=r[t],s=null,i=o>239?4:o>223?3:o>191?2:1;if(t+i<=e){let a,c,l,f;switch(i){case 1:o<128&&(s=o);break;case 2:a=r[t+1],(a&192)===128&&(f=(o&31)<<6|a&63,f>127&&(s=f));break;case 3:a=r[t+1],c=r[t+2],(a&192)===128&&(c&192)===128&&(f=(o&15)<<12|(a&63)<<6|c&63,f>2047&&(f<55296||f>57343)&&(s=f));break;case 4:a=r[t+1],c=r[t+2],l=r[t+3],(a&192)===128&&(c&192)===128&&(l&192)===128&&(f=(o&15)<<18|(a&63)<<12|(c&63)<<6|l&63,f>65535&&f<1114112&&(s=f))}}s===null?(s=65533,i=1):s>65535&&(s-=65536,n.push(s>>>10&1023|55296),s=56320|s&1023),n.push(s),t+=i}return ou(n)}var ad=4096;function ou(r){let t=r.length;if(t<=ad)return String.fromCharCode.apply(String,r);let e="",n=0;for(;n<t;)e+=String.fromCharCode.apply(String,r.slice(n,n+=ad));return e}var rb=256,Do=class{constructor(t=rb){this.chunkSize=t,this.cursor=0,this.maxCursor=-1,this.chunks=[],this._initReuseChunk=null}reset(){this.cursor=0,this.maxCursor=-1,this.chunks.length&&(this.chunks=[]),this._initReuseChunk!==null&&(this.chunks.push(this._initReuseChunk),this.maxCursor=this._initReuseChunk.length-1)}push(t){let e=this.chunks[this.chunks.length-1];if(this.cursor+t.length<=this.maxCursor+1){let o=e.length-(this.maxCursor-this.cursor)-1;e.set(t,o)}else{if(e){let o=e.length-(this.maxCursor-this.cursor)-1;o<e.length&&(this.chunks[this.chunks.length-1]=e.subarray(0,o),this.maxCursor=this.cursor-1)}t.length<64&&t.length<this.chunkSize?(e=ld(this.chunkSize),this.chunks.push(e),this.maxCursor+=e.length,this._initReuseChunk===null&&(this._initReuseChunk=e),e.set(t,0)):(this.chunks.push(t),this.maxCursor+=t.length)}this.cursor+=t.length}toBytes(t=!1){let e;if(this.chunks.length===1){let n=this.chunks[0];t&&this.cursor>n.length/2?(e=this.cursor===n.length?n:n.subarray(0,this.cursor),this._initReuseChunk=null,this.chunks=[]):e=Pn(n,0,this.cursor)}else e=ud(this.chunks,this.cursor);return t&&this.reset(),e}};var V="CBOR decode error:",On="CBOR encode error:",Po=[];Po[23]=1;Po[24]=2;Po[25]=3;Po[26]=5;Po[27]=9;function nr(r,t,e){if(r.length-t<e)throw new Error(`${V} not enough data for type`)}var _t=[24,256,65536,4294967296,BigInt("18446744073709551616")];function ee(r,t,e){nr(r,t,1);let n=r[t];if(e.strict===!0&&n<_t[0])throw new Error(`${V} integer encoded in more bytes than necessary (strict decode)`);return n}function re(r,t,e){nr(r,t,2);let n=r[t]<<8|r[t+1];if(e.strict===!0&&n<_t[1])throw new Error(`${V} integer encoded in more bytes than necessary (strict decode)`);return n}function ne(r,t,e){nr(r,t,4);let n=r[t]*16777216+(r[t+1]<<16)+(r[t+2]<<8)+r[t+3];if(e.strict===!0&&n<_t[2])throw new Error(`${V} integer encoded in more bytes than necessary (strict decode)`);return n}function oe(r,t,e){nr(r,t,8);let n=r[t]*16777216+(r[t+1]<<16)+(r[t+2]<<8)+r[t+3],o=r[t+4]*16777216+(r[t+5]<<16)+(r[t+6]<<8)+r[t+7],s=(BigInt(n)<<BigInt(32))+BigInt(o);if(e.strict===!0&&s<_t[3])throw new Error(`${V} integer encoded in more bytes than necessary (strict decode)`);if(s<=Number.MAX_SAFE_INTEGER)return Number(s);if(e.allowBigInt===!0)return s;throw new Error(`${V} integers outside of the safe integer range are not supported`)}function hd(r,t,e,n){return new R(g.uint,ee(r,t+1,n),2)}function dd(r,t,e,n){return new R(g.uint,re(r,t+1,n),3)}function pd(r,t,e,n){return new R(g.uint,ne(r,t+1,n),5)}function md(r,t,e,n){return new R(g.uint,oe(r,t+1,n),9)}function le(r,t){return Nt(r,0,t.value)}function Nt(r,t,e){if(e<_t[0]){let n=Number(e);r.push([t|n])}else if(e<_t[1]){let n=Number(e);r.push([t|24,n])}else if(e<_t[2]){let n=Number(e);r.push([t|25,n>>>8,n&255])}else if(e<_t[3]){let n=Number(e);r.push([t|26,n>>>24&255,n>>>16&255,n>>>8&255,n&255])}else{let n=BigInt(e);if(n<_t[4]){let o=[t|27,0,0,0,0,0,0,0],s=Number(n&BigInt(4294967295)),i=Number(n>>BigInt(32)&BigInt(4294967295));o[8]=s&255,s=s>>8,o[7]=s&255,s=s>>8,o[6]=s&255,s=s>>8,o[5]=s&255,o[4]=i&255,i=i>>8,o[3]=i&255,i=i>>8,o[2]=i&255,i=i>>8,o[1]=i&255,r.push(o)}else throw new Error(`${V} encountered BigInt larger than allowable range`)}}le.encodedSize=function(t){return Nt.encodedSize(t.value)};Nt.encodedSize=function(t){return t<_t[0]?1:t<_t[1]?2:t<_t[2]?3:t<_t[3]?5:9};le.compareTokens=function(t,e){return t.value<e.value?-1:t.value>e.value?1:0};function gd(r,t,e,n){return new R(g.negint,-1-ee(r,t+1,n),2)}function yd(r,t,e,n){return new R(g.negint,-1-re(r,t+1,n),3)}function wd(r,t,e,n){return new R(g.negint,-1-ne(r,t+1,n),5)}var su=BigInt(-1),bd=BigInt(1);function xd(r,t,e,n){let o=oe(r,t+1,n);if(typeof o!="bigint"){let s=-1-o;if(s>=Number.MIN_SAFE_INTEGER)return new R(g.negint,s,9)}if(n.allowBigInt!==!0)throw new Error(`${V} integers outside of the safe integer range are not supported`);return new R(g.negint,su-BigInt(o),9)}function Si(r,t){let e=t.value,n=typeof e=="bigint"?e*su-bd:e*-1-1;Nt(r,t.type.majorEncoded,n)}Si.encodedSize=function(t){let e=t.value,n=typeof e=="bigint"?e*su-bd:e*-1-1;return n<_t[0]?1:n<_t[1]?2:n<_t[2]?3:n<_t[3]?5:9};Si.compareTokens=function(t,e){return t.value<e.value?1:t.value>e.value?-1:0};function Oo(r,t,e,n){nr(r,t,e+n);let o=Pn(r,t+e,t+e+n);return new R(g.bytes,o,e+n)}function Ed(r,t,e,n){return Oo(r,t,1,e)}function vd(r,t,e,n){return Oo(r,t,2,ee(r,t+1,n))}function Ad(r,t,e,n){return Oo(r,t,3,re(r,t+1,n))}function Bd(r,t,e,n){return Oo(r,t,5,ne(r,t+1,n))}function kd(r,t,e,n){let o=oe(r,t+1,n);if(typeof o=="bigint")throw new Error(`${V} 64-bit integer bytes lengths not supported`);return Oo(r,t,9,o)}function Ii(r){return r.encodedBytes===void 0&&(r.encodedBytes=r.type===g.string?ki(r.value):r.value),r.encodedBytes}function Fn(r,t){let e=Ii(t);Nt(r,t.type.majorEncoded,e.length),r.push(e)}Fn.encodedSize=function(t){let e=Ii(t);return Nt.encodedSize(e.length)+e.length};Fn.compareTokens=function(t,e){return ob(Ii(t),Ii(e))};function ob(r,t){return r.length<t.length?-1:r.length>t.length?1:fd(r,t)}function Fo(r,t,e,n,o){let s=e+n;nr(r,t,s);let i=new R(g.string,cd(r,t+e,t+s),s);return o.retainStringBytes===!0&&(i.byteValue=Pn(r,t+e,t+s)),i}function Sd(r,t,e,n){return Fo(r,t,1,e,n)}function Id(r,t,e,n){return Fo(r,t,2,ee(r,t+1,n),n)}function Rd(r,t,e,n){return Fo(r,t,3,re(r,t+1,n),n)}function _d(r,t,e,n){return Fo(r,t,5,ne(r,t+1,n),n)}function Td(r,t,e,n){let o=oe(r,t+1,n);if(typeof o=="bigint")throw new Error(`${V} 64-bit integer string lengths not supported`);return Fo(r,t,9,o,n)}var Cd=Fn;function Vn(r,t,e,n){return new R(g.array,n,e)}function Nd(r,t,e,n){return Vn(r,t,1,e)}function Ld(r,t,e,n){return Vn(r,t,2,ee(r,t+1,n))}function Ud(r,t,e,n){return Vn(r,t,3,re(r,t+1,n))}function Dd(r,t,e,n){return Vn(r,t,5,ne(r,t+1,n))}function Pd(r,t,e,n){let o=oe(r,t+1,n);if(typeof o=="bigint")throw new Error(`${V} 64-bit integer array lengths not supported`);return Vn(r,t,9,o)}function Od(r,t,e,n){if(n.allowIndefinite===!1)throw new Error(`${V} indefinite length items not allowed`);return Vn(r,t,1,1/0)}function Ri(r,t){Nt(r,g.array.majorEncoded,t.value)}Ri.compareTokens=le.compareTokens;Ri.encodedSize=function(t){return Nt.encodedSize(t.value)};function Mn(r,t,e,n){return new R(g.map,n,e)}function Fd(r,t,e,n){return Mn(r,t,1,e)}function Vd(r,t,e,n){return Mn(r,t,2,ee(r,t+1,n))}function Md(r,t,e,n){return Mn(r,t,3,re(r,t+1,n))}function $d(r,t,e,n){return Mn(r,t,5,ne(r,t+1,n))}function Hd(r,t,e,n){let o=oe(r,t+1,n);if(typeof o=="bigint")throw new Error(`${V} 64-bit integer map lengths not supported`);return Mn(r,t,9,o)}function Kd(r,t,e,n){if(n.allowIndefinite===!1)throw new Error(`${V} indefinite length items not allowed`);return Mn(r,t,1,1/0)}function _i(r,t){Nt(r,g.map.majorEncoded,t.value)}_i.compareTokens=le.compareTokens;_i.encodedSize=function(t){return Nt.encodedSize(t.value)};function qd(r,t,e,n){return new R(g.tag,e,1)}function zd(r,t,e,n){return new R(g.tag,ee(r,t+1,n),2)}function jd(r,t,e,n){return new R(g.tag,re(r,t+1,n),3)}function Gd(r,t,e,n){return new R(g.tag,ne(r,t+1,n),5)}function Wd(r,t,e,n){return new R(g.tag,oe(r,t+1,n),9)}function Ti(r,t){Nt(r,g.tag.majorEncoded,t.value)}Ti.compareTokens=le.compareTokens;Ti.encodedSize=function(t){return Nt.encodedSize(t.value)};var lb=20,fb=21,hb=22,db=23;function Yd(r,t,e,n){if(n.allowUndefined===!1)throw new Error(`${V} undefined values are not supported`);return n.coerceUndefinedToNull===!0?new R(g.null,null,1):new R(g.undefined,void 0,1)}function Zd(r,t,e,n){if(n.allowIndefinite===!1)throw new Error(`${V} indefinite length items not allowed`);return new R(g.break,void 0,1)}function iu(r,t,e){if(e){if(e.allowNaN===!1&&Number.isNaN(r))throw new Error(`${V} NaN values are not supported`);if(e.allowInfinity===!1&&(r===1/0||r===-1/0))throw new Error(`${V} Infinity values are not supported`)}return new R(g.float,r,t)}function Jd(r,t,e,n){return iu(au(r,t+1),3,n)}function Xd(r,t,e,n){return iu(cu(r,t+1),5,n)}function Qd(r,t,e,n){return iu(np(r,t+1),9,n)}function Ci(r,t,e){let n=t.value;if(n===!1)r.push([g.float.majorEncoded|lb]);else if(n===!0)r.push([g.float.majorEncoded|fb]);else if(n===null)r.push([g.float.majorEncoded|hb]);else if(n===void 0)r.push([g.float.majorEncoded|db]);else{let o,s=!1;(!e||e.float64!==!0)&&(ep(n),o=au(ke,1),n===o||Number.isNaN(n)?(ke[0]=249,r.push(ke.slice(0,3)),s=!0):(rp(n),o=cu(ke,1),n===o&&(ke[0]=250,r.push(ke.slice(0,5)),s=!0))),s||(pb(n),o=np(ke,1),ke[0]=251,r.push(ke.slice(0,9)))}}Ci.encodedSize=function(t,e){let n=t.value;if(n===!1||n===!0||n===null||n===void 0)return 1;if(!e||e.float64!==!0){ep(n);let o=au(ke,1);if(n===o||Number.isNaN(n))return 3;if(rp(n),o=cu(ke,1),n===o)return 5}return 9};var tp=new ArrayBuffer(9),fe=new DataView(tp,1),ke=new Uint8Array(tp,0);function ep(r){if(r===1/0)fe.setUint16(0,31744,!1);else if(r===-1/0)fe.setUint16(0,64512,!1);else if(Number.isNaN(r))fe.setUint16(0,32256,!1);else{fe.setFloat32(0,r);let t=fe.getUint32(0),e=(t&2139095040)>>23,n=t&8388607;if(e===255)fe.setUint16(0,31744,!1);else if(e===0)fe.setUint16(0,(r&2147483648)>>16|n>>13,!1);else{let o=e-127;o<-24?fe.setUint16(0,0):o<-14?fe.setUint16(0,(t&2147483648)>>16|1<<24+o,!1):fe.setUint16(0,(t&2147483648)>>16|o+15<<10|n>>13,!1)}}}function au(r,t){if(r.length-t<2)throw new Error(`${V} not enough data for float16`);let e=(r[t]<<8)+r[t+1];if(e===31744)return 1/0;if(e===64512)return-1/0;if(e===32256)return NaN;let n=e>>10&31,o=e&1023,s;return n===0?s=o*2**-24:n!==31?s=(o+1024)*2**(n-25):s=o===0?1/0:NaN,e&32768?-s:s}function rp(r){fe.setFloat32(0,r,!1)}function cu(r,t){if(r.length-t<4)throw new Error(`${V} not enough data for float32`);let e=(r.byteOffset||0)+t;return new DataView(r.buffer,e,4).getFloat32(0,!1)}function pb(r){fe.setFloat64(0,r,!1)}function np(r,t){if(r.length-t<8)throw new Error(`${V} not enough data for float64`);let e=(r.byteOffset||0)+t;return new DataView(r.buffer,e,8).getFloat64(0,!1)}Ci.compareTokens=le.compareTokens;function J(r,t,e){throw new Error(`${V} encountered invalid minor (${e}) for major ${r[t]>>>5}`)}function Ni(r){return()=>{throw new Error(`${V} ${r}`)}}var N=[];for(let r=0;r<=23;r++)N[r]=J;N[24]=hd;N[25]=dd;N[26]=pd;N[27]=md;N[28]=J;N[29]=J;N[30]=J;N[31]=J;for(let r=32;r<=55;r++)N[r]=J;N[56]=gd;N[57]=yd;N[58]=wd;N[59]=xd;N[60]=J;N[61]=J;N[62]=J;N[63]=J;for(let r=64;r<=87;r++)N[r]=Ed;N[88]=vd;N[89]=Ad;N[90]=Bd;N[91]=kd;N[92]=J;N[93]=J;N[94]=J;N[95]=Ni("indefinite length bytes/strings are not supported");for(let r=96;r<=119;r++)N[r]=Sd;N[120]=Id;N[121]=Rd;N[122]=_d;N[123]=Td;N[124]=J;N[125]=J;N[126]=J;N[127]=Ni("indefinite length bytes/strings are not supported");for(let r=128;r<=151;r++)N[r]=Nd;N[152]=Ld;N[153]=Ud;N[154]=Dd;N[155]=Pd;N[156]=J;N[157]=J;N[158]=J;N[159]=Od;for(let r=160;r<=183;r++)N[r]=Fd;N[184]=Vd;N[185]=Md;N[186]=$d;N[187]=Hd;N[188]=J;N[189]=J;N[190]=J;N[191]=Kd;for(let r=192;r<=215;r++)N[r]=qd;N[216]=zd;N[217]=jd;N[218]=Gd;N[219]=Wd;N[220]=J;N[221]=J;N[222]=J;N[223]=J;for(let r=224;r<=243;r++)N[r]=Ni("simple values are not supported");N[244]=J;N[245]=J;N[246]=J;N[247]=Yd;N[248]=Ni("simple values are not supported");N[249]=Jd;N[250]=Xd;N[251]=Qd;N[252]=J;N[253]=J;N[254]=J;N[255]=Zd;var Se=[];for(let r=0;r<24;r++)Se[r]=new R(g.uint,r,1);for(let r=-1;r>=-24;r--)Se[31-r]=new R(g.negint,r,1);Se[64]=new R(g.bytes,new Uint8Array(0),1);Se[96]=new R(g.string,"",1);Se[128]=new R(g.array,0,1);Se[160]=new R(g.map,0,1);Se[244]=new R(g.false,!1,1);Se[245]=new R(g.true,!0,1);Se[246]=new R(g.null,null,1);function op(r){switch(r.type){case g.false:return Ve([244]);case g.true:return Ve([245]);case g.null:return Ve([246]);case g.bytes:return r.value.length?void 0:Ve([64]);case g.string:return r.value===""?Ve([96]):void 0;case g.array:return r.value===0?Ve([128]):void 0;case g.map:return r.value===0?Ve([160]):void 0;case g.uint:return r.value<24?Ve([Number(r.value)]):void 0;case g.negint:if(r.value>=-24)return Ve([31-Number(r.value)])}}var gb={float64:!1,mapSorter:bb,quickEncodeToken:op};function yb(){let r=[];return r[g.uint.major]=le,r[g.negint.major]=Si,r[g.bytes.major]=Fn,r[g.string.major]=Cd,r[g.array.major]=Ri,r[g.map.major]=_i,r[g.tag.major]=Ti,r[g.float.major]=Ci,r}var sp=yb(),uu=new Do,Ui=class r{constructor(t,e){this.obj=t,this.parent=e}includes(t){let e=this;do if(e.obj===t)return!0;while(e=e.parent);return!1}static createCheck(t,e){if(t&&t.includes(e))throw new Error(`${On} object contains circular references`);return new r(e,t)}},Cr={null:new R(g.null,null),undefined:new R(g.undefined,void 0),true:new R(g.true,!0),false:new R(g.false,!1),emptyArray:new R(g.array,0),emptyMap:new R(g.map,0)},Nr={number(r,t,e,n){return!Number.isInteger(r)||!Number.isSafeInteger(r)?new R(g.float,r):r>=0?new R(g.uint,r):new R(g.negint,r)},bigint(r,t,e,n){return r>=BigInt(0)?new R(g.uint,r):new R(g.negint,r)},Uint8Array(r,t,e,n){return new R(g.bytes,r)},string(r,t,e,n){return new R(g.string,r)},boolean(r,t,e,n){return r?Cr.true:Cr.false},null(r,t,e,n){return Cr.null},undefined(r,t,e,n){return Cr.undefined},ArrayBuffer(r,t,e,n){return new R(g.bytes,new Uint8Array(r))},DataView(r,t,e,n){return new R(g.bytes,new Uint8Array(r.buffer,r.byteOffset,r.byteLength))},Array(r,t,e,n){if(!r.length)return e.addBreakTokens===!0?[Cr.emptyArray,new R(g.break)]:Cr.emptyArray;n=Ui.createCheck(n,r);let o=[],s=0;for(let i of r)o[s++]=Li(i,e,n);return e.addBreakTokens?[new R(g.array,r.length),o,new R(g.break)]:[new R(g.array,r.length),o]},Object(r,t,e,n){let o=t!=="Object",s=o?r.keys():Object.keys(r),i=o?r.size:s.length;if(!i)return e.addBreakTokens===!0?[Cr.emptyMap,new R(g.break)]:Cr.emptyMap;n=Ui.createCheck(n,r);let a=[],c=0;for(let l of s)a[c++]=[Li(l,e,n),Li(o?r.get(l):r[l],e,n)];return wb(a,e),e.addBreakTokens?[new R(g.map,i),a,new R(g.break)]:[new R(g.map,i),a]}};Nr.Map=Nr.Object;Nr.Buffer=Nr.Uint8Array;for(let r of"Uint8Clamped Uint16 Uint32 Int8 Int16 Int32 BigUint64 BigInt64 Float32 Float64".split(" "))Nr[`${r}Array`]=Nr.DataView;function Li(r,t={},e){let n=od(r),o=t&&t.typeEncoders&&t.typeEncoders[n]||Nr[n];if(typeof o=="function"){let i=o(r,n,t,e);if(i!=null)return i}let s=Nr[n];if(!s)throw new Error(`${On} unsupported type: ${n}`);return s(r,n,t,e)}function wb(r,t){t.mapSorter&&r.sort(t.mapSorter)}function bb(r,t){let e=Array.isArray(r[0])?r[0][0]:r[0],n=Array.isArray(t[0])?t[0][0]:t[0];if(e.type!==n.type)return e.type.compare(n.type);let o=e.type.major,s=sp[o].compareTokens(e,n);return s===0&&console.warn("WARNING: complex key types used, CBOR key sorting guarantees are gone"),s}function ip(r,t,e,n){if(Array.isArray(t))for(let o of t)ip(r,o,e,n);else e[t.type.major](r,t,n)}function ap(r,t,e){let n=Li(r,e);if(!Array.isArray(n)&&e.quickEncodeToken){let o=e.quickEncodeToken(n);if(o)return o;let s=t[n.type.major];if(s.encodedSize){let i=s.encodedSize(n,e),a=new Do(i);if(s(a,n,e),a.chunks.length!==1)throw new Error(`Unexpected error: pre-calculated length for ${n} was wrong`);return Uo(a.chunks[0])}}return uu.reset(),ip(uu,n,t,e),uu.toBytes(!0)}function $n(r,t){return t=Object.assign({},gb,t),ap(r,sp,t)}var xb={strict:!1,allowIndefinite:!0,allowUndefined:!0,allowBigInt:!0},Di=class{constructor(t,e={}){this._pos=0,this.data=t,this.options=e}pos(){return this._pos}done(){return this._pos>=this.data.length}next(){let t=this.data[this._pos],e=Se[t];if(e===void 0){let n=N[t];if(!n)throw new Error(`${V} no decoder for major type ${t>>>5} (byte 0x${t.toString(16).padStart(2,"0")})`);let o=t&31;e=n(this.data,this._pos,o,this.options)}return this._pos+=e.encodedLength,e}},Vo=Symbol.for("DONE"),Pi=Symbol.for("BREAK");function Eb(r,t,e){let n=[];for(let o=0;o<r.value;o++){let s=Hn(t,e);if(s===Pi){if(r.value===1/0)break;throw new Error(`${V} got unexpected break to lengthed array`)}if(s===Vo)throw new Error(`${V} found array but not enough entries (got ${o}, expected ${r.value})`);n[o]=s}return n}function vb(r,t,e){let n=e.useMaps===!0,o=n?void 0:{},s=n?new Map:void 0;for(let i=0;i<r.value;i++){let a=Hn(t,e);if(a===Pi){if(r.value===1/0)break;throw new Error(`${V} got unexpected break to lengthed map`)}if(a===Vo)throw new Error(`${V} found map but not enough entries (got ${i} [no key], expected ${r.value})`);if(n!==!0&&typeof a!="string")throw new Error(`${V} non-string keys not supported (got ${typeof a})`);if(e.rejectDuplicateMapKeys===!0&&(n&&s.has(a)||!n&&a in o))throw new Error(`${V} found repeat map key "${a}"`);let c=Hn(t,e);if(c===Vo)throw new Error(`${V} found map but not enough entries (got ${i} [no value], expected ${r.value})`);n?s.set(a,c):o[a]=c}return n?s:o}function Hn(r,t){if(r.done())return Vo;let e=r.next();if(e.type===g.break)return Pi;if(e.type.terminal)return e.value;if(e.type===g.array)return Eb(e,r,t);if(e.type===g.map)return vb(e,r,t);if(e.type===g.tag){if(t.tags&&typeof t.tags[e.value]=="function"){let n=Hn(r,t);return t.tags[e.value](n)}throw new Error(`${V} tag not supported (${e.value})`)}throw new Error("unsupported")}function lu(r,t){if(!(r instanceof Uint8Array))throw new Error(`${V} data to decode must be a Uint8Array`);t=Object.assign({},xb,t);let e=t.tokenizer||new Di(r,t),n=Hn(e,t);if(n===Vo)throw new Error(`${V} did not find any content to decode`);if(n===Pi)throw new Error(`${V} got unexpected break`);return[n,r.subarray(e.pos())]}function he(r,t){let[e,n]=lu(r,t);if(n.length>0)throw new Error(`${V} too many terminals, data makes no sense`);return e}var or="/",cp=new TextEncoder().encode(or),Fi=cp[0],Lt=class r{_buf;constructor(t,e){if(typeof t=="string")this._buf=K(t);else if(t instanceof Uint8Array)this._buf=t;else throw new Error("Invalid key, should be String of Uint8Array");if(e==null&&(e=!0),e&&this.clean(),this._buf.byteLength===0||this._buf[0]!==Fi)throw new Error("Invalid key")}toString(t="utf8"){return q(this._buf,t)}uint8Array(){return this._buf}get[Symbol.toStringTag](){return`Key(${this.toString()})`}static withNamespaces(t){return new r(t.join(or))}static random(){return new r(Math.random().toString().substring(2))}static asKey(t){return t instanceof Uint8Array||typeof t=="string"?new r(t):typeof t.uint8Array=="function"?new r(t.uint8Array()):null}clean(){if((this._buf==null||this._buf.byteLength===0)&&(this._buf=cp),this._buf[0]!==Fi){let t=new Uint8Array(this._buf.byteLength+1);t.fill(Fi,0,1),t.set(this._buf,1),this._buf=t}for(;this._buf.byteLength>1&&this._buf[this._buf.byteLength-1]===Fi;)this._buf=this._buf.subarray(0,-1)}less(t){let e=this.list(),n=t.list();for(let o=0;o<e.length;o++){if(n.length<o+1)return!1;let s=e[o],i=n[o];if(s<i)return!0;if(s>i)return!1}return e.length<n.length}reverse(){return r.withNamespaces(this.list().slice().reverse())}namespaces(){return this.list()}baseNamespace(){let t=this.namespaces();return t[t.length-1]}list(){return this.toString().split(or).slice(1)}type(){return Ab(this.baseNamespace())}name(){return Bb(this.baseNamespace())}instance(t){return new r(this.toString()+":"+t)}path(){let t=this.parent().toString();return t.endsWith(or)||(t+=or),t+=this.type(),new r(t)}parent(){let t=this.list();return t.length===1?new r(or):new r(t.slice(0,-1).join(or))}child(t){return this.toString()===or?t:t.toString()===or?this:new r(this.toString()+t.toString(),!1)}isAncestorOf(t){return t.toString()===this.toString()?!1:t.toString().startsWith(this.toString())}isDecendantOf(t){return t.toString()===this.toString()?!1:this.toString().startsWith(t.toString())}isTopLevel(){return this.list().length===1}concat(...t){return r.withNamespaces([...this.namespaces(),...kb(t.map(e=>e.namespaces()))])}};function Ab(r){let t=r.split(":");return t.length<2?"":t.slice(0,-1).join(":")}function Bb(r){let t=r.split(":");return t[t.length-1]}function kb(r){return[].concat(...r)}var hp="/pin/",up="/pinned-block/",fu=gr,lp=1;function fp(r){return r.version===0&&(r=r.toV1()),new Lt(`${hp}${r.toString(fu)}`)}var Vi=class{datastore;blockstore;dagWalkers;constructor(t,e,n){this.datastore=t,this.blockstore=e,this.dagWalkers=n}async*add(t,e={}){let n=fp(t);if(await this.datastore.has(n))throw new Error("Already pinned");let o=Math.round(e.depth??1/0);if(o<0)throw new Error("Depth must be greater than or equal to 0");let s=new He({concurrency:lp});for await(let a of this.#t(t,s,{...e,depth:o}))await this.#e(a,c=>c.pinnedBy.find(l=>nt(l,t.bytes))!=null?!1:(c.pinCount++,c.pinnedBy.push(t.bytes),!0),e),yield a;let i={depth:o,metadata:e.metadata??{}};await this.datastore.put(n,$n(i),e)}async*#t(t,e,n){if(n.depth===-1)return;let o=this.dagWalkers[t.code];if(o==null)throw new Error(`No dag walker found for cid codec ${t.code}`);let s=await this.blockstore.get(t,n);yield t;for await(let i of o.walk(s))yield*await e.add(async()=>this.#t(i,e,{...n,depth:n.depth-1}))}async#e(t,e,n){let o=new Lt(`${up}${fu.encode(t.multihash.bytes)}`),s={pinCount:0,pinnedBy:[]};try{s=he(await this.datastore.get(o,n))}catch(a){if(a.code!=="ERR_NOT_FOUND")throw a}if(e(s)){if(s.pinCount===0&&await this.datastore.has(o)){await this.datastore.delete(o);return}await this.datastore.put(o,$n(s),n),n.onProgress?.(new tt("helia:pin:add",t))}}async*rm(t,e={}){let n=fp(t),o=await this.datastore.get(n,e),s=he(o);await this.datastore.delete(n,e);let i=new He({concurrency:lp});for await(let a of this.#t(t,i,{...e,depth:s.depth}))await this.#e(a,c=>(c.pinCount--,c.pinnedBy=c.pinnedBy.filter(l=>nt(l,t.bytes)),!0),{...e,depth:s.depth}),yield a}async*ls(t={}){for await(let{key:e,value:n}of this.datastore.query({prefix:hp+(t.cid!=null?`${t.cid.toString(gr)}`:"")},t)){let o=Z.parse(e.toString().substring(5),gr),s=he(n);yield{cid:o,...s}}}async isPinned(t,e={}){let n=new Lt(`${up}${fu.encode(t.multihash.bytes)}`);return this.datastore.has(n,e)}};var Sb=5,Mi=class{log;routers;providerLookupConcurrency;constructor(t,e){this.log=t.logger.forComponent("helia:routing"),this.routers=e.routers??[],this.providerLookupConcurrency=e.providerLookupConcurrency??Sb}async start(){await hr(...this.routers)}async stop(){await dr(...this.routers)}async*findProviders(t,e={}){if(this.routers.length===0)throw new P("No content routers available","ERR_NO_ROUTERS_AVAILABLE");let n=new ns({concurrency:this.providerLookupConcurrency});n.addEventListener("error",()=>{});for await(let o of Mr(n.toGenerator(),...Kn(this.routers,"findProviders").map(s=>s.findProviders(t,e))))if(o!=null){if(o.multiaddrs.length===0){if(n.find(o.id)!=null)continue;n.add(async()=>{try{let s=await this.findPeer(o.id,e);return s.multiaddrs.length===0?null:s}catch(s){return this.log.error("could not load multiaddrs for peer %p",o.id,s),null}},{peerId:o.id,signal:e.signal}).catch(s=>{this.log.error("could not load multiaddrs for peer %p",o.id,s)})}yield o}}async provide(t,e={}){if(this.routers.length===0)throw new P("No content routers available","ERR_NO_ROUTERS_AVAILABLE");await Promise.all(Kn(this.routers,"provide").map(async n=>{await n.provide(t,e)}))}async put(t,e,n){await Promise.all(Kn(this.routers,"put").map(async o=>{await o.put(t,e,n)}))}async get(t,e){return Promise.any(Kn(this.routers,"get").map(async n=>n.get(t,e)))}async findPeer(t,e){if(this.routers.length===0)throw new P("No peer routers available","ERR_NO_ROUTERS_AVAILABLE");let n=this,o=Mr(...Kn(this.routers,"findPeer").map(s=>async function*(){try{yield await s.findPeer(t,e)}catch(i){n.log.error(i)}}()));for await(let s of o)if(s!=null)return s;throw new P("Could not find peer in routing","ERR_NOT_FOUND")}async*getClosestPeers(t,e={}){if(this.routers.length===0)throw new P("No peer routers available","ERR_NO_ROUTERS_AVAILABLE");for await(let n of Mr(...Kn(this.routers,"getClosestPeers").map(o=>o.getClosestPeers(t,e))))n!=null&&(yield n)}};function Kn(r,t){return r.filter(e=>e[t]!=null)}var Lr={},qn=r=>{r.addEventListener("message",t=>{qn.dispatchEvent("message",r,t)}),r.port!=null&&r.port.addEventListener("message",t=>{qn.dispatchEvent("message",r,t)})};qn.addEventListener=(r,t)=>{Lr[r]==null&&(Lr[r]=[]),Lr[r].push(t)};qn.removeEventListener=(r,t)=>{Lr[r]!=null&&(Lr[r]=Lr[r].filter(e=>e===t))};qn.dispatchEvent=function(r,t,e){Lr[r]!=null&&Lr[r].forEach(n=>n(t,e))};var hu=qn;var du="lock:worker:request-read",pu="lock:worker:release-read",mu="lock:master:grant-read",gu="lock:worker:request-write",yu="lock:worker:release-write",wu="lock:master:grant-write";var dp=(r=21)=>Math.random().toString().substring(2);var pp=(r,t,e,n,o)=>(s,i)=>{if(i.data.type!==e)return;let a={type:i.data.type,name:i.data.name,identifier:i.data.identifier};r.dispatchEvent(new MessageEvent(t,{data:{name:a.name,handler:async()=>{s.postMessage({type:o,name:a.name,identifier:a.identifier}),await new Promise(c=>{let l=f=>{if(f==null||f.data==null)return;let u={type:f.data.type,name:f.data.name,identifier:f.data.identifier};u.type===n&&u.identifier===a.identifier&&(s.removeEventListener("message",l),c())};s.addEventListener("message",l)})}}}))},mp=(r,t,e,n)=>async()=>{let o=dp();return globalThis.postMessage({type:t,identifier:o,name:r}),new Promise(s=>{let i=a=>{if(a==null||a.data==null)return;let c={type:a.data.type,identifier:a.data.identifier};c.type===e&&c.identifier===o&&(globalThis.removeEventListener("message",i),s(()=>{globalThis.postMessage({type:n,identifier:o,name:r})}))};globalThis.addEventListener("message",i)})},Ib={singleProcess:!1},gp=r=>{if(r=Object.assign({},Ib,r),!!globalThis.document||r.singleProcess){let e=new EventTarget;return hu.addEventListener("message",pp(e,"requestReadLock",du,pu,mu)),hu.addEventListener("message",pp(e,"requestWriteLock",gu,yu,wu)),e}return{isWorker:!0,readLock:e=>mp(e,du,mu,pu),writeLock:e=>mp(e,gu,wu,yu)}};var Jr={},Ur;async function bu(r,t){let e,n=new Promise(o=>{e=o});return r.add(async()=>No((async()=>{await new Promise(o=>{e(()=>{o()})})})(),{milliseconds:t.timeout})),n}var Rb=(r,t)=>{if(Ur.isWorker===!0)return{readLock:Ur.readLock(r,t),writeLock:Ur.writeLock(r,t)};let e=new Fe({concurrency:1}),n;return{async readLock(){if(n!=null)return bu(n,t);n=new Fe({concurrency:t.concurrency,autoStart:!1});let o=n,s=bu(n,t);return e.add(async()=>{o.start(),await o.onIdle().then(()=>{n===o&&(n=null)})}),s},async writeLock(){return n=null,bu(e,t)}}},_b={name:"lock",concurrency:1/0,timeout:846e5,singleProcess:!1};function xu(r){let t=Object.assign({},_b,r);return Ur==null&&(Ur=gp(t),Ur.isWorker!==!0&&(Ur.addEventListener("requestReadLock",e=>{Jr[e.data.name]!=null&&Jr[e.data.name].readLock().then(async n=>e.data.handler().finally(()=>{n()}))}),Ur.addEventListener("requestWriteLock",async e=>{Jr[e.data.name]!=null&&Jr[e.data.name].writeLock().then(async n=>e.data.handler().finally(()=>{n()}))}))),Jr[t.name]==null&&(Jr[t.name]=Rb(t.name,t)),Jr[t.name]}var $i=class{lock;child;pins;started;constructor(t,e,n={}){this.child=t,this.pins=e,this.lock=xu({singleProcess:n.holdGcLock}),this.started=!1}isStarted(){return this.started}async start(){await hr(this.child),this.started=!0}async stop(){await dr(this.child),this.started=!1}unwrap(){return this.child}async put(t,e,n={}){n?.signal?.throwIfAborted();let o=await this.lock.readLock();try{return await this.child.put(t,e,n)}finally{o()}}async*putMany(t,e={}){e?.signal?.throwIfAborted();let n=await this.lock.readLock();try{yield*this.child.putMany(t,e)}finally{n()}}async get(t,e={}){e?.signal?.throwIfAborted();let n=await this.lock.readLock();try{return await this.child.get(t,e)}finally{n()}}async*getMany(t,e={}){e?.signal?.throwIfAborted();let n=await this.lock.readLock();try{yield*this.child.getMany(t,e)}finally{n()}}async delete(t,e={}){e?.signal?.throwIfAborted();let n=await this.lock.writeLock();try{if(await this.pins.isPinned(t))throw new Error("CID was pinned");await this.child.delete(t,e)}finally{n()}}async*deleteMany(t,e={}){e?.signal?.throwIfAborted();let n=await this.lock.writeLock();try{let o=this;yield*this.child.deleteMany(async function*(){for await(let s of t){if(await o.pins.isPinned(s))throw new Error("CID was pinned");yield s}}(),e)}finally{n()}}async has(t,e={}){e?.signal?.throwIfAborted();let n=await this.lock.readLock();try{return await this.child.has(t,e)}finally{n()}}async*getAll(t={}){t?.signal?.throwIfAborted();let e=await this.lock.readLock();try{yield*this.child.getAll(t)}finally{e()}}createSession(t,e){return e?.signal?.throwIfAborted(),this.child.createSession(t,e)}};var wp=42;function Tb(r){if(r.asCID!==r&&r["/"]!==r.bytes)return null;let t=Z.asCID(r);if(!t)return null;let e=new Uint8Array(t.bytes.byteLength+1);return e.set(t.bytes,1),[new R(g.tag,wp),new R(g.bytes,e)]}function Cb(){throw new Error("`undefined` is not supported by the IPLD Data Model and cannot be encoded")}function Nb(r){if(Number.isNaN(r))throw new Error("`NaN` is not supported by the IPLD Data Model and cannot be encoded");if(r===1/0||r===-1/0)throw new Error("`Infinity` and `-Infinity` is not supported by the IPLD Data Model and cannot be encoded");return null}var yp={float64:!0,typeEncoders:{Object:Tb,undefined:Cb,number:Nb}},_k={...yp,typeEncoders:{...yp.typeEncoders}};function Lb(r){if(r[0]!==0)throw new Error("Invalid CID for CBOR tag 42; expected leading 0x00");return Z.decode(r.subarray(1))}var Eu={allowIndefinite:!1,coerceUndefinedToNull:!0,allowNaN:!1,allowInfinity:!1,allowBigInt:!0,strict:!0,useMaps:!1,rejectDuplicateMapKeys:!0,tags:[]};Eu.tags[wp]=Lb;var Tk={...Eu,tags:Eu.tags.slice()};var bp=113;var xp=class extends Array{constructor(){super(),this.inRecursive=[]}prefix(t){let e=this.inRecursive[this.inRecursive.length-1];e&&(e.type===g.array&&(e.elements++,e.elements!==1&&t.push([44])),e.type===g.map&&(e.elements++,e.elements!==1&&(e.elements%2===1?t.push([44]):t.push([58]))))}[g.uint.major](t,e){this.prefix(t);let n=String(e.value),o=[];for(let s=0;s<n.length;s++)o[s]=n.charCodeAt(s);t.push(o)}[g.negint.major](t,e){this[g.uint.major](t,e)}[g.bytes.major](t,e){throw new Error(`${On} unsupported type: Uint8Array`)}[g.string.major](t,e){this.prefix(t);let n=ki(JSON.stringify(e.value));t.push(n.length>32?Uo(n):n)}[g.array.major](t,e){this.prefix(t),this.inRecursive.push({type:g.array,elements:0}),t.push([91])}[g.map.major](t,e){this.prefix(t),this.inRecursive.push({type:g.map,elements:0}),t.push([123])}[g.tag.major](t,e){}[g.float.major](t,e){if(e.type.name==="break"){let i=this.inRecursive.pop();if(i){if(i.type===g.array)t.push([93]);else if(i.type===g.map)t.push([125]);else throw new Error("Unexpected recursive type; this should not happen!");return}throw new Error("Unexpected break; this should not happen!")}if(e.value===void 0)throw new Error(`${On} unsupported type: undefined`);if(this.prefix(t),e.type.name==="true"){t.push([116,114,117,101]);return}else if(e.type.name==="false"){t.push([102,97,108,115,101]);return}else if(e.type.name==="null"){t.push([110,117,108,108]);return}let n=String(e.value),o=[],s=!1;for(let i=0;i<n.length;i++)o[i]=n.charCodeAt(i),!s&&(o[i]===46||o[i]===101||o[i]===69)&&(s=!0);s||(o.push(46),o.push(48)),t.push(o)}};var Xr=class{constructor(t,e={}){this._pos=0,this.data=t,this.options=e,this.modeStack=["value"],this.lastToken=""}pos(){return this._pos}done(){return this._pos>=this.data.length}ch(){return this.data[this._pos]}currentMode(){return this.modeStack[this.modeStack.length-1]}skipWhitespace(){let t=this.ch();for(;t===32||t===9||t===13||t===10;)t=this.data[++this._pos]}expect(t){if(this.data.length-this._pos<t.length)throw new Error(`${V} unexpected end of input at position ${this._pos}`);for(let e=0;e<t.length;e++)if(this.data[this._pos++]!==t[e])throw new Error(`${V} unexpected token at position ${this._pos}, expected to find '${String.fromCharCode(...t)}'`)}parseNumber(){let t=this._pos,e=!1,n=!1,o=a=>{for(;!this.done();){let c=this.ch();if(a.includes(c))this._pos++;else break}};if(this.ch()===45&&(e=!0,this._pos++),this.ch()===48)if(this._pos++,this.ch()===46)this._pos++,n=!0;else return new R(g.uint,0,this._pos-t);if(o([48,49,50,51,52,53,54,55,56,57]),e&&this._pos===t+1)throw new Error(`${V} unexpected token at position ${this._pos}`);if(!this.done()&&this.ch()===46){if(n)throw new Error(`${V} unexpected token at position ${this._pos}`);n=!0,this._pos++,o([48,49,50,51,52,53,54,55,56,57])}!this.done()&&(this.ch()===101||this.ch()===69)&&(n=!0,this._pos++,!this.done()&&(this.ch()===43||this.ch()===45)&&this._pos++,o([48,49,50,51,52,53,54,55,56,57]));let s=String.fromCharCode.apply(null,this.data.subarray(t,this._pos)),i=parseFloat(s);return n?new R(g.float,i,this._pos-t):this.options.allowBigInt!==!0||Number.isSafeInteger(i)?new R(i>=0?g.uint:g.negint,i,this._pos-t):new R(i>=0?g.uint:g.negint,BigInt(s),this._pos-t)}parseString(){if(this.ch()!==34)throw new Error(`${V} unexpected character at position ${this._pos}; this shouldn't happen`);this._pos++;for(let s=this._pos,i=0;s<this.data.length&&i<65536;s++,i++){let a=this.data[s];if(a===92||a<32||a>=128)break;if(a===34){let c=String.fromCharCode.apply(null,this.data.subarray(this._pos,s));return this._pos=s+1,new R(g.string,c,i)}}let t=this._pos,e=[],n=()=>{if(this._pos+4>=this.data.length)throw new Error(`${V} unexpected end of unicode escape sequence at position ${this._pos}`);let s=0;for(let i=0;i<4;i++){let a=this.ch();if(a>=48&&a<=57)a-=48;else if(a>=97&&a<=102)a=a-97+10;else if(a>=65&&a<=70)a=a-65+10;else throw new Error(`${V} unexpected unicode escape character at position ${this._pos}`);s=s*16+a,this._pos++}return s},o=()=>{let s=this.ch(),i=null,a=s>239?4:s>223?3:s>191?2:1;if(this._pos+a>this.data.length)throw new Error(`${V} unexpected unicode sequence at position ${this._pos}`);let c,l,f,u;switch(a){case 1:s<128&&(i=s);break;case 2:c=this.data[this._pos+1],(c&192)===128&&(u=(s&31)<<6|c&63,u>127&&(i=u));break;case 3:c=this.data[this._pos+1],l=this.data[this._pos+2],(c&192)===128&&(l&192)===128&&(u=(s&15)<<12|(c&63)<<6|l&63,u>2047&&(u<55296||u>57343)&&(i=u));break;case 4:c=this.data[this._pos+1],l=this.data[this._pos+2],f=this.data[this._pos+3],(c&192)===128&&(l&192)===128&&(f&192)===128&&(u=(s&15)<<18|(c&63)<<12|(l&63)<<6|f&63,u>65535&&u<1114112&&(i=u))}i===null?(i=65533,a=1):i>65535&&(i-=65536,e.push(i>>>10&1023|55296),i=56320|i&1023),e.push(i),this._pos+=a};for(;!this.done();){let s=this.ch(),i;switch(s){case 92:if(this._pos++,this.done())throw new Error(`${V} unexpected string termination at position ${this._pos}`);switch(i=this.ch(),this._pos++,i){case 34:case 39:case 92:case 47:e.push(i);break;case 98:e.push(8);break;case 116:e.push(9);break;case 110:e.push(10);break;case 102:e.push(12);break;case 114:e.push(13);break;case 117:e.push(n());break;default:throw new Error(`${V} unexpected string escape character at position ${this._pos}`)}break;case 34:return this._pos++,new R(g.string,ou(e),this._pos-t);default:if(s<32)throw new Error(`${V} invalid control character at position ${this._pos}`);s<128?(e.push(s),this._pos++):o()}}throw new Error(`${V} unexpected end of string at position ${this._pos}`)}parseValue(){switch(this.ch()){case 123:return this.modeStack.push("obj-start"),this._pos++,new R(g.map,1/0,1);case 91:return this.modeStack.push("array-start"),this._pos++,new R(g.array,1/0,1);case 34:return this.parseString();case 110:return this.expect([110,117,108,108]),new R(g.null,null,4);case 102:return this.expect([102,97,108,115,101]),new R(g.false,!1,5);case 116:return this.expect([116,114,117,101]),new R(g.true,!0,4);case 45:case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:return this.parseNumber();default:throw new Error(`${V} unexpected character at position ${this._pos}`)}}next(){switch(this.skipWhitespace(),this.currentMode()){case"value":return this.modeStack.pop(),this.parseValue();case"array-value":{if(this.modeStack.pop(),this.ch()===93)return this._pos++,this.skipWhitespace(),new R(g.break,void 0,1);if(this.ch()!==44)throw new Error(`${V} unexpected character at position ${this._pos}, was expecting array delimiter but found '${String.fromCharCode(this.ch())}'`);return this._pos++,this.modeStack.push("array-value"),this.skipWhitespace(),this.parseValue()}case"array-start":return this.modeStack.pop(),this.ch()===93?(this._pos++,this.skipWhitespace(),new R(g.break,void 0,1)):(this.modeStack.push("array-value"),this.skipWhitespace(),this.parseValue());case"obj-key":if(this.ch()===125)return this.modeStack.pop(),this._pos++,this.skipWhitespace(),new R(g.break,void 0,1);if(this.ch()!==44)throw new Error(`${V} unexpected character at position ${this._pos}, was expecting object delimiter but found '${String.fromCharCode(this.ch())}'`);this._pos++,this.skipWhitespace();case"obj-start":{if(this.modeStack.pop(),this.ch()===125)return this._pos++,this.skipWhitespace(),new R(g.break,void 0,1);let t=this.parseString();if(this.skipWhitespace(),this.ch()!==58)throw new Error(`${V} unexpected character at position ${this._pos}, was expecting key/value delimiter ':' but found '${String.fromCharCode(this.ch())}'`);return this._pos++,this.modeStack.push("obj-value"),t}case"obj-value":return this.modeStack.pop(),this.modeStack.push("obj-key"),this.skipWhitespace(),this.parseValue();default:throw new Error(`${V} unexpected parse state at position ${this._pos}; this shouldn't happen`)}}};function Hi(r,t){return t=Object.assign({tokenizer:new Xr(r,t)},t),he(r,t)}var Pb={allowIndefinite:!1,allowUndefined:!1,allowNaN:!1,allowInfinity:!1,allowBigInt:!0,strict:!0,useMaps:!1,rejectDuplicateMapKeys:!0,tags:[]};Pb.tags[42]=Z.parse;var vp=297;var Gk=new TextDecoder;var Wk=new TextEncoder;var Fb=new TextDecoder;function vu(r,t){let e=0;for(let n=0;;n+=7){if(n>=64)throw new Error("protobuf: varint overflow");if(t>=r.length)throw new Error("protobuf: unexpected end of data");let o=r[t++];if(e+=n<28?(o&127)<<n:(o&127)*2**n,o<128)break}return[e,t]}function Ki(r,t){let e;[e,t]=vu(r,t);let n=t+e;if(e<0||n<0)throw new Error("protobuf: invalid length");if(n>r.length)throw new Error("protobuf: unexpected end of data");return[r.subarray(t,n),n]}function Ap(r,t){let e;return[e,t]=vu(r,t),[e&7,e>>3,t]}function Vb(r){let t={},e=r.length,n=0;for(;n<e;){let o,s;if([o,s,n]=Ap(r,n),s===1){if(t.Hash)throw new Error("protobuf: (PBLink) duplicate Hash section");if(o!==2)throw new Error(`protobuf: (PBLink) wrong wireType (${o}) for Hash`);if(t.Name!==void 0)throw new Error("protobuf: (PBLink) invalid order, found Name before Hash");if(t.Tsize!==void 0)throw new Error("protobuf: (PBLink) invalid order, found Tsize before Hash");[t.Hash,n]=Ki(r,n)}else if(s===2){if(t.Name!==void 0)throw new Error("protobuf: (PBLink) duplicate Name section");if(o!==2)throw new Error(`protobuf: (PBLink) wrong wireType (${o}) for Name`);if(t.Tsize!==void 0)throw new Error("protobuf: (PBLink) invalid order, found Tsize before Name");let i;[i,n]=Ki(r,n),t.Name=Fb.decode(i)}else if(s===3){if(t.Tsize!==void 0)throw new Error("protobuf: (PBLink) duplicate Tsize section");if(o!==0)throw new Error(`protobuf: (PBLink) wrong wireType (${o}) for Tsize`);[t.Tsize,n]=vu(r,n)}else throw new Error(`protobuf: (PBLink) invalid fieldNumber, expected 1, 2 or 3, got ${s}`)}if(n>e)throw new Error("protobuf: (PBLink) unexpected end of data");return t}function Bp(r){let t=r.length,e=0,n,o=!1,s;for(;e<t;){let a,c;if([a,c,e]=Ap(r,e),a!==2)throw new Error(`protobuf: (PBNode) invalid wireType, expected 2, got ${a}`);if(c===1){if(s)throw new Error("protobuf: (PBNode) duplicate Data section");[s,e]=Ki(r,e),n&&(o=!0)}else if(c===2){if(o)throw new Error("protobuf: (PBNode) duplicate Links section");n||(n=[]);let l;[l,e]=Ki(r,e),n.push(Vb(l))}else throw new Error(`protobuf: (PBNode) invalid fieldNumber, expected 1 or 2, got ${c}`)}if(e>t)throw new Error("protobuf: (PBNode) unexpected end of data");let i={};return s&&(i.Data=s),i.Links=n||[],i}var Zk=new TextEncoder,Jk=2**32,Xk=2**31;var eS=new TextEncoder;function kp(r){return r instanceof ArrayBuffer?new Uint8Array(r,0,r.byteLength):r}var Sp=112;function Ip(r){let t=kp(r),e=Bp(t),n={};return e.Data&&(n.Data=e.Data),e.Links&&(n.Links=e.Links.map(o=>{let s={};try{s.Hash=Z.decode(o.Hash)}catch{}if(!s.Hash)throw new Error("Invalid Hash field found in link, expected CID");return o.Name!==void 0&&(s.Name=o.Name),o.Tsize!==void 0&&(s.Tsize=o.Tsize),s})),n}var $b={codec:Sp,*walk(r){yield*Ip(r).Links.map(e=>e.Hash)}},Hb={codec:cs,*walk(){}},Rp=42,Kb={codec:bp,*walk(r){let t=[],e=[];e[Rp]=n=>{if(n[0]!==0)throw new Error("Invalid CID for CBOR tag 42; expected leading 0x00");let o=Z.decode(n.subarray(1));return t.push(o),o},he(r,{tags:e}),yield*t}},Au=class extends Xr{tokenBuffer;constructor(t,e){super(t,e),this.tokenBuffer=[]}done(){return this.tokenBuffer.length===0&&super.done()}_next(){return this.tokenBuffer.length>0?this.tokenBuffer.pop():super.next()}next(){let t=this._next();if(t.type===g.map){let e=this._next();if(e.type===g.string&&e.value==="/"){let n=this._next();if(n.type===g.string){if(this._next().type!==g.break)throw new Error("Invalid encoded CID form");return this.tokenBuffer.push(n),new R(g.tag,42,0)}if(n.type===g.map){let o=this._next();if(o.type===g.string&&o.value==="bytes"){let s=this._next();if(s.type===g.string){for(let a=0;a<2;a++)if(this._next().type!==g.break)throw new Error("Invalid encoded Bytes form");let i=ae.decode(`m${s.value}`);return new R(g.bytes,i,s.value.length)}this.tokenBuffer.push(s)}this.tokenBuffer.push(o)}this.tokenBuffer.push(n)}this.tokenBuffer.push(e)}return t}},qb={codec:vp,*walk(r){let t=[],e=[];e[Rp]=n=>{let o=Z.parse(n);return t.push(o),o},Hi(r,{tags:e,tokenizer:new Au(r,{tags:e,allowIndefinite:!0,allowUndefined:!0,allowNaN:!0,allowInfinity:!0,allowBigInt:!0,strict:!1,rejectDuplicateMapKeys:!1})}),yield*t}},zb={codec:zl,*walk(){}};function _p(r=[]){let t={};return[$b,Hb,Kb,qb,zb,...r].forEach(e=>{t[e.codec]=e}),t}var Bu=new Lt("/version"),Tp=1;async function Cp(r){if(!await r.has(Bu)){await r.put(Bu,K(`${Tp}`));return}let t=await r.get(Bu),e=q(t);if(parseInt(e,10)!==Tp)throw new Error("Unknown datastore version, a datastore migration may be required")}function Np(r=[]){let t={};return[xt,ec,Mt,...r].forEach(e=>{t[e.code]=e}),t}var sr=class{has(t,e){return Promise.reject(new Error(".has is not implemented"))}put(t,e,n){return Promise.reject(new Error(".put is not implemented"))}async*putMany(t,e){for await(let{cid:n,block:o}of t)await this.put(n,o,e),yield n}get(t,e){return Promise.reject(new Error(".get is not implemented"))}async*getMany(t,e){for await(let n of t)yield{cid:n,block:await this.get(n,e)}}delete(t,e){return Promise.reject(new Error(".delete is not implemented"))}async*deleteMany(t,e){for await(let n of t)await this.delete(n,e),yield n}async*getAll(t){throw new Error(".getAll is not implemented")}};var jn={};bt(jn,{abortedError:()=>Jb,closeFailedError:()=>Wb,deleteFailedError:()=>Pp,getFailedError:()=>Yb,hasFailedError:()=>Zb,notFoundError:()=>Mo,openFailedError:()=>Gb,putFailedError:()=>Dp});var ir=ie(zn(),1);function Gb(r){return r=r??new Error("Open failed"),(0,ir.default)(r,"ERR_OPEN_FAILED")}function Wb(r){return r=r??new Error("Close failed"),(0,ir.default)(r,"ERR_CLOSE_FAILED")}function Dp(r){return r=r??new Error("Put failed"),(0,ir.default)(r,"ERR_PUT_FAILED")}function Yb(r){return r=r??new Error("Get failed"),(0,ir.default)(r,"ERR_GET_FAILED")}function Pp(r){return r=r??new Error("Delete failed"),(0,ir.default)(r,"ERR_DELETE_FAILED")}function Zb(r){return r=r??new Error("Has failed"),(0,ir.default)(r,"ERR_HAS_FAILED")}function Mo(r){return r=r??new Error("Not Found"),(0,ir.default)(r,"ERR_NOT_FOUND")}function Jb(r){return r=r??new Error("Aborted"),(0,ir.default)(r,"ERR_ABORTED")}var $o=class extends sr{data;constructor(){super(),this.data=new Map}put(t,e){return this.data.set(Tt.encode(t.multihash.bytes),e),t}get(t){let e=this.data.get(Tt.encode(t.multihash.bytes));if(e==null)throw Mo();return e}has(t){return this.data.has(Tt.encode(t.multihash.bytes))}async delete(t){this.data.delete(Tt.encode(t.multihash.bytes))}async*getAll(){for(let[t,e]of this.data.entries())yield{cid:Z.createV1(cs,Ce(Tt.decode(t))),block:e}}};function Xb(r){return r[Symbol.asyncIterator]!=null}function Qb(r,t){let e=0;if(Xb(r))return async function*(){for await(let c of r)await t(c,e++)&&(yield c)}();let n=on(r),{value:o,done:s}=n.next();if(s===!0)return function*(){}();let i=t(o,e++);if(typeof i.then=="function")return async function*(){await i&&(yield o);for await(let c of n)await t(c,e++)&&(yield c)}();let a=t;return function*(){i===!0&&(yield o);for(let c of n)a(c,e++)&&(yield c)}()}var Ie=Qb;var VS=te("blockstore:core:tiered");var Op={...jn};var qi=0,zi=class extends sr{child;constructor(t){super(),this.child=t}put(t,e){return t.multihash.code===qi||this.child==null?t:this.child.put(t,e)}get(t){if(t.multihash.code===qi)return t.multihash.digest;if(this.child==null)throw Op.notFoundError();return this.child.get(t)}has(t){return t.multihash.code===qi?!0:this.child==null?!1:this.child.has(t)}delete(t){if(t.code!==qi&&this.child!=null)return this.child.delete(t)}getAll(t){return this.child!=null?this.child.getAll(t):[]}};function tx(r){return r[Symbol.asyncIterator]!=null}function Fp(r){return r?.then!=null}function ex(r,t){let e=0;if(tx(r))return async function*(){for await(let c of r){let l=t(c,e++);Fp(l)&&await l,yield c}}();let n=on(r),{value:o,done:s}=n.next();if(s===!0)return function*(){}();if(typeof t(o,e++)?.then=="function")return async function*(){yield o;for await(let c of n){let l=t(c,e++);Fp(l)&&await l,yield c}}();let a=t;return function*(){yield o;for(let c of n)a(c,e++),yield c}()}var ku=ex;var ji=class{child;hashers;log;logger;components;constructor(t){this.log=t.logger.forComponent("helia:networked-storage"),this.logger=t.logger,this.components=t,this.child=new zi(t.blockstore),this.hashers=t.hashers??{}}async put(t,e,n={}){return await this.child.has(t,n)?(n.onProgress?.(new tt("blocks:put:duplicate",t)),t):(n.onProgress?.(new tt("blocks:put:providers:notify",t)),await Promise.all(this.components.blockBrokers.map(async o=>o.announce?.(t,e,n))),n.onProgress?.(new tt("blocks:put:blockstore:put",t)),this.child.put(t,e,n))}async*putMany(t,e={}){let n=Ie(t,async({cid:s})=>{let i=await this.child.has(s,e);return i&&e.onProgress?.(new tt("blocks:put-many:duplicate",s)),!i}),o=ku(n,async({cid:s,block:i})=>{e.onProgress?.(new tt("blocks:put-many:providers:notify",s)),await Promise.all(this.components.blockBrokers.map(async a=>a.announce?.(s,i,e)))});e.onProgress?.(new tt("blocks:put-many:blockstore:put-many")),yield*this.child.putMany(o,e)}async get(t,e={}){if(e.offline!==!0&&!await this.child.has(t,e)){e.onProgress?.(new tt("blocks:get:providers:get",t));let n=await Vp(t,this.components.blockBrokers,this.hashers[t.multihash.code],{...e,log:this.log});return e.onProgress?.(new tt("blocks:get:blockstore:put",t)),await this.child.put(t,n,e),e.onProgress?.(new tt("blocks:get:providers:notify",t)),await Promise.all(this.components.blockBrokers.map(async o=>o.announce?.(t,n,e))),n}return e.onProgress?.(new tt("blocks:get:blockstore:get",t)),this.child.get(t,e)}async*getMany(t,e={}){e.onProgress?.(new tt("blocks:get-many:blockstore:get-many")),yield*this.child.getMany(ku(t,async n=>{if(e.offline!==!0&&!await this.child.has(n,e)){e.onProgress?.(new tt("blocks:get-many:providers:get",n));let o=await Vp(n,this.components.blockBrokers,this.hashers[n.multihash.code],{...e,log:this.log});e.onProgress?.(new tt("blocks:get-many:blockstore:put",n)),await this.child.put(n,o,e),e.onProgress?.(new tt("blocks:get-many:providers:notify",n)),await Promise.all(this.components.blockBrokers.map(async s=>s.announce?.(n,o,e)))}}))}async delete(t,e={}){e.onProgress?.(new tt("blocks:delete:blockstore:delete",t)),await this.child.delete(t,e)}async*deleteMany(t,e={}){e.onProgress?.(new tt("blocks:delete-many:blockstore:delete-many")),yield*this.child.deleteMany(async function*(){for await(let n of t)yield n}(),e)}async has(t,e={}){return this.child.has(t,e)}async*getAll(t={}){t.onProgress?.(new tt("blocks:get-all:blockstore:get-many")),yield*this.child.getAll(t)}},Gi=class extends ji{started;constructor(t){super(t),this.started=!1}isStarted(){return this.started}async start(){await hr(this.child,...this.components.blockBrokers),this.started=!0}async stop(){await dr(this.child,...this.components.blockBrokers),this.started=!1}unwrap(){return this.child}createSession(t,e){let n=this.components.blockBrokers.map(o=>o.createSession==null?o:o.createSession(e));return new Su({blockstore:this.child,blockBrokers:n,hashers:this.hashers,logger:this.logger},{root:t})}},Su=class extends ji{closeController;constructor(t,e){super(t),this.closeController=new AbortController,lt(1/0,this.closeController.signal),this.log=t.logger.forComponent(`helia:session-storage:${e.root}`)}close(){this.closeController.abort()}async put(t,e,n={}){let o=Vt([this.closeController.signal,n.signal]);lt(1/0,o);try{return await super.put(t,e,{...n,signal:o})}finally{o.clear()}}async*putMany(t,e={}){let n=Vt([this.closeController.signal,e.signal]);lt(1/0,n);try{yield*super.putMany(t,{...e,signal:n})}finally{n.clear()}}async get(t,e={}){let n=Vt([this.closeController.signal,e.signal]);lt(1/0,n);try{return await super.get(t,{...e,signal:n})}finally{n.clear()}}async*getMany(t,e={}){let n=Vt([this.closeController.signal,e.signal]);lt(1/0,n);try{yield*super.getMany(t,{...e,signal:n})}finally{n.clear()}}async delete(t,e={}){let n=Vt([this.closeController.signal,e.signal]);lt(1/0,n);try{await super.delete(t,{...e,signal:n})}finally{n.clear()}}async*deleteMany(t,e={}){let n=Vt([this.closeController.signal,e.signal]);lt(1/0,n);try{yield*super.deleteMany(t,{...e,signal:n})}finally{n.clear()}}async has(t,e={}){let n=Vt([this.closeController.signal,e.signal]);lt(1/0,n);try{return await super.has(t,{...e,signal:n})}finally{n.clear()}}async*getAll(t={}){let e=Vt([this.closeController.signal,t.signal]);lt(1/0,e);try{yield*super.getAll({...t,signal:e})}finally{e.clear()}}};function rx(r){return typeof r.retrieve=="function"}var nx=(r,t)=>{if(t==null)throw new P(`No hasher configured for multihash code 0x${r.multihash.code.toString(16)}, please configure one. You can look up which hash this is at https://github.com/multiformats/multicodec/blob/master/table.csv`,"ERR_UNKNOWN_HASH_ALG");return async e=>{let n=await t.digest(e);if(!nt(n.digest,r.multihash.digest))throw new P("Hash of downloaded block did not match multihash from passed CID","ERR_HASH_MISMATCH")}};async function Vp(r,t,e,n){let o=nx(r,e),s=new AbortController,i=Vt([s.signal,n.signal]);lt(1/0,s.signal,i);let a=[];for(let c of t)rx(c)&&a.push(c);try{return await Promise.any(a.map(async c=>{try{let l=!1,f=await c.retrieve(r,{...n,signal:i,validateFn:async u=>{await o(u),l=!0}});return l||await o(f),f}catch(l){throw n.log.error("could not retrieve verified block for %c",r,l),l}}))}finally{s.abort(),i.clear()}}var Mp=1,$p=5;var Iu=ie(zh(),1);var ox=Math.LN2*Math.LN2,Wi=class r{static create(t,e=.005){let n=sx(t,e);return new r(n)}seeds;bits;buffer;constructor(t={}){t.seeds!=null?this.seeds=t.seeds:this.seeds=ix(t.hashes??8),this.bits=t.bits??1024,this.buffer=ge(Math.ceil(this.bits/8))}add(t){typeof t=="string"&&(t=K(t));for(let e=0;e<this.seeds.length;e++){let o=Iu.default.x86.hash32(t,this.seeds[e])%this.bits;this.setbit(o)}}has(t){typeof t=="string"&&(t=K(t));for(let e=0;e<this.seeds.length;e++){let o=Iu.default.x86.hash32(t,this.seeds[e])%this.bits;if(!this.getbit(o))return!1}return!0}clear(){this.buffer.fill(0)}setbit(t){let e=0,n=t;for(;n>7;)e++,n-=8;let o=this.buffer[e];o|=1<<n,this.buffer[e]=o}getbit(t){let e=0,n=t;for(;n>7;)e++,n-=8;return(this.buffer[e]&1<<n)!==0}};function sx(r,t=.005){let e=Math.round(-1*r*Math.log(t)/ox),n=Math.round(e/r*Math.LN2);return{bits:e,hashes:n}}function ix(r){let t,e,n=[];for(let o=0;o<r;o++)for(t=new ss(Ue(4)),n[o]=t.getUint32(0,!0),e=0;e<o;e++)if(n[o]===n[e]){o--;break}return n}var Ho=class extends en{intialPeerSearchComplete;requests;name;log;logger;minProviders;maxProviders;providers;evictionFilter;constructor(t,e){super(),lt(1/0,this),this.name=e.name,this.logger=t.logger,this.log=t.logger.forComponent(this.name),this.requests=new Map,this.minProviders=e.minProviders??1,this.maxProviders=e.maxProviders??5,this.providers=[],this.evictionFilter=Wi.create(this.maxProviders)}async retrieve(t,e={}){let n=ae.encode(t.multihash.bytes),o=this.requests.get(n);if(o!=null)return this.log("join existing request for %c",t),o;let s=kt();if(this.requests.set(n,s.promise),this.providers.length===0){let l=!1;this.intialPeerSearchComplete==null&&(l=!0,this.log=this.logger.forComponent(`${this.name}:${t}`),this.intialPeerSearchComplete=this.findProviders(t,this.minProviders,e)),await this.intialPeerSearchComplete,l&&this.log("found initial session peers for %c",t)}let i=!1,a=new He({concurrency:this.maxProviders});a.addEventListener("error",()=>{}),a.addEventListener("failure",l=>{this.log.error("error querying provider %o, evicting from session",l.detail.job.options.provider,l.detail.error),this.evict(l.detail.job.options.provider)}),a.addEventListener("success",l=>{i=!0,s.resolve(l.detail.result)}),a.addEventListener("idle",()=>{i||e.signal?.aborted===!0||Promise.resolve().then(async()=>{this.log("no session peers had block for for %c, finding new providers",t);for(let l=0;l<this.minProviders&&this.providers.length!==0;l++){let f=this.providers[Math.floor(Math.random()*this.providers.length)];this.evict(f)}await this.findProviders(t,this.minProviders,e),this.log("found new providers re-retrieving %c",t),this.requests.delete(n),s.resolve(await this.retrieve(t,e))}).catch(l=>{this.log.error("could not find new providers for %c",t,l),s.reject(l)})});let c=l=>{a.add(async()=>this.queryProvider(t,l.detail,e),{provider:l.detail}).catch(f=>{e.signal?.aborted!==!0&&this.log.error("error retrieving session block for %c",t,f)})};this.addEventListener("provider",c),Promise.all([...this.providers].map(async l=>a.add(async()=>this.queryProvider(t,l,e),{provider:l}))).catch(l=>{e.signal?.aborted!==!0&&this.log.error("error retrieving session block for %c",t,l)});try{return await s.promise}finally{this.removeEventListener("provider",c),a.clear(),this.requests.delete(n)}}evict(t){this.evictionFilter.add(this.toEvictionKey(t));let e=this.providers.findIndex(n=>this.equals(n,t));e!==-1&&this.providers.splice(e,1)}isEvicted(t){return this.evictionFilter.has(this.toEvictionKey(t))}hasProvider(t){return!!(this.providers.find(e=>this.equals(e,t))!=null||this.isEvicted(t))}async findProviders(t,e,n){let o=kt(),s=0;return Promise.resolve().then(async()=>{this.log("finding %d-%d new provider(s) for %c",e,this.maxProviders,t);for await(let i of this.findNewProviders(t,n)){if(s===this.maxProviders||n.signal?.aborted===!0)break;if(!this.hasProvider(i)&&(this.log("found %d/%d new providers",s,this.maxProviders),this.providers.push(i),this.safeDispatchEvent("provider",{detail:i}),s++,s===e&&(this.log("session is ready"),o.resolve()),this.providers.length===this.maxProviders)){this.log("found max session peers",s);break}}if(this.log("found %d/%d new session peers",s,this.maxProviders),s<e)throw new P(`Found ${s} of ${e} ${this.name} providers for ${t}`,"ERR_INSUFFICIENT_PROVIDERS_FOUND")}).catch(i=>{this.log.error("error searching routing for potential session peers for %c",t,i.errors??i),o.reject(i)}),o.promise}};var Yi=class{blockstore;datastore;pins;logger;routing;dagWalkers;hashers;dns;metrics;log;constructor(t){this.logger=t.logger??Gh(),this.log=this.logger.forComponent("helia"),this.hashers=Np(t.hashers),this.dagWalkers=_p(t.dagWalkers),this.dns=t.dns??nd(),this.metrics=t.metrics;let e={blockstore:t.blockstore,datastore:t.datastore,hashers:this.hashers,dagWalkers:this.dagWalkers,logger:this.logger,blockBrokers:[],dns:this.dns,metrics:this.metrics,...t.components??{}};this.routing=e.routing=new Mi(e,{routers:(t.routers??[]).flatMap(o=>{let s=[o];return o[Qn]!=null&&s.push(o[Qn]),o[to]!=null&&s.push(o[to]),s}),providerLookupConcurrency:t.providerLookupConcurrency});let n=new Gi(e);this.pins=new Vi(t.datastore,n,this.dagWalkers),this.blockstore=new $i(n,this.pins,{holdGcLock:t.holdGcLock??!0}),this.datastore=t.datastore,e.blockBrokers=t.blockBrokers.map(o=>o(e))}async start(){await Cp(this.datastore),await hr(this.blockstore,this.datastore,this.routing)}async stop(){await dr(this.blockstore,this.datastore,this.routing)}async gc(t={}){let e=await this.blockstore.lock.writeLock();try{let n=this,o=this.blockstore.unwrap();this.log("gc start"),await Fr(o.deleteMany(async function*(){for await(let{cid:s}of o.getAll())try{if(await n.pins.isPinned(s,t))continue;yield s,t.onProgress?.(new tt("helia:gc:deleted",s))}catch(i){n.log.error("Error during gc",i),t.onProgress?.(new tt("helia:gc:error",i))}}()))}finally{e()}this.log("gc finished")}};var Zi=class{index=0;input="";new(t){return this.index=0,this.input=t,this}readAtomically(t){let e=this.index,n=t();return n===void 0&&(this.index=e),n}parseWith(t){let e=t();if(this.index===this.input.length)return e}peekChar(){if(!(this.index>=this.input.length))return this.input[this.index]}readChar(){if(!(this.index>=this.input.length))return this.input[this.index++]}readGivenChar(t){return this.readAtomically(()=>{let e=this.readChar();if(e===t)return e})}readSeparator(t,e,n){return this.readAtomically(()=>{if(!(e>0&&this.readGivenChar(t)===void 0))return n()})}readNumber(t,e,n,o){return this.readAtomically(()=>{let s=0,i=0,a=this.peekChar();if(a===void 0)return;let c=a==="0",l=2**(8*o)-1;for(;;){let f=this.readAtomically(()=>{let u=this.readChar();if(u===void 0)return;let m=Number.parseInt(u,t);if(!Number.isNaN(m))return m});if(f===void 0)break;if(s*=t,s+=f,s>l||(i+=1,e!==void 0&&i>e))return}if(i!==0)return!n&&c&&i>1?void 0:s})}readIPv4Addr(){return this.readAtomically(()=>{let t=new Uint8Array(4);for(let e=0;e<t.length;e++){let n=this.readSeparator(".",e,()=>this.readNumber(10,3,!1,1));if(n===void 0)return;t[e]=n}return t})}readIPv6Addr(){let t=e=>{for(let n=0;n<e.length/2;n++){let o=n*2;if(n<e.length-3){let i=this.readSeparator(":",n,()=>this.readIPv4Addr());if(i!==void 0)return e[o]=i[0],e[o+1]=i[1],e[o+2]=i[2],e[o+3]=i[3],[o+4,!0]}let s=this.readSeparator(":",n,()=>this.readNumber(16,4,!0,2));if(s===void 0)return[o,!1];e[o]=s>>8,e[o+1]=s&255}return[e.length,!1]};return this.readAtomically(()=>{let e=new Uint8Array(16),[n,o]=t(e);if(n===16)return e;if(o||this.readGivenChar(":")===void 0||this.readGivenChar(":")===void 0)return;let s=new Uint8Array(14),i=16-(n+2),[a]=t(s.subarray(0,i));return e.set(s.subarray(0,a),16-a),e})}readIPAddr(){return this.readIPv4Addr()??this.readIPv6Addr()}};var Hp=45,ax=15,Gn=new Zi;function Ru(r){if(!(r.length>ax))return Gn.new(r).parseWith(()=>Gn.readIPv4Addr())}function _u(r){if(r.includes("%")&&(r=r.split("%")[0]),!(r.length>Hp))return Gn.new(r).parseWith(()=>Gn.readIPv6Addr())}function Ji(r){if(r.includes("%")&&(r=r.split("%")[0]),!(r.length>Hp))return Gn.new(r).parseWith(()=>Gn.readIPAddr())}function Wn(r){return!!Ru(r)}function Yn(r){return!!_u(r)}function Xi(r){return!!Ji(r)}var qp=ie(Kp(),1),cx=["0.0.0.0/8","10.0.0.0/8","100.64.0.0/10","127.0.0.0/8","169.254.0.0/16","172.16.0.0/12","192.0.0.0/24","192.0.0.0/29","192.0.0.8/32","192.0.0.9/32","192.0.0.10/32","192.0.0.170/32","192.0.0.171/32","192.0.2.0/24","192.31.196.0/24","192.52.193.0/24","192.88.99.0/24","192.168.0.0/16","192.175.48.0/24","198.18.0.0/15","198.51.100.0/24","203.0.113.0/24","240.0.0.0/4","255.255.255.255/32"],ux=cx.map(r=>new qp.Netmask(r));function Tu(r){for(let t of ux)if(t.contains(r))return!0;return!1}function lx(r){return/^::ffff:([0-9a-fA-F]{1,4}):([0-9a-fA-F]{1,4})$/.test(r)}function fx(r){let t=r.split(":");if(t.length<2)return!1;let e=t[t.length-1].padStart(4,"0"),n=t[t.length-2].padStart(4,"0"),o=`${parseInt(n.substring(0,2),16)}.${parseInt(n.substring(2),16)}.${parseInt(e.substring(0,2),16)}.${parseInt(e.substring(2),16)}`;return Tu(o)}function hx(r){return/^::ffff:([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})$/.test(r)}function dx(r){let t=r.split(":"),e=t[t.length-1];return Tu(e)}function px(r){return/^::$/.test(r)||/^::1$/.test(r)||/^64:ff9b::([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})$/.test(r)||/^100::([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4})$/.test(r)||/^2001::([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4})$/.test(r)||/^2001:2[0-9a-fA-F]:([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4})$/.test(r)||/^2001:db8:([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4})$/.test(r)||/^2002:([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4})$/.test(r)||/^f[c-d]([0-9a-fA-F]{2,2}):/i.test(r)||/^fe[8-9a-bA-B][0-9a-fA-F]:/i.test(r)||/^ff([0-9a-fA-F]{2,2}):/i.test(r)}function zp(r){return Wn(r)?Tu(r):lx(r)?fx(r):hx(r)?dx(r):Yn(r)?px(r):void 0}var WI=parseInt("0xFFFF",16),YI=new Uint8Array([0,0,0,0,0,0,0,0,0,0,255,255]);var Wp=Wn,bx=Yn,Cu=function(r){let t=0;if(r=r.toString().trim(),Wp(r)){let e=new Uint8Array(t+4);return r.split(/\./g).forEach(n=>{e[t++]=parseInt(n,10)&255}),e}if(bx(r)){let e=r.split(":",8),n;for(n=0;n<e.length;n++){let s=Wp(e[n]),i;s&&(i=Cu(e[n]),e[n]=q(i.slice(0,2),"base16")),i!=null&&++n<8&&e.splice(n,0,q(i.slice(2,4),"base16"))}if(e[0]==="")for(;e.length<8;)e.unshift("0");else if(e[e.length-1]==="")for(;e.length<8;)e.push("0");else if(e.length<8){for(n=0;n<e.length&&e[n]!=="";n++);let s=[n,1];for(n=9-e.length;n>0;n--)s.push("0");e.splice.apply(e,s)}let o=new Uint8Array(t+16);for(n=0;n<e.length;n++){let s=parseInt(e[n],16);o[t++]=s>>8&255,o[t++]=s&255}return o}throw new Error("invalid ip address")},Yp=function(r,t=0,e){t=~~t,e=e??r.length-t;let n=new DataView(r.buffer);if(e===4){let o=[];for(let s=0;s<e;s++)o.push(r[t+s]);return o.join(".")}if(e===16){let o=[];for(let s=0;s<e;s+=2)o.push(n.getUint16(t+s).toString(16));return o.join(":").replace(/(^|:)0(:0)*:0(:|$)/,"$1::$3").replace(/:{3,4}/,"::")}return""};var Zn={},Nu={},Ex=[[4,32,"ip4"],[6,16,"tcp"],[33,16,"dccp"],[41,128,"ip6"],[42,-1,"ip6zone"],[43,8,"ipcidr"],[53,-1,"dns",!0],[54,-1,"dns4",!0],[55,-1,"dns6",!0],[56,-1,"dnsaddr",!0],[132,16,"sctp"],[273,16,"udp"],[275,0,"p2p-webrtc-star"],[276,0,"p2p-webrtc-direct"],[277,0,"p2p-stardust"],[280,0,"webrtc-direct"],[281,0,"webrtc"],[290,0,"p2p-circuit"],[301,0,"udt"],[302,0,"utp"],[400,-1,"unix",!1,!0],[421,-1,"ipfs"],[421,-1,"p2p"],[443,0,"https"],[444,96,"onion"],[445,296,"onion3"],[446,-1,"garlic64"],[448,0,"tls"],[449,-1,"sni"],[460,0,"quic"],[461,0,"quic-v1"],[465,0,"webtransport"],[466,-1,"certhash"],[477,0,"ws"],[478,0,"wss"],[479,0,"p2p-websocket-star"],[480,0,"http"],[481,-1,"http-path"],[777,-1,"memory"]];Ex.forEach(r=>{let t=vx(...r);Nu[t.code]=t,Zn[t.name]=t});function vx(r,t,e,n,o){return{code:r,size:t,name:e,resolvable:!!n,path:!!o}}function G(r){if(typeof r=="number"){if(Nu[r]!=null)return Nu[r];throw new Error(`no protocol with code: ${r}`)}else if(typeof r=="string"){if(Zn[r]!=null)return Zn[r];throw new Error(`no protocol with name: ${r}`)}throw new Error(`invalid protocol id type: ${typeof r}`)}var T6=G("ip4"),C6=G("ip6"),N6=G("ipcidr");function Pu(r,t){switch(G(r).code){case 4:case 41:return Bx(t);case 42:return Du(t);case 6:case 273:case 33:case 132:return Xp(t).toString();case 53:case 54:case 55:case 56:case 400:case 449:case 777:return Du(t);case 421:return Rx(t);case 444:return Jp(t);case 445:return Jp(t);case 466:return Ix(t);case 481:return globalThis.encodeURIComponent(Du(t));default:return q(t,"base16")}}function Ou(r,t){switch(G(r).code){case 4:return Zp(t);case 41:return Zp(t);case 42:return Uu(t);case 6:case 273:case 33:case 132:return Fu(parseInt(t,10));case 53:case 54:case 55:case 56:case 400:case 449:case 777:return Uu(t);case 421:return kx(t);case 444:return _x(t);case 445:return Tx(t);case 466:return Sx(t);case 481:return Uu(globalThis.decodeURIComponent(t));default:return K(t,"base16")}}var Lu=Object.values(yr).map(r=>r.decoder),Ax=function(){let r=Lu[0].or(Lu[1]);return Lu.slice(2).forEach(t=>r=r.or(t)),r}();function Zp(r){if(!Xi(r))throw new Error("invalid ip address");return Cu(r)}function Bx(r){let t=Yp(r,0,r.length);if(t==null)throw new Error("ipBuff is required");if(!Xi(t))throw new Error("invalid ip address");return t}function Fu(r){let t=new ArrayBuffer(2);return new DataView(t).setUint16(0,r),new Uint8Array(t)}function Xp(r){return new DataView(r.buffer).getUint16(r.byteOffset)}function Uu(r){let t=K(r),e=Uint8Array.from(nn(t.length));return St([e,t],e.length+t.length)}function Du(r){let t=Vr(r);if(r=r.slice(jt(t)),r.length!==t)throw new Error("inconsistent lengths");return q(r)}function kx(r){let t;r[0]==="Q"||r[0]==="1"?t=Ce(ft.decode(`z${r}`)).bytes:t=Z.parse(r).multihash.bytes;let e=Uint8Array.from(nn(t.length));return St([e,t],e.length+t.length)}function Sx(r){let t=Ax.decode(r),e=Uint8Array.from(nn(t.length));return St([e,t],e.length+t.length)}function Ix(r){let t=Vr(r),e=r.slice(jt(t));if(e.length!==t)throw new Error("inconsistent lengths");return"u"+q(e,"base64url")}function Rx(r){let t=Vr(r),e=r.slice(jt(t));if(e.length!==t)throw new Error("inconsistent lengths");return q(e,"base58btc")}function _x(r){let t=r.split(":");if(t.length!==2)throw new Error(`failed to parse onion addr: ["'${t.join('", "')}'"]' does not contain a port number`);if(t[0].length!==16)throw new Error(`failed to parse onion addr: ${t[0]} not a Tor onion address.`);let e=Tt.decode("b"+t[0]),n=parseInt(t[1],10);if(n<1||n>65536)throw new Error("Port number is not in range(1, 65536)");let o=Fu(n);return St([e,o],e.length+o.length)}function Tx(r){let t=r.split(":");if(t.length!==2)throw new Error(`failed to parse onion addr: ["'${t.join('", "')}'"]' does not contain a port number`);if(t[0].length!==56)throw new Error(`failed to parse onion addr: ${t[0]} not a Tor onion3 address.`);let e=Tt.decode(`b${t[0]}`),n=parseInt(t[1],10);if(n<1||n>65536)throw new Error("Port number is not in range(1, 65536)");let o=Fu(n);return St([e,o],e.length+o.length)}function Jp(r){let t=r.slice(0,r.length-2),e=r.slice(r.length-2),n=q(t,"base32"),o=Xp(e);return`${n}:${o}`}function Qp(r){r=Vu(r);let t=[],e=[],n=null,o=r.split("/").slice(1);if(o.length===1&&o[0]==="")return{bytes:new Uint8Array,string:"/",tuples:[],stringTuples:[],path:null};for(let s=0;s<o.length;s++){let i=o[s],a=G(i);if(a.size===0){t.push([a.code]),e.push([a.code]);continue}if(s++,s>=o.length)throw e0("invalid address: "+r);if(a.path===!0){n=Vu(o.slice(s).join("/")),t.push([a.code,Ou(a.code,n)]),e.push([a.code,n]);break}let c=Ou(a.code,o[s]);t.push([a.code,c]),e.push([a.code,Pu(a.code,c)])}return{string:t0(e),bytes:$u(t),tuples:t,stringTuples:e,path:n}}function Mu(r){let t=[],e=[],n=null,o=0;for(;o<r.length;){let s=Vr(r,o),i=jt(s),a=G(s),c=Cx(a,r.slice(o+i));if(c===0){t.push([s]),e.push([s]),o+=i;continue}let l=r.slice(o+i,o+i+c);if(o+=c+i,o>r.length)throw e0("Invalid address Uint8Array: "+q(r,"base16"));t.push([s,l]);let f=Pu(s,l);if(e.push([s,f]),a.path===!0){n=f;break}}return{bytes:Uint8Array.from(r),string:t0(e),tuples:t,stringTuples:e,path:n}}function t0(r){let t=[];return r.map(e=>{let n=G(e[0]);return t.push(n.name),e.length>1&&e[1]!=null&&t.push(e[1]),null}),Vu(t.join("/"))}function $u(r){return St(r.map(t=>{let e=G(t[0]),n=Uint8Array.from(nn(e.code));return t.length>1&&t[1]!=null&&(n=St([n,t[1]])),n}))}function Cx(r,t){if(r.size>0)return r.size/8;if(r.size===0)return 0;{let e=Vr(t instanceof Uint8Array?t:Uint8Array.from(t));return e+jt(e)}}function Vu(r){return"/"+r.trim().split("/").filter(t=>t).join("/")}function e0(r){return new Error("Error parsing address: "+r)}var Nx=Symbol.for("nodejs.util.inspect.custom"),Hu=Symbol.for("@multiformats/js-multiaddr/multiaddr"),Lx=[G("dns").code,G("dns4").code,G("dns6").code,G("dnsaddr").code],Qi=class r{bytes;#t;#e;#r;#o;[Hu]=!0;constructor(t){t==null&&(t="");let e;if(t instanceof Uint8Array)e=Mu(t);else if(typeof t=="string"){if(t.length>0&&t.charAt(0)!=="/")throw new Error(`multiaddr "${t}" must start with a "/"`);e=Qp(t)}else if(n0(t))e=Mu(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.#o=e.path}toString(){return this.#t}toJSON(){return this.toString()}toOptions(){let t,e,n,o,s="",i=G("tcp"),a=G("udp"),c=G("ip4"),l=G("ip6"),f=G("dns6"),u=G("ip6zone");for(let[h,p]of this.stringTuples())h===u.code&&(s=`%${p??""}`),Lx.includes(h)&&(e=i.name,o=443,n=`${p??""}${s}`,t=h===f.code?6:4),(h===i.code||h===a.code)&&(e=G(h).name,o=parseInt(p??"")),(h===c.code||h===l.code)&&(e=G(h).name,n=`${p??""}${s}`,t=h===l.code?6:4);if(t==null||e==null||n==null||o==null)throw new Error('multiaddr must have a valid format: "/{ip4, ip6, dns4, dns6, dnsaddr}/{address}/{tcp, udp}/{port}".');return{family:t,host:n,transport:e,port:o}}protos(){return this.#e.map(([t])=>Object.assign({},G(t)))}protoCodes(){return this.#e.map(([t])=>t)}protoNames(){return this.#e.map(([t])=>G(t).name)}tuples(){return this.#e}stringTuples(){return this.#r}encapsulate(t){return t=new r(t),new r(this.toString()+t.toString())}decapsulate(t){let e=t.toString(),n=this.toString(),o=n.lastIndexOf(e);if(o<0)throw new Error(`Address ${this.toString()} does not contain subaddress: ${t.toString()}`);return new r(n.slice(0,o))}decapsulateCode(t){let e=this.tuples();for(let n=e.length-1;n>=0;n--)if(e[n][0]===t)return new r($u(e.slice(0,n)));return this}getPeerId(){try{let t=[];this.stringTuples().forEach(([n,o])=>{n===Zn.p2p.code&&t.push([n,o]),n===Zn["p2p-circuit"].code&&(t=[])});let e=t.pop();if(e?.[1]!=null){let n=e[1];return n[0]==="Q"||n[0]==="1"?q(ft.decode(`z${n}`),"base58btc"):q(Z.parse(n).multihash.bytes,"base58btc")}return null}catch{return null}}getPath(){return this.#o}equals(t){return nt(this.bytes,t.bytes)}async resolve(t){let e=this.protos().find(s=>s.resolvable);if(e==null)return[this];let n=r0.get(e.name);if(n==null)throw new P(`no available resolver for ${e.name}`,"ERR_NO_AVAILABLE_RESOLVER");return(await n(this,t)).map(s=>ar(s))}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)}[Nx](){return`Multiaddr(${this.#t})`}};var r0=new Map;function n0(r){return!!r?.[Hu]}function ar(r){return new Qi(r)}var Ux=r=>r.toString().split("/").slice(1),qo=r=>({match:t=>t.length<1?!1:r(t[0])?t.slice(1):!1,pattern:"fn"}),et=r=>({match:t=>qo(e=>e===r).match(t),pattern:r}),ra=()=>({match:r=>qo(t=>typeof t=="string").match(r),pattern:"{string}"}),na=()=>({match:r=>qo(t=>!isNaN(parseInt(t))).match(r),pattern:"{number}"}),Ut=()=>({match:r=>{if(r.length<2||r[0]!=="p2p"&&r[0]!=="ipfs")return!1;if(r[1].startsWith("Q")||r[1].startsWith("1"))try{ft.decode(`z${r[1]}`)}catch{return!1}else return!1;return r.slice(2)},pattern:"/p2p/{peerid}"}),ta=()=>({match:r=>{if(r.length<2||r[0]!=="certhash")return!1;try{ja.decode(r[1])}catch{return!1}return r.slice(2)},pattern:"/certhash/{certhash}"}),vt=r=>({match:t=>{let e=r.match(t);return e===!1?t:e},pattern:`optional(${r.pattern})`}),de=(...r)=>({match:t=>{let e;for(let n of r){let o=n.match(t);o!==!1&&(e==null||o.length<e.length)&&(e=o)}return e??!1},pattern:`or(${r.map(t=>t.pattern).join(", ")})`}),st=(...r)=>({match:t=>{for(let e of r){let n=e.match(t);if(n===!1)return!1;t=n}return t},pattern:`and(${r.map(t=>t.pattern).join(", ")})`});function mt(...r){function t(o){let s=Ux(o);for(let i of r){let a=i.match(s);if(a===!1)return!1;s=a}return s}function e(o){return t(o)!==!1}function n(o){let s=t(o);return s===!1?!1:s.length===0}return{matches:e,exactMatch:n}}var qu=st(et("dns4"),ra()),zu=st(et("dns6"),ra()),ju=st(et("dnsaddr"),ra()),o0=st(et("dns"),ra()),a4=mt(qu),c4=mt(zu),u4=mt(ju),s0=mt(de(o0,ju,qu,zu)),i0=st(et("ip4"),qo(Wn)),a0=st(et("ip6"),qo(Yn)),c0=de(i0,a0),Me=de(c0,o0,qu,zu,ju),l4=mt(Me),f4=mt(i0),h4=mt(a0),d4=mt(c0),Gu=st(Me,et("tcp"),na()),zo=st(Me,et("udp"),na()),p4=mt(Gu),m4=mt(zo),Wu=st(zo,et("quic")),oa=st(zo,et("quic-v1")),Dx=de(Wu,oa),g4=mt(Wu),y4=mt(oa),Ku=de(Me,Gu,zo,Wu,oa),u0=de(st(Ku,et("ws"),vt(Ut()))),w4=mt(u0),l0=de(st(Ku,et("wss"),vt(Ut())),st(Ku,et("tls"),et("ws"),vt(Ut()))),b4=mt(l0),f0=st(zo,et("webrtc-direct"),vt(ta()),vt(ta()),vt(Ut())),x4=mt(f0),h0=st(oa,et("webtransport"),vt(ta()),vt(ta()),vt(Ut())),E4=mt(h0),ea=de(u0,l0,st(Gu,vt(Ut())),st(Dx,vt(Ut())),st(Me,vt(Ut())),f0,h0,Ut()),v4=mt(ea),Px=st(ea,et("p2p-circuit"),Ut()),A4=mt(Px),Ox=de(st(ea,et("p2p-circuit"),et("webrtc"),vt(Ut())),st(ea,et("webrtc"),vt(Ut())),et("webrtc")),B4=mt(Ox),Fx=de(st(Me,et("tcp"),na(),et("http"),vt(Ut())),st(Me,et("http"),vt(Ut()))),d0=mt(Fx),Vx=de(st(Me,et("tcp"),de(st(et("443"),et("http")),st(na(),et("https"))),vt(Ut())),st(Me,et("tls"),et("http"),vt(Ut())),st(Me,et("https"),vt(Ut()))),p0=mt(Vx);var Mx=[G("tcp").code,G("dns").code,G("dnsaddr").code,G("dns4").code,G("dns6").code];function m0(r){let t;try{t=G("sni").code}catch{return null}for(let[e,n]of r)if(e===t&&n!==void 0)return n;return null}function g0(r){return r.some(([t,e])=>t===G("tls").code)}function Zt(r,t,e){let n=y0[G(r).name];if(n===void 0)throw new Error(`Can't interpret protocol ${G(r).name}`);let o=n(t,e);return r===G("ip6").code?`[${o}]`:o}var y0={ip4:(r,t)=>r,ip6:(r,t)=>t.length===0?r:`[${r}]`,tcp:(r,t)=>{let e=t.pop();if(e===void 0)throw new Error("Unexpected end of multiaddr");return`tcp://${Zt(e[0],e[1]??"",t)}:${r}`},udp:(r,t)=>{let e=t.pop();if(e===void 0)throw new Error("Unexpected end of multiaddr");return`udp://${Zt(e[0],e[1]??"",t)}:${r}`},dnsaddr:(r,t)=>r,dns4:(r,t)=>r,dns6:(r,t)=>r,dns:(r,t)=>r,ipfs:(r,t)=>{let e=t.pop();if(e===void 0)throw new Error("Unexpected end of multiaddr");return`${Zt(e[0],e[1]??"",t)}/ipfs/${r}`},p2p:(r,t)=>{let e=t.pop();if(e===void 0)throw new Error("Unexpected end of multiaddr");return`${Zt(e[0],e[1]??"",t)}/p2p/${r}`},http:(r,t)=>{let e=g0(t),n=m0(t);if(e&&n!==null)return`https://${n}`;let o=e?"https://":"http://",s=t.pop();if(s===void 0)throw new Error("Unexpected end of multiaddr");let i=Zt(s[0],s[1]??"",t);return i=i.replace("tcp://",""),`${o}${i}`},"http-path":(r,t)=>{let e=t.pop();if(e===void 0)throw new Error("Unexpected end of multiaddr");let n=Zt(e[0],e[1]??"",t),o=decodeURIComponent(r);return`${n}/${o}`},tls:(r,t)=>{let e=t.pop();if(e===void 0)throw new Error("Unexpected end of multiaddr");return Zt(e[0],e[1]??"",t)},sni:(r,t)=>{let e=t.pop();if(e===void 0)throw new Error("Unexpected end of multiaddr");return Zt(e[0],e[1]??"",t)},https:(r,t)=>{let e=t.pop();if(e===void 0)throw new Error("Unexpected end of multiaddr");let n=Zt(e[0],e[1]??"",t);return n=n.replace("tcp://",""),`https://${n}`},ws:(r,t)=>{let e=g0(t),n=m0(t);if(e&&n!==null)return`wss://${n}`;let o=e?"wss://":"ws://",s=t.pop();if(s===void 0)throw new Error("Unexpected end of multiaddr");let i=Zt(s[0],s[1]??"",t);return i=i.replace("tcp://",""),`${o}${i}`},wss:(r,t)=>{let e=t.pop();if(e===void 0)throw new Error("Unexpected end of multiaddr");let n=Zt(e[0],e[1]??"",t);return n=n.replace("tcp://",""),`wss://${n}`},"p2p-websocket-star":(r,t)=>{let e=t.pop();if(e===void 0)throw new Error("Unexpected end of multiaddr");return`${Zt(e[0],e[1]??"",t)}/p2p-websocket-star`},"p2p-webrtc-star":(r,t)=>{let e=t.pop();if(e===void 0)throw new Error("Unexpected end of multiaddr");return`${Zt(e[0],e[1]??"",t)}/p2p-webrtc-star`},"p2p-webrtc-direct":(r,t)=>{let e=t.pop();if(e===void 0)throw new Error("Unexpected end of multiaddr");return`${Zt(e[0],e[1]??"",t)}/p2p-webrtc-direct`}};function w0(r,t){let n=ar(r).stringTuples(),o=n.pop();if(o===void 0)throw new Error("Unexpected end of multiaddr");let s=G(o[0]),i=y0[s.name];if(i==null)throw new Error(`No interpreter found for ${s.name}`);let a=i(o[1]??"",n);return t?.assumeHttp!==!1&&Mx.includes(o[0])&&(a=a.replace(/^.*:\/\//,""),o[1]==="443"?a=`https://${a}`:a=`http://${a}`),(a.startsWith("http://")||a.startsWith("https://"))&&(a=new URL(a).toString(),a.endsWith("/")&&(a=a.substring(0,a.length-1))),a}var sa=class{url;#t=0;#e=0;#r=0;#o=0;#a=new Map;log;constructor(t,e){this.url=t instanceof URL?t:new URL(t),this.log=e.forComponent(`helia:trustless-gateway-block-broker:${this.url.hostname}`)}#u(t){let e=t.multihash.bytes;return ae.encode(e)}async getRawBlock(t,e){let n=new URL(this.url.toString());if(n.pathname=`/ipfs/${t.toString()}`,n.search="?format=raw",e?.aborted===!0)throw new Error(`Signal to fetch raw block for CID ${t} from gateway ${this.url} was aborted prior to fetch`);let o=this.#u(t),s=new AbortController,i=()=>{s.abort()};e?.addEventListener("abort",i);try{let a=this.#a.get(o);return a==null&&(this.#t++,a=fetch(n.toString(),{signal:s.signal,headers:{Accept:"application/vnd.ipld.raw"},cache:"force-cache"}).then(async c=>{if(this.log("GET %s %d",n,c.status),!c.ok)throw this.#e++,new Error(`unable to fetch raw block for CID ${t} from gateway ${this.url}`);return this.#o++,new Uint8Array(await c.arrayBuffer())}),this.#a.set(o,a)),await a}catch{throw e?.aborted===!0?new Error(`fetching raw block for CID ${t} from gateway ${this.url} was aborted`):(this.#e++,new Error(`unable to fetch raw block for CID ${t}`))}finally{e?.removeEventListener("abort",i),this.#a.delete(o)}}reliability(){return this.#t===0?1:this.#r>0?-1/0:this.#o/(this.#t+this.#e*3)}incrementInvalidBlocks(){this.#r++}getStats(){return{attempts:this.#t,errors:this.#e,invalidBlocks:this.#r,successes:this.#o,pendingResponses:this.#a.size}}};function $x(r,t,e){return r.filter(n=>{if(p0.matches(n)||t&&d0.matches(n))return e||s0.matches(n)?!0:zp(n.toOptions().host)===!1;if(!t&&e){let{host:o}=n.toOptions();if(o==="127.0.0.1"||o==="localhost"||o.endsWith(".localhost"))return!0}return!1})}async function*ia(r,t,e,n,o,s){for await(let i of t.findProviders(r,s)){let a=$x(i.multiaddrs,n,o);if(a.length===0)continue;let c=w0(a[0]);yield new sa(c,e)}}var Yu=class extends Ho{routing;allowInsecure;allowLocal;constructor(t,e){super(t,{...e,name:"helia:trustless-gateway:session"}),this.routing=t.routing,this.allowInsecure=e.allowInsecure??aa,this.allowLocal=e.allowLocal??ca}async queryProvider(t,e,n){this.log("fetching BLOCK for %c from %s",t,e.url);let o=await e.getRawBlock(t,n.signal);return this.log.trace("got block for %c from %s",t,e.url),await n.validateFn?.(o),o}async*findNewProviders(t,e={}){yield*ia(t,this.routing,this.logger,this.allowInsecure,this.allowLocal,e)}toEvictionKey(t){return t.url.toString()}equals(t,e){return t.url.toString()===e.url.toString()}};function b0(r,t){return new Yu(r,t)}var ua=class{allowInsecure;allowLocal;routing;log;logger;constructor(t,e={}){this.log=t.logger.forComponent("helia:trustless-gateway-block-broker"),this.logger=t.logger,this.routing=t.routing,this.allowInsecure=e.allowInsecure??aa,this.allowLocal=e.allowLocal??ca}async retrieve(t,e={}){let n=[];for await(let o of ia(t,this.routing,this.logger,this.allowInsecure,this.allowLocal,e)){this.log("getting block for %c from %s",t,o.url);try{let s=await o.getRawBlock(t,e.signal);this.log.trace("got block for %c from %s",t,o.url);try{await e.validateFn?.(s)}catch(i){this.log.error("failed to validate block for %c from %s",t,o.url,i);continue}return s}catch(s){if(this.log.error("failed to get block for %c from %s",t,o.url,s),s instanceof Error?n.push(s):n.push(new Error(`Unable to fetch raw block for CID ${t} from gateway ${o.url}`)),e.signal?.aborted===!0){this.log.trace("request aborted while fetching raw block for CID %c from gateway %s",t,o.url);break}}}throw n.length>0?new AggregateError(n,`Unable to fetch raw block for CID ${t} from any gateway`):new Error(`Unable to fetch raw block for CID ${t} from any gateway`)}createSession(t={}){return b0({logger:this.logger,routing:this.routing},{...t,allowLocal:this.allowLocal,allowInsecure:this.allowInsecure})}};var aa=!1,ca=!1;function Zu(r={}){return t=>new ua(t,r)}async function*la(r,t={}){let e=r.getReader();try{for(;;){let n=await e.read();if(n.done)return;yield n.value}}finally{t.preventCancel!==!0&&await e.cancel(),e.releaseLock()}}var zx=ie(zn(),1);var jx=ie(Xu(),1);var x0="ERR_IPNS_EXPIRED_RECORD",fa="ERR_UNRECOGNIZED_VALIDITY";var cr="ERR_SIGNATURE_VERIFICATION";var Qu="ERR_UNDEFINED_PARAMETER",E0="ERR_INVALID_RECORD_DATA",v0="ERR_INVALID_VALUE",A0="ERR_INVALID_EMBEDDED_KEY";var B0="ERR_RECORD_TOO_LARGE";var Re;(function(r){let t;(function(o){o.EOL="EOL"})(t=r.ValidityType||(r.ValidityType={}));let e;(function(o){o[o.EOL=0]="EOL"})(e||(e={})),function(o){o.codec=()=>io(e)}(t=r.ValidityType||(r.ValidityType={}));let n;r.codec=()=>(n==null&&(n=pn((o,s,i={})=>{i.lengthDelimited!==!1&&s.fork(),o.value!=null&&(s.uint32(10),s.bytes(o.value)),o.signatureV1!=null&&(s.uint32(18),s.bytes(o.signatureV1)),o.validityType!=null&&(s.uint32(24),r.ValidityType.codec().encode(o.validityType,s)),o.validity!=null&&(s.uint32(34),s.bytes(o.validity)),o.sequence!=null&&(s.uint32(40),s.uint64(o.sequence)),o.ttl!=null&&(s.uint32(48),s.uint64(o.ttl)),o.pubKey!=null&&(s.uint32(58),s.bytes(o.pubKey)),o.signatureV2!=null&&(s.uint32(66),s.bytes(o.signatureV2)),o.data!=null&&(s.uint32(74),s.bytes(o.data)),i.lengthDelimited!==!1&&s.ldelim()},(o,s)=>{let i={},a=s==null?o.len:o.pos+s;for(;o.pos<a;){let c=o.uint32();switch(c>>>3){case 1:i.value=o.bytes();break;case 2:i.signatureV1=o.bytes();break;case 3:i.validityType=r.ValidityType.codec().decode(o);break;case 4:i.validity=o.bytes();break;case 5:i.sequence=o.uint64();break;case 6:i.ttl=o.uint64();break;case 7:i.pubKey=o.bytes();break;case 8:i.signatureV2=o.bytes();break;case 9:i.data=o.bytes();break;default:o.skipType(c&7);break}}return i})),n),r.encode=o=>hn(o,r.codec()),r.decode=o=>an(o,r.codec())})(Re||(Re={}));var se=ie(zn(),1);var S0=te("ipns:utils"),I0=K("/ipns/"),Hx=114,R0=async(r,t)=>{if(t==null||r==null){let n=new Error("one or more of the provided parameters are not defined");throw S0.error(n),(0,se.default)(n,Qu)}let e;if(t.pubKey!=null){try{e=Yc(t.pubKey)}catch(o){throw S0.error(o),o}if(!(await lf(t.pubKey)).equals(r))throw(0,se.default)(new Error("Embedded public key did not match PeerID"),A0)}else r.publicKey!=null&&(e=Yc(r.publicKey));if(e!=null)return e;throw(0,se.default)(new Error("no public key is available"),Qu)};var _0=r=>{let t=K("ipns-signature:");return St([t,r])},Qr=r=>"signatureV1"in r?Re.encode({value:K(r.value),signatureV1:r.signatureV1,validityType:r.validityType,validity:K(r.validity),sequence:r.sequence,ttl:r.ttl,pubKey:r.pubKey,signatureV2:r.signatureV2,data:r.data}):Re.encode({pubKey:r.pubKey,signatureV2:r.signatureV2,data:r.data});function $e(r){let t=Re.decode(r);if(t.sequence!=null&&(t.sequence=BigInt(t.sequence)),t.ttl!=null&&(t.ttl=BigInt(t.ttl)),t.signatureV2==null||t.data==null)throw(0,se.default)(new Error("missing data or signatureV2"),cr);let e=T0(t.data),n=Kx(e.Value),o=q(e.Validity);if(t.value!=null&&t.signatureV1!=null)return qx(t),{value:n,validityType:Re.ValidityType.EOL,validity:o,sequence:e.Sequence,ttl:e.TTL,pubKey:t.pubKey,signatureV1:t.signatureV1,signatureV2:t.signatureV2,data:t.data};if(t.signatureV2!=null)return{value:n,validityType:Re.ValidityType.EOL,validity:o,sequence:e.Sequence,ttl:e.TTL,pubKey:t.pubKey,signatureV2:t.signatureV2,data:t.data};throw new Error("invalid record: does not include signatureV1 or signatureV2")}var tl=r=>St([I0,r.toBytes()]),Jn=r=>co(r.slice(I0.length));var T0=r=>{let t=he(r);if(t.ValidityType===0)t.ValidityType=Re.ValidityType.EOL;else throw(0,se.default)(new Error("Unknown validity type"),fa);return Number.isInteger(t.Sequence)&&(t.Sequence=BigInt(t.Sequence)),Number.isInteger(t.TTL)&&(t.TTL=BigInt(t.TTL)),t},Kx=r=>{if(r!=null){if(Al(r))return`/ipns/${r.toCID().toString(gr)}`;if(r instanceof Uint8Array){let n=q(r);n.startsWith("/")&&(r=n)}let t=r.toString().trim();if(t.startsWith("/")&&t.length>1)return t;let e=Z.asCID(r);if(e!=null)return e.code===Hx?`/ipns/${e.toString(gr)}`:`/ipfs/${e.toV1().toString()}`;try{return r instanceof Uint8Array?`/ipfs/${Z.decode(r).toV1().toString()}`:`/ipfs/${Z.parse(t).toV1().toString()}`}catch{}}throw(0,se.default)(new Error("Value must be a valid content path starting with /"),v0)},qx=r=>{if(r.data==null)throw(0,se.default)(new Error("Record data is missing"),E0);let t=T0(r.data);if(!nt(t.Value,r.value??new Uint8Array(0)))throw(0,se.default)(new Error('Field "value" did not match between protobuf and CBOR'),cr);if(!nt(t.Validity,r.validity??new Uint8Array(0)))throw(0,se.default)(new Error('Field "validity" did not match between protobuf and CBOR'),cr);if(t.ValidityType!==r.validityType)throw(0,se.default)(new Error('Field "validityType" did not match between protobuf and CBOR'),cr);if(t.Sequence!==r.sequence)throw(0,se.default)(new Error('Field "sequence" did not match between protobuf and CBOR'),cr);if(t.TTL!==r.ttl)throw(0,se.default)(new Error('Field "ttl" did not match between protobuf and CBOR'),cr)};var w3=te("ipns"),b3=Mt.code,x3=60*60*1e9,Gx="/ipns/",E3=Gx.length;var jo=ie(zn(),1),C0=ie(Xu(),1);var ha=te("ipns:validator"),Wx=1024*10,Yx=async(r,t)=>{let e=$e(t),n;try{let o=_0(e.data);n=await r.verify(o,e.signatureV2)}catch{n=!1}if(!n)throw ha.error("record signature verification failed"),(0,jo.default)(new Error("record signature verification failed"),cr);if(e.validityType===Re.ValidityType.EOL){if(C0.default.fromString(e.validity).toDate().getTime()<Date.now())throw ha.error("record has expired"),(0,jo.default)(new Error("record has expired"),x0)}else if(e.validityType!=null)throw ha.error("unrecognized validity type"),(0,jo.default)(new Error("unrecognized validity type"),fa);ha("ipns record for %s is valid",e.value)};async function N0(r,t){if(t.byteLength>Wx)throw(0,jo.default)(new Error("record too large"),B0);let e=Jn(r),n=$e(t),o=await R0(e,n);await Yx(o,t)}async function*Go(r){let t=/\r?\n/,e=new TextDecoder("utf8"),n="";for await(let o of r){typeof o=="string"&&(o=new TextEncoder().encode(o)),n+=e.decode(o,{stream:!0});let s=n.split(t);n=s.pop()??"";for(let i=0;i<s.length;i++)yield JSON.parse(s[i])}n+=e.decode(),n!==""&&(yield JSON.parse(n))}function Zx(r){return r[Symbol.asyncIterator]!=null}function Jx(r){if(Zx(r))return(async()=>{for await(let t of r)return t})();for(let t of r)return t}var da=Jx;var el=K("/ipns/");function L0(r){return nt(r.subarray(0,el.byteLength),el)}var U0=r=>co(r.slice(el.length)),pa=class{client;constructor(t){this.client=t}async*findProviders(t,e={}){yield*sn(this.client.getProviders(t,e),n=>({id:n.ID,multiaddrs:n.Addrs??[]}))}async provide(){}async put(t,e,n){if(!L0(t))return;let o=U0(t),s=$e(e);await this.client.putIPNS(o,s,n)}async get(t,e){if(!L0(t))throw new P("Not found","ERR_NOT_FOUND");let n=U0(t);try{let o=await this.client.getIPNS(n,e);return Qr(o)}catch(o){throw o.code==="ERR_BAD_RESPONSE"?new P("Not found","ERR_NOT_FOUND"):o}}},ma=class{client;constructor(t){this.client=t}async findPeer(t,e={}){let n=await da(this.client.getPeers(t,e));if(n!=null)return{id:n.ID,multiaddrs:n.Addrs??[]};throw new P("Not found","ERR_NOT_FOUND")}async*getClosestPeers(t,e={}){}};var Jt=te("delegated-routing-v1-http-api-client"),D0={concurrentRequests:4,timeout:3e4},ga=class{started;httpQueue;shutDownController;clientUrl;timeout;contentRouting;peerRouting;constructor(t,e={}){this.started=!1,this.shutDownController=new AbortController,lt(1/0,this.shutDownController.signal),this.httpQueue=new Fe({concurrency:e.concurrentRequests??D0.concurrentRequests}),this.clientUrl=t instanceof URL?t:new URL(t),this.timeout=e.timeout??D0.timeout,this.contentRouting=new pa(this),this.peerRouting=new ma(this)}get[Qn](){return this.contentRouting}get[to](){return this.peerRouting}isStarted(){return this.started}start(){this.started=!0}stop(){this.httpQueue.clear(),this.shutDownController.abort(),this.started=!1}async*getProviders(t,e={}){Jt("getProviders starts: %c",t);let n=AbortSignal.timeout(this.timeout),o=Vt([this.shutDownController.signal,n,e.signal]);lt(1/0,n,o);let s=kt(),i=kt();this.httpQueue.add(async()=>(s.resolve(),i.promise));try{await s.promise;let a=`${this.clientUrl}routing/v1/providers/${t.toString()}`,l=await fetch(a,{headers:{Accept:"application/x-ndjson"},signal:o});if(l.status===404)throw new P("No matching records found.","ERR_NOT_FOUND");if(l.status===422)throw new P("Request does not conform to schema or semantic constraints.","ERR_INVALID_REQUEST");if(l.body==null)throw new P("Routing response had no body","ERR_BAD_RESPONSE");if(l.headers.get("Content-Type")==="application/json"){let u=await l.json();for(let m of u.Providers){let h=this.#t(m);h!=null&&(yield h)}}else for await(let u of Go(la(l.body))){let m=this.#t(u);m!=null&&(yield m)}}catch(a){Jt.error("getProviders errored:",a)}finally{o.clear(),i.resolve(),Jt("getProviders finished: %c",t)}}async*getPeers(t,e={}){Jt("getPeers starts: %c",t);let n=AbortSignal.timeout(this.timeout),o=Vt([this.shutDownController.signal,n,e.signal]);lt(1/0,n,o);let s=kt(),i=kt();this.httpQueue.add(async()=>(s.resolve(),i.promise));try{await s.promise;let a=`${this.clientUrl}routing/v1/peers/${t.toCID().toString()}`,l=await fetch(a,{headers:{Accept:"application/x-ndjson"},signal:o});if(l.status===404)throw new P("No matching records found.","ERR_NOT_FOUND");if(l.status===422)throw new P("Request does not conform to schema or semantic constraints.","ERR_INVALID_REQUEST");if(l.body==null)throw new P("Routing response had no body","ERR_BAD_RESPONSE");if(l.headers.get("Content-Type")==="application/json"){let u=await l.json();for(let m of u.Peers){let h=this.#t(m);h!=null&&(yield h)}}else for await(let u of Go(la(l.body))){let m=this.#t(u);m!=null&&(yield m)}}catch(a){Jt.error("getPeers errored:",a)}finally{o.clear(),i.resolve(),Jt("getPeers finished: %c",t)}}async getIPNS(t,e={}){Jt("getIPNS starts: %c",t);let n=AbortSignal.timeout(this.timeout),o=Vt([this.shutDownController.signal,n,e.signal]);lt(1/0,n,o);let s=kt(),i=kt();this.httpQueue.add(async()=>(s.resolve(),i.promise));let a=`${this.clientUrl}routing/v1/ipns/${t.toCID().toString()}`;try{await s.promise;let l=await fetch(a,{headers:{Accept:"application/vnd.ipfs.ipns-record"},signal:o});if(Jt("getIPNS GET %s %d",a,l.status),l.status===404)throw new P("No matching records found.","ERR_NOT_FOUND");if(l.status===422)throw new P("Request does not conform to schema or semantic constraints.","ERR_INVALID_REQUEST");if(l.body==null)throw new P("GET ipns response had no body","ERR_BAD_RESPONSE");let f=await l.arrayBuffer(),u=new Uint8Array(f,0,f.byteLength);return e.validate!==!1&&await N0(tl(t),u),$e(u)}catch(c){throw Jt.error("getIPNS GET %s error:",a,c),c}finally{o.clear(),i.resolve(),Jt("getIPNS finished: %c",t)}}async putIPNS(t,e,n={}){Jt("putIPNS starts: %c",t);let o=AbortSignal.timeout(this.timeout),s=Vt([this.shutDownController.signal,o,n.signal]);lt(1/0,o,s);let i=kt(),a=kt();this.httpQueue.add(async()=>(i.resolve(),a.promise));let c=`${this.clientUrl}routing/v1/ipns/${t.toCID().toString()}`;try{await i.promise;let l=Qr(e),u=await fetch(c,{method:"PUT",headers:{"Content-Type":"application/vnd.ipfs.ipns-record"},body:l,signal:s});if(Jt("putIPNS PUT %s %d",c,u.status),u.status!==200)throw new P("PUT ipns response had status other than 200","ERR_BAD_RESPONSE")}catch(l){throw Jt.error("putIPNS PUT %s error:",c,l.stack),l}finally{s.clear(),a.resolve(),Jt("putIPNS finished: %c",t)}}#t(t){let e=[],n=t.Addrs?.map(ar)??[];return t.Protocols!=null&&e.push(...t.Protocols),t.Protocol!=null&&(e.push(t.Protocol),delete t.Protocol),{...t,Schema:"peer",ID:mc(t.ID),Addrs:n,Protocols:e}}};function P0(r,t={}){return new ga(new URL(r),t)}var O0=K("/ipns/");function F0(r){return nt(r.subarray(0,O0.byteLength),O0)}var rl=class{client;constructor(t){this.client=P0(t)}async provide(t,e){}async*findProviders(t,e){yield*sn(this.client.getProviders(t,e),n=>({id:n.ID,multiaddrs:n.Addrs,protocols:n.Protocols}))}async put(t,e,n){if(!F0(t))return;let o=Jn(t),s=$e(e);await this.client.putIPNS(o,s,n)}async get(t,e){if(!F0(t))throw new P("Not found","ERR_NOT_FOUND");let n=Jn(t);try{let o=await this.client.getIPNS(n,e);return Qr(o)}catch(o){throw o.code==="ERR_BAD_RESPONSE"?new P("Not found","ERR_NOT_FOUND"):o}}async findPeer(t,e){let n=await da(this.client.getPeers(t,e));if(n!=null)return{id:n.ID,multiaddrs:n.Addrs??[]};throw new P("Not found","ERR_NOT_FOUND")}async*getClosestPeers(t,e){}};function nl(r){return new rl(new URL(r))}var V0="[a-fA-F\\d:]",Dr=r=>r&&r.includeBoundaries?`(?:(?<=\\s|^)(?=${V0})|(?<=${V0})(?=\\s|$))`:"",_e="(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)(?:\\.(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)){3}",yt="[a-fA-F\\d]{1,4}",ya=`
|
|
9
9
|
(?:
|
|
10
|
-
(?:${
|
|
11
|
-
(?:${
|
|
12
|
-
(?:${
|
|
13
|
-
(?:${
|
|
14
|
-
(?:${
|
|
15
|
-
(?:${
|
|
16
|
-
(?:${
|
|
17
|
-
(?::(?:(?::${
|
|
10
|
+
(?:${yt}:){7}(?:${yt}|:)| // 1:2:3:4:5:6:7:: 1:2:3:4:5:6:7:8
|
|
11
|
+
(?:${yt}:){6}(?:${_e}|:${yt}|:)| // 1:2:3:4:5:6:: 1:2:3:4:5:6::8 1:2:3:4:5:6::8 1:2:3:4:5:6::1.2.3.4
|
|
12
|
+
(?:${yt}:){5}(?::${_e}|(?::${yt}){1,2}|:)| // 1:2:3:4:5:: 1:2:3:4:5::7:8 1:2:3:4:5::8 1:2:3:4:5::7:1.2.3.4
|
|
13
|
+
(?:${yt}:){4}(?:(?::${yt}){0,1}:${_e}|(?::${yt}){1,3}|:)| // 1:2:3:4:: 1:2:3:4::6:7:8 1:2:3:4::8 1:2:3:4::6:7:1.2.3.4
|
|
14
|
+
(?:${yt}:){3}(?:(?::${yt}){0,2}:${_e}|(?::${yt}){1,4}|:)| // 1:2:3:: 1:2:3::5:6:7:8 1:2:3::8 1:2:3::5:6:7:1.2.3.4
|
|
15
|
+
(?:${yt}:){2}(?:(?::${yt}){0,3}:${_e}|(?::${yt}){1,5}|:)| // 1:2:: 1:2::4:5:6:7:8 1:2::8 1:2::4:5:6:7:1.2.3.4
|
|
16
|
+
(?:${yt}:){1}(?:(?::${yt}){0,4}:${_e}|(?::${yt}){1,6}|:)| // 1:: 1::3:4:5:6:7:8 1::8 1::3:4:5:6:7:1.2.3.4
|
|
17
|
+
(?::(?:(?::${yt}){0,5}:${_e}|(?::${yt}){1,7}|:)) // ::2:3:4:5:6:7:8 ::2:3:4:5:6:7:8 ::8 ::1.2.3.4
|
|
18
18
|
)(?:%[0-9a-zA-Z]{1,})? // %eth0 %1
|
|
19
|
-
`.replace(/\s*\/\/.*$/gm,"").replace(/\n/g,"").trim(),
|
|
19
|
+
`.replace(/\s*\/\/.*$/gm,"").replace(/\n/g,"").trim(),Xx=new RegExp(`(?:^${_e}$)|(?:^${ya}$)`),Qx=new RegExp(`^${_e}$`),t1=new RegExp(`^${ya}$`),ol=r=>r&&r.exact?Xx:new RegExp(`(?:${Dr(r)}${_e}${Dr(r)})|(?:${Dr(r)}${ya}${Dr(r)})`,"g");ol.v4=r=>r&&r.exact?Qx:new RegExp(`${Dr(r)}${_e}${Dr(r)}`,"g");ol.v6=r=>r&&r.exact?t1:new RegExp(`${Dr(r)}${ya}${Dr(r)}`,"g");var sl=ol;function il(r){let t=(...e)=>r(...e);return Object.defineProperty(t,"name",{value:`functionTimeout(${r.name||"<anonymous>"})`,configurable:!0}),t}function M0(){return!1}var{toString:e1}=Object.prototype;function al(r){return e1.call(r)==="[object RegExp]"}var $0={global:"g",ignoreCase:"i",multiline:"m",dotAll:"s",sticky:"y",unicode:"u"};function cl(r,t={}){if(!al(r))throw new TypeError("Expected a RegExp instance");let e=Object.keys($0).map(o=>(typeof t[o]=="boolean"?t[o]:r[o])?$0[o]:"").join(""),n=new RegExp(t.source||r.source,e);return n.lastIndex=typeof t.lastIndex=="number"?t.lastIndex:r.lastIndex,n}function ul(r,t,{timeout:e}={}){try{return il(()=>cl(r).test(t),{timeout:e})()}catch(n){if(M0(n))return!1;throw n}}var r1=15,n1=45,H0={timeout:400};function ll(r){return r.length>n1?!1:ul(sl.v6({exact:!0}),r,H0)}function K0(r){return r.length>r1?!1:ul(sl.v4({exact:!0}),r,H0)}var q0={http:"80",https:"443",ws:"80",wss:"443"},o1=["http","https","ws","wss"];function z0(r,t){t=t??{};let e=t.defaultDnsType??"dns4",{scheme:n,hostname:o,port:s}=s1(r),a="/"+[i1(o,e),a1(s,n),c1(n)].filter(c=>!!c).reduce((c,l)=>c.concat(l),[]).join("/");return ar(a)}function s1(r){let[t]=r.split(":");o1.includes(t)||(r="http"+r.substring(t.length));let{protocol:e,hostname:n,port:o}=new URL(r);if(o==null||o===""){let s=u1(t);s!=null&&(o=s),s==null&&e==="http:"&&(o="80")}return{scheme:t,hostname:n,port:o}}function i1(r,t){if(!(r==null||r==="")){if(K0(r))return["ip4",r];if(ll(r))return["ip6",r];if(r[0]==="["){let e=r.substring(1,r.length-1);if(ll(e))return["ip6",e]}return[t,r]}}function a1(r,t){if(!(r==null||r===""))return t==="udp"?["udp",r]:["tcp",r]}function c1(r){if(r.match(/^tcp$|^udp$/)==null)return[r]}function u1(r){if(!(r==null||r===""||q0[r]==null))return q0[r]}var l1=["https://trustless-gateway.link","https://4everland.io"],f1=2336,h1=Symbol.for("nodejs.util.inspect.custom"),fl=class{type="url";multihash;privateKey;publicKey;url;constructor(t){this.url=t.toString(),this.multihash=Mt.digest(K(this.url))}[h1](){return`PeerId(${this.url})`}[tn]=!0;toString(){return this.toCID().toString()}toCID(){return Z.createV1(f1,this.multihash)}toBytes(){return this.toCID().bytes}equals(t){return t==null?!1:(t instanceof Uint8Array&&(t=q(t)),t.toString()===this.toString())}};function d1(r){return r=r.toString(),{id:new fl(new URL(r)),multiaddrs:[z0(r)]}}var hl=class{gateways;constructor(t={}){this.gateways=(t.gateways??l1).map(e=>d1(e))}async*findProviders(t,e){yield*this.gateways.toSorted(()=>Math.random()>.5?1:-1).map(n=>({...n,protocols:["transport-ipfs-gateway-http"]}))}};function dl(r={}){return new hl(r)}var j0=ie(zn(),1);function wa(r){return r=r??new Error("Not Found"),(0,j0.default)(r,"ERR_NOT_FOUND")}var G0="SHARDING";function m1(r){return r[Symbol.asyncIterator]!=null}function g1(r){if(m1(r))return(async()=>{let e=[];for await(let n of r)e.push(n);return e})();let t=[];for(let e of r)t.push(e);return t}var pl=g1;function y1(r){return r[Symbol.asyncIterator]!=null}function w1(r,t){return y1(r)?async function*(){yield*(await pl(r)).sort(t)}():function*(){yield*pl(r).sort(t)}()}var ba=w1;var ur=class{put(t,e,n){return Promise.reject(new Error(".put is not implemented"))}get(t,e){return Promise.reject(new Error(".get is not implemented"))}has(t,e){return Promise.reject(new Error(".has is not implemented"))}delete(t,e){return Promise.reject(new Error(".delete is not implemented"))}async*putMany(t,e={}){for await(let{key:n,value:o}of t)await this.put(n,o,e),yield n}async*getMany(t,e={}){for await(let n of t)yield{key:n,value:await this.get(n,e)}}async*deleteMany(t,e={}){for await(let n of t)await this.delete(n,e),yield n}batch(){let t=[],e=[];return{put(n,o){t.push({key:n,value:o})},delete(n){e.push(n)},commit:async n=>{await Fr(this.putMany(t,n)),t=[],await Fr(this.deleteMany(e,n)),e=[]}}}async*_all(t,e){throw new Error("._all is not implemented")}async*_allKeys(t,e){throw new Error("._allKeys is not implemented")}query(t,e){let n=this._all(t,e);if(t.prefix!=null){let o=t.prefix;n=Ie(n,s=>s.key.toString().startsWith(o))}if(Array.isArray(t.filters)&&(n=t.filters.reduce((o,s)=>Ie(o,s),n)),Array.isArray(t.orders)&&(n=t.orders.reduce((o,s)=>ba(o,s),n)),t.offset!=null){let o=0,s=t.offset;n=Ie(n,()=>o++>=s)}return t.limit!=null&&(n=is(n,t.limit)),n}queryKeys(t,e){let n=this._allKeys(t,e);if(t.prefix!=null){let o=t.prefix;n=Ie(n,s=>s.toString().startsWith(o))}if(Array.isArray(t.filters)&&(n=t.filters.reduce((o,s)=>Ie(o,s),n)),Array.isArray(t.orders)&&(n=t.orders.reduce((o,s)=>ba(o,s),n)),t.offset!=null){let o=t.offset,s=0;n=Ie(n,()=>s++>=o)}return t.limit!=null&&(n=is(n,t.limit)),n}};var Yo=class extends ur{data;constructor(){super(),this.data=new Map}put(t,e){return this.data.set(t.toString(),e),t}get(t){let e=this.data.get(t.toString());if(e==null)throw wa();return e}has(t){return this.data.has(t.toString())}delete(t){this.data.delete(t.toString())}*_all(){for(let[t,e]of this.data.entries())yield{key:new Lt(t),value:e}}*_allKeys(){for(let t of this.data.keys())yield new Lt(t)}};var f_=new Lt(G0);var A_=te("datastore:core:tiered");async function E1(r={}){let t=r.datastore??new Yo,e=r.blockstore??new $o,n=new Yi({...r,datastore:t,blockstore:e,blockBrokers:r.blockBrokers??[Zu()],routers:r.routers??[nl("https://delegated-ipfs.dev"),dl()]});return r.start!==!1&&await n.start(),n}return am(v1);})();
|
|
20
20
|
/*! Bundled license information:
|
|
21
21
|
|
|
22
22
|
pvtsutils/build/index.js:
|