@helia/ipns 3.0.0 → 4.0.0-031519c
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 +59 -27
- package/dist/index.min.js +73 -26
- package/dist/src/index.d.ts +55 -14
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +79 -14
- package/dist/src/index.js.map +1 -1
- package/dist/src/routing/helia.d.ts +20 -0
- package/dist/src/routing/helia.d.ts.map +1 -0
- package/dist/src/routing/helia.js +32 -0
- package/dist/src/routing/helia.js.map +1 -0
- package/dist/src/routing/index.d.ts +9 -3
- package/dist/src/routing/index.d.ts.map +1 -1
- package/dist/src/routing/index.js +1 -1
- package/dist/src/routing/index.js.map +1 -1
- package/dist/src/routing/pubsub.d.ts +9 -2
- package/dist/src/routing/pubsub.d.ts.map +1 -1
- package/dist/src/routing/pubsub.js +9 -9
- package/dist/src/routing/pubsub.js.map +1 -1
- package/dist/src/utils/dns.js +1 -1
- package/dist/src/utils/dns.js.map +1 -1
- package/package.json +29 -25
- package/src/index.ts +85 -17
- package/src/routing/helia.ts +45 -0
- package/src/routing/index.ts +9 -4
- package/src/routing/pubsub.ts +10 -11
- package/src/utils/dns.ts +1 -1
- package/dist/src/routing/dht.d.ts +0 -18
- package/dist/src/routing/dht.d.ts.map +0 -1
- package/dist/src/routing/dht.js +0 -28
- package/dist/src/routing/dht.js.map +0 -1
- package/dist/typedoc-urls.json +0 -40
- package/src/routing/dht.ts +0 -43
package/dist/index.min.js
CHANGED
|
@@ -1,32 +1,39 @@
|
|
|
1
1
|
(function (root, factory) {(typeof module === 'object' && module.exports) ? module.exports = factory() : root.HeliaIpns = factory()}(typeof self !== 'undefined' ? self : this, function () {
|
|
2
|
-
"use strict";var HeliaIpns=(()=>{var F7=Object.create;var Ts=Object.defineProperty;var M7=Object.getOwnPropertyDescriptor;var V7=Object.getOwnPropertyNames;var K7=Object.getPrototypeOf,q7=Object.prototype.hasOwnProperty;var it=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),rt=(e,t)=>{for(var r in t)Ts(e,r,{get:t[r],enumerable:!0})},Cf=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of V7(t))!q7.call(e,o)&&o!==r&&Ts(e,o,{get:()=>t[o],enumerable:!(n=M7(t,o))||n.enumerable});return e};var ht=(e,t,r)=>(r=e!=null?F7(K7(e)):{},Cf(t||!e||!e.__esModule?Ts(r,"default",{value:e,enumerable:!0}):r,e)),z7=e=>Cf(Ts({},"__esModule",{value:!0}),e);var G1=it((WS,Rf)=>{var ao=1e3,co=ao*60,uo=co*60,Dn=uo*24,$7=Dn*7,H7=Dn*365.25;Rf.exports=function(e,t){t=t||{};var r=typeof e;if(r==="string"&&e.length>0)return G7(e);if(r==="number"&&isFinite(e))return t.long?Y7(e):Q7(e);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(e))};function G7(e){if(e=String(e),!(e.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(e);if(t){var r=parseFloat(t[1]),n=(t[2]||"ms").toLowerCase();switch(n){case"years":case"year":case"yrs":case"yr":case"y":return r*H7;case"weeks":case"week":case"w":return r*$7;case"days":case"day":case"d":return r*Dn;case"hours":case"hour":case"hrs":case"hr":case"h":return r*uo;case"minutes":case"minute":case"mins":case"min":case"m":return r*co;case"seconds":case"second":case"secs":case"sec":case"s":return r*ao;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return r;default:return}}}}function Q7(e){var t=Math.abs(e);return t>=Dn?Math.round(e/Dn)+"d":t>=uo?Math.round(e/uo)+"h":t>=co?Math.round(e/co)+"m":t>=ao?Math.round(e/ao)+"s":e+"ms"}function Y7(e){var t=Math.abs(e);return t>=Dn?Rs(e,t,Dn,"day"):t>=uo?Rs(e,t,uo,"hour"):t>=co?Rs(e,t,co,"minute"):t>=ao?Rs(e,t,ao,"second"):e+" ms"}function Rs(e,t,r,n){var o=t>=r*1.5;return Math.round(e/r)+" "+n+(o?"s":"")}});var Bf=it((ZS,_f)=>{function W7(e){r.debug=r,r.default=r,r.coerce=c,r.disable=i,r.enable=o,r.enabled=s,r.humanize=G1(),r.destroy=u,Object.keys(e).forEach(f=>{r[f]=e[f]}),r.names=[],r.skips=[],r.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 r.colors[Math.abs(l)%r.colors.length]}r.selectColor=t;function r(f){let l,m=null,d,h;function p(...g){if(!p.enabled)return;let y=p,x=Number(new Date),b=x-(l||x);y.diff=b,y.prev=l,y.curr=x,l=x,g[0]=r.coerce(g[0]),typeof g[0]!="string"&&g.unshift("%O");let A=0;g[0]=g[0].replace(/%([a-zA-Z%])/g,(E,_)=>{if(E==="%%")return"%";A++;let I=r.formatters[_];if(typeof I=="function"){let k=g[A];E=I.call(y,k),g.splice(A,1),A--}return E}),r.formatArgs.call(y,g),(y.log||r.log).apply(y,g)}return p.namespace=f,p.useColors=r.useColors(),p.color=r.selectColor(f),p.extend=n,p.destroy=r.destroy,Object.defineProperty(p,"enabled",{enumerable:!0,configurable:!1,get:()=>m!==null?m:(d!==r.namespaces&&(d=r.namespaces,h=r.enabled(f)),h),set:g=>{m=g}}),typeof r.init=="function"&&r.init(p),p}function n(f,l){let m=r(this.namespace+(typeof l>"u"?":":l)+f);return m.log=this.log,m}function o(f){r.save(f),r.namespaces=f,r.names=[],r.skips=[];let l,m=(typeof f=="string"?f:"").split(/[\s,]+/),d=m.length;for(l=0;l<d;l++)m[l]&&(f=m[l].replace(/\*/g,".*?"),f[0]==="-"?r.skips.push(new RegExp("^"+f.slice(1)+"$")):r.names.push(new RegExp("^"+f+"$")))}function i(){let f=[...r.names.map(a),...r.skips.map(a).map(l=>"-"+l)].join(",");return r.enable(""),f}function s(f){if(f[f.length-1]==="*")return!0;let l,m;for(l=0,m=r.skips.length;l<m;l++)if(r.skips[l].test(f))return!1;for(l=0,m=r.names.length;l<m;l++)if(r.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 r.enable(r.load()),r}_f.exports=W7});var Q1=it((Pe,_s)=>{Pe.formatArgs=X7;Pe.save=j7;Pe.load=J7;Pe.useColors=Z7;Pe.storage=td();Pe.destroy=(()=>{let e=!1;return()=>{e||(e=!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`."))}})();Pe.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 Z7(){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 X7(e){if(e[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+e[0]+(this.useColors?"%c ":" ")+"+"+_s.exports.humanize(this.diff),!this.useColors)return;let t="color: "+this.color;e.splice(1,0,t,"color: inherit");let r=0,n=0;e[0].replace(/%[a-zA-Z%]/g,o=>{o!=="%%"&&(r++,o==="%c"&&(n=r))}),e.splice(n,0,t)}Pe.log=console.debug||console.log||(()=>{});function j7(e){try{e?Pe.storage.setItem("debug",e):Pe.storage.removeItem("debug")}catch{}}function J7(){let e;try{e=Pe.storage.getItem("debug")}catch{}return!e&&typeof process<"u"&&"env"in process&&(e=process.env.DEBUG),e}function td(){try{return localStorage}catch{}}_s.exports=Bf()(Pe);var{formatters:ed}=_s.exports;ed.j=function(e){try{return JSON.stringify(e)}catch(t){return"[UnexpectedJSONParseError]: "+t.message}}});var St=it((ZI,Jf)=>{Jf.exports={options:{usePureJavaScript:!1}}});var r3=it((XI,e3)=>{var ya={};e3.exports=ya;var t3={};ya.encode=function(e,t,r){if(typeof t!="string")throw new TypeError('"alphabet" must be a string.');if(r!==void 0&&typeof r!="number")throw new TypeError('"maxline" must be a number.');var n="";if(!(e instanceof Uint8Array))n=ap(e,t);else{var o=0,i=t.length,s=t.charAt(0),a=[0];for(o=0;o<e.length;++o){for(var c=0,u=e[o];c<a.length;++c)u+=a[c]<<8,a[c]=u%i,u=u/i|0;for(;u>0;)a.push(u%i),u=u/i|0}for(o=0;e[o]===0&&o<e.length-1;++o)n+=s;for(o=a.length-1;o>=0;--o)n+=t[a[o]]}if(r){var f=new RegExp(".{1,"+r+"}","g");n=n.match(f).join(`\r
|
|
3
|
-
`)}return n};ya.decode=function(e,t){if(typeof e!="string")throw new TypeError('"input" must be a string.');if(typeof t!="string")throw new TypeError('"alphabet" must be a string.');var r=t3[t];if(!r){r=t3[t]=[];for(var n=0;n<t.length;++n)r[t.charCodeAt(n)]=n}e=e.replace(/\s/g,"");for(var o=t.length,i=t.charAt(0),s=[0],n=0;n<e.length;n++){var a=r[e.charCodeAt(n)];if(a===void 0)return;for(var c=0,u=a;c<s.length;++c)u+=s[c]*o,s[c]=u&255,u>>=8;for(;u>0;)s.push(u&255),u>>=8}for(var f=0;e[f]===i&&f<e.length-1;++f)s.push(0);return typeof Buffer<"u"?Buffer.from(s.reverse()):new Uint8Array(s.reverse())};function ap(e,t){var r=0,n=t.length,o=t.charAt(0),i=[0];for(r=0;r<e.length();++r){for(var s=0,a=e.at(r);s<i.length;++s)a+=i[s]<<8,i[s]=a%n,a=a/n|0;for(;a>0;)i.push(a%n),a=a/n|0}var c="";for(r=0;e.at(r)===0&&r<e.length()-1;++r)c+=o;for(r=i.length-1;r>=0;--r)c+=t[i[r]];return c}});var Gt=it((jI,s3)=>{var n3=St(),o3=r3(),w=s3.exports=n3.util=n3.util||{};(function(){if(typeof process<"u"&&process.nextTick&&!process.browser){w.nextTick=process.nextTick,typeof setImmediate=="function"?w.setImmediate=setImmediate:w.setImmediate=w.nextTick;return}if(typeof setImmediate=="function"){w.setImmediate=function(){return setImmediate.apply(void 0,arguments)},w.nextTick=function(a){return setImmediate(a)};return}if(w.setImmediate=function(a){setTimeout(a,0)},typeof window<"u"&&typeof window.postMessage=="function"){let a=function(c){if(c.source===window&&c.data===e){c.stopPropagation();var u=t.slice();t.length=0,u.forEach(function(f){f()})}};var s=a,e="forge.setImmediate",t=[];w.setImmediate=function(c){t.push(c),t.length===1&&window.postMessage(e,"*")},window.addEventListener("message",a,!0)}if(typeof MutationObserver<"u"){var r=Date.now(),n=!0,o=document.createElement("div"),t=[];new MutationObserver(function(){var c=t.slice();t.length=0,c.forEach(function(u){u()})}).observe(o,{attributes:!0});var i=w.setImmediate;w.setImmediate=function(c){Date.now()-r>15?(r=Date.now(),i(c)):(t.push(c),t.length===1&&o.setAttribute("a",n=!n))}}w.nextTick=w.setImmediate})();w.isNodejs=typeof process<"u"&&process.versions&&process.versions.node;w.globalScope=function(){return w.isNodejs?globalThis:typeof self>"u"?window:self}();w.isArray=Array.isArray||function(e){return Object.prototype.toString.call(e)==="[object Array]"};w.isArrayBuffer=function(e){return typeof ArrayBuffer<"u"&&e instanceof ArrayBuffer};w.isArrayBufferView=function(e){return e&&w.isArrayBuffer(e.buffer)&&e.byteLength!==void 0};function xi(e){if(!(e===8||e===16||e===24||e===32))throw new Error("Only 8, 16, 24, or 32 bits supported: "+e)}w.ByteBuffer=xa;function xa(e){if(this.data="",this.read=0,typeof e=="string")this.data=e;else if(w.isArrayBuffer(e)||w.isArrayBufferView(e))if(typeof Buffer<"u"&&e instanceof Buffer)this.data=e.toString("binary");else{var t=new Uint8Array(e);try{this.data=String.fromCharCode.apply(null,t)}catch{for(var r=0;r<t.length;++r)this.putByte(t[r])}}else(e instanceof xa||typeof e=="object"&&typeof e.data=="string"&&typeof e.read=="number")&&(this.data=e.data,this.read=e.read);this._constructedStringLength=0}w.ByteStringBuffer=xa;var cp=4096;w.ByteStringBuffer.prototype._optimizeConstructedString=function(e){this._constructedStringLength+=e,this._constructedStringLength>cp&&(this.data.substr(0,1),this._constructedStringLength=0)};w.ByteStringBuffer.prototype.length=function(){return this.data.length-this.read};w.ByteStringBuffer.prototype.isEmpty=function(){return this.length()<=0};w.ByteStringBuffer.prototype.putByte=function(e){return this.putBytes(String.fromCharCode(e))};w.ByteStringBuffer.prototype.fillWithByte=function(e,t){e=String.fromCharCode(e);for(var r=this.data;t>0;)t&1&&(r+=e),t>>>=1,t>0&&(e+=e);return this.data=r,this._optimizeConstructedString(t),this};w.ByteStringBuffer.prototype.putBytes=function(e){return this.data+=e,this._optimizeConstructedString(e.length),this};w.ByteStringBuffer.prototype.putString=function(e){return this.putBytes(w.encodeUtf8(e))};w.ByteStringBuffer.prototype.putInt16=function(e){return this.putBytes(String.fromCharCode(e>>8&255)+String.fromCharCode(e&255))};w.ByteStringBuffer.prototype.putInt24=function(e){return this.putBytes(String.fromCharCode(e>>16&255)+String.fromCharCode(e>>8&255)+String.fromCharCode(e&255))};w.ByteStringBuffer.prototype.putInt32=function(e){return this.putBytes(String.fromCharCode(e>>24&255)+String.fromCharCode(e>>16&255)+String.fromCharCode(e>>8&255)+String.fromCharCode(e&255))};w.ByteStringBuffer.prototype.putInt16Le=function(e){return this.putBytes(String.fromCharCode(e&255)+String.fromCharCode(e>>8&255))};w.ByteStringBuffer.prototype.putInt24Le=function(e){return this.putBytes(String.fromCharCode(e&255)+String.fromCharCode(e>>8&255)+String.fromCharCode(e>>16&255))};w.ByteStringBuffer.prototype.putInt32Le=function(e){return this.putBytes(String.fromCharCode(e&255)+String.fromCharCode(e>>8&255)+String.fromCharCode(e>>16&255)+String.fromCharCode(e>>24&255))};w.ByteStringBuffer.prototype.putInt=function(e,t){xi(t);var r="";do t-=8,r+=String.fromCharCode(e>>t&255);while(t>0);return this.putBytes(r)};w.ByteStringBuffer.prototype.putSignedInt=function(e,t){return e<0&&(e+=2<<t-1),this.putInt(e,t)};w.ByteStringBuffer.prototype.putBuffer=function(e){return this.putBytes(e.getBytes())};w.ByteStringBuffer.prototype.getByte=function(){return this.data.charCodeAt(this.read++)};w.ByteStringBuffer.prototype.getInt16=function(){var e=this.data.charCodeAt(this.read)<<8^this.data.charCodeAt(this.read+1);return this.read+=2,e};w.ByteStringBuffer.prototype.getInt24=function(){var e=this.data.charCodeAt(this.read)<<16^this.data.charCodeAt(this.read+1)<<8^this.data.charCodeAt(this.read+2);return this.read+=3,e};w.ByteStringBuffer.prototype.getInt32=function(){var e=this.data.charCodeAt(this.read)<<24^this.data.charCodeAt(this.read+1)<<16^this.data.charCodeAt(this.read+2)<<8^this.data.charCodeAt(this.read+3);return this.read+=4,e};w.ByteStringBuffer.prototype.getInt16Le=function(){var e=this.data.charCodeAt(this.read)^this.data.charCodeAt(this.read+1)<<8;return this.read+=2,e};w.ByteStringBuffer.prototype.getInt24Le=function(){var e=this.data.charCodeAt(this.read)^this.data.charCodeAt(this.read+1)<<8^this.data.charCodeAt(this.read+2)<<16;return this.read+=3,e};w.ByteStringBuffer.prototype.getInt32Le=function(){var e=this.data.charCodeAt(this.read)^this.data.charCodeAt(this.read+1)<<8^this.data.charCodeAt(this.read+2)<<16^this.data.charCodeAt(this.read+3)<<24;return this.read+=4,e};w.ByteStringBuffer.prototype.getInt=function(e){xi(e);var t=0;do t=(t<<8)+this.data.charCodeAt(this.read++),e-=8;while(e>0);return t};w.ByteStringBuffer.prototype.getSignedInt=function(e){var t=this.getInt(e),r=2<<e-2;return t>=r&&(t-=r<<1),t};w.ByteStringBuffer.prototype.getBytes=function(e){var t;return e?(e=Math.min(this.length(),e),t=this.data.slice(this.read,this.read+e),this.read+=e):e===0?t="":(t=this.read===0?this.data:this.data.slice(this.read),this.clear()),t};w.ByteStringBuffer.prototype.bytes=function(e){return typeof e>"u"?this.data.slice(this.read):this.data.slice(this.read,this.read+e)};w.ByteStringBuffer.prototype.at=function(e){return this.data.charCodeAt(this.read+e)};w.ByteStringBuffer.prototype.setAt=function(e,t){return this.data=this.data.substr(0,this.read+e)+String.fromCharCode(t)+this.data.substr(this.read+e+1),this};w.ByteStringBuffer.prototype.last=function(){return this.data.charCodeAt(this.data.length-1)};w.ByteStringBuffer.prototype.copy=function(){var e=w.createBuffer(this.data);return e.read=this.read,e};w.ByteStringBuffer.prototype.compact=function(){return this.read>0&&(this.data=this.data.slice(this.read),this.read=0),this};w.ByteStringBuffer.prototype.clear=function(){return this.data="",this.read=0,this};w.ByteStringBuffer.prototype.truncate=function(e){var t=Math.max(0,this.length()-e);return this.data=this.data.substr(this.read,t),this.read=0,this};w.ByteStringBuffer.prototype.toHex=function(){for(var e="",t=this.read;t<this.data.length;++t){var r=this.data.charCodeAt(t);r<16&&(e+="0"),e+=r.toString(16)}return e};w.ByteStringBuffer.prototype.toString=function(){return w.decodeUtf8(this.bytes())};function up(e,t){t=t||{},this.read=t.readOffset||0,this.growSize=t.growSize||1024;var r=w.isArrayBuffer(e),n=w.isArrayBufferView(e);if(r||n){r?this.data=new DataView(e):this.data=new DataView(e.buffer,e.byteOffset,e.byteLength),this.write="writeOffset"in t?t.writeOffset:this.data.byteLength;return}this.data=new DataView(new ArrayBuffer(0)),this.write=0,e!=null&&this.putBytes(e),"writeOffset"in t&&(this.write=t.writeOffset)}w.DataBuffer=up;w.DataBuffer.prototype.length=function(){return this.write-this.read};w.DataBuffer.prototype.isEmpty=function(){return this.length()<=0};w.DataBuffer.prototype.accommodate=function(e,t){if(this.length()>=e)return this;t=Math.max(t||this.growSize,e);var r=new Uint8Array(this.data.buffer,this.data.byteOffset,this.data.byteLength),n=new Uint8Array(this.length()+t);return n.set(r),this.data=new DataView(n.buffer),this};w.DataBuffer.prototype.putByte=function(e){return this.accommodate(1),this.data.setUint8(this.write++,e),this};w.DataBuffer.prototype.fillWithByte=function(e,t){this.accommodate(t);for(var r=0;r<t;++r)this.data.setUint8(e);return this};w.DataBuffer.prototype.putBytes=function(e,t){if(w.isArrayBufferView(e)){var r=new Uint8Array(e.buffer,e.byteOffset,e.byteLength),n=r.byteLength-r.byteOffset;this.accommodate(n);var o=new Uint8Array(this.data.buffer,this.write);return o.set(r),this.write+=n,this}if(w.isArrayBuffer(e)){var r=new Uint8Array(e);this.accommodate(r.byteLength);var o=new Uint8Array(this.data.buffer);return o.set(r,this.write),this.write+=r.byteLength,this}if(e instanceof w.DataBuffer||typeof e=="object"&&typeof e.read=="number"&&typeof e.write=="number"&&w.isArrayBufferView(e.data)){var r=new Uint8Array(e.data.byteLength,e.read,e.length());this.accommodate(r.byteLength);var o=new Uint8Array(e.data.byteLength,this.write);return o.set(r),this.write+=r.byteLength,this}if(e instanceof w.ByteStringBuffer&&(e=e.data,t="binary"),t=t||"binary",typeof e=="string"){var i;if(t==="hex")return this.accommodate(Math.ceil(e.length/2)),i=new Uint8Array(this.data.buffer,this.write),this.write+=w.binary.hex.decode(e,i,this.write),this;if(t==="base64")return this.accommodate(Math.ceil(e.length/4)*3),i=new Uint8Array(this.data.buffer,this.write),this.write+=w.binary.base64.decode(e,i,this.write),this;if(t==="utf8"&&(e=w.encodeUtf8(e),t="binary"),t==="binary"||t==="raw")return this.accommodate(e.length),i=new Uint8Array(this.data.buffer,this.write),this.write+=w.binary.raw.decode(i),this;if(t==="utf16")return this.accommodate(e.length*2),i=new Uint16Array(this.data.buffer,this.write),this.write+=w.text.utf16.encode(i),this;throw new Error("Invalid encoding: "+t)}throw Error("Invalid parameter: "+e)};w.DataBuffer.prototype.putBuffer=function(e){return this.putBytes(e),e.clear(),this};w.DataBuffer.prototype.putString=function(e){return this.putBytes(e,"utf16")};w.DataBuffer.prototype.putInt16=function(e){return this.accommodate(2),this.data.setInt16(this.write,e),this.write+=2,this};w.DataBuffer.prototype.putInt24=function(e){return this.accommodate(3),this.data.setInt16(this.write,e>>8&65535),this.data.setInt8(this.write,e>>16&255),this.write+=3,this};w.DataBuffer.prototype.putInt32=function(e){return this.accommodate(4),this.data.setInt32(this.write,e),this.write+=4,this};w.DataBuffer.prototype.putInt16Le=function(e){return this.accommodate(2),this.data.setInt16(this.write,e,!0),this.write+=2,this};w.DataBuffer.prototype.putInt24Le=function(e){return this.accommodate(3),this.data.setInt8(this.write,e>>16&255),this.data.setInt16(this.write,e>>8&65535,!0),this.write+=3,this};w.DataBuffer.prototype.putInt32Le=function(e){return this.accommodate(4),this.data.setInt32(this.write,e,!0),this.write+=4,this};w.DataBuffer.prototype.putInt=function(e,t){xi(t),this.accommodate(t/8);do t-=8,this.data.setInt8(this.write++,e>>t&255);while(t>0);return this};w.DataBuffer.prototype.putSignedInt=function(e,t){return xi(t),this.accommodate(t/8),e<0&&(e+=2<<t-1),this.putInt(e,t)};w.DataBuffer.prototype.getByte=function(){return this.data.getInt8(this.read++)};w.DataBuffer.prototype.getInt16=function(){var e=this.data.getInt16(this.read);return this.read+=2,e};w.DataBuffer.prototype.getInt24=function(){var e=this.data.getInt16(this.read)<<8^this.data.getInt8(this.read+2);return this.read+=3,e};w.DataBuffer.prototype.getInt32=function(){var e=this.data.getInt32(this.read);return this.read+=4,e};w.DataBuffer.prototype.getInt16Le=function(){var e=this.data.getInt16(this.read,!0);return this.read+=2,e};w.DataBuffer.prototype.getInt24Le=function(){var e=this.data.getInt8(this.read)^this.data.getInt16(this.read+1,!0)<<8;return this.read+=3,e};w.DataBuffer.prototype.getInt32Le=function(){var e=this.data.getInt32(this.read,!0);return this.read+=4,e};w.DataBuffer.prototype.getInt=function(e){xi(e);var t=0;do t=(t<<8)+this.data.getInt8(this.read++),e-=8;while(e>0);return t};w.DataBuffer.prototype.getSignedInt=function(e){var t=this.getInt(e),r=2<<e-2;return t>=r&&(t-=r<<1),t};w.DataBuffer.prototype.getBytes=function(e){var t;return e?(e=Math.min(this.length(),e),t=this.data.slice(this.read,this.read+e),this.read+=e):e===0?t="":(t=this.read===0?this.data:this.data.slice(this.read),this.clear()),t};w.DataBuffer.prototype.bytes=function(e){return typeof e>"u"?this.data.slice(this.read):this.data.slice(this.read,this.read+e)};w.DataBuffer.prototype.at=function(e){return this.data.getUint8(this.read+e)};w.DataBuffer.prototype.setAt=function(e,t){return this.data.setUint8(e,t),this};w.DataBuffer.prototype.last=function(){return this.data.getUint8(this.write-1)};w.DataBuffer.prototype.copy=function(){return new w.DataBuffer(this)};w.DataBuffer.prototype.compact=function(){if(this.read>0){var e=new Uint8Array(this.data.buffer,this.read),t=new Uint8Array(e.byteLength);t.set(e),this.data=new DataView(t),this.write-=this.read,this.read=0}return this};w.DataBuffer.prototype.clear=function(){return this.data=new DataView(new ArrayBuffer(0)),this.read=this.write=0,this};w.DataBuffer.prototype.truncate=function(e){return this.write=Math.max(0,this.length()-e),this.read=Math.min(this.read,this.write),this};w.DataBuffer.prototype.toHex=function(){for(var e="",t=this.read;t<this.data.byteLength;++t){var r=this.data.getUint8(t);r<16&&(e+="0"),e+=r.toString(16)}return e};w.DataBuffer.prototype.toString=function(e){var t=new Uint8Array(this.data,this.read,this.length());if(e=e||"utf8",e==="binary"||e==="raw")return w.binary.raw.encode(t);if(e==="hex")return w.binary.hex.encode(t);if(e==="base64")return w.binary.base64.encode(t);if(e==="utf8")return w.text.utf8.decode(t);if(e==="utf16")return w.text.utf16.decode(t);throw new Error("Invalid encoding: "+e)};w.createBuffer=function(e,t){return t=t||"raw",e!==void 0&&t==="utf8"&&(e=w.encodeUtf8(e)),new w.ByteBuffer(e)};w.fillString=function(e,t){for(var r="";t>0;)t&1&&(r+=e),t>>>=1,t>0&&(e+=e);return r};w.xorBytes=function(e,t,r){for(var n="",o="",i="",s=0,a=0;r>0;--r,++s)o=e.charCodeAt(s)^t.charCodeAt(s),a>=10&&(n+=i,i="",a=0),i+=String.fromCharCode(o),++a;return n+=i,n};w.hexToBytes=function(e){var t="",r=0;for(e.length&!0&&(r=1,t+=String.fromCharCode(parseInt(e[0],16)));r<e.length;r+=2)t+=String.fromCharCode(parseInt(e.substr(r,2),16));return t};w.bytesToHex=function(e){return w.createBuffer(e).toHex()};w.int32ToBytes=function(e){return String.fromCharCode(e>>24&255)+String.fromCharCode(e>>16&255)+String.fromCharCode(e>>8&255)+String.fromCharCode(e&255)};var sn="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",an=[62,-1,-1,-1,63,52,53,54,55,56,57,58,59,60,61,-1,-1,-1,64,-1,-1,-1,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,-1,-1,-1,-1,-1,-1,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51],i3="123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz";w.encode64=function(e,t){for(var r="",n="",o,i,s,a=0;a<e.length;)o=e.charCodeAt(a++),i=e.charCodeAt(a++),s=e.charCodeAt(a++),r+=sn.charAt(o>>2),r+=sn.charAt((o&3)<<4|i>>4),isNaN(i)?r+="==":(r+=sn.charAt((i&15)<<2|s>>6),r+=isNaN(s)?"=":sn.charAt(s&63)),t&&r.length>t&&(n+=r.substr(0,t)+`\r
|
|
4
|
-
|
|
5
|
-
`,r=r.substr(t));return n+=r,n};w.binary.base64.decode=function(e,t,r){var n=t;n||(n=new Uint8Array(Math.ceil(e.length/4)*3)),e=e.replace(/[^A-Za-z0-9\+\/\=]/g,""),r=r||0;for(var o,i,s,a,c=0,u=r;c<e.length;)o=an[e.charCodeAt(c++)-43],i=an[e.charCodeAt(c++)-43],s=an[e.charCodeAt(c++)-43],a=an[e.charCodeAt(c++)-43],n[u++]=o<<2|i>>4,s!==64&&(n[u++]=(i&15)<<4|s>>2,a!==64&&(n[u++]=(s&3)<<6|a));return t?u-r:n.subarray(0,u)};w.binary.base58.encode=function(e,t){return w.binary.baseN.encode(e,i3,t)};w.binary.base58.decode=function(e,t){return w.binary.baseN.decode(e,i3,t)};w.text={utf8:{},utf16:{}};w.text.utf8.encode=function(e,t,r){e=w.encodeUtf8(e);var n=t;n||(n=new Uint8Array(e.length)),r=r||0;for(var o=r,i=0;i<e.length;++i)n[o++]=e.charCodeAt(i);return t?o-r:n};w.text.utf8.decode=function(e){return w.decodeUtf8(String.fromCharCode.apply(null,e))};w.text.utf16.encode=function(e,t,r){var n=t;n||(n=new Uint8Array(e.length*2));var o=new Uint16Array(n.buffer);r=r||0;for(var i=r,s=r,a=0;a<e.length;++a)o[s++]=e.charCodeAt(a),i+=2;return t?i-r:n};w.text.utf16.decode=function(e){return String.fromCharCode.apply(null,new Uint16Array(e.buffer))};w.deflate=function(e,t,r){if(t=w.decode64(e.deflate(w.encode64(t)).rval),r){var n=2,o=t.charCodeAt(1);o&32&&(n=6),t=t.substring(n,t.length-4)}return t};w.inflate=function(e,t,r){var n=e.inflate(w.encode64(t)).rval;return n===null?null:w.decode64(n)};var ba=function(e,t,r){if(!e)throw new Error("WebStorage not available.");var n;if(r===null?n=e.removeItem(t):(r=w.encode64(JSON.stringify(r)),n=e.setItem(t,r)),typeof n<"u"&&n.rval!==!0){var o=new Error(n.error.message);throw o.id=n.error.id,o.name=n.error.name,o}},wa=function(e,t){if(!e)throw new Error("WebStorage not available.");var r=e.getItem(t);if(e.init)if(r.rval===null){if(r.error){var n=new Error(r.error.message);throw n.id=r.error.id,n.name=r.error.name,n}r=null}else r=r.rval;return r!==null&&(r=JSON.parse(w.decode64(r))),r},fp=function(e,t,r,n){var o=wa(e,t);o===null&&(o={}),o[r]=n,ba(e,t,o)},lp=function(e,t,r){var n=wa(e,t);return n!==null&&(n=r in n?n[r]:null),n},hp=function(e,t,r){var n=wa(e,t);if(n!==null&&r in n){delete n[r];var o=!0;for(var i in n){o=!1;break}o&&(n=null),ba(e,t,n)}},dp=function(e,t){ba(e,t,null)},Ds=function(e,t,r){var n=null;typeof r>"u"&&(r=["web","flash"]);var o,i=!1,s=null;for(var a in r){o=r[a];try{if(o==="flash"||o==="both"){if(t[0]===null)throw new Error("Flash local storage not available.");n=e.apply(this,t),i=o==="flash"}(o==="web"||o==="both")&&(t[0]=localStorage,n=e.apply(this,t),i=!0)}catch(c){s=c}if(i)break}if(!i)throw s;return n};w.setItem=function(e,t,r,n,o){Ds(fp,arguments,o)};w.getItem=function(e,t,r,n){return Ds(lp,arguments,n)};w.removeItem=function(e,t,r,n){Ds(hp,arguments,n)};w.clearItems=function(e,t,r){Ds(dp,arguments,r)};w.isEmpty=function(e){for(var t in e)if(e.hasOwnProperty(t))return!1;return!0};w.format=function(e){for(var t=/%./g,r,n,o=0,i=[],s=0;r=t.exec(e);){n=e.substring(s,t.lastIndex-2),n.length>0&&i.push(n),s=t.lastIndex;var a=r[0][1];switch(a){case"s":case"o":o<arguments.length?i.push(arguments[o+++1]):i.push("<?>");break;case"%":i.push("%");break;default:i.push("<%"+a+"?>")}}return i.push(e.substring(s)),i.join("")};w.formatNumber=function(e,t,r,n){var o=e,i=isNaN(t=Math.abs(t))?2:t,s=r===void 0?",":r,a=n===void 0?".":n,c=o<0?"-":"",u=parseInt(o=Math.abs(+o||0).toFixed(i),10)+"",f=u.length>3?u.length%3:0;return c+(f?u.substr(0,f)+a:"")+u.substr(f).replace(/(\d{3})(?=\d)/g,"$1"+a)+(i?s+Math.abs(o-u).toFixed(i).slice(2):"")};w.formatSize=function(e){return e>=1073741824?e=w.formatNumber(e/1073741824,2,".","")+" GiB":e>=1048576?e=w.formatNumber(e/1048576,2,".","")+" MiB":e>=1024?e=w.formatNumber(e/1024,0)+" KiB":e=w.formatNumber(e,0)+" bytes",e};w.bytesFromIP=function(e){return e.indexOf(".")!==-1?w.bytesFromIPv4(e):e.indexOf(":")!==-1?w.bytesFromIPv6(e):null};w.bytesFromIPv4=function(e){if(e=e.split("."),e.length!==4)return null;for(var t=w.createBuffer(),r=0;r<e.length;++r){var n=parseInt(e[r],10);if(isNaN(n))return null;t.putByte(n)}return t.getBytes()};w.bytesFromIPv6=function(e){var t=0;e=e.split(":").filter(function(s){return s.length===0&&++t,!0});for(var r=(8-e.length+t)*2,n=w.createBuffer(),o=0;o<8;++o){if(!e[o]||e[o].length===0){n.fillWithByte(0,r),r=0;continue}var i=w.hexToBytes(e[o]);i.length<2&&n.putByte(0),n.putBytes(i)}return n.getBytes()};w.bytesToIP=function(e){return e.length===4?w.bytesToIPv4(e):e.length===16?w.bytesToIPv6(e):null};w.bytesToIPv4=function(e){if(e.length!==4)return null;for(var t=[],r=0;r<e.length;++r)t.push(e.charCodeAt(r));return t.join(".")};w.bytesToIPv6=function(e){if(e.length!==16)return null;for(var t=[],r=[],n=0,o=0;o<e.length;o+=2){for(var i=w.bytesToHex(e[o]+e[o+1]);i[0]==="0"&&i!=="0";)i=i.substr(1);if(i==="0"){var s=r[r.length-1],a=t.length;!s||a!==s.end+1?r.push({start:a,end:a}):(s.end=a,s.end-s.start>r[n].end-r[n].start&&(n=r.length-1))}t.push(i)}if(r.length>0){var c=r[n];c.end-c.start>0&&(t.splice(c.start,c.end-c.start+1,""),c.start===0&&t.unshift(""),c.end===7&&t.push(""))}return t.join(":")};w.estimateCores=function(e,t){if(typeof e=="function"&&(t=e,e={}),e=e||{},"cores"in w&&!e.update)return t(null,w.cores);if(typeof navigator<"u"&&"hardwareConcurrency"in navigator&&navigator.hardwareConcurrency>0)return w.cores=navigator.hardwareConcurrency,t(null,w.cores);if(typeof Worker>"u")return w.cores=1,t(null,w.cores);if(typeof Blob>"u")return w.cores=2,t(null,w.cores);var r=URL.createObjectURL(new Blob(["(",function(){self.addEventListener("message",function(s){for(var a=Date.now(),c=a+4;Date.now()<c;);self.postMessage({st:a,et:c})})}.toString(),")()"],{type:"application/javascript"}));n([],5,16);function n(s,a,c){if(a===0){var u=Math.floor(s.reduce(function(f,l){return f+l},0)/s.length);return w.cores=Math.max(1,u),URL.revokeObjectURL(r),t(null,w.cores)}o(c,function(f,l){s.push(i(c,l)),n(s,a-1,c)})}function o(s,a){for(var c=[],u=[],f=0;f<s;++f){var l=new Worker(r);l.addEventListener("message",function(m){if(u.push(m.data),u.length===s){for(var d=0;d<s;++d)c[d].terminate();a(null,u)}}),c.push(l)}for(var f=0;f<s;++f)c[f].postMessage(f)}function i(s,a){for(var c=[],u=0;u<s;++u)for(var f=a[u],l=c[u]=[],m=0;m<s;++m)if(u!==m){var d=a[m];(f.st>d.st&&f.st<d.et||d.st>f.st&&d.st<f.et)&&l.push(m)}return c.reduce(function(h,p){return Math.max(h,p.length)},0)}}});var Ls=it((JI,a3)=>{var bi=St();bi.pki=bi.pki||{};var va=a3.exports=bi.pki.oids=bi.oids=bi.oids||{};function L(e,t){va[e]=t,va[t]=e}function wt(e,t){va[e]=t}L("1.2.840.113549.1.1.1","rsaEncryption");L("1.2.840.113549.1.1.4","md5WithRSAEncryption");L("1.2.840.113549.1.1.5","sha1WithRSAEncryption");L("1.2.840.113549.1.1.7","RSAES-OAEP");L("1.2.840.113549.1.1.8","mgf1");L("1.2.840.113549.1.1.9","pSpecified");L("1.2.840.113549.1.1.10","RSASSA-PSS");L("1.2.840.113549.1.1.11","sha256WithRSAEncryption");L("1.2.840.113549.1.1.12","sha384WithRSAEncryption");L("1.2.840.113549.1.1.13","sha512WithRSAEncryption");L("1.3.101.112","EdDSA25519");L("1.2.840.10040.4.3","dsa-with-sha1");L("1.3.14.3.2.7","desCBC");L("1.3.14.3.2.26","sha1");L("1.3.14.3.2.29","sha1WithRSASignature");L("2.16.840.1.101.3.4.2.1","sha256");L("2.16.840.1.101.3.4.2.2","sha384");L("2.16.840.1.101.3.4.2.3","sha512");L("2.16.840.1.101.3.4.2.4","sha224");L("2.16.840.1.101.3.4.2.5","sha512-224");L("2.16.840.1.101.3.4.2.6","sha512-256");L("1.2.840.113549.2.2","md2");L("1.2.840.113549.2.5","md5");L("1.2.840.113549.1.7.1","data");L("1.2.840.113549.1.7.2","signedData");L("1.2.840.113549.1.7.3","envelopedData");L("1.2.840.113549.1.7.4","signedAndEnvelopedData");L("1.2.840.113549.1.7.5","digestedData");L("1.2.840.113549.1.7.6","encryptedData");L("1.2.840.113549.1.9.1","emailAddress");L("1.2.840.113549.1.9.2","unstructuredName");L("1.2.840.113549.1.9.3","contentType");L("1.2.840.113549.1.9.4","messageDigest");L("1.2.840.113549.1.9.5","signingTime");L("1.2.840.113549.1.9.6","counterSignature");L("1.2.840.113549.1.9.7","challengePassword");L("1.2.840.113549.1.9.8","unstructuredAddress");L("1.2.840.113549.1.9.14","extensionRequest");L("1.2.840.113549.1.9.20","friendlyName");L("1.2.840.113549.1.9.21","localKeyId");L("1.2.840.113549.1.9.22.1","x509Certificate");L("1.2.840.113549.1.12.10.1.1","keyBag");L("1.2.840.113549.1.12.10.1.2","pkcs8ShroudedKeyBag");L("1.2.840.113549.1.12.10.1.3","certBag");L("1.2.840.113549.1.12.10.1.4","crlBag");L("1.2.840.113549.1.12.10.1.5","secretBag");L("1.2.840.113549.1.12.10.1.6","safeContentsBag");L("1.2.840.113549.1.5.13","pkcs5PBES2");L("1.2.840.113549.1.5.12","pkcs5PBKDF2");L("1.2.840.113549.1.12.1.1","pbeWithSHAAnd128BitRC4");L("1.2.840.113549.1.12.1.2","pbeWithSHAAnd40BitRC4");L("1.2.840.113549.1.12.1.3","pbeWithSHAAnd3-KeyTripleDES-CBC");L("1.2.840.113549.1.12.1.4","pbeWithSHAAnd2-KeyTripleDES-CBC");L("1.2.840.113549.1.12.1.5","pbeWithSHAAnd128BitRC2-CBC");L("1.2.840.113549.1.12.1.6","pbewithSHAAnd40BitRC2-CBC");L("1.2.840.113549.2.7","hmacWithSHA1");L("1.2.840.113549.2.8","hmacWithSHA224");L("1.2.840.113549.2.9","hmacWithSHA256");L("1.2.840.113549.2.10","hmacWithSHA384");L("1.2.840.113549.2.11","hmacWithSHA512");L("1.2.840.113549.3.7","des-EDE3-CBC");L("2.16.840.1.101.3.4.1.2","aes128-CBC");L("2.16.840.1.101.3.4.1.22","aes192-CBC");L("2.16.840.1.101.3.4.1.42","aes256-CBC");L("2.5.4.3","commonName");L("2.5.4.4","surname");L("2.5.4.5","serialNumber");L("2.5.4.6","countryName");L("2.5.4.7","localityName");L("2.5.4.8","stateOrProvinceName");L("2.5.4.9","streetAddress");L("2.5.4.10","organizationName");L("2.5.4.11","organizationalUnitName");L("2.5.4.12","title");L("2.5.4.13","description");L("2.5.4.15","businessCategory");L("2.5.4.17","postalCode");L("2.5.4.42","givenName");L("1.3.6.1.4.1.311.60.2.1.2","jurisdictionOfIncorporationStateOrProvinceName");L("1.3.6.1.4.1.311.60.2.1.3","jurisdictionOfIncorporationCountryName");L("2.16.840.1.113730.1.1","nsCertType");L("2.16.840.1.113730.1.13","nsComment");wt("2.5.29.1","authorityKeyIdentifier");wt("2.5.29.2","keyAttributes");wt("2.5.29.3","certificatePolicies");wt("2.5.29.4","keyUsageRestriction");wt("2.5.29.5","policyMapping");wt("2.5.29.6","subtreesConstraint");wt("2.5.29.7","subjectAltName");wt("2.5.29.8","issuerAltName");wt("2.5.29.9","subjectDirectoryAttributes");wt("2.5.29.10","basicConstraints");wt("2.5.29.11","nameConstraints");wt("2.5.29.12","policyConstraints");wt("2.5.29.13","basicConstraints");L("2.5.29.14","subjectKeyIdentifier");L("2.5.29.15","keyUsage");wt("2.5.29.16","privateKeyUsagePeriod");L("2.5.29.17","subjectAltName");L("2.5.29.18","issuerAltName");L("2.5.29.19","basicConstraints");wt("2.5.29.20","cRLNumber");wt("2.5.29.21","cRLReason");wt("2.5.29.22","expirationDate");wt("2.5.29.23","instructionCode");wt("2.5.29.24","invalidityDate");wt("2.5.29.25","cRLDistributionPoints");wt("2.5.29.26","issuingDistributionPoint");wt("2.5.29.27","deltaCRLIndicator");wt("2.5.29.28","issuingDistributionPoint");wt("2.5.29.29","certificateIssuer");wt("2.5.29.30","nameConstraints");L("2.5.29.31","cRLDistributionPoints");L("2.5.29.32","certificatePolicies");wt("2.5.29.33","policyMappings");wt("2.5.29.34","policyConstraints");L("2.5.29.35","authorityKeyIdentifier");wt("2.5.29.36","policyConstraints");L("2.5.29.37","extKeyUsage");wt("2.5.29.46","freshestCRL");wt("2.5.29.54","inhibitAnyPolicy");L("1.3.6.1.4.1.11129.2.4.2","timestampList");L("1.3.6.1.5.5.7.1.1","authorityInfoAccess");L("1.3.6.1.5.5.7.3.1","serverAuth");L("1.3.6.1.5.5.7.3.2","clientAuth");L("1.3.6.1.5.5.7.3.3","codeSigning");L("1.3.6.1.5.5.7.3.4","emailProtection");L("1.3.6.1.5.5.7.3.8","timeStamping")});var vi=it((tA,u3)=>{var Rt=St();Gt();Ls();var q=u3.exports=Rt.asn1=Rt.asn1||{};q.Class={UNIVERSAL:0,APPLICATION:64,CONTEXT_SPECIFIC:128,PRIVATE:192};q.Type={NONE:0,BOOLEAN:1,INTEGER:2,BITSTRING:3,OCTETSTRING:4,NULL:5,OID:6,ODESC:7,EXTERNAL:8,REAL:9,ENUMERATED:10,EMBEDDED:11,UTF8:12,ROID:13,SEQUENCE:16,SET:17,PRINTABLESTRING:19,IA5STRING:22,UTCTIME:23,GENERALIZEDTIME:24,BMPSTRING:30};q.create=function(e,t,r,n,o){if(Rt.util.isArray(n)){for(var i=[],s=0;s<n.length;++s)n[s]!==void 0&&i.push(n[s]);n=i}var a={tagClass:e,type:t,constructed:r,composed:r||Rt.util.isArray(n),value:n};return o&&"bitStringContents"in o&&(a.bitStringContents=o.bitStringContents,a.original=q.copy(a)),a};q.copy=function(e,t){var r;if(Rt.util.isArray(e)){r=[];for(var n=0;n<e.length;++n)r.push(q.copy(e[n],t));return r}return typeof e=="string"?e:(r={tagClass:e.tagClass,type:e.type,constructed:e.constructed,composed:e.composed,value:q.copy(e.value,t)},t&&!t.excludeBitStringContents&&(r.bitStringContents=e.bitStringContents),r)};q.equals=function(e,t,r){if(Rt.util.isArray(e)){if(!Rt.util.isArray(t)||e.length!==t.length)return!1;for(var n=0;n<e.length;++n)if(!q.equals(e[n],t[n]))return!1;return!0}if(typeof e!=typeof t)return!1;if(typeof e=="string")return e===t;var o=e.tagClass===t.tagClass&&e.type===t.type&&e.constructed===t.constructed&&e.composed===t.composed&&q.equals(e.value,t.value);return r&&r.includeBitStringContents&&(o=o&&e.bitStringContents===t.bitStringContents),o};q.getBerValueLength=function(e){var t=e.getByte();if(t!==128){var r,n=t&128;return n?r=e.getInt((t&127)<<3):r=t,r}};function wi(e,t,r){if(r>t){var n=new Error("Too few bytes to parse DER.");throw n.available=e.length(),n.remaining=t,n.requested=r,n}}var pp=function(e,t){var r=e.getByte();if(t--,r!==128){var n,o=r&128;if(!o)n=r;else{var i=r&127;wi(e,t,i),n=e.getInt(i<<3)}if(n<0)throw new Error("Negative length: "+n);return n}};q.fromDer=function(e,t){t===void 0&&(t={strict:!0,parseAllBytes:!0,decodeBitStrings:!0}),typeof t=="boolean"&&(t={strict:t,parseAllBytes:!0,decodeBitStrings:!0}),"strict"in t||(t.strict=!0),"parseAllBytes"in t||(t.parseAllBytes=!0),"decodeBitStrings"in t||(t.decodeBitStrings=!0),typeof e=="string"&&(e=Rt.util.createBuffer(e));var r=e.length(),n=ks(e,e.length(),0,t);if(t.parseAllBytes&&e.length()!==0){var o=new Error("Unparsed DER bytes remain after ASN.1 parsing.");throw o.byteCount=r,o.remaining=e.length(),o}return n};function ks(e,t,r,n){var o;wi(e,t,2);var i=e.getByte();t--;var s=i&192,a=i&31;o=e.length();var c=pp(e,t);if(t-=o-e.length(),c!==void 0&&c>t){if(n.strict){var u=new Error("Too few bytes to read ASN.1 value.");throw u.available=e.length(),u.remaining=t,u.requested=c,u}c=t}var f,l,m=(i&32)===32;if(m)if(f=[],c===void 0)for(;;){if(wi(e,t,2),e.bytes(2)==="\0\0"){e.getBytes(2),t-=2;break}o=e.length(),f.push(ks(e,t,r+1,n)),t-=o-e.length()}else for(;c>0;)o=e.length(),f.push(ks(e,c,r+1,n)),t-=o-e.length(),c-=o-e.length();if(f===void 0&&s===q.Class.UNIVERSAL&&a===q.Type.BITSTRING&&(l=e.bytes(c)),f===void 0&&n.decodeBitStrings&&s===q.Class.UNIVERSAL&&a===q.Type.BITSTRING&&c>1){var d=e.read,h=t,p=0;if(a===q.Type.BITSTRING&&(wi(e,t,1),p=e.getByte(),t--),p===0)try{o=e.length();var g={strict:!0,decodeBitStrings:!0},y=ks(e,t,r+1,g),x=o-e.length();t-=x,a==q.Type.BITSTRING&&x++;var b=y.tagClass;x===c&&(b===q.Class.UNIVERSAL||b===q.Class.CONTEXT_SPECIFIC)&&(f=[y])}catch{}f===void 0&&(e.read=d,t=h)}if(f===void 0){if(c===void 0){if(n.strict)throw new Error("Non-constructed ASN.1 object of indefinite length.");c=t}if(a===q.Type.BMPSTRING)for(f="";c>0;c-=2)wi(e,t,2),f+=String.fromCharCode(e.getInt16()),t-=2;else f=e.getBytes(c),t-=c}var A=l===void 0?null:{bitStringContents:l};return q.create(s,a,m,f,A)}q.toDer=function(e){var t=Rt.util.createBuffer(),r=e.tagClass|e.type,n=Rt.util.createBuffer(),o=!1;if("bitStringContents"in e&&(o=!0,e.original&&(o=q.equals(e,e.original))),o)n.putBytes(e.bitStringContents);else if(e.composed){e.constructed?r|=32:n.putByte(0);for(var i=0;i<e.value.length;++i)e.value[i]!==void 0&&n.putBuffer(q.toDer(e.value[i]))}else if(e.type===q.Type.BMPSTRING)for(var i=0;i<e.value.length;++i)n.putInt16(e.value.charCodeAt(i));else e.type===q.Type.INTEGER&&e.value.length>1&&(e.value.charCodeAt(0)===0&&!(e.value.charCodeAt(1)&128)||e.value.charCodeAt(0)===255&&(e.value.charCodeAt(1)&128)===128)?n.putBytes(e.value.substr(1)):n.putBytes(e.value);if(t.putByte(r),n.length()<=127)t.putByte(n.length()&127);else{var s=n.length(),a="";do a+=String.fromCharCode(s&255),s=s>>>8;while(s>0);t.putByte(a.length|128);for(var i=a.length-1;i>=0;--i)t.putByte(a.charCodeAt(i))}return t.putBuffer(n),t};q.oidToDer=function(e){var t=e.split("."),r=Rt.util.createBuffer();r.putByte(40*parseInt(t[0],10)+parseInt(t[1],10));for(var n,o,i,s,a=2;a<t.length;++a){n=!0,o=[],i=parseInt(t[a],10);do s=i&127,i=i>>>7,n||(s|=128),o.push(s),n=!1;while(i>0);for(var c=o.length-1;c>=0;--c)r.putByte(o[c])}return r};q.derToOid=function(e){var t;typeof e=="string"&&(e=Rt.util.createBuffer(e));var r=e.getByte();t=Math.floor(r/40)+"."+r%40;for(var n=0;e.length()>0;)r=e.getByte(),n=n<<7,r&128?n+=r&127:(t+="."+(n+r),n=0);return t};q.utcTimeToDate=function(e){var t=new Date,r=parseInt(e.substr(0,2),10);r=r>=50?1900+r:2e3+r;var n=parseInt(e.substr(2,2),10)-1,o=parseInt(e.substr(4,2),10),i=parseInt(e.substr(6,2),10),s=parseInt(e.substr(8,2),10),a=0;if(e.length>11){var c=e.charAt(10),u=10;c!=="+"&&c!=="-"&&(a=parseInt(e.substr(10,2),10),u+=2)}if(t.setUTCFullYear(r,n,o),t.setUTCHours(i,s,a,0),u&&(c=e.charAt(u),c==="+"||c==="-")){var f=parseInt(e.substr(u+1,2),10),l=parseInt(e.substr(u+4,2),10),m=f*60+l;m*=6e4,c==="+"?t.setTime(+t-m):t.setTime(+t+m)}return t};q.generalizedTimeToDate=function(e){var t=new Date,r=parseInt(e.substr(0,4),10),n=parseInt(e.substr(4,2),10)-1,o=parseInt(e.substr(6,2),10),i=parseInt(e.substr(8,2),10),s=parseInt(e.substr(10,2),10),a=parseInt(e.substr(12,2),10),c=0,u=0,f=!1;e.charAt(e.length-1)==="Z"&&(f=!0);var l=e.length-5,m=e.charAt(l);if(m==="+"||m==="-"){var d=parseInt(e.substr(l+1,2),10),h=parseInt(e.substr(l+4,2),10);u=d*60+h,u*=6e4,m==="+"&&(u*=-1),f=!0}return e.charAt(14)==="."&&(c=parseFloat(e.substr(14),10)*1e3),f?(t.setUTCFullYear(r,n,o),t.setUTCHours(i,s,a,c),t.setTime(+t+u)):(t.setFullYear(r,n,o),t.setHours(i,s,a,c)),t};q.dateToUtcTime=function(e){if(typeof e=="string")return e;var t="",r=[];r.push((""+e.getUTCFullYear()).substr(2)),r.push(""+(e.getUTCMonth()+1)),r.push(""+e.getUTCDate()),r.push(""+e.getUTCHours()),r.push(""+e.getUTCMinutes()),r.push(""+e.getUTCSeconds());for(var n=0;n<r.length;++n)r[n].length<2&&(t+="0"),t+=r[n];return t+="Z",t};q.dateToGeneralizedTime=function(e){if(typeof e=="string")return e;var t="",r=[];r.push(""+e.getUTCFullYear()),r.push(""+(e.getUTCMonth()+1)),r.push(""+e.getUTCDate()),r.push(""+e.getUTCHours()),r.push(""+e.getUTCMinutes()),r.push(""+e.getUTCSeconds());for(var n=0;n<r.length;++n)r[n].length<2&&(t+="0"),t+=r[n];return t+="Z",t};q.integerToDer=function(e){var t=Rt.util.createBuffer();if(e>=-128&&e<128)return t.putSignedInt(e,8);if(e>=-32768&&e<32768)return t.putSignedInt(e,16);if(e>=-8388608&&e<8388608)return t.putSignedInt(e,24);if(e>=-2147483648&&e<2147483648)return t.putSignedInt(e,32);var r=new Error("Integer too large; max is 32-bits.");throw r.integer=e,r};q.derToInteger=function(e){typeof e=="string"&&(e=Rt.util.createBuffer(e));var t=e.length()*8;if(t>32)throw new Error("Integer too large; max is 32-bits.");return e.getSignedInt(t)};q.validate=function(e,t,r,n){var o=!1;if((e.tagClass===t.tagClass||typeof t.tagClass>"u")&&(e.type===t.type||typeof t.type>"u"))if(e.constructed===t.constructed||typeof t.constructed>"u"){if(o=!0,t.value&&Rt.util.isArray(t.value))for(var i=0,s=0;o&&s<t.value.length;++s)o=t.value[s].optional||!1,e.value[i]&&(o=q.validate(e.value[i],t.value[s],r,n),o?++i:t.value[s].optional&&(o=!0)),!o&&n&&n.push("["+t.name+'] Tag class "'+t.tagClass+'", type "'+t.type+'" expected value length "'+t.value.length+'", got "'+e.value.length+'"');if(o&&r&&(t.capture&&(r[t.capture]=e.value),t.captureAsn1&&(r[t.captureAsn1]=e),t.captureBitStringContents&&"bitStringContents"in e&&(r[t.captureBitStringContents]=e.bitStringContents),t.captureBitStringValue&&"bitStringContents"in e)){var a;if(e.bitStringContents.length<2)r[t.captureBitStringValue]="";else{var c=e.bitStringContents.charCodeAt(0);if(c!==0)throw new Error("captureBitStringValue only supported for zero unused bits");r[t.captureBitStringValue]=e.bitStringContents.slice(1)}}}else n&&n.push("["+t.name+'] Expected constructed "'+t.constructed+'", got "'+e.constructed+'"');else n&&(e.tagClass!==t.tagClass&&n.push("["+t.name+'] Expected tag class "'+t.tagClass+'", got "'+e.tagClass+'"'),e.type!==t.type&&n.push("["+t.name+'] Expected type "'+t.type+'", got "'+e.type+'"'));return o};var c3=/[^\\u0000-\\u00ff]/;q.prettyPrint=function(e,t,r){var n="";t=t||0,r=r||2,t>0&&(n+=`
|
|
6
|
-
|
|
7
|
-
`,n+=o+"Constructed: "+e.constructed+`
|
|
8
|
-
`,e.composed){for(var s=0,a="",i=0;i<e.value.length;++i)e.value[i]!==void 0&&(s+=1,a+=q.prettyPrint(e.value[i],t+1,r),i+1<e.value.length&&(a+=","));n+=o+"Sub values: "+s+a}else{if(n+=o+"Value: ",e.type===q.Type.OID){var c=q.derToOid(e.value);n+=c,Rt.pki&&Rt.pki.oids&&c in Rt.pki.oids&&(n+=" ("+Rt.pki.oids[c]+") ")}if(e.type===q.Type.INTEGER)try{n+=q.derToInteger(e.value)}catch{n+="0x"+Rt.util.bytesToHex(e.value)}else if(e.type===q.Type.BITSTRING){if(e.value.length>1?n+="0x"+Rt.util.bytesToHex(e.value.slice(1)):n+="(none)",e.value.length>0){var u=e.value.charCodeAt(0);u==1?n+=" (1 unused bit shown)":u>1&&(n+=" ("+u+" unused bits shown)")}}else if(e.type===q.Type.OCTETSTRING)c3.test(e.value)||(n+="("+e.value+") "),n+="0x"+Rt.util.bytesToHex(e.value);else if(e.type===q.Type.UTF8)try{n+=Rt.util.decodeUtf8(e.value)}catch(f){if(f.message==="URI malformed")n+="0x"+Rt.util.bytesToHex(e.value)+" (malformed UTF8)";else throw f}else e.type===q.Type.PRINTABLESTRING||e.type===q.Type.IA5String?n+=e.value:c3.test(e.value)?n+="0x"+Rt.util.bytesToHex(e.value):e.value.length===0?n+="[null]":n+=e.value}return n}});var Sa=it((eA,f3)=>{var ne=St();Gt();f3.exports=ne.cipher=ne.cipher||{};ne.cipher.algorithms=ne.cipher.algorithms||{};ne.cipher.createCipher=function(e,t){var r=e;if(typeof r=="string"&&(r=ne.cipher.getAlgorithm(r),r&&(r=r())),!r)throw new Error("Unsupported algorithm: "+e);return new ne.cipher.BlockCipher({algorithm:r,key:t,decrypt:!1})};ne.cipher.createDecipher=function(e,t){var r=e;if(typeof r=="string"&&(r=ne.cipher.getAlgorithm(r),r&&(r=r())),!r)throw new Error("Unsupported algorithm: "+e);return new ne.cipher.BlockCipher({algorithm:r,key:t,decrypt:!0})};ne.cipher.registerAlgorithm=function(e,t){e=e.toUpperCase(),ne.cipher.algorithms[e]=t};ne.cipher.getAlgorithm=function(e){return e=e.toUpperCase(),e in ne.cipher.algorithms?ne.cipher.algorithms[e]:null};var Ea=ne.cipher.BlockCipher=function(e){this.algorithm=e.algorithm,this.mode=this.algorithm.mode,this.blockSize=this.mode.blockSize,this._finish=!1,this._input=null,this.output=null,this._op=e.decrypt?this.mode.decrypt:this.mode.encrypt,this._decrypt=e.decrypt,this.algorithm.initialize(e)};Ea.prototype.start=function(e){e=e||{};var t={};for(var r in e)t[r]=e[r];t.decrypt=this._decrypt,this._finish=!1,this._input=ne.util.createBuffer(),this.output=e.output||ne.util.createBuffer(),this.mode.start(t)};Ea.prototype.update=function(e){for(e&&this._input.putBuffer(e);!this._op.call(this.mode,this._input,this.output,this._finish)&&!this._finish;);this._input.compact()};Ea.prototype.finish=function(e){e&&(this.mode.name==="ECB"||this.mode.name==="CBC")&&(this.mode.pad=function(r){return e(this.blockSize,r,!1)},this.mode.unpad=function(r){return e(this.blockSize,r,!0)});var t={};return t.decrypt=this._decrypt,t.overflow=this._input.length()%this.blockSize,!(!this._decrypt&&this.mode.pad&&!this.mode.pad(this._input,t)||(this._finish=!0,this.update(),this._decrypt&&this.mode.unpad&&!this.mode.unpad(this.output,t))||this.mode.afterFinish&&!this.mode.afterFinish(this.output,t))}});var Aa=it((rA,l3)=>{var oe=St();Gt();oe.cipher=oe.cipher||{};var lt=l3.exports=oe.cipher.modes=oe.cipher.modes||{};lt.ecb=function(e){e=e||{},this.name="ECB",this.cipher=e.cipher,this.blockSize=e.blockSize||16,this._ints=this.blockSize/4,this._inBlock=new Array(this._ints),this._outBlock=new Array(this._ints)};lt.ecb.prototype.start=function(e){};lt.ecb.prototype.encrypt=function(e,t,r){if(e.length()<this.blockSize&&!(r&&e.length()>0))return!0;for(var n=0;n<this._ints;++n)this._inBlock[n]=e.getInt32();this.cipher.encrypt(this._inBlock,this._outBlock);for(var n=0;n<this._ints;++n)t.putInt32(this._outBlock[n])};lt.ecb.prototype.decrypt=function(e,t,r){if(e.length()<this.blockSize&&!(r&&e.length()>0))return!0;for(var n=0;n<this._ints;++n)this._inBlock[n]=e.getInt32();this.cipher.decrypt(this._inBlock,this._outBlock);for(var n=0;n<this._ints;++n)t.putInt32(this._outBlock[n])};lt.ecb.prototype.pad=function(e,t){var r=e.length()===this.blockSize?this.blockSize:this.blockSize-e.length();return e.fillWithByte(r,r),!0};lt.ecb.prototype.unpad=function(e,t){if(t.overflow>0)return!1;var r=e.length(),n=e.at(r-1);return n>this.blockSize<<2?!1:(e.truncate(n),!0)};lt.cbc=function(e){e=e||{},this.name="CBC",this.cipher=e.cipher,this.blockSize=e.blockSize||16,this._ints=this.blockSize/4,this._inBlock=new Array(this._ints),this._outBlock=new Array(this._ints)};lt.cbc.prototype.start=function(e){if(e.iv===null){if(!this._prev)throw new Error("Invalid IV parameter.");this._iv=this._prev.slice(0)}else if("iv"in e)this._iv=Us(e.iv,this.blockSize),this._prev=this._iv.slice(0);else throw new Error("Invalid IV parameter.")};lt.cbc.prototype.encrypt=function(e,t,r){if(e.length()<this.blockSize&&!(r&&e.length()>0))return!0;for(var n=0;n<this._ints;++n)this._inBlock[n]=this._prev[n]^e.getInt32();this.cipher.encrypt(this._inBlock,this._outBlock);for(var n=0;n<this._ints;++n)t.putInt32(this._outBlock[n]);this._prev=this._outBlock};lt.cbc.prototype.decrypt=function(e,t,r){if(e.length()<this.blockSize&&!(r&&e.length()>0))return!0;for(var n=0;n<this._ints;++n)this._inBlock[n]=e.getInt32();this.cipher.decrypt(this._inBlock,this._outBlock);for(var n=0;n<this._ints;++n)t.putInt32(this._prev[n]^this._outBlock[n]);this._prev=this._inBlock.slice(0)};lt.cbc.prototype.pad=function(e,t){var r=e.length()===this.blockSize?this.blockSize:this.blockSize-e.length();return e.fillWithByte(r,r),!0};lt.cbc.prototype.unpad=function(e,t){if(t.overflow>0)return!1;var r=e.length(),n=e.at(r-1);return n>this.blockSize<<2?!1:(e.truncate(n),!0)};lt.cfb=function(e){e=e||{},this.name="CFB",this.cipher=e.cipher,this.blockSize=e.blockSize||16,this._ints=this.blockSize/4,this._inBlock=null,this._outBlock=new Array(this._ints),this._partialBlock=new Array(this._ints),this._partialOutput=oe.util.createBuffer(),this._partialBytes=0};lt.cfb.prototype.start=function(e){if(!("iv"in e))throw new Error("Invalid IV parameter.");this._iv=Us(e.iv,this.blockSize),this._inBlock=this._iv.slice(0),this._partialBytes=0};lt.cfb.prototype.encrypt=function(e,t,r){var n=e.length();if(n===0)return!0;if(this.cipher.encrypt(this._inBlock,this._outBlock),this._partialBytes===0&&n>=this.blockSize){for(var o=0;o<this._ints;++o)this._inBlock[o]=e.getInt32()^this._outBlock[o],t.putInt32(this._inBlock[o]);return}var i=(this.blockSize-n)%this.blockSize;i>0&&(i=this.blockSize-i),this._partialOutput.clear();for(var o=0;o<this._ints;++o)this._partialBlock[o]=e.getInt32()^this._outBlock[o],this._partialOutput.putInt32(this._partialBlock[o]);if(i>0)e.read-=this.blockSize;else for(var o=0;o<this._ints;++o)this._inBlock[o]=this._partialBlock[o];if(this._partialBytes>0&&this._partialOutput.getBytes(this._partialBytes),i>0&&!r)return t.putBytes(this._partialOutput.getBytes(i-this._partialBytes)),this._partialBytes=i,!0;t.putBytes(this._partialOutput.getBytes(n-this._partialBytes)),this._partialBytes=0};lt.cfb.prototype.decrypt=function(e,t,r){var n=e.length();if(n===0)return!0;if(this.cipher.encrypt(this._inBlock,this._outBlock),this._partialBytes===0&&n>=this.blockSize){for(var o=0;o<this._ints;++o)this._inBlock[o]=e.getInt32(),t.putInt32(this._inBlock[o]^this._outBlock[o]);return}var i=(this.blockSize-n)%this.blockSize;i>0&&(i=this.blockSize-i),this._partialOutput.clear();for(var o=0;o<this._ints;++o)this._partialBlock[o]=e.getInt32(),this._partialOutput.putInt32(this._partialBlock[o]^this._outBlock[o]);if(i>0)e.read-=this.blockSize;else for(var o=0;o<this._ints;++o)this._inBlock[o]=this._partialBlock[o];if(this._partialBytes>0&&this._partialOutput.getBytes(this._partialBytes),i>0&&!r)return t.putBytes(this._partialOutput.getBytes(i-this._partialBytes)),this._partialBytes=i,!0;t.putBytes(this._partialOutput.getBytes(n-this._partialBytes)),this._partialBytes=0};lt.ofb=function(e){e=e||{},this.name="OFB",this.cipher=e.cipher,this.blockSize=e.blockSize||16,this._ints=this.blockSize/4,this._inBlock=null,this._outBlock=new Array(this._ints),this._partialOutput=oe.util.createBuffer(),this._partialBytes=0};lt.ofb.prototype.start=function(e){if(!("iv"in e))throw new Error("Invalid IV parameter.");this._iv=Us(e.iv,this.blockSize),this._inBlock=this._iv.slice(0),this._partialBytes=0};lt.ofb.prototype.encrypt=function(e,t,r){var n=e.length();if(e.length()===0)return!0;if(this.cipher.encrypt(this._inBlock,this._outBlock),this._partialBytes===0&&n>=this.blockSize){for(var o=0;o<this._ints;++o)t.putInt32(e.getInt32()^this._outBlock[o]),this._inBlock[o]=this._outBlock[o];return}var i=(this.blockSize-n)%this.blockSize;i>0&&(i=this.blockSize-i),this._partialOutput.clear();for(var o=0;o<this._ints;++o)this._partialOutput.putInt32(e.getInt32()^this._outBlock[o]);if(i>0)e.read-=this.blockSize;else for(var o=0;o<this._ints;++o)this._inBlock[o]=this._outBlock[o];if(this._partialBytes>0&&this._partialOutput.getBytes(this._partialBytes),i>0&&!r)return t.putBytes(this._partialOutput.getBytes(i-this._partialBytes)),this._partialBytes=i,!0;t.putBytes(this._partialOutput.getBytes(n-this._partialBytes)),this._partialBytes=0};lt.ofb.prototype.decrypt=lt.ofb.prototype.encrypt;lt.ctr=function(e){e=e||{},this.name="CTR",this.cipher=e.cipher,this.blockSize=e.blockSize||16,this._ints=this.blockSize/4,this._inBlock=null,this._outBlock=new Array(this._ints),this._partialOutput=oe.util.createBuffer(),this._partialBytes=0};lt.ctr.prototype.start=function(e){if(!("iv"in e))throw new Error("Invalid IV parameter.");this._iv=Us(e.iv,this.blockSize),this._inBlock=this._iv.slice(0),this._partialBytes=0};lt.ctr.prototype.encrypt=function(e,t,r){var n=e.length();if(n===0)return!0;if(this.cipher.encrypt(this._inBlock,this._outBlock),this._partialBytes===0&&n>=this.blockSize)for(var o=0;o<this._ints;++o)t.putInt32(e.getInt32()^this._outBlock[o]);else{var i=(this.blockSize-n)%this.blockSize;i>0&&(i=this.blockSize-i),this._partialOutput.clear();for(var o=0;o<this._ints;++o)this._partialOutput.putInt32(e.getInt32()^this._outBlock[o]);if(i>0&&(e.read-=this.blockSize),this._partialBytes>0&&this._partialOutput.getBytes(this._partialBytes),i>0&&!r)return t.putBytes(this._partialOutput.getBytes(i-this._partialBytes)),this._partialBytes=i,!0;t.putBytes(this._partialOutput.getBytes(n-this._partialBytes)),this._partialBytes=0}Os(this._inBlock)};lt.ctr.prototype.decrypt=lt.ctr.prototype.encrypt;lt.gcm=function(e){e=e||{},this.name="GCM",this.cipher=e.cipher,this.blockSize=e.blockSize||16,this._ints=this.blockSize/4,this._inBlock=new Array(this._ints),this._outBlock=new Array(this._ints),this._partialOutput=oe.util.createBuffer(),this._partialBytes=0,this._R=3774873600};lt.gcm.prototype.start=function(e){if(!("iv"in e))throw new Error("Invalid IV parameter.");var t=oe.util.createBuffer(e.iv);this._cipherLength=0;var r;if("additionalData"in e?r=oe.util.createBuffer(e.additionalData):r=oe.util.createBuffer(),"tagLength"in e?this._tagLength=e.tagLength:this._tagLength=128,this._tag=null,e.decrypt&&(this._tag=oe.util.createBuffer(e.tag).getBytes(),this._tag.length!==this._tagLength/8))throw new Error("Authentication tag does not match tag length.");this._hashBlock=new Array(this._ints),this.tag=null,this._hashSubkey=new Array(this._ints),this.cipher.encrypt([0,0,0,0],this._hashSubkey),this.componentBits=4,this._m=this.generateHashTable(this._hashSubkey,this.componentBits);var n=t.length();if(n===12)this._j0=[t.getInt32(),t.getInt32(),t.getInt32(),1];else{for(this._j0=[0,0,0,0];t.length()>0;)this._j0=this.ghash(this._hashSubkey,this._j0,[t.getInt32(),t.getInt32(),t.getInt32(),t.getInt32()]);this._j0=this.ghash(this._hashSubkey,this._j0,[0,0].concat(Ia(n*8)))}this._inBlock=this._j0.slice(0),Os(this._inBlock),this._partialBytes=0,r=oe.util.createBuffer(r),this._aDataLength=Ia(r.length()*8);var o=r.length()%this.blockSize;for(o&&r.fillWithByte(0,this.blockSize-o),this._s=[0,0,0,0];r.length()>0;)this._s=this.ghash(this._hashSubkey,this._s,[r.getInt32(),r.getInt32(),r.getInt32(),r.getInt32()])};lt.gcm.prototype.encrypt=function(e,t,r){var n=e.length();if(n===0)return!0;if(this.cipher.encrypt(this._inBlock,this._outBlock),this._partialBytes===0&&n>=this.blockSize){for(var o=0;o<this._ints;++o)t.putInt32(this._outBlock[o]^=e.getInt32());this._cipherLength+=this.blockSize}else{var i=(this.blockSize-n)%this.blockSize;i>0&&(i=this.blockSize-i),this._partialOutput.clear();for(var o=0;o<this._ints;++o)this._partialOutput.putInt32(e.getInt32()^this._outBlock[o]);if(i<=0||r){if(r){var s=n%this.blockSize;this._cipherLength+=s,this._partialOutput.truncate(this.blockSize-s)}else this._cipherLength+=this.blockSize;for(var o=0;o<this._ints;++o)this._outBlock[o]=this._partialOutput.getInt32();this._partialOutput.read-=this.blockSize}if(this._partialBytes>0&&this._partialOutput.getBytes(this._partialBytes),i>0&&!r)return e.read-=this.blockSize,t.putBytes(this._partialOutput.getBytes(i-this._partialBytes)),this._partialBytes=i,!0;t.putBytes(this._partialOutput.getBytes(n-this._partialBytes)),this._partialBytes=0}this._s=this.ghash(this._hashSubkey,this._s,this._outBlock),Os(this._inBlock)};lt.gcm.prototype.decrypt=function(e,t,r){var n=e.length();if(n<this.blockSize&&!(r&&n>0))return!0;this.cipher.encrypt(this._inBlock,this._outBlock),Os(this._inBlock),this._hashBlock[0]=e.getInt32(),this._hashBlock[1]=e.getInt32(),this._hashBlock[2]=e.getInt32(),this._hashBlock[3]=e.getInt32(),this._s=this.ghash(this._hashSubkey,this._s,this._hashBlock);for(var o=0;o<this._ints;++o)t.putInt32(this._outBlock[o]^this._hashBlock[o]);n<this.blockSize?this._cipherLength+=n%this.blockSize:this._cipherLength+=this.blockSize};lt.gcm.prototype.afterFinish=function(e,t){var r=!0;t.decrypt&&t.overflow&&e.truncate(this.blockSize-t.overflow),this.tag=oe.util.createBuffer();var n=this._aDataLength.concat(Ia(this._cipherLength*8));this._s=this.ghash(this._hashSubkey,this._s,n);var o=[];this.cipher.encrypt(this._j0,o);for(var i=0;i<this._ints;++i)this.tag.putInt32(this._s[i]^o[i]);return this.tag.truncate(this.tag.length()%(this._tagLength/8)),t.decrypt&&this.tag.bytes()!==this._tag&&(r=!1),r};lt.gcm.prototype.multiply=function(e,t){for(var r=[0,0,0,0],n=t.slice(0),o=0;o<128;++o){var i=e[o/32|0]&1<<31-o%32;i&&(r[0]^=n[0],r[1]^=n[1],r[2]^=n[2],r[3]^=n[3]),this.pow(n,n)}return r};lt.gcm.prototype.pow=function(e,t){for(var r=e[3]&1,n=3;n>0;--n)t[n]=e[n]>>>1|(e[n-1]&1)<<31;t[0]=e[0]>>>1,r&&(t[0]^=this._R)};lt.gcm.prototype.tableMultiply=function(e){for(var t=[0,0,0,0],r=0;r<32;++r){var n=r/8|0,o=e[n]>>>(7-r%8)*4&15,i=this._m[r][o];t[0]^=i[0],t[1]^=i[1],t[2]^=i[2],t[3]^=i[3]}return t};lt.gcm.prototype.ghash=function(e,t,r){return t[0]^=r[0],t[1]^=r[1],t[2]^=r[2],t[3]^=r[3],this.tableMultiply(t)};lt.gcm.prototype.generateHashTable=function(e,t){for(var r=8/t,n=4*r,o=16*r,i=new Array(o),s=0;s<o;++s){var a=[0,0,0,0],c=s/n|0,u=(n-1-s%n)*t;a[c]=1<<t-1<<u,i[s]=this.generateSubHashTable(this.multiply(a,e),t)}return i};lt.gcm.prototype.generateSubHashTable=function(e,t){var r=1<<t,n=r>>>1,o=new Array(r);o[n]=e.slice(0);for(var i=n>>>1;i>0;)this.pow(o[2*i],o[i]=[]),i>>=1;for(i=2;i<n;){for(var s=1;s<i;++s){var a=o[i],c=o[s];o[i+s]=[a[0]^c[0],a[1]^c[1],a[2]^c[2],a[3]^c[3]]}i*=2}for(o[0]=[0,0,0,0],i=n+1;i<r;++i){var u=o[i^n];o[i]=[e[0]^u[0],e[1]^u[1],e[2]^u[2],e[3]^u[3]]}return o};function Us(e,t){if(typeof e=="string"&&(e=oe.util.createBuffer(e)),oe.util.isArray(e)&&e.length>4){var r=e;e=oe.util.createBuffer();for(var n=0;n<r.length;++n)e.putByte(r[n])}if(e.length()<t)throw new Error("Invalid IV length; got "+e.length()+" bytes and expected "+t+" bytes.");if(!oe.util.isArray(e)){for(var o=[],i=t/4,n=0;n<i;++n)o.push(e.getInt32());e=o}return e}function Os(e){e[e.length-1]=e[e.length-1]+1&4294967295}function Ia(e){return[e/4294967296|0,e&4294967295]}});var Ms=it((nA,m3)=>{var Ct=St();Sa();Aa();Gt();m3.exports=Ct.aes=Ct.aes||{};Ct.aes.startEncrypting=function(e,t,r,n){var o=Fs({key:e,output:r,decrypt:!1,mode:n});return o.start(t),o};Ct.aes.createEncryptionCipher=function(e,t){return Fs({key:e,output:null,decrypt:!1,mode:t})};Ct.aes.startDecrypting=function(e,t,r,n){var o=Fs({key:e,output:r,decrypt:!0,mode:n});return o.start(t),o};Ct.aes.createDecryptionCipher=function(e,t){return Fs({key:e,output:null,decrypt:!0,mode:t})};Ct.aes.Algorithm=function(e,t){Ra||d3();var r=this;r.name=e,r.mode=new t({blockSize:16,cipher:{encrypt:function(n,o){return Ca(r._w,n,o,!1)},decrypt:function(n,o){return Ca(r._w,n,o,!0)}}}),r._init=!1};Ct.aes.Algorithm.prototype.initialize=function(e){if(!this._init){var t=e.key,r;if(typeof t=="string"&&(t.length===16||t.length===24||t.length===32))t=Ct.util.createBuffer(t);else if(Ct.util.isArray(t)&&(t.length===16||t.length===24||t.length===32)){r=t,t=Ct.util.createBuffer();for(var n=0;n<r.length;++n)t.putByte(r[n])}if(!Ct.util.isArray(t)){r=t,t=[];var o=r.length();if(o===16||o===24||o===32){o=o>>>2;for(var n=0;n<o;++n)t.push(r.getInt32())}}if(!Ct.util.isArray(t)||!(t.length===4||t.length===6||t.length===8))throw new Error("Invalid key parameter.");var i=this.mode.name,s=["CFB","OFB","CTR","GCM"].indexOf(i)!==-1;this._w=p3(t,e.decrypt&&!s),this._init=!0}};Ct.aes._expandKey=function(e,t){return Ra||d3(),p3(e,t)};Ct.aes._updateBlock=Ca;bo("AES-ECB",Ct.cipher.modes.ecb);bo("AES-CBC",Ct.cipher.modes.cbc);bo("AES-CFB",Ct.cipher.modes.cfb);bo("AES-OFB",Ct.cipher.modes.ofb);bo("AES-CTR",Ct.cipher.modes.ctr);bo("AES-GCM",Ct.cipher.modes.gcm);function bo(e,t){var r=function(){return new Ct.aes.Algorithm(e,t)};Ct.cipher.registerAlgorithm(e,r)}var Ra=!1,xo=4,be,Ta,h3,kn,je;function d3(){Ra=!0,h3=[0,1,2,4,8,16,32,64,128,27,54];for(var e=new Array(256),t=0;t<128;++t)e[t]=t<<1,e[t+128]=t+128<<1^283;be=new Array(256),Ta=new Array(256),kn=new Array(4),je=new Array(4);for(var t=0;t<4;++t)kn[t]=new Array(256),je[t]=new Array(256);for(var r=0,n=0,o,i,s,a,c,u,f,t=0;t<256;++t){a=n^n<<1^n<<2^n<<3^n<<4,a=a>>8^a&255^99,be[r]=a,Ta[a]=r,c=e[a],o=e[r],i=e[o],s=e[i],u=c<<24^a<<16^a<<8^(a^c),f=(o^i^s)<<24^(r^s)<<16^(r^i^s)<<8^(r^o^s);for(var l=0;l<4;++l)kn[l][r]=u,je[l][a]=f,u=u<<24|u>>>8,f=f<<24|f>>>8;r===0?r=n=1:(r=o^e[e[e[o^s]]],n^=e[e[n]])}}function p3(e,t){for(var r=e.slice(0),n,o=1,i=r.length,s=i+6+1,a=xo*s,c=i;c<a;++c)n=r[c-1],c%i===0?(n=be[n>>>16&255]<<24^be[n>>>8&255]<<16^be[n&255]<<8^be[n>>>24]^h3[o]<<24,o++):i>6&&c%i===4&&(n=be[n>>>24]<<24^be[n>>>16&255]<<16^be[n>>>8&255]<<8^be[n&255]),r[c]=r[c-i]^n;if(t){var u,f=je[0],l=je[1],m=je[2],d=je[3],h=r.slice(0);a=r.length;for(var c=0,p=a-xo;c<a;c+=xo,p-=xo)if(c===0||c===a-xo)h[c]=r[p],h[c+1]=r[p+3],h[c+2]=r[p+2],h[c+3]=r[p+1];else for(var g=0;g<xo;++g)u=r[p+g],h[c+(3&-g)]=f[be[u>>>24]]^l[be[u>>>16&255]]^m[be[u>>>8&255]]^d[be[u&255]];r=h}return r}function Ca(e,t,r,n){var o=e.length/4-1,i,s,a,c,u;n?(i=je[0],s=je[1],a=je[2],c=je[3],u=Ta):(i=kn[0],s=kn[1],a=kn[2],c=kn[3],u=be);var f,l,m,d,h,p,g;f=t[0]^e[0],l=t[n?3:1]^e[1],m=t[2]^e[2],d=t[n?1:3]^e[3];for(var y=3,x=1;x<o;++x)h=i[f>>>24]^s[l>>>16&255]^a[m>>>8&255]^c[d&255]^e[++y],p=i[l>>>24]^s[m>>>16&255]^a[d>>>8&255]^c[f&255]^e[++y],g=i[m>>>24]^s[d>>>16&255]^a[f>>>8&255]^c[l&255]^e[++y],d=i[d>>>24]^s[f>>>16&255]^a[l>>>8&255]^c[m&255]^e[++y],f=h,l=p,m=g;r[0]=u[f>>>24]<<24^u[l>>>16&255]<<16^u[m>>>8&255]<<8^u[d&255]^e[++y],r[n?3:1]=u[l>>>24]<<24^u[m>>>16&255]<<16^u[d>>>8&255]<<8^u[f&255]^e[++y],r[2]=u[m>>>24]<<24^u[d>>>16&255]<<16^u[f>>>8&255]<<8^u[l&255]^e[++y],r[n?1:3]=u[d>>>24]<<24^u[f>>>16&255]<<16^u[l>>>8&255]<<8^u[m&255]^e[++y]}function Fs(e){e=e||{};var t=(e.mode||"CBC").toUpperCase(),r="AES-"+t,n;e.decrypt?n=Ct.cipher.createDecipher(r,e.key):n=Ct.cipher.createCipher(r,e.key);var o=n.start;return n.start=function(i,s){var a=null;s instanceof Ct.util.ByteBuffer&&(a=s,s={}),s=s||{},s.output=a,s.iv=i,o.call(n,s)},n}});var x3=it((oA,y3)=>{var Nt=St();Sa();Aa();Gt();y3.exports=Nt.des=Nt.des||{};Nt.des.startEncrypting=function(e,t,r,n){var o=Vs({key:e,output:r,decrypt:!1,mode:n||(t===null?"ECB":"CBC")});return o.start(t),o};Nt.des.createEncryptionCipher=function(e,t){return Vs({key:e,output:null,decrypt:!1,mode:t})};Nt.des.startDecrypting=function(e,t,r,n){var o=Vs({key:e,output:r,decrypt:!0,mode:n||(t===null?"ECB":"CBC")});return o.start(t),o};Nt.des.createDecryptionCipher=function(e,t){return Vs({key:e,output:null,decrypt:!0,mode:t})};Nt.des.Algorithm=function(e,t){var r=this;r.name=e,r.mode=new t({blockSize:8,cipher:{encrypt:function(n,o){return g3(r._keys,n,o,!1)},decrypt:function(n,o){return g3(r._keys,n,o,!0)}}}),r._init=!1};Nt.des.Algorithm.prototype.initialize=function(e){if(!this._init){var t=Nt.util.createBuffer(e.key);if(this.name.indexOf("3DES")===0&&t.length()!==24)throw new Error("Invalid Triple-DES key size: "+t.length()*8);this._keys=Sp(t),this._init=!0}};mr("DES-ECB",Nt.cipher.modes.ecb);mr("DES-CBC",Nt.cipher.modes.cbc);mr("DES-CFB",Nt.cipher.modes.cfb);mr("DES-OFB",Nt.cipher.modes.ofb);mr("DES-CTR",Nt.cipher.modes.ctr);mr("3DES-ECB",Nt.cipher.modes.ecb);mr("3DES-CBC",Nt.cipher.modes.cbc);mr("3DES-CFB",Nt.cipher.modes.cfb);mr("3DES-OFB",Nt.cipher.modes.ofb);mr("3DES-CTR",Nt.cipher.modes.ctr);function mr(e,t){var r=function(){return new Nt.des.Algorithm(e,t)};Nt.cipher.registerAlgorithm(e,r)}var mp=[16843776,0,65536,16843780,16842756,66564,4,65536,1024,16843776,16843780,1024,16778244,16842756,16777216,4,1028,16778240,16778240,66560,66560,16842752,16842752,16778244,65540,16777220,16777220,65540,0,1028,66564,16777216,65536,16843780,4,16842752,16843776,16777216,16777216,1024,16842756,65536,66560,16777220,1024,4,16778244,66564,16843780,65540,16842752,16778244,16777220,1028,66564,16843776,1028,16778240,16778240,0,65540,66560,0,16842756],gp=[-2146402272,-2147450880,32768,1081376,1048576,32,-2146435040,-2147450848,-2147483616,-2146402272,-2146402304,-2147483648,-2147450880,1048576,32,-2146435040,1081344,1048608,-2147450848,0,-2147483648,32768,1081376,-2146435072,1048608,-2147483616,0,1081344,32800,-2146402304,-2146435072,32800,0,1081376,-2146435040,1048576,-2147450848,-2146435072,-2146402304,32768,-2146435072,-2147450880,32,-2146402272,1081376,32,32768,-2147483648,32800,-2146402304,1048576,-2147483616,1048608,-2147450848,-2147483616,1048608,1081344,0,-2147450880,32800,-2147483648,-2146435040,-2146402272,1081344],yp=[520,134349312,0,134348808,134218240,0,131592,134218240,131080,134217736,134217736,131072,134349320,131080,134348800,520,134217728,8,134349312,512,131584,134348800,134348808,131592,134218248,131584,131072,134218248,8,134349320,512,134217728,134349312,134217728,131080,520,131072,134349312,134218240,0,512,131080,134349320,134218240,134217736,512,0,134348808,134218248,131072,134217728,134349320,8,131592,131584,134217736,134348800,134218248,520,134348800,131592,8,134348808,131584],xp=[8396801,8321,8321,128,8396928,8388737,8388609,8193,0,8396800,8396800,8396929,129,0,8388736,8388609,1,8192,8388608,8396801,128,8388608,8193,8320,8388737,1,8320,8388736,8192,8396928,8396929,129,8388736,8388609,8396800,8396929,129,0,0,8396800,8320,8388736,8388737,1,8396801,8321,8321,128,8396929,129,1,8192,8388609,8193,8396928,8388737,8193,8320,8388608,8396801,128,8388608,8192,8396928],bp=[256,34078976,34078720,1107296512,524288,256,1073741824,34078720,1074266368,524288,33554688,1074266368,1107296512,1107820544,524544,1073741824,33554432,1074266112,1074266112,0,1073742080,1107820800,1107820800,33554688,1107820544,1073742080,0,1107296256,34078976,33554432,1107296256,524544,524288,1107296512,256,33554432,1073741824,34078720,1107296512,1074266368,33554688,1073741824,1107820544,34078976,1074266368,256,33554432,1107820544,1107820800,524544,1107296256,1107820800,34078720,0,1074266112,1107296256,524544,33554688,1073742080,524288,0,1074266112,34078976,1073742080],wp=[536870928,541065216,16384,541081616,541065216,16,541081616,4194304,536887296,4210704,4194304,536870928,4194320,536887296,536870912,16400,0,4194320,536887312,16384,4210688,536887312,16,541065232,541065232,0,4210704,541081600,16400,4210688,541081600,536870912,536887296,16,541065232,4210688,541081616,4194304,16400,536870928,4194304,536887296,536870912,16400,536870928,541081616,4210688,541065216,4210704,541081600,0,541065232,16,16384,541065216,4210704,16384,4194320,536887312,0,541081600,536870912,4194320,536887312],vp=[2097152,69206018,67110914,0,2048,67110914,2099202,69208064,69208066,2097152,0,67108866,2,67108864,69206018,2050,67110912,2099202,2097154,67110912,67108866,69206016,69208064,2097154,69206016,2048,2050,69208066,2099200,2,67108864,2099200,67108864,2099200,2097152,67110914,67110914,69206018,69206018,2,2097154,67108864,67110912,2097152,69208064,2050,2099202,69208064,2050,67108866,69208066,69206016,2099200,0,2,69208066,0,2099202,69206016,2048,67108866,67110912,2048,2097154],Ep=[268439616,4096,262144,268701760,268435456,268439616,64,268435456,262208,268697600,268701760,266240,268701696,266304,4096,64,268697600,268435520,268439552,4160,266240,262208,268697664,268701696,4160,0,0,268697664,268435520,268439552,266304,262144,266304,262144,268701696,4096,64,268697664,4096,266304,268439552,64,268435520,268697600,268697664,268435456,262144,268439616,0,268701760,262208,268435520,268697600,268439552,268439616,0,268701760,266240,266240,4160,4160,262208,268435456,268701696];function Sp(e){for(var t=[0,4,536870912,536870916,65536,65540,536936448,536936452,512,516,536871424,536871428,66048,66052,536936960,536936964],r=[0,1,1048576,1048577,67108864,67108865,68157440,68157441,256,257,1048832,1048833,67109120,67109121,68157696,68157697],n=[0,8,2048,2056,16777216,16777224,16779264,16779272,0,8,2048,2056,16777216,16777224,16779264,16779272],o=[0,2097152,134217728,136314880,8192,2105344,134225920,136323072,131072,2228224,134348800,136445952,139264,2236416,134356992,136454144],i=[0,262144,16,262160,0,262144,16,262160,4096,266240,4112,266256,4096,266240,4112,266256],s=[0,1024,32,1056,0,1024,32,1056,33554432,33555456,33554464,33555488,33554432,33555456,33554464,33555488],a=[0,268435456,524288,268959744,2,268435458,524290,268959746,0,268435456,524288,268959744,2,268435458,524290,268959746],c=[0,65536,2048,67584,536870912,536936448,536872960,536938496,131072,196608,133120,198656,537001984,537067520,537004032,537069568],u=[0,262144,0,262144,2,262146,2,262146,33554432,33816576,33554432,33816576,33554434,33816578,33554434,33816578],f=[0,268435456,8,268435464,0,268435456,8,268435464,1024,268436480,1032,268436488,1024,268436480,1032,268436488],l=[0,32,0,32,1048576,1048608,1048576,1048608,8192,8224,8192,8224,1056768,1056800,1056768,1056800],m=[0,16777216,512,16777728,2097152,18874368,2097664,18874880,67108864,83886080,67109376,83886592,69206016,85983232,69206528,85983744],d=[0,4096,134217728,134221824,524288,528384,134742016,134746112,16,4112,134217744,134221840,524304,528400,134742032,134746128],h=[0,4,256,260,0,4,256,260,1,5,257,261,1,5,257,261],p=e.length()>8?3:1,g=[],y=[0,0,1,1,1,1,1,1,0,1,1,1,1,1,1,0],x=0,b,A=0;A<p;A++){var v=e.getInt32(),E=e.getInt32();b=(v>>>4^E)&252645135,E^=b,v^=b<<4,b=(E>>>-16^v)&65535,v^=b,E^=b<<-16,b=(v>>>2^E)&858993459,E^=b,v^=b<<2,b=(E>>>-16^v)&65535,v^=b,E^=b<<-16,b=(v>>>1^E)&1431655765,E^=b,v^=b<<1,b=(E>>>8^v)&16711935,v^=b,E^=b<<8,b=(v>>>1^E)&1431655765,E^=b,v^=b<<1,b=v<<8|E>>>20&240,v=E<<24|E<<8&16711680|E>>>8&65280|E>>>24&240,E=b;for(var _=0;_<y.length;++_){y[_]?(v=v<<2|v>>>26,E=E<<2|E>>>26):(v=v<<1|v>>>27,E=E<<1|E>>>27),v&=-15,E&=-15;var I=t[v>>>28]|r[v>>>24&15]|n[v>>>20&15]|o[v>>>16&15]|i[v>>>12&15]|s[v>>>8&15]|a[v>>>4&15],k=c[E>>>28]|u[E>>>24&15]|f[E>>>20&15]|l[E>>>16&15]|m[E>>>12&15]|d[E>>>8&15]|h[E>>>4&15];b=(k>>>16^I)&65535,g[x++]=I^b,g[x++]=k^b<<16}}return g}function g3(e,t,r,n){var o=e.length===32?3:9,i;o===3?i=n?[30,-2,-2]:[0,32,2]:i=n?[94,62,-2,32,64,2,30,-2,-2]:[0,32,2,62,30,-2,64,96,2];var s,a=t[0],c=t[1];s=(a>>>4^c)&252645135,c^=s,a^=s<<4,s=(a>>>16^c)&65535,c^=s,a^=s<<16,s=(c>>>2^a)&858993459,a^=s,c^=s<<2,s=(c>>>8^a)&16711935,a^=s,c^=s<<8,s=(a>>>1^c)&1431655765,c^=s,a^=s<<1,a=a<<1|a>>>31,c=c<<1|c>>>31;for(var u=0;u<o;u+=3){for(var f=i[u+1],l=i[u+2],m=i[u];m!=f;m+=l){var d=c^e[m],h=(c>>>4|c<<28)^e[m+1];s=a,a=c,c=s^(gp[d>>>24&63]|xp[d>>>16&63]|wp[d>>>8&63]|Ep[d&63]|mp[h>>>24&63]|yp[h>>>16&63]|bp[h>>>8&63]|vp[h&63])}s=a,a=c,c=s}a=a>>>1|a<<31,c=c>>>1|c<<31,s=(a>>>1^c)&1431655765,c^=s,a^=s<<1,s=(c>>>8^a)&16711935,a^=s,c^=s<<8,s=(c>>>2^a)&858993459,a^=s,c^=s<<2,s=(a>>>16^c)&65535,c^=s,a^=s<<16,s=(a>>>4^c)&252645135,c^=s,a^=s<<4,r[0]=a,r[1]=c}function Vs(e){e=e||{};var t=(e.mode||"CBC").toUpperCase(),r="DES-"+t,n;e.decrypt?n=Nt.cipher.createDecipher(r,e.key):n=Nt.cipher.createCipher(r,e.key);var o=n.start;return n.start=function(i,s){var a=null;s instanceof Nt.util.ByteBuffer&&(a=s,s={}),s=s||{},s.output=a,s.iv=i,o.call(n,s)},n}});var Un=it((iA,b3)=>{var Ks=St();b3.exports=Ks.md=Ks.md||{};Ks.md.algorithms=Ks.md.algorithms||{}});var v3=it((sA,w3)=>{var Nr=St();Un();Gt();var Ip=w3.exports=Nr.hmac=Nr.hmac||{};Ip.create=function(){var e=null,t=null,r=null,n=null,o={};return o.start=function(i,s){if(i!==null)if(typeof i=="string")if(i=i.toLowerCase(),i in Nr.md.algorithms)t=Nr.md.algorithms[i].create();else throw new Error('Unknown hash algorithm "'+i+'"');else t=i;if(s===null)s=e;else{if(typeof s=="string")s=Nr.util.createBuffer(s);else if(Nr.util.isArray(s)){var a=s;s=Nr.util.createBuffer();for(var c=0;c<a.length;++c)s.putByte(a[c])}var u=s.length();u>t.blockLength&&(t.start(),t.update(s.bytes()),s=t.digest()),r=Nr.util.createBuffer(),n=Nr.util.createBuffer(),u=s.length();for(var c=0;c<u;++c){var a=s.at(c);r.putByte(54^a),n.putByte(92^a)}if(u<t.blockLength)for(var a=t.blockLength-u,c=0;c<a;++c)r.putByte(54),n.putByte(92);e=s,r=r.bytes(),n=n.bytes()}t.start(),t.update(r)},o.update=function(i){t.update(i)},o.getMac=function(){var i=t.digest().bytes();return t.start(),t.update(n),t.update(i),t.digest()},o.digest=o.getMac,o}});var qs=it(()=>{});var _a=it((uA,E3)=>{var we=St();v3();Un();Gt();var Ap=we.pkcs5=we.pkcs5||{},Dr;we.util.isNodejs&&!we.options.usePureJavaScript&&(Dr=qs());E3.exports=we.pbkdf2=Ap.pbkdf2=function(e,t,r,n,o,i){if(typeof o=="function"&&(i=o,o=null),we.util.isNodejs&&!we.options.usePureJavaScript&&Dr.pbkdf2&&(o===null||typeof o!="object")&&(Dr.pbkdf2Sync.length>4||!o||o==="sha1"))return typeof o!="string"&&(o="sha1"),e=Buffer.from(e,"binary"),t=Buffer.from(t,"binary"),i?Dr.pbkdf2Sync.length===4?Dr.pbkdf2(e,t,r,n,function(b,A){if(b)return i(b);i(null,A.toString("binary"))}):Dr.pbkdf2(e,t,r,n,o,function(b,A){if(b)return i(b);i(null,A.toString("binary"))}):Dr.pbkdf2Sync.length===4?Dr.pbkdf2Sync(e,t,r,n).toString("binary"):Dr.pbkdf2Sync(e,t,r,n,o).toString("binary");if((typeof o>"u"||o===null)&&(o="sha1"),typeof o=="string"){if(!(o in we.md.algorithms))throw new Error("Unknown hash algorithm: "+o);o=we.md[o].create()}var s=o.digestLength;if(n>4294967295*s){var a=new Error("Derived key is too long.");if(i)return i(a);throw a}var c=Math.ceil(n/s),u=n-(c-1)*s,f=we.hmac.create();f.start(o,e);var l="",m,d,h;if(!i){for(var p=1;p<=c;++p){f.start(null,null),f.update(t),f.update(we.util.int32ToBytes(p)),m=h=f.digest().getBytes();for(var g=2;g<=r;++g)f.start(null,null),f.update(h),d=f.digest().getBytes(),m=we.util.xorBytes(m,d,s),h=d;l+=p<c?m:m.substr(0,u)}return l}var p=1,g;function y(){if(p>c)return i(null,l);f.start(null,null),f.update(t),f.update(we.util.int32ToBytes(p)),m=h=f.digest().getBytes(),g=2,x()}function x(){if(g<=r)return f.start(null,null),f.update(h),d=f.digest().getBytes(),m=we.util.xorBytes(m,d,s),h=d,++g,we.util.setImmediate(x);l+=p<c?m:m.substr(0,u),++p,y()}y()}});var A3=it((fA,I3)=>{var $s=St();Gt();var S3=I3.exports=$s.pem=$s.pem||{};S3.encode=function(e,t){t=t||{};var r="-----BEGIN "+e.type+`-----\r
|
|
9
|
-
`,n;if(e.procType&&(n={name:"Proc-Type",values:[String(e.procType.version),e.procType.type]},r+=zs(n)),e.contentDomain&&(n={name:"Content-Domain",values:[e.contentDomain]},r+=zs(n)),e.dekInfo&&(n={name:"DEK-Info",values:[e.dekInfo.algorithm]},e.dekInfo.parameters&&n.values.push(e.dekInfo.parameters),r+=zs(n)),e.headers)for(var o=0;o<e.headers.length;++o)r+=zs(e.headers[o]);return e.procType&&(r+=`\r
|
|
10
|
-
`),r+=$s.util.encode64(e.body,t.maxline||64)+`\r
|
|
11
|
-
`,r+="-----END "+e.type+`-----\r
|
|
12
|
-
`,r};S3.decode=function(e){for(var t=[],r=/\s*-----BEGIN ([A-Z0-9- ]+)-----\r?\n?([\x21-\x7e\s]+?(?:\r?\n\r?\n))?([:A-Za-z0-9+\/=\s]+?)-----END \1-----/g,n=/([\x21-\x7e]+):\s*([\x21-\x7e\s^:]+)/,o=/\r?\n/,i;i=r.exec(e),!!i;){var s=i[1];s==="NEW CERTIFICATE REQUEST"&&(s="CERTIFICATE REQUEST");var a={type:s,procType:null,contentDomain:null,dekInfo:null,headers:[],body:$s.util.decode64(i[3])};if(t.push(a),!!i[2]){for(var c=i[2].split(o),u=0;i&&u<c.length;){for(var f=c[u].replace(/\s+$/,""),l=u+1;l<c.length;++l){var m=c[l];if(!/\s/.test(m[0]))break;f+=m,u=l}if(i=f.match(n),i){for(var d={name:i[1],values:[]},h=i[2].split(","),p=0;p<h.length;++p)d.values.push(Tp(h[p]));if(a.procType)if(!a.contentDomain&&d.name==="Content-Domain")a.contentDomain=h[0]||"";else if(!a.dekInfo&&d.name==="DEK-Info"){if(d.values.length===0)throw new Error('Invalid PEM formatted message. The "DEK-Info" header must have at least one subfield.');a.dekInfo={algorithm:h[0],parameters:h[1]||null}}else a.headers.push(d);else{if(d.name!=="Proc-Type")throw new Error('Invalid PEM formatted message. The first encapsulated header must be "Proc-Type".');if(d.values.length!==2)throw new Error('Invalid PEM formatted message. The "Proc-Type" header must have two subfields.');a.procType={version:h[0],type:h[1]}}}++u}if(a.procType==="ENCRYPTED"&&!a.dekInfo)throw new Error('Invalid PEM formatted message. The "DEK-Info" header must be present if "Proc-Type" is "ENCRYPTED".')}}if(t.length===0)throw new Error("Invalid PEM formatted message.");return t};function zs(e){for(var t=e.name+": ",r=[],n=function(c,u){return" "+u},o=0;o<e.values.length;++o)r.push(e.values[o].replace(/^(\S+\r\n)/,n));t+=r.join(",")+`\r
|
|
13
|
-
`;for(var i=0,s=-1,o=0;o<t.length;++o,++i)if(i>65&&s!==-1){var a=t[s];a===","?(++s,t=t.substr(0,s)+`\r
|
|
14
|
-
`+t.substr(s)):t=t.substr(0,s)+`\r
|
|
15
|
-
`+a+t.substr(s+1),i=o-s-1,s=-1,++o}else(t[o]===" "||t[o]===" "||t[o]===",")&&(s=o);return t}function Tp(e){return e.replace(/^\s+/,"")}});var P3=it((lA,B3)=>{var gr=St();Un();Gt();var C3=B3.exports=gr.sha256=gr.sha256||{};gr.md.sha256=gr.md.algorithms.sha256=C3;C3.create=function(){R3||Cp();var e=null,t=gr.util.createBuffer(),r=new Array(64),n={algorithm:"sha256",blockLength:64,digestLength:32,messageLength:0,fullMessageLength:null,messageLengthSize:8};return n.start=function(){n.messageLength=0,n.fullMessageLength=n.messageLength64=[];for(var o=n.messageLengthSize/4,i=0;i<o;++i)n.fullMessageLength.push(0);return t=gr.util.createBuffer(),e={h0:1779033703,h1:3144134277,h2:1013904242,h3:2773480762,h4:1359893119,h5:2600822924,h6:528734635,h7:1541459225},n},n.start(),n.update=function(o,i){i==="utf8"&&(o=gr.util.encodeUtf8(o));var s=o.length;n.messageLength+=s,s=[s/4294967296>>>0,s>>>0];for(var a=n.fullMessageLength.length-1;a>=0;--a)n.fullMessageLength[a]+=s[1],s[1]=s[0]+(n.fullMessageLength[a]/4294967296>>>0),n.fullMessageLength[a]=n.fullMessageLength[a]>>>0,s[0]=s[1]/4294967296>>>0;return t.putBytes(o),T3(e,r,t),(t.read>2048||t.length()===0)&&t.compact(),n},n.digest=function(){var o=gr.util.createBuffer();o.putBytes(t.bytes());var i=n.fullMessageLength[n.fullMessageLength.length-1]+n.messageLengthSize,s=i&n.blockLength-1;o.putBytes(Ba.substr(0,n.blockLength-s));for(var a,c,u=n.fullMessageLength[0]*8,f=0;f<n.fullMessageLength.length-1;++f)a=n.fullMessageLength[f+1]*8,c=a/4294967296>>>0,u+=c,o.putInt32(u>>>0),u=a>>>0;o.putInt32(u);var l={h0:e.h0,h1:e.h1,h2:e.h2,h3:e.h3,h4:e.h4,h5:e.h5,h6:e.h6,h7:e.h7};T3(l,r,o);var m=gr.util.createBuffer();return m.putInt32(l.h0),m.putInt32(l.h1),m.putInt32(l.h2),m.putInt32(l.h3),m.putInt32(l.h4),m.putInt32(l.h5),m.putInt32(l.h6),m.putInt32(l.h7),m},n};var Ba=null,R3=!1,_3=null;function Cp(){Ba="\x80",Ba+=gr.util.fillString("\0",64),_3=[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],R3=!0}function T3(e,t,r){for(var n,o,i,s,a,c,u,f,l,m,d,h,p,g,y,x=r.length();x>=64;){for(u=0;u<16;++u)t[u]=r.getInt32();for(;u<64;++u)n=t[u-2],n=(n>>>17|n<<15)^(n>>>19|n<<13)^n>>>10,o=t[u-15],o=(o>>>7|o<<25)^(o>>>18|o<<14)^o>>>3,t[u]=n+t[u-7]+o+t[u-16]|0;for(f=e.h0,l=e.h1,m=e.h2,d=e.h3,h=e.h4,p=e.h5,g=e.h6,y=e.h7,u=0;u<64;++u)s=(h>>>6|h<<26)^(h>>>11|h<<21)^(h>>>25|h<<7),a=g^h&(p^g),i=(f>>>2|f<<30)^(f>>>13|f<<19)^(f>>>22|f<<10),c=f&l|m&(f^l),n=y+s+a+_3[u]+t[u],o=i+c,y=g,g=p,p=h,h=d+n>>>0,d=m,m=l,l=f,f=n+o>>>0;e.h0=e.h0+f|0,e.h1=e.h1+l|0,e.h2=e.h2+m|0,e.h3=e.h3+d|0,e.h4=e.h4+h|0,e.h5=e.h5+p|0,e.h6=e.h6+g|0,e.h7=e.h7+y|0,x-=64}}});var D3=it((hA,N3)=>{var yr=St();Gt();var Hs=null;yr.util.isNodejs&&!yr.options.usePureJavaScript&&!process.versions["node-webkit"]&&(Hs=qs());var Rp=N3.exports=yr.prng=yr.prng||{};Rp.create=function(e){for(var t={plugin:e,key:null,seed:null,time:null,reseeds:0,generated:0,keyBytes:""},r=e.md,n=new Array(32),o=0;o<32;++o)n[o]=r.create();t.pools=n,t.pool=0,t.generate=function(u,f){if(!f)return t.generateSync(u);var l=t.plugin.cipher,m=t.plugin.increment,d=t.plugin.formatKey,h=t.plugin.formatSeed,p=yr.util.createBuffer();t.key=null,g();function g(y){if(y)return f(y);if(p.length()>=u)return f(null,p.getBytes(u));if(t.generated>1048575&&(t.key=null),t.key===null)return yr.util.nextTick(function(){i(g)});var x=l(t.key,t.seed);t.generated+=x.length,p.putBytes(x),t.key=d(l(t.key,m(t.seed))),t.seed=h(l(t.key,t.seed)),yr.util.setImmediate(g)}},t.generateSync=function(u){var f=t.plugin.cipher,l=t.plugin.increment,m=t.plugin.formatKey,d=t.plugin.formatSeed;t.key=null;for(var h=yr.util.createBuffer();h.length()<u;){t.generated>1048575&&(t.key=null),t.key===null&&s();var p=f(t.key,t.seed);t.generated+=p.length,h.putBytes(p),t.key=m(f(t.key,l(t.seed))),t.seed=d(f(t.key,t.seed))}return h.getBytes(u)};function i(u){if(t.pools[0].messageLength>=32)return a(),u();var f=32-t.pools[0].messageLength<<5;t.seedFile(f,function(l,m){if(l)return u(l);t.collect(m),a(),u()})}function s(){if(t.pools[0].messageLength>=32)return a();var u=32-t.pools[0].messageLength<<5;t.collect(t.seedFileSync(u)),a()}function a(){t.reseeds=t.reseeds===4294967295?0:t.reseeds+1;var u=t.plugin.md.create();u.update(t.keyBytes);for(var f=1,l=0;l<32;++l)t.reseeds%f===0&&(u.update(t.pools[l].digest().getBytes()),t.pools[l].start()),f=f<<1;t.keyBytes=u.digest().getBytes(),u.start(),u.update(t.keyBytes);var m=u.digest().getBytes();t.key=t.plugin.formatKey(t.keyBytes),t.seed=t.plugin.formatSeed(m),t.generated=0}function c(u){var f=null,l=yr.util.globalScope,m=l.crypto||l.msCrypto;m&&m.getRandomValues&&(f=function(v){return m.getRandomValues(v)});var d=yr.util.createBuffer();if(f)for(;d.length()<u;){var h=Math.max(1,Math.min(u-d.length(),65536)/4),p=new Uint32Array(Math.floor(h));try{f(p);for(var g=0;g<p.length;++g)d.putInt32(p[g])}catch(v){if(!(typeof QuotaExceededError<"u"&&v instanceof QuotaExceededError))throw v}}if(d.length()<u)for(var y,x,b,A=Math.floor(Math.random()*65536);d.length()<u;){x=16807*(A&65535),y=16807*(A>>16),x+=(y&32767)<<16,x+=y>>15,x=(x&2147483647)+(x>>31),A=x&4294967295;for(var g=0;g<3;++g)b=A>>>(g<<3),b^=Math.floor(Math.random()*256),d.putByte(b&255)}return d.getBytes(u)}return Hs?(t.seedFile=function(u,f){Hs.randomBytes(u,function(l,m){if(l)return f(l);f(null,m.toString())})},t.seedFileSync=function(u){return Hs.randomBytes(u).toString()}):(t.seedFile=function(u,f){try{f(null,c(u))}catch(l){f(l)}},t.seedFileSync=c),t.collect=function(u){for(var f=u.length,l=0;l<f;++l)t.pools[t.pool].update(u.substr(l,1)),t.pool=t.pool===31?0:t.pool+1},t.collectInt=function(u,f){for(var l="",m=0;m<f;m+=8)l+=String.fromCharCode(u>>m&255);t.collect(l)},t.registerWorker=function(u){if(u===self)t.seedFile=function(l,m){function d(h){var p=h.data;p.forge&&p.forge.prng&&(self.removeEventListener("message",d),m(p.forge.prng.err,p.forge.prng.bytes))}self.addEventListener("message",d),self.postMessage({forge:{prng:{needed:l}}})};else{var f=function(l){var m=l.data;m.forge&&m.forge.prng&&t.seedFile(m.forge.prng.needed,function(d,h){u.postMessage({forge:{prng:{err:d,bytes:h}}})})};u.addEventListener("message",f)}},t}});var Ei=it((dA,Pa)=>{var ie=St();Ms();P3();D3();Gt();(function(){if(ie.random&&ie.random.getBytes){Pa.exports=ie.random;return}(function(e){var t={},r=new Array(4),n=ie.util.createBuffer();t.formatKey=function(l){var m=ie.util.createBuffer(l);return l=new Array(4),l[0]=m.getInt32(),l[1]=m.getInt32(),l[2]=m.getInt32(),l[3]=m.getInt32(),ie.aes._expandKey(l,!1)},t.formatSeed=function(l){var m=ie.util.createBuffer(l);return l=new Array(4),l[0]=m.getInt32(),l[1]=m.getInt32(),l[2]=m.getInt32(),l[3]=m.getInt32(),l},t.cipher=function(l,m){return ie.aes._updateBlock(l,m,r,!1),n.putInt32(r[0]),n.putInt32(r[1]),n.putInt32(r[2]),n.putInt32(r[3]),n.getBytes()},t.increment=function(l){return++l[3],l},t.md=ie.md.sha256;function o(){var l=ie.prng.create(t);return l.getBytes=function(m,d){return l.generate(m,d)},l.getBytesSync=function(m){return l.generate(m)},l}var i=o(),s=null,a=ie.util.globalScope,c=a.crypto||a.msCrypto;if(c&&c.getRandomValues&&(s=function(l){return c.getRandomValues(l)}),ie.options.usePureJavaScript||!ie.util.isNodejs&&!s){if(typeof window>"u"||window.document,i.collectInt(+new Date,32),typeof navigator<"u"){var u="";for(var f in navigator)try{typeof navigator[f]=="string"&&(u+=navigator[f])}catch{}i.collect(u),u=null}e&&(e().mousemove(function(l){i.collectInt(l.clientX,16),i.collectInt(l.clientY,16)}),e().keypress(function(l){i.collectInt(l.charCode,8)}))}if(!ie.random)ie.random=i;else for(var f in i)ie.random[f]=i[f];ie.random.createInstance=o,Pa.exports=ie.random})(typeof jQuery<"u"?jQuery:null)})()});var O3=it((pA,U3)=>{var Ae=St();Gt();var Na=[217,120,249,196,25,221,181,237,40,233,253,121,74,160,216,157,198,126,55,131,43,118,83,142,98,76,100,136,68,139,251,162,23,154,89,245,135,179,79,19,97,69,109,141,9,129,125,50,189,143,64,235,134,183,123,11,240,149,33,34,92,107,78,130,84,214,101,147,206,96,178,28,115,86,192,20,167,140,241,220,18,117,202,31,59,190,228,209,66,61,212,48,163,60,182,38,111,191,14,218,70,105,7,87,39,242,29,155,188,148,67,3,248,17,199,246,144,239,62,231,6,195,213,47,200,102,30,215,8,232,234,222,128,82,238,247,132,170,114,172,53,77,106,42,150,26,210,113,90,21,73,116,75,159,208,94,4,24,164,236,194,224,65,110,15,81,203,204,36,145,175,80,161,244,112,57,153,124,58,133,35,184,180,122,252,2,54,91,37,85,151,49,45,93,250,152,227,138,146,174,5,223,41,16,103,108,186,201,211,0,230,207,225,158,168,44,99,22,1,63,88,226,137,169,13,56,52,27,171,51,255,176,187,72,12,95,185,177,205,46,197,243,219,71,229,165,156,119,10,166,32,104,254,127,193,173],L3=[1,2,3,5],_p=function(e,t){return e<<t&65535|(e&65535)>>16-t},Bp=function(e,t){return(e&65535)>>t|e<<16-t&65535};U3.exports=Ae.rc2=Ae.rc2||{};Ae.rc2.expandKey=function(e,t){typeof e=="string"&&(e=Ae.util.createBuffer(e)),t=t||128;var r=e,n=e.length(),o=t,i=Math.ceil(o/8),s=255>>(o&7),a;for(a=n;a<128;a++)r.putByte(Na[r.at(a-1)+r.at(a-n)&255]);for(r.setAt(128-i,Na[r.at(128-i)&s]),a=127-i;a>=0;a--)r.setAt(a,Na[r.at(a+1)^r.at(a+i)]);return r};var k3=function(e,t,r){var n=!1,o=null,i=null,s=null,a,c,u,f,l=[];for(e=Ae.rc2.expandKey(e,t),u=0;u<64;u++)l.push(e.getInt16Le());r?(a=function(h){for(u=0;u<4;u++)h[u]+=l[f]+(h[(u+3)%4]&h[(u+2)%4])+(~h[(u+3)%4]&h[(u+1)%4]),h[u]=_p(h[u],L3[u]),f++},c=function(h){for(u=0;u<4;u++)h[u]+=l[h[(u+3)%4]&63]}):(a=function(h){for(u=3;u>=0;u--)h[u]=Bp(h[u],L3[u]),h[u]-=l[f]+(h[(u+3)%4]&h[(u+2)%4])+(~h[(u+3)%4]&h[(u+1)%4]),f--},c=function(h){for(u=3;u>=0;u--)h[u]-=l[h[(u+3)%4]&63]});var m=function(h){var p=[];for(u=0;u<4;u++){var g=o.getInt16Le();s!==null&&(r?g^=s.getInt16Le():s.putInt16Le(g)),p.push(g&65535)}f=r?0:63;for(var y=0;y<h.length;y++)for(var x=0;x<h[y][0];x++)h[y][1](p);for(u=0;u<4;u++)s!==null&&(r?s.putInt16Le(p[u]):p[u]^=s.getInt16Le()),i.putInt16Le(p[u])},d=null;return d={start:function(h,p){h&&typeof h=="string"&&(h=Ae.util.createBuffer(h)),n=!1,o=Ae.util.createBuffer(),i=p||new Ae.util.createBuffer,s=h,d.output=i},update:function(h){for(n||o.putBuffer(h);o.length()>=8;)m([[5,a],[1,c],[6,a],[1,c],[5,a]])},finish:function(h){var p=!0;if(r)if(h)p=h(8,o,!r);else{var g=o.length()===8?8:8-o.length();o.fillWithByte(g,g)}if(p&&(n=!0,d.update()),!r&&(p=o.length()===0,p))if(h)p=h(8,i,!r);else{var y=i.length(),x=i.at(y-1);x>y?p=!1:i.truncate(x)}return p}},d};Ae.rc2.startEncrypting=function(e,t,r){var n=Ae.rc2.createEncryptionCipher(e,128);return n.start(t,r),n};Ae.rc2.createEncryptionCipher=function(e,t){return k3(e,t,!0)};Ae.rc2.startDecrypting=function(e,t,r){var n=Ae.rc2.createDecryptionCipher(e,128);return n.start(t,r),n};Ae.rc2.createDecryptionCipher=function(e,t){return k3(e,t,!1)}});var Ys=it((mA,H3)=>{var Da=St();H3.exports=Da.jsbn=Da.jsbn||{};var Lr,Pp=0xdeadbeefcafe,F3=(Pp&16777215)==15715070;function P(e,t,r){this.data=[],e!=null&&(typeof e=="number"?this.fromNumber(e,t,r):t==null&&typeof e!="string"?this.fromString(e,256):this.fromString(e,t))}Da.jsbn.BigInteger=P;function yt(){return new P(null)}function Np(e,t,r,n,o,i){for(;--i>=0;){var s=t*this.data[e++]+r.data[n]+o;o=Math.floor(s/67108864),r.data[n++]=s&67108863}return o}function Dp(e,t,r,n,o,i){for(var s=t&32767,a=t>>15;--i>=0;){var c=this.data[e]&32767,u=this.data[e++]>>15,f=a*c+u*s;c=s*c+((f&32767)<<15)+r.data[n]+(o&1073741823),o=(c>>>30)+(f>>>15)+a*u+(o>>>30),r.data[n++]=c&1073741823}return o}function M3(e,t,r,n,o,i){for(var s=t&16383,a=t>>14;--i>=0;){var c=this.data[e]&16383,u=this.data[e++]>>14,f=a*c+u*s;c=s*c+((f&16383)<<14)+r.data[n]+o,o=(c>>28)+(f>>14)+a*u,r.data[n++]=c&268435455}return o}typeof navigator>"u"?(P.prototype.am=M3,Lr=28):F3&&navigator.appName=="Microsoft Internet Explorer"?(P.prototype.am=Dp,Lr=30):F3&&navigator.appName!="Netscape"?(P.prototype.am=Np,Lr=26):(P.prototype.am=M3,Lr=28);P.prototype.DB=Lr;P.prototype.DM=(1<<Lr)-1;P.prototype.DV=1<<Lr;var La=52;P.prototype.FV=Math.pow(2,La);P.prototype.F1=La-Lr;P.prototype.F2=2*Lr-La;var Lp="0123456789abcdefghijklmnopqrstuvwxyz",Gs=new Array,wo,qe;wo=48;for(qe=0;qe<=9;++qe)Gs[wo++]=qe;wo=97;for(qe=10;qe<36;++qe)Gs[wo++]=qe;wo=65;for(qe=10;qe<36;++qe)Gs[wo++]=qe;function V3(e){return Lp.charAt(e)}function K3(e,t){var r=Gs[e.charCodeAt(t)];return r??-1}function kp(e){for(var t=this.t-1;t>=0;--t)e.data[t]=this.data[t];e.t=this.t,e.s=this.s}function Up(e){this.t=1,this.s=e<0?-1:0,e>0?this.data[0]=e:e<-1?this.data[0]=e+this.DV:this.t=0}function cn(e){var t=yt();return t.fromInt(e),t}function Op(e,t){var r;if(t==16)r=4;else if(t==8)r=3;else if(t==256)r=8;else if(t==2)r=1;else if(t==32)r=5;else if(t==4)r=2;else{this.fromRadix(e,t);return}this.t=0,this.s=0;for(var n=e.length,o=!1,i=0;--n>=0;){var s=r==8?e[n]&255:K3(e,n);if(s<0){e.charAt(n)=="-"&&(o=!0);continue}o=!1,i==0?this.data[this.t++]=s:i+r>this.DB?(this.data[this.t-1]|=(s&(1<<this.DB-i)-1)<<i,this.data[this.t++]=s>>this.DB-i):this.data[this.t-1]|=s<<i,i+=r,i>=this.DB&&(i-=this.DB)}r==8&&e[0]&128&&(this.s=-1,i>0&&(this.data[this.t-1]|=(1<<this.DB-i)-1<<i)),this.clamp(),o&&P.ZERO.subTo(this,this)}function Fp(){for(var e=this.s&this.DM;this.t>0&&this.data[this.t-1]==e;)--this.t}function Mp(e){if(this.s<0)return"-"+this.negate().toString(e);var t;if(e==16)t=4;else if(e==8)t=3;else if(e==2)t=1;else if(e==32)t=5;else if(e==4)t=2;else return this.toRadix(e);var r=(1<<t)-1,n,o=!1,i="",s=this.t,a=this.DB-s*this.DB%t;if(s-- >0)for(a<this.DB&&(n=this.data[s]>>a)>0&&(o=!0,i=V3(n));s>=0;)a<t?(n=(this.data[s]&(1<<a)-1)<<t-a,n|=this.data[--s]>>(a+=this.DB-t)):(n=this.data[s]>>(a-=t)&r,a<=0&&(a+=this.DB,--s)),n>0&&(o=!0),o&&(i+=V3(n));return o?i:"0"}function Vp(){var e=yt();return P.ZERO.subTo(this,e),e}function Kp(){return this.s<0?this.negate():this}function qp(e){var t=this.s-e.s;if(t!=0)return t;var r=this.t;if(t=r-e.t,t!=0)return this.s<0?-t:t;for(;--r>=0;)if((t=this.data[r]-e.data[r])!=0)return t;return 0}function Qs(e){var t=1,r;return(r=e>>>16)!=0&&(e=r,t+=16),(r=e>>8)!=0&&(e=r,t+=8),(r=e>>4)!=0&&(e=r,t+=4),(r=e>>2)!=0&&(e=r,t+=2),(r=e>>1)!=0&&(e=r,t+=1),t}function zp(){return this.t<=0?0:this.DB*(this.t-1)+Qs(this.data[this.t-1]^this.s&this.DM)}function $p(e,t){var r;for(r=this.t-1;r>=0;--r)t.data[r+e]=this.data[r];for(r=e-1;r>=0;--r)t.data[r]=0;t.t=this.t+e,t.s=this.s}function Hp(e,t){for(var r=e;r<this.t;++r)t.data[r-e]=this.data[r];t.t=Math.max(this.t-e,0),t.s=this.s}function Gp(e,t){var r=e%this.DB,n=this.DB-r,o=(1<<n)-1,i=Math.floor(e/this.DB),s=this.s<<r&this.DM,a;for(a=this.t-1;a>=0;--a)t.data[a+i+1]=this.data[a]>>n|s,s=(this.data[a]&o)<<r;for(a=i-1;a>=0;--a)t.data[a]=0;t.data[i]=s,t.t=this.t+i+1,t.s=this.s,t.clamp()}function Qp(e,t){t.s=this.s;var r=Math.floor(e/this.DB);if(r>=this.t){t.t=0;return}var n=e%this.DB,o=this.DB-n,i=(1<<n)-1;t.data[0]=this.data[r]>>n;for(var s=r+1;s<this.t;++s)t.data[s-r-1]|=(this.data[s]&i)<<o,t.data[s-r]=this.data[s]>>n;n>0&&(t.data[this.t-r-1]|=(this.s&i)<<o),t.t=this.t-r,t.clamp()}function Yp(e,t){for(var r=0,n=0,o=Math.min(e.t,this.t);r<o;)n+=this.data[r]-e.data[r],t.data[r++]=n&this.DM,n>>=this.DB;if(e.t<this.t){for(n-=e.s;r<this.t;)n+=this.data[r],t.data[r++]=n&this.DM,n>>=this.DB;n+=this.s}else{for(n+=this.s;r<e.t;)n-=e.data[r],t.data[r++]=n&this.DM,n>>=this.DB;n-=e.s}t.s=n<0?-1:0,n<-1?t.data[r++]=this.DV+n:n>0&&(t.data[r++]=n),t.t=r,t.clamp()}function Wp(e,t){var r=this.abs(),n=e.abs(),o=r.t;for(t.t=o+n.t;--o>=0;)t.data[o]=0;for(o=0;o<n.t;++o)t.data[o+r.t]=r.am(0,n.data[o],t,o,0,r.t);t.s=0,t.clamp(),this.s!=e.s&&P.ZERO.subTo(t,t)}function Zp(e){for(var t=this.abs(),r=e.t=2*t.t;--r>=0;)e.data[r]=0;for(r=0;r<t.t-1;++r){var n=t.am(r,t.data[r],e,2*r,0,1);(e.data[r+t.t]+=t.am(r+1,2*t.data[r],e,2*r+1,n,t.t-r-1))>=t.DV&&(e.data[r+t.t]-=t.DV,e.data[r+t.t+1]=1)}e.t>0&&(e.data[e.t-1]+=t.am(r,t.data[r],e,2*r,0,1)),e.s=0,e.clamp()}function Xp(e,t,r){var n=e.abs();if(!(n.t<=0)){var o=this.abs();if(o.t<n.t){t?.fromInt(0),r!=null&&this.copyTo(r);return}r==null&&(r=yt());var i=yt(),s=this.s,a=e.s,c=this.DB-Qs(n.data[n.t-1]);c>0?(n.lShiftTo(c,i),o.lShiftTo(c,r)):(n.copyTo(i),o.copyTo(r));var u=i.t,f=i.data[u-1];if(f!=0){var l=f*(1<<this.F1)+(u>1?i.data[u-2]>>this.F2:0),m=this.FV/l,d=(1<<this.F1)/l,h=1<<this.F2,p=r.t,g=p-u,y=t??yt();for(i.dlShiftTo(g,y),r.compareTo(y)>=0&&(r.data[r.t++]=1,r.subTo(y,r)),P.ONE.dlShiftTo(u,y),y.subTo(i,i);i.t<u;)i.data[i.t++]=0;for(;--g>=0;){var x=r.data[--p]==f?this.DM:Math.floor(r.data[p]*m+(r.data[p-1]+h)*d);if((r.data[p]+=i.am(0,x,r,g,0,u))<x)for(i.dlShiftTo(g,y),r.subTo(y,r);r.data[p]<--x;)r.subTo(y,r)}t!=null&&(r.drShiftTo(u,t),s!=a&&P.ZERO.subTo(t,t)),r.t=u,r.clamp(),c>0&&r.rShiftTo(c,r),s<0&&P.ZERO.subTo(r,r)}}}function jp(e){var t=yt();return this.abs().divRemTo(e,null,t),this.s<0&&t.compareTo(P.ZERO)>0&&e.subTo(t,t),t}function On(e){this.m=e}function Jp(e){return e.s<0||e.compareTo(this.m)>=0?e.mod(this.m):e}function t9(e){return e}function e9(e){e.divRemTo(this.m,null,e)}function r9(e,t,r){e.multiplyTo(t,r),this.reduce(r)}function n9(e,t){e.squareTo(t),this.reduce(t)}On.prototype.convert=Jp;On.prototype.revert=t9;On.prototype.reduce=e9;On.prototype.mulTo=r9;On.prototype.sqrTo=n9;function o9(){if(this.t<1)return 0;var e=this.data[0];if(!(e&1))return 0;var t=e&3;return t=t*(2-(e&15)*t)&15,t=t*(2-(e&255)*t)&255,t=t*(2-((e&65535)*t&65535))&65535,t=t*(2-e*t%this.DV)%this.DV,t>0?this.DV-t:-t}function Fn(e){this.m=e,this.mp=e.invDigit(),this.mpl=this.mp&32767,this.mph=this.mp>>15,this.um=(1<<e.DB-15)-1,this.mt2=2*e.t}function i9(e){var t=yt();return e.abs().dlShiftTo(this.m.t,t),t.divRemTo(this.m,null,t),e.s<0&&t.compareTo(P.ZERO)>0&&this.m.subTo(t,t),t}function s9(e){var t=yt();return e.copyTo(t),this.reduce(t),t}function a9(e){for(;e.t<=this.mt2;)e.data[e.t++]=0;for(var t=0;t<this.m.t;++t){var r=e.data[t]&32767,n=r*this.mpl+((r*this.mph+(e.data[t]>>15)*this.mpl&this.um)<<15)&e.DM;for(r=t+this.m.t,e.data[r]+=this.m.am(0,n,e,t,0,this.m.t);e.data[r]>=e.DV;)e.data[r]-=e.DV,e.data[++r]++}e.clamp(),e.drShiftTo(this.m.t,e),e.compareTo(this.m)>=0&&e.subTo(this.m,e)}function c9(e,t){e.squareTo(t),this.reduce(t)}function u9(e,t,r){e.multiplyTo(t,r),this.reduce(r)}Fn.prototype.convert=i9;Fn.prototype.revert=s9;Fn.prototype.reduce=a9;Fn.prototype.mulTo=u9;Fn.prototype.sqrTo=c9;function f9(){return(this.t>0?this.data[0]&1:this.s)==0}function l9(e,t){if(e>4294967295||e<1)return P.ONE;var r=yt(),n=yt(),o=t.convert(this),i=Qs(e)-1;for(o.copyTo(r);--i>=0;)if(t.sqrTo(r,n),(e&1<<i)>0)t.mulTo(n,o,r);else{var s=r;r=n,n=s}return t.revert(r)}function h9(e,t){var r;return e<256||t.isEven()?r=new On(t):r=new Fn(t),this.exp(e,r)}P.prototype.copyTo=kp;P.prototype.fromInt=Up;P.prototype.fromString=Op;P.prototype.clamp=Fp;P.prototype.dlShiftTo=$p;P.prototype.drShiftTo=Hp;P.prototype.lShiftTo=Gp;P.prototype.rShiftTo=Qp;P.prototype.subTo=Yp;P.prototype.multiplyTo=Wp;P.prototype.squareTo=Zp;P.prototype.divRemTo=Xp;P.prototype.invDigit=o9;P.prototype.isEven=f9;P.prototype.exp=l9;P.prototype.toString=Mp;P.prototype.negate=Vp;P.prototype.abs=Kp;P.prototype.compareTo=qp;P.prototype.bitLength=zp;P.prototype.mod=jp;P.prototype.modPowInt=h9;P.ZERO=cn(0);P.ONE=cn(1);function d9(){var e=yt();return this.copyTo(e),e}function p9(){if(this.s<0){if(this.t==1)return this.data[0]-this.DV;if(this.t==0)return-1}else{if(this.t==1)return this.data[0];if(this.t==0)return 0}return(this.data[1]&(1<<32-this.DB)-1)<<this.DB|this.data[0]}function m9(){return this.t==0?this.s:this.data[0]<<24>>24}function g9(){return this.t==0?this.s:this.data[0]<<16>>16}function y9(e){return Math.floor(Math.LN2*this.DB/Math.log(e))}function x9(){return this.s<0?-1:this.t<=0||this.t==1&&this.data[0]<=0?0:1}function b9(e){if(e==null&&(e=10),this.signum()==0||e<2||e>36)return"0";var t=this.chunkSize(e),r=Math.pow(e,t),n=cn(r),o=yt(),i=yt(),s="";for(this.divRemTo(n,o,i);o.signum()>0;)s=(r+i.intValue()).toString(e).substr(1)+s,o.divRemTo(n,o,i);return i.intValue().toString(e)+s}function w9(e,t){this.fromInt(0),t==null&&(t=10);for(var r=this.chunkSize(t),n=Math.pow(t,r),o=!1,i=0,s=0,a=0;a<e.length;++a){var c=K3(e,a);if(c<0){e.charAt(a)=="-"&&this.signum()==0&&(o=!0);continue}s=t*s+c,++i>=r&&(this.dMultiply(n),this.dAddOffset(s,0),i=0,s=0)}i>0&&(this.dMultiply(Math.pow(t,i)),this.dAddOffset(s,0)),o&&P.ZERO.subTo(this,this)}function v9(e,t,r){if(typeof t=="number")if(e<2)this.fromInt(1);else for(this.fromNumber(e,r),this.testBit(e-1)||this.bitwiseTo(P.ONE.shiftLeft(e-1),ka,this),this.isEven()&&this.dAddOffset(1,0);!this.isProbablePrime(t);)this.dAddOffset(2,0),this.bitLength()>e&&this.subTo(P.ONE.shiftLeft(e-1),this);else{var n=new Array,o=e&7;n.length=(e>>3)+1,t.nextBytes(n),o>0?n[0]&=(1<<o)-1:n[0]=0,this.fromString(n,256)}}function E9(){var e=this.t,t=new Array;t[0]=this.s;var r=this.DB-e*this.DB%8,n,o=0;if(e-- >0)for(r<this.DB&&(n=this.data[e]>>r)!=(this.s&this.DM)>>r&&(t[o++]=n|this.s<<this.DB-r);e>=0;)r<8?(n=(this.data[e]&(1<<r)-1)<<8-r,n|=this.data[--e]>>(r+=this.DB-8)):(n=this.data[e]>>(r-=8)&255,r<=0&&(r+=this.DB,--e)),n&128&&(n|=-256),o==0&&(this.s&128)!=(n&128)&&++o,(o>0||n!=this.s)&&(t[o++]=n);return t}function S9(e){return this.compareTo(e)==0}function I9(e){return this.compareTo(e)<0?this:e}function A9(e){return this.compareTo(e)>0?this:e}function T9(e,t,r){var n,o,i=Math.min(e.t,this.t);for(n=0;n<i;++n)r.data[n]=t(this.data[n],e.data[n]);if(e.t<this.t){for(o=e.s&this.DM,n=i;n<this.t;++n)r.data[n]=t(this.data[n],o);r.t=this.t}else{for(o=this.s&this.DM,n=i;n<e.t;++n)r.data[n]=t(o,e.data[n]);r.t=e.t}r.s=t(this.s,e.s),r.clamp()}function C9(e,t){return e&t}function R9(e){var t=yt();return this.bitwiseTo(e,C9,t),t}function ka(e,t){return e|t}function _9(e){var t=yt();return this.bitwiseTo(e,ka,t),t}function q3(e,t){return e^t}function B9(e){var t=yt();return this.bitwiseTo(e,q3,t),t}function z3(e,t){return e&~t}function P9(e){var t=yt();return this.bitwiseTo(e,z3,t),t}function N9(){for(var e=yt(),t=0;t<this.t;++t)e.data[t]=this.DM&~this.data[t];return e.t=this.t,e.s=~this.s,e}function D9(e){var t=yt();return e<0?this.rShiftTo(-e,t):this.lShiftTo(e,t),t}function L9(e){var t=yt();return e<0?this.lShiftTo(-e,t):this.rShiftTo(e,t),t}function k9(e){if(e==0)return-1;var t=0;return e&65535||(e>>=16,t+=16),e&255||(e>>=8,t+=8),e&15||(e>>=4,t+=4),e&3||(e>>=2,t+=2),e&1||++t,t}function U9(){for(var e=0;e<this.t;++e)if(this.data[e]!=0)return e*this.DB+k9(this.data[e]);return this.s<0?this.t*this.DB:-1}function O9(e){for(var t=0;e!=0;)e&=e-1,++t;return t}function F9(){for(var e=0,t=this.s&this.DM,r=0;r<this.t;++r)e+=O9(this.data[r]^t);return e}function M9(e){var t=Math.floor(e/this.DB);return t>=this.t?this.s!=0:(this.data[t]&1<<e%this.DB)!=0}function V9(e,t){var r=P.ONE.shiftLeft(e);return this.bitwiseTo(r,t,r),r}function K9(e){return this.changeBit(e,ka)}function q9(e){return this.changeBit(e,z3)}function z9(e){return this.changeBit(e,q3)}function $9(e,t){for(var r=0,n=0,o=Math.min(e.t,this.t);r<o;)n+=this.data[r]+e.data[r],t.data[r++]=n&this.DM,n>>=this.DB;if(e.t<this.t){for(n+=e.s;r<this.t;)n+=this.data[r],t.data[r++]=n&this.DM,n>>=this.DB;n+=this.s}else{for(n+=this.s;r<e.t;)n+=e.data[r],t.data[r++]=n&this.DM,n>>=this.DB;n+=e.s}t.s=n<0?-1:0,n>0?t.data[r++]=n:n<-1&&(t.data[r++]=this.DV+n),t.t=r,t.clamp()}function H9(e){var t=yt();return this.addTo(e,t),t}function G9(e){var t=yt();return this.subTo(e,t),t}function Q9(e){var t=yt();return this.multiplyTo(e,t),t}function Y9(e){var t=yt();return this.divRemTo(e,t,null),t}function W9(e){var t=yt();return this.divRemTo(e,null,t),t}function Z9(e){var t=yt(),r=yt();return this.divRemTo(e,t,r),new Array(t,r)}function X9(e){this.data[this.t]=this.am(0,e-1,this,0,0,this.t),++this.t,this.clamp()}function j9(e,t){if(e!=0){for(;this.t<=t;)this.data[this.t++]=0;for(this.data[t]+=e;this.data[t]>=this.DV;)this.data[t]-=this.DV,++t>=this.t&&(this.data[this.t++]=0),++this.data[t]}}function Si(){}function $3(e){return e}function J9(e,t,r){e.multiplyTo(t,r)}function tm(e,t){e.squareTo(t)}Si.prototype.convert=$3;Si.prototype.revert=$3;Si.prototype.mulTo=J9;Si.prototype.sqrTo=tm;function em(e){return this.exp(e,new Si)}function rm(e,t,r){var n=Math.min(this.t+e.t,t);for(r.s=0,r.t=n;n>0;)r.data[--n]=0;var o;for(o=r.t-this.t;n<o;++n)r.data[n+this.t]=this.am(0,e.data[n],r,n,0,this.t);for(o=Math.min(e.t,t);n<o;++n)this.am(0,e.data[n],r,n,0,t-n);r.clamp()}function nm(e,t,r){--t;var n=r.t=this.t+e.t-t;for(r.s=0;--n>=0;)r.data[n]=0;for(n=Math.max(t-this.t,0);n<e.t;++n)r.data[this.t+n-t]=this.am(t-n,e.data[n],r,0,0,this.t+n-t);r.clamp(),r.drShiftTo(1,r)}function vo(e){this.r2=yt(),this.q3=yt(),P.ONE.dlShiftTo(2*e.t,this.r2),this.mu=this.r2.divide(e),this.m=e}function om(e){if(e.s<0||e.t>2*this.m.t)return e.mod(this.m);if(e.compareTo(this.m)<0)return e;var t=yt();return e.copyTo(t),this.reduce(t),t}function im(e){return e}function sm(e){for(e.drShiftTo(this.m.t-1,this.r2),e.t>this.m.t+1&&(e.t=this.m.t+1,e.clamp()),this.mu.multiplyUpperTo(this.r2,this.m.t+1,this.q3),this.m.multiplyLowerTo(this.q3,this.m.t+1,this.r2);e.compareTo(this.r2)<0;)e.dAddOffset(1,this.m.t+1);for(e.subTo(this.r2,e);e.compareTo(this.m)>=0;)e.subTo(this.m,e)}function am(e,t){e.squareTo(t),this.reduce(t)}function cm(e,t,r){e.multiplyTo(t,r),this.reduce(r)}vo.prototype.convert=om;vo.prototype.revert=im;vo.prototype.reduce=sm;vo.prototype.mulTo=cm;vo.prototype.sqrTo=am;function um(e,t){var r=e.bitLength(),n,o=cn(1),i;if(r<=0)return o;r<18?n=1:r<48?n=3:r<144?n=4:r<768?n=5:n=6,r<8?i=new On(t):t.isEven()?i=new vo(t):i=new Fn(t);var s=new Array,a=3,c=n-1,u=(1<<n)-1;if(s[1]=i.convert(this),n>1){var f=yt();for(i.sqrTo(s[1],f);a<=u;)s[a]=yt(),i.mulTo(f,s[a-2],s[a]),a+=2}var l=e.t-1,m,d=!0,h=yt(),p;for(r=Qs(e.data[l])-1;l>=0;){for(r>=c?m=e.data[l]>>r-c&u:(m=(e.data[l]&(1<<r+1)-1)<<c-r,l>0&&(m|=e.data[l-1]>>this.DB+r-c)),a=n;!(m&1);)m>>=1,--a;if((r-=a)<0&&(r+=this.DB,--l),d)s[m].copyTo(o),d=!1;else{for(;a>1;)i.sqrTo(o,h),i.sqrTo(h,o),a-=2;a>0?i.sqrTo(o,h):(p=o,o=h,h=p),i.mulTo(h,s[m],o)}for(;l>=0&&!(e.data[l]&1<<r);)i.sqrTo(o,h),p=o,o=h,h=p,--r<0&&(r=this.DB-1,--l)}return i.revert(o)}function fm(e){var t=this.s<0?this.negate():this.clone(),r=e.s<0?e.negate():e.clone();if(t.compareTo(r)<0){var n=t;t=r,r=n}var o=t.getLowestSetBit(),i=r.getLowestSetBit();if(i<0)return t;for(o<i&&(i=o),i>0&&(t.rShiftTo(i,t),r.rShiftTo(i,r));t.signum()>0;)(o=t.getLowestSetBit())>0&&t.rShiftTo(o,t),(o=r.getLowestSetBit())>0&&r.rShiftTo(o,r),t.compareTo(r)>=0?(t.subTo(r,t),t.rShiftTo(1,t)):(r.subTo(t,r),r.rShiftTo(1,r));return i>0&&r.lShiftTo(i,r),r}function lm(e){if(e<=0)return 0;var t=this.DV%e,r=this.s<0?e-1:0;if(this.t>0)if(t==0)r=this.data[0]%e;else for(var n=this.t-1;n>=0;--n)r=(t*r+this.data[n])%e;return r}function hm(e){var t=e.isEven();if(this.isEven()&&t||e.signum()==0)return P.ZERO;for(var r=e.clone(),n=this.clone(),o=cn(1),i=cn(0),s=cn(0),a=cn(1);r.signum()!=0;){for(;r.isEven();)r.rShiftTo(1,r),t?((!o.isEven()||!i.isEven())&&(o.addTo(this,o),i.subTo(e,i)),o.rShiftTo(1,o)):i.isEven()||i.subTo(e,i),i.rShiftTo(1,i);for(;n.isEven();)n.rShiftTo(1,n),t?((!s.isEven()||!a.isEven())&&(s.addTo(this,s),a.subTo(e,a)),s.rShiftTo(1,s)):a.isEven()||a.subTo(e,a),a.rShiftTo(1,a);r.compareTo(n)>=0?(r.subTo(n,r),t&&o.subTo(s,o),i.subTo(a,i)):(n.subTo(r,n),t&&s.subTo(o,s),a.subTo(i,a))}if(n.compareTo(P.ONE)!=0)return P.ZERO;if(a.compareTo(e)>=0)return a.subtract(e);if(a.signum()<0)a.addTo(e,a);else return a;return a.signum()<0?a.add(e):a}var Je=[2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97,101,103,107,109,113,127,131,137,139,149,151,157,163,167,173,179,181,191,193,197,199,211,223,227,229,233,239,241,251,257,263,269,271,277,281,283,293,307,311,313,317,331,337,347,349,353,359,367,373,379,383,389,397,401,409,419,421,431,433,439,443,449,457,461,463,467,479,487,491,499,503,509],dm=(1<<26)/Je[Je.length-1];function pm(e){var t,r=this.abs();if(r.t==1&&r.data[0]<=Je[Je.length-1]){for(t=0;t<Je.length;++t)if(r.data[0]==Je[t])return!0;return!1}if(r.isEven())return!1;for(t=1;t<Je.length;){for(var n=Je[t],o=t+1;o<Je.length&&n<dm;)n*=Je[o++];for(n=r.modInt(n);t<o;)if(n%Je[t++]==0)return!1}return r.millerRabin(e)}function mm(e){var t=this.subtract(P.ONE),r=t.getLowestSetBit();if(r<=0)return!1;for(var n=t.shiftRight(r),o=gm(),i,s=0;s<e;++s){do i=new P(this.bitLength(),o);while(i.compareTo(P.ONE)<=0||i.compareTo(t)>=0);var a=i.modPow(n,this);if(a.compareTo(P.ONE)!=0&&a.compareTo(t)!=0){for(var c=1;c++<r&&a.compareTo(t)!=0;)if(a=a.modPowInt(2,this),a.compareTo(P.ONE)==0)return!1;if(a.compareTo(t)!=0)return!1}}return!0}function gm(){return{nextBytes:function(e){for(var t=0;t<e.length;++t)e[t]=Math.floor(Math.random()*256)}}}P.prototype.chunkSize=y9;P.prototype.toRadix=b9;P.prototype.fromRadix=w9;P.prototype.fromNumber=v9;P.prototype.bitwiseTo=T9;P.prototype.changeBit=V9;P.prototype.addTo=$9;P.prototype.dMultiply=X9;P.prototype.dAddOffset=j9;P.prototype.multiplyLowerTo=rm;P.prototype.multiplyUpperTo=nm;P.prototype.modInt=lm;P.prototype.millerRabin=mm;P.prototype.clone=d9;P.prototype.intValue=p9;P.prototype.byteValue=m9;P.prototype.shortValue=g9;P.prototype.signum=x9;P.prototype.toByteArray=E9;P.prototype.equals=S9;P.prototype.min=I9;P.prototype.max=A9;P.prototype.and=R9;P.prototype.or=_9;P.prototype.xor=B9;P.prototype.andNot=P9;P.prototype.not=N9;P.prototype.shiftLeft=D9;P.prototype.shiftRight=L9;P.prototype.getLowestSetBit=U9;P.prototype.bitCount=F9;P.prototype.testBit=M9;P.prototype.setBit=K9;P.prototype.clearBit=q9;P.prototype.flipBit=z9;P.prototype.add=H9;P.prototype.subtract=G9;P.prototype.multiply=Q9;P.prototype.divide=Y9;P.prototype.remainder=W9;P.prototype.divideAndRemainder=Z9;P.prototype.modPow=um;P.prototype.modInverse=hm;P.prototype.pow=em;P.prototype.gcd=fm;P.prototype.isProbablePrime=pm});var Z3=it((gA,W3)=>{var xr=St();Un();Gt();var Q3=W3.exports=xr.sha1=xr.sha1||{};xr.md.sha1=xr.md.algorithms.sha1=Q3;Q3.create=function(){Y3||ym();var e=null,t=xr.util.createBuffer(),r=new Array(80),n={algorithm:"sha1",blockLength:64,digestLength:20,messageLength:0,fullMessageLength:null,messageLengthSize:8};return n.start=function(){n.messageLength=0,n.fullMessageLength=n.messageLength64=[];for(var o=n.messageLengthSize/4,i=0;i<o;++i)n.fullMessageLength.push(0);return t=xr.util.createBuffer(),e={h0:1732584193,h1:4023233417,h2:2562383102,h3:271733878,h4:3285377520},n},n.start(),n.update=function(o,i){i==="utf8"&&(o=xr.util.encodeUtf8(o));var s=o.length;n.messageLength+=s,s=[s/4294967296>>>0,s>>>0];for(var a=n.fullMessageLength.length-1;a>=0;--a)n.fullMessageLength[a]+=s[1],s[1]=s[0]+(n.fullMessageLength[a]/4294967296>>>0),n.fullMessageLength[a]=n.fullMessageLength[a]>>>0,s[0]=s[1]/4294967296>>>0;return t.putBytes(o),G3(e,r,t),(t.read>2048||t.length()===0)&&t.compact(),n},n.digest=function(){var o=xr.util.createBuffer();o.putBytes(t.bytes());var i=n.fullMessageLength[n.fullMessageLength.length-1]+n.messageLengthSize,s=i&n.blockLength-1;o.putBytes(Ua.substr(0,n.blockLength-s));for(var a,c,u=n.fullMessageLength[0]*8,f=0;f<n.fullMessageLength.length-1;++f)a=n.fullMessageLength[f+1]*8,c=a/4294967296>>>0,u+=c,o.putInt32(u>>>0),u=a>>>0;o.putInt32(u);var l={h0:e.h0,h1:e.h1,h2:e.h2,h3:e.h3,h4:e.h4};G3(l,r,o);var m=xr.util.createBuffer();return m.putInt32(l.h0),m.putInt32(l.h1),m.putInt32(l.h2),m.putInt32(l.h3),m.putInt32(l.h4),m},n};var Ua=null,Y3=!1;function ym(){Ua="\x80",Ua+=xr.util.fillString("\0",64),Y3=!0}function G3(e,t,r){for(var n,o,i,s,a,c,u,f,l=r.length();l>=64;){for(o=e.h0,i=e.h1,s=e.h2,a=e.h3,c=e.h4,f=0;f<16;++f)n=r.getInt32(),t[f]=n,u=a^i&(s^a),n=(o<<5|o>>>27)+u+c+1518500249+n,c=a,a=s,s=(i<<30|i>>>2)>>>0,i=o,o=n;for(;f<20;++f)n=t[f-3]^t[f-8]^t[f-14]^t[f-16],n=n<<1|n>>>31,t[f]=n,u=a^i&(s^a),n=(o<<5|o>>>27)+u+c+1518500249+n,c=a,a=s,s=(i<<30|i>>>2)>>>0,i=o,o=n;for(;f<32;++f)n=t[f-3]^t[f-8]^t[f-14]^t[f-16],n=n<<1|n>>>31,t[f]=n,u=i^s^a,n=(o<<5|o>>>27)+u+c+1859775393+n,c=a,a=s,s=(i<<30|i>>>2)>>>0,i=o,o=n;for(;f<40;++f)n=t[f-6]^t[f-16]^t[f-28]^t[f-32],n=n<<2|n>>>30,t[f]=n,u=i^s^a,n=(o<<5|o>>>27)+u+c+1859775393+n,c=a,a=s,s=(i<<30|i>>>2)>>>0,i=o,o=n;for(;f<60;++f)n=t[f-6]^t[f-16]^t[f-28]^t[f-32],n=n<<2|n>>>30,t[f]=n,u=i&s|a&(i^s),n=(o<<5|o>>>27)+u+c+2400959708+n,c=a,a=s,s=(i<<30|i>>>2)>>>0,i=o,o=n;for(;f<80;++f)n=t[f-6]^t[f-16]^t[f-28]^t[f-32],n=n<<2|n>>>30,t[f]=n,u=i^s^a,n=(o<<5|o>>>27)+u+c+3395469782+n,c=a,a=s,s=(i<<30|i>>>2)>>>0,i=o,o=n;e.h0=e.h0+o|0,e.h1=e.h1+i|0,e.h2=e.h2+s|0,e.h3=e.h3+a|0,e.h4=e.h4+c|0,l-=64}}});var J3=it((yA,j3)=>{var br=St();Gt();Ei();Z3();var X3=j3.exports=br.pkcs1=br.pkcs1||{};X3.encode_rsa_oaep=function(e,t,r){var n,o,i,s;typeof r=="string"?(n=r,o=arguments[3]||void 0,i=arguments[4]||void 0):r&&(n=r.label||void 0,o=r.seed||void 0,i=r.md||void 0,r.mgf1&&r.mgf1.md&&(s=r.mgf1.md)),i?i.start():i=br.md.sha1.create(),s||(s=i);var a=Math.ceil(e.n.bitLength()/8),c=a-2*i.digestLength-2;if(t.length>c){var u=new Error("RSAES-OAEP input message length is too long.");throw u.length=t.length,u.maxLength=c,u}n||(n=""),i.update(n,"raw");for(var f=i.digest(),l="",m=c-t.length,d=0;d<m;d++)l+="\0";var h=f.getBytes()+l+""+t;if(!o)o=br.random.getBytes(i.digestLength);else if(o.length!==i.digestLength){var u=new Error("Invalid RSAES-OAEP seed. The seed length must match the digest length.");throw u.seedLength=o.length,u.digestLength=i.digestLength,u}var p=Ws(o,a-i.digestLength-1,s),g=br.util.xorBytes(h,p,h.length),y=Ws(g,i.digestLength,s),x=br.util.xorBytes(o,y,o.length);return"\0"+x+g};X3.decode_rsa_oaep=function(e,t,r){var n,o,i;typeof r=="string"?(n=r,o=arguments[3]||void 0):r&&(n=r.label||void 0,o=r.md||void 0,r.mgf1&&r.mgf1.md&&(i=r.mgf1.md));var s=Math.ceil(e.n.bitLength()/8);if(t.length!==s){var g=new Error("RSAES-OAEP encoded message length is invalid.");throw g.length=t.length,g.expectedLength=s,g}if(o===void 0?o=br.md.sha1.create():o.start(),i||(i=o),s<2*o.digestLength+2)throw new Error("RSAES-OAEP key is too short for the hash function.");n||(n=""),o.update(n,"raw");for(var a=o.digest().getBytes(),c=t.charAt(0),u=t.substring(1,o.digestLength+1),f=t.substring(1+o.digestLength),l=Ws(f,o.digestLength,i),m=br.util.xorBytes(u,l,u.length),d=Ws(m,s-o.digestLength-1,i),h=br.util.xorBytes(f,d,f.length),p=h.substring(0,o.digestLength),g=c!=="\0",y=0;y<o.digestLength;++y)g|=a.charAt(y)!==p.charAt(y);for(var x=1,b=o.digestLength,A=o.digestLength;A<h.length;A++){var v=h.charCodeAt(A),E=v&1^1,_=x?65534:0;g|=v&_,x=x&E,b+=x}if(g||h.charCodeAt(b)!==1)throw new Error("Invalid RSAES-OAEP padding.");return h.substring(b+1)};function Ws(e,t,r){r||(r=br.md.sha1.create());for(var n="",o=Math.ceil(t/r.digestLength),i=0;i<o;++i){var s=String.fromCharCode(i>>24&255,i>>16&255,i>>8&255,i&255);r.start(),r.update(e+s),n+=r.digest().getBytes()}return n.substring(0,t)}});var t4=it((xA,Oa)=>{var un=St();Gt();Ys();Ei();(function(){if(un.prime){Oa.exports=un.prime;return}var e=Oa.exports=un.prime=un.prime||{},t=un.jsbn.BigInteger,r=[6,4,2,4,2,4,6,2],n=new t(null);n.fromInt(30);var o=function(l,m){return l|m};e.generateProbablePrime=function(l,m,d){typeof m=="function"&&(d=m,m={}),m=m||{};var h=m.algorithm||"PRIMEINC";typeof h=="string"&&(h={name:h}),h.options=h.options||{};var p=m.prng||un.random,g={nextBytes:function(y){for(var x=p.getBytesSync(y.length),b=0;b<y.length;++b)y[b]=x.charCodeAt(b)}};if(h.name==="PRIMEINC")return i(l,g,h.options,d);throw new Error("Invalid prime generation algorithm: "+h.name)};function i(l,m,d,h){return"workers"in d?c(l,m,d,h):s(l,m,d,h)}function s(l,m,d,h){var p=u(l,m),g=0,y=f(p.bitLength());"millerRabinTests"in d&&(y=d.millerRabinTests);var x=10;"maxBlockTime"in d&&(x=d.maxBlockTime),a(p,l,m,g,y,x,h)}function a(l,m,d,h,p,g,y){var x=+new Date;do{if(l.bitLength()>m&&(l=u(m,d)),l.isProbablePrime(p))return y(null,l);l.dAddOffset(r[h++%8],0)}while(g<0||+new Date-x<g);un.util.setImmediate(function(){a(l,m,d,h,p,g,y)})}function c(l,m,d,h){if(typeof Worker>"u")return s(l,m,d,h);var p=u(l,m),g=d.workers,y=d.workLoad||100,x=y*30/8,b=d.workerScript||"forge/prime.worker.js";if(g===-1)return un.util.estimateCores(function(v,E){v&&(E=2),g=E-1,A()});A();function A(){g=Math.max(1,g);for(var v=[],E=0;E<g;++E)v[E]=new Worker(b);for(var _=g,E=0;E<g;++E)v[E].addEventListener("message",k);var I=!1;function k(K){if(!I){--_;var F=K.data;if(F.found){for(var z=0;z<v.length;++z)v[z].terminate();return I=!0,h(null,new t(F.prime,16))}p.bitLength()>l&&(p=u(l,m));var X=p.toString(16);K.target.postMessage({hex:X,workLoad:y}),p.dAddOffset(x,0)}}}}function u(l,m){var d=new t(l,m),h=l-1;return d.testBit(h)||d.bitwiseTo(t.ONE.shiftLeft(h),o,d),d.dAddOffset(31-d.mod(n).byteValue(),0),d}function f(l){return l<=100?27:l<=150?18:l<=200?15:l<=250?12:l<=300?9:l<=350?8:l<=400?7:l<=500?6:l<=600?5:l<=800?4:l<=1250?3:2}})()});var Xs=it((bA,a4)=>{var Z=St();vi();Ys();Ls();J3();t4();Ei();Gt();typeof gt>"u"&&(gt=Z.jsbn.BigInteger);var gt,Fa=Z.util.isNodejs?qs():null,S=Z.asn1,ze=Z.util;Z.pki=Z.pki||{};a4.exports=Z.pki.rsa=Z.rsa=Z.rsa||{};var nt=Z.pki,xm=[6,4,2,4,2,4,6,2],bm={name:"PrivateKeyInfo",tagClass:S.Class.UNIVERSAL,type:S.Type.SEQUENCE,constructed:!0,value:[{name:"PrivateKeyInfo.version",tagClass:S.Class.UNIVERSAL,type:S.Type.INTEGER,constructed:!1,capture:"privateKeyVersion"},{name:"PrivateKeyInfo.privateKeyAlgorithm",tagClass:S.Class.UNIVERSAL,type:S.Type.SEQUENCE,constructed:!0,value:[{name:"AlgorithmIdentifier.algorithm",tagClass:S.Class.UNIVERSAL,type:S.Type.OID,constructed:!1,capture:"privateKeyOid"}]},{name:"PrivateKeyInfo",tagClass:S.Class.UNIVERSAL,type:S.Type.OCTETSTRING,constructed:!1,capture:"privateKey"}]},wm={name:"RSAPrivateKey",tagClass:S.Class.UNIVERSAL,type:S.Type.SEQUENCE,constructed:!0,value:[{name:"RSAPrivateKey.version",tagClass:S.Class.UNIVERSAL,type:S.Type.INTEGER,constructed:!1,capture:"privateKeyVersion"},{name:"RSAPrivateKey.modulus",tagClass:S.Class.UNIVERSAL,type:S.Type.INTEGER,constructed:!1,capture:"privateKeyModulus"},{name:"RSAPrivateKey.publicExponent",tagClass:S.Class.UNIVERSAL,type:S.Type.INTEGER,constructed:!1,capture:"privateKeyPublicExponent"},{name:"RSAPrivateKey.privateExponent",tagClass:S.Class.UNIVERSAL,type:S.Type.INTEGER,constructed:!1,capture:"privateKeyPrivateExponent"},{name:"RSAPrivateKey.prime1",tagClass:S.Class.UNIVERSAL,type:S.Type.INTEGER,constructed:!1,capture:"privateKeyPrime1"},{name:"RSAPrivateKey.prime2",tagClass:S.Class.UNIVERSAL,type:S.Type.INTEGER,constructed:!1,capture:"privateKeyPrime2"},{name:"RSAPrivateKey.exponent1",tagClass:S.Class.UNIVERSAL,type:S.Type.INTEGER,constructed:!1,capture:"privateKeyExponent1"},{name:"RSAPrivateKey.exponent2",tagClass:S.Class.UNIVERSAL,type:S.Type.INTEGER,constructed:!1,capture:"privateKeyExponent2"},{name:"RSAPrivateKey.coefficient",tagClass:S.Class.UNIVERSAL,type:S.Type.INTEGER,constructed:!1,capture:"privateKeyCoefficient"}]},vm={name:"RSAPublicKey",tagClass:S.Class.UNIVERSAL,type:S.Type.SEQUENCE,constructed:!0,value:[{name:"RSAPublicKey.modulus",tagClass:S.Class.UNIVERSAL,type:S.Type.INTEGER,constructed:!1,capture:"publicKeyModulus"},{name:"RSAPublicKey.exponent",tagClass:S.Class.UNIVERSAL,type:S.Type.INTEGER,constructed:!1,capture:"publicKeyExponent"}]},Em=Z.pki.rsa.publicKeyValidator={name:"SubjectPublicKeyInfo",tagClass:S.Class.UNIVERSAL,type:S.Type.SEQUENCE,constructed:!0,captureAsn1:"subjectPublicKeyInfo",value:[{name:"SubjectPublicKeyInfo.AlgorithmIdentifier",tagClass:S.Class.UNIVERSAL,type:S.Type.SEQUENCE,constructed:!0,value:[{name:"AlgorithmIdentifier.algorithm",tagClass:S.Class.UNIVERSAL,type:S.Type.OID,constructed:!1,capture:"publicKeyOid"}]},{name:"SubjectPublicKeyInfo.subjectPublicKey",tagClass:S.Class.UNIVERSAL,type:S.Type.BITSTRING,constructed:!1,value:[{name:"SubjectPublicKeyInfo.subjectPublicKey.RSAPublicKey",tagClass:S.Class.UNIVERSAL,type:S.Type.SEQUENCE,constructed:!0,optional:!0,captureAsn1:"rsaPublicKey"}]}]},Sm={name:"DigestInfo",tagClass:S.Class.UNIVERSAL,type:S.Type.SEQUENCE,constructed:!0,value:[{name:"DigestInfo.DigestAlgorithm",tagClass:S.Class.UNIVERSAL,type:S.Type.SEQUENCE,constructed:!0,value:[{name:"DigestInfo.DigestAlgorithm.algorithmIdentifier",tagClass:S.Class.UNIVERSAL,type:S.Type.OID,constructed:!1,capture:"algorithmIdentifier"},{name:"DigestInfo.DigestAlgorithm.parameters",tagClass:S.Class.UNIVERSAL,type:S.Type.NULL,capture:"parameters",optional:!0,constructed:!1}]},{name:"DigestInfo.digest",tagClass:S.Class.UNIVERSAL,type:S.Type.OCTETSTRING,constructed:!1,capture:"digest"}]},Im=function(e){var t;if(e.algorithm in nt.oids)t=nt.oids[e.algorithm];else{var r=new Error("Unknown message digest algorithm.");throw r.algorithm=e.algorithm,r}var n=S.oidToDer(t).getBytes(),o=S.create(S.Class.UNIVERSAL,S.Type.SEQUENCE,!0,[]),i=S.create(S.Class.UNIVERSAL,S.Type.SEQUENCE,!0,[]);i.value.push(S.create(S.Class.UNIVERSAL,S.Type.OID,!1,n)),i.value.push(S.create(S.Class.UNIVERSAL,S.Type.NULL,!1,""));var s=S.create(S.Class.UNIVERSAL,S.Type.OCTETSTRING,!1,e.digest().getBytes());return o.value.push(i),o.value.push(s),S.toDer(o).getBytes()},i4=function(e,t,r){if(r)return e.modPow(t.e,t.n);if(!t.p||!t.q)return e.modPow(t.d,t.n);t.dP||(t.dP=t.d.mod(t.p.subtract(gt.ONE))),t.dQ||(t.dQ=t.d.mod(t.q.subtract(gt.ONE))),t.qInv||(t.qInv=t.q.modInverse(t.p));var n;do n=new gt(Z.util.bytesToHex(Z.random.getBytes(t.n.bitLength()/8)),16);while(n.compareTo(t.n)>=0||!n.gcd(t.n).equals(gt.ONE));e=e.multiply(n.modPow(t.e,t.n)).mod(t.n);for(var o=e.mod(t.p).modPow(t.dP,t.p),i=e.mod(t.q).modPow(t.dQ,t.q);o.compareTo(i)<0;)o=o.add(t.p);var s=o.subtract(i).multiply(t.qInv).mod(t.p).multiply(t.q).add(i);return s=s.multiply(n.modInverse(t.n)).mod(t.n),s};nt.rsa.encrypt=function(e,t,r){var n=r,o,i=Math.ceil(t.n.bitLength()/8);r!==!1&&r!==!0?(n=r===2,o=s4(e,t,r)):(o=Z.util.createBuffer(),o.putBytes(e));for(var s=new gt(o.toHex(),16),a=i4(s,t,n),c=a.toString(16),u=Z.util.createBuffer(),f=i-Math.ceil(c.length/2);f>0;)u.putByte(0),--f;return u.putBytes(Z.util.hexToBytes(c)),u.getBytes()};nt.rsa.decrypt=function(e,t,r,n){var o=Math.ceil(t.n.bitLength()/8);if(e.length!==o){var i=new Error("Encrypted message length is invalid.");throw i.length=e.length,i.expected=o,i}var s=new gt(Z.util.createBuffer(e).toHex(),16);if(s.compareTo(t.n)>=0)throw new Error("Encrypted message is invalid.");for(var a=i4(s,t,r),c=a.toString(16),u=Z.util.createBuffer(),f=o-Math.ceil(c.length/2);f>0;)u.putByte(0),--f;return u.putBytes(Z.util.hexToBytes(c)),n!==!1?Zs(u.getBytes(),t,r):u.getBytes()};nt.rsa.createKeyPairGenerationState=function(e,t,r){typeof e=="string"&&(e=parseInt(e,10)),e=e||2048,r=r||{};var n=r.prng||Z.random,o={nextBytes:function(a){for(var c=n.getBytesSync(a.length),u=0;u<a.length;++u)a[u]=c.charCodeAt(u)}},i=r.algorithm||"PRIMEINC",s;if(i==="PRIMEINC")s={algorithm:i,state:0,bits:e,rng:o,eInt:t||65537,e:new gt(null),p:null,q:null,qBits:e>>1,pBits:e-(e>>1),pqState:0,num:null,keys:null},s.e.fromInt(s.eInt);else throw new Error("Invalid key generation algorithm: "+i);return s};nt.rsa.stepKeyPairGenerationState=function(e,t){"algorithm"in e||(e.algorithm="PRIMEINC");var r=new gt(null);r.fromInt(30);for(var n=0,o=function(l,m){return l|m},i=+new Date,s,a=0;e.keys===null&&(t<=0||a<t);){if(e.state===0){var c=e.p===null?e.pBits:e.qBits,u=c-1;e.pqState===0?(e.num=new gt(c,e.rng),e.num.testBit(u)||e.num.bitwiseTo(gt.ONE.shiftLeft(u),o,e.num),e.num.dAddOffset(31-e.num.mod(r).byteValue(),0),n=0,++e.pqState):e.pqState===1?e.num.bitLength()>c?e.pqState=0:e.num.isProbablePrime(Tm(e.num.bitLength()))?++e.pqState:e.num.dAddOffset(xm[n++%8],0):e.pqState===2?e.pqState=e.num.subtract(gt.ONE).gcd(e.e).compareTo(gt.ONE)===0?3:0:e.pqState===3&&(e.pqState=0,e.p===null?e.p=e.num:e.q=e.num,e.p!==null&&e.q!==null&&++e.state,e.num=null)}else if(e.state===1)e.p.compareTo(e.q)<0&&(e.num=e.p,e.p=e.q,e.q=e.num),++e.state;else if(e.state===2)e.p1=e.p.subtract(gt.ONE),e.q1=e.q.subtract(gt.ONE),e.phi=e.p1.multiply(e.q1),++e.state;else if(e.state===3)e.phi.gcd(e.e).compareTo(gt.ONE)===0?++e.state:(e.p=null,e.q=null,e.state=0);else if(e.state===4)e.n=e.p.multiply(e.q),e.n.bitLength()===e.bits?++e.state:(e.q=null,e.state=0);else if(e.state===5){var f=e.e.modInverse(e.phi);e.keys={privateKey:nt.rsa.setPrivateKey(e.n,e.e,f,e.p,e.q,f.mod(e.p1),f.mod(e.q1),e.q.modInverse(e.p)),publicKey:nt.rsa.setPublicKey(e.n,e.e)}}s=+new Date,a+=s-i,i=s}return e.keys!==null};nt.rsa.generateKeyPair=function(e,t,r,n){if(arguments.length===1?typeof e=="object"?(r=e,e=void 0):typeof e=="function"&&(n=e,e=void 0):arguments.length===2?typeof e=="number"?typeof t=="function"?(n=t,t=void 0):typeof t!="number"&&(r=t,t=void 0):(r=e,n=t,e=void 0,t=void 0):arguments.length===3&&(typeof t=="number"?typeof r=="function"&&(n=r,r=void 0):(n=r,r=t,t=void 0)),r=r||{},e===void 0&&(e=r.bits||2048),t===void 0&&(t=r.e||65537),!Z.options.usePureJavaScript&&!r.prng&&e>=256&&e<=16384&&(t===65537||t===3)){if(n){if(e4("generateKeyPair"))return Fa.generateKeyPair("rsa",{modulusLength:e,publicExponent:t,publicKeyEncoding:{type:"spki",format:"pem"},privateKeyEncoding:{type:"pkcs8",format:"pem"}},function(a,c,u){if(a)return n(a);n(null,{privateKey:nt.privateKeyFromPem(u),publicKey:nt.publicKeyFromPem(c)})});if(r4("generateKey")&&r4("exportKey"))return ze.globalScope.crypto.subtle.generateKey({name:"RSASSA-PKCS1-v1_5",modulusLength:e,publicExponent:o4(t),hash:{name:"SHA-256"}},!0,["sign","verify"]).then(function(a){return ze.globalScope.crypto.subtle.exportKey("pkcs8",a.privateKey)}).then(void 0,function(a){n(a)}).then(function(a){if(a){var c=nt.privateKeyFromAsn1(S.fromDer(Z.util.createBuffer(a)));n(null,{privateKey:c,publicKey:nt.setRsaPublicKey(c.n,c.e)})}});if(n4("generateKey")&&n4("exportKey")){var o=ze.globalScope.msCrypto.subtle.generateKey({name:"RSASSA-PKCS1-v1_5",modulusLength:e,publicExponent:o4(t),hash:{name:"SHA-256"}},!0,["sign","verify"]);o.oncomplete=function(a){var c=a.target.result,u=ze.globalScope.msCrypto.subtle.exportKey("pkcs8",c.privateKey);u.oncomplete=function(f){var l=f.target.result,m=nt.privateKeyFromAsn1(S.fromDer(Z.util.createBuffer(l)));n(null,{privateKey:m,publicKey:nt.setRsaPublicKey(m.n,m.e)})},u.onerror=function(f){n(f)}},o.onerror=function(a){n(a)};return}}else if(e4("generateKeyPairSync")){var i=Fa.generateKeyPairSync("rsa",{modulusLength:e,publicExponent:t,publicKeyEncoding:{type:"spki",format:"pem"},privateKeyEncoding:{type:"pkcs8",format:"pem"}});return{privateKey:nt.privateKeyFromPem(i.privateKey),publicKey:nt.publicKeyFromPem(i.publicKey)}}}var s=nt.rsa.createKeyPairGenerationState(e,t,r);if(!n)return nt.rsa.stepKeyPairGenerationState(s,0),s.keys;Am(s,r,n)};nt.setRsaPublicKey=nt.rsa.setPublicKey=function(e,t){var r={n:e,e:t};return r.encrypt=function(n,o,i){if(typeof o=="string"?o=o.toUpperCase():o===void 0&&(o="RSAES-PKCS1-V1_5"),o==="RSAES-PKCS1-V1_5")o={encode:function(a,c,u){return s4(a,c,2).getBytes()}};else if(o==="RSA-OAEP"||o==="RSAES-OAEP")o={encode:function(a,c){return Z.pkcs1.encode_rsa_oaep(c,a,i)}};else if(["RAW","NONE","NULL",null].indexOf(o)!==-1)o={encode:function(a){return a}};else if(typeof o=="string")throw new Error('Unsupported encryption scheme: "'+o+'".');var s=o.encode(n,r,!0);return nt.rsa.encrypt(s,r,!0)},r.verify=function(n,o,i,s){typeof i=="string"?i=i.toUpperCase():i===void 0&&(i="RSASSA-PKCS1-V1_5"),s===void 0&&(s={_parseAllDigestBytes:!0}),"_parseAllDigestBytes"in s||(s._parseAllDigestBytes=!0),i==="RSASSA-PKCS1-V1_5"?i={verify:function(c,u){u=Zs(u,r,!0);var f=S.fromDer(u,{parseAllBytes:s._parseAllDigestBytes}),l={},m=[];if(!S.validate(f,Sm,l,m)){var d=new Error("ASN.1 object does not contain a valid RSASSA-PKCS1-v1_5 DigestInfo value.");throw d.errors=m,d}var h=S.derToOid(l.algorithmIdentifier);if(!(h===Z.oids.md2||h===Z.oids.md5||h===Z.oids.sha1||h===Z.oids.sha224||h===Z.oids.sha256||h===Z.oids.sha384||h===Z.oids.sha512||h===Z.oids["sha512-224"]||h===Z.oids["sha512-256"])){var d=new Error("Unknown RSASSA-PKCS1-v1_5 DigestAlgorithm identifier.");throw d.oid=h,d}if((h===Z.oids.md2||h===Z.oids.md5)&&!("parameters"in l))throw new Error("ASN.1 object does not contain a valid RSASSA-PKCS1-v1_5 DigestInfo value. Missing algorithm identifer NULL parameters.");return c===l.digest}}:(i==="NONE"||i==="NULL"||i===null)&&(i={verify:function(c,u){return u=Zs(u,r,!0),c===u}});var a=nt.rsa.decrypt(o,r,!0,!1);return i.verify(n,a,r.n.bitLength())},r};nt.setRsaPrivateKey=nt.rsa.setPrivateKey=function(e,t,r,n,o,i,s,a){var c={n:e,e:t,d:r,p:n,q:o,dP:i,dQ:s,qInv:a};return c.decrypt=function(u,f,l){typeof f=="string"?f=f.toUpperCase():f===void 0&&(f="RSAES-PKCS1-V1_5");var m=nt.rsa.decrypt(u,c,!1,!1);if(f==="RSAES-PKCS1-V1_5")f={decode:Zs};else if(f==="RSA-OAEP"||f==="RSAES-OAEP")f={decode:function(d,h){return Z.pkcs1.decode_rsa_oaep(h,d,l)}};else if(["RAW","NONE","NULL",null].indexOf(f)!==-1)f={decode:function(d){return d}};else throw new Error('Unsupported encryption scheme: "'+f+'".');return f.decode(m,c,!1)},c.sign=function(u,f){var l=!1;typeof f=="string"&&(f=f.toUpperCase()),f===void 0||f==="RSASSA-PKCS1-V1_5"?(f={encode:Im},l=1):(f==="NONE"||f==="NULL"||f===null)&&(f={encode:function(){return u}},l=1);var m=f.encode(u,c.n.bitLength());return nt.rsa.encrypt(m,c,l)},c};nt.wrapRsaPrivateKey=function(e){return S.create(S.Class.UNIVERSAL,S.Type.SEQUENCE,!0,[S.create(S.Class.UNIVERSAL,S.Type.INTEGER,!1,S.integerToDer(0).getBytes()),S.create(S.Class.UNIVERSAL,S.Type.SEQUENCE,!0,[S.create(S.Class.UNIVERSAL,S.Type.OID,!1,S.oidToDer(nt.oids.rsaEncryption).getBytes()),S.create(S.Class.UNIVERSAL,S.Type.NULL,!1,"")]),S.create(S.Class.UNIVERSAL,S.Type.OCTETSTRING,!1,S.toDer(e).getBytes())])};nt.privateKeyFromAsn1=function(e){var t={},r=[];if(S.validate(e,bm,t,r)&&(e=S.fromDer(Z.util.createBuffer(t.privateKey))),t={},r=[],!S.validate(e,wm,t,r)){var n=new Error("Cannot read private key. ASN.1 object does not contain an RSAPrivateKey.");throw n.errors=r,n}var o,i,s,a,c,u,f,l;return o=Z.util.createBuffer(t.privateKeyModulus).toHex(),i=Z.util.createBuffer(t.privateKeyPublicExponent).toHex(),s=Z.util.createBuffer(t.privateKeyPrivateExponent).toHex(),a=Z.util.createBuffer(t.privateKeyPrime1).toHex(),c=Z.util.createBuffer(t.privateKeyPrime2).toHex(),u=Z.util.createBuffer(t.privateKeyExponent1).toHex(),f=Z.util.createBuffer(t.privateKeyExponent2).toHex(),l=Z.util.createBuffer(t.privateKeyCoefficient).toHex(),nt.setRsaPrivateKey(new gt(o,16),new gt(i,16),new gt(s,16),new gt(a,16),new gt(c,16),new gt(u,16),new gt(f,16),new gt(l,16))};nt.privateKeyToAsn1=nt.privateKeyToRSAPrivateKey=function(e){return S.create(S.Class.UNIVERSAL,S.Type.SEQUENCE,!0,[S.create(S.Class.UNIVERSAL,S.Type.INTEGER,!1,S.integerToDer(0).getBytes()),S.create(S.Class.UNIVERSAL,S.Type.INTEGER,!1,wr(e.n)),S.create(S.Class.UNIVERSAL,S.Type.INTEGER,!1,wr(e.e)),S.create(S.Class.UNIVERSAL,S.Type.INTEGER,!1,wr(e.d)),S.create(S.Class.UNIVERSAL,S.Type.INTEGER,!1,wr(e.p)),S.create(S.Class.UNIVERSAL,S.Type.INTEGER,!1,wr(e.q)),S.create(S.Class.UNIVERSAL,S.Type.INTEGER,!1,wr(e.dP)),S.create(S.Class.UNIVERSAL,S.Type.INTEGER,!1,wr(e.dQ)),S.create(S.Class.UNIVERSAL,S.Type.INTEGER,!1,wr(e.qInv))])};nt.publicKeyFromAsn1=function(e){var t={},r=[];if(S.validate(e,Em,t,r)){var n=S.derToOid(t.publicKeyOid);if(n!==nt.oids.rsaEncryption){var o=new Error("Cannot read public key. Unknown OID.");throw o.oid=n,o}e=t.rsaPublicKey}if(r=[],!S.validate(e,vm,t,r)){var o=new Error("Cannot read public key. ASN.1 object does not contain an RSAPublicKey.");throw o.errors=r,o}var i=Z.util.createBuffer(t.publicKeyModulus).toHex(),s=Z.util.createBuffer(t.publicKeyExponent).toHex();return nt.setRsaPublicKey(new gt(i,16),new gt(s,16))};nt.publicKeyToAsn1=nt.publicKeyToSubjectPublicKeyInfo=function(e){return S.create(S.Class.UNIVERSAL,S.Type.SEQUENCE,!0,[S.create(S.Class.UNIVERSAL,S.Type.SEQUENCE,!0,[S.create(S.Class.UNIVERSAL,S.Type.OID,!1,S.oidToDer(nt.oids.rsaEncryption).getBytes()),S.create(S.Class.UNIVERSAL,S.Type.NULL,!1,"")]),S.create(S.Class.UNIVERSAL,S.Type.BITSTRING,!1,[nt.publicKeyToRSAPublicKey(e)])])};nt.publicKeyToRSAPublicKey=function(e){return S.create(S.Class.UNIVERSAL,S.Type.SEQUENCE,!0,[S.create(S.Class.UNIVERSAL,S.Type.INTEGER,!1,wr(e.n)),S.create(S.Class.UNIVERSAL,S.Type.INTEGER,!1,wr(e.e))])};function s4(e,t,r){var n=Z.util.createBuffer(),o=Math.ceil(t.n.bitLength()/8);if(e.length>o-11){var i=new Error("Message is too long for PKCS#1 v1.5 padding.");throw i.length=e.length,i.max=o-11,i}n.putByte(0),n.putByte(r);var s=o-3-e.length,a;if(r===0||r===1){a=r===0?0:255;for(var c=0;c<s;++c)n.putByte(a)}else for(;s>0;){for(var u=0,f=Z.random.getBytes(s),c=0;c<s;++c)a=f.charCodeAt(c),a===0?++u:n.putByte(a);s=u}return n.putByte(0),n.putBytes(e),n}function Zs(e,t,r,n){var o=Math.ceil(t.n.bitLength()/8),i=Z.util.createBuffer(e),s=i.getByte(),a=i.getByte();if(s!==0||r&&a!==0&&a!==1||!r&&a!=2||r&&a===0&&typeof n>"u")throw new Error("Encryption block is invalid.");var c=0;if(a===0){c=o-3-n;for(var u=0;u<c;++u)if(i.getByte()!==0)throw new Error("Encryption block is invalid.")}else if(a===1)for(c=0;i.length()>1;){if(i.getByte()!==255){--i.read;break}++c}else if(a===2)for(c=0;i.length()>1;){if(i.getByte()===0){--i.read;break}++c}var f=i.getByte();if(f!==0||c!==o-3-i.length())throw new Error("Encryption block is invalid.");return i.getBytes()}function Am(e,t,r){typeof t=="function"&&(r=t,t={}),t=t||{};var n={algorithm:{name:t.algorithm||"PRIMEINC",options:{workers:t.workers||2,workLoad:t.workLoad||100,workerScript:t.workerScript}}};"prng"in t&&(n.prng=t.prng),o();function o(){i(e.pBits,function(a,c){if(a)return r(a);if(e.p=c,e.q!==null)return s(a,e.q);i(e.qBits,s)})}function i(a,c){Z.prime.generateProbablePrime(a,n,c)}function s(a,c){if(a)return r(a);if(e.q=c,e.p.compareTo(e.q)<0){var u=e.p;e.p=e.q,e.q=u}if(e.p.subtract(gt.ONE).gcd(e.e).compareTo(gt.ONE)!==0){e.p=null,o();return}if(e.q.subtract(gt.ONE).gcd(e.e).compareTo(gt.ONE)!==0){e.q=null,i(e.qBits,s);return}if(e.p1=e.p.subtract(gt.ONE),e.q1=e.q.subtract(gt.ONE),e.phi=e.p1.multiply(e.q1),e.phi.gcd(e.e).compareTo(gt.ONE)!==0){e.p=e.q=null,o();return}if(e.n=e.p.multiply(e.q),e.n.bitLength()!==e.bits){e.q=null,i(e.qBits,s);return}var f=e.e.modInverse(e.phi);e.keys={privateKey:nt.rsa.setPrivateKey(e.n,e.e,f,e.p,e.q,f.mod(e.p1),f.mod(e.q1),e.q.modInverse(e.p)),publicKey:nt.rsa.setPublicKey(e.n,e.e)},r(null,e.keys)}}function wr(e){var t=e.toString(16);t[0]>="8"&&(t="00"+t);var r=Z.util.hexToBytes(t);return r.length>1&&(r.charCodeAt(0)===0&&!(r.charCodeAt(1)&128)||r.charCodeAt(0)===255&&(r.charCodeAt(1)&128)===128)?r.substr(1):r}function Tm(e){return e<=100?27:e<=150?18:e<=200?15:e<=250?12:e<=300?9:e<=350?8:e<=400?7:e<=500?6:e<=600?5:e<=800?4:e<=1250?3:2}function e4(e){return Z.util.isNodejs&&typeof Fa[e]=="function"}function r4(e){return typeof ze.globalScope<"u"&&typeof ze.globalScope.crypto=="object"&&typeof ze.globalScope.crypto.subtle=="object"&&typeof ze.globalScope.crypto.subtle[e]=="function"}function n4(e){return typeof ze.globalScope<"u"&&typeof ze.globalScope.msCrypto=="object"&&typeof ze.globalScope.msCrypto.subtle=="object"&&typeof ze.globalScope.msCrypto.subtle[e]=="function"}function o4(e){for(var t=Z.util.hexToBytes(e.toString(16)),r=new Uint8Array(t.length),n=0;n<t.length;++n)r[n]=t.charCodeAt(n);return r}});var d4=it((wA,h4)=>{var $=St();Ms();vi();x3();Un();Ls();_a();A3();Ei();O3();Xs();Gt();typeof c4>"u"&&(c4=$.jsbn.BigInteger);var c4,C=$.asn1,st=$.pki=$.pki||{};h4.exports=st.pbe=$.pbe=$.pbe||{};var Mn=st.oids,Cm={name:"EncryptedPrivateKeyInfo",tagClass:C.Class.UNIVERSAL,type:C.Type.SEQUENCE,constructed:!0,value:[{name:"EncryptedPrivateKeyInfo.encryptionAlgorithm",tagClass:C.Class.UNIVERSAL,type:C.Type.SEQUENCE,constructed:!0,value:[{name:"AlgorithmIdentifier.algorithm",tagClass:C.Class.UNIVERSAL,type:C.Type.OID,constructed:!1,capture:"encryptionOid"},{name:"AlgorithmIdentifier.parameters",tagClass:C.Class.UNIVERSAL,type:C.Type.SEQUENCE,constructed:!0,captureAsn1:"encryptionParams"}]},{name:"EncryptedPrivateKeyInfo.encryptedData",tagClass:C.Class.UNIVERSAL,type:C.Type.OCTETSTRING,constructed:!1,capture:"encryptedData"}]},Rm={name:"PBES2Algorithms",tagClass:C.Class.UNIVERSAL,type:C.Type.SEQUENCE,constructed:!0,value:[{name:"PBES2Algorithms.keyDerivationFunc",tagClass:C.Class.UNIVERSAL,type:C.Type.SEQUENCE,constructed:!0,value:[{name:"PBES2Algorithms.keyDerivationFunc.oid",tagClass:C.Class.UNIVERSAL,type:C.Type.OID,constructed:!1,capture:"kdfOid"},{name:"PBES2Algorithms.params",tagClass:C.Class.UNIVERSAL,type:C.Type.SEQUENCE,constructed:!0,value:[{name:"PBES2Algorithms.params.salt",tagClass:C.Class.UNIVERSAL,type:C.Type.OCTETSTRING,constructed:!1,capture:"kdfSalt"},{name:"PBES2Algorithms.params.iterationCount",tagClass:C.Class.UNIVERSAL,type:C.Type.INTEGER,constructed:!1,capture:"kdfIterationCount"},{name:"PBES2Algorithms.params.keyLength",tagClass:C.Class.UNIVERSAL,type:C.Type.INTEGER,constructed:!1,optional:!0,capture:"keyLength"},{name:"PBES2Algorithms.params.prf",tagClass:C.Class.UNIVERSAL,type:C.Type.SEQUENCE,constructed:!0,optional:!0,value:[{name:"PBES2Algorithms.params.prf.algorithm",tagClass:C.Class.UNIVERSAL,type:C.Type.OID,constructed:!1,capture:"prfOid"}]}]}]},{name:"PBES2Algorithms.encryptionScheme",tagClass:C.Class.UNIVERSAL,type:C.Type.SEQUENCE,constructed:!0,value:[{name:"PBES2Algorithms.encryptionScheme.oid",tagClass:C.Class.UNIVERSAL,type:C.Type.OID,constructed:!1,capture:"encOid"},{name:"PBES2Algorithms.encryptionScheme.iv",tagClass:C.Class.UNIVERSAL,type:C.Type.OCTETSTRING,constructed:!1,capture:"encIv"}]}]},_m={name:"pkcs-12PbeParams",tagClass:C.Class.UNIVERSAL,type:C.Type.SEQUENCE,constructed:!0,value:[{name:"pkcs-12PbeParams.salt",tagClass:C.Class.UNIVERSAL,type:C.Type.OCTETSTRING,constructed:!1,capture:"salt"},{name:"pkcs-12PbeParams.iterations",tagClass:C.Class.UNIVERSAL,type:C.Type.INTEGER,constructed:!1,capture:"iterations"}]};st.encryptPrivateKeyInfo=function(e,t,r){r=r||{},r.saltSize=r.saltSize||8,r.count=r.count||2048,r.algorithm=r.algorithm||"aes128",r.prfAlgorithm=r.prfAlgorithm||"sha1";var n=$.random.getBytesSync(r.saltSize),o=r.count,i=C.integerToDer(o),s,a,c;if(r.algorithm.indexOf("aes")===0||r.algorithm==="des"){var u,f,l;switch(r.algorithm){case"aes128":s=16,u=16,f=Mn["aes128-CBC"],l=$.aes.createEncryptionCipher;break;case"aes192":s=24,u=16,f=Mn["aes192-CBC"],l=$.aes.createEncryptionCipher;break;case"aes256":s=32,u=16,f=Mn["aes256-CBC"],l=$.aes.createEncryptionCipher;break;case"des":s=8,u=8,f=Mn.desCBC,l=$.des.createEncryptionCipher;break;default:var m=new Error("Cannot encrypt private key. Unknown encryption algorithm.");throw m.algorithm=r.algorithm,m}var d="hmacWith"+r.prfAlgorithm.toUpperCase(),h=l4(d),p=$.pkcs5.pbkdf2(t,n,o,s,h),g=$.random.getBytesSync(u),y=l(p);y.start(g),y.update(C.toDer(e)),y.finish(),c=y.output.getBytes();var x=Bm(n,i,s,d);a=C.create(C.Class.UNIVERSAL,C.Type.SEQUENCE,!0,[C.create(C.Class.UNIVERSAL,C.Type.OID,!1,C.oidToDer(Mn.pkcs5PBES2).getBytes()),C.create(C.Class.UNIVERSAL,C.Type.SEQUENCE,!0,[C.create(C.Class.UNIVERSAL,C.Type.SEQUENCE,!0,[C.create(C.Class.UNIVERSAL,C.Type.OID,!1,C.oidToDer(Mn.pkcs5PBKDF2).getBytes()),x]),C.create(C.Class.UNIVERSAL,C.Type.SEQUENCE,!0,[C.create(C.Class.UNIVERSAL,C.Type.OID,!1,C.oidToDer(f).getBytes()),C.create(C.Class.UNIVERSAL,C.Type.OCTETSTRING,!1,g)])])])}else if(r.algorithm==="3des"){s=24;var b=new $.util.ByteBuffer(n),p=st.pbe.generatePkcs12Key(t,b,1,o,s),g=st.pbe.generatePkcs12Key(t,b,2,o,s),y=$.des.createEncryptionCipher(p);y.start(g),y.update(C.toDer(e)),y.finish(),c=y.output.getBytes(),a=C.create(C.Class.UNIVERSAL,C.Type.SEQUENCE,!0,[C.create(C.Class.UNIVERSAL,C.Type.OID,!1,C.oidToDer(Mn["pbeWithSHAAnd3-KeyTripleDES-CBC"]).getBytes()),C.create(C.Class.UNIVERSAL,C.Type.SEQUENCE,!0,[C.create(C.Class.UNIVERSAL,C.Type.OCTETSTRING,!1,n),C.create(C.Class.UNIVERSAL,C.Type.INTEGER,!1,i.getBytes())])])}else{var m=new Error("Cannot encrypt private key. Unknown encryption algorithm.");throw m.algorithm=r.algorithm,m}var A=C.create(C.Class.UNIVERSAL,C.Type.SEQUENCE,!0,[a,C.create(C.Class.UNIVERSAL,C.Type.OCTETSTRING,!1,c)]);return A};st.decryptPrivateKeyInfo=function(e,t){var r=null,n={},o=[];if(!C.validate(e,Cm,n,o)){var i=new Error("Cannot read encrypted private key. ASN.1 object is not a supported EncryptedPrivateKeyInfo.");throw i.errors=o,i}var s=C.derToOid(n.encryptionOid),a=st.pbe.getCipher(s,n.encryptionParams,t),c=$.util.createBuffer(n.encryptedData);return a.update(c),a.finish()&&(r=C.fromDer(a.output)),r};st.encryptedPrivateKeyToPem=function(e,t){var r={type:"ENCRYPTED PRIVATE KEY",body:C.toDer(e).getBytes()};return $.pem.encode(r,{maxline:t})};st.encryptedPrivateKeyFromPem=function(e){var t=$.pem.decode(e)[0];if(t.type!=="ENCRYPTED PRIVATE KEY"){var r=new Error('Could not convert encrypted private key from PEM; PEM header type is "ENCRYPTED PRIVATE KEY".');throw r.headerType=t.type,r}if(t.procType&&t.procType.type==="ENCRYPTED")throw new Error("Could not convert encrypted private key from PEM; PEM is encrypted.");return C.fromDer(t.body)};st.encryptRsaPrivateKey=function(e,t,r){if(r=r||{},!r.legacy){var n=st.wrapRsaPrivateKey(st.privateKeyToAsn1(e));return n=st.encryptPrivateKeyInfo(n,t,r),st.encryptedPrivateKeyToPem(n)}var o,i,s,a;switch(r.algorithm){case"aes128":o="AES-128-CBC",s=16,i=$.random.getBytesSync(16),a=$.aes.createEncryptionCipher;break;case"aes192":o="AES-192-CBC",s=24,i=$.random.getBytesSync(16),a=$.aes.createEncryptionCipher;break;case"aes256":o="AES-256-CBC",s=32,i=$.random.getBytesSync(16),a=$.aes.createEncryptionCipher;break;case"3des":o="DES-EDE3-CBC",s=24,i=$.random.getBytesSync(8),a=$.des.createEncryptionCipher;break;case"des":o="DES-CBC",s=8,i=$.random.getBytesSync(8),a=$.des.createEncryptionCipher;break;default:var c=new Error('Could not encrypt RSA private key; unsupported encryption algorithm "'+r.algorithm+'".');throw c.algorithm=r.algorithm,c}var u=$.pbe.opensslDeriveBytes(t,i.substr(0,8),s),f=a(u);f.start(i),f.update(C.toDer(st.privateKeyToAsn1(e))),f.finish();var l={type:"RSA PRIVATE KEY",procType:{version:"4",type:"ENCRYPTED"},dekInfo:{algorithm:o,parameters:$.util.bytesToHex(i).toUpperCase()},body:f.output.getBytes()};return $.pem.encode(l)};st.decryptRsaPrivateKey=function(e,t){var r=null,n=$.pem.decode(e)[0];if(n.type!=="ENCRYPTED PRIVATE KEY"&&n.type!=="PRIVATE KEY"&&n.type!=="RSA PRIVATE KEY"){var o=new Error('Could not convert private key from PEM; PEM header type is not "ENCRYPTED PRIVATE KEY", "PRIVATE KEY", or "RSA PRIVATE KEY".');throw o.headerType=o,o}if(n.procType&&n.procType.type==="ENCRYPTED"){var i,s;switch(n.dekInfo.algorithm){case"DES-CBC":i=8,s=$.des.createDecryptionCipher;break;case"DES-EDE3-CBC":i=24,s=$.des.createDecryptionCipher;break;case"AES-128-CBC":i=16,s=$.aes.createDecryptionCipher;break;case"AES-192-CBC":i=24,s=$.aes.createDecryptionCipher;break;case"AES-256-CBC":i=32,s=$.aes.createDecryptionCipher;break;case"RC2-40-CBC":i=5,s=function(l){return $.rc2.createDecryptionCipher(l,40)};break;case"RC2-64-CBC":i=8,s=function(l){return $.rc2.createDecryptionCipher(l,64)};break;case"RC2-128-CBC":i=16,s=function(l){return $.rc2.createDecryptionCipher(l,128)};break;default:var o=new Error('Could not decrypt private key; unsupported encryption algorithm "'+n.dekInfo.algorithm+'".');throw o.algorithm=n.dekInfo.algorithm,o}var a=$.util.hexToBytes(n.dekInfo.parameters),c=$.pbe.opensslDeriveBytes(t,a.substr(0,8),i),u=s(c);if(u.start(a),u.update($.util.createBuffer(n.body)),u.finish())r=u.output.getBytes();else return r}else r=n.body;return n.type==="ENCRYPTED PRIVATE KEY"?r=st.decryptPrivateKeyInfo(C.fromDer(r),t):r=C.fromDer(r),r!==null&&(r=st.privateKeyFromAsn1(r)),r};st.pbe.generatePkcs12Key=function(e,t,r,n,o,i){var s,a;if(typeof i>"u"||i===null){if(!("sha1"in $.md))throw new Error('"sha1" hash algorithm unavailable.');i=$.md.sha1.create()}var c=i.digestLength,u=i.blockLength,f=new $.util.ByteBuffer,l=new $.util.ByteBuffer;if(e!=null){for(a=0;a<e.length;a++)l.putInt16(e.charCodeAt(a));l.putInt16(0)}var m=l.length(),d=t.length(),h=new $.util.ByteBuffer;h.fillWithByte(r,u);var p=u*Math.ceil(d/u),g=new $.util.ByteBuffer;for(a=0;a<p;a++)g.putByte(t.at(a%d));var y=u*Math.ceil(m/u),x=new $.util.ByteBuffer;for(a=0;a<y;a++)x.putByte(l.at(a%m));var b=g;b.putBuffer(x);for(var A=Math.ceil(o/c),v=1;v<=A;v++){var E=new $.util.ByteBuffer;E.putBytes(h.bytes()),E.putBytes(b.bytes());for(var _=0;_<n;_++)i.start(),i.update(E.getBytes()),E=i.digest();var I=new $.util.ByteBuffer;for(a=0;a<u;a++)I.putByte(E.at(a%c));var k=Math.ceil(d/u)+Math.ceil(m/u),K=new $.util.ByteBuffer;for(s=0;s<k;s++){var F=new $.util.ByteBuffer(b.getBytes(u)),z=511;for(a=I.length()-1;a>=0;a--)z=z>>8,z+=I.at(a)+F.at(a),F.setAt(a,z&255);K.putBuffer(F)}b=K,f.putBuffer(E)}return f.truncate(f.length()-o),f};st.pbe.getCipher=function(e,t,r){switch(e){case st.oids.pkcs5PBES2:return st.pbe.getCipherForPBES2(e,t,r);case st.oids["pbeWithSHAAnd3-KeyTripleDES-CBC"]:case st.oids["pbewithSHAAnd40BitRC2-CBC"]:return st.pbe.getCipherForPKCS12PBE(e,t,r);default:var n=new Error("Cannot read encrypted PBE data block. Unsupported OID.");throw n.oid=e,n.supportedOids=["pkcs5PBES2","pbeWithSHAAnd3-KeyTripleDES-CBC","pbewithSHAAnd40BitRC2-CBC"],n}};st.pbe.getCipherForPBES2=function(e,t,r){var n={},o=[];if(!C.validate(t,Rm,n,o)){var i=new Error("Cannot read password-based-encryption algorithm parameters. ASN.1 object is not a supported EncryptedPrivateKeyInfo.");throw i.errors=o,i}if(e=C.derToOid(n.kdfOid),e!==st.oids.pkcs5PBKDF2){var i=new Error("Cannot read encrypted private key. Unsupported key derivation function OID.");throw i.oid=e,i.supportedOids=["pkcs5PBKDF2"],i}if(e=C.derToOid(n.encOid),e!==st.oids["aes128-CBC"]&&e!==st.oids["aes192-CBC"]&&e!==st.oids["aes256-CBC"]&&e!==st.oids["des-EDE3-CBC"]&&e!==st.oids.desCBC){var i=new Error("Cannot read encrypted private key. Unsupported encryption scheme OID.");throw i.oid=e,i.supportedOids=["aes128-CBC","aes192-CBC","aes256-CBC","des-EDE3-CBC","desCBC"],i}var s=n.kdfSalt,a=$.util.createBuffer(n.kdfIterationCount);a=a.getInt(a.length()<<3);var c,u;switch(st.oids[e]){case"aes128-CBC":c=16,u=$.aes.createDecryptionCipher;break;case"aes192-CBC":c=24,u=$.aes.createDecryptionCipher;break;case"aes256-CBC":c=32,u=$.aes.createDecryptionCipher;break;case"des-EDE3-CBC":c=24,u=$.des.createDecryptionCipher;break;case"desCBC":c=8,u=$.des.createDecryptionCipher;break}var f=f4(n.prfOid),l=$.pkcs5.pbkdf2(r,s,a,c,f),m=n.encIv,d=u(l);return d.start(m),d};st.pbe.getCipherForPKCS12PBE=function(e,t,r){var n={},o=[];if(!C.validate(t,_m,n,o)){var i=new Error("Cannot read password-based-encryption algorithm parameters. ASN.1 object is not a supported EncryptedPrivateKeyInfo.");throw i.errors=o,i}var s=$.util.createBuffer(n.salt),a=$.util.createBuffer(n.iterations);a=a.getInt(a.length()<<3);var c,u,f;switch(e){case st.oids["pbeWithSHAAnd3-KeyTripleDES-CBC"]:c=24,u=8,f=$.des.startDecrypting;break;case st.oids["pbewithSHAAnd40BitRC2-CBC"]:c=5,u=8,f=function(p,g){var y=$.rc2.createDecryptionCipher(p,40);return y.start(g,null),y};break;default:var i=new Error("Cannot read PKCS #12 PBE data block. Unsupported OID.");throw i.oid=e,i}var l=f4(n.prfOid),m=st.pbe.generatePkcs12Key(r,s,1,a,c,l);l.start();var d=st.pbe.generatePkcs12Key(r,s,2,a,u,l);return f(m,d)};st.pbe.opensslDeriveBytes=function(e,t,r,n){if(typeof n>"u"||n===null){if(!("md5"in $.md))throw new Error('"md5" hash algorithm unavailable.');n=$.md.md5.create()}t===null&&(t="");for(var o=[u4(n,e+t)],i=16,s=1;i<r;++s,i+=16)o.push(u4(n,o[s-1]+e+t));return o.join("").substr(0,r)};function u4(e,t){return e.start().update(t).digest().getBytes()}function f4(e){var t;if(!e)t="hmacWithSHA1";else if(t=st.oids[C.derToOid(e)],!t){var r=new Error("Unsupported PRF OID.");throw r.oid=e,r.supported=["hmacWithSHA1","hmacWithSHA224","hmacWithSHA256","hmacWithSHA384","hmacWithSHA512"],r}return l4(t)}function l4(e){var t=$.md;switch(e){case"hmacWithSHA224":t=$.md.sha512;case"hmacWithSHA1":case"hmacWithSHA256":case"hmacWithSHA384":case"hmacWithSHA512":e=e.substr(8).toLowerCase();break;default:var r=new Error("Unsupported PRF algorithm.");throw r.algorithm=e,r.supported=["hmacWithSHA1","hmacWithSHA224","hmacWithSHA256","hmacWithSHA384","hmacWithSHA512"],r}if(!t||!(e in t))throw new Error("Unknown hash algorithm: "+e);return t[e].create()}function Bm(e,t,r,n){var o=C.create(C.Class.UNIVERSAL,C.Type.SEQUENCE,!0,[C.create(C.Class.UNIVERSAL,C.Type.OCTETSTRING,!1,e),C.create(C.Class.UNIVERSAL,C.Type.INTEGER,!1,t.getBytes())]);return n!=="hmacWithSHA1"&&o.value.push(C.create(C.Class.UNIVERSAL,C.Type.INTEGER,!1,$.util.hexToBytes(r.toString(16))),C.create(C.Class.UNIVERSAL,C.Type.SEQUENCE,!0,[C.create(C.Class.UNIVERSAL,C.Type.OID,!1,C.oidToDer(st.oids[n]).getBytes()),C.create(C.Class.UNIVERSAL,C.Type.NULL,!1,"")])),o}});var fl=it((DC,ul)=>{var Bt=St();Un();Gt();var Pi=ul.exports=Bt.sha512=Bt.sha512||{};Bt.md.sha512=Bt.md.algorithms.sha512=Pi;var al=Bt.sha384=Bt.sha512.sha384=Bt.sha512.sha384||{};al.create=function(){return Pi.create("SHA-384")};Bt.md.sha384=Bt.md.algorithms.sha384=al;Bt.sha512.sha256=Bt.sha512.sha256||{create:function(){return Pi.create("SHA-512/256")}};Bt.md["sha512/256"]=Bt.md.algorithms["sha512/256"]=Bt.sha512.sha256;Bt.sha512.sha224=Bt.sha512.sha224||{create:function(){return Pi.create("SHA-512/224")}};Bt.md["sha512/224"]=Bt.md.algorithms["sha512/224"]=Bt.sha512.sha224;Pi.create=function(e){if(cl||jg(),typeof e>"u"&&(e="SHA-512"),!(e in Gn))throw new Error("Invalid SHA-512 algorithm: "+e);for(var t=Gn[e],r=null,n=Bt.util.createBuffer(),o=new Array(80),i=0;i<80;++i)o[i]=new Array(2);var s=64;switch(e){case"SHA-384":s=48;break;case"SHA-512/256":s=32;break;case"SHA-512/224":s=28;break}var a={algorithm:e.replace("-","").toLowerCase(),blockLength:128,digestLength:s,messageLength:0,fullMessageLength:null,messageLengthSize:16};return a.start=function(){a.messageLength=0,a.fullMessageLength=a.messageLength128=[];for(var c=a.messageLengthSize/4,u=0;u<c;++u)a.fullMessageLength.push(0);n=Bt.util.createBuffer(),r=new Array(t.length);for(var u=0;u<t.length;++u)r[u]=t[u].slice(0);return a},a.start(),a.update=function(c,u){u==="utf8"&&(c=Bt.util.encodeUtf8(c));var f=c.length;a.messageLength+=f,f=[f/4294967296>>>0,f>>>0];for(var l=a.fullMessageLength.length-1;l>=0;--l)a.fullMessageLength[l]+=f[1],f[1]=f[0]+(a.fullMessageLength[l]/4294967296>>>0),a.fullMessageLength[l]=a.fullMessageLength[l]>>>0,f[0]=f[1]/4294967296>>>0;return n.putBytes(c),sl(r,o,n),(n.read>2048||n.length()===0)&&n.compact(),a},a.digest=function(){var c=Bt.util.createBuffer();c.putBytes(n.bytes());var u=a.fullMessageLength[a.fullMessageLength.length-1]+a.messageLengthSize,f=u&a.blockLength-1;c.putBytes(x2.substr(0,a.blockLength-f));for(var l,m,d=a.fullMessageLength[0]*8,h=0;h<a.fullMessageLength.length-1;++h)l=a.fullMessageLength[h+1]*8,m=l/4294967296>>>0,d+=m,c.putInt32(d>>>0),d=l>>>0;c.putInt32(d);for(var p=new Array(r.length),h=0;h<r.length;++h)p[h]=r[h].slice(0);sl(p,o,c);var g=Bt.util.createBuffer(),y;e==="SHA-512"?y=p.length:e==="SHA-384"?y=p.length-2:y=p.length-4;for(var h=0;h<y;++h)g.putInt32(p[h][0]),(h!==y-1||e!=="SHA-512/224")&&g.putInt32(p[h][1]);return g},a};var x2=null,cl=!1,b2=null,Gn=null;function jg(){x2="\x80",x2+=Bt.util.fillString("\0",128),b2=[[1116352408,3609767458],[1899447441,602891725],[3049323471,3964484399],[3921009573,2173295548],[961987163,4081628472],[1508970993,3053834265],[2453635748,2937671579],[2870763221,3664609560],[3624381080,2734883394],[310598401,1164996542],[607225278,1323610764],[1426881987,3590304994],[1925078388,4068182383],[2162078206,991336113],[2614888103,633803317],[3248222580,3479774868],[3835390401,2666613458],[4022224774,944711139],[264347078,2341262773],[604807628,2007800933],[770255983,1495990901],[1249150122,1856431235],[1555081692,3175218132],[1996064986,2198950837],[2554220882,3999719339],[2821834349,766784016],[2952996808,2566594879],[3210313671,3203337956],[3336571891,1034457026],[3584528711,2466948901],[113926993,3758326383],[338241895,168717936],[666307205,1188179964],[773529912,1546045734],[1294757372,1522805485],[1396182291,2643833823],[1695183700,2343527390],[1986661051,1014477480],[2177026350,1206759142],[2456956037,344077627],[2730485921,1290863460],[2820302411,3158454273],[3259730800,3505952657],[3345764771,106217008],[3516065817,3606008344],[3600352804,1432725776],[4094571909,1467031594],[275423344,851169720],[430227734,3100823752],[506948616,1363258195],[659060556,3750685593],[883997877,3785050280],[958139571,3318307427],[1322822218,3812723403],[1537002063,2003034995],[1747873779,3602036899],[1955562222,1575990012],[2024104815,1125592928],[2227730452,2716904306],[2361852424,442776044],[2428436474,593698344],[2756734187,3733110249],[3204031479,2999351573],[3329325298,3815920427],[3391569614,3928383900],[3515267271,566280711],[3940187606,3454069534],[4118630271,4000239992],[116418474,1914138554],[174292421,2731055270],[289380356,3203993006],[460393269,320620315],[685471733,587496836],[852142971,1086792851],[1017036298,365543100],[1126000580,2618297676],[1288033470,3409855158],[1501505948,4234509866],[1607167915,987167468],[1816402316,1246189591]],Gn={},Gn["SHA-512"]=[[1779033703,4089235720],[3144134277,2227873595],[1013904242,4271175723],[2773480762,1595750129],[1359893119,2917565137],[2600822924,725511199],[528734635,4215389547],[1541459225,327033209]],Gn["SHA-384"]=[[3418070365,3238371032],[1654270250,914150663],[2438529370,812702999],[355462360,4144912697],[1731405415,4290775857],[2394180231,1750603025],[3675008525,1694076839],[1203062813,3204075428]],Gn["SHA-512/256"]=[[573645204,4230739756],[2673172387,3360449730],[596883563,1867755857],[2520282905,1497426621],[2519219938,2827943907],[3193839141,1401305490],[721525244,746961066],[246885852,2177182882]],Gn["SHA-512/224"]=[[2352822216,424955298],[1944164710,2312950998],[502970286,855612546],[1738396948,1479516111],[258812777,2077511080],[2011393907,79989058],[1067287976,1780299464],[286451373,2446758561]],cl=!0}function sl(e,t,r){for(var n,o,i,s,a,c,u,f,l,m,d,h,p,g,y,x,b,A,v,E,_,I,k,K,F,z,X,ut,T,N,D,O,B,H,Y,j=r.length();j>=128;){for(T=0;T<16;++T)t[T][0]=r.getInt32()>>>0,t[T][1]=r.getInt32()>>>0;for(;T<80;++T)O=t[T-2],N=O[0],D=O[1],n=((N>>>19|D<<13)^(D>>>29|N<<3)^N>>>6)>>>0,o=((N<<13|D>>>19)^(D<<3|N>>>29)^(N<<26|D>>>6))>>>0,H=t[T-15],N=H[0],D=H[1],i=((N>>>1|D<<31)^(N>>>8|D<<24)^N>>>7)>>>0,s=((N<<31|D>>>1)^(N<<24|D>>>8)^(N<<25|D>>>7))>>>0,B=t[T-7],Y=t[T-16],D=o+B[1]+s+Y[1],t[T][0]=n+B[0]+i+Y[0]+(D/4294967296>>>0)>>>0,t[T][1]=D>>>0;for(p=e[0][0],g=e[0][1],y=e[1][0],x=e[1][1],b=e[2][0],A=e[2][1],v=e[3][0],E=e[3][1],_=e[4][0],I=e[4][1],k=e[5][0],K=e[5][1],F=e[6][0],z=e[6][1],X=e[7][0],ut=e[7][1],T=0;T<80;++T)u=((_>>>14|I<<18)^(_>>>18|I<<14)^(I>>>9|_<<23))>>>0,f=((_<<18|I>>>14)^(_<<14|I>>>18)^(I<<23|_>>>9))>>>0,l=(F^_&(k^F))>>>0,m=(z^I&(K^z))>>>0,a=((p>>>28|g<<4)^(g>>>2|p<<30)^(g>>>7|p<<25))>>>0,c=((p<<4|g>>>28)^(g<<30|p>>>2)^(g<<25|p>>>7))>>>0,d=(p&y|b&(p^y))>>>0,h=(g&x|A&(g^x))>>>0,D=ut+f+m+b2[T][1]+t[T][1],n=X+u+l+b2[T][0]+t[T][0]+(D/4294967296>>>0)>>>0,o=D>>>0,D=c+h,i=a+d+(D/4294967296>>>0)>>>0,s=D>>>0,X=F,ut=z,F=k,z=K,k=_,K=I,D=E+o,_=v+n+(D/4294967296>>>0)>>>0,I=D>>>0,v=b,E=A,b=y,A=x,y=p,x=g,D=o+s,p=n+i+(D/4294967296>>>0)>>>0,g=D>>>0;D=e[0][1]+g,e[0][0]=e[0][0]+p+(D/4294967296>>>0)>>>0,e[0][1]=D>>>0,D=e[1][1]+x,e[1][0]=e[1][0]+y+(D/4294967296>>>0)>>>0,e[1][1]=D>>>0,D=e[2][1]+A,e[2][0]=e[2][0]+b+(D/4294967296>>>0)>>>0,e[2][1]=D>>>0,D=e[3][1]+E,e[3][0]=e[3][0]+v+(D/4294967296>>>0)>>>0,e[3][1]=D>>>0,D=e[4][1]+I,e[4][0]=e[4][0]+_+(D/4294967296>>>0)>>>0,e[4][1]=D>>>0,D=e[5][1]+K,e[5][0]=e[5][0]+k+(D/4294967296>>>0)>>>0,e[5][1]=D>>>0,D=e[6][1]+z,e[6][0]=e[6][0]+F+(D/4294967296>>>0)>>>0,e[6][1]=D>>>0,D=e[7][1]+ut,e[7][0]=e[7][0]+X+(D/4294967296>>>0)>>>0,e[7][1]=D>>>0,j-=128}}});var Do=it((KR,kl)=>{"use strict";function Ll(e,t){for(let r in t)Object.defineProperty(e,r,{value:t[r],enumerable:!0,configurable:!0});return e}function _y(e,t,r){if(!e||typeof e=="string")throw new TypeError("Please pass an Error to err-code");r||(r={}),typeof t=="object"&&(r=t,t=""),t&&(r.code=t);try{return Ll(e,r)}catch{r.message=e.message,r.stack=e.stack;let o=function(){};return o.prototype=Object.create(Object.getPrototypeOf(e)),Ll(new o,r)}}kl.exports=_y});var N2=it((YR,P2)=>{var QR=function(){typeof P2<"u"&&(P2.exports=p);var e=86400,t=3200,r=146097*t/400,n=e*r,o=1e3*n,i=864e13,s=4294967296,a=1e6,c="000000000",u=Math.trunc||function(I){var k=I-I%1;return k==0&&(I<0||I===0&&1/I!=1/0)?-0:k},f=p.prototype,l=(p.fromDate=function(I){return new p(+I)},p.fromInt64BE=A(0,1,2,3,0,4),p.fromInt64LE=A(3,2,1,0,4,0),p.fromString=function(F){var k,K=new p,F=(F+="").replace(/^\s*[+\-]?\d+/,function(X){var X=+X,ut=1970+(X-1970)%400;return K.year=X-ut,ut}).replace(/(?:Z|([+\-]\d{2}):?(\d{2}))$/,function(z,X,ut){return X<0&&(ut*=-1),k=6e4*(60*+X+ +ut),""}).replace(/\.\d+$/,function(z){return K.nano=+(z+c).substr(1,9),""}).split(/\D+/);if(1<F.length?F[1]--:F[1]=0,K.time=k=Date.UTC.apply(Date,F)-(k||0),isNaN(k))throw new TypeError("Invalid Date");return g(K)},p.fromTimeT=function(I){return x(I,0)},f.year=0,f.time=0,f.nano=0,f.addNano=function(I){return this.nano+=+I||0,this},f.getNano=function(){var I=g(this);return(I.time%1e3*a+ +I.nano+1e9)%1e9},f.getTimeT=function(){var k=g(this),I=Math.floor(k.time/1e3),k=k.year;return k&&(I+=k*r*e/t),I},f.getYear=function(){return this.toDate().getUTCFullYear()+this.year},f.toDate=function(){return y(g(this).time)},f.toJSON=function(){return this.toString().replace(/0{1,6}Z$/,"Z")},f.toString=function(I){var k=this,K=k.toDate(),F={H:function(){return E(K.getUTCHours())},L:function(){return _(K.getUTCMilliseconds(),3)},M:function(){return E(K.getUTCMinutes())},N:function(){return _(k.getNano(),9)},S:function(){return E(K.getUTCSeconds())},Y:function(){var z=k.getYear();return 999999<z?"+"+z:9999<z?"+"+_(z,6):0<=z?_(z,4):-999999<=z?"-"+_(-z,6):z},a:function(){return d[K.getUTCDay()]},b:function(){return m[K.getUTCMonth()]},d:function(){return E(K.getUTCDate())},e:function(){return function(z){return(9<z?"":" ")+(0|z)}(K.getUTCDate())},m:function(){return E(K.getUTCMonth()+1)}};return function z(X){return X.replace(/%./g,function(ut){var N=ut[1],T=h[N],N=F[N];return T?z(T):N?N():ut})}(I||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"],d=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],h={"%":"%",F:"%Y-%m-%d",n:`
|
|
16
|
-
`,R:"%H:%M",T:"%H:%M:%S",t:" ",X:"%T",Z:"GMT",z:"+0000"};return p;function p(I,k,K){var F=this;if(!(F instanceof p))return new p(I,k,K);F.time=+I||0,F.nano=+k||0,F.year=+K||0,g(F)}function g(I){var k,K,F,z=I.year,X=I.time,ut=I.nano,T=((ut<0||a<=ut)&&(ut-=(K=Math.floor(ut/a))*a,X+=K,K=1),z%t);return(X<-i||i<X||T)&&((k=u(X/o))&&(z+=k*t,X-=k*o),(F=y(X)).setUTCFullYear(T+F.getUTCFullYear()),F=(X=+F)+(k=u((z-=T)/t))*o,k&&-i<=F&&F<=i&&(z-=k*t,X=F),K=1),K&&(I.year=z,I.time=X,I.nano=ut),I}function y(I){var k=new Date(0);return k.setTime(I),k}function x(z,F){z=+z||0;var K=u((F=(F|0)*s)/n)+u(z/n),F=F%n+z%n,z=u(F/n);return z&&(K+=z,F-=z*n),new p(1e3*F,0,K*t)}function b(I,k,K,F,z,X){return function(T,N){var O=g(this);T=T||new Array(8),v(T,N|=0);var B=Math.floor(O.time/1e3),O=O.year*(r*e/t),D=u(O/s)+u(B/s),O=O%s+B%s,B=Math.floor(O/s);return B&&(D+=B,O-=B*s),ut(T,N+z,D),ut(T,N+X,O),T};function ut(T,N,D){T[N+I]=D>>24&255,T[N+k]=D>>16&255,T[N+K]=D>>8&255,T[N+F]=255&D}}function A(I,k,K,F,z,X){return function(T,N){v(T,N|=0);var D=ut(T,N+z);return x(ut(T,N+X),D)};function ut(T,N){return 16777216*T[N+I]+(T[N+k]<<16|T[N+K]<<8|T[N+F])}}function v(I,k){if(I=I&&I.length,I==null)throw new TypeError("Invalid Buffer");if(I<k+8)throw new RangeError("Out of range")}function E(I){return(9<I?"":"0")+(0|I)}function _(I,k){return(c+(0|I)).substr(-k)}}()});var _5=it((bP,R5)=>{R5.exports=Ec;var C5=128,Pb=127,Nb=~Pb,Db=Math.pow(2,31);function Ec(e,t,r){if(Number.MAX_SAFE_INTEGER&&e>Number.MAX_SAFE_INTEGER)throw Ec.bytes=0,new RangeError("Could not encode varint");t=t||[],r=r||0;for(var n=r;e>=Db;)t[r++]=e&255|C5,e/=128;for(;e&Nb;)t[r++]=e&255|C5,e>>>=7;return t[r]=e|0,Ec.bytes=r-n+1,t}});var N5=it((wP,P5)=>{P5.exports=Sc;var Lb=128,B5=127;function Sc(e,n){var r=0,n=n||0,o=0,i=n,s,a=e.length;do{if(i>=a||o>49)throw Sc.bytes=0,new RangeError("Could not decode varint");s=e[i++],r+=o<28?(s&B5)<<o:(s&B5)*Math.pow(2,o),o+=7}while(s>=Lb);return Sc.bytes=i-n,r}});var L5=it((vP,D5)=>{var kb=Math.pow(2,7),Ub=Math.pow(2,14),Ob=Math.pow(2,21),Fb=Math.pow(2,28),Mb=Math.pow(2,35),Vb=Math.pow(2,42),Kb=Math.pow(2,49),qb=Math.pow(2,56),zb=Math.pow(2,63);D5.exports=function(e){return e<kb?1:e<Ub?2:e<Ob?3:e<Fb?4:e<Mb?5:e<Vb?6:e<Kb?7:e<qb?8:e<zb?9:10}});var q0=it((EP,k5)=>{k5.exports={encode:_5(),decode:N5(),encodingLength:L5()}});var bu=it((NL,O8)=>{"use strict";var Yv=typeof navigator<"u"&&navigator.product==="ReactNative";function Wv(){return Yv?"http://localhost":self.location?self.location.protocol+"//"+self.location.host:""}var ss=self.URL,U8=Wv(),xu=class{constructor(t="",r=U8){this.super=new ss(t,r),this.path=this.pathname+this.search,this.auth=this.username&&this.password?this.username+":"+this.password:null,this.query=this.search&&this.search.startsWith("?")?this.search.slice(1):null}get hash(){return this.super.hash}get host(){return this.super.host}get hostname(){return this.super.hostname}get href(){return this.super.href}get origin(){return this.super.origin}get password(){return this.super.password}get pathname(){return this.super.pathname}get port(){return this.super.port}get protocol(){return this.super.protocol}get search(){return this.super.search}get searchParams(){return this.super.searchParams}get username(){return this.super.username}set hash(t){this.super.hash=t}set host(t){this.super.host=t}set hostname(t){this.super.hostname=t}set href(t){this.super.href=t}set password(t){this.super.password=t}set pathname(t){this.super.pathname=t}set port(t){this.super.port=t}set protocol(t){this.super.protocol=t}set search(t){this.super.search=t}set username(t){this.super.username=t}static createObjectURL(t){return ss.createObjectURL(t)}static revokeObjectURL(t){ss.revokeObjectURL(t)}toJSON(){return this.super.toJSON()}toString(){return this.super.toString()}format(){return this.toString()}};function Zv(e){if(typeof e=="string")return new ss(e).toString();if(!(e instanceof ss)){let t=e.username&&e.password?`${e.username}:${e.password}@`:"",r=e.auth?e.auth+"@":"",n=e.port?":"+e.port:"",o=e.protocol?e.protocol+"//":"",i=e.host||"",s=e.hostname||"",a=e.search||(e.query?"?"+e.query:""),c=e.hash||"",u=e.pathname||"",f=e.path||u+a;return`${o}${t||r}${i||s+n}${f}${c}`}}O8.exports={URLWithLegacySupport:xu,URLSearchParams:self.URLSearchParams,defaultBase:U8,format:Zv}});var V8=it((DL,M8)=>{"use strict";var{URLWithLegacySupport:F8,format:Xv}=bu();M8.exports=(e,t={},r={},n)=>{let o=t.protocol?t.protocol.replace(":",""):"http";o=(r[o]||n||o)+":";let i;try{i=new F8(e)}catch{i={}}let s=Object.assign({},t,{protocol:o||i.protocol,host:t.host||i.host});return new F8(e,Xv(s)).toString()}});var q8=it((LL,K8)=>{"use strict";var{URLWithLegacySupport:jv,format:Jv,URLSearchParams:tE,defaultBase:eE}=bu(),rE=V8();K8.exports={URL:jv,URLSearchParams:tE,format:Jv,relative:rE,defaultBase:eE}});var Y8=it((zL,Q8)=>{"use strict";Q8.exports=G8;var aE=G1(),In=G8.prototype,cE=new Date%1e9;function uE(){return(Math.random()*1e9>>>0)+cE++}function G8(e){e=e||{},this.id=e.id||uE(),this.max=e.max||1/0,this.items=e.items||[],this._lookup={},this.size=this.items.length,this.lastModified=new Date(e.lastModified||new Date);for(var t,r,n=this.items.length;n--;)t=this.items[n],r=new Date(t.expires)-new Date,this._lookup[t.key]=t,r>0?this.expire(t.key,r):r<=0&&this.delete(t.key)}In.has=function(e){return e in this._lookup};In.get=function(e){if(!this.has(e))return null;var t=this._lookup[e];return t.refresh&&this.expire(e,t.refresh),this.items.splice(this.items.indexOf(t),1),this.items.push(t),t.value};In.meta=function(e){if(!this.has(e))return null;var t=this._lookup[e];return"meta"in t?t.meta:null};In.set=function(e,t,r){var n=this._lookup[e],o=this._lookup[e]={key:e,value:t};return this.lastModified=new Date,n?(clearTimeout(n.timeout),this.items.splice(this.items.indexOf(n),1,o)):(this.size>=this.max&&this.delete(this.items[0].key),this.items.push(o),this.size++),r&&("ttl"in r&&this.expire(e,r.ttl),"meta"in r&&(o.meta=r.meta),r.refresh&&(o.refresh=r.ttl)),this};In.delete=function(e){var t=this._lookup[e];return t?(this.lastModified=new Date,this.items.splice(this.items.indexOf(t),1),clearTimeout(t.timeout),delete this._lookup[e],this.size--,this):!1};In.expire=function(e,t){var r=t||0,n=this._lookup[e];if(!n)return this;if(typeof r=="string"&&(r=aE(t)),typeof r!="number")throw new TypeError("Expiration time must be a string or number.");return clearTimeout(n.timeout),n.timeout=setTimeout(this.delete.bind(this,n.key),r),n.expires=Number(new Date)+r,this};In.clear=function(){for(var e=this.items.length;e--;)this.delete(this.items[e].key);return this};In.toJSON=function(){for(var e=new Array(this.items.length),t,r=e.length;r--;)t=this.items[r],e[r]={key:t.key,meta:t.meta,value:t.value,expires:t.expires,refresh:t.refresh};return{id:this.id,max:isFinite(this.max)?this.max:void 0,lastModified:this.lastModified,items:e}}});var th=it((WL,Au)=>{"use strict";var lE=Object.prototype.hasOwnProperty,Se="~";function as(){}Object.create&&(as.prototype=Object.create(null),new as().__proto__||(Se=!1));function hE(e,t,r){this.fn=e,this.context=t,this.once=r||!1}function J8(e,t,r,n,o){if(typeof r!="function")throw new TypeError("The listener must be a function");var i=new hE(r,n||e,o),s=Se?Se+t:t;return e._events[s]?e._events[s].fn?e._events[s]=[e._events[s],i]:e._events[s].push(i):(e._events[s]=i,e._eventsCount++),e}function J0(e,t){--e._eventsCount===0?e._events=new as:delete e._events[t]}function ye(){this._events=new as,this._eventsCount=0}ye.prototype.eventNames=function(){var t=[],r,n;if(this._eventsCount===0)return t;for(n in r=this._events)lE.call(r,n)&&t.push(Se?n.slice(1):n);return Object.getOwnPropertySymbols?t.concat(Object.getOwnPropertySymbols(r)):t};ye.prototype.listeners=function(t){var r=Se?Se+t:t,n=this._events[r];if(!n)return[];if(n.fn)return[n.fn];for(var o=0,i=n.length,s=new Array(i);o<i;o++)s[o]=n[o].fn;return s};ye.prototype.listenerCount=function(t){var r=Se?Se+t:t,n=this._events[r];return n?n.fn?1:n.length:0};ye.prototype.emit=function(t,r,n,o,i,s){var a=Se?Se+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,r),!0;case 3:return c.fn.call(c.context,r,n),!0;case 4:return c.fn.call(c.context,r,n,o),!0;case 5:return c.fn.call(c.context,r,n,o,i),!0;case 6:return c.fn.call(c.context,r,n,o,i,s),!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,d;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,r);break;case 3:c[l].fn.call(c[l].context,r,n);break;case 4:c[l].fn.call(c[l].context,r,n,o);break;default:if(!f)for(d=1,f=new Array(u-1);d<u;d++)f[d-1]=arguments[d];c[l].fn.apply(c[l].context,f)}}return!0};ye.prototype.on=function(t,r,n){return J8(this,t,r,n,!1)};ye.prototype.once=function(t,r,n){return J8(this,t,r,n,!0)};ye.prototype.removeListener=function(t,r,n,o){var i=Se?Se+t:t;if(!this._events[i])return this;if(!r)return J0(this,i),this;var s=this._events[i];if(s.fn)s.fn===r&&(!o||s.once)&&(!n||s.context===n)&&J0(this,i);else{for(var a=0,c=[],u=s.length;a<u;a++)(s[a].fn!==r||o&&!s[a].once||n&&s[a].context!==n)&&c.push(s[a]);c.length?this._events[i]=c.length===1?c[0]:c:J0(this,i)}return this};ye.prototype.removeAllListeners=function(t){var r;return t?(r=Se?Se+t:t,this._events[r]&&J0(this,r)):(this._events=new as,this._eventsCount=0),this};ye.prototype.off=ye.prototype.removeListener;ye.prototype.addListener=ye.prototype.on;ye.prefixed=Se;ye.EventEmitter=ye;typeof Au<"u"&&(Au.exports=ye)});var Lu=it((ik,fh)=>{fh.exports=function(e){if(!e)throw Error("hashlru must have a max value, of type number, greater than 0");var t=0,r=Object.create(null),n=Object.create(null);function o(i,s){r[i]=s,t++,t>=e&&(t=0,n=r,r=Object.create(null))}return{has:function(i){return r[i]!==void 0||n[i]!==void 0},remove:function(i){r[i]!==void 0&&(r[i]=void 0),n[i]!==void 0&&(n[i]=void 0)},get:function(i){var s=r[i];if(s!==void 0)return s;if((s=n[i])!==void 0)return o(i,s),s},set:function(i,s){r[i]!==void 0?r[i]=s:o(i,s)},clear:function(){r=Object.create(null),n=Object.create(null)}}}});var yh=it(ms=>{(function(){var e,t,r,n,o,i,s,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(".")},s=function(c){var u,f,l,m,d,h;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)}h=t(c),d=h[0],f=h[1],c=c.substring(f),u.push(d)}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")}},r=function(c){return c.charCodeAt(0)},n=r("0"),i=r("a"),o=r("A"),t=function(c){var u,f,l,m,d;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")),d=l;l<c.length;){if("0"<=c[l]&&c[l]<=f)m=m*u+(r(c[l])-n)>>>0;else if(u===16)if("a"<=c[l]&&c[l]<="f")m=m*u+(10+r(c[l])-i)>>>0;else if("A"<=c[l]&&c[l]<="F")m=m*u+(10+r(c[l])-o)>>>0;else break;else break;if(m>4294967295)throw new Error("too large");l++}if(l===d)throw new Error("empty octet");return[m,l]},e=function(){function c(u,f){var l,m,d,h;if(typeof u!="string")throw new Error("Missing `net' parameter");if(f||(h=u.split("/",2),u=h[0],f=h[1]),f||(f=32),typeof f=="string"&&f.indexOf(".")>-1){try{this.maskLong=s(f)}catch(p){throw l=p,new Error("Invalid mask: "+f)}for(m=d=32;d>=0;m=--d)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=(s(u)&this.maskLong)>>>0}catch(p){throw l=p,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):(s(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=s(this.first),l=s(this.last),f=0;m<=l;)u(a(m),m,f),f++,m++},c.prototype.toString=function(){return this.base+"/"+this.bitmask},c}(),ms.ip2long=s,ms.long2ip=a,ms.Netmask=e}).call(ms)});var vh=it((wh,l1)=>{(function(e){"use strict";let t="(0?\\d+|0x[a-f0-9]+)",r={fourOctet:new RegExp(`^${t}\\.${t}\\.${t}\\.${t}$`,"i"),threeOctet:new RegExp(`^${t}\\.${t}\\.${t}$`,"i"),twoOctet:new RegExp(`^${t}\\.${t}$`,"i"),longValue:new RegExp(`^${t}$`,"i")},n=new RegExp("^0[0-7]+$","i"),o=new RegExp("^0x[a-f0-9]+$","i"),i="%[0-9a-z]{1,}",s="(?:[0-9a-f]+::?)+",a={zoneIndex:new RegExp(i,"i"),native:new RegExp(`^(::)?(${s})?([0-9a-f]+)?(::)?(${i})?$`,"i"),deprecatedTransitional:new RegExp(`^(?:::)(${t}\\.${t}\\.${t}\\.${t}(${i})?)$`,"i"),transitional:new RegExp(`^((?:${s})|(?:::)(?:${s})?)${t}\\.${t}\\.${t}\\.${t}(${i})?$`,"i")};function c(d,h){if(d.indexOf("::")!==d.lastIndexOf("::"))return null;let p=0,g=-1,y=(d.match(a.zoneIndex)||[])[0],x,b;for(y&&(y=y.substring(1),d=d.replace(/%.+$/,""));(g=d.indexOf(":",g+1))>=0;)p++;if(d.substr(0,2)==="::"&&p--,d.substr(-2,2)==="::"&&p--,p>h)return null;for(b=h-p,x=":";b--;)x+="0:";return d=d.replace("::",x),d[0]===":"&&(d=d.slice(1)),d[d.length-1]===":"&&(d=d.slice(0,-1)),h=function(){let A=d.split(":"),v=[];for(let E=0;E<A.length;E++)v.push(parseInt(A[E],16));return v}(),{parts:h,zoneId:y}}function u(d,h,p,g){if(d.length!==h.length)throw new Error("ipaddr: cannot match CIDR for objects with different lengths");let y=0,x;for(;g>0;){if(x=p-g,x<0&&(x=0),d[y]>>x!==h[y]>>x)return!1;g-=p,y+=1}return!0}function f(d){if(o.test(d))return parseInt(d,16);if(d[0]==="0"&&!isNaN(parseInt(d[1],10))){if(n.test(d))return parseInt(d,8);throw new Error(`ipaddr: cannot parse ${d} as octal`)}return parseInt(d,10)}function l(d,h){for(;d.length<h;)d=`0${d}`;return d}let m={};m.IPv4=function(){function d(h){if(h.length!==4)throw new Error("ipaddr: ipv4 octet count should be 4");let p,g;for(p=0;p<h.length;p++)if(g=h[p],!(0<=g&&g<=255))throw new Error("ipaddr: ipv4 octet should fit in 8 bits");this.octets=h}return d.prototype.SpecialRanges={unspecified:[[new d([0,0,0,0]),8]],broadcast:[[new d([255,255,255,255]),32]],multicast:[[new d([224,0,0,0]),4]],linkLocal:[[new d([169,254,0,0]),16]],loopback:[[new d([127,0,0,0]),8]],carrierGradeNat:[[new d([100,64,0,0]),10]],private:[[new d([10,0,0,0]),8],[new d([172,16,0,0]),12],[new d([192,168,0,0]),16]],reserved:[[new d([192,0,0,0]),24],[new d([192,0,2,0]),24],[new d([192,88,99,0]),24],[new d([198,18,0,0]),15],[new d([198,51,100,0]),24],[new d([203,0,113,0]),24],[new d([240,0,0,0]),4]]},d.prototype.kind=function(){return"ipv4"},d.prototype.match=function(h,p){let g;if(p===void 0&&(g=h,h=g[0],p=g[1]),h.kind()!=="ipv4")throw new Error("ipaddr: cannot match ipv4 address with non-ipv4 one");return u(this.octets,h.octets,8,p)},d.prototype.prefixLengthFromSubnetMask=function(){let h=0,p=!1,g={0:8,128:7,192:6,224:5,240:4,248:3,252:2,254:1,255:0},y,x,b;for(y=3;y>=0;y-=1)if(x=this.octets[y],x in g){if(b=g[x],p&&b!==0)return null;b!==8&&(p=!0),h+=b}else return null;return 32-h},d.prototype.range=function(){return m.subnetMatch(this,this.SpecialRanges)},d.prototype.toByteArray=function(){return this.octets.slice(0)},d.prototype.toIPv4MappedAddress=function(){return m.IPv6.parse(`::ffff:${this.toString()}`)},d.prototype.toNormalizedString=function(){return this.toString()},d.prototype.toString=function(){return this.octets.join(".")},d}(),m.IPv4.broadcastAddressFromCIDR=function(d){try{let h=this.parseCIDR(d),p=h[0].toByteArray(),g=this.subnetMaskFromPrefixLength(h[1]).toByteArray(),y=[],x=0;for(;x<4;)y.push(parseInt(p[x],10)|parseInt(g[x],10)^255),x++;return new this(y)}catch{throw new Error("ipaddr: the address does not have IPv4 CIDR format")}},m.IPv4.isIPv4=function(d){return this.parser(d)!==null},m.IPv4.isValid=function(d){try{return new this(this.parser(d)),!0}catch{return!1}},m.IPv4.isValidFourPartDecimal=function(d){return!!(m.IPv4.isValid(d)&&d.match(/^(0|[1-9]\d*)(\.(0|[1-9]\d*)){3}$/))},m.IPv4.networkAddressFromCIDR=function(d){let h,p,g,y,x;try{for(h=this.parseCIDR(d),g=h[0].toByteArray(),x=this.subnetMaskFromPrefixLength(h[1]).toByteArray(),y=[],p=0;p<4;)y.push(parseInt(g[p],10)&parseInt(x[p],10)),p++;return new this(y)}catch{throw new Error("ipaddr: the address does not have IPv4 CIDR format")}},m.IPv4.parse=function(d){let h=this.parser(d);if(h===null)throw new Error("ipaddr: string is not formatted like an IPv4 Address");return new this(h)},m.IPv4.parseCIDR=function(d){let h;if(h=d.match(/^(.+)\/(\d+)$/)){let p=parseInt(h[2]);if(p>=0&&p<=32){let g=[this.parse(h[1]),p];return Object.defineProperty(g,"toString",{value:function(){return this.join("/")}}),g}}throw new Error("ipaddr: string is not formatted like an IPv4 CIDR range")},m.IPv4.parser=function(d){let h,p,g;if(h=d.match(r.fourOctet))return function(){let y=h.slice(1,6),x=[];for(let b=0;b<y.length;b++)p=y[b],x.push(f(p));return x}();if(h=d.match(r.longValue)){if(g=f(h[1]),g>4294967295||g<0)throw new Error("ipaddr: address outside defined range");return function(){let y=[],x;for(x=0;x<=24;x+=8)y.push(g>>x&255);return y}().reverse()}else return(h=d.match(r.twoOctet))?function(){let y=h.slice(1,4),x=[];if(g=f(y[1]),g>16777215||g<0)throw new Error("ipaddr: address outside defined range");return x.push(f(y[0])),x.push(g>>16&255),x.push(g>>8&255),x.push(g&255),x}():(h=d.match(r.threeOctet))?function(){let y=h.slice(1,5),x=[];if(g=f(y[2]),g>65535||g<0)throw new Error("ipaddr: address outside defined range");return x.push(f(y[0])),x.push(f(y[1])),x.push(g>>8&255),x.push(g&255),x}():null},m.IPv4.subnetMaskFromPrefixLength=function(d){if(d=parseInt(d),d<0||d>32)throw new Error("ipaddr: invalid IPv4 prefix length");let h=[0,0,0,0],p=0,g=Math.floor(d/8);for(;p<g;)h[p]=255,p++;return g<4&&(h[g]=Math.pow(2,d%8)-1<<8-d%8),new this(h)},m.IPv6=function(){function d(h,p){let g,y;if(h.length===16)for(this.parts=[],g=0;g<=14;g+=2)this.parts.push(h[g]<<8|h[g+1]);else if(h.length===8)this.parts=h;else throw new Error("ipaddr: ipv6 part count should be 8 or 16");for(g=0;g<this.parts.length;g++)if(y=this.parts[g],!(0<=y&&y<=65535))throw new Error("ipaddr: ipv6 part should fit in 16 bits");p&&(this.zoneId=p)}return d.prototype.SpecialRanges={unspecified:[new d([0,0,0,0,0,0,0,0]),128],linkLocal:[new d([65152,0,0,0,0,0,0,0]),10],multicast:[new d([65280,0,0,0,0,0,0,0]),8],loopback:[new d([0,0,0,0,0,0,0,1]),128],uniqueLocal:[new d([64512,0,0,0,0,0,0,0]),7],ipv4Mapped:[new d([0,0,0,0,0,65535,0,0]),96],rfc6145:[new d([0,0,0,0,65535,0,0,0]),96],rfc6052:[new d([100,65435,0,0,0,0,0,0]),96],"6to4":[new d([8194,0,0,0,0,0,0,0]),16],teredo:[new d([8193,0,0,0,0,0,0,0]),32],reserved:[[new d([8193,3512,0,0,0,0,0,0]),32]],benchmarking:[new d([8193,2,0,0,0,0,0,0]),48],amt:[new d([8193,3,0,0,0,0,0,0]),32],as112v6:[new d([8193,4,274,0,0,0,0,0]),48],deprecated:[new d([8193,16,0,0,0,0,0,0]),28],orchid2:[new d([8193,32,0,0,0,0,0,0]),28]},d.prototype.isIPv4MappedAddress=function(){return this.range()==="ipv4Mapped"},d.prototype.kind=function(){return"ipv6"},d.prototype.match=function(h,p){let g;if(p===void 0&&(g=h,h=g[0],p=g[1]),h.kind()!=="ipv6")throw new Error("ipaddr: cannot match ipv6 address with non-ipv6 one");return u(this.parts,h.parts,16,p)},d.prototype.prefixLengthFromSubnetMask=function(){let h=0,p=!1,g={0:16,32768:15,49152:14,57344:13,61440:12,63488:11,64512:10,65024:9,65280:8,65408:7,65472:6,65504:5,65520:4,65528:3,65532:2,65534:1,65535:0},y,x;for(let b=7;b>=0;b-=1)if(y=this.parts[b],y in g){if(x=g[y],p&&x!==0)return null;x!==16&&(p=!0),h+=x}else return null;return 128-h},d.prototype.range=function(){return m.subnetMatch(this,this.SpecialRanges)},d.prototype.toByteArray=function(){let h,p=[],g=this.parts;for(let y=0;y<g.length;y++)h=g[y],p.push(h>>8),p.push(h&255);return p},d.prototype.toFixedLengthString=function(){let h=function(){let g=[];for(let y=0;y<this.parts.length;y++)g.push(l(this.parts[y].toString(16),4));return g}.call(this).join(":"),p="";return this.zoneId&&(p=`%${this.zoneId}`),h+p},d.prototype.toIPv4Address=function(){if(!this.isIPv4MappedAddress())throw new Error("ipaddr: trying to convert a generic ipv6 address to ipv4");let h=this.parts.slice(-2),p=h[0],g=h[1];return new m.IPv4([p>>8,p&255,g>>8,g&255])},d.prototype.toNormalizedString=function(){let h=function(){let g=[];for(let y=0;y<this.parts.length;y++)g.push(this.parts[y].toString(16));return g}.call(this).join(":"),p="";return this.zoneId&&(p=`%${this.zoneId}`),h+p},d.prototype.toRFC5952String=function(){let h=/((^|:)(0(:|$)){2,})/g,p=this.toNormalizedString(),g=0,y=-1,x;for(;x=h.exec(p);)x[0].length>y&&(g=x.index,y=x[0].length);return y<0?p:`${p.substring(0,g)}::${p.substring(g+y)}`},d.prototype.toString=function(){return this.toRFC5952String()},d}(),m.IPv6.broadcastAddressFromCIDR=function(d){try{let h=this.parseCIDR(d),p=h[0].toByteArray(),g=this.subnetMaskFromPrefixLength(h[1]).toByteArray(),y=[],x=0;for(;x<16;)y.push(parseInt(p[x],10)|parseInt(g[x],10)^255),x++;return new this(y)}catch(h){throw new Error(`ipaddr: the address does not have IPv6 CIDR format (${h})`)}},m.IPv6.isIPv6=function(d){return this.parser(d)!==null},m.IPv6.isValid=function(d){if(typeof d=="string"&&d.indexOf(":")===-1)return!1;try{let h=this.parser(d);return new this(h.parts,h.zoneId),!0}catch{return!1}},m.IPv6.networkAddressFromCIDR=function(d){let h,p,g,y,x;try{for(h=this.parseCIDR(d),g=h[0].toByteArray(),x=this.subnetMaskFromPrefixLength(h[1]).toByteArray(),y=[],p=0;p<16;)y.push(parseInt(g[p],10)&parseInt(x[p],10)),p++;return new this(y)}catch(b){throw new Error(`ipaddr: the address does not have IPv6 CIDR format (${b})`)}},m.IPv6.parse=function(d){let h=this.parser(d);if(h.parts===null)throw new Error("ipaddr: string is not formatted like an IPv6 Address");return new this(h.parts,h.zoneId)},m.IPv6.parseCIDR=function(d){let h,p,g;if((p=d.match(/^(.+)\/(\d+)$/))&&(h=parseInt(p[2]),h>=0&&h<=128))return g=[this.parse(p[1]),h],Object.defineProperty(g,"toString",{value:function(){return this.join("/")}}),g;throw new Error("ipaddr: string is not formatted like an IPv6 CIDR range")},m.IPv6.parser=function(d){let h,p,g,y,x,b;if(g=d.match(a.deprecatedTransitional))return this.parser(`::ffff:${g[1]}`);if(a.native.test(d))return c(d,8);if((g=d.match(a.transitional))&&(b=g[6]||"",h=c(g[1].slice(0,-1)+b,6),h.parts)){for(x=[parseInt(g[2]),parseInt(g[3]),parseInt(g[4]),parseInt(g[5])],p=0;p<x.length;p++)if(y=x[p],!(0<=y&&y<=255))return null;return h.parts.push(x[0]<<8|x[1]),h.parts.push(x[2]<<8|x[3]),{parts:h.parts,zoneId:h.zoneId}}return null},m.IPv6.subnetMaskFromPrefixLength=function(d){if(d=parseInt(d),d<0||d>128)throw new Error("ipaddr: invalid IPv6 prefix length");let h=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],p=0,g=Math.floor(d/8);for(;p<g;)h[p]=255,p++;return g<16&&(h[g]=Math.pow(2,d%8)-1<<8-d%8),new this(h)},m.fromByteArray=function(d){let h=d.length;if(h===4)return new m.IPv4(d);if(h===16)return new m.IPv6(d);throw new Error("ipaddr: the binary input is neither an IPv6 nor IPv4 address")},m.isValid=function(d){return m.IPv6.isValid(d)||m.IPv4.isValid(d)},m.parse=function(d){if(m.IPv6.isValid(d))return m.IPv6.parse(d);if(m.IPv4.isValid(d))return m.IPv4.parse(d);throw new Error("ipaddr: the address has neither IPv6 nor IPv4 format")},m.parseCIDR=function(d){try{return m.IPv6.parseCIDR(d)}catch{try{return m.IPv4.parseCIDR(d)}catch{throw new Error("ipaddr: the address has neither IPv6 nor IPv4 CIDR format")}}},m.process=function(d){let h=this.parse(d);return h.kind()==="ipv6"&&h.isIPv4MappedAddress()?h.toIPv4Address():h},m.subnetMatch=function(d,h,p){let g,y,x,b;p==null&&(p="unicast");for(y in h)if(Object.prototype.hasOwnProperty.call(h,y)){for(x=h[y],x[0]&&!(x[0]instanceof Array)&&(x=[x]),g=0;g<x.length;g++)if(b=x[g],d.kind()===b[0].kind()&&d.match.apply(d,b))return y}return p},typeof l1<"u"&&l1.exports?l1.exports=m:e.ipaddr=m})(wh)});var GS={};rt(GS,{ipns:()=>HS,ipnsSelector:()=>O0,ipnsValidator:()=>X2});var Cs=class e extends Error{code;type;constructor(t="The operation was aborted"){super(t),this.code=e.code,this.type=e.type}static code="ABORT_ERR";static type="aborted"},U=class extends Error{code;props;constructor(t,r,n){super(t),this.code=r,this.name=n?.name??"CodeError",this.props=n??{}}};var Ne=ht(Q1(),1);var j1={};rt(j1,{base32:()=>Xe,base32hex:()=>ud,base32hexpad:()=>ld,base32hexpadupper:()=>hd,base32hexupper:()=>fd,base32pad:()=>ad,base32padupper:()=>cd,base32upper:()=>Of,base32z:()=>dd});function rd(e,t){if(e.length>=255)throw new TypeError("Alphabet too long");for(var r=new Uint8Array(256),n=0;n<r.length;n++)r[n]=255;for(var o=0;o<e.length;o++){var i=e.charAt(o),s=i.charCodeAt(0);if(r[s]!==255)throw new TypeError(i+" is ambiguous");r[s]=o}var a=e.length,c=e.charAt(0),u=Math.log(a)/Math.log(256),f=Math.log(256)/Math.log(a);function l(h){if(h instanceof Uint8Array||(ArrayBuffer.isView(h)?h=new Uint8Array(h.buffer,h.byteOffset,h.byteLength):Array.isArray(h)&&(h=Uint8Array.from(h))),!(h instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(h.length===0)return"";for(var p=0,g=0,y=0,x=h.length;y!==x&&h[y]===0;)y++,p++;for(var b=(x-y)*f+1>>>0,A=new Uint8Array(b);y!==x;){for(var v=h[y],E=0,_=b-1;(v!==0||E<g)&&_!==-1;_--,E++)v+=256*A[_]>>>0,A[_]=v%a>>>0,v=v/a>>>0;if(v!==0)throw new Error("Non-zero carry");g=E,y++}for(var I=b-g;I!==b&&A[I]===0;)I++;for(var k=c.repeat(p);I<b;++I)k+=e.charAt(A[I]);return k}function m(h){if(typeof h!="string")throw new TypeError("Expected String");if(h.length===0)return new Uint8Array;var p=0;if(h[p]!==" "){for(var g=0,y=0;h[p]===c;)g++,p++;for(var x=(h.length-p)*u+1>>>0,b=new Uint8Array(x);h[p];){var A=r[h.charCodeAt(p)];if(A===255)return;for(var v=0,E=x-1;(A!==0||v<y)&&E!==-1;E--,v++)A+=a*b[E]>>>0,b[E]=A%256>>>0,A=A/256>>>0;if(A!==0)throw new Error("Non-zero carry");y=v,p++}if(h[p]!==" "){for(var _=x-y;_!==x&&b[_]===0;)_++;for(var I=new Uint8Array(g+(x-_)),k=g;_!==x;)I[k++]=b[_++];return I}}}function d(h){var p=m(h);if(p)return p;throw new Error(`Non-${t} character`)}return{encode:l,decodeUnsafe:m,decode:d}}var nd=rd,od=nd,Pf=od;var jS=new Uint8Array(0);var Nf=(e,t)=>{if(e===t)return!0;if(e.byteLength!==t.byteLength)return!1;for(let r=0;r<e.byteLength;r++)if(e[r]!==t[r])return!1;return!0},_r=e=>{if(e instanceof Uint8Array&&e.constructor.name==="Uint8Array")return e;if(e instanceof ArrayBuffer)return new Uint8Array(e);if(ArrayBuffer.isView(e))return new Uint8Array(e.buffer,e.byteOffset,e.byteLength);throw new Error("Unknown type, must be binary type")};var Df=e=>new TextEncoder().encode(e),Lf=e=>new TextDecoder().decode(e);var Y1=class{constructor(t,r,n){this.name=t,this.prefix=r,this.baseEncode=n}encode(t){if(t instanceof Uint8Array)return`${this.prefix}${this.baseEncode(t)}`;throw Error("Unknown type, must be binary type")}},W1=class{constructor(t,r,n){if(this.name=t,this.prefix=r,r.codePointAt(0)===void 0)throw new Error("Invalid prefix character");this.prefixCodePoint=r.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 Uf(this,t)}},Z1=class{constructor(t){this.decoders=t}or(t){return Uf(this,t)}decode(t){let r=t[0],n=this.decoders[r];if(n)return n.decode(t);throw RangeError(`Unable to decode multibase string ${JSON.stringify(t)}, only inputs prefixed with ${Object.keys(this.decoders)} are supported`)}},Uf=(e,t)=>new Z1({...e.decoders||{[e.prefix]:e},...t.decoders||{[t.prefix]:t}}),X1=class{constructor(t,r,n,o){this.name=t,this.prefix=r,this.baseEncode=n,this.baseDecode=o,this.encoder=new Y1(t,r,n),this.decoder=new W1(t,r,o)}encode(t){return this.encoder.encode(t)}decode(t){return this.decoder.decode(t)}},fo=({name:e,prefix:t,encode:r,decode:n})=>new X1(e,t,r,n),rn=({prefix:e,name:t,alphabet:r})=>{let{encode:n,decode:o}=Pf(r,t);return fo({prefix:e,name:t,encode:n,decode:i=>_r(o(i))})},id=(e,t,r,n)=>{let o={};for(let f=0;f<t.length;++f)o[t[f]]=f;let i=e.length;for(;e[i-1]==="=";)--i;let s=new Uint8Array(i*r/8|0),a=0,c=0,u=0;for(let f=0;f<i;++f){let l=o[e[f]];if(l===void 0)throw new SyntaxError(`Non-${n} character`);c=c<<r|l,a+=r,a>=8&&(a-=8,s[u++]=255&c>>a)}if(a>=r||255&c<<8-a)throw new SyntaxError("Unexpected end of data");return s},sd=(e,t,r)=>{let n=t[t.length-1]==="=",o=(1<<r)-1,i="",s=0,a=0;for(let c=0;c<e.length;++c)for(a=a<<8|e[c],s+=8;s>r;)s-=r,i+=t[o&a>>s];if(s&&(i+=t[o&a<<r-s]),n)for(;i.length*r&7;)i+="=";return i},Mt=({name:e,prefix:t,bitsPerChar:r,alphabet:n})=>fo({prefix:t,name:e,encode(o){return sd(o,n,r)},decode(o){return id(o,n,r,e)}});var Xe=Mt({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),Of=Mt({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),ad=Mt({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),cd=Mt({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),ud=Mt({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),fd=Mt({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),ld=Mt({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),hd=Mt({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),dd=Mt({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var J1={};rt(J1,{base58btc:()=>$t,base58flickr:()=>pd});var $t=rn({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),pd=rn({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var ta={};rt(ta,{base64:()=>Ln,base64pad:()=>md,base64url:()=>gd,base64urlpad:()=>yd});var Ln=Mt({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),md=Mt({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),gd=Mt({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),yd=Mt({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});Ne.default.formatters.b=e=>e==null?"undefined":$t.baseEncode(e);Ne.default.formatters.t=e=>e==null?"undefined":Xe.baseEncode(e);Ne.default.formatters.m=e=>e==null?"undefined":Ln.baseEncode(e);Ne.default.formatters.p=e=>e==null?"undefined":e.toString();Ne.default.formatters.c=e=>e==null?"undefined":e.toString();Ne.default.formatters.k=e=>e==null?"undefined":e.toString();Ne.default.formatters.a=e=>e==null?"undefined":e.toString();function xd(e){let t=()=>{};return t.enabled=!1,t.color="",t.diff=0,t.log=()=>{},t.namespace=e,t.destroy=()=>!0,t.extend=()=>t,t}function tt(e){let t=xd(`${e}:trace`);return Ne.default.enabled(`${e}:trace`)&&Ne.default.names.map(r=>r.toString()).find(r=>r.includes(":trace"))!=null&&(t=(0,Ne.default)(`${e}:trace`)),Object.assign((0,Ne.default)(e),{error:(0,Ne.default)(`${e}:error`),trace:t})}var ea=Symbol.for("@libp2p/peer-id");function Ff(e){return e!=null&&!!e[ea]}var ra={};rt(ra,{base10:()=>bd});var bd=rn({prefix:"9",name:"base10",alphabet:"0123456789"});var na={};rt(na,{base16:()=>wd,base16upper:()=>vd});var wd=Mt({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),vd=Mt({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var oa={};rt(oa,{base2:()=>Ed});var Ed=Mt({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var ia={};rt(ia,{base256emoji:()=>Cd});var Mf=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}"),Sd=Mf.reduce((e,t,r)=>(e[r]=t,e),[]),Id=Mf.reduce((e,t,r)=>(e[t.codePointAt(0)]=r,e),[]);function Ad(e){return e.reduce((t,r)=>(t+=Sd[r],t),"")}function Td(e){let t=[];for(let r of e){let n=Id[r.codePointAt(0)];if(n===void 0)throw new Error(`Non-base256emoji character: ${r}`);t.push(n)}return new Uint8Array(t)}var Cd=fo({prefix:"\u{1F680}",name:"base256emoji",encode:Ad,decode:Td});var sa={};rt(sa,{base36:()=>Bs,base36upper:()=>Rd});var Bs=rn({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),Rd=rn({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var aa={};rt(aa,{base8:()=>_d});var _d=Mt({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var ca={};rt(ca,{identity:()=>Bd});var Bd=fo({prefix:"\0",name:"identity",encode:e=>Lf(e),decode:e=>Df(e)});var vI=new TextEncoder,EI=new TextDecoder;var fa={};rt(fa,{identity:()=>pr});var Dd=qf,Vf=128,Ld=127,kd=~Ld,Ud=Math.pow(2,31);function qf(e,t,r){t=t||[],r=r||0;for(var n=r;e>=Ud;)t[r++]=e&255|Vf,e/=128;for(;e&kd;)t[r++]=e&255|Vf,e>>>=7;return t[r]=e|0,qf.bytes=r-n+1,t}var Od=ua,Fd=128,Kf=127;function ua(e,n){var r=0,n=n||0,o=0,i=n,s,a=e.length;do{if(i>=a)throw ua.bytes=0,new RangeError("Could not decode varint");s=e[i++],r+=o<28?(s&Kf)<<o:(s&Kf)*Math.pow(2,o),o+=7}while(s>=Fd);return ua.bytes=i-n,r}var Md=Math.pow(2,7),Vd=Math.pow(2,14),Kd=Math.pow(2,21),qd=Math.pow(2,28),zd=Math.pow(2,35),$d=Math.pow(2,42),Hd=Math.pow(2,49),Gd=Math.pow(2,56),Qd=Math.pow(2,63),Yd=function(e){return e<Md?1:e<Vd?2:e<Kd?3:e<qd?4:e<zd?5:e<$d?6:e<Hd?7:e<Gd?8:e<Qd?9:10},Wd={encode:Dd,decode:Od,encodingLength:Yd},Zd=Wd,pi=Zd;var mi=(e,t=0)=>[pi.decode(e,t),pi.decode.bytes],lo=(e,t,r=0)=>(pi.encode(e,t,r),t),ho=e=>pi.encodingLength(e);var dr=(e,t)=>{let r=t.byteLength,n=ho(e),o=n+ho(r),i=new Uint8Array(o+r);return lo(e,i,0),lo(r,i,n),i.set(t,o),new po(e,r,t,i)},Br=e=>{let t=_r(e),[r,n]=mi(t),[o,i]=mi(t.subarray(n)),s=t.subarray(n+i);if(s.byteLength!==o)throw new Error("Incorrect length");return new po(r,o,s,t)},zf=(e,t)=>{if(e===t)return!0;{let r=t;return e.code===r.code&&e.size===r.size&&r.bytes instanceof Uint8Array&&Nf(e.bytes,r.bytes)}},po=class{constructor(t,r,n,o){this.code=t,this.size=r,this.digest=n,this.bytes=o}};var $f=0,Xd="identity",Hf=_r,jd=e=>dr($f,Hf(e)),pr={code:$f,name:Xd,encode:Hf,digest:jd};var da={};rt(da,{sha256:()=>kt,sha512:()=>Jd});var ha=({name:e,code:t,encode:r})=>new la(e,t,r),la=class{constructor(t,r,n){this.name=t,this.code=r,this.encode=n}digest(t){if(t instanceof Uint8Array){let r=this.encode(t);return r instanceof Uint8Array?dr(this.code,r):r.then(n=>dr(this.code,n))}else throw Error("Unknown type, must be binary type")}};var Qf=e=>async t=>new Uint8Array(await crypto.subtle.digest(e,t)),kt=ha({name:"sha2-256",code:18,encode:Qf("SHA-256")}),Jd=ha({name:"sha2-512",code:19,encode:Qf("SHA-512")});var Yf=(e,t)=>{let{bytes:r,version:n}=e;switch(n){case 0:return ep(r,pa(e),t||$t.encoder);default:return rp(r,pa(e),t||Xe.encoder)}};var Wf=new WeakMap,pa=e=>{let t=Wf.get(e);if(t==null){let r=new Map;return Wf.set(e,r),r}return t},Ht=class e{constructor(t,r,n,o){this.code=r,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:r}=this;if(t!==gi)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(r.code!==np)throw new Error("Cannot convert non sha2-256 multihash CID to CIDv0");return e.createV0(r)}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:r}=this.multihash,n=dr(t,r);return e.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 e.equals(this,t)}static equals(t,r){let n=r;return n&&t.code===n.code&&t.version===n.version&&zf(t.multihash,n.multihash)}toString(t){return Yf(this,t)}toJSON(){return{"/":Yf(this)}}link(){return this}get[Symbol.toStringTag](){return"CID"}[Symbol.for("nodejs.util.inspect.custom")](){return`CID(${this.toString()})`}static asCID(t){if(t==null)return null;let r=t;if(r instanceof e)return r;if(r["/"]!=null&&r["/"]===r.bytes||r.asCID===r){let{version:n,code:o,multihash:i,bytes:s}=r;return new e(n,o,i,s||Zf(n,o,i.bytes))}else if(r[op]===!0){let{version:n,multihash:o,code:i}=r,s=Br(o);return e.create(n,i,s)}else return null}static create(t,r,n){if(typeof r!="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(r!==gi)throw new Error(`Version 0 CID must use dag-pb (code: ${gi}) block encoding`);return new e(t,r,n,n.bytes)}case 1:{let o=Zf(t,r,n.bytes);return new e(t,r,n,o)}default:throw new Error("Invalid version")}}static createV0(t){return e.create(0,gi,t)}static createV1(t,r){return e.create(1,t,r)}static decode(t){let[r,n]=e.decodeFirst(t);if(n.length)throw new Error("Incorrect length");return r}static decodeFirst(t){let r=e.inspectBytes(t),n=r.size-r.multihashSize,o=_r(t.subarray(n,n+r.multihashSize));if(o.byteLength!==r.multihashSize)throw new Error("Incorrect length");let i=o.subarray(r.multihashSize-r.digestSize),s=new po(r.multihashCode,r.digestSize,i,o);return[r.version===0?e.createV0(s):e.createV1(r.codec,s),t.subarray(r.size)]}static inspectBytes(t){let r=0,n=()=>{let[l,m]=mi(t.subarray(r));return r+=m,l},o=n(),i=gi;if(o===18?(o=0,r=0):i=n(),o!==0&&o!==1)throw new RangeError(`Invalid CID version ${o}`);let s=r,a=n(),c=n(),u=r+c,f=u-s;return{version:o,codec:i,multihashCode:a,digestSize:c,multihashSize:f,size:u}}static parse(t,r){let[n,o]=tp(t,r),i=e.decode(o);if(i.version===0&&t[0]!=="Q")throw Error("Version 0 CID string must not include multibase prefix");return pa(i).set(n,t),i}},tp=(e,t)=>{switch(e[0]){case"Q":{let r=t||$t;return[$t.prefix,r.decode(`${$t.prefix}${e}`)]}case $t.prefix:{let r=t||$t;return[$t.prefix,r.decode(e)]}case Xe.prefix:{let r=t||Xe;return[Xe.prefix,r.decode(e)]}default:{if(t==null)throw Error("To parse non base32 or base58btc encoded CID multibase decoder must be provided");return[e[0],t.decode(e)]}}},ep=(e,t,r)=>{let{prefix:n}=r;if(n!==$t.prefix)throw Error(`Cannot string encode V0 in ${r.name} encoding`);let o=t.get(n);if(o==null){let i=r.encode(e).slice(1);return t.set(n,i),i}else return o},rp=(e,t,r)=>{let{prefix:n}=r,o=t.get(n);if(o==null){let i=r.encode(e);return t.set(n,i),i}else return o},gi=112,np=18,Zf=(e,t,r)=>{let n=ho(e),o=n+ho(t),i=new Uint8Array(o+r.byteLength);return lo(e,i,0),lo(t,i,n),i.set(r,o),i},op=Symbol.for("@ipld/js-cid/CID");var on={...ca,...oa,...aa,...ra,...na,...j1,...sa,...J1,...ta,...ia},FI={...da,...fa};function dt(e,t){if(e===t)return!0;if(e.byteLength!==t.byteLength)return!1;for(let r=0;r<e.byteLength;r++)if(e[r]!==t[r])return!1;return!0}var ip=Symbol.for("nodejs.util.inspect.custom"),Xf=Object.values(on).map(e=>e.decoder).reduce((e,t)=>e.or(t),on.identity.decoder),jf=114,ma=36,ga=37,yi=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()})`}[ea]=!0;toString(){return this.string==null&&(this.string=$t.encode(this.multihash.bytes).slice(1)),this.string}toCID(){return Ht.createV1(jf,this.multihash)}toBytes(){return this.multihash.bytes}toJSON(){return this.toString()}equals(t){if(t instanceof Uint8Array)return dt(this.multihash.bytes,t);if(typeof t=="string")return Pt(t).equals(this);if(t?.multihash?.bytes!=null)return dt(this.multihash.bytes,t.multihash.bytes);throw new Error("not valid Id")}[ip](){return`PeerId(${this.toString()})`}},mo=class extends yi{type="RSA";publicKey;constructor(t){super({...t,type:"RSA"}),this.publicKey=t.publicKey}},go=class extends yi{type="Ed25519";publicKey;constructor(t){super({...t,type:"Ed25519"}),this.publicKey=t.multihash.digest}},yo=class extends yi{type="secp256k1";publicKey;constructor(t){super({...t,type:"secp256k1"}),this.publicKey=t.multihash.digest}};function Pt(e,t){if(t=t??Xf,e.charAt(0)==="1"||e.charAt(0)==="Q"){let r=Br($t.decode(`z${e}`));return e.startsWith("12D")?new go({multihash:r}):e.startsWith("16U")?new yo({multihash:r}):new mo({multihash:r})}return Pr(Xf.decode(e))}function Pr(e){try{let t=Br(e);if(t.code===pr.code){if(t.digest.length===ma)return new go({multihash:t});if(t.digest.length===ga)return new yo({multihash:t})}if(t.code===kt.code)return new mo({multihash:t})}catch{return sp(Ht.decode(e))}throw new Error("Supplied PeerID CID is invalid")}function sp(e){if(e==null||e.multihash==null||e.version==null||e.version===1&&e.code!==jf)throw new Error("Supplied PeerID CID is invalid");let t=e.multihash;if(t.code===kt.code)return new mo({multihash:e.multihash});if(t.code===pr.code){if(t.digest.length===ma)return new go({multihash:e.multihash});if(t.digest.length===ga)return new yo({multihash:e.multihash})}throw new Error("Supplied PeerID CID is invalid")}async function Ns(e,t){return e.length===ma?new go({multihash:dr(pr.code,e),privateKey:t}):e.length===ga?new yo({multihash:dr(pr.code,e),privateKey:t}):new mo({multihash:await kt.digest(e),publicKey:e,privateKey:t})}var E0={};rt(E0,{generateEphemeralKeyPair:()=>J4,generateKeyPair:()=>Iy,generateKeyPairFromSeed:()=>Ay,importKey:()=>Ry,keyStretcher:()=>il,keysPBM:()=>Bo,marshalPrivateKey:()=>Cy,marshalPublicKey:()=>Ty,supportedKeys:()=>Sr,unmarshalPrivateKey:()=>v0,unmarshalPublicKey:()=>w0});var LR=ht(vi(),1),kR=ht(d4(),1);var b0=ht(St(),1);function vr(e){return globalThis.Buffer!=null?new Uint8Array(e.buffer,e.byteOffset,e.byteLength):e}function kr(e=0){return globalThis.Buffer?.alloc!=null?vr(globalThis.Buffer.alloc(e)):new Uint8Array(e)}function se(e=0){return globalThis.Buffer?.allocUnsafe!=null?vr(globalThis.Buffer.allocUnsafe(e)):new Uint8Array(e)}function m4(e,t,r,n){return{name:e,prefix:t,encoder:{name:e,prefix:t,encode:r},decoder:{decode:n}}}var p4=m4("utf8","u",e=>"u"+new TextDecoder("utf8").decode(e),e=>new TextEncoder().encode(e.substring(1))),Ma=m4("ascii","a",e=>{let t="a";for(let r=0;r<e.length;r++)t+=String.fromCharCode(e[r]);return t},e=>{e=e.substring(1);let t=se(e.length);for(let r=0;r<e.length;r++)t[r]=e.charCodeAt(r);return t}),Pm={utf8:p4,"utf-8":p4,hex:on.base16,latin1:Ma,ascii:Ma,binary:Ma,...on},js=Pm;function at(e,t="utf8"){let r=js[t];if(r==null)throw new Error(`Unsupported encoding "${t}"`);return(t==="utf8"||t==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?vr(globalThis.Buffer.from(e,"utf-8")):r.decoder.decode(`${r.prefix}${e}`)}var g2={};rt(g2,{Ed25519PrivateKey:()=>Hn,Ed25519PublicKey:()=>Bi,generateKeyPair:()=>Gg,generateKeyPairFromSeed:()=>m2,unmarshalEd25519PrivateKey:()=>$g,unmarshalEd25519PublicKey:()=>Hg});function g4(e){if(!Number.isSafeInteger(e)||e<0)throw new Error(`Wrong positive integer: ${e}`)}function Va(e,...t){if(!(e instanceof Uint8Array))throw new Error("Expected Uint8Array");if(t.length>0&&!t.includes(e.length))throw new Error(`Expected Uint8Array of length ${t}, not of length=${e.length}`)}function y4(e){if(typeof e!="function"||typeof e.create!="function")throw new Error("Hash should be wrapped by utils.wrapConstructor");g4(e.outputLen),g4(e.blockLen)}function Eo(e,t=!0){if(e.destroyed)throw new Error("Hash instance has been destroyed");if(t&&e.finished)throw new Error("Hash#digest() has already been called")}function x4(e,t){Va(e);let r=t.outputLen;if(e.length<r)throw new Error(`digestInto() expects output buffer of length at least ${r}`)}var Js=typeof globalThis=="object"&&"crypto"in globalThis?globalThis.crypto:void 0;var b4=e=>e instanceof Uint8Array;var t0=e=>new DataView(e.buffer,e.byteOffset,e.byteLength),tr=(e,t)=>e<<32-t|e>>>t,Nm=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;if(!Nm)throw new Error("Non little-endian hardware is not supported");function Ka(e){if(typeof e!="string")throw new Error(`utf8ToBytes expected string, got ${typeof e}`);return new Uint8Array(new TextEncoder().encode(e))}function Ii(e){if(typeof e=="string"&&(e=Ka(e)),!b4(e))throw new Error(`expected Uint8Array, got ${typeof e}`);return e}function e0(...e){let t=new Uint8Array(e.reduce((n,o)=>n+o.length,0)),r=0;return e.forEach(n=>{if(!b4(n))throw new Error("Uint8Array expected");t.set(n,r),r+=n.length}),t}var So=class{clone(){return this._cloneInto()}},DA={}.toString;function r0(e){let t=n=>e().update(Ii(n)).digest(),r=e();return t.outputLen=r.outputLen,t.blockLen=r.blockLen,t.create=()=>e(),t}function Io(e=32){if(Js&&typeof Js.getRandomValues=="function")return Js.getRandomValues(new Uint8Array(e));throw new Error("crypto.getRandomValues must be defined")}function Dm(e,t,r,n){if(typeof e.setBigUint64=="function")return e.setBigUint64(t,r,n);let o=BigInt(32),i=BigInt(4294967295),s=Number(r>>o&i),a=Number(r&i),c=n?4:0,u=n?0:4;e.setUint32(t+c,s,n),e.setUint32(t+u,a,n)}var Ao=class extends So{constructor(t,r,n,o){super(),this.blockLen=t,this.outputLen=r,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=t0(this.buffer)}update(t){Eo(this);let{view:r,buffer:n,blockLen:o}=this;t=Ii(t);let i=t.length;for(let s=0;s<i;){let a=Math.min(o-this.pos,i-s);if(a===o){let c=t0(t);for(;o<=i-s;s+=o)this.process(c,s);continue}n.set(t.subarray(s,s+a),this.pos),this.pos+=a,s+=a,this.pos===o&&(this.process(r,0),this.pos=0)}return this.length+=t.length,this.roundClean(),this}digestInto(t){Eo(this),x4(t,this),this.finished=!0;let{buffer:r,view:n,blockLen:o,isLE:i}=this,{pos:s}=this;r[s++]=128,this.buffer.subarray(s).fill(0),this.padOffset>o-s&&(this.process(n,0),s=0);for(let l=s;l<o;l++)r[l]=0;Dm(n,o-8,BigInt(this.length*8),i),this.process(n,0);let a=t0(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],i)}digest(){let{buffer:t,outputLen:r}=this;this.digestInto(t);let n=t.slice(0,r);return this.destroy(),n}_cloneInto(t){t||(t=new this.constructor),t.set(...this.get());let{blockLen:r,buffer:n,length:o,finished:i,destroyed:s,pos:a}=this;return t.length=o,t.pos=a,t.finished=i,t.destroyed=s,o%r&&t.buffer.set(n),t}};var n0=BigInt(4294967295),qa=BigInt(32);function w4(e,t=!1){return t?{h:Number(e&n0),l:Number(e>>qa&n0)}:{h:Number(e>>qa&n0)|0,l:Number(e&n0)|0}}function Lm(e,t=!1){let r=new Uint32Array(e.length),n=new Uint32Array(e.length);for(let o=0;o<e.length;o++){let{h:i,l:s}=w4(e[o],t);[r[o],n[o]]=[i,s]}return[r,n]}var km=(e,t)=>BigInt(e>>>0)<<qa|BigInt(t>>>0),Um=(e,t,r)=>e>>>r,Om=(e,t,r)=>e<<32-r|t>>>r,Fm=(e,t,r)=>e>>>r|t<<32-r,Mm=(e,t,r)=>e<<32-r|t>>>r,Vm=(e,t,r)=>e<<64-r|t>>>r-32,Km=(e,t,r)=>e>>>r-32|t<<64-r,qm=(e,t)=>t,zm=(e,t)=>e,$m=(e,t,r)=>e<<r|t>>>32-r,Hm=(e,t,r)=>t<<r|e>>>32-r,Gm=(e,t,r)=>t<<r-32|e>>>64-r,Qm=(e,t,r)=>e<<r-32|t>>>64-r;function Ym(e,t,r,n){let o=(t>>>0)+(n>>>0);return{h:e+r+(o/2**32|0)|0,l:o|0}}var Wm=(e,t,r)=>(e>>>0)+(t>>>0)+(r>>>0),Zm=(e,t,r,n)=>t+r+n+(e/2**32|0)|0,Xm=(e,t,r,n)=>(e>>>0)+(t>>>0)+(r>>>0)+(n>>>0),jm=(e,t,r,n,o)=>t+r+n+o+(e/2**32|0)|0,Jm=(e,t,r,n,o)=>(e>>>0)+(t>>>0)+(r>>>0)+(n>>>0)+(o>>>0),tg=(e,t,r,n,o,i)=>t+r+n+o+i+(e/2**32|0)|0;var eg={fromBig:w4,split:Lm,toBig:km,shrSH:Um,shrSL:Om,rotrSH:Fm,rotrSL:Mm,rotrBH:Vm,rotrBL:Km,rotr32H:qm,rotr32L:zm,rotlSH:$m,rotlSL:Hm,rotlBH:Gm,rotlBL:Qm,add:Ym,add3L:Wm,add3H:Zm,add4L:Xm,add4H:jm,add5H:tg,add5L:Jm},ct=eg;var[rg,ng]=ct.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(e=>BigInt(e))),fn=new Uint32Array(80),ln=new Uint32Array(80),za=class extends Ao{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:r,Bh:n,Bl:o,Ch:i,Cl:s,Dh:a,Dl:c,Eh:u,El:f,Fh:l,Fl:m,Gh:d,Gl:h,Hh:p,Hl:g}=this;return[t,r,n,o,i,s,a,c,u,f,l,m,d,h,p,g]}set(t,r,n,o,i,s,a,c,u,f,l,m,d,h,p,g){this.Ah=t|0,this.Al=r|0,this.Bh=n|0,this.Bl=o|0,this.Ch=i|0,this.Cl=s|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=d|0,this.Gl=h|0,this.Hh=p|0,this.Hl=g|0}process(t,r){for(let b=0;b<16;b++,r+=4)fn[b]=t.getUint32(r),ln[b]=t.getUint32(r+=4);for(let b=16;b<80;b++){let A=fn[b-15]|0,v=ln[b-15]|0,E=ct.rotrSH(A,v,1)^ct.rotrSH(A,v,8)^ct.shrSH(A,v,7),_=ct.rotrSL(A,v,1)^ct.rotrSL(A,v,8)^ct.shrSL(A,v,7),I=fn[b-2]|0,k=ln[b-2]|0,K=ct.rotrSH(I,k,19)^ct.rotrBH(I,k,61)^ct.shrSH(I,k,6),F=ct.rotrSL(I,k,19)^ct.rotrBL(I,k,61)^ct.shrSL(I,k,6),z=ct.add4L(_,F,ln[b-7],ln[b-16]),X=ct.add4H(z,E,K,fn[b-7],fn[b-16]);fn[b]=X|0,ln[b]=z|0}let{Ah:n,Al:o,Bh:i,Bl:s,Ch:a,Cl:c,Dh:u,Dl:f,Eh:l,El:m,Fh:d,Fl:h,Gh:p,Gl:g,Hh:y,Hl:x}=this;for(let b=0;b<80;b++){let A=ct.rotrSH(l,m,14)^ct.rotrSH(l,m,18)^ct.rotrBH(l,m,41),v=ct.rotrSL(l,m,14)^ct.rotrSL(l,m,18)^ct.rotrBL(l,m,41),E=l&d^~l&p,_=m&h^~m&g,I=ct.add5L(x,v,_,ng[b],ln[b]),k=ct.add5H(I,y,A,E,rg[b],fn[b]),K=I|0,F=ct.rotrSH(n,o,28)^ct.rotrBH(n,o,34)^ct.rotrBH(n,o,39),z=ct.rotrSL(n,o,28)^ct.rotrBL(n,o,34)^ct.rotrBL(n,o,39),X=n&i^n&a^i&a,ut=o&s^o&c^s&c;y=p|0,x=g|0,p=d|0,g=h|0,d=l|0,h=m|0,{h:l,l:m}=ct.add(u|0,f|0,k|0,K|0),u=a|0,f=c|0,a=i|0,c=s|0,i=n|0,s=o|0;let T=ct.add3L(K,z,ut);n=ct.add3H(T,k,F,X),o=T|0}({h:n,l:o}=ct.add(this.Ah|0,this.Al|0,n|0,o|0)),{h:i,l:s}=ct.add(this.Bh|0,this.Bl|0,i|0,s|0),{h:a,l:c}=ct.add(this.Ch|0,this.Cl|0,a|0,c|0),{h:u,l:f}=ct.add(this.Dh|0,this.Dl|0,u|0,f|0),{h:l,l:m}=ct.add(this.Eh|0,this.El|0,l|0,m|0),{h:d,l:h}=ct.add(this.Fh|0,this.Fl|0,d|0,h|0),{h:p,l:g}=ct.add(this.Gh|0,this.Gl|0,p|0,g|0),{h:y,l:x}=ct.add(this.Hh|0,this.Hl|0,y|0,x|0),this.set(n,o,i,s,a,c,u,f,l,m,d,h,p,g,y,x)}roundClean(){fn.fill(0),ln.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 $a=r0(()=>new za);var s0={};rt(s0,{bitGet:()=>fg,bitLen:()=>ug,bitMask:()=>Ai,bitSet:()=>lg,bytesToHex:()=>Ur,bytesToNumberBE:()=>Or,bytesToNumberLE:()=>hn,concatBytes:()=>Fr,createHmacDrbg:()=>Qa,ensureBytes:()=>Vt,equalBytes:()=>ag,hexToBytes:()=>Vn,hexToNumber:()=>Ga,numberToBytesBE:()=>dn,numberToBytesLE:()=>Kn,numberToHexUnpadded:()=>S4,numberToVarBytesBE:()=>sg,utf8ToBytes:()=>cg,validateObject:()=>Er});var E4=BigInt(0),o0=BigInt(1),og=BigInt(2),i0=e=>e instanceof Uint8Array,ig=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,"0"));function Ur(e){if(!i0(e))throw new Error("Uint8Array expected");let t="";for(let r=0;r<e.length;r++)t+=ig[e[r]];return t}function S4(e){let t=e.toString(16);return t.length&1?`0${t}`:t}function Ga(e){if(typeof e!="string")throw new Error("hex string expected, got "+typeof e);return BigInt(e===""?"0":`0x${e}`)}function Vn(e){if(typeof e!="string")throw new Error("hex string expected, got "+typeof e);let t=e.length;if(t%2)throw new Error("padded hex string expected, got unpadded hex of length "+t);let r=new Uint8Array(t/2);for(let n=0;n<r.length;n++){let o=n*2,i=e.slice(o,o+2),s=Number.parseInt(i,16);if(Number.isNaN(s)||s<0)throw new Error("Invalid byte sequence");r[n]=s}return r}function Or(e){return Ga(Ur(e))}function hn(e){if(!i0(e))throw new Error("Uint8Array expected");return Ga(Ur(Uint8Array.from(e).reverse()))}function dn(e,t){return Vn(e.toString(16).padStart(t*2,"0"))}function Kn(e,t){return dn(e,t).reverse()}function sg(e){return Vn(S4(e))}function Vt(e,t,r){let n;if(typeof t=="string")try{n=Vn(t)}catch(i){throw new Error(`${e} must be valid hex string, got "${t}". Cause: ${i}`)}else if(i0(t))n=Uint8Array.from(t);else throw new Error(`${e} must be hex string or Uint8Array`);let o=n.length;if(typeof r=="number"&&o!==r)throw new Error(`${e} expected ${r} bytes, got ${o}`);return n}function Fr(...e){let t=new Uint8Array(e.reduce((n,o)=>n+o.length,0)),r=0;return e.forEach(n=>{if(!i0(n))throw new Error("Uint8Array expected");t.set(n,r),r+=n.length}),t}function ag(e,t){if(e.length!==t.length)return!1;for(let r=0;r<e.length;r++)if(e[r]!==t[r])return!1;return!0}function cg(e){if(typeof e!="string")throw new Error(`utf8ToBytes expected string, got ${typeof e}`);return new Uint8Array(new TextEncoder().encode(e))}function ug(e){let t;for(t=0;e>E4;e>>=o0,t+=1);return t}function fg(e,t){return e>>BigInt(t)&o0}var lg=(e,t,r)=>e|(r?o0:E4)<<BigInt(t),Ai=e=>(og<<BigInt(e-1))-o0,Ha=e=>new Uint8Array(e),v4=e=>Uint8Array.from(e);function Qa(e,t,r){if(typeof e!="number"||e<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 r!="function")throw new Error("hmacFn must be a function");let n=Ha(e),o=Ha(e),i=0,s=()=>{n.fill(1),o.fill(0),i=0},a=(...l)=>r(o,n,...l),c=(l=Ha())=>{o=a(v4([0]),l),n=a(),l.length!==0&&(o=a(v4([1]),l),n=a())},u=()=>{if(i++>=1e3)throw new Error("drbg: tried 1000 values");let l=0,m=[];for(;l<t;){n=a();let d=n.slice();m.push(d),l+=n.length}return Fr(...m)};return(l,m)=>{s(),c(l);let d;for(;!(d=m(u()));)c();return s(),d}}var hg={bigint:e=>typeof e=="bigint",function:e=>typeof e=="function",boolean:e=>typeof e=="boolean",string:e=>typeof e=="string",stringOrUint8Array:e=>typeof e=="string"||e instanceof Uint8Array,isSafeInteger:e=>Number.isSafeInteger(e),array:e=>Array.isArray(e),field:(e,t)=>t.Fp.isValid(e),hash:e=>typeof e=="function"&&Number.isSafeInteger(e.outputLen)};function Er(e,t,r={}){let n=(o,i,s)=>{let a=hg[i];if(typeof a!="function")throw new Error(`Invalid validator "${i}", expected function`);let c=e[o];if(!(s&&c===void 0)&&!a(c,e))throw new Error(`Invalid param ${String(o)}=${c} (${typeof c}), expected ${i}`)};for(let[o,i]of Object.entries(t))n(o,i,!1);for(let[o,i]of Object.entries(r))n(o,i,!0);return e}var re=BigInt(0),Dt=BigInt(1),qn=BigInt(2),dg=BigInt(3),Ya=BigInt(4),I4=BigInt(5),A4=BigInt(8),pg=BigInt(9),mg=BigInt(16);function At(e,t){let r=e%t;return r>=re?r:t+r}function gg(e,t,r){if(r<=re||t<re)throw new Error("Expected power/modulo > 0");if(r===Dt)return re;let n=Dt;for(;t>re;)t&Dt&&(n=n*e%r),e=e*e%r,t>>=Dt;return n}function Lt(e,t,r){let n=e;for(;t-- >re;)n*=n,n%=r;return n}function a0(e,t){if(e===re||t<=re)throw new Error(`invert: expected positive integers, got n=${e} mod=${t}`);let r=At(e,t),n=t,o=re,i=Dt,s=Dt,a=re;for(;r!==re;){let u=n/r,f=n%r,l=o-s*u,m=i-a*u;n=r,r=f,o=s,i=a,s=l,a=m}if(n!==Dt)throw new Error("invert: does not exist");return At(o,t)}function yg(e){let t=(e-Dt)/qn,r,n,o;for(r=e-Dt,n=0;r%qn===re;r/=qn,n++);for(o=qn;o<e&&gg(o,t,e)!==e-Dt;o++);if(n===1){let s=(e+Dt)/Ya;return function(c,u){let f=c.pow(u,s);if(!c.eql(c.sqr(f),u))throw new Error("Cannot find square root");return f}}let i=(r+Dt)/qn;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),r),l=a.pow(c,i),m=a.pow(c,r);for(;!a.eql(m,a.ONE);){if(a.eql(m,a.ZERO))return a.ZERO;let d=1;for(let p=a.sqr(m);d<u&&!a.eql(p,a.ONE);d++)p=a.sqr(p);let h=a.pow(f,Dt<<BigInt(u-d-1));f=a.sqr(h),l=a.mul(l,h),m=a.mul(m,f),u=d}return l}}function xg(e){if(e%Ya===dg){let t=(e+Dt)/Ya;return function(n,o){let i=n.pow(o,t);if(!n.eql(n.sqr(i),o))throw new Error("Cannot find square root");return i}}if(e%A4===I4){let t=(e-I4)/A4;return function(n,o){let i=n.mul(o,qn),s=n.pow(i,t),a=n.mul(o,s),c=n.mul(n.mul(a,qn),s),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 e%mg,yg(e)}var T4=(e,t)=>(At(e,t)&Dt)===Dt,bg=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"];function Wa(e){let t={ORDER:"bigint",MASK:"bigint",BYTES:"isSafeInteger",BITS:"isSafeInteger"},r=bg.reduce((n,o)=>(n[o]="function",n),t);return Er(e,r)}function wg(e,t,r){if(r<re)throw new Error("Expected power > 0");if(r===re)return e.ONE;if(r===Dt)return t;let n=e.ONE,o=t;for(;r>re;)r&Dt&&(n=e.mul(n,o)),o=e.sqr(o),r>>=Dt;return n}function vg(e,t){let r=new Array(t.length),n=t.reduce((i,s,a)=>e.is0(s)?i:(r[a]=i,e.mul(i,s)),e.ONE),o=e.inv(n);return t.reduceRight((i,s,a)=>e.is0(s)?i:(r[a]=e.mul(i,r[a]),e.mul(i,s)),o),r}function Za(e,t){let r=t!==void 0?t:e.toString(2).length,n=Math.ceil(r/8);return{nBitLength:r,nByteLength:n}}function c0(e,t,r=!1,n={}){if(e<=re)throw new Error(`Expected Field ORDER > 0, got ${e}`);let{nBitLength:o,nByteLength:i}=Za(e,t);if(i>2048)throw new Error("Field lengths over 2048 bytes are not supported");let s=xg(e),a=Object.freeze({ORDER:e,BITS:o,BYTES:i,MASK:Ai(o),ZERO:re,ONE:Dt,create:c=>At(c,e),isValid:c=>{if(typeof c!="bigint")throw new Error(`Invalid field element: expected bigint, got ${typeof c}`);return re<=c&&c<e},is0:c=>c===re,isOdd:c=>(c&Dt)===Dt,neg:c=>At(-c,e),eql:(c,u)=>c===u,sqr:c=>At(c*c,e),add:(c,u)=>At(c+u,e),sub:(c,u)=>At(c-u,e),mul:(c,u)=>At(c*u,e),pow:(c,u)=>wg(a,c,u),div:(c,u)=>At(c*a0(u,e),e),sqrN:c=>c*c,addN:(c,u)=>c+u,subN:(c,u)=>c-u,mulN:(c,u)=>c*u,inv:c=>a0(c,e),sqrt:n.sqrt||(c=>s(a,c)),invertBatch:c=>vg(a,c),cmov:(c,u,f)=>f?u:c,toBytes:c=>r?Kn(c,i):dn(c,i),fromBytes:c=>{if(c.length!==i)throw new Error(`Fp.fromBytes: expected ${i}, got ${c.length}`);return r?hn(c):Or(c)}});return Object.freeze(a)}function C4(e,t){if(!e.isOdd)throw new Error("Field doesn't have isOdd");let r=e.sqrt(t);return e.isOdd(r)?e.neg(r):r}function R4(e){if(typeof e!="bigint")throw new Error("field order must be bigint");let t=e.toString(2).length;return Math.ceil(t/8)}function Xa(e){let t=R4(e);return t+Math.ceil(t/2)}function _4(e,t,r=!1){let n=e.length,o=R4(t),i=Xa(t);if(n<16||n<i||n>1024)throw new Error(`expected ${i}-1024 bytes of input, got ${n}`);let s=r?Or(e):hn(e),a=At(s,t-Dt)+Dt;return r?Kn(a,o):dn(a,o)}var Sg=BigInt(0),ja=BigInt(1);function u0(e,t){let r=(o,i)=>{let s=i.negate();return o?s:i},n=o=>{let i=Math.ceil(t/o)+1,s=2**(o-1);return{windows:i,windowSize:s}};return{constTimeNegate:r,unsafeLadder(o,i){let s=e.ZERO,a=o;for(;i>Sg;)i&ja&&(s=s.add(a)),a=a.double(),i>>=ja;return s},precomputeWindow(o,i){let{windows:s,windowSize:a}=n(i),c=[],u=o,f=u;for(let l=0;l<s;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,i,s){let{windows:a,windowSize:c}=n(o),u=e.ZERO,f=e.BASE,l=BigInt(2**o-1),m=2**o,d=BigInt(o);for(let h=0;h<a;h++){let p=h*c,g=Number(s&l);s>>=d,g>c&&(g-=m,s+=ja);let y=p,x=p+Math.abs(g)-1,b=h%2!==0,A=g<0;g===0?f=f.add(r(b,i[y])):u=u.add(r(A,i[x]))}return{p:u,f}},wNAFCached(o,i,s,a){let c=o._WINDOW_SIZE||1,u=i.get(o);return u||(u=this.precomputeWindow(o,c),c!==1&&i.set(o,a(u))),this.wNAF(c,u,s)}}}function Ti(e){return Wa(e.Fp),Er(e,{n:"bigint",h:"bigint",Gx:"field",Gy:"field"},{nBitLength:"isSafeInteger",nByteLength:"isSafeInteger"}),Object.freeze({...Za(e.n,e.nBitLength),...e,p:e.Fp.ORDER})}var er=BigInt(0),De=BigInt(1),f0=BigInt(2),Ig=BigInt(8),Ag={zip215:!0};function Tg(e){let t=Ti(e);return Er(e,{hash:"function",a:"bigint",d:"bigint",randomBytes:"function"},{adjustScalarBytes:"function",domain:"function",uvRatio:"function",mapToCurve:"function"}),Object.freeze({...t})}function l0(e){let t=Tg(e),{Fp:r,n,prehash:o,hash:i,randomBytes:s,nByteLength:a,h:c}=t,u=f0<<BigInt(a*8)-De,f=r.create,l=t.uvRatio||((O,B)=>{try{return{isValid:!0,value:r.sqrt(O*r.inv(B))}}catch{return{isValid:!1,value:er}}}),m=t.adjustScalarBytes||(O=>O),d=t.domain||((O,B,H)=>{if(B.length||H)throw new Error("Contexts/pre-hash are not supported");return O}),h=O=>typeof O=="bigint"&&er<O,p=(O,B)=>h(O)&&h(B)&&O<B,g=O=>O===er||p(O,u);function y(O,B){if(p(O,B))return O;throw new Error(`Expected valid scalar < ${B}, got ${typeof O} ${O}`)}function x(O){return O===er?O:y(O,n)}let b=new Map;function A(O){if(!(O instanceof v))throw new Error("ExtendedPoint expected")}class v{constructor(B,H,Y,j){if(this.ex=B,this.ey=H,this.ez=Y,this.et=j,!g(B))throw new Error("x required");if(!g(H))throw new Error("y required");if(!g(Y))throw new Error("z required");if(!g(j))throw new Error("t required")}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static fromAffine(B){if(B instanceof v)throw new Error("extended point not allowed");let{x:H,y:Y}=B||{};if(!g(H)||!g(Y))throw new Error("invalid affine point");return new v(H,Y,De,f(H*Y))}static normalizeZ(B){let H=r.invertBatch(B.map(Y=>Y.ez));return B.map((Y,j)=>Y.toAffine(H[j])).map(v.fromAffine)}_setWindowSize(B){this._WINDOW_SIZE=B,b.delete(this)}assertValidity(){let{a:B,d:H}=t;if(this.is0())throw new Error("bad point: ZERO");let{ex:Y,ey:j,ez:ft,et:pt}=this,Et=f(Y*Y),mt=f(j*j),xt=f(ft*ft),Jt=f(xt*xt),Ft=f(Et*B),ue=f(xt*f(Ft+mt)),fe=f(Jt+f(H*f(Et*mt)));if(ue!==fe)throw new Error("bad point: equation left != right (1)");let ee=f(Y*j),de=f(ft*pt);if(ee!==de)throw new Error("bad point: equation left != right (2)")}equals(B){A(B);let{ex:H,ey:Y,ez:j}=this,{ex:ft,ey:pt,ez:Et}=B,mt=f(H*Et),xt=f(ft*j),Jt=f(Y*Et),Ft=f(pt*j);return mt===xt&&Jt===Ft}is0(){return this.equals(v.ZERO)}negate(){return new v(f(-this.ex),this.ey,this.ez,f(-this.et))}double(){let{a:B}=t,{ex:H,ey:Y,ez:j}=this,ft=f(H*H),pt=f(Y*Y),Et=f(f0*f(j*j)),mt=f(B*ft),xt=H+Y,Jt=f(f(xt*xt)-ft-pt),Ft=mt+pt,ue=Ft-Et,fe=mt-pt,ee=f(Jt*ue),de=f(Ft*fe),Rr=f(Jt*fe),Nn=f(ue*Ft);return new v(ee,de,Nn,Rr)}add(B){A(B);let{a:H,d:Y}=t,{ex:j,ey:ft,ez:pt,et:Et}=this,{ex:mt,ey:xt,ez:Jt,et:Ft}=B;if(H===BigInt(-1)){let wf=f((ft-j)*(xt+mt)),vf=f((ft+j)*(xt-mt)),H1=f(vf-wf);if(H1===er)return this.double();let Ef=f(pt*f0*Ft),Sf=f(Et*f0*Jt),If=Sf+Ef,Af=vf+wf,Tf=Sf-Ef,L7=f(If*H1),k7=f(Af*Tf),U7=f(If*Tf),O7=f(H1*Af);return new v(L7,k7,O7,U7)}let ue=f(j*mt),fe=f(ft*xt),ee=f(Et*Y*Ft),de=f(pt*Jt),Rr=f((j+ft)*(mt+xt)-ue-fe),Nn=de-ee,di=de+ee,bf=f(fe-H*ue),B7=f(Rr*Nn),P7=f(di*bf),N7=f(Rr*bf),D7=f(Nn*di);return new v(B7,P7,D7,N7)}subtract(B){return this.add(B.negate())}wNAF(B){return I.wNAFCached(this,b,B,v.normalizeZ)}multiply(B){let{p:H,f:Y}=this.wNAF(y(B,n));return v.normalizeZ([H,Y])[0]}multiplyUnsafe(B){let H=x(B);return H===er?_:this.equals(_)||H===De?this:this.equals(E)?this.wNAF(H).p:I.unsafeLadder(this,H)}isSmallOrder(){return this.multiplyUnsafe(c).is0()}isTorsionFree(){return I.unsafeLadder(this,n).is0()}toAffine(B){let{ex:H,ey:Y,ez:j}=this,ft=this.is0();B==null&&(B=ft?Ig:r.inv(j));let pt=f(H*B),Et=f(Y*B),mt=f(j*B);if(ft)return{x:er,y:De};if(mt!==De)throw new Error("invZ was invalid");return{x:pt,y:Et}}clearCofactor(){let{h:B}=t;return B===De?this:this.multiplyUnsafe(B)}static fromHex(B,H=!1){let{d:Y,a:j}=t,ft=r.BYTES;B=Vt("pointHex",B,ft);let pt=B.slice(),Et=B[ft-1];pt[ft-1]=Et&-129;let mt=hn(pt);mt===er||(H?y(mt,u):y(mt,r.ORDER));let xt=f(mt*mt),Jt=f(xt-De),Ft=f(Y*xt-j),{isValid:ue,value:fe}=l(Jt,Ft);if(!ue)throw new Error("Point.fromHex: invalid y coordinate");let ee=(fe&De)===De,de=(Et&128)!==0;if(!H&&fe===er&&de)throw new Error("Point.fromHex: x=0 and x_0=1");return de!==ee&&(fe=f(-fe)),v.fromAffine({x:fe,y:mt})}static fromPrivateKey(B){return F(B).point}toRawBytes(){let{x:B,y:H}=this.toAffine(),Y=Kn(H,r.BYTES);return Y[Y.length-1]|=B&De?128:0,Y}toHex(){return Ur(this.toRawBytes())}}v.BASE=new v(t.Gx,t.Gy,De,f(t.Gx*t.Gy)),v.ZERO=new v(er,De,De,er);let{BASE:E,ZERO:_}=v,I=u0(v,a*8);function k(O){return At(O,n)}function K(O){return k(hn(O))}function F(O){let B=a;O=Vt("private key",O,B);let H=Vt("hashed private key",i(O),2*B),Y=m(H.slice(0,B)),j=H.slice(B,2*B),ft=K(Y),pt=E.multiply(ft),Et=pt.toRawBytes();return{head:Y,prefix:j,scalar:ft,point:pt,pointBytes:Et}}function z(O){return F(O).pointBytes}function X(O=new Uint8Array,...B){let H=Fr(...B);return K(i(d(H,Vt("context",O),!!o)))}function ut(O,B,H={}){O=Vt("message",O),o&&(O=o(O));let{prefix:Y,scalar:j,pointBytes:ft}=F(B),pt=X(H.context,Y,O),Et=E.multiply(pt).toRawBytes(),mt=X(H.context,Et,ft,O),xt=k(pt+mt*j);x(xt);let Jt=Fr(Et,Kn(xt,r.BYTES));return Vt("result",Jt,a*2)}let T=Ag;function N(O,B,H,Y=T){let{context:j,zip215:ft}=Y,pt=r.BYTES;O=Vt("signature",O,2*pt),B=Vt("message",B),o&&(B=o(B));let Et=hn(O.slice(pt,2*pt)),mt,xt,Jt;try{mt=v.fromHex(H,ft),xt=v.fromHex(O.slice(0,pt),ft),Jt=E.multiplyUnsafe(Et)}catch{return!1}if(!ft&&mt.isSmallOrder())return!1;let Ft=X(j,xt.toRawBytes(),mt.toRawBytes(),B);return xt.add(mt.multiplyUnsafe(Ft)).subtract(Jt).clearCofactor().equals(v.ZERO)}return E._setWindowSize(8),{CURVE:t,getPublicKey:z,sign:ut,verify:N,ExtendedPoint:v,utils:{getExtendedPublicKey:F,randomPrivateKey:()=>s(r.BYTES),precompute(O=8,B=v.BASE){return B._setWindowSize(O),B.multiply(BigInt(3)),B}}}}var t2=BigInt("57896044618658097711785492504343953926634992332820282019728792003956564819949"),B4=BigInt("19681161376707505956807079304988542015446066515923890162744021073123829784752"),eT=BigInt(0),Cg=BigInt(1),Ja=BigInt(2),Rg=BigInt(5),P4=BigInt(10),_g=BigInt(20),Bg=BigInt(40),N4=BigInt(80);function Pg(e){let t=t2,n=e*e%t*e%t,o=Lt(n,Ja,t)*n%t,i=Lt(o,Cg,t)*e%t,s=Lt(i,Rg,t)*i%t,a=Lt(s,P4,t)*s%t,c=Lt(a,_g,t)*a%t,u=Lt(c,Bg,t)*c%t,f=Lt(u,N4,t)*u%t,l=Lt(f,N4,t)*u%t,m=Lt(l,P4,t)*s%t;return{pow_p_5_8:Lt(m,Ja,t)*e%t,b2:n}}function Ng(e){return e[0]&=248,e[31]&=127,e[31]|=64,e}function Dg(e,t){let r=t2,n=At(t*t*t,r),o=At(n*n*t,r),i=Pg(e*o).pow_p_5_8,s=At(e*n*i,r),a=At(t*s*s,r),c=s,u=At(s*B4,r),f=a===e,l=a===At(-e,r),m=a===At(-e*B4,r);return f&&(s=c),(l||m)&&(s=u),T4(s,r)&&(s=At(-s,r)),{isValid:f||l,value:s}}var Mr=c0(t2,void 0,!0),e2={a:BigInt(-1),d:BigInt("37095705934669439343138083508754565189542113879843219016388785533085940283555"),Fp:Mr,n:BigInt("7237005577332262213973186563042994240857116359379907606001950938285454250989"),h:BigInt(8),Gx:BigInt("15112221349535400772501151409588531511454012693041857206046113283949847762202"),Gy:BigInt("46316835694926478169428394003475163141307993866256225615783033603165251855960"),hash:$a,randomBytes:Io,adjustScalarBytes:Ng,uvRatio:Dg},To=l0(e2);function D4(e,t,r){if(t.length>255)throw new Error("Context is too big");return e0(Ka("SigEd25519 no Ed25519 collisions"),new Uint8Array([r?1:0,t.length]),t,e)}var rT=l0({...e2,domain:D4}),nT=l0({...e2,domain:D4,prehash:$a});var Lg=(Mr.ORDER+BigInt(3))/BigInt(8),oT=Mr.pow(Ja,Lg),iT=Mr.sqrt(Mr.neg(Mr.ONE)),sT=(Mr.ORDER-BigInt(5))/BigInt(8),aT=BigInt(486662);var cT=C4(Mr,Mr.neg(BigInt(486664)));var uT=BigInt("25063068953384623474111414158702152701244531502492656460079210482610430750235"),fT=BigInt("54469307008909316920995813868745141605393597292927456921205312896311721017578"),lT=BigInt("1159843021668779879193775521855586647937357759715417654439879720876111806838"),hT=BigInt("40440834346308536858101042469323190826248399146238708352240133220865137265952");var dT=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");var Co=32,Vr=64,h0=32;async function L4(){let e=To.utils.randomPrivateKey(),t=To.getPublicKey(e);return{privateKey:F4(e,t),publicKey:t}}async function k4(e){if(e.length!==h0)throw new TypeError('"seed" must be 32 bytes in length.');if(!(e instanceof Uint8Array))throw new TypeError('"seed" must be a node.js Buffer, or Uint8Array.');let t=e,r=To.getPublicKey(t);return{privateKey:F4(t,r),publicKey:r}}async function U4(e,t){let r=e.subarray(0,h0);return To.sign(t,r)}async function O4(e,t,r){return To.verify(t,r,e)}function F4(e,t){let r=new Uint8Array(Vr);for(let n=0;n<h0;n++)r[n]=e[n],r[h0+n]=t[n];return r}function J(e,t){if(globalThis.Buffer!=null)return vr(globalThis.Buffer.concat(e,t));t==null&&(t=e.reduce((o,i)=>o+i.length,0));let r=se(t),n=0;for(let o of e)r.set(o,n),n+=o.length;return vr(r)}var Qt={get(e=globalThis){let t=e.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-crypto/blob/master/README.md#web-crypto-api"),{code:"ERR_MISSING_WEB_CRYPTO"});return t}};var r2={alg:"A128GCM",ext:!0,k:"scm9jmO_4BJAgdwWGVulLg",key_ops:["encrypt","decrypt"],kty:"oct"};function d0(e){let t=e?.algorithm??"AES-GCM",r=e?.keyLength??16,n=e?.nonceLength??12,o=e?.digest??"SHA-256",i=e?.saltLength??16,s=e?.iterations??32767,a=Qt.get();r*=8;async function c(l,m){let d=a.getRandomValues(new Uint8Array(i)),h=a.getRandomValues(new Uint8Array(n)),p={name:t,iv:h};typeof m=="string"&&(m=at(m));let g;if(m.length===0){g=await a.subtle.importKey("jwk",r2,{name:"AES-GCM"},!0,["encrypt"]);try{let x={name:"PBKDF2",salt:d,iterations:s,hash:{name:o}},b=await a.subtle.importKey("raw",m,{name:"PBKDF2"},!1,["deriveKey"]);g=await a.subtle.deriveKey(x,b,{name:t,length:r},!0,["encrypt"])}catch{g=await a.subtle.importKey("jwk",r2,{name:"AES-GCM"},!0,["encrypt"])}}else{let x={name:"PBKDF2",salt:d,iterations:s,hash:{name:o}},b=await a.subtle.importKey("raw",m,{name:"PBKDF2"},!1,["deriveKey"]);g=await a.subtle.deriveKey(x,b,{name:t,length:r},!0,["encrypt"])}let y=await a.subtle.encrypt(p,g,l);return J([d,p.iv,new Uint8Array(y)])}async function u(l,m){let d=l.subarray(0,i),h=l.subarray(i,i+n),p=l.subarray(i+n),g={name:t,iv:h};typeof m=="string"&&(m=at(m));let y;if(m.length===0)try{let b={name:"PBKDF2",salt:d,iterations:s,hash:{name:o}},A=await a.subtle.importKey("raw",m,{name:"PBKDF2"},!1,["deriveKey"]);y=await a.subtle.deriveKey(b,A,{name:t,length:r},!0,["decrypt"])}catch{y=await a.subtle.importKey("jwk",r2,{name:"AES-GCM"},!0,["decrypt"])}else{let b={name:"PBKDF2",salt:d,iterations:s,hash:{name:o}},A=await a.subtle.importKey("raw",m,{name:"PBKDF2"},!1,["deriveKey"]);y=await a.subtle.deriveKey(b,A,{name:t,length:r},!0,["decrypt"])}let x=await a.subtle.decrypt(g,y,p);return new Uint8Array(x)}return{encrypt:c,decrypt:u}}async function Ro(e,t){let n=await d0().encrypt(e,t);return Ln.encode(n)}var Bo={};rt(Bo,{KeyType:()=>_t,PrivateKey:()=>or,PublicKey:()=>nr});var n2=new Float32Array([-0]),pn=new Uint8Array(n2.buffer);function V4(e,t,r){n2[0]=e,t[r]=pn[0],t[r+1]=pn[1],t[r+2]=pn[2],t[r+3]=pn[3]}function K4(e,t){return pn[0]=e[t],pn[1]=e[t+1],pn[2]=e[t+2],pn[3]=e[t+3],n2[0]}var o2=new Float64Array([-0]),pe=new Uint8Array(o2.buffer);function q4(e,t,r){o2[0]=e,t[r]=pe[0],t[r+1]=pe[1],t[r+2]=pe[2],t[r+3]=pe[3],t[r+4]=pe[4],t[r+5]=pe[5],t[r+6]=pe[6],t[r+7]=pe[7]}function z4(e,t){return pe[0]=e[t],pe[1]=e[t+1],pe[2]=e[t+2],pe[3]=e[t+3],pe[4]=e[t+4],pe[5]=e[t+5],pe[6]=e[t+6],pe[7]=e[t+7],o2[0]}var Ug=BigInt(Number.MAX_SAFE_INTEGER),Og=BigInt(Number.MIN_SAFE_INTEGER),Te=class e{lo;hi;constructor(t,r){this.lo=t|0,this.hi=r|0}toNumber(t=!1){if(!t&&this.hi>>>31>0){let r=~this.lo+1>>>0,n=~this.hi>>>0;return r===0&&(n=n+1>>>0),-(r+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 r=~this.lo+1>>>0,n=~this.hi>>>0;return r===0&&(n=n+1>>>0),-(BigInt(r)+(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,r=(this.lo>>>28|this.hi<<4)>>>0,n=this.hi>>>24;return n===0?r===0?t<16384?t<128?1:2:t<2097152?3:4:r<16384?r<128?5:6:r<2097152?7:8:n<128?9:10}static fromBigInt(t){if(t===0n)return zn;if(t<Ug&&t>Og)return this.fromNumber(Number(t));let r=t<0n;r&&(t=-t);let n=t>>32n,o=t-(n<<32n);return r&&(n=~n|0n,o=~o|0n,++o>$4&&(o=0n,++n>$4&&(n=0n))),new e(Number(o),Number(n))}static fromNumber(t){if(t===0)return zn;let r=t<0;r&&(t=-t);let n=t>>>0,o=(t-n)/4294967296>>>0;return r&&(o=~o>>>0,n=~n>>>0,++n>4294967295&&(n=0,++o>4294967295&&(o=0))),new e(n,o)}static from(t){return typeof t=="number"?e.fromNumber(t):typeof t=="bigint"?e.fromBigInt(t):typeof t=="string"?e.fromBigInt(BigInt(t)):t.low!=null||t.high!=null?new e(t.low>>>0,t.high>>>0):zn}},zn=new Te(0,0);zn.toBigInt=function(){return 0n};zn.zzEncode=zn.zzDecode=function(){return this};zn.length=function(){return 1};var $4=4294967296n;function H4(e){let t=0,r=0;for(let n=0;n<e.length;++n)r=e.charCodeAt(n),r<128?t+=1:r<2048?t+=2:(r&64512)===55296&&(e.charCodeAt(n+1)&64512)===56320?(++n,t+=4):t+=3;return t}function G4(e,t,r){if(r-t<1)return"";let o,i=[],s=0,a;for(;t<r;)a=e[t++],a<128?i[s++]=a:a>191&&a<224?i[s++]=(a&31)<<6|e[t++]&63:a>239&&a<365?(a=((a&7)<<18|(e[t++]&63)<<12|(e[t++]&63)<<6|e[t++]&63)-65536,i[s++]=55296+(a>>10),i[s++]=56320+(a&1023)):i[s++]=(a&15)<<12|(e[t++]&63)<<6|e[t++]&63,s>8191&&((o??(o=[])).push(String.fromCharCode.apply(String,i)),s=0);return o!=null?(s>0&&o.push(String.fromCharCode.apply(String,i.slice(0,s))),o.join("")):String.fromCharCode.apply(String,i.slice(0,s))}function i2(e,t,r){let n=r,o,i;for(let s=0;s<e.length;++s)o=e.charCodeAt(s),o<128?t[r++]=o:o<2048?(t[r++]=o>>6|192,t[r++]=o&63|128):(o&64512)===55296&&((i=e.charCodeAt(s+1))&64512)===56320?(o=65536+((o&1023)<<10)+(i&1023),++s,t[r++]=o>>18|240,t[r++]=o>>12&63|128,t[r++]=o>>6&63|128,t[r++]=o&63|128):(t[r++]=o>>12|224,t[r++]=o>>6&63|128,t[r++]=o&63|128);return r-n}function rr(e,t){return RangeError(`index out of range: ${e.pos} + ${t??1} > ${e.len}`)}function p0(e,t){return(e[t-4]|e[t-3]<<8|e[t-2]<<16|e[t-1]<<24)>>>0}var s2=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,rr(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 rr(this,4);return p0(this.buf,this.pos+=4)}sfixed32(){if(this.pos+4>this.len)throw rr(this,4);return p0(this.buf,this.pos+=4)|0}float(){if(this.pos+4>this.len)throw rr(this,4);let t=K4(this.buf,this.pos);return this.pos+=4,t}double(){if(this.pos+8>this.len)throw rr(this,4);let t=z4(this.buf,this.pos);return this.pos+=8,t}bytes(){let t=this.uint32(),r=this.pos,n=this.pos+t;if(n>this.len)throw rr(this,t);return this.pos+=t,r===n?new Uint8Array(0):this.buf.subarray(r,n)}string(){let t=this.bytes();return G4(t,0,t.length)}skip(t){if(typeof t=="number"){if(this.pos+t>this.len)throw rr(this,t);this.pos+=t}else do if(this.pos>=this.len)throw rr(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 Te(0,0),r=0;if(this.len-this.pos>4){for(;r<4;++r)if(t.lo=(t.lo|(this.buf[this.pos]&127)<<r*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;r=0}else{for(;r<3;++r){if(this.pos>=this.len)throw rr(this);if(t.lo=(t.lo|(this.buf[this.pos]&127)<<r*7)>>>0,this.buf[this.pos++]<128)return t}return t.lo=(t.lo|(this.buf[this.pos++]&127)<<r*7)>>>0,t}if(this.len-this.pos>4){for(;r<5;++r)if(t.hi=(t.hi|(this.buf[this.pos]&127)<<r*7+3)>>>0,this.buf[this.pos++]<128)return t}else for(;r<5;++r){if(this.pos>=this.len)throw rr(this);if(t.hi=(t.hi|(this.buf[this.pos]&127)<<r*7+3)>>>0,this.buf[this.pos++]<128)return t}throw Error("invalid varint encoding")}readFixed64(){if(this.pos+8>this.len)throw rr(this,8);let t=p0(this.buf,this.pos+=4),r=p0(this.buf,this.pos+=4);return new Te(t,r)}int64(){return this.readLongVarint().toBigInt()}int64Number(){return this.readLongVarint().toNumber()}int64String(){return this.readLongVarint().toString()}uint64(){return this.readLongVarint().toBigInt(!0)}uint64Number(){return this.readLongVarint().toNumber(!0)}uint64String(){return this.readLongVarint().toString(!0)}sint64(){return this.readLongVarint().zzDecode().toBigInt()}sint64Number(){return this.readLongVarint().zzDecode().toNumber()}sint64String(){return this.readLongVarint().zzDecode().toString()}fixed64(){return this.readFixed64().toBigInt()}fixed64Number(){return this.readFixed64().toNumber()}fixed64String(){return this.readFixed64().toString()}sfixed64(){return this.readFixed64().toBigInt()}sfixed64Number(){return this.readFixed64().toNumber()}sfixed64String(){return this.readFixed64().toString()}};function a2(e){return new s2(e instanceof Uint8Array?e:e.subarray())}function $e(e,t){let r=a2(e);return t.decode(r)}function c2(e){let t=e??8192,r=t>>>1,n,o=t;return function(s){if(s<1||s>r)return se(s);o+s>t&&(n=se(t),o=0);let a=n.subarray(o,o+=s);return o&7&&(o=(o|7)+1),a}}var $n=class{fn;len;next;val;constructor(t,r,n){this.fn=t,this.len=r,this.next=void 0,this.val=n}};function u2(){}var l2=class{head;tail;len;next;constructor(t){this.head=t.head,this.tail=t.tail,this.len=t.len,this.next=t.states}},Fg=c2();function Mg(e){return globalThis.Buffer!=null?se(e):Fg(e)}var _i=class{len;head;tail;states;constructor(){this.len=0,this.head=new $n(u2,0,0),this.tail=this.head,this.states=null}_push(t,r,n){return this.tail=this.tail.next=new $n(t,r,n),this.len+=r,this}uint32(t){return this.len+=(this.tail=this.tail.next=new h2((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(Ci,10,Te.fromNumber(t)):this.uint32(t)}sint32(t){return this.uint32((t<<1^t>>31)>>>0)}uint64(t){let r=Te.fromBigInt(t);return this._push(Ci,r.length(),r)}uint64Number(t){let r=Te.fromNumber(t);return this._push(Ci,r.length(),r)}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 r=Te.fromBigInt(t).zzEncode();return this._push(Ci,r.length(),r)}sint64Number(t){let r=Te.fromNumber(t).zzEncode();return this._push(Ci,r.length(),r)}sint64String(t){return this.sint64(BigInt(t))}bool(t){return this._push(f2,1,t?1:0)}fixed32(t){return this._push(Ri,4,t>>>0)}sfixed32(t){return this.fixed32(t)}fixed64(t){let r=Te.fromBigInt(t);return this._push(Ri,4,r.lo)._push(Ri,4,r.hi)}fixed64Number(t){let r=Te.fromNumber(t);return this._push(Ri,4,r.lo)._push(Ri,4,r.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(V4,4,t)}double(t){return this._push(q4,8,t)}bytes(t){let r=t.length>>>0;return r===0?this._push(f2,1,0):this.uint32(r)._push(Kg,r,t)}string(t){let r=H4(t);return r!==0?this.uint32(r)._push(i2,r,t):this._push(f2,1,0)}fork(){return this.states=new l2(this),this.head=this.tail=new $n(u2,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 $n(u2,0,0),this.len=0),this}ldelim(){let t=this.head,r=this.tail,n=this.len;return this.reset().uint32(n),n!==0&&(this.tail.next=t.next,this.tail=r,this.len+=n),this}finish(){let t=this.head.next,r=Mg(this.len),n=0;for(;t!=null;)t.fn(t.val,r,n),n+=t.len,t=t.next;return r}};function f2(e,t,r){t[r]=e&255}function Vg(e,t,r){for(;e>127;)t[r++]=e&127|128,e>>>=7;t[r]=e}var h2=class extends $n{next;constructor(t,r){super(Vg,t,r),this.next=void 0}};function Ci(e,t,r){for(;e.hi!==0;)t[r++]=e.lo&127|128,e.lo=(e.lo>>>7|e.hi<<25)>>>0,e.hi>>>=7;for(;e.lo>127;)t[r++]=e.lo&127|128,e.lo=e.lo>>>7;t[r++]=e.lo}function Ri(e,t,r){t[r]=e&255,t[r+1]=e>>>8&255,t[r+2]=e>>>16&255,t[r+3]=e>>>24}function Kg(e,t,r){t.set(e,r)}globalThis.Buffer!=null&&(_i.prototype.bytes=function(e){let t=e.length>>>0;return this.uint32(t),t>0&&this._push(qg,t,e),this},_i.prototype.string=function(e){let t=globalThis.Buffer.byteLength(e);return this.uint32(t),t>0&&this._push(zg,t,e),this});function qg(e,t,r){t.set(e,r)}function zg(e,t,r){e.length<40?i2(e,t,r):t.utf8Write!=null?t.utf8Write(e,r):t.set(at(e),r)}function d2(){return new _i}function He(e,t){let r=d2();return t.encode(e,r,{lengthDelimited:!1}),r.finish()}var _o;(function(e){e[e.VARINT=0]="VARINT",e[e.BIT64=1]="BIT64",e[e.LENGTH_DELIMITED=2]="LENGTH_DELIMITED",e[e.START_GROUP=3]="START_GROUP",e[e.END_GROUP=4]="END_GROUP",e[e.BIT32=5]="BIT32"})(_o||(_o={}));function m0(e,t,r,n){return{name:e,type:t,encode:r,decode:n}}function mn(e){function t(o){if(e[o.toString()]==null)throw new Error("Invalid enum value");return e[o]}let r=function(i,s){let a=t(i);s.int32(a)},n=function(i){let s=i.int32();return t(s)};return m0("enum",_o.VARINT,r,n)}function Ge(e,t){return m0("message",_o.LENGTH_DELIMITED,e,t)}var _t;(function(e){e.RSA="RSA",e.Ed25519="Ed25519",e.Secp256k1="Secp256k1"})(_t||(_t={}));var p2;(function(e){e[e.RSA=0]="RSA",e[e.Ed25519=1]="Ed25519",e[e.Secp256k1=2]="Secp256k1"})(p2||(p2={}));(function(e){e.codec=()=>mn(p2)})(_t||(_t={}));var nr;(function(e){let t;e.codec=()=>(t==null&&(t=Ge((r,n,o={})=>{o.lengthDelimited!==!1&&n.fork(),r.Type!=null&&(n.uint32(8),_t.codec().encode(r.Type,n)),r.Data!=null&&(n.uint32(18),n.bytes(r.Data)),o.lengthDelimited!==!1&&n.ldelim()},(r,n)=>{let o={},i=n==null?r.len:r.pos+n;for(;r.pos<i;){let s=r.uint32();switch(s>>>3){case 1:o.Type=_t.codec().decode(r);break;case 2:o.Data=r.bytes();break;default:r.skipType(s&7);break}}return o})),t),e.encode=r=>He(r,e.codec()),e.decode=r=>$e(r,e.codec())})(nr||(nr={}));var or;(function(e){let t;e.codec=()=>(t==null&&(t=Ge((r,n,o={})=>{o.lengthDelimited!==!1&&n.fork(),r.Type!=null&&(n.uint32(8),_t.codec().encode(r.Type,n)),r.Data!=null&&(n.uint32(18),n.bytes(r.Data)),o.lengthDelimited!==!1&&n.ldelim()},(r,n)=>{let o={},i=n==null?r.len:r.pos+n;for(;r.pos<i;){let s=r.uint32();switch(s>>>3){case 1:o.Type=_t.codec().decode(r);break;case 2:o.Data=r.bytes();break;default:r.skipType(s&7);break}}return o})),t),e.encode=r=>He(r,e.codec()),e.decode=r=>$e(r,e.codec())})(or||(or={}));var Bi=class{_key;constructor(t){this._key=Po(t,Co)}async verify(t,r){return O4(this._key,r,t)}marshal(){return this._key}get bytes(){return nr.encode({Type:_t.Ed25519,Data:this.marshal()}).subarray()}equals(t){return dt(this.bytes,t.bytes)}async hash(){let{bytes:t}=await kt.digest(this.bytes);return t}},Hn=class{_key;_publicKey;constructor(t,r){this._key=Po(t,Vr),this._publicKey=Po(r,Co)}async sign(t){return U4(this._key,t)}get public(){return new Bi(this._publicKey)}marshal(){return this._key}get bytes(){return or.encode({Type:_t.Ed25519,Data:this.marshal()}).subarray()}equals(t){return dt(this.bytes,t.bytes)}async hash(){let{bytes:t}=await kt.digest(this.bytes);return t}async id(){let t=pr.digest(this.public.bytes);return $t.encode(t.bytes).substring(1)}async export(t,r="libp2p-key"){if(r==="libp2p-key")return Ro(this.bytes,t);throw new U(`export format '${r}' is not supported`,"ERR_INVALID_EXPORT_FORMAT")}};function $g(e){if(e.length>Vr){e=Po(e,Vr+Co);let n=e.subarray(0,Vr),o=e.subarray(Vr,e.length);return new Hn(n,o)}e=Po(e,Vr);let t=e.subarray(0,Vr),r=e.subarray(Co);return new Hn(t,r)}function Hg(e){return e=Po(e,Co),new Bi(e)}async function Gg(){let{privateKey:e,publicKey:t}=await L4();return new Hn(e,t)}async function m2(e){let{privateKey:t,publicKey:r}=await k4(e);return new Hn(t,r)}function Po(e,t){if(e=Uint8Array.from(e??[]),e.length!==t)throw new U(`Key must be a Uint8Array of length ${t}, got ${e.length}`,"ERR_INVALID_KEY_TYPE");return e}function M(e,t="utf8"){let r=js[t];if(r==null)throw new Error(`Unsupported encoding "${t}"`);return(t==="utf8"||t==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?globalThis.Buffer.from(e.buffer,e.byteOffset,e.byteLength).toString("utf8"):r.encoder.encode(e).substring(1)}var uC=ht(Gt(),1),fC=ht(Ys(),1),Y4=ht(St(),1);function ir(e,t){let r=Uint8Array.from(e.abs().toByteArray());if(r=r[0]===0?r.subarray(1):r,t!=null){if(r.length>t)throw new Error("byte array longer than desired length");r=J([new Uint8Array(t-r.length),r])}return M(r,"base64url")}function Le(e){let t=g0(e);return new Y4.default.jsbn.BigInteger(M(t,"base16"),16)}function g0(e,t){let r=at(e,"base64urlpad");if(t!=null){if(r.length>t)throw new Error("byte array longer than desired length");r=J([new Uint8Array(t-r.length),r])}return r}var W4={"P-256":256,"P-384":384,"P-521":521},Qg=Object.keys(W4),y2=Qg.join(" / ");async function Z4(e){if(e!=="P-256"&&e!=="P-384"&&e!=="P-521")throw new U(`Unknown curve: ${e}. Must be ${y2}`,"ERR_INVALID_CURVE");let t=await Qt.get().subtle.generateKey({name:"ECDH",namedCurve:e},!0,["deriveBits"]),r=async(i,s)=>{let a;s!=null?a=await Qt.get().subtle.importKey("jwk",Wg(e,s),{name:"ECDH",namedCurve:e},!1,["deriveBits"]):a=t.privateKey;let c=await Qt.get().subtle.importKey("jwk",j4(e,i),{name:"ECDH",namedCurve:e},!1,[]),u=await Qt.get().subtle.deriveBits({name:"ECDH",namedCurve:e,public:c},a,W4[e]);return new Uint8Array(u,0,u.byteLength)},n=await Qt.get().subtle.exportKey("jwk",t.publicKey);return{key:Yg(n),genSharedKey:r}}var X4={"P-256":32,"P-384":48,"P-521":66};function Yg(e){if(e.crv==null||e.x==null||e.y==null)throw new U("JWK was missing components","ERR_INVALID_PARAMETERS");if(e.crv!=="P-256"&&e.crv!=="P-384"&&e.crv!=="P-521")throw new U(`Unknown curve: ${e.crv}. Must be ${y2}`,"ERR_INVALID_CURVE");let t=X4[e.crv];return J([Uint8Array.from([4]),g0(e.x,t),g0(e.y,t)],1+t*2)}function j4(e,t){if(e!=="P-256"&&e!=="P-384"&&e!=="P-521")throw new U(`Unknown curve: ${e}. Must be ${y2}`,"ERR_INVALID_CURVE");let r=X4[e];if(!dt(t.subarray(0,1),Uint8Array.from([4])))throw new U("Cannot unmarshal public key - invalid key format","ERR_INVALID_KEY_FORMAT");return{kty:"EC",crv:e,x:M(t.subarray(1,r+1),"base64url"),y:M(t.subarray(1+r),"base64url"),ext:!0}}var Wg=(e,t)=>({...j4(e,t.public),d:M(t.private,"base64url")});var J4=Z4;async function tl(e,t){let r=Ln.decode(e);return d0().decrypt(r,t)}var el={SHA1:20,SHA256:32,SHA512:64};var Zg={SHA1:"SHA-1",SHA256:"SHA-256",SHA512:"SHA-512"},Xg=async(e,t)=>{let r=await Qt.get().subtle.sign({name:"HMAC"},e,t);return new Uint8Array(r,0,r.byteLength)};async function rl(e,t){let r=Zg[e],n=await Qt.get().subtle.importKey("raw",t,{name:"HMAC",hash:{name:r}},!1,["sign"]);return{async digest(o){return Xg(n,o)},length:el[e]}}var ol={"AES-128":{ivSize:16,keySize:16},"AES-256":{ivSize:16,keySize:32},Blowfish:{ivSize:8,keySize:32}};async function il(e,t,r){let n=ol[e];if(n==null){let x=Object.keys(ol).join(" / ");throw new U(`unknown cipher type '${e}'. Must be ${x}`,"ERR_INVALID_CIPHER_TYPE")}if(t==null)throw new U("missing hash type","ERR_MISSING_HASH_TYPE");let o=n.keySize,i=n.ivSize,s=20,a=at("key expansion"),c=2*(i+o+s),u=await rl(t,r),f=await u.digest(a),l=[],m=0;for(;m<c;){let x=await u.digest(J([f,a])),b=x.length;m+b>c&&(b=c-m),l.push(x),m+=b,f=await u.digest(f)}let d=c/2,h=J(l),p=h.subarray(0,d),g=h.subarray(d,c),y=x=>({iv:x.subarray(0,i),cipherKey:x.subarray(i,i+o),macKey:x.subarray(i+o)});return{k1:y(p),k2:y(g)}}var E2={};rt(E2,{MAX_KEY_SIZE:()=>Li,RsaPrivateKey:()=>No,RsaPublicKey:()=>Di,fromJwk:()=>ay,generateKeyPair:()=>cy,unmarshalRsaPrivateKey:()=>iy,unmarshalRsaPublicKey:()=>sy});var Ni=ht(St(),1);var eR=ht(fl(),1);function Qn(e){if(isNaN(e)||e<=0)throw new U("random bytes length must be a Number bigger than 0","ERR_INVALID_LENGTH");return Io(e)}var OC=ht(Xs(),1),w2=ht(St(),1);function ll(e,t){return t.map(r=>Le(e[r]))}function hl(e){return w2.default.pki.setRsaPrivateKey(...ll(e,["n","e","d","p","q","dp","dq","qi"]))}function dl(e){return w2.default.pki.setRsaPublicKey(...ll(e,["n","e"]))}var Yn={};rt(Yn,{jwkToPkcs1:()=>ty,jwkToPkix:()=>ry,pkcs1ToJwk:()=>Jg,pkixToJwk:()=>ey});var VC=ht(vi(),1),KC=ht(Xs(),1);var Kr=ht(St(),1);function Jg(e){let t=Kr.default.asn1.fromDer(M(e,"ascii")),r=Kr.default.pki.privateKeyFromAsn1(t);return{kty:"RSA",n:ir(r.n),e:ir(r.e),d:ir(r.d),p:ir(r.p),q:ir(r.q),dp:ir(r.dP),dq:ir(r.dQ),qi:ir(r.qInv),alg:"RS256"}}function ty(e){if(e.n==null||e.e==null||e.d==null||e.p==null||e.q==null||e.dp==null||e.dq==null||e.qi==null)throw new U("JWK was missing components","ERR_INVALID_PARAMETERS");let t=Kr.default.pki.privateKeyToAsn1({n:Le(e.n),e:Le(e.e),d:Le(e.d),p:Le(e.p),q:Le(e.q),dP:Le(e.dp),dQ:Le(e.dq),qInv:Le(e.qi)});return at(Kr.default.asn1.toDer(t).getBytes(),"ascii")}function ey(e){let t=Kr.default.asn1.fromDer(M(e,"ascii")),r=Kr.default.pki.publicKeyFromAsn1(t);return{kty:"RSA",n:ir(r.n),e:ir(r.e)}}function ry(e){if(e.n==null||e.e==null)throw new U("JWK was missing components","ERR_INVALID_PARAMETERS");let t=Kr.default.pki.publicKeyToAsn1({n:Le(e.n),e:Le(e.e)});return at(Kr.default.asn1.toDer(t).getBytes(),"ascii")}async function pl(e){let t=await Qt.get().subtle.generateKey({name:"RSASSA-PKCS1-v1_5",modulusLength:e,publicExponent:new Uint8Array([1,0,1]),hash:{name:"SHA-256"}},!0,["sign","verify"]),r=await yl(t);return{privateKey:r[0],publicKey:r[1]}}async function v2(e){let r=[await Qt.get().subtle.importKey("jwk",e,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!0,["sign"]),await ny(e)],n=await yl({privateKey:r[0],publicKey:r[1]});return{privateKey:n[0],publicKey:n[1]}}async function ml(e,t){let r=await Qt.get().subtle.importKey("jwk",e,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!1,["sign"]),n=await Qt.get().subtle.sign({name:"RSASSA-PKCS1-v1_5"},r,Uint8Array.from(t));return new Uint8Array(n,0,n.byteLength)}async function gl(e,t,r){let n=await Qt.get().subtle.importKey("jwk",e,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!1,["verify"]);return Qt.get().subtle.verify({name:"RSASSA-PKCS1-v1_5"},n,t,r)}async function yl(e){if(e.privateKey==null||e.publicKey==null)throw new U("Private and public key are required","ERR_INVALID_PARAMETERS");return Promise.all([Qt.get().subtle.exportKey("jwk",e.privateKey),Qt.get().subtle.exportKey("jwk",e.publicKey)])}async function ny(e){return Qt.get().subtle.importKey("jwk",{kty:e.kty,n:e.n,e:e.e},{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!0,["verify"])}function xl(e,t,r,n){let o=t?dl(e):hl(e),i=M(Uint8Array.from(r),"ascii"),s=n(i,o);return at(s,"ascii")}function bl(e,t){return xl(e,!0,t,(r,n)=>n.encrypt(r))}function wl(e,t){return xl(e,!1,t,(r,n)=>n.decrypt(r))}function y0(e){if(e.kty!=="RSA")throw new U("invalid key type","ERR_INVALID_KEY_TYPE");if(e.n==null)throw new U("invalid key modulus","ERR_INVALID_KEY_MODULUS");return at(e.n,"base64url").length*8}var Li=8192,Di=class{_key;constructor(t){this._key=t}async verify(t,r){return gl(this._key,r,t)}marshal(){return Yn.jwkToPkix(this._key)}get bytes(){return nr.encode({Type:_t.RSA,Data:this.marshal()}).subarray()}encrypt(t){return bl(this._key,t)}equals(t){return dt(this.bytes,t.bytes)}async hash(){let{bytes:t}=await kt.digest(this.bytes);return t}},No=class{_key;_publicKey;constructor(t,r){this._key=t,this._publicKey=r}genSecret(){return Qn(16)}async sign(t){return ml(this._key,t)}get public(){if(this._publicKey==null)throw new U("public key not provided","ERR_PUBKEY_NOT_PROVIDED");return new Di(this._publicKey)}decrypt(t){return wl(this._key,t)}marshal(){return Yn.jwkToPkcs1(this._key)}get bytes(){return or.encode({Type:_t.RSA,Data:this.marshal()}).subarray()}equals(t){return dt(this.bytes,t.bytes)}async hash(){let{bytes:t}=await kt.digest(this.bytes);return t}async id(){let t=await this.public.hash();return M(t,"base58btc")}async export(t,r="pkcs-8"){if(r==="pkcs-8"){let n=new Ni.default.util.ByteBuffer(this.marshal()),o=Ni.default.asn1.fromDer(n),i=Ni.default.pki.privateKeyFromAsn1(o),s={algorithm:"aes256",count:1e4,saltSize:128/8,prfAlgorithm:"sha512"};return Ni.default.pki.encryptRsaPrivateKey(i,t,s)}else{if(r==="libp2p-key")return Ro(this.bytes,t);throw new U(`export format '${r}' is not supported`,"ERR_INVALID_EXPORT_FORMAT")}}};async function iy(e){let t=Yn.pkcs1ToJwk(e);if(y0(t)>Li)throw new U("key size is too large","ERR_KEY_SIZE_TOO_LARGE");let r=await v2(t);return new No(r.privateKey,r.publicKey)}function sy(e){let t=Yn.pkixToJwk(e);if(y0(t)>Li)throw new U("key size is too large","ERR_KEY_SIZE_TOO_LARGE");return new Di(t)}async function ay(e){if(y0(e)>Li)throw new U("key size is too large","ERR_KEY_SIZE_TOO_LARGE");let t=await v2(e);return new No(t.privateKey,t.publicKey)}async function cy(e){if(e>Li)throw new U("key size is too large","ERR_KEY_SIZE_TOO_LARGE");let t=await pl(e);return new No(t.privateKey,t.publicKey)}var R2={};rt(R2,{Secp256k1PrivateKey:()=>Ui,Secp256k1PublicKey:()=>ki,generateKeyPair:()=>Sy,unmarshalSecp256k1PrivateKey:()=>vy,unmarshalSecp256k1PublicKey:()=>Ey});var uy=(e,t,r)=>e&t^~e&r,fy=(e,t,r)=>e&t^e&r^t&r,ly=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]),gn=new Uint32Array([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),yn=new Uint32Array(64),S2=class extends Ao{constructor(){super(64,32,8,!1),this.A=gn[0]|0,this.B=gn[1]|0,this.C=gn[2]|0,this.D=gn[3]|0,this.E=gn[4]|0,this.F=gn[5]|0,this.G=gn[6]|0,this.H=gn[7]|0}get(){let{A:t,B:r,C:n,D:o,E:i,F:s,G:a,H:c}=this;return[t,r,n,o,i,s,a,c]}set(t,r,n,o,i,s,a,c){this.A=t|0,this.B=r|0,this.C=n|0,this.D=o|0,this.E=i|0,this.F=s|0,this.G=a|0,this.H=c|0}process(t,r){for(let l=0;l<16;l++,r+=4)yn[l]=t.getUint32(r,!1);for(let l=16;l<64;l++){let m=yn[l-15],d=yn[l-2],h=tr(m,7)^tr(m,18)^m>>>3,p=tr(d,17)^tr(d,19)^d>>>10;yn[l]=p+yn[l-7]+h+yn[l-16]|0}let{A:n,B:o,C:i,D:s,E:a,F:c,G:u,H:f}=this;for(let l=0;l<64;l++){let m=tr(a,6)^tr(a,11)^tr(a,25),d=f+m+uy(a,c,u)+ly[l]+yn[l]|0,p=(tr(n,2)^tr(n,13)^tr(n,22))+fy(n,o,i)|0;f=u,u=c,c=a,a=s+d|0,s=i,i=o,o=n,n=d+p|0}n=n+this.A|0,o=o+this.B|0,i=i+this.C|0,s=s+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,i,s,a,c,u,f)}roundClean(){yn.fill(0)}destroy(){this.set(0,0,0,0,0,0,0,0),this.buffer.fill(0)}};var vl=r0(()=>new S2);function hy(e){let t=Ti(e);Er(t,{a:"field",b:"field"},{allowedPrivateKeyLengths:"array",wrapPrivateKey:"boolean",isTorsionFree:"function",clearCofactor:"function",allowInfinityPoint:"boolean",fromBytes:"function",toBytes:"function"});let{endo:r,Fp:n,a:o}=t;if(r){if(!n.eql(o,n.ZERO))throw new Error("Endomorphism can only be defined for Koblitz curves that have a=0");if(typeof r!="object"||typeof r.beta!="bigint"||typeof r.splitScalar!="function")throw new Error("Expected endomorphism with beta: bigint and splitScalar: function")}return Object.freeze({...t})}var{bytesToNumberBE:dy,hexToBytes:py}=s0,Wn={Err:class extends Error{constructor(t=""){super(t)}},_parseInt(e){let{Err:t}=Wn;if(e.length<2||e[0]!==2)throw new t("Invalid signature integer tag");let r=e[1],n=e.subarray(2,r+2);if(!r||n.length!==r)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:dy(n),l:e.subarray(r+2)}},toSig(e){let{Err:t}=Wn,r=typeof e=="string"?py(e):e;if(!(r instanceof Uint8Array))throw new Error("ui8a expected");let n=r.length;if(n<2||r[0]!=48)throw new t("Invalid signature tag");if(r[1]!==n-2)throw new t("Invalid signature: incorrect length");let{d:o,l:i}=Wn._parseInt(r.subarray(2)),{d:s,l:a}=Wn._parseInt(i);if(a.length)throw new t("Invalid signature: left bytes after parsing");return{r:o,s}},hexFromSig(e){let t=u=>Number.parseInt(u[0],16)&8?"00"+u:u,r=u=>{let f=u.toString(16);return f.length&1?`0${f}`:f},n=t(r(e.s)),o=t(r(e.r)),i=n.length/2,s=o.length/2,a=r(i),c=r(s);return`30${r(s+i+4)}02${c}${o}02${a}${n}`}},qr=BigInt(0),Qe=BigInt(1),fR=BigInt(2),El=BigInt(3),lR=BigInt(4);function my(e){let t=hy(e),{Fp:r}=t,n=t.toBytes||((h,p,g)=>{let y=p.toAffine();return Fr(Uint8Array.from([4]),r.toBytes(y.x),r.toBytes(y.y))}),o=t.fromBytes||(h=>{let p=h.subarray(1),g=r.fromBytes(p.subarray(0,r.BYTES)),y=r.fromBytes(p.subarray(r.BYTES,2*r.BYTES));return{x:g,y}});function i(h){let{a:p,b:g}=t,y=r.sqr(h),x=r.mul(y,h);return r.add(r.add(x,r.mul(h,p)),g)}if(!r.eql(r.sqr(t.Gy),i(t.Gx)))throw new Error("bad generator point: equation left != right");function s(h){return typeof h=="bigint"&&qr<h&&h<t.n}function a(h){if(!s(h))throw new Error("Expected valid bigint: 0 < bigint < curve.n")}function c(h){let{allowedPrivateKeyLengths:p,nByteLength:g,wrapPrivateKey:y,n:x}=t;if(p&&typeof h!="bigint"){if(h instanceof Uint8Array&&(h=Ur(h)),typeof h!="string"||!p.includes(h.length))throw new Error("Invalid key");h=h.padStart(g*2,"0")}let b;try{b=typeof h=="bigint"?h:Or(Vt("private key",h,g))}catch{throw new Error(`private key must be ${g} bytes, hex or bigint, not ${typeof h}`)}return y&&(b=At(b,x)),a(b),b}let u=new Map;function f(h){if(!(h instanceof l))throw new Error("ProjectivePoint expected")}class l{constructor(p,g,y){if(this.px=p,this.py=g,this.pz=y,p==null||!r.isValid(p))throw new Error("x required");if(g==null||!r.isValid(g))throw new Error("y required");if(y==null||!r.isValid(y))throw new Error("z required")}static fromAffine(p){let{x:g,y}=p||{};if(!p||!r.isValid(g)||!r.isValid(y))throw new Error("invalid affine point");if(p instanceof l)throw new Error("projective point not allowed");let x=b=>r.eql(b,r.ZERO);return x(g)&&x(y)?l.ZERO:new l(g,y,r.ONE)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static normalizeZ(p){let g=r.invertBatch(p.map(y=>y.pz));return p.map((y,x)=>y.toAffine(g[x])).map(l.fromAffine)}static fromHex(p){let g=l.fromAffine(o(Vt("pointHex",p)));return g.assertValidity(),g}static fromPrivateKey(p){return l.BASE.multiply(c(p))}_setWindowSize(p){this._WINDOW_SIZE=p,u.delete(this)}assertValidity(){if(this.is0()){if(t.allowInfinityPoint&&!r.is0(this.py))return;throw new Error("bad point: ZERO")}let{x:p,y:g}=this.toAffine();if(!r.isValid(p)||!r.isValid(g))throw new Error("bad point: x or y not FE");let y=r.sqr(g),x=i(p);if(!r.eql(y,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:p}=this.toAffine();if(r.isOdd)return!r.isOdd(p);throw new Error("Field doesn't support isOdd")}equals(p){f(p);let{px:g,py:y,pz:x}=this,{px:b,py:A,pz:v}=p,E=r.eql(r.mul(g,v),r.mul(b,x)),_=r.eql(r.mul(y,v),r.mul(A,x));return E&&_}negate(){return new l(this.px,r.neg(this.py),this.pz)}double(){let{a:p,b:g}=t,y=r.mul(g,El),{px:x,py:b,pz:A}=this,v=r.ZERO,E=r.ZERO,_=r.ZERO,I=r.mul(x,x),k=r.mul(b,b),K=r.mul(A,A),F=r.mul(x,b);return F=r.add(F,F),_=r.mul(x,A),_=r.add(_,_),v=r.mul(p,_),E=r.mul(y,K),E=r.add(v,E),v=r.sub(k,E),E=r.add(k,E),E=r.mul(v,E),v=r.mul(F,v),_=r.mul(y,_),K=r.mul(p,K),F=r.sub(I,K),F=r.mul(p,F),F=r.add(F,_),_=r.add(I,I),I=r.add(_,I),I=r.add(I,K),I=r.mul(I,F),E=r.add(E,I),K=r.mul(b,A),K=r.add(K,K),I=r.mul(K,F),v=r.sub(v,I),_=r.mul(K,k),_=r.add(_,_),_=r.add(_,_),new l(v,E,_)}add(p){f(p);let{px:g,py:y,pz:x}=this,{px:b,py:A,pz:v}=p,E=r.ZERO,_=r.ZERO,I=r.ZERO,k=t.a,K=r.mul(t.b,El),F=r.mul(g,b),z=r.mul(y,A),X=r.mul(x,v),ut=r.add(g,y),T=r.add(b,A);ut=r.mul(ut,T),T=r.add(F,z),ut=r.sub(ut,T),T=r.add(g,x);let N=r.add(b,v);return T=r.mul(T,N),N=r.add(F,X),T=r.sub(T,N),N=r.add(y,x),E=r.add(A,v),N=r.mul(N,E),E=r.add(z,X),N=r.sub(N,E),I=r.mul(k,T),E=r.mul(K,X),I=r.add(E,I),E=r.sub(z,I),I=r.add(z,I),_=r.mul(E,I),z=r.add(F,F),z=r.add(z,F),X=r.mul(k,X),T=r.mul(K,T),z=r.add(z,X),X=r.sub(F,X),X=r.mul(k,X),T=r.add(T,X),F=r.mul(z,T),_=r.add(_,F),F=r.mul(N,T),E=r.mul(ut,E),E=r.sub(E,F),F=r.mul(ut,z),I=r.mul(N,I),I=r.add(I,F),new l(E,_,I)}subtract(p){return this.add(p.negate())}is0(){return this.equals(l.ZERO)}wNAF(p){return d.wNAFCached(this,u,p,g=>{let y=r.invertBatch(g.map(x=>x.pz));return g.map((x,b)=>x.toAffine(y[b])).map(l.fromAffine)})}multiplyUnsafe(p){let g=l.ZERO;if(p===qr)return g;if(a(p),p===Qe)return this;let{endo:y}=t;if(!y)return d.unsafeLadder(this,p);let{k1neg:x,k1:b,k2neg:A,k2:v}=y.splitScalar(p),E=g,_=g,I=this;for(;b>qr||v>qr;)b&Qe&&(E=E.add(I)),v&Qe&&(_=_.add(I)),I=I.double(),b>>=Qe,v>>=Qe;return x&&(E=E.negate()),A&&(_=_.negate()),_=new l(r.mul(_.px,y.beta),_.py,_.pz),E.add(_)}multiply(p){a(p);let g=p,y,x,{endo:b}=t;if(b){let{k1neg:A,k1:v,k2neg:E,k2:_}=b.splitScalar(g),{p:I,f:k}=this.wNAF(v),{p:K,f:F}=this.wNAF(_);I=d.constTimeNegate(A,I),K=d.constTimeNegate(E,K),K=new l(r.mul(K.px,b.beta),K.py,K.pz),y=I.add(K),x=k.add(F)}else{let{p:A,f:v}=this.wNAF(g);y=A,x=v}return l.normalizeZ([y,x])[0]}multiplyAndAddUnsafe(p,g,y){let x=l.BASE,b=(v,E)=>E===qr||E===Qe||!v.equals(x)?v.multiplyUnsafe(E):v.multiply(E),A=b(this,g).add(b(p,y));return A.is0()?void 0:A}toAffine(p){let{px:g,py:y,pz:x}=this,b=this.is0();p==null&&(p=b?r.ONE:r.inv(x));let A=r.mul(g,p),v=r.mul(y,p),E=r.mul(x,p);if(b)return{x:r.ZERO,y:r.ZERO};if(!r.eql(E,r.ONE))throw new Error("invZ was invalid");return{x:A,y:v}}isTorsionFree(){let{h:p,isTorsionFree:g}=t;if(p===Qe)return!0;if(g)return g(l,this);throw new Error("isTorsionFree() has not been declared for the elliptic curve")}clearCofactor(){let{h:p,clearCofactor:g}=t;return p===Qe?this:g?g(l,this):this.multiplyUnsafe(t.h)}toRawBytes(p=!0){return this.assertValidity(),n(l,this,p)}toHex(p=!0){return Ur(this.toRawBytes(p))}}l.BASE=new l(t.Gx,t.Gy,r.ONE),l.ZERO=new l(r.ZERO,r.ONE,r.ZERO);let m=t.nBitLength,d=u0(l,t.endo?Math.ceil(m/2):m);return{CURVE:t,ProjectivePoint:l,normPrivateKeyToScalar:c,weierstrassEquation:i,isWithinCurveOrder:s}}function gy(e){let t=Ti(e);return Er(t,{hash:"hash",hmac:"function",randomBytes:"function"},{bits2int:"function",bits2int_modN:"function",lowS:"boolean"}),Object.freeze({lowS:!0,...t})}function Sl(e){let t=gy(e),{Fp:r,n}=t,o=r.BYTES+1,i=2*r.BYTES+1;function s(T){return qr<T&&T<r.ORDER}function a(T){return At(T,n)}function c(T){return a0(T,n)}let{ProjectivePoint:u,normPrivateKeyToScalar:f,weierstrassEquation:l,isWithinCurveOrder:m}=my({...t,toBytes(T,N,D){let O=N.toAffine(),B=r.toBytes(O.x),H=Fr;return D?H(Uint8Array.from([N.hasEvenY()?2:3]),B):H(Uint8Array.from([4]),B,r.toBytes(O.y))},fromBytes(T){let N=T.length,D=T[0],O=T.subarray(1);if(N===o&&(D===2||D===3)){let B=Or(O);if(!s(B))throw new Error("Point is not on curve");let H=l(B),Y=r.sqrt(H),j=(Y&Qe)===Qe;return(D&1)===1!==j&&(Y=r.neg(Y)),{x:B,y:Y}}else if(N===i&&D===4){let B=r.fromBytes(O.subarray(0,r.BYTES)),H=r.fromBytes(O.subarray(r.BYTES,2*r.BYTES));return{x:B,y:H}}else throw new Error(`Point of length ${N} was invalid. Expected ${o} compressed bytes or ${i} uncompressed bytes`)}}),d=T=>Ur(dn(T,t.nByteLength));function h(T){let N=n>>Qe;return T>N}function p(T){return h(T)?a(-T):T}let g=(T,N,D)=>Or(T.slice(N,D));class y{constructor(N,D,O){this.r=N,this.s=D,this.recovery=O,this.assertValidity()}static fromCompact(N){let D=t.nByteLength;return N=Vt("compactSignature",N,D*2),new y(g(N,0,D),g(N,D,2*D))}static fromDER(N){let{r:D,s:O}=Wn.toSig(Vt("DER",N));return new y(D,O)}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(N){return new y(this.r,this.s,N)}recoverPublicKey(N){let{r:D,s:O,recovery:B}=this,H=_(Vt("msgHash",N));if(B==null||![0,1,2,3].includes(B))throw new Error("recovery id invalid");let Y=B===2||B===3?D+t.n:D;if(Y>=r.ORDER)throw new Error("recovery id 2 or 3 invalid");let j=B&1?"03":"02",ft=u.fromHex(j+d(Y)),pt=c(Y),Et=a(-H*pt),mt=a(O*pt),xt=u.BASE.multiplyAndAddUnsafe(ft,Et,mt);if(!xt)throw new Error("point at infinify");return xt.assertValidity(),xt}hasHighS(){return h(this.s)}normalizeS(){return this.hasHighS()?new y(this.r,a(-this.s),this.recovery):this}toDERRawBytes(){return Vn(this.toDERHex())}toDERHex(){return Wn.hexFromSig({r:this.r,s:this.s})}toCompactRawBytes(){return Vn(this.toCompactHex())}toCompactHex(){return d(this.r)+d(this.s)}}let x={isValidPrivateKey(T){try{return f(T),!0}catch{return!1}},normPrivateKeyToScalar:f,randomPrivateKey:()=>{let T=Xa(t.n);return _4(t.randomBytes(T),t.n)},precompute(T=8,N=u.BASE){return N._setWindowSize(T),N.multiply(BigInt(3)),N}};function b(T,N=!0){return u.fromPrivateKey(T).toRawBytes(N)}function A(T){let N=T instanceof Uint8Array,D=typeof T=="string",O=(N||D)&&T.length;return N?O===o||O===i:D?O===2*o||O===2*i:T instanceof u}function v(T,N,D=!0){if(A(T))throw new Error("first arg must be private key");if(!A(N))throw new Error("second arg must be public key");return u.fromHex(N).multiply(f(T)).toRawBytes(D)}let E=t.bits2int||function(T){let N=Or(T),D=T.length*8-t.nBitLength;return D>0?N>>BigInt(D):N},_=t.bits2int_modN||function(T){return a(E(T))},I=Ai(t.nBitLength);function k(T){if(typeof T!="bigint")throw new Error("bigint expected");if(!(qr<=T&&T<I))throw new Error(`bigint expected < 2^${t.nBitLength}`);return dn(T,t.nByteLength)}function K(T,N,D=F){if(["recovered","canonical"].some(Ft=>Ft in D))throw new Error("sign() legacy options not supported");let{hash:O,randomBytes:B}=t,{lowS:H,prehash:Y,extraEntropy:j}=D;H==null&&(H=!0),T=Vt("msgHash",T),Y&&(T=Vt("prehashed msgHash",O(T)));let ft=_(T),pt=f(N),Et=[k(pt),k(ft)];if(j!=null){let Ft=j===!0?B(r.BYTES):j;Et.push(Vt("extraEntropy",Ft))}let mt=Fr(...Et),xt=ft;function Jt(Ft){let ue=E(Ft);if(!m(ue))return;let fe=c(ue),ee=u.BASE.multiply(ue).toAffine(),de=a(ee.x);if(de===qr)return;let Rr=a(fe*a(xt+de*pt));if(Rr===qr)return;let Nn=(ee.x===de?0:2)|Number(ee.y&Qe),di=Rr;return H&&h(Rr)&&(di=p(Rr),Nn^=1),new y(de,di,Nn)}return{seed:mt,k2sig:Jt}}let F={lowS:t.lowS,prehash:!1},z={lowS:t.lowS,prehash:!1};function X(T,N,D=F){let{seed:O,k2sig:B}=K(T,N,D),H=t;return Qa(H.hash.outputLen,H.nByteLength,H.hmac)(O,B)}u.BASE._setWindowSize(8);function ut(T,N,D,O=z){let B=T;if(N=Vt("msgHash",N),D=Vt("publicKey",D),"strict"in O)throw new Error("options.strict was renamed to lowS");let{lowS:H,prehash:Y}=O,j,ft;try{if(typeof B=="string"||B instanceof Uint8Array)try{j=y.fromDER(B)}catch(ee){if(!(ee instanceof Wn.Err))throw ee;j=y.fromCompact(B)}else if(typeof B=="object"&&typeof B.r=="bigint"&&typeof B.s=="bigint"){let{r:ee,s:de}=B;j=new y(ee,de)}else throw new Error("PARSE");ft=u.fromHex(D)}catch(ee){if(ee.message==="PARSE")throw new Error("signature must be Signature instance, Uint8Array or hex string");return!1}if(H&&j.hasHighS())return!1;Y&&(N=t.hash(N));let{r:pt,s:Et}=j,mt=_(N),xt=c(Et),Jt=a(mt*xt),Ft=a(pt*xt),ue=u.BASE.multiplyAndAddUnsafe(ft,Jt,Ft)?.toAffine();return ue?a(ue.x)===pt:!1}return{CURVE:t,getPublicKey:b,getSharedSecret:v,sign:X,verify:ut,ProjectivePoint:u,Signature:y,utils:x}}var x0=class extends So{constructor(t,r){super(),this.finished=!1,this.destroyed=!1,y4(t);let n=Ii(r);if(this.iHash=t.create(),typeof this.iHash.update!="function")throw new Error("Expected instance of class which extends utils.Hash");this.blockLen=this.iHash.blockLen,this.outputLen=this.iHash.outputLen;let o=this.blockLen,i=new Uint8Array(o);i.set(n.length>o?t.create().update(n).digest():n);for(let s=0;s<i.length;s++)i[s]^=54;this.iHash.update(i),this.oHash=t.create();for(let s=0;s<i.length;s++)i[s]^=106;this.oHash.update(i),i.fill(0)}update(t){return Eo(this),this.iHash.update(t),this}digestInto(t){Eo(this),Va(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:r,iHash:n,finished:o,destroyed:i,blockLen:s,outputLen:a}=this;return t=t,t.finished=o,t.destroyed=i,t.blockLen=s,t.outputLen=a,t.oHash=r._cloneInto(t.oHash),t.iHash=n._cloneInto(t.iHash),t}destroy(){this.destroyed=!0,this.oHash.destroy(),this.iHash.destroy()}},I2=(e,t,r)=>new x0(e,t).update(r).digest();I2.create=(e,t)=>new x0(e,t);function yy(e){return{hash:e,hmac:(t,...r)=>I2(e,t,e0(...r)),randomBytes:Io}}function Il(e,t){let r=n=>Sl({...e,...yy(n)});return Object.freeze({...r(t),create:r})}var Cl=BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"),Al=BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),xy=BigInt(1),A2=BigInt(2),Tl=(e,t)=>(e+t/A2)/t;function by(e){let t=Cl,r=BigInt(3),n=BigInt(6),o=BigInt(11),i=BigInt(22),s=BigInt(23),a=BigInt(44),c=BigInt(88),u=e*e*e%t,f=u*u*e%t,l=Lt(f,r,t)*f%t,m=Lt(l,r,t)*f%t,d=Lt(m,A2,t)*u%t,h=Lt(d,o,t)*d%t,p=Lt(h,i,t)*h%t,g=Lt(p,a,t)*p%t,y=Lt(g,c,t)*g%t,x=Lt(y,a,t)*p%t,b=Lt(x,r,t)*f%t,A=Lt(b,s,t)*h%t,v=Lt(A,n,t)*u%t,E=Lt(v,A2,t);if(!T2.eql(T2.sqr(E),e))throw new Error("Cannot find square root");return E}var T2=c0(Cl,void 0,void 0,{sqrt:by}),zr=Il({a:BigInt(0),b:BigInt(7),Fp:T2,n:Al,Gx:BigInt("55066263022277343669578718895168534326250603453777594175500187360389116729240"),Gy:BigInt("32670510020758816978083085130507043184471273380659243275938904335757337482424"),h:BigInt(1),lowS:!0,endo:{beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee"),splitScalar:e=>{let t=Al,r=BigInt("0x3086d221a7d46bcde86c90e49284eb15"),n=-xy*BigInt("0xe4437ed6010e88286f547fa90abfe4c3"),o=BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"),i=r,s=BigInt("0x100000000000000000000000000000000"),a=Tl(i*e,t),c=Tl(-n*e,t),u=At(e-a*r-c*o,t),f=At(-a*n-c*i,t),l=u>s,m=f>s;if(l&&(u=t-u),m&&(f=t-f),u>s||f>s)throw new Error("splitScalar: Endomorphism failed, k="+e);return{k1neg:l,k1:u,k2neg:m,k2:f}}}},vl),SR=BigInt(0);var IR=zr.ProjectivePoint;function Rl(){return zr.utils.randomPrivateKey()}async function _l(e,t){let{digest:r}=await kt.digest(t);try{return zr.sign(r,e).toDERRawBytes()}catch(n){throw new U(String(n),"ERR_INVALID_INPUT")}}async function Bl(e,t,r){try{let{digest:n}=await kt.digest(r);return zr.verify(t,n,e)}catch(n){throw new U(String(n),"ERR_INVALID_INPUT")}}function Pl(e){return zr.ProjectivePoint.fromHex(e).toRawBytes(!0)}function Nl(e){try{zr.getPublicKey(e,!0)}catch(t){throw new U(String(t),"ERR_INVALID_PRIVATE_KEY")}}function C2(e){try{zr.ProjectivePoint.fromHex(e)}catch(t){throw new U(String(t),"ERR_INVALID_PUBLIC_KEY")}}function Dl(e){try{return zr.getPublicKey(e,!0)}catch(t){throw new U(String(t),"ERR_INVALID_PRIVATE_KEY")}}var ki=class{_key;constructor(t){C2(t),this._key=t}async verify(t,r){return Bl(this._key,r,t)}marshal(){return Pl(this._key)}get bytes(){return nr.encode({Type:_t.Secp256k1,Data:this.marshal()}).subarray()}equals(t){return dt(this.bytes,t.bytes)}async hash(){let{bytes:t}=await kt.digest(this.bytes);return t}},Ui=class{_key;_publicKey;constructor(t,r){this._key=t,this._publicKey=r??Dl(t),Nl(this._key),C2(this._publicKey)}async sign(t){return _l(this._key,t)}get public(){return new ki(this._publicKey)}marshal(){return this._key}get bytes(){return or.encode({Type:_t.Secp256k1,Data:this.marshal()}).subarray()}equals(t){return dt(this.bytes,t.bytes)}async hash(){let{bytes:t}=await kt.digest(this.bytes);return t}async id(){let t=await this.public.hash();return M(t,"base58btc")}async export(t,r="libp2p-key"){if(r==="libp2p-key")return Ro(this.bytes,t);throw new U(`export format '${r}' is not supported`,"ERR_INVALID_EXPORT_FORMAT")}};function vy(e){return new Ui(e)}function Ey(e){return new ki(e)}async function Sy(){let e=Rl();return new Ui(e)}var Sr={rsa:E2,ed25519:g2,secp256k1:R2};function _2(e){let t=Object.keys(Sr).join(" / ");return new U(`invalid or unsupported key type ${e}. Must be ${t}`,"ERR_UNSUPPORTED_KEY_TYPE")}function B2(e){if(e=e.toLowerCase(),e==="rsa"||e==="ed25519"||e==="secp256k1")return Sr[e];throw _2(e)}async function Iy(e,t){return B2(e).generateKeyPair(t??2048)}async function Ay(e,t,r){if(e.toLowerCase()!=="ed25519")throw new U("Seed key derivation is unimplemented for RSA or secp256k1","ERR_UNSUPPORTED_KEY_DERIVATION_TYPE");return m2(t)}function w0(e){let t=nr.decode(e),r=t.Data??new Uint8Array;switch(t.Type){case _t.RSA:return Sr.rsa.unmarshalRsaPublicKey(r);case _t.Ed25519:return Sr.ed25519.unmarshalEd25519PublicKey(r);case _t.Secp256k1:return Sr.secp256k1.unmarshalSecp256k1PublicKey(r);default:throw _2(t.Type??"unknown")}}function Ty(e,t){return t=(t??"rsa").toLowerCase(),B2(t),e.bytes}async function v0(e){let t=or.decode(e),r=t.Data??new Uint8Array;switch(t.Type){case _t.RSA:return Sr.rsa.unmarshalRsaPrivateKey(r);case _t.Ed25519:return Sr.ed25519.unmarshalEd25519PrivateKey(r);case _t.Secp256k1:return Sr.secp256k1.unmarshalSecp256k1PrivateKey(r);default:throw _2(t.Type??"RSA")}}function Cy(e,t){return t=(t??"rsa").toLowerCase(),B2(t),e.bytes}async function Ry(e,t){try{let o=await tl(e,t);return await v0(o)}catch{}let r=b0.default.pki.decryptRsaPrivateKey(e,t);if(r===null)throw new U("Cannot read the key, most likely the password is wrong or not a RSA key","ERR_CANNOT_DECRYPT_PEM");let n=b0.default.asn1.toDer(b0.default.pki.privateKeyToAsn1(r));return n=at(n.getBytes(),"ascii"),Sr.rsa.unmarshalRsaPrivateKey(n)}var Z2=ht(Do(),1);var Ul=(e=21)=>crypto.getRandomValues(new Uint8Array(e)).reduce((t,r)=>(r&=63,r<36?t+=r.toString(36):r<62?t+=(r-26).toString(36).toUpperCase():r>62?t+="-":t+="_",t),"");var $r="/",Ol=new TextEncoder().encode($r),S0=Ol[0],Ir=class e{_buf;constructor(t,r){if(typeof t=="string")this._buf=at(t);else if(t instanceof Uint8Array)this._buf=t;else throw new Error("Invalid key, should be String of Uint8Array");if(r==null&&(r=!0),r&&this.clean(),this._buf.byteLength===0||this._buf[0]!==S0)throw new Error("Invalid key")}toString(t="utf8"){return M(this._buf,t)}uint8Array(){return this._buf}get[Symbol.toStringTag](){return`Key(${this.toString()})`}static withNamespaces(t){return new e(t.join($r))}static random(){return new e(Ul().replace(/-/g,""))}static asKey(t){return t instanceof Uint8Array||typeof t=="string"?new e(t):typeof t.uint8Array=="function"?new e(t.uint8Array()):null}clean(){if((this._buf==null||this._buf.byteLength===0)&&(this._buf=Ol),this._buf[0]!==S0){let t=new Uint8Array(this._buf.byteLength+1);t.fill(S0,0,1),t.set(this._buf,1),this._buf=t}for(;this._buf.byteLength>1&&this._buf[this._buf.byteLength-1]===S0;)this._buf=this._buf.subarray(0,-1)}less(t){let r=this.list(),n=t.list();for(let o=0;o<r.length;o++){if(n.length<o+1)return!1;let i=r[o],s=n[o];if(i<s)return!0;if(i>s)return!1}return r.length<n.length}reverse(){return e.withNamespaces(this.list().slice().reverse())}namespaces(){return this.list()}baseNamespace(){let t=this.namespaces();return t[t.length-1]}list(){return this.toString().split($r).slice(1)}type(){return By(this.baseNamespace())}name(){return Py(this.baseNamespace())}instance(t){return new e(this.toString()+":"+t)}path(){let t=this.parent().toString();return t.endsWith($r)||(t+=$r),t+=this.type(),new e(t)}parent(){let t=this.list();return t.length===1?new e($r):new e(t.slice(0,-1).join($r))}child(t){return this.toString()===$r?t:t.toString()===$r?this:new e(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 e.withNamespaces([...this.namespaces(),...Ny(t.map(r=>r.namespaces()))])}};function By(e){let t=e.split(":");return t.length<2?"":t.slice(0,-1).join(":")}function Py(e){let t=e.split(":");return t[t.length-1]}function Ny(e){return[].concat(...e)}var r5=ht(N2(),1);var Fl="ERR_IPNS_EXPIRED_RECORD",Oi="ERR_UNRECOGNIZED_VALIDITY",Ml="ERR_SIGNATURE_CREATION",Hr="ERR_SIGNATURE_VERIFICATION",Vl="ERR_UNRECOGNIZED_FORMAT";var D2="ERR_UNDEFINED_PARAMETER",Kl="ERR_INVALID_RECORD_DATA",ql="ERR_INVALID_VALUE",zl="ERR_INVALID_EMBEDDED_KEY",$l="ERR_MISSING_PRIVATE_KEY",Hl="ERR_RECORD_TOO_LARGE";var Ce;(function(e){let t;(function(o){o.EOL="EOL"})(t=e.ValidityType||(e.ValidityType={}));let r;(function(o){o[o.EOL=0]="EOL"})(r||(r={})),function(o){o.codec=()=>mn(r)}(t=e.ValidityType||(e.ValidityType={}));let n;e.codec=()=>(n==null&&(n=Ge((o,i,s={})=>{s.lengthDelimited!==!1&&i.fork(),o.value!=null&&(i.uint32(10),i.bytes(o.value)),o.signatureV1!=null&&(i.uint32(18),i.bytes(o.signatureV1)),o.validityType!=null&&(i.uint32(24),e.ValidityType.codec().encode(o.validityType,i)),o.validity!=null&&(i.uint32(34),i.bytes(o.validity)),o.sequence!=null&&(i.uint32(40),i.uint64(o.sequence)),o.ttl!=null&&(i.uint32(48),i.uint64(o.ttl)),o.pubKey!=null&&(i.uint32(58),i.bytes(o.pubKey)),o.signatureV2!=null&&(i.uint32(66),i.bytes(o.signatureV2)),o.data!=null&&(i.uint32(74),i.bytes(o.data)),s.lengthDelimited!==!1&&i.ldelim()},(o,i)=>{let s={},a=i==null?o.len:o.pos+i;for(;o.pos<a;){let c=o.uint32();switch(c>>>3){case 1:s.value=o.bytes();break;case 2:s.signatureV1=o.bytes();break;case 3:s.validityType=e.ValidityType.codec().decode(o);break;case 4:s.validity=o.bytes();break;case 5:s.sequence=o.uint64();break;case 6:s.ttl=o.uint64();break;case 7:s.pubKey=o.bytes();break;case 8:s.signatureV2=o.bytes();break;case 9:s.data=o.bytes();break;default:o.skipType(c&7);break}}return s})),n),e.encode=o=>He(o,e.codec()),e.decode=o=>$e(o,e.codec())})(Ce||(Ce={}));var Dy=["string","number","bigint","symbol"],Ly=["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 Gl(e){if(e===null)return"null";if(e===void 0)return"undefined";if(e===!0||e===!1)return"boolean";let t=typeof e;if(Dy.includes(t))return t;if(t==="function")return"Function";if(Array.isArray(e))return"Array";if(ky(e))return"Buffer";let r=Uy(e);return r||"Object"}function ky(e){return e&&e.constructor&&e.constructor.isBuffer&&e.constructor.isBuffer.call(null,e)}function Uy(e){let t=Object.prototype.toString.call(e).slice(8,-1);if(Ly.includes(t))return t}var R=class{constructor(t,r,n){this.major=t,this.majorEncoded=t<<5,this.name=r,this.terminal=n}toString(){return`Type[${this.major}].${this.name}`}compare(t){return this.major<t.major?-1:this.major>t.major?1:0}};R.uint=new R(0,"uint",!0);R.negint=new R(1,"negint",!0);R.bytes=new R(2,"bytes",!0);R.string=new R(3,"string",!0);R.array=new R(4,"array",!1);R.map=new R(5,"map",!1);R.tag=new R(6,"tag",!1);R.float=new R(7,"float",!0);R.false=new R(7,"false",!0);R.true=new R(7,"true",!0);R.null=new R(7,"null",!0);R.undefined=new R(7,"undefined",!0);R.break=new R(7,"break",!0);var G=class{constructor(t,r,n){this.type=t,this.value=r,this.encodedLength=n,this.encodedBytes=void 0,this.byteValue=void 0}toString(){return`Token[${this.type}].${this.value}`}};var Lo=globalThis.process&&!globalThis.process.browser&&globalThis.Buffer&&typeof globalThis.Buffer.isBuffer=="function",Oy=new TextDecoder,Fy=new TextEncoder;function I0(e){return Lo&&globalThis.Buffer.isBuffer(e)}function k2(e){return e instanceof Uint8Array?I0(e)?new Uint8Array(e.buffer,e.byteOffset,e.byteLength):e:Uint8Array.from(e)}var Zl=Lo?(e,t,r)=>r-t>64?globalThis.Buffer.from(e.subarray(t,r)).toString("utf8"):Yl(e,t,r):(e,t,r)=>r-t>64?Oy.decode(e.subarray(t,r)):Yl(e,t,r),Xl=Lo?e=>e.length>64?globalThis.Buffer.from(e):Ql(e):e=>e.length>64?Fy.encode(e):Ql(e),Ar=e=>Uint8Array.from(e),ko=Lo?(e,t,r)=>I0(e)?new Uint8Array(e.subarray(t,r)):e.slice(t,r):(e,t,r)=>e.slice(t,r),jl=Lo?(e,t)=>(e=e.map(r=>r instanceof Uint8Array?r:globalThis.Buffer.from(r)),k2(globalThis.Buffer.concat(e,t))):(e,t)=>{let r=new Uint8Array(t),n=0;for(let o of e)n+o.length>r.length&&(o=o.subarray(0,r.length-n)),r.set(o,n),n+=o.length;return r},Jl=Lo?e=>globalThis.Buffer.allocUnsafe(e):e=>new Uint8Array(e);function t6(e,t){if(I0(e)&&I0(t))return e.compare(t);for(let r=0;r<e.length;r++)if(e[r]!==t[r])return e[r]<t[r]?-1:1;return 0}function Ql(e){let t=[],r=0;for(let n=0;n<e.length;n++){let o=e.charCodeAt(n);o<128?t[r++]=o:o<2048?(t[r++]=o>>6|192,t[r++]=o&63|128):(o&64512)===55296&&n+1<e.length&&(e.charCodeAt(n+1)&64512)===56320?(o=65536+((o&1023)<<10)+(e.charCodeAt(++n)&1023),t[r++]=o>>18|240,t[r++]=o>>12&63|128,t[r++]=o>>6&63|128,t[r++]=o&63|128):(t[r++]=o>>12|224,t[r++]=o>>6&63|128,t[r++]=o&63|128)}return t}function Yl(e,t,r){let n=[];for(;t<r;){let o=e[t],i=null,s=o>239?4:o>223?3:o>191?2:1;if(t+s<=r){let a,c,u,f;switch(s){case 1:o<128&&(i=o);break;case 2:a=e[t+1],(a&192)===128&&(f=(o&31)<<6|a&63,f>127&&(i=f));break;case 3:a=e[t+1],c=e[t+2],(a&192)===128&&(c&192)===128&&(f=(o&15)<<12|(a&63)<<6|c&63,f>2047&&(f<55296||f>57343)&&(i=f));break;case 4:a=e[t+1],c=e[t+2],u=e[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&&(i=f))}}i===null?(i=65533,s=1):i>65535&&(i-=65536,n.push(i>>>10&1023|55296),i=56320|i&1023),n.push(i),t+=s}return My(n)}var Wl=4096;function My(e){let t=e.length;if(t<=Wl)return String.fromCharCode.apply(String,e);let r="",n=0;for(;n<t;)r+=String.fromCharCode.apply(String,e.slice(n,n+=Wl));return r}var Vy=256,Fi=class{constructor(t=Vy){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 r=this.chunks[this.chunks.length-1];if(this.cursor+t.length<=this.maxCursor+1){let o=r.length-(this.maxCursor-this.cursor)-1;r.set(t,o)}else{if(r){let o=r.length-(this.maxCursor-this.cursor)-1;o<r.length&&(this.chunks[this.chunks.length-1]=r.subarray(0,o),this.maxCursor=this.cursor-1)}t.length<64&&t.length<this.chunkSize?(r=Jl(this.chunkSize),this.chunks.push(r),this.maxCursor+=r.length,this._initReuseChunk===null&&(this._initReuseChunk=r),r.set(t,0)):(this.chunks.push(t),this.maxCursor+=t.length)}this.cursor+=t.length}toBytes(t=!1){let r;if(this.chunks.length===1){let n=this.chunks[0];t&&this.cursor>n.length/2?(r=this.cursor===n.length?n:n.subarray(0,this.cursor),this._initReuseChunk=null,this.chunks=[]):r=ko(n,0,this.cursor)}else r=jl(this.chunks,this.cursor);return t&&this.reset(),r}};var et="CBOR decode error:",U2="CBOR encode error:",Mi=[];Mi[23]=1;Mi[24]=2;Mi[25]=3;Mi[26]=5;Mi[27]=9;function Gr(e,t,r){if(e.length-t<r)throw new Error(`${et} not enough data for type`)}var ae=[24,256,65536,4294967296,BigInt("18446744073709551616")];function ke(e,t,r){Gr(e,t,1);let n=e[t];if(r.strict===!0&&n<ae[0])throw new Error(`${et} integer encoded in more bytes than necessary (strict decode)`);return n}function Ue(e,t,r){Gr(e,t,2);let n=e[t]<<8|e[t+1];if(r.strict===!0&&n<ae[1])throw new Error(`${et} integer encoded in more bytes than necessary (strict decode)`);return n}function Oe(e,t,r){Gr(e,t,4);let n=e[t]*16777216+(e[t+1]<<16)+(e[t+2]<<8)+e[t+3];if(r.strict===!0&&n<ae[2])throw new Error(`${et} integer encoded in more bytes than necessary (strict decode)`);return n}function Fe(e,t,r){Gr(e,t,8);let n=e[t]*16777216+(e[t+1]<<16)+(e[t+2]<<8)+e[t+3],o=e[t+4]*16777216+(e[t+5]<<16)+(e[t+6]<<8)+e[t+7],i=(BigInt(n)<<BigInt(32))+BigInt(o);if(r.strict===!0&&i<ae[3])throw new Error(`${et} integer encoded in more bytes than necessary (strict decode)`);if(i<=Number.MAX_SAFE_INTEGER)return Number(i);if(r.allowBigInt===!0)return i;throw new Error(`${et} integers outside of the safe integer range are not supported`)}function e6(e,t,r,n){return new G(R.uint,ke(e,t+1,n),2)}function r6(e,t,r,n){return new G(R.uint,Ue(e,t+1,n),3)}function n6(e,t,r,n){return new G(R.uint,Oe(e,t+1,n),5)}function o6(e,t,r,n){return new G(R.uint,Fe(e,t+1,n),9)}function Ye(e,t){return le(e,0,t.value)}function le(e,t,r){if(r<ae[0]){let n=Number(r);e.push([t|n])}else if(r<ae[1]){let n=Number(r);e.push([t|24,n])}else if(r<ae[2]){let n=Number(r);e.push([t|25,n>>>8,n&255])}else if(r<ae[3]){let n=Number(r);e.push([t|26,n>>>24&255,n>>>16&255,n>>>8&255,n&255])}else{let n=BigInt(r);if(n<ae[4]){let o=[t|27,0,0,0,0,0,0,0],i=Number(n&BigInt(4294967295)),s=Number(n>>BigInt(32)&BigInt(4294967295));o[8]=i&255,i=i>>8,o[7]=i&255,i=i>>8,o[6]=i&255,i=i>>8,o[5]=i&255,o[4]=s&255,s=s>>8,o[3]=s&255,s=s>>8,o[2]=s&255,s=s>>8,o[1]=s&255,e.push(o)}else throw new Error(`${et} encountered BigInt larger than allowable range`)}}Ye.encodedSize=function(t){return le.encodedSize(t.value)};le.encodedSize=function(t){return t<ae[0]?1:t<ae[1]?2:t<ae[2]?3:t<ae[3]?5:9};Ye.compareTokens=function(t,r){return t.value<r.value?-1:t.value>r.value?1:0};function i6(e,t,r,n){return new G(R.negint,-1-ke(e,t+1,n),2)}function s6(e,t,r,n){return new G(R.negint,-1-Ue(e,t+1,n),3)}function a6(e,t,r,n){return new G(R.negint,-1-Oe(e,t+1,n),5)}var O2=BigInt(-1),c6=BigInt(1);function u6(e,t,r,n){let o=Fe(e,t+1,n);if(typeof o!="bigint"){let i=-1-o;if(i>=Number.MIN_SAFE_INTEGER)return new G(R.negint,i,9)}if(n.allowBigInt!==!0)throw new Error(`${et} integers outside of the safe integer range are not supported`);return new G(R.negint,O2-BigInt(o),9)}function A0(e,t){let r=t.value,n=typeof r=="bigint"?r*O2-c6:r*-1-1;le(e,t.type.majorEncoded,n)}A0.encodedSize=function(t){let r=t.value,n=typeof r=="bigint"?r*O2-c6:r*-1-1;return n<ae[0]?1:n<ae[1]?2:n<ae[2]?3:n<ae[3]?5:9};A0.compareTokens=function(t,r){return t.value<r.value?1:t.value>r.value?-1:0};function Vi(e,t,r,n){Gr(e,t,r+n);let o=ko(e,t+r,t+r+n);return new G(R.bytes,o,r+n)}function f6(e,t,r,n){return Vi(e,t,1,r)}function l6(e,t,r,n){return Vi(e,t,2,ke(e,t+1,n))}function h6(e,t,r,n){return Vi(e,t,3,Ue(e,t+1,n))}function d6(e,t,r,n){return Vi(e,t,5,Oe(e,t+1,n))}function p6(e,t,r,n){let o=Fe(e,t+1,n);if(typeof o=="bigint")throw new Error(`${et} 64-bit integer bytes lengths not supported`);return Vi(e,t,9,o)}function T0(e){return e.encodedBytes===void 0&&(e.encodedBytes=e.type===R.string?Xl(e.value):e.value),e.encodedBytes}function Uo(e,t){let r=T0(t);le(e,t.type.majorEncoded,r.length),e.push(r)}Uo.encodedSize=function(t){let r=T0(t);return le.encodedSize(r.length)+r.length};Uo.compareTokens=function(t,r){return qy(T0(t),T0(r))};function qy(e,t){return e.length<t.length?-1:e.length>t.length?1:t6(e,t)}function Ki(e,t,r,n,o){let i=r+n;Gr(e,t,i);let s=new G(R.string,Zl(e,t+r,t+i),i);return o.retainStringBytes===!0&&(s.byteValue=ko(e,t+r,t+i)),s}function m6(e,t,r,n){return Ki(e,t,1,r,n)}function g6(e,t,r,n){return Ki(e,t,2,ke(e,t+1,n),n)}function y6(e,t,r,n){return Ki(e,t,3,Ue(e,t+1,n),n)}function x6(e,t,r,n){return Ki(e,t,5,Oe(e,t+1,n),n)}function b6(e,t,r,n){let o=Fe(e,t+1,n);if(typeof o=="bigint")throw new Error(`${et} 64-bit integer string lengths not supported`);return Ki(e,t,9,o,n)}var w6=Uo;function Oo(e,t,r,n){return new G(R.array,n,r)}function v6(e,t,r,n){return Oo(e,t,1,r)}function E6(e,t,r,n){return Oo(e,t,2,ke(e,t+1,n))}function S6(e,t,r,n){return Oo(e,t,3,Ue(e,t+1,n))}function I6(e,t,r,n){return Oo(e,t,5,Oe(e,t+1,n))}function A6(e,t,r,n){let o=Fe(e,t+1,n);if(typeof o=="bigint")throw new Error(`${et} 64-bit integer array lengths not supported`);return Oo(e,t,9,o)}function T6(e,t,r,n){if(n.allowIndefinite===!1)throw new Error(`${et} indefinite length items not allowed`);return Oo(e,t,1,1/0)}function C0(e,t){le(e,R.array.majorEncoded,t.value)}C0.compareTokens=Ye.compareTokens;C0.encodedSize=function(t){return le.encodedSize(t.value)};function Fo(e,t,r,n){return new G(R.map,n,r)}function C6(e,t,r,n){return Fo(e,t,1,r)}function R6(e,t,r,n){return Fo(e,t,2,ke(e,t+1,n))}function _6(e,t,r,n){return Fo(e,t,3,Ue(e,t+1,n))}function B6(e,t,r,n){return Fo(e,t,5,Oe(e,t+1,n))}function P6(e,t,r,n){let o=Fe(e,t+1,n);if(typeof o=="bigint")throw new Error(`${et} 64-bit integer map lengths not supported`);return Fo(e,t,9,o)}function N6(e,t,r,n){if(n.allowIndefinite===!1)throw new Error(`${et} indefinite length items not allowed`);return Fo(e,t,1,1/0)}function R0(e,t){le(e,R.map.majorEncoded,t.value)}R0.compareTokens=Ye.compareTokens;R0.encodedSize=function(t){return le.encodedSize(t.value)};function D6(e,t,r,n){return new G(R.tag,r,1)}function L6(e,t,r,n){return new G(R.tag,ke(e,t+1,n),2)}function k6(e,t,r,n){return new G(R.tag,Ue(e,t+1,n),3)}function U6(e,t,r,n){return new G(R.tag,Oe(e,t+1,n),5)}function O6(e,t,r,n){return new G(R.tag,Fe(e,t+1,n),9)}function _0(e,t){le(e,R.tag.majorEncoded,t.value)}_0.compareTokens=Ye.compareTokens;_0.encodedSize=function(t){return le.encodedSize(t.value)};var Yy=20,Wy=21,Zy=22,Xy=23;function F6(e,t,r,n){if(n.allowUndefined===!1)throw new Error(`${et} undefined values are not supported`);return n.coerceUndefinedToNull===!0?new G(R.null,null,1):new G(R.undefined,void 0,1)}function M6(e,t,r,n){if(n.allowIndefinite===!1)throw new Error(`${et} indefinite length items not allowed`);return new G(R.break,void 0,1)}function F2(e,t,r){if(r){if(r.allowNaN===!1&&Number.isNaN(e))throw new Error(`${et} NaN values are not supported`);if(r.allowInfinity===!1&&(e===1/0||e===-1/0))throw new Error(`${et} Infinity values are not supported`)}return new G(R.float,e,t)}function V6(e,t,r,n){return F2(M2(e,t+1),3,n)}function K6(e,t,r,n){return F2(V2(e,t+1),5,n)}function q6(e,t,r,n){return F2(G6(e,t+1),9,n)}function B0(e,t,r){let n=t.value;if(n===!1)e.push([R.float.majorEncoded|Yy]);else if(n===!0)e.push([R.float.majorEncoded|Wy]);else if(n===null)e.push([R.float.majorEncoded|Zy]);else if(n===void 0)e.push([R.float.majorEncoded|Xy]);else{let o,i=!1;(!r||r.float64!==!0)&&($6(n),o=M2(sr,1),n===o||Number.isNaN(n)?(sr[0]=249,e.push(sr.slice(0,3)),i=!0):(H6(n),o=V2(sr,1),n===o&&(sr[0]=250,e.push(sr.slice(0,5)),i=!0))),i||(jy(n),o=G6(sr,1),sr[0]=251,e.push(sr.slice(0,9)))}}B0.encodedSize=function(t,r){let n=t.value;if(n===!1||n===!0||n===null||n===void 0)return 1;if(!r||r.float64!==!0){$6(n);let o=M2(sr,1);if(n===o||Number.isNaN(n))return 3;if(H6(n),o=V2(sr,1),n===o)return 5}return 9};var z6=new ArrayBuffer(9),We=new DataView(z6,1),sr=new Uint8Array(z6,0);function $6(e){if(e===1/0)We.setUint16(0,31744,!1);else if(e===-1/0)We.setUint16(0,64512,!1);else if(Number.isNaN(e))We.setUint16(0,32256,!1);else{We.setFloat32(0,e);let t=We.getUint32(0),r=(t&2139095040)>>23,n=t&8388607;if(r===255)We.setUint16(0,31744,!1);else if(r===0)We.setUint16(0,(e&2147483648)>>16|n>>13,!1);else{let o=r-127;o<-24?We.setUint16(0,0):o<-14?We.setUint16(0,(t&2147483648)>>16|1<<24+o,!1):We.setUint16(0,(t&2147483648)>>16|o+15<<10|n>>13,!1)}}}function M2(e,t){if(e.length-t<2)throw new Error(`${et} not enough data for float16`);let r=(e[t]<<8)+e[t+1];if(r===31744)return 1/0;if(r===64512)return-1/0;if(r===32256)return NaN;let n=r>>10&31,o=r&1023,i;return n===0?i=o*2**-24:n!==31?i=(o+1024)*2**(n-25):i=o===0?1/0:NaN,r&32768?-i:i}function H6(e){We.setFloat32(0,e,!1)}function V2(e,t){if(e.length-t<4)throw new Error(`${et} not enough data for float32`);let r=(e.byteOffset||0)+t;return new DataView(e.buffer,r,4).getFloat32(0,!1)}function jy(e){We.setFloat64(0,e,!1)}function G6(e,t){if(e.length-t<8)throw new Error(`${et} not enough data for float64`);let r=(e.byteOffset||0)+t;return new DataView(e.buffer,r,8).getFloat64(0,!1)}B0.compareTokens=Ye.compareTokens;function bt(e,t,r){throw new Error(`${et} encountered invalid minor (${r}) for major ${e[t]>>>5}`)}function P0(e){return()=>{throw new Error(`${et} ${e}`)}}var V=[];for(let e=0;e<=23;e++)V[e]=bt;V[24]=e6;V[25]=r6;V[26]=n6;V[27]=o6;V[28]=bt;V[29]=bt;V[30]=bt;V[31]=bt;for(let e=32;e<=55;e++)V[e]=bt;V[56]=i6;V[57]=s6;V[58]=a6;V[59]=u6;V[60]=bt;V[61]=bt;V[62]=bt;V[63]=bt;for(let e=64;e<=87;e++)V[e]=f6;V[88]=l6;V[89]=h6;V[90]=d6;V[91]=p6;V[92]=bt;V[93]=bt;V[94]=bt;V[95]=P0("indefinite length bytes/strings are not supported");for(let e=96;e<=119;e++)V[e]=m6;V[120]=g6;V[121]=y6;V[122]=x6;V[123]=b6;V[124]=bt;V[125]=bt;V[126]=bt;V[127]=P0("indefinite length bytes/strings are not supported");for(let e=128;e<=151;e++)V[e]=v6;V[152]=E6;V[153]=S6;V[154]=I6;V[155]=A6;V[156]=bt;V[157]=bt;V[158]=bt;V[159]=T6;for(let e=160;e<=183;e++)V[e]=C6;V[184]=R6;V[185]=_6;V[186]=B6;V[187]=P6;V[188]=bt;V[189]=bt;V[190]=bt;V[191]=N6;for(let e=192;e<=215;e++)V[e]=D6;V[216]=L6;V[217]=k6;V[218]=U6;V[219]=O6;V[220]=bt;V[221]=bt;V[222]=bt;V[223]=bt;for(let e=224;e<=243;e++)V[e]=P0("simple values are not supported");V[244]=bt;V[245]=bt;V[246]=bt;V[247]=F6;V[248]=P0("simple values are not supported");V[249]=V6;V[250]=K6;V[251]=q6;V[252]=bt;V[253]=bt;V[254]=bt;V[255]=M6;var ar=[];for(let e=0;e<24;e++)ar[e]=new G(R.uint,e,1);for(let e=-1;e>=-24;e--)ar[31-e]=new G(R.negint,e,1);ar[64]=new G(R.bytes,new Uint8Array(0),1);ar[96]=new G(R.string,"",1);ar[128]=new G(R.array,0,1);ar[160]=new G(R.map,0,1);ar[244]=new G(R.false,!1,1);ar[245]=new G(R.true,!0,1);ar[246]=new G(R.null,null,1);function Q6(e){switch(e.type){case R.false:return Ar([244]);case R.true:return Ar([245]);case R.null:return Ar([246]);case R.bytes:return e.value.length?void 0:Ar([64]);case R.string:return e.value===""?Ar([96]):void 0;case R.array:return e.value===0?Ar([128]):void 0;case R.map:return e.value===0?Ar([160]):void 0;case R.uint:return e.value<24?Ar([Number(e.value)]):void 0;case R.negint:if(e.value>=-24)return Ar([31-Number(e.value)])}}var tx={float64:!1,mapSorter:nx,quickEncodeToken:Q6};function ex(){let e=[];return e[R.uint.major]=Ye,e[R.negint.major]=A0,e[R.bytes.major]=Uo,e[R.string.major]=w6,e[R.array.major]=C0,e[R.map.major]=R0,e[R.tag.major]=_0,e[R.float.major]=B0,e}var Y6=ex(),K2=new Fi,D0=class e{constructor(t,r){this.obj=t,this.parent=r}includes(t){let r=this;do if(r.obj===t)return!0;while(r=r.parent);return!1}static createCheck(t,r){if(t&&t.includes(r))throw new Error(`${U2} object contains circular references`);return new e(r,t)}},xn={null:new G(R.null,null),undefined:new G(R.undefined,void 0),true:new G(R.true,!0),false:new G(R.false,!1),emptyArray:new G(R.array,0),emptyMap:new G(R.map,0)},bn={number(e,t,r,n){return!Number.isInteger(e)||!Number.isSafeInteger(e)?new G(R.float,e):e>=0?new G(R.uint,e):new G(R.negint,e)},bigint(e,t,r,n){return e>=BigInt(0)?new G(R.uint,e):new G(R.negint,e)},Uint8Array(e,t,r,n){return new G(R.bytes,e)},string(e,t,r,n){return new G(R.string,e)},boolean(e,t,r,n){return e?xn.true:xn.false},null(e,t,r,n){return xn.null},undefined(e,t,r,n){return xn.undefined},ArrayBuffer(e,t,r,n){return new G(R.bytes,new Uint8Array(e))},DataView(e,t,r,n){return new G(R.bytes,new Uint8Array(e.buffer,e.byteOffset,e.byteLength))},Array(e,t,r,n){if(!e.length)return r.addBreakTokens===!0?[xn.emptyArray,new G(R.break)]:xn.emptyArray;n=D0.createCheck(n,e);let o=[],i=0;for(let s of e)o[i++]=N0(s,r,n);return r.addBreakTokens?[new G(R.array,e.length),o,new G(R.break)]:[new G(R.array,e.length),o]},Object(e,t,r,n){let o=t!=="Object",i=o?e.keys():Object.keys(e),s=o?e.size:i.length;if(!s)return r.addBreakTokens===!0?[xn.emptyMap,new G(R.break)]:xn.emptyMap;n=D0.createCheck(n,e);let a=[],c=0;for(let u of i)a[c++]=[N0(u,r,n),N0(o?e.get(u):e[u],r,n)];return rx(a,r),r.addBreakTokens?[new G(R.map,s),a,new G(R.break)]:[new G(R.map,s),a]}};bn.Map=bn.Object;bn.Buffer=bn.Uint8Array;for(let e of"Uint8Clamped Uint16 Uint32 Int8 Int16 Int32 BigUint64 BigInt64 Float32 Float64".split(" "))bn[`${e}Array`]=bn.DataView;function N0(e,t={},r){let n=Gl(e),o=t&&t.typeEncoders&&t.typeEncoders[n]||bn[n];if(typeof o=="function"){let s=o(e,n,t,r);if(s!=null)return s}let i=bn[n];if(!i)throw new Error(`${U2} unsupported type: ${n}`);return i(e,n,t,r)}function rx(e,t){t.mapSorter&&e.sort(t.mapSorter)}function nx(e,t){let r=Array.isArray(e[0])?e[0][0]:e[0],n=Array.isArray(t[0])?t[0][0]:t[0];if(r.type!==n.type)return r.type.compare(n.type);let o=r.type.major,i=Y6[o].compareTokens(r,n);return i===0&&console.warn("WARNING: complex key types used, CBOR key sorting guarantees are gone"),i}function W6(e,t,r,n){if(Array.isArray(t))for(let o of t)W6(e,o,r,n);else r[t.type.major](e,t,n)}function ox(e,t,r){let n=N0(e,r);if(!Array.isArray(n)&&r.quickEncodeToken){let o=r.quickEncodeToken(n);if(o)return o;let i=t[n.type.major];if(i.encodedSize){let s=i.encodedSize(n,r),a=new Fi(s);if(i(a,n,r),a.chunks.length!==1)throw new Error(`Unexpected error: pre-calculated length for ${n} was wrong`);return k2(a.chunks[0])}}return K2.reset(),W6(K2,n,t,r),K2.toBytes(!0)}function q2(e,t){return t=Object.assign({},tx,t),ox(e,Y6,t)}var ix={strict:!1,allowIndefinite:!0,allowUndefined:!0,allowBigInt:!0},z2=class{constructor(t,r={}){this._pos=0,this.data=t,this.options=r}pos(){return this._pos}done(){return this._pos>=this.data.length}next(){let t=this.data[this._pos],r=ar[t];if(r===void 0){let n=V[t];if(!n)throw new Error(`${et} no decoder for major type ${t>>>5} (byte 0x${t.toString(16).padStart(2,"0")})`);let o=t&31;r=n(this.data,this._pos,o,this.options)}return this._pos+=r.encodedLength,r}},qi=Symbol.for("DONE"),L0=Symbol.for("BREAK");function sx(e,t,r){let n=[];for(let o=0;o<e.value;o++){let i=zi(t,r);if(i===L0){if(e.value===1/0)break;throw new Error(`${et} got unexpected break to lengthed array`)}if(i===qi)throw new Error(`${et} found array but not enough entries (got ${o}, expected ${e.value})`);n[o]=i}return n}function ax(e,t,r){let n=r.useMaps===!0,o=n?void 0:{},i=n?new Map:void 0;for(let s=0;s<e.value;s++){let a=zi(t,r);if(a===L0){if(e.value===1/0)break;throw new Error(`${et} got unexpected break to lengthed map`)}if(a===qi)throw new Error(`${et} found map but not enough entries (got ${s} [no key], expected ${e.value})`);if(n!==!0&&typeof a!="string")throw new Error(`${et} non-string keys not supported (got ${typeof a})`);if(r.rejectDuplicateMapKeys===!0&&(n&&i.has(a)||!n&&a in o))throw new Error(`${et} found repeat map key "${a}"`);let c=zi(t,r);if(c===qi)throw new Error(`${et} found map but not enough entries (got ${s} [no value], expected ${e.value})`);n?i.set(a,c):o[a]=c}return n?i:o}function zi(e,t){if(e.done())return qi;let r=e.next();if(r.type===R.break)return L0;if(r.type.terminal)return r.value;if(r.type===R.array)return sx(r,e,t);if(r.type===R.map)return ax(r,e,t);if(r.type===R.tag){if(t.tags&&typeof t.tags[r.value]=="function"){let n=zi(e,t);return t.tags[r.value](n)}throw new Error(`${et} tag not supported (${r.value})`)}throw new Error("unsupported")}function Z6(e,t){if(!(e instanceof Uint8Array))throw new Error(`${et} data to decode must be a Uint8Array`);t=Object.assign({},ix,t);let r=t.tokenizer||new z2(e,t),n=zi(r,t);if(n===qi)throw new Error(`${et} did not find any content to decode`);if(n===L0)throw new Error(`${et} got unexpected break`);return[n,e.subarray(r.pos())]}function $2(e,t){let[r,n]=Z6(e,t);if(n.length>0)throw new Error(`${et} too many terminals, data makes no sense`);return r}var ve=ht(Do(),1);var X6=ht(N2(),1);var H2=tt("ipns:utils"),j6=at("/ipns/"),ux=114;function fx(e){let t=new RegExp("(\\d{4})-(\\d{2})-(\\d{2})T(\\d{2}):(\\d{2}):(\\d{2})\\.(\\d+)Z"),r=String(e).trim().match(t);if(r==null)throw new Error("Invalid format");let n=parseInt(r[1],10),o=parseInt(r[2],10)-1,i=parseInt(r[3],10),s=parseInt(r[4],10),a=parseInt(r[5],10),c=parseInt(r[6],10),u=parseInt(r[7].padEnd(6,"0").slice(0,3),10);return new Date(Date.UTC(n,o,i,s,a,c,u))}var G2=async(e,t)=>{if(t==null||e==null){let n=new Error("one or more of the provided parameters are not defined");throw H2.error(n),(0,ve.default)(n,D2)}let r;if(t.pubKey!=null){try{r=w0(t.pubKey)}catch(o){throw H2.error(o),o}if(!(await Ns(t.pubKey)).equals(e))throw(0,ve.default)(new Error("Embedded public key did not match PeerID"),zl)}else e.publicKey!=null&&(r=w0(e.publicKey));if(r!=null)return r;throw(0,ve.default)(new Error("no public key is available"),D2)},J6=(e,t,r)=>{let n=at(t);return J([e,r,n])},k0=e=>{let t=at("ipns-signature:");return J([t,e])},Q2=e=>"signatureV1"in e?Ce.encode({value:at(e.value),signatureV1:e.signatureV1,validityType:e.validityType,validity:at(e.validity.toString()),sequence:e.sequence,ttl:e.ttl,pubKey:e.pubKey,signatureV2:e.signatureV2,data:e.data}):Ce.encode({pubKey:e.pubKey,signatureV2:e.signatureV2,data:e.data});function Qr(e){let t=Ce.decode(e);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,ve.default)(new Error("missing data or signatureV2"),Hr);let r=e5(t.data),n=W2(r.Value),o;try{o=X6.default.fromDate(fx(M(r.Validity)))}catch{throw H2.error("unrecognized validity format (not an rfc3339 format)"),(0,ve.default)(new Error("unrecognized validity format (not an rfc3339 format)"),Vl)}if(t.value!=null&&t.signatureV1!=null)return lx(t),{value:n,validityType:Ce.ValidityType.EOL,validity:o,sequence:r.Sequence,ttl:r.TTL,pubKey:t.pubKey,signatureV1:t.signatureV1,signatureV2:t.signatureV2,data:t.data};if(t.signatureV2!=null)return{value:n,validityType:Ce.ValidityType.EOL,validity:o,sequence:r.Sequence,ttl:r.TTL,pubKey:t.pubKey,signatureV2:t.signatureV2,data:t.data};throw new Error("invalid record: does not include signatureV1 or signatureV2")}var U0=e=>J([j6,e.toBytes()]),Y2=e=>Pr(e.slice(j6.length)),t5=(e,t,r,n,o)=>{let i;if(r===Ce.ValidityType.EOL)i=0;else throw(0,ve.default)(new Error("Unknown validity type"),Oi);return q2({Value:e,Validity:t,ValidityType:i,Sequence:n,TTL:o})},e5=e=>{let t=$2(e);if(t.ValidityType===0)t.ValidityType=Ce.ValidityType.EOL;else throw(0,ve.default)(new Error("Unknown validity type"),Oi);return Number.isInteger(t.Sequence)&&(t.Sequence=BigInt(t.Sequence)),Number.isInteger(t.TTL)&&(t.TTL=BigInt(t.TTL)),t},W2=e=>{if(e!=null){if(Ff(e))return`/ipns/${e.toCID().toString(Bs)}`;if(e instanceof Uint8Array){let n=M(e);n.startsWith("/")&&(e=n)}let t=e.toString().trim();if(t.startsWith("/")&&t.length>1)return t;let r=Ht.asCID(e);if(r!=null)return r.code===ux?`/ipns/${r.toString(Bs)}`:`/ipfs/${r.toV1().toString()}`;try{return e instanceof Uint8Array?`/ipfs/${Ht.decode(e).toV1().toString()}`:`/ipfs/${Ht.parse(t).toV1().toString()}`}catch{}}throw(0,ve.default)(new Error("Value must be a valid content path starting with /"),ql)},lx=e=>{if(e.data==null)throw(0,ve.default)(new Error("Record data is missing"),Kl);let t=e5(e.data);if(!dt(t.Value,e.value??new Uint8Array(0)))throw(0,ve.default)(new Error('Field "value" did not match between protobuf and CBOR'),Hr);if(!dt(t.Validity,e.validity??new Uint8Array(0)))throw(0,ve.default)(new Error('Field "validity" did not match between protobuf and CBOR'),Hr);if(t.ValidityType!==e.validityType)throw(0,ve.default)(new Error('Field "validityType" did not match between protobuf and CBOR'),Hr);if(t.Sequence!==e.sequence)throw(0,ve.default)(new Error('Field "sequence" did not match between protobuf and CBOR'),Hr);if(t.TTL!==e.ttl)throw(0,ve.default)(new Error('Field "ttl" did not match between protobuf and CBOR'),Hr)};var hx=tt("ipns"),dx=pr.code,px="/ipns/",mB=px.length,n5={v1Compatible:!0};async function o5(e,t,r,n,o=n5){let i=new r5.default(Date.now()+Number(n)),s=Ce.ValidityType.EOL,[a,c]=n.toString().split("."),u=BigInt(a)*BigInt(1e5)+BigInt(c??"0");return mx(e,t,r,s,i,u,o)}var mx=async(e,t,r,n,o,i,s=n5)=>{r=BigInt(r);let a=at(o.toString()),c=W2(t),u=at(c);if(e.privateKey==null)throw(0,Z2.default)(new Error("Missing private key"),$l);let f=await v0(e.privateKey),l=t5(u,a,n,r,i),m=k0(l),d=await f.sign(m),h;if(e.publicKey!=null){let p=Br(e.toBytes());(p.code!==dx||!dt(e.publicKey,p.digest))&&(h=e.publicKey)}if(s.v1Compatible===!0){let p=await gx(f,u,n,a),g={value:c,signatureV1:p,validity:o,validityType:n,sequence:r,ttl:i,signatureV2:d,data:l};return h!=null&&(g.pubKey=h),g}else{let p={value:c,validity:o,validityType:n,sequence:r,ttl:i,signatureV2:d,data:l};return h!=null&&(p.pubKey=h),p}};var gx=async(e,t,r,n)=>{try{let o=J6(t,r,n);return await e.sign(o)}catch(o){throw hx.error("record signature creation failed",o),(0,Z2.default)(new Error("record signature creation failed"),Ml)}};function O0(e,t){let r=t.map((n,o)=>({record:Qr(n),index:o}));return r.sort((n,o)=>{let i=n.record.sequence,s=o.record.sequence;if(i>s)return-1;if(i<s)return 1;let a=n.record.validity.toDate(),c=o.record.validity.toDate();return a.getTime()>c.getTime()?-1:a.getTime()<c.getTime()?1:0}),r[0].index}var $i=ht(Do(),1);var F0=tt("ipns:validator"),yx=1024*10,xx=async(e,t)=>{let r=Qr(t),n;try{let o=k0(r.data);n=await e.verify(o,r.signatureV2)}catch{n=!1}if(!n)throw F0.error("record signature verification failed"),(0,$i.default)(new Error("record signature verification failed"),Hr);if(r.validityType===Ce.ValidityType.EOL){if(r.validity.toDate().getTime()<Date.now())throw F0.error("record has expired"),(0,$i.default)(new Error("record has expired"),Fl)}else if(r.validityType!=null)throw F0.error("unrecognized validity type"),(0,$i.default)(new Error("unrecognized validity type"),Oi);F0("ipns record for %b is valid",r.value)};async function X2(e,t){if(t.byteLength>yx)throw(0,$i.default)(new Error("record too large"),Hl);let r=Y2(e),n=Qr(t),o=await G2(r,n);await xx(o,t)}var Re=class extends Event{constructor(t,r){super(t),this.detail=r}};var rc={};rt(rc,{base58btc:()=>Ee,base58flickr:()=>Ix});function bx(e,t){if(e.length>=255)throw new TypeError("Alphabet too long");for(var r=new Uint8Array(256),n=0;n<r.length;n++)r[n]=255;for(var o=0;o<e.length;o++){var i=e.charAt(o),s=i.charCodeAt(0);if(r[s]!==255)throw new TypeError(i+" is ambiguous");r[s]=o}var a=e.length,c=e.charAt(0),u=Math.log(a)/Math.log(256),f=Math.log(256)/Math.log(a);function l(h){if(h instanceof Uint8Array||(ArrayBuffer.isView(h)?h=new Uint8Array(h.buffer,h.byteOffset,h.byteLength):Array.isArray(h)&&(h=Uint8Array.from(h))),!(h instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(h.length===0)return"";for(var p=0,g=0,y=0,x=h.length;y!==x&&h[y]===0;)y++,p++;for(var b=(x-y)*f+1>>>0,A=new Uint8Array(b);y!==x;){for(var v=h[y],E=0,_=b-1;(v!==0||E<g)&&_!==-1;_--,E++)v+=256*A[_]>>>0,A[_]=v%a>>>0,v=v/a>>>0;if(v!==0)throw new Error("Non-zero carry");g=E,y++}for(var I=b-g;I!==b&&A[I]===0;)I++;for(var k=c.repeat(p);I<b;++I)k+=e.charAt(A[I]);return k}function m(h){if(typeof h!="string")throw new TypeError("Expected String");if(h.length===0)return new Uint8Array;var p=0;if(h[p]!==" "){for(var g=0,y=0;h[p]===c;)g++,p++;for(var x=(h.length-p)*u+1>>>0,b=new Uint8Array(x);h[p];){var A=r[h.charCodeAt(p)];if(A===255)return;for(var v=0,E=x-1;(A!==0||v<y)&&E!==-1;E--,v++)A+=a*b[E]>>>0,b[E]=A%256>>>0,A=A/256>>>0;if(A!==0)throw new Error("Non-zero carry");y=v,p++}if(h[p]!==" "){for(var _=x-y;_!==x&&b[_]===0;)_++;for(var I=new Uint8Array(g+(x-_)),k=g;_!==x;)I[k++]=b[_++];return I}}}function d(h){var p=m(h);if(p)return p;throw new Error(`Non-${t} character`)}return{encode:l,decodeUnsafe:m,decode:d}}var wx=bx,vx=wx,i5=vx;var BB=new Uint8Array(0);var s5=(e,t)=>{if(e===t)return!0;if(e.byteLength!==t.byteLength)return!1;for(let r=0;r<e.byteLength;r++)if(e[r]!==t[r])return!1;return!0},Yr=e=>{if(e instanceof Uint8Array&&e.constructor.name==="Uint8Array")return e;if(e instanceof ArrayBuffer)return new Uint8Array(e);if(ArrayBuffer.isView(e))return new Uint8Array(e.buffer,e.byteOffset,e.byteLength);throw new Error("Unknown type, must be binary type")};var a5=e=>new TextEncoder().encode(e),c5=e=>new TextDecoder().decode(e);var j2=class{constructor(t,r,n){this.name=t,this.prefix=r,this.baseEncode=n}encode(t){if(t instanceof Uint8Array)return`${this.prefix}${this.baseEncode(t)}`;throw Error("Unknown type, must be binary type")}},J2=class{constructor(t,r,n){if(this.name=t,this.prefix=r,r.codePointAt(0)===void 0)throw new Error("Invalid prefix character");this.prefixCodePoint=r.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 f5(this,t)}},tc=class{constructor(t){this.decoders=t}or(t){return f5(this,t)}decode(t){let r=t[0],n=this.decoders[r];if(n)return n.decode(t);throw RangeError(`Unable to decode multibase string ${JSON.stringify(t)}, only inputs prefixed with ${Object.keys(this.decoders)} are supported`)}},f5=(e,t)=>new tc({...e.decoders||{[e.prefix]:e},...t.decoders||{[t.prefix]:t}}),ec=class{constructor(t,r,n,o){this.name=t,this.prefix=r,this.baseEncode=n,this.baseDecode=o,this.encoder=new j2(t,r,n),this.decoder=new J2(t,r,o)}encode(t){return this.encoder.encode(t)}decode(t){return this.decoder.decode(t)}},Mo=({name:e,prefix:t,encode:r,decode:n})=>new ec(e,t,r,n),wn=({prefix:e,name:t,alphabet:r})=>{let{encode:n,decode:o}=i5(r,t);return Mo({prefix:e,name:t,encode:n,decode:i=>Yr(o(i))})},Ex=(e,t,r,n)=>{let o={};for(let f=0;f<t.length;++f)o[t[f]]=f;let i=e.length;for(;e[i-1]==="=";)--i;let s=new Uint8Array(i*r/8|0),a=0,c=0,u=0;for(let f=0;f<i;++f){let l=o[e[f]];if(l===void 0)throw new SyntaxError(`Non-${n} character`);c=c<<r|l,a+=r,a>=8&&(a-=8,s[u++]=255&c>>a)}if(a>=r||255&c<<8-a)throw new SyntaxError("Unexpected end of data");return s},Sx=(e,t,r)=>{let n=t[t.length-1]==="=",o=(1<<r)-1,i="",s=0,a=0;for(let c=0;c<e.length;++c)for(a=a<<8|e[c],s+=8;s>r;)s-=r,i+=t[o&a>>s];if(s&&(i+=t[o&a<<r-s]),n)for(;i.length*r&7;)i+="=";return i},Kt=({name:e,prefix:t,bitsPerChar:r,alphabet:n})=>Mo({prefix:t,name:e,encode(o){return Sx(o,n,r)},decode(o){return Ex(o,n,r,e)}});var Ee=wn({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),Ix=wn({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var nc={};rt(nc,{base32:()=>Tr,base32hex:()=>Rx,base32hexpad:()=>Bx,base32hexpadupper:()=>Px,base32hexupper:()=>_x,base32pad:()=>Tx,base32padupper:()=>Cx,base32upper:()=>Ax,base32z:()=>Nx});var Tr=Kt({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),Ax=Kt({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),Tx=Kt({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),Cx=Kt({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),Rx=Kt({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),_x=Kt({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),Bx=Kt({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),Px=Kt({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),Nx=Kt({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var Dx=d5,l5=128,Lx=127,kx=~Lx,Ux=Math.pow(2,31);function d5(e,t,r){t=t||[],r=r||0;for(var n=r;e>=Ux;)t[r++]=e&255|l5,e/=128;for(;e&kx;)t[r++]=e&255|l5,e>>>=7;return t[r]=e|0,d5.bytes=r-n+1,t}var Ox=oc,Fx=128,h5=127;function oc(e,n){var r=0,n=n||0,o=0,i=n,s,a=e.length;do{if(i>=a)throw oc.bytes=0,new RangeError("Could not decode varint");s=e[i++],r+=o<28?(s&h5)<<o:(s&h5)*Math.pow(2,o),o+=7}while(s>=Fx);return oc.bytes=i-n,r}var Mx=Math.pow(2,7),Vx=Math.pow(2,14),Kx=Math.pow(2,21),qx=Math.pow(2,28),zx=Math.pow(2,35),$x=Math.pow(2,42),Hx=Math.pow(2,49),Gx=Math.pow(2,56),Qx=Math.pow(2,63),Yx=function(e){return e<Mx?1:e<Vx?2:e<Kx?3:e<qx?4:e<zx?5:e<$x?6:e<Hx?7:e<Gx?8:e<Qx?9:10},Wx={encode:Dx,decode:Ox,encodingLength:Yx},Zx=Wx,Hi=Zx;var Gi=(e,t=0)=>[Hi.decode(e,t),Hi.decode.bytes],Vo=(e,t,r=0)=>(Hi.encode(e,t,r),t),Ko=e=>Hi.encodingLength(e);var Xn=(e,t)=>{let r=t.byteLength,n=Ko(e),o=n+Ko(r),i=new Uint8Array(o+r);return Vo(e,i,0),Vo(r,i,n),i.set(t,o),new qo(e,r,t,i)},Qi=e=>{let t=Yr(e),[r,n]=Gi(t),[o,i]=Gi(t.subarray(n)),s=t.subarray(n+i);if(s.byteLength!==o)throw new Error("Incorrect length");return new qo(r,o,s,t)},p5=(e,t)=>{if(e===t)return!0;{let r=t;return e.code===r.code&&e.size===r.size&&r.bytes instanceof Uint8Array&&s5(e.bytes,r.bytes)}},qo=class{constructor(t,r,n,o){this.code=t,this.size=r,this.digest=n,this.bytes=o}};var V0=class{index=0;input="";new(t){return this.index=0,this.input=t,this}readAtomically(t){let r=this.index,n=t();return n===void 0&&(this.index=r),n}parseWith(t){let r=t();if(this.index===this.input.length)return r}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 r=this.readChar();if(r===t)return r})}readSeparator(t,r,n){return this.readAtomically(()=>{if(!(r>0&&this.readGivenChar(t)===void 0))return n()})}readNumber(t,r,n,o){return this.readAtomically(()=>{let i=0,s=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(i*=t,i+=f,i>u||(s+=1,r!==void 0&&s>r))return}if(s!==0)return!n&&c&&s>1?void 0:i})}readIPv4Addr(){return this.readAtomically(()=>{let t=new Uint8Array(4);for(let r=0;r<t.length;r++){let n=this.readSeparator(".",r,()=>this.readNumber(10,3,!1,1));if(n===void 0)return;t[r]=n}return t})}readIPv6Addr(){let t=r=>{for(let n=0;n<r.length/2;n++){let o=n*2;if(n<r.length-3){let s=this.readSeparator(":",n,()=>this.readIPv4Addr());if(s!==void 0)return r[o]=s[0],r[o+1]=s[1],r[o+2]=s[2],r[o+3]=s[3],[o+4,!0]}let i=this.readSeparator(":",n,()=>this.readNumber(16,4,!0,2));if(i===void 0)return[o,!1];r[o]=i>>8,r[o+1]=i&255}return[r.length,!1]};return this.readAtomically(()=>{let r=new Uint8Array(16),[n,o]=t(r);if(n===16)return r;if(o||this.readGivenChar(":")===void 0||this.readGivenChar(":")===void 0)return;let i=new Uint8Array(14),s=16-(n+2),[a]=t(i.subarray(0,s));return r.set(i.subarray(0,a),16-a),r})}readIPAddr(){return this.readIPv4Addr()??this.readIPv6Addr()}};var m5=45,Xx=15,zo=new V0;function ic(e){if(!(e.length>Xx))return zo.new(e).parseWith(()=>zo.readIPv4Addr())}function sc(e){if(e.includes("%")&&(e=e.split("%")[0]),!(e.length>m5))return zo.new(e).parseWith(()=>zo.readIPv6Addr())}function K0(e){if(e.includes("%")&&(e=e.split("%")[0]),!(e.length>m5))return zo.new(e).parseWith(()=>zo.readIPAddr())}function $o(e){return!!ic(e)}function Ho(e){return!!sc(e)}function _e(e){return!!K0(e)}var g5=$o,jx=Ho,ac=function(e){let t=0;if(e=e.toString().trim(),g5(e)){let r=new Uint8Array(t+4);return e.split(/\./g).forEach(n=>{r[t++]=parseInt(n,10)&255}),r}if(jx(e)){let r=e.split(":",8),n;for(n=0;n<r.length;n++){let i=g5(r[n]),s;i&&(s=ac(r[n]),r[n]=M(s.slice(0,2),"base16")),s!=null&&++n<8&&r.splice(n,0,M(s.slice(2,4),"base16"))}if(r[0]==="")for(;r.length<8;)r.unshift("0");else if(r[r.length-1]==="")for(;r.length<8;)r.push("0");else if(r.length<8){for(n=0;n<r.length&&r[n]!=="";n++);let i=[n,1];for(n=9-r.length;n>0;n--)i.push("0");r.splice.apply(r,i)}let o=new Uint8Array(t+16);for(n=0;n<r.length;n++){let i=parseInt(r[n],16);o[t++]=i>>8&255,o[t++]=i&255}return o}throw new Error("invalid ip address")},y5=function(e,t=0,r){t=~~t,r=r??e.length-t;let n=new DataView(e.buffer);if(r===4){let o=[];for(let i=0;i<r;i++)o.push(e[t+i]);return o.join(".")}if(r===16){let o=[];for(let i=0;i<r;i+=2)o.push(n.getUint16(t+i).toString(16));return o.join(":").replace(/(^|:)0(:0)*:0(:|$)/,"$1::$3").replace(/:{3,4}/,"::")}return""};var Yi={},cc={},tb=[[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"],[281,0,"webrtc-w3c"],[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"]];tb.forEach(e=>{let t=eb(...e);cc[t.code]=t,Yi[t.name]=t});function eb(e,t,r,n,o){return{code:e,size:t,name:r,resolvable:!!n,path:!!o}}function Ut(e){if(typeof e=="number"){if(cc[e]!=null)return cc[e];throw new Error(`no protocol with code: ${e}`)}else if(typeof e=="string"){if(Yi[e]!=null)return Yi[e];throw new Error(`no protocol with name: ${e}`)}throw new Error(`invalid protocol id type: ${typeof e}`)}var x5=(e,t)=>{let{bytes:r,version:n}=e;switch(n){case 0:return nb(r,uc(e),t||Ee.encoder);default:return ob(r,uc(e),t||Tr.encoder)}};var b5=new WeakMap,uc=e=>{let t=b5.get(e);if(t==null){let r=new Map;return b5.set(e,r),r}return t},Ze=class e{constructor(t,r,n,o){this.code=r,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:r}=this;if(t!==Wi)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(r.code!==ib)throw new Error("Cannot convert non sha2-256 multihash CID to CIDv0");return e.createV0(r)}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:r}=this.multihash,n=Xn(t,r);return e.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 e.equals(this,t)}static equals(t,r){let n=r;return n&&t.code===n.code&&t.version===n.version&&p5(t.multihash,n.multihash)}toString(t){return x5(this,t)}toJSON(){return{"/":x5(this)}}link(){return this}get[Symbol.toStringTag](){return"CID"}[Symbol.for("nodejs.util.inspect.custom")](){return`CID(${this.toString()})`}static asCID(t){if(t==null)return null;let r=t;if(r instanceof e)return r;if(r["/"]!=null&&r["/"]===r.bytes||r.asCID===r){let{version:n,code:o,multihash:i,bytes:s}=r;return new e(n,o,i,s||w5(n,o,i.bytes))}else if(r[sb]===!0){let{version:n,multihash:o,code:i}=r,s=Qi(o);return e.create(n,i,s)}else return null}static create(t,r,n){if(typeof r!="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(r!==Wi)throw new Error(`Version 0 CID must use dag-pb (code: ${Wi}) block encoding`);return new e(t,r,n,n.bytes)}case 1:{let o=w5(t,r,n.bytes);return new e(t,r,n,o)}default:throw new Error("Invalid version")}}static createV0(t){return e.create(0,Wi,t)}static createV1(t,r){return e.create(1,t,r)}static decode(t){let[r,n]=e.decodeFirst(t);if(n.length)throw new Error("Incorrect length");return r}static decodeFirst(t){let r=e.inspectBytes(t),n=r.size-r.multihashSize,o=Yr(t.subarray(n,n+r.multihashSize));if(o.byteLength!==r.multihashSize)throw new Error("Incorrect length");let i=o.subarray(r.multihashSize-r.digestSize),s=new qo(r.multihashCode,r.digestSize,i,o);return[r.version===0?e.createV0(s):e.createV1(r.codec,s),t.subarray(r.size)]}static inspectBytes(t){let r=0,n=()=>{let[l,m]=Gi(t.subarray(r));return r+=m,l},o=n(),i=Wi;if(o===18?(o=0,r=0):i=n(),o!==0&&o!==1)throw new RangeError(`Invalid CID version ${o}`);let s=r,a=n(),c=n(),u=r+c,f=u-s;return{version:o,codec:i,multihashCode:a,digestSize:c,multihashSize:f,size:u}}static parse(t,r){let[n,o]=rb(t,r),i=e.decode(o);if(i.version===0&&t[0]!=="Q")throw Error("Version 0 CID string must not include multibase prefix");return uc(i).set(n,t),i}},rb=(e,t)=>{switch(e[0]){case"Q":{let r=t||Ee;return[Ee.prefix,r.decode(`${Ee.prefix}${e}`)]}case Ee.prefix:{let r=t||Ee;return[Ee.prefix,r.decode(e)]}case Tr.prefix:{let r=t||Tr;return[Tr.prefix,r.decode(e)]}default:{if(t==null)throw Error("To parse non base32 or base58btc encoded CID multibase decoder must be provided");return[e[0],t.decode(e)]}}},nb=(e,t,r)=>{let{prefix:n}=r;if(n!==Ee.prefix)throw Error(`Cannot string encode V0 in ${r.name} encoding`);let o=t.get(n);if(o==null){let i=r.encode(e).slice(1);return t.set(n,i),i}else return o},ob=(e,t,r)=>{let{prefix:n}=r,o=t.get(n);if(o==null){let i=r.encode(e);return t.set(n,i),i}else return o},Wi=112,ib=18,w5=(e,t,r)=>{let n=Ko(e),o=n+Ko(t),i=new Uint8Array(o+r.byteLength);return Vo(e,i,0),Vo(t,i,n),i.set(r,o),i},sb=Symbol.for("@ipld/js-cid/CID");var fc={};rt(fc,{identity:()=>ab});var ab=Mo({prefix:"\0",name:"identity",encode:e=>c5(e),decode:e=>a5(e)});var lc={};rt(lc,{base2:()=>cb});var cb=Kt({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var hc={};rt(hc,{base8:()=>ub});var ub=Kt({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var dc={};rt(dc,{base10:()=>fb});var fb=wn({prefix:"9",name:"base10",alphabet:"0123456789"});var pc={};rt(pc,{base16:()=>lb,base16upper:()=>hb});var lb=Kt({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),hb=Kt({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var mc={};rt(mc,{base36:()=>db,base36upper:()=>pb});var db=wn({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),pb=wn({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var gc={};rt(gc,{base64:()=>mb,base64pad:()=>gb,base64url:()=>yb,base64urlpad:()=>xb});var mb=Kt({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),gb=Kt({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),yb=Kt({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),xb=Kt({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});var yc={};rt(yc,{base256emoji:()=>Sb});var v5=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}"),bb=v5.reduce((e,t,r)=>(e[r]=t,e),[]),wb=v5.reduce((e,t,r)=>(e[t.codePointAt(0)]=r,e),[]);function vb(e){return e.reduce((t,r)=>(t+=bb[r],t),"")}function Eb(e){let t=[];for(let r of e){let n=wb[r.codePointAt(0)];if(n===void 0)throw new Error(`Non-base256emoji character: ${r}`);t.push(n)}return new Uint8Array(t)}var Sb=Mo({prefix:"\u{1F680}",name:"base256emoji",encode:vb,decode:Eb});var wc={};rt(wc,{sha256:()=>Ib,sha512:()=>Ab});var bc=({name:e,code:t,encode:r})=>new xc(e,t,r),xc=class{constructor(t,r,n){this.name=t,this.code=r,this.encode=n}digest(t){if(t instanceof Uint8Array){let r=this.encode(t);return r instanceof Uint8Array?Xn(this.code,r):r.then(n=>Xn(this.code,n))}else throw Error("Unknown type, must be binary type")}};var S5=e=>async t=>new Uint8Array(await crypto.subtle.digest(e,t)),Ib=bc({name:"sha2-256",code:18,encode:S5("SHA-256")}),Ab=bc({name:"sha2-512",code:19,encode:S5("SHA-512")});var vc={};rt(vc,{identity:()=>Rb});var I5=0,Tb="identity",A5=Yr,Cb=e=>Xn(I5,A5(e)),Rb={code:I5,name:Tb,encode:A5,digest:Cb};var lP=new TextEncoder,hP=new TextDecoder;var T5={...fc,...lc,...hc,...dc,...pc,...nc,...mc,...rc,...gc,...yc},yP={...wc,...vc};var Cr=ht(q0(),1);function V5(e,t){switch(Ut(e).code){case 4:case 41:return Hb(t);case 42:return F5(t);case 6:case 273:case 33:case 132:return q5(t).toString();case 53:case 54:case 55:case 56:case 400:case 449:case 777:return F5(t);case 421:return Wb(t);case 444:return M5(t);case 445:return M5(t);case 466:return Yb(t);default:return M(t,"base16")}}function K5(e,t){switch(Ut(e).code){case 4:return U5(t);case 41:return U5(t);case 42:return O5(t);case 6:case 273:case 33:case 132:return Ac(parseInt(t,10));case 53:case 54:case 55:case 56:case 400:case 449:case 777:return O5(t);case 421:return Gb(t);case 444:return Zb(t);case 445:return Xb(t);case 466:return Qb(t);default:return at(t,"base16")}}var Ic=Object.values(T5).map(e=>e.decoder),$b=function(){let e=Ic[0].or(Ic[1]);return Ic.slice(2).forEach(t=>e=e.or(t)),e}();function U5(e){if(!_e(e))throw new Error("invalid ip address");return ac(e)}function Hb(e){let t=y5(e,0,e.length);if(t==null)throw new Error("ipBuff is required");if(!_e(t))throw new Error("invalid ip address");return t}function Ac(e){let t=new ArrayBuffer(2);return new DataView(t).setUint16(0,e),new Uint8Array(t)}function q5(e){return new DataView(e.buffer).getUint16(e.byteOffset)}function O5(e){let t=at(e),r=Uint8Array.from(Cr.default.encode(t.length));return J([r,t],r.length+t.length)}function F5(e){let t=Cr.default.decode(e);if(e=e.slice(Cr.default.decode.bytes),e.length!==t)throw new Error("inconsistent lengths");return M(e)}function Gb(e){let t;e[0]==="Q"||e[0]==="1"?t=Qi(Ee.decode(`z${e}`)).bytes:t=Ze.parse(e).multihash.bytes;let r=Uint8Array.from(Cr.default.encode(t.length));return J([r,t],r.length+t.length)}function Qb(e){let t=$b.decode(e),r=Uint8Array.from(Cr.default.encode(t.length));return J([r,t],r.length+t.length)}function Yb(e){let t=Cr.default.decode(e),r=e.slice(Cr.default.decode.bytes);if(r.length!==t)throw new Error("inconsistent lengths");return"u"+M(r,"base64url")}function Wb(e){let t=Cr.default.decode(e),r=e.slice(Cr.default.decode.bytes);if(r.length!==t)throw new Error("inconsistent lengths");return M(r,"base58btc")}function Zb(e){let t=e.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 r=Tr.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=Ac(n);return J([r,o],r.length+o.length)}function Xb(e){let t=e.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 r=Tr.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=Ac(n);return J([r,o],r.length+o.length)}function M5(e){let t=e.slice(0,e.length-2),r=e.slice(e.length-2),n=M(t,"base32"),o=q5(r);return`${n}:${o}`}var Go=ht(q0(),1);function jb(e){let t=[],r=e.split("/").slice(1);if(r.length===1&&r[0]==="")return[];for(let n=0;n<r.length;n++){let o=r[n],i=Ut(o);if(i.size===0){t.push([o]);continue}if(n++,n>=r.length)throw $5("invalid address: "+e);if(i.path===!0){t.push([o,Bc(r.slice(n).join("/"))]);break}t.push([o,r[n]])}return t}function Jb(e){let t=[];return e.map(r=>{let n=H0(r);return t.push(n.name),r.length>1&&r[1]!=null&&t.push(r[1]),null}),Bc(t.join("/"))}function tw(e){return e.map(t=>{Array.isArray(t)||(t=[t]);let r=H0(t);return t.length>1?[r.code,K5(r.code,t[1])]:[r.code]})}function Tc(e){return e.map(t=>{let r=H0(t);return t[1]!=null?[r.code,V5(r.code,t[1])]:[r.code]})}function Cc(e){return $0(J(e.map(t=>{let r=H0(t),n=Uint8Array.from(Go.default.encode(r.code));return t.length>1&&t[1]!=null&&(n=J([n,t[1]])),n})))}function Rc(e,t){return e.size>0?e.size/8:e.size===0?0:Go.default.decode(t)+(Go.default.decode.bytes??0)}function z0(e){let t=[],r=0;for(;r<e.length;){let n=Go.default.decode(e,r),o=Go.default.decode.bytes??0,i=Ut(n),s=Rc(i,e.slice(r+o));if(s===0){t.push([n]),r+=o;continue}let a=e.slice(r+o,r+o+s);if(r+=s+o,r>e.length)throw $5("Invalid address Uint8Array: "+M(e,"base16"));t.push([n,a])}return t}function _c(e){let t=z0(e),r=Tc(t);return Jb(r)}function ew(e){e=Bc(e);let t=jb(e),r=tw(t);return Cc(r)}function z5(e){return ew(e)}function $0(e){let t=rw(e);if(t!=null)throw t;return Uint8Array.from(e)}function rw(e){try{z0(e)}catch(t){return t}}function Bc(e){return"/"+e.trim().split("/").filter(t=>t).join("/")}function $5(e){return new Error("Error parsing address: "+e)}function H0(e){return Ut(e[0])}var Nc=ht(q0(),1);var Q5=ht(Do(),1);var Qo=function(e,t,r,n){if(r==="a"&&!n)throw new TypeError("Private accessor was defined without a getter");if(typeof t=="function"?e!==t||!n:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return r==="m"?n:r==="a"?n.call(e):n?n.value:t.get(e)},Pc=function(e,t,r,n,o){if(n==="m")throw new TypeError("Private method is not writable");if(n==="a"&&!o)throw new TypeError("Private accessor was defined without a setter");if(typeof t=="function"?e!==t||!o:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return n==="a"?o.call(e,r):o?o.value=r:t.set(e,r),r},Zi,Xi,ji,H5,ow=Symbol.for("nodejs.util.inspect.custom"),iw=[Ut("dns").code,Ut("dns4").code,Ut("dns6").code,Ut("dnsaddr").code],sw=new Map,Y5=Symbol.for("@multiformats/js-multiaddr/multiaddr");function aw(e){return!!e?.[Y5]}var G5=class e{constructor(t){if(Zi.set(this,void 0),Xi.set(this,void 0),ji.set(this,void 0),this[H5]=!0,t==null&&(t=""),t instanceof Uint8Array)this.bytes=$0(t);else if(typeof t=="string"){if(t.length>0&&t.charAt(0)!=="/")throw new Error(`multiaddr "${t}" must start with a "/"`);this.bytes=z5(t)}else if(aw(t))this.bytes=$0(t.bytes);else throw new Error("addr must be a string, Buffer, or another Multiaddr")}toString(){return Qo(this,Zi,"f")==null&&Pc(this,Zi,_c(this.bytes),"f"),Qo(this,Zi,"f")}toJSON(){return this.toString()}toOptions(){let t,r,n,o,i="",s=Ut("tcp"),a=Ut("udp"),c=Ut("ip4"),u=Ut("ip6"),f=Ut("dns6"),l=Ut("ip6zone");for(let[d,h]of this.stringTuples())d===l.code&&(i=`%${h??""}`),iw.includes(d)&&(r=s.name,o=443,n=`${h??""}${i}`,t=d===f.code?6:4),(d===s.code||d===a.code)&&(r=Ut(d).name,o=parseInt(h??"")),(d===c.code||d===u.code)&&(r=Ut(d).name,n=`${h??""}${i}`,t=d===u.code?6:4);if(t==null||r==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:r,port:o}}protos(){return this.protoCodes().map(t=>Object.assign({},Ut(t)))}protoCodes(){let t=[],r=this.bytes,n=0;for(;n<r.length;){let o=Nc.default.decode(r,n),i=Nc.default.decode.bytes??0,s=Ut(o),a=Rc(s,r.slice(n+i));n+=a+i,t.push(o)}return t}protoNames(){return this.protos().map(t=>t.name)}tuples(){return Qo(this,Xi,"f")==null&&Pc(this,Xi,z0(this.bytes),"f"),Qo(this,Xi,"f")}stringTuples(){return Qo(this,ji,"f")==null&&Pc(this,ji,Tc(this.tuples()),"f"),Qo(this,ji,"f")}encapsulate(t){return t=new e(t),new e(this.toString()+t.toString())}decapsulate(t){let r=t.toString(),n=this.toString(),o=n.lastIndexOf(r);if(o<0)throw new Error(`Address ${this.toString()} does not contain subaddress: ${t.toString()}`);return new e(n.slice(0,o))}decapsulateCode(t){let r=this.tuples();for(let n=r.length-1;n>=0;n--)if(r[n][0]===t)return new e(Cc(r.slice(0,n)));return this}getPeerId(){try{let r=this.stringTuples().filter(n=>n[0]===Yi.ipfs.code).pop();if(r?.[1]!=null){let n=r[1];return n[0]==="Q"||n[0]==="1"?M(Ee.decode(`z${n}`),"base58btc"):M(Ze.parse(n).multihash.bytes,"base58btc")}return null}catch{return null}}getPath(){let t=null;try{t=this.stringTuples().filter(r=>Ut(r[0]).path===!0)[0][1],t==null&&(t=null)}catch{t=null}return t}equals(t){return dt(this.bytes,t.bytes)}async resolve(t){let r=this.protos().find(i=>i.resolvable);if(r==null)return[this];let n=sw.get(r.name);if(n==null)throw(0,Q5.default)(new Error(`no available resolver for ${r.name}`),"ERR_NO_AVAILABLE_RESOLVER");return(await n(this,t)).map(i=>new e(i))}nodeAddress(){let t=this.toOptions();if(t.transport!=="tcp"&&t.transport!=="udp")throw new Error(`multiaddr must have a valid format - no protocol with name: "${t.transport}". Must have a valid transport protocol: "{tcp, udp}"`);return{family:t.family,address:t.host,port:t.port}}isThinWaistAddress(t){let r=(t??this).protos();return!(r.length!==2||r[0].code!==4&&r[0].code!==41||r[1].code!==6&&r[1].code!==273)}[(Zi=new WeakMap,Xi=new WeakMap,ji=new WeakMap,H5=Y5,ow)](){return`Multiaddr(${_c(this.bytes)})`}};var qP=Symbol.for("@libp2p/connection");var $P=Symbol.for("@libp2p/content-routing");var QP=Symbol.for("@libp2p/peer-discovery");var WP=Symbol.for("@libp2p/peer-id");var XP=Symbol.for("@libp2p/peer-routing");var W5;(function(e){e.Accept="accept",e.Ignore="ignore",e.Reject="reject"})(W5||(W5={}));var eN=Symbol.for("@libp2p/transport");var Z5;(function(e){e[e.FATAL_ALL=0]="FATAL_ALL",e[e.NO_FATAL=1]="NO_FATAL"})(Z5||(Z5={}));var G0=class extends Error{code;props;constructor(t,r,n){super(t),this.code=r,this.name=n?.name??"CodeError",this.props=n??{}}};var Dc=class extends Event{detail;constructor(t,r){super(t,r),this.detail=r?.detail}},aN=globalThis.CustomEvent??Dc;var Fc={};rt(Fc,{base58btc:()=>Be,base58flickr:()=>dw});function cw(e,t){if(e.length>=255)throw new TypeError("Alphabet too long");for(var r=new Uint8Array(256),n=0;n<r.length;n++)r[n]=255;for(var o=0;o<e.length;o++){var i=e.charAt(o),s=i.charCodeAt(0);if(r[s]!==255)throw new TypeError(i+" is ambiguous");r[s]=o}var a=e.length,c=e.charAt(0),u=Math.log(a)/Math.log(256),f=Math.log(256)/Math.log(a);function l(h){if(h instanceof Uint8Array||(ArrayBuffer.isView(h)?h=new Uint8Array(h.buffer,h.byteOffset,h.byteLength):Array.isArray(h)&&(h=Uint8Array.from(h))),!(h instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(h.length===0)return"";for(var p=0,g=0,y=0,x=h.length;y!==x&&h[y]===0;)y++,p++;for(var b=(x-y)*f+1>>>0,A=new Uint8Array(b);y!==x;){for(var v=h[y],E=0,_=b-1;(v!==0||E<g)&&_!==-1;_--,E++)v+=256*A[_]>>>0,A[_]=v%a>>>0,v=v/a>>>0;if(v!==0)throw new Error("Non-zero carry");g=E,y++}for(var I=b-g;I!==b&&A[I]===0;)I++;for(var k=c.repeat(p);I<b;++I)k+=e.charAt(A[I]);return k}function m(h){if(typeof h!="string")throw new TypeError("Expected String");if(h.length===0)return new Uint8Array;var p=0;if(h[p]!==" "){for(var g=0,y=0;h[p]===c;)g++,p++;for(var x=(h.length-p)*u+1>>>0,b=new Uint8Array(x);h[p];){var A=r[h.charCodeAt(p)];if(A===255)return;for(var v=0,E=x-1;(A!==0||v<y)&&E!==-1;E--,v++)A+=a*b[E]>>>0,b[E]=A%256>>>0,A=A/256>>>0;if(A!==0)throw new Error("Non-zero carry");y=v,p++}if(h[p]!==" "){for(var _=x-y;_!==x&&b[_]===0;)_++;for(var I=new Uint8Array(g+(x-_)),k=g;_!==x;)I[k++]=b[_++];return I}}}function d(h){var p=m(h);if(p)return p;throw new Error(`Non-${t} character`)}return{encode:l,decodeUnsafe:m,decode:d}}var uw=cw,fw=uw,X5=fw;var DN=new Uint8Array(0);var j5=(e,t)=>{if(e===t)return!0;if(e.byteLength!==t.byteLength)return!1;for(let r=0;r<e.byteLength;r++)if(e[r]!==t[r])return!1;return!0},Wr=e=>{if(e instanceof Uint8Array&&e.constructor.name==="Uint8Array")return e;if(e instanceof ArrayBuffer)return new Uint8Array(e);if(ArrayBuffer.isView(e))return new Uint8Array(e.buffer,e.byteOffset,e.byteLength);throw new Error("Unknown type, must be binary type")};var J5=e=>new TextEncoder().encode(e),t8=e=>new TextDecoder().decode(e);var Lc=class{constructor(t,r,n){this.name=t,this.prefix=r,this.baseEncode=n}encode(t){if(t instanceof Uint8Array)return`${this.prefix}${this.baseEncode(t)}`;throw Error("Unknown type, must be binary type")}},kc=class{constructor(t,r,n){if(this.name=t,this.prefix=r,r.codePointAt(0)===void 0)throw new Error("Invalid prefix character");this.prefixCodePoint=r.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 r8(this,t)}},Uc=class{constructor(t){this.decoders=t}or(t){return r8(this,t)}decode(t){let r=t[0],n=this.decoders[r];if(n)return n.decode(t);throw RangeError(`Unable to decode multibase string ${JSON.stringify(t)}, only inputs prefixed with ${Object.keys(this.decoders)} are supported`)}},r8=(e,t)=>new Uc({...e.decoders||{[e.prefix]:e},...t.decoders||{[t.prefix]:t}}),Oc=class{constructor(t,r,n,o){this.name=t,this.prefix=r,this.baseEncode=n,this.baseDecode=o,this.encoder=new Lc(t,r,n),this.decoder=new kc(t,r,o)}encode(t){return this.encoder.encode(t)}decode(t){return this.decoder.decode(t)}},Yo=({name:e,prefix:t,encode:r,decode:n})=>new Oc(e,t,r,n),vn=({prefix:e,name:t,alphabet:r})=>{let{encode:n,decode:o}=X5(r,t);return Yo({prefix:e,name:t,encode:n,decode:i=>Wr(o(i))})},lw=(e,t,r,n)=>{let o={};for(let f=0;f<t.length;++f)o[t[f]]=f;let i=e.length;for(;e[i-1]==="=";)--i;let s=new Uint8Array(i*r/8|0),a=0,c=0,u=0;for(let f=0;f<i;++f){let l=o[e[f]];if(l===void 0)throw new SyntaxError(`Non-${n} character`);c=c<<r|l,a+=r,a>=8&&(a-=8,s[u++]=255&c>>a)}if(a>=r||255&c<<8-a)throw new SyntaxError("Unexpected end of data");return s},hw=(e,t,r)=>{let n=t[t.length-1]==="=",o=(1<<r)-1,i="",s=0,a=0;for(let c=0;c<e.length;++c)for(a=a<<8|e[c],s+=8;s>r;)s-=r,i+=t[o&a>>s];if(s&&(i+=t[o&a<<r-s]),n)for(;i.length*r&7;)i+="=";return i},qt=({name:e,prefix:t,bitsPerChar:r,alphabet:n})=>Yo({prefix:t,name:e,encode(o){return hw(o,n,r)},decode(o){return lw(o,n,r,e)}});var Be=vn({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),dw=vn({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var Mc={};rt(Mc,{base32:()=>Zr,base32hex:()=>yw,base32hexpad:()=>bw,base32hexpadupper:()=>ww,base32hexupper:()=>xw,base32pad:()=>mw,base32padupper:()=>gw,base32upper:()=>pw,base32z:()=>vw});var Zr=qt({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),pw=qt({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),mw=qt({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),gw=qt({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),yw=qt({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),xw=qt({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),bw=qt({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),ww=qt({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),vw=qt({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var Ew=i8,n8=128,Sw=127,Iw=~Sw,Aw=Math.pow(2,31);function i8(e,t,r){t=t||[],r=r||0;for(var n=r;e>=Aw;)t[r++]=e&255|n8,e/=128;for(;e&Iw;)t[r++]=e&255|n8,e>>>=7;return t[r]=e|0,i8.bytes=r-n+1,t}var Tw=Vc,Cw=128,o8=127;function Vc(e,n){var r=0,n=n||0,o=0,i=n,s,a=e.length;do{if(i>=a)throw Vc.bytes=0,new RangeError("Could not decode varint");s=e[i++],r+=o<28?(s&o8)<<o:(s&o8)*Math.pow(2,o),o+=7}while(s>=Cw);return Vc.bytes=i-n,r}var Rw=Math.pow(2,7),_w=Math.pow(2,14),Bw=Math.pow(2,21),Pw=Math.pow(2,28),Nw=Math.pow(2,35),Dw=Math.pow(2,42),Lw=Math.pow(2,49),kw=Math.pow(2,56),Uw=Math.pow(2,63),Ow=function(e){return e<Rw?1:e<_w?2:e<Bw?3:e<Pw?4:e<Nw?5:e<Dw?6:e<Lw?7:e<kw?8:e<Uw?9:10},Fw={encode:Ew,decode:Tw,encodingLength:Ow},Mw=Fw,Ji=Mw;var ts=(e,t=0)=>[Ji.decode(e,t),Ji.decode.bytes],Wo=(e,t,r=0)=>(Ji.encode(e,t,r),t),Zo=e=>Ji.encodingLength(e);var Jn=(e,t)=>{let r=t.byteLength,n=Zo(e),o=n+Zo(r),i=new Uint8Array(o+r);return Wo(e,i,0),Wo(r,i,n),i.set(t,o),new Xo(e,r,t,i)},Y0=e=>{let t=Wr(e),[r,n]=ts(t),[o,i]=ts(t.subarray(n)),s=t.subarray(n+i);if(s.byteLength!==o)throw new Error("Incorrect length");return new Xo(r,o,s,t)},s8=(e,t)=>{if(e===t)return!0;{let r=t;return e.code===r.code&&e.size===r.size&&r.bytes instanceof Uint8Array&&j5(e.bytes,r.bytes)}},Xo=class{constructor(t,r,n,o){this.code=t,this.size=r,this.digest=n,this.bytes=o}};var a8=(e,t)=>{let{bytes:r,version:n}=e;switch(n){case 0:return Kw(r,Kc(e),t||Be.encoder);default:return qw(r,Kc(e),t||Zr.encoder)}};var c8=new WeakMap,Kc=e=>{let t=c8.get(e);if(t==null){let r=new Map;return c8.set(e,r),r}return t},En=class e{constructor(t,r,n,o){this.code=r,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:r}=this;if(t!==es)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(r.code!==zw)throw new Error("Cannot convert non sha2-256 multihash CID to CIDv0");return e.createV0(r)}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:r}=this.multihash,n=Jn(t,r);return e.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 e.equals(this,t)}static equals(t,r){let n=r;return n&&t.code===n.code&&t.version===n.version&&s8(t.multihash,n.multihash)}toString(t){return a8(this,t)}toJSON(){return{"/":a8(this)}}link(){return this}get[Symbol.toStringTag](){return"CID"}[Symbol.for("nodejs.util.inspect.custom")](){return`CID(${this.toString()})`}static asCID(t){if(t==null)return null;let r=t;if(r instanceof e)return r;if(r["/"]!=null&&r["/"]===r.bytes||r.asCID===r){let{version:n,code:o,multihash:i,bytes:s}=r;return new e(n,o,i,s||u8(n,o,i.bytes))}else if(r[$w]===!0){let{version:n,multihash:o,code:i}=r,s=Y0(o);return e.create(n,i,s)}else return null}static create(t,r,n){if(typeof r!="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(r!==es)throw new Error(`Version 0 CID must use dag-pb (code: ${es}) block encoding`);return new e(t,r,n,n.bytes)}case 1:{let o=u8(t,r,n.bytes);return new e(t,r,n,o)}default:throw new Error("Invalid version")}}static createV0(t){return e.create(0,es,t)}static createV1(t,r){return e.create(1,t,r)}static decode(t){let[r,n]=e.decodeFirst(t);if(n.length)throw new Error("Incorrect length");return r}static decodeFirst(t){let r=e.inspectBytes(t),n=r.size-r.multihashSize,o=Wr(t.subarray(n,n+r.multihashSize));if(o.byteLength!==r.multihashSize)throw new Error("Incorrect length");let i=o.subarray(r.multihashSize-r.digestSize),s=new Xo(r.multihashCode,r.digestSize,i,o);return[r.version===0?e.createV0(s):e.createV1(r.codec,s),t.subarray(r.size)]}static inspectBytes(t){let r=0,n=()=>{let[l,m]=ts(t.subarray(r));return r+=m,l},o=n(),i=es;if(o===18?(o=0,r=0):i=n(),o!==0&&o!==1)throw new RangeError(`Invalid CID version ${o}`);let s=r,a=n(),c=n(),u=r+c,f=u-s;return{version:o,codec:i,multihashCode:a,digestSize:c,multihashSize:f,size:u}}static parse(t,r){let[n,o]=Vw(t,r),i=e.decode(o);if(i.version===0&&t[0]!=="Q")throw Error("Version 0 CID string must not include multibase prefix");return Kc(i).set(n,t),i}},Vw=(e,t)=>{switch(e[0]){case"Q":{let r=t||Be;return[Be.prefix,r.decode(`${Be.prefix}${e}`)]}case Be.prefix:{let r=t||Be;return[Be.prefix,r.decode(e)]}case Zr.prefix:{let r=t||Zr;return[Zr.prefix,r.decode(e)]}default:{if(t==null)throw Error("To parse non base32 or base58btc encoded CID multibase decoder must be provided");return[e[0],t.decode(e)]}}},Kw=(e,t,r)=>{let{prefix:n}=r;if(n!==Be.prefix)throw Error(`Cannot string encode V0 in ${r.name} encoding`);let o=t.get(n);if(o==null){let i=r.encode(e).slice(1);return t.set(n,i),i}else return o},qw=(e,t,r)=>{let{prefix:n}=r,o=t.get(n);if(o==null){let i=r.encode(e);return t.set(n,i),i}else return o},es=112,zw=18,u8=(e,t,r)=>{let n=Zo(e),o=n+Zo(t),i=new Uint8Array(o+r.byteLength);return Wo(e,i,0),Wo(t,i,n),i.set(r,o),i},$w=Symbol.for("@ipld/js-cid/CID");var Hw=Math.pow(2,7),Gw=Math.pow(2,14),Qw=Math.pow(2,21),qc=Math.pow(2,28),zc=Math.pow(2,35),$c=Math.pow(2,42),Hc=Math.pow(2,49),vt=128,me=127;function Yt(e){if(e<Hw)return 1;if(e<Gw)return 2;if(e<Qw)return 3;if(e<qc)return 4;if(e<zc)return 5;if(e<$c)return 6;if(e<Hc)return 7;if(Number.MAX_SAFE_INTEGER!=null&&e>Number.MAX_SAFE_INTEGER)throw new RangeError("Could not encode varint");return 8}function Yw(e,t,r=0){switch(Yt(e)){case 8:t[r++]=e&255|vt,e/=128;case 7:t[r++]=e&255|vt,e/=128;case 6:t[r++]=e&255|vt,e/=128;case 5:t[r++]=e&255|vt,e/=128;case 4:t[r++]=e&255|vt,e>>>=7;case 3:t[r++]=e&255|vt,e>>>=7;case 2:t[r++]=e&255|vt,e>>>=7;case 1:{t[r++]=e&255,e>>>=7;break}default:throw new Error("unreachable")}return t}function Ww(e,t,r=0){switch(Yt(e)){case 8:t.set(r++,e&255|vt),e/=128;case 7:t.set(r++,e&255|vt),e/=128;case 6:t.set(r++,e&255|vt),e/=128;case 5:t.set(r++,e&255|vt),e/=128;case 4:t.set(r++,e&255|vt),e>>>=7;case 3:t.set(r++,e&255|vt),e>>>=7;case 2:t.set(r++,e&255|vt),e>>>=7;case 1:{t.set(r++,e&255),e>>>=7;break}default:throw new Error("unreachable")}return t}function Zw(e,t){let r=e[t],n=0;if(n+=r&me,r<vt||(r=e[t+1],n+=(r&me)<<7,r<vt)||(r=e[t+2],n+=(r&me)<<14,r<vt)||(r=e[t+3],n+=(r&me)<<21,r<vt)||(r=e[t+4],n+=(r&me)*qc,r<vt)||(r=e[t+5],n+=(r&me)*zc,r<vt)||(r=e[t+6],n+=(r&me)*$c,r<vt)||(r=e[t+7],n+=(r&me)*Hc,r<vt))return n;throw new RangeError("Could not decode varint")}function Xw(e,t){let r=e.get(t),n=0;if(n+=r&me,r<vt||(r=e.get(t+1),n+=(r&me)<<7,r<vt)||(r=e.get(t+2),n+=(r&me)<<14,r<vt)||(r=e.get(t+3),n+=(r&me)<<21,r<vt)||(r=e.get(t+4),n+=(r&me)*qc,r<vt)||(r=e.get(t+5),n+=(r&me)*zc,r<vt)||(r=e.get(t+6),n+=(r&me)*$c,r<vt)||(r=e.get(t+7),n+=(r&me)*Hc,r<vt))return n;throw new RangeError("Could not decode varint")}function ge(e,t,r=0){return t==null&&(t=se(Yt(e))),t instanceof Uint8Array?Yw(e,t,r):Ww(e,t,r)}function ce(e,t=0){return e instanceof Uint8Array?Zw(e,t):Xw(e,t)}var tD=parseInt("0xFFFF",16),eD=new Uint8Array([0,0,0,0,0,0,0,0,0,0,255,255]);var Qc={};rt(Qc,{base10:()=>rv});var rv=vn({prefix:"9",name:"base10",alphabet:"0123456789"});var Yc={};rt(Yc,{base16:()=>nv,base16upper:()=>ov});var nv=qt({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),ov=qt({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var Wc={};rt(Wc,{base2:()=>iv});var iv=qt({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var Zc={};rt(Zc,{base256emoji:()=>fv});var l8=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}"),sv=l8.reduce((e,t,r)=>(e[r]=t,e),[]),av=l8.reduce((e,t,r)=>(e[t.codePointAt(0)]=r,e),[]);function cv(e){return e.reduce((t,r)=>(t+=sv[r],t),"")}function uv(e){let t=[];for(let r of e){let n=av[r.codePointAt(0)];if(n===void 0)throw new Error(`Non-base256emoji character: ${r}`);t.push(n)}return new Uint8Array(t)}var fv=Yo({prefix:"\u{1F680}",name:"base256emoji",encode:cv,decode:uv});var Xc={};rt(Xc,{base36:()=>lv,base36upper:()=>hv});var lv=vn({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),hv=vn({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var jc={};rt(jc,{base64:()=>dv,base64pad:()=>pv,base64url:()=>mv,base64urlpad:()=>gv});var dv=qt({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),pv=qt({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),mv=qt({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),gv=qt({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});var Jc={};rt(Jc,{base8:()=>yv});var yv=qt({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var tu={};rt(tu,{identity:()=>xv});var xv=Yo({prefix:"\0",name:"identity",encode:e=>t8(e),decode:e=>J5(e)});var ND=new TextEncoder,DD=new TextDecoder;var eu={};rt(eu,{identity:()=>Sv});var h8=0,vv="identity",d8=Wr,Ev=e=>Jn(h8,d8(e)),Sv={code:h8,name:vv,encode:d8,digest:Ev};var ou={};rt(ou,{sha256:()=>Iv,sha512:()=>Av});var nu=({name:e,code:t,encode:r})=>new ru(e,t,r),ru=class{constructor(t,r,n){this.name=t,this.code=r,this.encode=n}digest(t){if(t instanceof Uint8Array){let r=this.encode(t);return r instanceof Uint8Array?Jn(this.code,r):r.then(n=>Jn(this.code,n))}else throw Error("Unknown type, must be binary type")}};var m8=e=>async t=>new Uint8Array(await crypto.subtle.digest(e,t)),Iv=nu({name:"sha2-256",code:18,encode:m8("SHA-256")}),Av=nu({name:"sha2-512",code:19,encode:m8("SHA-512")});var g8={...tu,...Wc,...Jc,...Qc,...Yc,...Mc,...Xc,...Fc,...jc,...Zc},KD={...ou,...eu};var y8=$o,Tv=Ho,iu=function(e){let t=0;if(e=e.toString().trim(),y8(e)){let r=new Uint8Array(t+4);return e.split(/\./g).forEach(n=>{r[t++]=parseInt(n,10)&255}),r}if(Tv(e)){let r=e.split(":",8),n;for(n=0;n<r.length;n++){let i=y8(r[n]),s;i&&(s=iu(r[n]),r[n]=M(s.slice(0,2),"base16")),s!=null&&++n<8&&r.splice(n,0,M(s.slice(2,4),"base16"))}if(r[0]==="")for(;r.length<8;)r.unshift("0");else if(r[r.length-1]==="")for(;r.length<8;)r.push("0");else if(r.length<8){for(n=0;n<r.length&&r[n]!=="";n++);let i=[n,1];for(n=9-r.length;n>0;n--)i.push("0");r.splice.apply(r,i)}let o=new Uint8Array(t+16);for(n=0;n<r.length;n++){let i=parseInt(r[n],16);o[t++]=i>>8&255,o[t++]=i&255}return o}throw new Error("invalid ip address")},x8=function(e,t=0,r){t=~~t,r=r??e.length-t;let n=new DataView(e.buffer);if(r===4){let o=[];for(let i=0;i<r;i++)o.push(e[t+i]);return o.join(".")}if(r===16){let o=[];for(let i=0;i<r;i+=2)o.push(n.getUint16(t+i).toString(16));return o.join(":").replace(/(^|:)0(:0)*:0(:|$)/,"$1::$3").replace(/:{3,4}/,"::")}return""};var Jo={},su={},Rv=[[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"]];Rv.forEach(e=>{let t=_v(...e);su[t.code]=t,Jo[t.name]=t});function _v(e,t,r,n,o){return{code:e,size:t,name:r,resolvable:!!n,path:!!o}}function Tt(e){if(typeof e=="number"){if(su[e]!=null)return su[e];throw new Error(`no protocol with code: ${e}`)}else if(typeof e=="string"){if(Jo[e]!=null)return Jo[e];throw new Error(`no protocol with name: ${e}`)}throw new Error(`invalid protocol id type: ${typeof e}`)}var rL=Tt("ip4"),nL=Tt("ip6"),oL=Tt("ipcidr");function cu(e,t){switch(Tt(e).code){case 4:case 41:return Pv(t);case 42:return v8(t);case 6:case 273:case 33:case 132:return S8(t).toString();case 53:case 54:case 55:case 56:case 400:case 449:case 777:return v8(t);case 421:return kv(t);case 444:return E8(t);case 445:return E8(t);case 466:return Lv(t);default:return M(t,"base16")}}function uu(e,t){switch(Tt(e).code){case 4:return b8(t);case 41:return b8(t);case 42:return w8(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 w8(t);case 421:return Nv(t);case 444:return Uv(t);case 445:return Ov(t);case 466:return Dv(t);default:return at(t,"base16")}}var au=Object.values(g8).map(e=>e.decoder),Bv=function(){let e=au[0].or(au[1]);return au.slice(2).forEach(t=>e=e.or(t)),e}();function b8(e){if(!_e(e))throw new Error("invalid ip address");return iu(e)}function Pv(e){let t=x8(e,0,e.length);if(t==null)throw new Error("ipBuff is required");if(!_e(t))throw new Error("invalid ip address");return t}function fu(e){let t=new ArrayBuffer(2);return new DataView(t).setUint16(0,e),new Uint8Array(t)}function S8(e){return new DataView(e.buffer).getUint16(e.byteOffset)}function w8(e){let t=at(e),r=Uint8Array.from(ge(t.length));return J([r,t],r.length+t.length)}function v8(e){let t=ce(e);if(e=e.slice(Yt(t)),e.length!==t)throw new Error("inconsistent lengths");return M(e)}function Nv(e){let t;e[0]==="Q"||e[0]==="1"?t=Y0(Be.decode(`z${e}`)).bytes:t=En.parse(e).multihash.bytes;let r=Uint8Array.from(ge(t.length));return J([r,t],r.length+t.length)}function Dv(e){let t=Bv.decode(e),r=Uint8Array.from(ge(t.length));return J([r,t],r.length+t.length)}function Lv(e){let t=ce(e),r=e.slice(Yt(t));if(r.length!==t)throw new Error("inconsistent lengths");return"u"+M(r,"base64url")}function kv(e){let t=ce(e),r=e.slice(Yt(t));if(r.length!==t)throw new Error("inconsistent lengths");return M(r,"base58btc")}function Uv(e){let t=e.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 r=Zr.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 J([r,o],r.length+o.length)}function Ov(e){let t=e.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 r=Zr.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 J([r,o],r.length+o.length)}function E8(e){let t=e.slice(0,e.length-2),r=e.slice(e.length-2),n=M(t,"base32"),o=S8(r);return`${n}:${o}`}function I8(e){e=lu(e);let t=[],r=[],n=null,o=e.split("/").slice(1);if(o.length===1&&o[0]==="")return{bytes:new Uint8Array,string:"/",tuples:[],stringTuples:[],path:null};for(let i=0;i<o.length;i++){let s=o[i],a=Tt(s);if(a.size===0){t.push([a.code]),r.push([a.code]);continue}if(i++,i>=o.length)throw T8("invalid address: "+e);if(a.path===!0){n=lu(o.slice(i).join("/")),t.push([a.code,uu(a.code,n)]),r.push([a.code,n]);break}let c=uu(a.code,o[i]);t.push([a.code,c]),r.push([a.code,cu(a.code,c)])}return{string:A8(r),bytes:du(t),tuples:t,stringTuples:r,path:n}}function hu(e){let t=[],r=[],n=null,o=0;for(;o<e.length;){let i=ce(e,o),s=Yt(i),a=Tt(i),c=Fv(a,e.slice(o+s));if(c===0){t.push([i]),r.push([i]),o+=s;continue}let u=e.slice(o+s,o+s+c);if(o+=c+s,o>e.length)throw T8("Invalid address Uint8Array: "+M(e,"base16"));t.push([i,u]);let f=cu(i,u);if(r.push([i,f]),a.path===!0){n=f;break}}return{bytes:Uint8Array.from(e),string:A8(r),tuples:t,stringTuples:r,path:n}}function A8(e){let t=[];return e.map(r=>{let n=Tt(r[0]);return t.push(n.name),r.length>1&&r[1]!=null&&t.push(r[1]),null}),lu(t.join("/"))}function du(e){return J(e.map(t=>{let r=Tt(t[0]),n=Uint8Array.from(ge(r.code));return t.length>1&&t[1]!=null&&(n=J([n,t[1]])),n}))}function Fv(e,t){if(e.size>0)return e.size/8;if(e.size===0)return 0;{let r=ce(t instanceof Uint8Array?t:Uint8Array.from(t));return r+Yt(r)}}function lu(e){return"/"+e.trim().split("/").filter(t=>t).join("/")}function T8(e){return new Error("Error parsing address: "+e)}var Mv=Symbol.for("nodejs.util.inspect.custom"),pu=Symbol.for("@multiformats/js-multiaddr/multiaddr"),Vv=[Tt("dns").code,Tt("dns4").code,Tt("dns6").code,Tt("dnsaddr").code],W0=class e{bytes;#t;#e;#r;#n;[pu]=!0;constructor(t){t==null&&(t="");let r;if(t instanceof Uint8Array)r=hu(t);else if(typeof t=="string"){if(t.length>0&&t.charAt(0)!=="/")throw new Error(`multiaddr "${t}" must start with a "/"`);r=I8(t)}else if(R8(t))r=hu(t.bytes);else throw new Error("addr must be a string, Buffer, or another Multiaddr");this.bytes=r.bytes,this.#t=r.string,this.#e=r.tuples,this.#r=r.stringTuples,this.#n=r.path}toString(){return this.#t}toJSON(){return this.toString()}toOptions(){let t,r,n,o,i="",s=Tt("tcp"),a=Tt("udp"),c=Tt("ip4"),u=Tt("ip6"),f=Tt("dns6"),l=Tt("ip6zone");for(let[d,h]of this.stringTuples())d===l.code&&(i=`%${h??""}`),Vv.includes(d)&&(r=s.name,o=443,n=`${h??""}${i}`,t=d===f.code?6:4),(d===s.code||d===a.code)&&(r=Tt(d).name,o=parseInt(h??"")),(d===c.code||d===u.code)&&(r=Tt(d).name,n=`${h??""}${i}`,t=d===u.code?6:4);if(t==null||r==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:r,port:o}}protos(){return this.#e.map(([t])=>Object.assign({},Tt(t)))}protoCodes(){return this.#e.map(([t])=>t)}protoNames(){return this.#e.map(([t])=>Tt(t).name)}tuples(){return this.#e}stringTuples(){return this.#r}encapsulate(t){return t=new e(t),new e(this.toString()+t.toString())}decapsulate(t){let r=t.toString(),n=this.toString(),o=n.lastIndexOf(r);if(o<0)throw new Error(`Address ${this.toString()} does not contain subaddress: ${t.toString()}`);return new e(n.slice(0,o))}decapsulateCode(t){let r=this.tuples();for(let n=r.length-1;n>=0;n--)if(r[n][0]===t)return new e(du(r.slice(0,n)));return this}getPeerId(){try{let t=[];this.stringTuples().forEach(([n,o])=>{n===Jo.p2p.code&&t.push([n,o]),n===Jo["p2p-circuit"].code&&(t=[])});let r=t.pop();if(r?.[1]!=null){let n=r[1];return n[0]==="Q"||n[0]==="1"?M(Be.decode(`z${n}`),"base58btc"):M(En.parse(n).multihash.bytes,"base58btc")}return null}catch{return null}}getPath(){return this.#n}equals(t){return dt(this.bytes,t.bytes)}async resolve(t){let r=this.protos().find(i=>i.resolvable);if(r==null)return[this];let n=C8.get(r.name);if(n==null)throw new G0(`no available resolver for ${r.name}`,"ERR_NO_AVAILABLE_RESOLVER");return(await n(this,t)).map(i=>new e(i))}nodeAddress(){let t=this.toOptions();if(t.transport!=="tcp"&&t.transport!=="udp")throw new Error(`multiaddr must have a valid format - no protocol with name: "${t.transport}". Must have a valid transport protocol: "{tcp, udp}"`);return{family:t.family,address:t.host,port:t.port}}isThinWaistAddress(t){let r=(t??this).protos();return!(r.length!==2||r[0].code!==4&&r[0].code!==41||r[1].code!==6&&r[1].code!==273)}[Mv](){return`Multiaddr(${this.#t})`}};var C8=new Map;function R8(e){return!!e?.[pu]}function Z0(e){return new W0(e)}var Kv=W("dns4"),qv=W("dns6"),zv=W("dnsaddr"),eo=he(W("dns"),zv,Kv,qv),X0=he(W("ip4"),W("ip6")),ti=he(ot(X0,W("tcp")),ot(eo,W("tcp"))),yu=ot(X0,W("udp")),$v=ot(yu,W("utp")),Hv=ot(yu,W("quic")),ns=he(ot(ti,W("ws")),ot(eo,W("ws"))),os=he(ot(ti,W("wss")),ot(eo,W("wss")),ot(ti,W("tls"),W("ws")),ot(eo,W("tls"),W("ws"))),mu=he(ot(ti,W("http")),ot(X0,W("http")),ot(eo,W("http"))),gu=he(ot(ti,W("https")),ot(X0,W("https")),ot(eo,W("https"))),_8=ot(yu,W("webrtc"),W("certhash")),P8=he(ot(_8,W("p2p")),_8),N8=he(ot(ns,W("p2p-webrtc-star"),W("p2p")),ot(os,W("p2p-webrtc-star"),W("p2p")),ot(ns,W("p2p-webrtc-star")),ot(os,W("p2p-webrtc-star"))),BL=he(ot(ns,W("p2p-websocket-star"),W("p2p")),ot(os,W("p2p-websocket-star"),W("p2p")),ot(ns,W("p2p-websocket-star")),ot(os,W("p2p-websocket-star"))),D8=he(ot(mu,W("p2p-webrtc-direct"),W("p2p")),ot(gu,W("p2p-webrtc-direct"),W("p2p")),ot(mu,W("p2p-webrtc-direct")),ot(gu,W("p2p-webrtc-direct"))),is=he(ns,os,mu,gu,N8,D8,ti,$v,Hv,eo,P8),PL=he(ot(is,W("p2p-stardust"),W("p2p")),ot(is,W("p2p-stardust"))),Sn=he(ot(is,W("p2p")),N8,D8,P8,W("p2p")),B8=he(ot(Sn,W("p2p-circuit"),Sn),ot(Sn,W("p2p-circuit")),ot(W("p2p-circuit"),Sn),ot(is,W("p2p-circuit")),ot(W("p2p-circuit"),is),W("p2p-circuit")),L8=()=>he(ot(B8,L8),B8),rs=L8(),Gv=he(ot(rs,Sn,rs),ot(Sn,rs),ot(rs,Sn),rs,Sn);function k8(e){function t(r){let n;try{n=Z0(r)}catch{return!1}let o=e(n.protoNames());return o===null?!1:o===!0||o===!1?o:o.length===0}return t}function ot(...e){function t(r){if(r.length<e.length)return null;let n=r;return e.some(o=>(n=typeof o=="function"?o().partialMatch(r):o.partialMatch(r),Array.isArray(n)&&(r=n),n===null)),n}return{toString:function(){return"{ "+e.join(" ")+" }"},input:e,matches:k8(t),partialMatch:t}}function he(...e){function t(n){let o=null;return e.some(i=>{let s=typeof i=="function"?i().partialMatch(n):i.partialMatch(n);return s!=null?(o=s,!0):!1}),o}return{toString:function(){return"{ "+e.join(" ")+" }"},input:e,matches:k8(t),partialMatch:t}}function W(e){let t=e;function r(o){let i;try{i=Z0(o)}catch{return!1}let s=i.protoNames();return s.length===1&&s[0]===t}function n(o){return o.length===0?null:o[0]===t?o.slice(1):null}return{toString:function(){return t},matches:r,partialMatch:n}}var nE=ht(q8(),1);function z8(e){try{return oE(e)?!!Ze.parse(e):e instanceof Uint8Array?!!Ze.decode(e):!!Ze.asCID(e)}catch{return!1}}function oE(e){return typeof e=="string"}var $8=32,wu=async(e,t,r,n={})=>{if(t===0)throw new Error("recursion limit exceeded");let o;try{o=await r(e,n)}catch(c){if(c.code!=="ENOTFOUND"&&c.code!=="ERR_DNSLINK_NOT_FOUND"&&c.code!=="ENODATA")throw c;e.startsWith("_dnslink.")?e=e.replace("_dnslink.",""):e=`_dnslink.${e}`,o=await r(e,n)}let i=o.replace("dnslink=",""),s=i.split("/")[2];return z8(s)?i:wu(s,t-1,r,n)},sE=/^dnslink=.+$/,H8=async(e,t)=>{let o=(await e.resolveTxt(t)).flat().filter(i=>sE.test(i))[0];if(o==null)throw new U(`No dnslink records found for domain: ${t}`,"ERR_DNSLINK_NOT_FOUND");return o};var Eu=ht(Q1(),1),Su=ht(Y8(),1);var W8=globalThis.fetch,Z8=globalThis.Headers,$L=globalThis.Request,HL=globalThis.Response;function j0(e,t,r){return`${e}?name=${t}&type=${r}`}async function X8(e,t){return await(await W8(e,{headers:new Z8({accept:"application/dns-json"}),signal:t})).json()}function ro(e,t){return`${t}_${e}`}var vu=Object.assign((0,Eu.default)("dns-over-http-resolver"),{error:(0,Eu.default)("dns-over-http-resolver:error")}),Iu=class{_cache;_TXTcache;_servers;_request;_abortControllers;constructor(t={}){this._cache=new Su.default({max:t?.maxCache??100}),this._TXTcache=new Su.default({max:t?.maxCache??100}),this._servers=["https://cloudflare-dns.com/dns-query","https://dns.google/resolve"],this._request=t.request??X8,this._abortControllers=[]}cancel(){this._abortControllers.forEach(t=>{t.abort()})}getServers(){return this._servers}_getShuffledServers(){let t=[...this._servers];for(let r=t.length-1;r>0;r--){let n=Math.floor(Math.random()*r),o=t[r];t[r]=t[n],t[n]=o}return t}setServers(t){this._servers=t}async resolve(t,r="A"){switch(r){case"A":return this.resolve4(t);case"AAAA":return this.resolve6(t);case"TXT":return this.resolveTxt(t);default:throw new Error(`${r} is not supported`)}}async resolve4(t){let r="A",n=this._cache.get(ro(t,r));if(n!=null)return n;let o=!1;for(let i of this._getShuffledServers()){let s=new AbortController;this._abortControllers.push(s);try{let a=await this._request(j0(i,t,r),s.signal),c=a.Answer.map(f=>f.data),u=Math.min(...a.Answer.map(f=>f.TTL));return this._cache.set(ro(t,r),c,{ttl:u}),c}catch{s.signal.aborted&&(o=!0),vu.error(`${i} could not resolve ${t} record ${r}`)}finally{this._abortControllers=this._abortControllers.filter(a=>a!==s)}}throw o?Object.assign(new Error("queryA ECANCELLED"),{code:"ECANCELLED"}):new Error(`Could not resolve ${t} record ${r}`)}async resolve6(t){let r="AAAA",n=this._cache.get(ro(t,r));if(n!=null)return n;let o=!1;for(let i of this._getShuffledServers()){let s=new AbortController;this._abortControllers.push(s);try{let a=await this._request(j0(i,t,r),s.signal),c=a.Answer.map(f=>f.data),u=Math.min(...a.Answer.map(f=>f.TTL));return this._cache.set(ro(t,r),c,{ttl:u}),c}catch{s.signal.aborted&&(o=!0),vu.error(`${i} could not resolve ${t} record ${r}`)}finally{this._abortControllers=this._abortControllers.filter(a=>a!==s)}}throw o?Object.assign(new Error("queryAaaa ECANCELLED"),{code:"ECANCELLED"}):new Error(`Could not resolve ${t} record ${r}`)}async resolveTxt(t){let r="TXT",n=this._TXTcache.get(ro(t,r));if(n!=null)return n;let o=!1;for(let i of this._getShuffledServers()){let s=new AbortController;this._abortControllers.push(s);try{let a=await this._request(j0(i,t,r),s.signal),c=a.Answer.map(f=>[f.data.replace(/['"]+/g,"")]),u=Math.min(...a.Answer.map(f=>f.TTL));return this._TXTcache.set(ro(t,r),c,{ttl:u}),c}catch{s.signal.aborted&&(o=!0),vu.error(`${i} could not resolve ${t} record ${r}`)}finally{this._abortControllers=this._abortControllers.filter(a=>a!==s)}}throw o?Object.assign(new Error("queryTxt ECANCELLED"),{code:"ECANCELLED"}):new Error(`Could not resolve ${t} record ${r}`)}clearCache(){this._cache.clear(),this._TXTcache.clear()}},j8=Iu;var Tu=ht(th(),1);var cs=class extends Error{constructor(t){super(t),this.name="TimeoutError"}},Cu=class extends Error{constructor(t){super(),this.name="AbortError",this.message=t}},eh=e=>globalThis.DOMException===void 0?new Cu(e):new DOMException(e),rh=e=>{let t=e.reason===void 0?eh("This operation was aborted."):e.reason;return t instanceof Error?t:eh(t)};function Ru(e,t,r,n){let o,i=new Promise((s,a)=>{if(typeof t!="number"||Math.sign(t)!==1)throw new TypeError(`Expected \`milliseconds\` to be a positive number, got \`${t}\``);if(t===Number.POSITIVE_INFINITY){s(e);return}if(n={customTimers:{setTimeout,clearTimeout},...n},n.signal){let{signal:c}=n;c.aborted&&a(rh(c)),c.addEventListener("abort",()=>{a(rh(c))})}o=n.customTimers.setTimeout.call(void 0,()=>{if(typeof r=="function"){try{s(r())}catch(f){a(f)}return}let c=typeof r=="string"?r:`Promise timed out after ${t} milliseconds`,u=r instanceof Error?r:new cs(c);typeof e.cancel=="function"&&e.cancel(),a(u)},t),(async()=>{try{s(await e)}catch(c){a(c)}finally{n.customTimers.clearTimeout.call(void 0,o)}})()});return i.clear=()=>{clearTimeout(o),o=void 0},i}function _u(e,t,r){let n=0,o=e.length;for(;o>0;){let i=Math.trunc(o/2),s=n+i;r(e[s],t)<=0?(n=++s,o-=i+1):o=i}return n}var no=function(e,t,r,n){if(r==="a"&&!n)throw new TypeError("Private accessor was defined without a getter");if(typeof t=="function"?e!==t||!n:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return r==="m"?n:r==="a"?n.call(e):n?n.value:t.get(e)},Xr,Bu=class{constructor(){Xr.set(this,[])}enqueue(t,r){r={priority:0,...r};let n={priority:r.priority,run:t};if(this.size&&no(this,Xr,"f")[this.size-1].priority>=r.priority){no(this,Xr,"f").push(n);return}let o=_u(no(this,Xr,"f"),n,(i,s)=>s.priority-i.priority);no(this,Xr,"f").splice(o,0,n)}dequeue(){let t=no(this,Xr,"f").shift();return t?.run}filter(t){return no(this,Xr,"f").filter(r=>r.priority===t.priority).map(r=>r.run)}get size(){return no(this,Xr,"f").length}};Xr=new WeakMap;var nh=Bu;var Ot=function(e,t,r,n,o){if(n==="m")throw new TypeError("Private method is not writable");if(n==="a"&&!o)throw new TypeError("Private accessor was defined without a setter");if(typeof t=="function"?e!==t||!o:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return n==="a"?o.call(e,r):o?o.value=r:t.set(e,r),r},Q=function(e,t,r,n){if(r==="a"&&!n)throw new TypeError("Private accessor was defined without a getter");if(typeof t=="function"?e!==t||!n:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return r==="m"?n:r==="a"?n.call(e):n?n.value:t.get(e)},Wt,fs,ls,Tn,i1,hs,t1,cr,us,Me,e1,Ve,ds,An,r1,oh,ih,ch,sh,ah,n1,Pu,Nu,s1,uh,o1,a1=class extends Error{},Du=class extends Tu.default{constructor(t){var r,n,o,i;if(super(),Wt.add(this),fs.set(this,void 0),ls.set(this,void 0),Tn.set(this,0),i1.set(this,void 0),hs.set(this,void 0),t1.set(this,0),cr.set(this,void 0),us.set(this,void 0),Me.set(this,void 0),e1.set(this,void 0),Ve.set(this,0),ds.set(this,void 0),An.set(this,void 0),r1.set(this,void 0),Object.defineProperty(this,"timeout",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),t={carryoverConcurrencyCount:!1,intervalCap:Number.POSITIVE_INFINITY,interval:0,concurrency:Number.POSITIVE_INFINITY,autoStart:!0,queueClass:nh,...t},!(typeof t.intervalCap=="number"&&t.intervalCap>=1))throw new TypeError(`Expected \`intervalCap\` to be a number from 1 and up, got \`${(n=(r=t.intervalCap)===null||r===void 0?void 0:r.toString())!==null&&n!==void 0?n:""}\` (${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 \`${(i=(o=t.interval)===null||o===void 0?void 0:o.toString())!==null&&i!==void 0?i:""}\` (${typeof t.interval})`);Ot(this,fs,t.carryoverConcurrencyCount,"f"),Ot(this,ls,t.intervalCap===Number.POSITIVE_INFINITY||t.interval===0,"f"),Ot(this,i1,t.intervalCap,"f"),Ot(this,hs,t.interval,"f"),Ot(this,Me,new t.queueClass,"f"),Ot(this,e1,t.queueClass,"f"),this.concurrency=t.concurrency,this.timeout=t.timeout,Ot(this,r1,t.throwOnTimeout===!0,"f"),Ot(this,An,t.autoStart===!1,"f")}get concurrency(){return Q(this,ds,"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})`);Ot(this,ds,t,"f"),Q(this,Wt,"m",s1).call(this)}async add(t,r={}){return r={timeout:this.timeout,throwOnTimeout:Q(this,r1,"f"),...r},new Promise((n,o)=>{Q(this,Me,"f").enqueue(async()=>{var i,s,a;Ot(this,Ve,(s=Q(this,Ve,"f"),s++,s),"f"),Ot(this,Tn,(a=Q(this,Tn,"f"),a++,a),"f");try{if(!((i=r.signal)===null||i===void 0)&&i.aborted)throw new a1("The task was aborted.");let c=t({signal:r.signal});r.timeout&&(c=Ru(Promise.resolve(c),r.timeout)),r.signal&&(c=Promise.race([c,Q(this,Wt,"m",uh).call(this,r.signal)]));let u=await c;n(u),this.emit("completed",u)}catch(c){if(c instanceof cs&&!r.throwOnTimeout){n();return}o(c),this.emit("error",c)}finally{Q(this,Wt,"m",ch).call(this)}},r),this.emit("add"),Q(this,Wt,"m",n1).call(this)})}async addAll(t,r){return Promise.all(t.map(async n=>this.add(n,r)))}start(){return Q(this,An,"f")?(Ot(this,An,!1,"f"),Q(this,Wt,"m",s1).call(this),this):this}pause(){Ot(this,An,!0,"f")}clear(){Ot(this,Me,new(Q(this,e1,"f")),"f")}async onEmpty(){Q(this,Me,"f").size!==0&&await Q(this,Wt,"m",o1).call(this,"empty")}async onSizeLessThan(t){Q(this,Me,"f").size<t||await Q(this,Wt,"m",o1).call(this,"next",()=>Q(this,Me,"f").size<t)}async onIdle(){Q(this,Ve,"f")===0&&Q(this,Me,"f").size===0||await Q(this,Wt,"m",o1).call(this,"idle")}get size(){return Q(this,Me,"f").size}sizeBy(t){return Q(this,Me,"f").filter(t).length}get pending(){return Q(this,Ve,"f")}get isPaused(){return Q(this,An,"f")}};fs=new WeakMap,ls=new WeakMap,Tn=new WeakMap,i1=new WeakMap,hs=new WeakMap,t1=new WeakMap,cr=new WeakMap,us=new WeakMap,Me=new WeakMap,e1=new WeakMap,Ve=new WeakMap,ds=new WeakMap,An=new WeakMap,r1=new WeakMap,Wt=new WeakSet,oh=function(){return Q(this,ls,"f")||Q(this,Tn,"f")<Q(this,i1,"f")},ih=function(){return Q(this,Ve,"f")<Q(this,ds,"f")},ch=function(){var t;Ot(this,Ve,(t=Q(this,Ve,"f"),t--,t),"f"),Q(this,Wt,"m",n1).call(this),this.emit("next")},sh=function(){Q(this,Wt,"m",Nu).call(this),Q(this,Wt,"m",Pu).call(this),Ot(this,us,void 0,"f")},ah=function(){let t=Date.now();if(Q(this,cr,"f")===void 0){let r=Q(this,t1,"f")-t;if(r<0)Ot(this,Tn,Q(this,fs,"f")?Q(this,Ve,"f"):0,"f");else return Q(this,us,"f")===void 0&&Ot(this,us,setTimeout(()=>{Q(this,Wt,"m",sh).call(this)},r),"f"),!0}return!1},n1=function(){if(Q(this,Me,"f").size===0)return Q(this,cr,"f")&&clearInterval(Q(this,cr,"f")),Ot(this,cr,void 0,"f"),this.emit("empty"),Q(this,Ve,"f")===0&&this.emit("idle"),!1;if(!Q(this,An,"f")){let t=!Q(this,Wt,"a",ah);if(Q(this,Wt,"a",oh)&&Q(this,Wt,"a",ih)){let r=Q(this,Me,"f").dequeue();return r?(this.emit("active"),r(),t&&Q(this,Wt,"m",Pu).call(this),!0):!1}}return!1},Pu=function(){Q(this,ls,"f")||Q(this,cr,"f")!==void 0||(Ot(this,cr,setInterval(()=>{Q(this,Wt,"m",Nu).call(this)},Q(this,hs,"f")),"f"),Ot(this,t1,Date.now()+Q(this,hs,"f"),"f"))},Nu=function(){Q(this,Tn,"f")===0&&Q(this,Ve,"f")===0&&Q(this,cr,"f")&&(clearInterval(Q(this,cr,"f")),Ot(this,cr,void 0,"f")),Ot(this,Tn,Q(this,fs,"f")?Q(this,Ve,"f"):0,"f"),Q(this,Wt,"m",s1).call(this)},s1=function(){for(;Q(this,Wt,"m",n1).call(this););},uh=async function(t){return new Promise((r,n)=>{t.addEventListener("abort",()=>{n(new a1("The task was aborted."))},{once:!0})})},o1=async function(t,r){return new Promise(n=>{let o=()=>{r&&!r()||(this.off(t,o),n())};this.on(t,o)})};var Cn=Du;var lh=ht(Lu(),1),c1=class{lru;constructor(t){this.lru=(0,lh.default)(t)}get(t){let r=this.lru.get(t);if(r!=null){if(r.expire!=null&&r.expire<Date.now()){this.lru.remove(t);return}return r.value}}set(t,r,n){this.lru.set(t,{value:r,expire:Date.now()+n})}has(t){return this.get(t)!=null}remove(t){this.lru.remove(t)}clear(){this.lru.clear()}};var ku=new c1(1e3),dE=60*1e3,pE=new Cn({concurrency:4}),mE=async function(t,r={}){let n=new j8({maxCache:0});if(r.nocache!==!0&&ku.has(t)){let i=ku.get(t);if(i!=null)return r?.onProgress?.(new Re("dnslink:cache",{detail:i})),i}r.onProgress?.(new Re("dnslink:query",{detail:t}));let o=await pE.add(async()=>{let i=await H8(n,t);return r.onProgress?.(new Re("dnslink:answer",{detail:i})),ku.set(t,i,dE),i},{signal:r?.signal});if(o==null)throw new Error("No DNS response received");return o},hh=mE;function dh(){return async(e,t={})=>wu(e,$8,hh,t)}var ph=Symbol.for("@libp2p/content-routing");var xe=class extends EventTarget{#t=new Map;listenerCount(t){let r=this.#t.get(t);return r==null?0:r.length}addEventListener(t,r,n){super.addEventListener(t,r,n);let o=this.#t.get(t);o==null&&(o=[],this.#t.set(t,o)),o.push({callback:r,once:(n!==!0&&n!==!1&&n?.once)??!1})}removeEventListener(t,r,n){super.removeEventListener(t.toString(),r??null,n);let o=this.#t.get(t);o!=null&&(o=o.filter(({callback:i})=>i!==r),this.#t.set(t,o))}dispatchEvent(t){let r=super.dispatchEvent(t),n=this.#t.get(t.type);return n==null||(n=n.filter(({once:o})=>!o),this.#t.set(t.type,n)),r}safeDispatchEvent(t,r){return this.dispatchEvent(new Zt(t,r))}},Uu=class extends Event{detail;constructor(t,r){super(t,r),this.detail=r?.detail}},Zt=globalThis.CustomEvent??Uu;var ei=(e,...t)=>{try{[...t]}catch{}};var mh=Symbol.for("@libp2p/peer-discovery");var gh=Symbol.for("@libp2p/peer-routing");function gE(e){return e[Symbol.asyncIterator]!=null}function yE(e){if(gE(e))return(async()=>{for await(let t of e);})();for(let t of e);}var ps=yE;function Ke(){let e={};return e.promise=new Promise((t,r)=>{e.resolve=t,e.reject=r}),e}var u1=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}},ri=class{size;hwm;head;tail;constructor(t={}){this.hwm=t.splitLimit??16,this.head=new u1(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 r=this.head;this.head=r.next=new u1(2*this.head.buffer.length),this.head.push(t)}}shift(){let t=this.tail.shift();if(t===void 0&&this.tail.next!=null){let r=this.tail.next;this.tail.next=null,this.tail=r,t=this.tail.shift()}return t?.value!=null&&(this.size-=this.calculateSize(t.value)),t}isEmpty(){return this.head.isEmpty()}};var Ou=class extends Error{type;code;constructor(t,r){super(t??"The operation was aborted"),this.type="aborted",this.code=r??"ABORT_ERR"}};function ni(e={}){return xE(r=>{let n=r.shift();if(n==null)return{done:!0};if(n.error!=null)throw n.error;return{done:n.done===!0,value:n.value}},e)}function xE(e,t){t=t??{};let r=t.onEnd,n=new ri,o,i,s,a=Ke(),c=async()=>{try{return n.isEmpty()?s?{done:!0}:await new Promise((g,y)=>{i=x=>{i=null,n.push(x);try{g(e(n))}catch(b){y(b)}return o}}):e(n)}finally{n.isEmpty()&&queueMicrotask(()=>{a.resolve(),a=Ke()})}},u=g=>i!=null?i(g):(n.push(g),o),f=g=>(n=new ri,i!=null?i({error:g}):(n.push({error:g}),o)),l=g=>{if(s)return o;if(t?.objectMode!==!0&&g?.byteLength==null)throw new Error("objectMode was not true but tried to push non-Uint8Array value");return u({done:!1,value:g})},m=g=>s?o:(s=!0,g!=null?f(g):u({done:!0})),d=()=>(n=new ri,m(),{done:!0}),h=g=>(m(g),{done:!0});if(o={[Symbol.asyncIterator](){return this},next:c,return:d,throw:h,push:l,end:m,get readableLength(){return n.size},onEmpty:async g=>{let y=g?.signal;if(y?.throwIfAborted(),n.isEmpty())return;let x,b;y!=null&&(x=new Promise((A,v)=>{b=()=>{v(new Ou)},y.addEventListener("abort",b)}));try{await Promise.race([a.promise,x])}finally{b!=null&&y!=null&&y?.removeEventListener("abort",b)}}},r==null)return o;let p=o;return o={[Symbol.asyncIterator](){return this},next(){return p.next()},throw(g){return p.throw(g),r!=null&&(r(g),r=void 0),{done:!0}},return(){return p.return(),r!=null&&(r(),r=void 0),{done:!0}},push:l,end(g){return p.end(g),r!=null&&(r(g),r=void 0),o},get readableLength(){return p.readableLength},onEmpty:g=>p.onEmpty(g)},o}function bE(e){return e[Symbol.asyncIterator]!=null}function wE(...e){let t=[];for(let r of e)bE(r)||t.push(r);return t.length===e.length?function*(){for(let r of t)yield*r}():async function*(){let r=ni({objectMode:!0});Promise.resolve().then(async()=>{try{await Promise.all(e.map(async n=>{for await(let o of n)r.push(o)})),r.end()}catch(n){r.end(n)}}),yield*r}()}var ur=wE;var Sh=ht(yh(),1);var xh="[a-fA-F\\d:]",Rn=e=>e&&e.includeBoundaries?`(?:(?<=\\s|^)(?=${xh})|(?<=${xh})(?=\\s|$))`:"",fr="(?: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}",te="[a-fA-F\\d]{1,4}",f1=`
|
|
17
|
-
(?:
|
|
18
|
-
(?:${te}:){7}(?:${te}|:)| // 1:2:3:4:5:6:7:: 1:2:3:4:5:6:7:8
|
|
19
|
-
(?:${te}:){6}(?:${fr}|:${te}|:)| // 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
|
|
20
|
-
(?:${te}:){5}(?::${fr}|(?::${te}){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
|
|
21
|
-
(?:${te}:){4}(?:(?::${te}){0,1}:${fr}|(?::${te}){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
|
|
22
|
-
(?:${te}:){3}(?:(?::${te}){0,2}:${fr}|(?::${te}){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
|
|
23
|
-
(?:${te}:){2}(?:(?::${te}){0,3}:${fr}|(?::${te}){1,5}|:)| // 1:2:: 1:2::4:5:6:7:8 1:2::8 1:2::4:5:6:7:1.2.3.4
|
|
24
|
-
(?:${te}:){1}(?:(?::${te}){0,4}:${fr}|(?::${te}){1,6}|:)| // 1:: 1::3:4:5:6:7:8 1::8 1::3:4:5:6:7:1.2.3.4
|
|
25
|
-
(?::(?:(?::${te}){0,5}:${fr}|(?::${te}){1,7}|:)) // ::2:3:4:5:6:7:8 ::2:3:4:5:6:7:8 ::8 ::1.2.3.4
|
|
26
|
-
)(?:%[0-9a-zA-Z]{1,})? // %eth0 %1
|
|
27
|
-
`.replace(/\s*\/\/.*$/gm,"").replace(/\n/g,"").trim(),vE=new RegExp(`(?:^${fr}$)|(?:^${f1}$)`),EE=new RegExp(`^${fr}$`),SE=new RegExp(`^${f1}$`),Fu=e=>e&&e.exact?vE:new RegExp(`(?:${Rn(e)}${fr}${Rn(e)})|(?:${Rn(e)}${f1}${Rn(e)})`,"g");Fu.v4=e=>e&&e.exact?EE:new RegExp(`${Rn(e)}${fr}${Rn(e)}`,"g");Fu.v6=e=>e&&e.exact?SE:new RegExp(`${Rn(e)}${f1}${Rn(e)}`,"g");var bh=Fu;var Ih=ht(vh(),1),{isValid:IE,parse:AE}=Ih.default,TE=["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"],CE=TE.map(e=>new Sh.Netmask(e));function RE(e){for(let t of CE)if(t.contains(e))return!0;return!1}function Eh(e){return/^::$/.test(e)||/^::1$/.test(e)||/^::f{4}:([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})$/.test(e)||/^::f{4}:0.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})$/.test(e)||/^64:ff9b::([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})$/.test(e)||/^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(e)||/^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(e)||/^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(e)||/^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(e)||/^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(e)||/^f[c-d]([0-9a-fA-F]{2,2}):/i.test(e)||/^fe[8-9a-bA-B][0-9a-fA-F]:/i.test(e)||/^ff([0-9a-fA-F]{2,2}):/i.test(e)}var Ah=e=>{if(IE(e)){let t=AE(e);if(t.kind()==="ipv4")return RE(t.toNormalizedString());if(t.kind()==="ipv6")return Eh(e)}else if(_e(e)&&bh.v6().test(e))return Eh(e)};var gs=Ah;var Th="/lan",Ch="/ipfs",Rh="/kad/1.0.0",_h="/dht/record",Mu="/dht/provider";function _E(e){let[t,r]=e[Symbol.asyncIterator]!=null?[e[Symbol.asyncIterator](),Symbol.asyncIterator]:[e[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(),[r](){return this}}}var Bh=_E;function BE(e){return e[Symbol.asyncIterator]!=null}function PE(e,t){if(BE(e))return async function*(){for await(let a of e)yield t(a)}();let r=Bh(e),{value:n,done:o}=r.next();if(o===!0)return function*(){}();let i=t(n);if(typeof i.then=="function")return async function*(){yield await i;for await(let a of r)yield t(a)}();let s=t;return function*(){yield i;for(let a of r)yield s(a)}()}var h1=PE;var d1=globalThis.CustomEvent??Event;async function*ys(e,t={}){let r=t.concurrency??1/0;r<1&&(r=1/0);let n=t.ordered==null?!1:t.ordered,o=new EventTarget,i=[],s=Ke(),a=Ke(),c=!1,u,f=!1;o.addEventListener("task-complete",()=>{a.resolve()}),Promise.resolve().then(async()=>{try{for await(let h of e){if(i.length===r&&(s=Ke(),await s.promise),f)break;let p={done:!1};i.push(p),h().then(g=>{p.done=!0,p.ok=!0,p.value=g,o.dispatchEvent(new d1("task-complete"))},g=>{p.done=!0,p.err=g,o.dispatchEvent(new d1("task-complete"))})}c=!0,o.dispatchEvent(new d1("task-complete"))}catch(h){u=h,o.dispatchEvent(new d1("task-complete"))}});function l(){return n?i[0]?.done:!!i.find(h=>h.done)}function*m(){for(;i.length>0&&i[0].done;){let h=i[0];if(i.shift(),h.ok)yield h.value;else throw f=!0,s.resolve(),h.err;s.resolve()}}function*d(){for(;l();)for(let h=0;h<i.length;h++)if(i[h].done){let p=i[h];if(i.splice(h,1),h--,p.ok)yield p.value;else throw f=!0,s.resolve(),p.err;s.resolve()}}for(;;){if(l()||(a=Ke(),await a.promise),u!=null)throw u;if(n?yield*m():yield*d(),c&&i.length===0)break}}function lr(e,...t){if(e==null)throw new Error("Empty pipeline");if(Vu(e)){let n=e;e=()=>n.source}else if(Nh(e)||Ph(e)){let n=e;e=()=>n}let r=[e,...t];if(r.length>1&&Vu(r[r.length-1])&&(r[r.length-1]=r[r.length-1].sink),r.length>2)for(let n=1;n<r.length-1;n++)Vu(r[n])&&(r[n]=DE(r[n]));return NE(...r)}var NE=(...e)=>{let t;for(;e.length>0;)t=e.shift()(t);return t},Ph=e=>e?.[Symbol.asyncIterator]!=null,Nh=e=>e?.[Symbol.iterator]!=null,Vu=e=>e==null?!1:e.sink!=null&&e.source!=null,DE=e=>t=>{let r=e.sink(t);if(r?.then!=null){let n=ni({objectMode:!0});r.then(()=>{n.end()},s=>{n.end(s)});let o,i=e.source;if(Ph(i))o=async function*(){yield*i,n.end()};else if(Nh(i))o=function*(){yield*i,n.end()};else throw new Error("Unknown duplex source type - must be Iterable or AsyncIterable");return ur(n,o())}return e.source};var Qk=Symbol.for("@libp2p/connection");var Wk=Symbol.for("@libp2p/content-routing");var jk=Symbol.for("@libp2p/peer-discovery");var tU=Symbol.for("@libp2p/peer-id");var rU=Symbol.for("@libp2p/peer-routing");var Dh;(function(e){e.Accept="accept",e.Ignore="ignore",e.Reject="reject"})(Dh||(Dh={}));var sU=Symbol.for("@libp2p/transport");var Lh;(function(e){e[e.FATAL_ALL=0]="FATAL_ALL",e[e.NO_FATAL=1]="NO_FATAL"})(Lh||(Lh={}));var p1=class extends Error{code;props;constructor(t,r,n){super(t),this.code=r,this.name=n?.name??"CodeError",this.props=n??{}}};var Ku=class extends Event{detail;constructor(t,r){super(t,r),this.detail=r?.detail}},hU=globalThis.CustomEvent??Ku;var kh=$o,LE=Ho,qu=function(e){let t=0;if(e=e.toString().trim(),kh(e)){let r=new Uint8Array(t+4);return e.split(/\./g).forEach(n=>{r[t++]=parseInt(n,10)&255}),r}if(LE(e)){let r=e.split(":",8),n;for(n=0;n<r.length;n++){let i=kh(r[n]),s;i&&(s=qu(r[n]),r[n]=M(s.slice(0,2),"base16")),s!=null&&++n<8&&r.splice(n,0,M(s.slice(2,4),"base16"))}if(r[0]==="")for(;r.length<8;)r.unshift("0");else if(r[r.length-1]==="")for(;r.length<8;)r.push("0");else if(r.length<8){for(n=0;n<r.length&&r[n]!=="";n++);let i=[n,1];for(n=9-r.length;n>0;n--)i.push("0");r.splice.apply(r,i)}let o=new Uint8Array(t+16);for(n=0;n<r.length;n++){let i=parseInt(r[n],16);o[t++]=i>>8&255,o[t++]=i&255}return o}throw new Error("invalid ip address")},Uh=function(e,t=0,r){t=~~t,r=r??e.length-t;let n=new DataView(e.buffer);if(r===4){let o=[];for(let i=0;i<r;i++)o.push(e[t+i]);return o.join(".")}if(r===16){let o=[];for(let i=0;i<r;i+=2)o.push(n.getUint16(t+i).toString(16));return o.join(":").replace(/(^|:)0(:0)*:0(:|$)/,"$1::$3").replace(/:{3,4}/,"::")}return""};var oi={},zu={},UE=[[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"]];UE.forEach(e=>{let t=OE(...e);zu[t.code]=t,oi[t.name]=t});function OE(e,t,r,n,o){return{code:e,size:t,name:r,resolvable:!!n,path:!!o}}function It(e){if(typeof e=="number"){if(zu[e]!=null)return zu[e];throw new Error(`no protocol with code: ${e}`)}else if(typeof e=="string"){if(oi[e]!=null)return oi[e];throw new Error(`no protocol with name: ${e}`)}throw new Error(`invalid protocol id type: ${typeof e}`)}var ZU=It("ip4"),XU=It("ip6"),jU=It("ipcidr");function Hu(e,t){switch(It(e).code){case 4:case 41:return ME(t);case 42:return Mh(t);case 6:case 273:case 33:case 132:return Kh(t).toString();case 53:case 54:case 55:case 56:case 400:case 449:case 777:return Mh(t);case 421:return zE(t);case 444:return Vh(t);case 445:return Vh(t);case 466:return qE(t);default:return M(t,"base16")}}function Gu(e,t){switch(It(e).code){case 4:return Oh(t);case 41:return Oh(t);case 42:return Fh(t);case 6:case 273:case 33:case 132:return Qu(parseInt(t,10));case 53:case 54:case 55:case 56:case 400:case 449:case 777:return Fh(t);case 421:return VE(t);case 444:return $E(t);case 445:return HE(t);case 466:return KE(t);default:return at(t,"base16")}}var $u=Object.values(on).map(e=>e.decoder),FE=function(){let e=$u[0].or($u[1]);return $u.slice(2).forEach(t=>e=e.or(t)),e}();function Oh(e){if(!_e(e))throw new Error("invalid ip address");return qu(e)}function ME(e){let t=Uh(e,0,e.length);if(t==null)throw new Error("ipBuff is required");if(!_e(t))throw new Error("invalid ip address");return t}function Qu(e){let t=new ArrayBuffer(2);return new DataView(t).setUint16(0,e),new Uint8Array(t)}function Kh(e){return new DataView(e.buffer).getUint16(e.byteOffset)}function Fh(e){let t=at(e),r=Uint8Array.from(ge(t.length));return J([r,t],r.length+t.length)}function Mh(e){let t=ce(e);if(e=e.slice(Yt(t)),e.length!==t)throw new Error("inconsistent lengths");return M(e)}function VE(e){let t;e[0]==="Q"||e[0]==="1"?t=Br($t.decode(`z${e}`)).bytes:t=Ht.parse(e).multihash.bytes;let r=Uint8Array.from(ge(t.length));return J([r,t],r.length+t.length)}function KE(e){let t=FE.decode(e),r=Uint8Array.from(ge(t.length));return J([r,t],r.length+t.length)}function qE(e){let t=ce(e),r=e.slice(Yt(t));if(r.length!==t)throw new Error("inconsistent lengths");return"u"+M(r,"base64url")}function zE(e){let t=ce(e),r=e.slice(Yt(t));if(r.length!==t)throw new Error("inconsistent lengths");return M(r,"base58btc")}function $E(e){let t=e.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 r=Xe.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=Qu(n);return J([r,o],r.length+o.length)}function HE(e){let t=e.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 r=Xe.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=Qu(n);return J([r,o],r.length+o.length)}function Vh(e){let t=e.slice(0,e.length-2),r=e.slice(e.length-2),n=M(t,"base32"),o=Kh(r);return`${n}:${o}`}function qh(e){e=Yu(e);let t=[],r=[],n=null,o=e.split("/").slice(1);if(o.length===1&&o[0]==="")return{bytes:new Uint8Array,string:"/",tuples:[],stringTuples:[],path:null};for(let i=0;i<o.length;i++){let s=o[i],a=It(s);if(a.size===0){t.push([a.code]),r.push([a.code]);continue}if(i++,i>=o.length)throw $h("invalid address: "+e);if(a.path===!0){n=Yu(o.slice(i).join("/")),t.push([a.code,Gu(a.code,n)]),r.push([a.code,n]);break}let c=Gu(a.code,o[i]);t.push([a.code,c]),r.push([a.code,Hu(a.code,c)])}return{string:zh(r),bytes:Zu(t),tuples:t,stringTuples:r,path:n}}function Wu(e){let t=[],r=[],n=null,o=0;for(;o<e.length;){let i=ce(e,o),s=Yt(i),a=It(i),c=GE(a,e.slice(o+s));if(c===0){t.push([i]),r.push([i]),o+=s;continue}let u=e.slice(o+s,o+s+c);if(o+=c+s,o>e.length)throw $h("Invalid address Uint8Array: "+M(e,"base16"));t.push([i,u]);let f=Hu(i,u);if(r.push([i,f]),a.path===!0){n=f;break}}return{bytes:Uint8Array.from(e),string:zh(r),tuples:t,stringTuples:r,path:n}}function zh(e){let t=[];return e.map(r=>{let n=It(r[0]);return t.push(n.name),r.length>1&&r[1]!=null&&t.push(r[1]),null}),Yu(t.join("/"))}function Zu(e){return J(e.map(t=>{let r=It(t[0]),n=Uint8Array.from(ge(r.code));return t.length>1&&t[1]!=null&&(n=J([n,t[1]])),n}))}function GE(e,t){if(e.size>0)return e.size/8;if(e.size===0)return 0;{let r=ce(t instanceof Uint8Array?t:Uint8Array.from(t));return r+Yt(r)}}function Yu(e){return"/"+e.trim().split("/").filter(t=>t).join("/")}function $h(e){return new Error("Error parsing address: "+e)}var QE=Symbol.for("nodejs.util.inspect.custom"),Xu=Symbol.for("@multiformats/js-multiaddr/multiaddr"),YE=[It("dns").code,It("dns4").code,It("dns6").code,It("dnsaddr").code],m1=class e{bytes;#t;#e;#r;#n;[Xu]=!0;constructor(t){t==null&&(t="");let r;if(t instanceof Uint8Array)r=Wu(t);else if(typeof t=="string"){if(t.length>0&&t.charAt(0)!=="/")throw new Error(`multiaddr "${t}" must start with a "/"`);r=qh(t)}else if(Gh(t))r=Wu(t.bytes);else throw new Error("addr must be a string, Buffer, or another Multiaddr");this.bytes=r.bytes,this.#t=r.string,this.#e=r.tuples,this.#r=r.stringTuples,this.#n=r.path}toString(){return this.#t}toJSON(){return this.toString()}toOptions(){let t,r,n,o,i="",s=It("tcp"),a=It("udp"),c=It("ip4"),u=It("ip6"),f=It("dns6"),l=It("ip6zone");for(let[d,h]of this.stringTuples())d===l.code&&(i=`%${h??""}`),YE.includes(d)&&(r=s.name,o=443,n=`${h??""}${i}`,t=d===f.code?6:4),(d===s.code||d===a.code)&&(r=It(d).name,o=parseInt(h??"")),(d===c.code||d===u.code)&&(r=It(d).name,n=`${h??""}${i}`,t=d===u.code?6:4);if(t==null||r==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:r,port:o}}protos(){return this.#e.map(([t])=>Object.assign({},It(t)))}protoCodes(){return this.#e.map(([t])=>t)}protoNames(){return this.#e.map(([t])=>It(t).name)}tuples(){return this.#e}stringTuples(){return this.#r}encapsulate(t){return t=new e(t),new e(this.toString()+t.toString())}decapsulate(t){let r=t.toString(),n=this.toString(),o=n.lastIndexOf(r);if(o<0)throw new Error(`Address ${this.toString()} does not contain subaddress: ${t.toString()}`);return new e(n.slice(0,o))}decapsulateCode(t){let r=this.tuples();for(let n=r.length-1;n>=0;n--)if(r[n][0]===t)return new e(Zu(r.slice(0,n)));return this}getPeerId(){try{let t=[];this.stringTuples().forEach(([n,o])=>{n===oi.p2p.code&&t.push([n,o]),n===oi["p2p-circuit"].code&&(t=[])});let r=t.pop();if(r?.[1]!=null){let n=r[1];return n[0]==="Q"||n[0]==="1"?M($t.decode(`z${n}`),"base58btc"):M(Ht.parse(n).multihash.bytes,"base58btc")}return null}catch{return null}}getPath(){return this.#n}equals(t){return dt(this.bytes,t.bytes)}async resolve(t){let r=this.protos().find(i=>i.resolvable);if(r==null)return[this];let n=Hh.get(r.name);if(n==null)throw new p1(`no available resolver for ${r.name}`,"ERR_NO_AVAILABLE_RESOLVER");return(await n(this,t)).map(i=>new e(i))}nodeAddress(){let t=this.toOptions();if(t.transport!=="tcp"&&t.transport!=="udp")throw new Error(`multiaddr must have a valid format - no protocol with name: "${t.transport}". Must have a valid transport protocol: "{tcp, udp}"`);return{family:t.family,address:t.host,port:t.port}}isThinWaistAddress(t){let r=(t??this).protos();return!(r.length!==2||r[0].code!==4&&r[0].code!==41||r[1].code!==6&&r[1].code!==273)}[QE](){return`Multiaddr(${this.#t})`}};var Hh=new Map;function Gh(e){return!!e?.[Xu]}function ju(e){return new m1(e)}var xs;(function(e){let t;e.codec=()=>(t==null&&(t=Ge((r,n,o={})=>{o.lengthDelimited!==!1&&n.fork(),r.key!=null&&r.key.byteLength>0&&(n.uint32(10),n.bytes(r.key)),r.value!=null&&r.value.byteLength>0&&(n.uint32(18),n.bytes(r.value)),r.timeReceived!=null&&r.timeReceived!==""&&(n.uint32(42),n.string(r.timeReceived)),o.lengthDelimited!==!1&&n.ldelim()},(r,n)=>{let o={key:new Uint8Array(0),value:new Uint8Array(0),timeReceived:""},i=n==null?r.len:r.pos+n;for(;r.pos<i;){let s=r.uint32();switch(s>>>3){case 1:o.key=r.bytes();break;case 2:o.value=r.bytes();break;case 5:o.timeReceived=r.string();break;default:r.skipType(s&7);break}}return o})),t),e.encode=r=>He(r,e.codec()),e.decode=r=>$e(r,e.codec())})(xs||(xs={}));function Qh(e){let t=e.getUTCFullYear(),r=String(e.getUTCMonth()+1).padStart(2,"0"),n=String(e.getUTCDate()).padStart(2,"0"),o=String(e.getUTCHours()).padStart(2,"0"),i=String(e.getUTCMinutes()).padStart(2,"0"),s=String(e.getUTCSeconds()).padStart(2,"0"),a=e.getUTCMilliseconds(),c=String(a*1e3*1e3).padStart(9,"0");return`${t}-${r}-${n}T${o}:${i}:${s}.${c}Z`}function Yh(e){let t=new RegExp("(\\d{4})-(\\d{2})-(\\d{2})T(\\d{2}):(\\d{2}):(\\d{2})\\.(\\d+)Z"),r=String(e).trim().match(t);if(r==null)throw new Error("Invalid format");let n=parseInt(r[1],10),o=parseInt(r[2],10)-1,i=parseInt(r[3],10),s=parseInt(r[4],10),a=parseInt(r[5],10),c=parseInt(r[6],10),u=parseInt(r[7].slice(0,-6),10);return new Date(Date.UTC(n,o,i,s,a,c,u))}var Xt=class e{key;value;timeReceived;constructor(t,r,n){if(!(t instanceof Uint8Array))throw new Error("key must be a Uint8Array");if(!(r instanceof Uint8Array))throw new Error("value must be a Uint8Array");this.key=t,this.value=r,this.timeReceived=n}serialize(){return xs.encode(this.prepareSerialize())}prepareSerialize(){return{key:this.key,value:this.value,timeReceived:Qh(this.timeReceived)}}static deserialize(t){let r=xs.decode(t);return new e(r.key,r.value,new Date(r.timeReceived))}static fromDeserialized(t){let r=Yh(t.timeReceived);if(t.key==null)throw new Error("key missing from deserialized object");if(t.value==null)throw new Error("value missing from deserialized object");return new e(t.key,t.value,r)}};var Wh;(function(e){let t;e.codec=()=>(t==null&&(t=Ge((r,n,o={})=>{o.lengthDelimited!==!1&&n.fork(),r.key!=null&&(n.uint32(10),n.bytes(r.key)),r.value!=null&&(n.uint32(18),n.bytes(r.value)),r.author!=null&&(n.uint32(26),n.bytes(r.author)),r.signature!=null&&(n.uint32(34),n.bytes(r.signature)),r.timeReceived!=null&&(n.uint32(42),n.string(r.timeReceived)),o.lengthDelimited!==!1&&n.ldelim()},(r,n)=>{let o={},i=n==null?r.len:r.pos+n;for(;r.pos<i;){let s=r.uint32();switch(s>>>3){case 1:o.key=r.bytes();break;case 2:o.value=r.bytes();break;case 3:o.author=r.bytes();break;case 4:o.signature=r.bytes();break;case 5:o.timeReceived=r.string();break;default:r.skipType(s&7);break}}return o})),t),e.encode=r=>He(r,e.codec()),e.decode=r=>$e(r,e.codec())})(Wh||(Wh={}));var _n;(function(e){let t;(function(a){a.PUT_VALUE="PUT_VALUE",a.GET_VALUE="GET_VALUE",a.ADD_PROVIDER="ADD_PROVIDER",a.GET_PROVIDERS="GET_PROVIDERS",a.FIND_NODE="FIND_NODE",a.PING="PING"})(t=e.MessageType||(e.MessageType={}));let r;(function(a){a[a.PUT_VALUE=0]="PUT_VALUE",a[a.GET_VALUE=1]="GET_VALUE",a[a.ADD_PROVIDER=2]="ADD_PROVIDER",a[a.GET_PROVIDERS=3]="GET_PROVIDERS",a[a.FIND_NODE=4]="FIND_NODE",a[a.PING=5]="PING"})(r||(r={})),function(a){a.codec=()=>mn(r)}(t=e.MessageType||(e.MessageType={}));let n;(function(a){a.NOT_CONNECTED="NOT_CONNECTED",a.CONNECTED="CONNECTED",a.CAN_CONNECT="CAN_CONNECT",a.CANNOT_CONNECT="CANNOT_CONNECT"})(n=e.ConnectionType||(e.ConnectionType={}));let o;(function(a){a[a.NOT_CONNECTED=0]="NOT_CONNECTED",a[a.CONNECTED=1]="CONNECTED",a[a.CAN_CONNECT=2]="CAN_CONNECT",a[a.CANNOT_CONNECT=3]="CANNOT_CONNECT"})(o||(o={})),function(a){a.codec=()=>mn(o)}(n=e.ConnectionType||(e.ConnectionType={}));let i;(function(a){let c;a.codec=()=>(c==null&&(c=Ge((u,f,l={})=>{if(l.lengthDelimited!==!1&&f.fork(),u.id!=null&&(f.uint32(10),f.bytes(u.id)),u.addrs!=null)for(let m of u.addrs)f.uint32(18),f.bytes(m);u.connection!=null&&(f.uint32(24),e.ConnectionType.codec().encode(u.connection,f)),l.lengthDelimited!==!1&&f.ldelim()},(u,f)=>{let l={addrs:[]},m=f==null?u.len:u.pos+f;for(;u.pos<m;){let d=u.uint32();switch(d>>>3){case 1:l.id=u.bytes();break;case 2:l.addrs.push(u.bytes());break;case 3:l.connection=e.ConnectionType.codec().decode(u);break;default:u.skipType(d&7);break}}return l})),c),a.encode=u=>He(u,a.codec()),a.decode=u=>$e(u,a.codec())})(i=e.Peer||(e.Peer={}));let s;e.codec=()=>(s==null&&(s=Ge((a,c,u={})=>{if(u.lengthDelimited!==!1&&c.fork(),a.type!=null&&(c.uint32(8),e.MessageType.codec().encode(a.type,c)),a.clusterLevelRaw!=null&&(c.uint32(80),c.int32(a.clusterLevelRaw)),a.key!=null&&(c.uint32(18),c.bytes(a.key)),a.record!=null&&(c.uint32(26),c.bytes(a.record)),a.closerPeers!=null)for(let f of a.closerPeers)c.uint32(66),e.Peer.codec().encode(f,c);if(a.providerPeers!=null)for(let f of a.providerPeers)c.uint32(74),e.Peer.codec().encode(f,c);u.lengthDelimited!==!1&&c.ldelim()},(a,c)=>{let u={closerPeers:[],providerPeers:[]},f=c==null?a.len:a.pos+c;for(;a.pos<f;){let l=a.uint32();switch(l>>>3){case 1:u.type=e.MessageType.codec().decode(a);break;case 10:u.clusterLevelRaw=a.int32();break;case 2:u.key=a.bytes();break;case 3:u.record=a.bytes();break;case 8:u.closerPeers.push(e.Peer.codec().decode(a,a.uint32()));break;case 9:u.providerPeers.push(e.Peer.codec().decode(a,a.uint32()));break;default:a.skipType(l&7);break}}return u})),s),e.encode=a=>He(a,e.codec()),e.decode=a=>$e(a,e.codec())})(_n||(_n={}));var jt=_n.MessageType,ZE=_n.ConnectionType,jh=Object.keys(jt),zt=class e{type;key;clusterLevelRaw;closerPeers;providerPeers;record;constructor(t,r,n){if(!(r instanceof Uint8Array))throw new Error("Key must be a Uint8Array");this.type=t,this.key=r,this.clusterLevelRaw=n,this.closerPeers=[],this.providerPeers=[],this.record=void 0}get clusterLevel(){let t=this.clusterLevelRaw-1;return t<0?0:t}set clusterLevel(t){this.clusterLevelRaw=t}serialize(){return _n.encode({key:this.key,type:this.type,clusterLevelRaw:this.clusterLevelRaw,closerPeers:this.closerPeers.map(Zh),providerPeers:this.providerPeers.map(Zh),record:this.record==null?void 0:this.record.serialize().subarray()})}static deserialize(t){let r=_n.decode(t),n=new e(r.type??_n.MessageType.PUT_VALUE,r.key??Uint8Array.from([]),r.clusterLevelRaw??0);return n.closerPeers=r.closerPeers.map(Xh),n.providerPeers=r.providerPeers.map(Xh),r.record?.length!=null&&(n.record=Xt.deserialize(r.record)),n}};function Zh(e){return{id:e.id.toBytes(),addrs:(e.multiaddrs??[]).map(r=>r.bytes),connection:ZE.CONNECTED}}function Xh(e){if(e.id==null)throw new Error("Invalid peer in message");return{id:Pr(e.id),multiaddrs:(e.addrs??[]).map(t=>ju(t)),protocols:[]}}function Ju(e,t={}){let r={...e,name:"SEND_QUERY",type:0,messageName:e.type,messageType:jh.indexOf(e.type.toString())};return t.onProgress?.(new Zt("kad-dht:query:send-query",{detail:r})),r}function bs(e,t={}){let r={...e,name:"PEER_RESPONSE",type:1,messageName:e.messageType,closer:e.closer!=null?e.closer:[],providers:e.providers!=null?e.providers:[]};return t.onProgress?.(new Zt("kad-dht:query:peer-response",{detail:r})),r}function g1(e,t={}){let r={...e,name:"FINAL_PEER",type:2};return t.onProgress?.(new Zt("kad-dht:query:final-peer",{detail:r})),r}function Ie(e,t={}){let r={...e,name:"QUERY_ERROR",type:3};return t.onProgress?.(new Zt("kad-dht:query:query-error",{detail:r})),r}function tf(e,t={}){let r={...e,name:"PROVIDER",type:4};return t.onProgress?.(new Zt("kad-dht:query:provider",{detail:r})),r}function ws(e,t={}){let r={...e,name:"VALUE",type:5};return t.onProgress?.(new Zt("kad-dht:query:value",{detail:r})),r}function ef(e,t={}){let r={...e,name:"DIAL_PEER",type:7};return t.onProgress?.(new Zt("kad-dht:query:dial-peer",{detail:r})),r}function Jh(e,t,r){if(r.length===0){let s="No records given";throw new U(s,"ERR_NO_RECORDS_RECEIVED")}let o=M(t).split("/");if(o.length<3){let s="Record key does not have a selector function";throw new U(s,"ERR_NO_SELECTOR_FUNCTION_FOR_RECORD_KEY")}let i=e[o[1].toString()];if(i==null){let s=`No selector function configured for key type "${o[1]}"`;throw new U(s,"ERR_UNRECOGNIZED_KEY_PREFIX")}return r.length===1?0:i(t,r)}function XE(e,t){return 0}var t7={pk:XE};async function ii(e,t){let r=t.key,o=M(r).split("/");if(o.length<3)return;let i=e[o[1].toString()];if(i==null){let s=`No validator available for key type "${o[1]}"`;throw new U(s,"ERR_INVALID_RECORD_KEY_TYPE")}await i(r,t.value)}var jE=async(e,t)=>{if(!(e instanceof Uint8Array))throw new U('"key" must be a Uint8Array',"ERR_INVALID_RECORD_KEY_NOT_BUFFER");if(e.byteLength<5)throw new U("invalid public key record","ERR_INVALID_RECORD_KEY_TOO_SHORT");if(M(e.subarray(0,4))!=="/pk/")throw new U("key was not prefixed with /pk/","ERR_INVALID_RECORD_KEY_BAD_PREFIX");let n=e.slice(4),o=await kt.digest(t);if(!dt(n,o.bytes))throw new U("public key does not match passed in key","ERR_INVALID_RECORD_HASH_MISMATCH")},e7={pk:jE};var JE=at("/pk/");function si(e){return{...e,multiaddrs:e.multiaddrs.filter(t=>{let[[r,n]]=t.stringTuples();if(r===53||r===54||r===55)return n!=="localhost";if(r!==4&&r!==6||n==null)return!1;let o=gs(n);return o==null?!0:!o})}}function ai(e){return{...e,multiaddrs:e.multiaddrs.filter(t=>{let[[r,n]]=t.stringTuples();if(n==="localhost")return!0;if(r!==4&&r!==6||n==null)return!1;let o=gs(n);return o??!1})}}async function Bn(e){return(await kt.digest(e)).digest}async function hr(e){return Bn(e.toBytes())}function jr(e){return new Ir(`${_h}/${M(e,"base32")}`,!1)}function r7(e){return J([JE,e.toBytes()])}function n7(e){return M(e.subarray(0,4))==="/pk/"}function o7(e){return Pr(e.subarray(4))}function rf(e,t){let r=new Date;return new Xt(e,t,r).serialize()}function i7(e,t=100){let r;return()=>{clearTimeout(r),r=setTimeout(()=>{e()},t)}}var y1=class{log;components;validators;selectors;peerRouting;queryManager;network;constructor(t,r){let{validators:n,selectors:o,peerRouting:i,queryManager:s,network:a,lan:c}=r;this.components=t,this.log=tt(`libp2p:kad-dht:${c?"lan":"wan"}:content-fetching`),this.validators=n,this.selectors=o,this.peerRouting=i,this.queryManager=s,this.network=a}async putLocal(t,r){let n=jr(t);await this.components.datastore.put(n,r)}async getLocal(t){this.log("getLocal %b",t);let r=jr(t);this.log("fetching record for key %k",r);let n=await this.components.datastore.get(r);this.log("found %k in local datastore",r);let o=Xt.deserialize(n);return await ii(this.validators,o),o}async*sendCorrectionRecord(t,r,n,o={}){this.log("sendCorrection for %b",t);let i=rf(t,n);for(let{value:s,from:a}of r){if(dt(s,n)){this.log("record was ok");continue}if(this.components.peerId.equals(a)){try{let f=jr(t);this.log(`Storing corrected record for key ${f.toString()}`),await this.components.datastore.put(f,i.subarray())}catch(f){this.log.error("Failed error correcting self",f)}continue}let c=!1,u=new zt(jt.PUT_VALUE,t,0);u.record=Xt.deserialize(i);for await(let f of this.network.sendRequest(a,u,o))f.name==="PEER_RESPONSE"&&f.record!=null&&dt(f.record.value,Xt.deserialize(i).value)&&(c=!0),yield f;c||(yield Ie({from:a,error:new U("value not put correctly","ERR_PUT_VALUE_INVALID")},o)),this.log.error("Failed error correcting entry")}}async*put(t,r,n={}){this.log("put key %b value %b",t,r);let o=rf(t,r),i=jr(t);this.log(`storing record for key ${i.toString()}`),await this.components.datastore.put(i,o.subarray()),yield*lr(this.peerRouting.getClosestPeers(t,{signal:n.signal}),s=>h1(s,a=>async()=>{if(a.name!=="FINAL_PEER")return[a];let c=[],u=new zt(jt.PUT_VALUE,t,0);u.record=Xt.deserialize(o),this.log("send put to %p",a.peer.id);for await(let f of this.network.sendRequest(a.peer.id,u,n))c.push(f),f.name==="PEER_RESPONSE"&&(f.record!=null&&dt(f.record.value,Xt.deserialize(o).value)||c.push(Ie({from:a.peer.id,error:new U("value not put correctly","ERR_PUT_VALUE_INVALID")},n)));return c}),s=>ys(s,{ordered:!1,concurrency:3}),async function*(s){for await(let a of s)yield*a})}async*get(t,r={}){this.log("get %b",t);let n=[];for await(let a of this.getMany(t,r))a.name==="VALUE"&&n.push(a),yield a;if(n.length===0)return;let o=n.map(a=>a.value),i=0;try{i=Jh(this.selectors,t,o)}catch(a){if(a.code!=="ERR_NO_SELECTOR_FUNCTION_FOR_RECORD_KEY")throw a}let s=o[i];if(this.log("GetValue %b %b",t,s),s==null)throw new U("best value was not found","ERR_NOT_FOUND");yield*this.sendCorrectionRecord(t,n,s,r),yield n[i]}async*getMany(t,r={}){this.log("getMany values for %b",t);try{let i=await this.getLocal(t);yield ws({value:i.value,from:this.components.peerId},r)}catch(i){this.log("error getting local value for %b",t,i)}let n=this,o=async function*({peer:i,signal:s}){for await(let a of n.peerRouting.getValueOrPeers(i,t,{signal:s}))yield a,a.name==="PEER_RESPONSE"&&a.record!=null&&(yield ws({from:i,value:a.record.value},r))};yield*this.queryManager.run(t,o,r)}};var x1=class{log;components;network;peerRouting;queryManager;routingTable;providers;constructor(t,r){let{network:n,peerRouting:o,queryManager:i,routingTable:s,providers:a,lan:c}=r;this.components=t,this.log=tt(`libp2p:kad-dht:${c?"lan":"wan"}:content-routing`),this.network=n,this.peerRouting=o,this.queryManager=i,this.routingTable=s,this.providers=a}async*provide(t,r,n={}){this.log("provide %s",t),await this.providers.addProvider(t,this.components.peerId);let o=new zt(jt.ADD_PROVIDER,t.multihash.bytes,0);o.providerPeers=[{id:this.components.peerId,multiaddrs:r,protocols:[]}];let i=0,s=a=>async()=>{if(a.name!=="FINAL_PEER")return[a];let c=[];this.log("putProvider %s to %p",t,a.peer.id);try{this.log("sending provider record for %s to %p",t,a.peer.id);for await(let u of this.network.sendMessage(a.peer.id,o,n))u.name==="PEER_RESPONSE"&&(this.log("sent provider record for %s to %p",t,a.peer.id),i++),c.push(u)}catch(u){this.log.error("error sending provide record to peer %p",a.peer.id,u),c.push(Ie({from:a.peer.id,error:u},n))}return c};yield*lr(this.peerRouting.getClosestPeers(t.multihash.bytes,n),a=>h1(a,c=>s(c)),a=>ys(a,{ordered:!1,concurrency:3}),async function*(a){for await(let c of a)yield*c}),this.log("sent provider records to %d peers",i)}async*findProviders(t,r){let n=this.routingTable.kBucketSize,o=t.multihash.bytes,i=this;this.log("findProviders %c",t);let s=await this.providers.getProviders(t);if(s.length>0){let u=[];for(let f of s.slice(0,n))try{let l=await this.components.peerStore.get(f);u.push({id:f,multiaddrs:l.addresses.map(({multiaddr:m})=>m),protocols:l.protocols})}catch(l){if(l.code!=="ERR_NOT_FOUND")throw l;this.log("no peer store entry for %p",f)}yield bs({from:this.components.peerId,messageType:jt.GET_PROVIDERS,providers:u},r),yield tf({from:this.components.peerId,providers:u},r)}if(s.length>=n)return;let a=async function*({peer:u,signal:f}){let l=new zt(jt.GET_PROVIDERS,o,0);yield*i.network.sendRequest(u,l,{...r,signal:f})},c=new Set(s.map(u=>u.toString()));for await(let u of this.queryManager.run(o,a,r))if(yield u,u.name==="PEER_RESPONSE"){this.log("Found %d provider entries for %c and %d closer peers",u.providers.length,t,u.closer.length);let f=[];for(let l of u.providers)c.has(l.id.toString())||(c.add(l.id.toString()),f.push(l));if(f.length>0&&(yield tf({from:u.from,providers:f},r)),c.size===n)return}}};var vs=class extends Error{constructor(t,r){super(t??"The operation was aborted"),this.type="aborted",this.code=r??"ABORT_ERR"}};function s7(e){if(e!=null){if(typeof e[Symbol.iterator]=="function")return e[Symbol.iterator]();if(typeof e[Symbol.asyncIterator]=="function")return e[Symbol.asyncIterator]();if(typeof e.next=="function")return e}throw new Error("argument is not an iterator or iterable")}function a7(e,t,r){let n=r??{},o=s7(e);async function*i(){let s,a=()=>{s?.()};for(t.addEventListener("abort",a);;){let c;try{if(t.aborted){let{abortMessage:f,abortCode:l}=n;throw new vs(f,l)}let u=new Promise((f,l)=>{s=()=>{let{abortMessage:m,abortCode:d}=n;l(new vs(m,d))}});c=await Promise.race([u,o.next()]),s=null}catch(u){t.removeEventListener("abort",a);let f=u.type==="aborted"&&t.aborted;if(f&&n.onAbort!=null&&n.onAbort(e),typeof o.return=="function")try{let l=o.return();l instanceof Promise&&l.catch(m=>{n.onReturnError!=null&&n.onReturnError(m)})}catch(l){n.onReturnError!=null&&n.onReturnError(l)}if(f&&n.returnOnAbort===!0)return;throw u}if(c.done===!0)break;yield c.value}t.removeEventListener("abort",a)}return i()}function tS(e,t,r){return n=>e(a7(n,t,r))}function of(e,t,r){return{sink:tS(e.sink,t,{...r,onAbort:void 0}),source:a7(e.source,t,r)}}function eS(e){return e[Symbol.asyncIterator]!=null}function rS(e){if(eS(e))return(async()=>{for await(let t of e)return t})();for(let t of e)return t}var c7=rS;var f7=Symbol.for("@achingbrain/uint8arraylist");function u7(e,t){if(t==null||t<0)throw new RangeError("index is out of bounds");let r=0;for(let n of e){let o=r+n.byteLength;if(t<o)return{buf:n,index:t-r};r=o}throw new RangeError("index is out of bounds")}function b1(e){return!!e?.[f7]}var ui=class e{bufs;length;[f7]=!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 r=0;for(let n of t)if(n instanceof Uint8Array)r+=n.byteLength,this.bufs.push(n);else if(b1(n))r+=n.byteLength,this.bufs.push(...n.bufs);else throw new Error("Could not append value, must be an Uint8Array or a Uint8ArrayList");this.length+=r}prepend(...t){this.prependAll(t)}prependAll(t){let r=0;for(let n of t.reverse())if(n instanceof Uint8Array)r+=n.byteLength,this.bufs.unshift(n);else if(b1(n))r+=n.byteLength,this.bufs.unshift(...n.bufs);else throw new Error("Could not prepend value, must be an Uint8Array or a Uint8ArrayList");this.length+=r}get(t){let r=u7(this.bufs,t);return r.buf[r.index]}set(t,r){let n=u7(this.bufs,t);n.buf[n.index]=r}write(t,r=0){if(t instanceof Uint8Array)for(let n=0;n<t.length;n++)this.set(r+n,t[n]);else if(b1(t))for(let n=0;n<t.length;n++)this.set(r+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,r){let{bufs:n,length:o}=this._subList(t,r);return J(n,o)}subarray(t,r){let{bufs:n,length:o}=this._subList(t,r);return n.length===1?n[0]:J(n,o)}sublist(t,r){let{bufs:n,length:o}=this._subList(t,r),i=new e;return i.length=o,i.bufs=[...n],i}_subList(t,r){if(t=t??0,r=r??this.length,t<0&&(t=this.length+t),r<0&&(r=this.length+r),t<0||r>this.length)throw new RangeError("index is out of bounds");if(t===r)return{bufs:[],length:0};if(t===0&&r===this.length)return{bufs:this.bufs,length:this.length};let n=[],o=0;for(let i=0;i<this.bufs.length;i++){let s=this.bufs[i],a=o,c=a+s.byteLength;if(o=c,t>=c)continue;let u=t>=a&&t<c,f=r>a&&r<=c;if(u&&f){if(t===a&&r===c){n.push(s);break}let l=t-a;n.push(s.subarray(l,l+(r-t)));break}if(u){if(t===0){n.push(s);continue}n.push(s.subarray(t-a));continue}if(f){if(r===c){n.push(s);break}n.push(s.subarray(0,r-a));break}n.push(s)}return{bufs:n,length:r-t}}indexOf(t,r=0){if(!b1(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(r=Number(r??0),isNaN(r)&&(r=0),r<0&&(r=this.length+r),r<0&&(r=0),t.length===0)return r>this.length?this.length:r;let o=n.byteLength;if(o===0)throw new TypeError("search must be at least 1 byte long");let i=256,s=new Int32Array(i);for(let l=0;l<i;l++)s[l]=-1;for(let l=0;l<o;l++)s[n[l]]=l;let a=s,c=this.byteLength-n.byteLength,u=n.byteLength-1,f;for(let l=r;l<=c;l+=f){f=0;for(let m=u;m>=0;m--){let d=this.get(l+m);if(n[m]!==d){f=Math.max(1,m-a[d]);break}}if(f===0)return l}return-1}getInt8(t){let r=this.subarray(t,t+1);return new DataView(r.buffer,r.byteOffset,r.byteLength).getInt8(0)}setInt8(t,r){let n=se(1);new DataView(n.buffer,n.byteOffset,n.byteLength).setInt8(0,r),this.write(n,t)}getInt16(t,r){let n=this.subarray(t,t+2);return new DataView(n.buffer,n.byteOffset,n.byteLength).getInt16(0,r)}setInt16(t,r,n){let o=kr(2);new DataView(o.buffer,o.byteOffset,o.byteLength).setInt16(0,r,n),this.write(o,t)}getInt32(t,r){let n=this.subarray(t,t+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getInt32(0,r)}setInt32(t,r,n){let o=kr(4);new DataView(o.buffer,o.byteOffset,o.byteLength).setInt32(0,r,n),this.write(o,t)}getBigInt64(t,r){let n=this.subarray(t,t+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getBigInt64(0,r)}setBigInt64(t,r,n){let o=kr(8);new DataView(o.buffer,o.byteOffset,o.byteLength).setBigInt64(0,r,n),this.write(o,t)}getUint8(t){let r=this.subarray(t,t+1);return new DataView(r.buffer,r.byteOffset,r.byteLength).getUint8(0)}setUint8(t,r){let n=se(1);new DataView(n.buffer,n.byteOffset,n.byteLength).setUint8(0,r),this.write(n,t)}getUint16(t,r){let n=this.subarray(t,t+2);return new DataView(n.buffer,n.byteOffset,n.byteLength).getUint16(0,r)}setUint16(t,r,n){let o=kr(2);new DataView(o.buffer,o.byteOffset,o.byteLength).setUint16(0,r,n),this.write(o,t)}getUint32(t,r){let n=this.subarray(t,t+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getUint32(0,r)}setUint32(t,r,n){let o=kr(4);new DataView(o.buffer,o.byteOffset,o.byteLength).setUint32(0,r,n),this.write(o,t)}getBigUint64(t,r){let n=this.subarray(t,t+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getBigUint64(0,r)}setBigUint64(t,r,n){let o=kr(8);new DataView(o.buffer,o.byteOffset,o.byteLength).setBigUint64(0,r,n),this.write(o,t)}getFloat32(t,r){let n=this.subarray(t,t+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getFloat32(0,r)}setFloat32(t,r,n){let o=kr(4);new DataView(o.buffer,o.byteOffset,o.byteLength).setFloat32(0,r,n),this.write(o,t)}getFloat64(t,r){let n=this.subarray(t,t+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getFloat64(0,r)}setFloat64(t,r,n){let o=kr(8);new DataView(o.buffer,o.byteOffset,o.byteLength).setFloat64(0,r,n),this.write(o,t)}equals(t){if(t==null||!(t instanceof e)||t.bufs.length!==this.bufs.length)return!1;for(let r=0;r<this.bufs.length;r++)if(!dt(this.bufs[r],t.bufs[r]))return!1;return!0}static fromUint8Arrays(t,r){let n=new e;return n.bufs=t,r==null&&(r=t.reduce((o,i)=>o+i.byteLength,0)),n.length=r,n}};function w1(e){return e[Symbol.asyncIterator]!=null}var v1=e=>{let t=Yt(e),r=se(t);return ge(e,r),v1.bytes=t,r};v1.bytes=0;function oo(e,t){t=t??{};let r=t.lengthEncoder??v1;function*n(o){let i=r(o.byteLength);i instanceof Uint8Array?yield i:yield*i,o instanceof Uint8Array?yield o:yield*o}return w1(e)?async function*(){for await(let o of e)yield*n(o)}():function*(){for(let o of e)yield*n(o)}()}oo.single=(e,t)=>{t=t??{};let r=t.lengthEncoder??v1;return new ui(r(e.byteLength),e)};var fi=ht(Do(),1);var nS=8,oS=1024*1024*4,io;(function(e){e[e.LENGTH=0]="LENGTH",e[e.DATA=1]="DATA"})(io||(io={}));var sf=e=>{let t=ce(e);return sf.bytes=Yt(t),t};sf.bytes=0;function so(e,t){let r=new ui,n=io.LENGTH,o=-1,i=t?.lengthDecoder??sf,s=t?.maxLengthLength??nS,a=t?.maxDataLength??oS;function*c(){for(;r.byteLength>0;){if(n===io.LENGTH)try{if(o=i(r),o<0)throw(0,fi.default)(new Error("invalid message length"),"ERR_INVALID_MSG_LENGTH");if(o>a)throw(0,fi.default)(new Error("message length too long"),"ERR_MSG_DATA_TOO_LONG");let u=i.bytes;r.consume(u),t?.onLength!=null&&t.onLength(o),n=io.DATA}catch(u){if(u instanceof RangeError){if(r.byteLength>s)throw(0,fi.default)(new Error("message length length too long"),"ERR_MSG_LENGTH_TOO_LONG");break}throw u}if(n===io.DATA){if(r.byteLength<o)break;let u=r.sublist(0,o);r.consume(o),t?.onData!=null&&t.onData(u),yield u,n=io.LENGTH}}}return w1(e)?async function*(){for await(let u of e)r.append(u),yield*c();if(r.byteLength>0)throw(0,fi.default)(new Error("unexpected end of input"),"ERR_UNEXPECTED_EOF")}():function*(){for(let u of e)r.append(u),yield*c();if(r.byteLength>0)throw(0,fi.default)(new Error("unexpected end of input"),"ERR_UNEXPECTED_EOF")}()}so.fromReader=(e,t)=>{let r=1,n=async function*(){for(;;)try{let{done:i,value:s}=await e.next(r);if(i===!0)return;s!=null&&(yield s)}catch(i){if(i.code==="ERR_UNDER_READ")return{done:!0,value:null};throw i}finally{r=1}}();return so(n,{...t??{},onLength:i=>{r=i}})};var E1=class extends xe{log;protocol;running;components;constructor(t,r){super();let{protocol:n,lan:o}=r;this.components=t,this.log=tt(`libp2p:kad-dht:${o?"lan":"wan"}:network`),this.running=!1,this.protocol=n}async start(){this.running||(this.running=!0)}async stop(){this.running=!1}isStarted(){return this.running}async*sendRequest(t,r,n={}){if(!this.running)return;this.log("sending %s to %p",r.type,t),yield ef({peer:t},n),yield Ju({to:t,type:r.type},n);let o;try{let s=await(await this.components.connectionManager.openConnection(t,n)).newStream(this.protocol,n),a=await this._writeReadMessage(s,r.serialize(),n);yield bs({from:t,messageType:a.type,closer:a.closerPeers,providers:a.providerPeers,record:a.record},n)}catch(i){yield Ie({from:t,error:i},n)}finally{o!=null&&await o.close()}}async*sendMessage(t,r,n={}){if(!this.running)return;this.log("sending %s to %p",r.type,t),yield ef({peer:t},n),yield Ju({to:t,type:r.type},n);let o;try{let s=await(await this.components.connectionManager.openConnection(t,n)).newStream(this.protocol,n);await this._writeMessage(s,r.serialize(),n),yield bs({from:t,messageType:r.type},n)}catch(i){yield Ie({from:t,error:i},n)}finally{o!=null&&await o.close()}}async _writeMessage(t,r,n){n.signal!=null&&(t=of(t,n.signal)),await lr([r],o=>oo(o),t,ps)}async _writeReadMessage(t,r,n){n.signal!=null&&(t=of(t,n.signal));let o=await lr([r],s=>oo(s),t,s=>so(s),async s=>{let a=await c7(s);if(a!=null)return a;throw new U("No message received","ERR_NO_MESSAGE_RECEIVED")}),i=zt.deserialize(o);return i.closerPeers.forEach(s=>{this.dispatchEvent(new Zt("peer",{detail:s}))}),i.providerPeers.forEach(s=>{this.dispatchEvent(new Zt("peer",{detail:s}))}),i}};var tM=ht(Ms(),1),iS=ht(St(),1);var cS=ht(_a(),1),uS=ht(Gt(),1);function S1(e,t){if(globalThis.Buffer!=null)return globalThis.Buffer.compare(e,t);for(let r=0;r<e.byteLength;r++){if(e[r]<t[r])return-1;if(e[r]>t[r])return 1}return e.byteLength>t.byteLength?1:e.byteLength<t.byteLength?-1:0}function Jr(e,t){if(e.length!==t.length)throw new Error("Inputs should have the same length");let r=se(e.length);for(let n=0;n<e.length;n++)r[n]=e[n]^t[n];return vr(r)}var I1=class{originDhtKey;capacity;peerDistances;constructor(t,r){this.originDhtKey=t,this.capacity=r,this.peerDistances=[]}get length(){return this.peerDistances.length}get peers(){return this.peerDistances.map(t=>t.peerId)}async add(t){if(this.peerDistances.find(o=>o.peerId.equals(t))!=null)return;let r=await hr(t),n={peerId:t,distance:Jr(this.originDhtKey,r)};this.peerDistances.push(n),this.peerDistances.sort((o,i)=>S1(o.distance,i.distance)),this.peerDistances=this.peerDistances.slice(0,this.capacity)}async anyCloser(t){if(t.length===0)return!1;if(this.length===0)return!0;let r=await Promise.all(t.map(hr)),n=this.peerDistances[this.peerDistances.length-1].distance;for(let o of r){let i=Jr(this.originDhtKey,o);if(S1(i,n)<0)return!0}return!1}};var A1=class{components;log;routingTable;network;validators;queryManager;constructor(t,r){let{routingTable:n,network:o,validators:i,queryManager:s,lan:a}=r;this.components=t,this.routingTable=n,this.network=o,this.validators=i,this.queryManager=s,this.log=tt(`libp2p:kad-dht:${a?"lan":"wan"}:peer-routing`)}async findPeerLocal(t){let r,n=await this.routingTable.find(t);if(n!=null){this.log("findPeerLocal found %p in routing table",t);try{r=await this.components.peerStore.get(n)}catch(o){if(o.code!=="ERR_NOT_FOUND")throw o}}if(r==null)try{r=await this.components.peerStore.get(t)}catch(o){if(o.code!=="ERR_NOT_FOUND")throw o}if(r!=null)return this.log("findPeerLocal found %p in peer store",t),{id:r.id,multiaddrs:r.addresses.map(o=>o.multiaddr),protocols:[]}}async*_getValueSingle(t,r,n={}){let o=new zt(jt.GET_VALUE,r,0);yield*this.network.sendRequest(t,o,n)}async*getPublicKeyFromNode(t,r={}){let n=r7(t);for await(let o of this._getValueSingle(t,n,r))if(yield o,o.name==="PEER_RESPONSE"&&o.record!=null){let i=await Ns(E0.marshalPublicKey({bytes:o.record.value}));if(!i.equals(t))throw new U("public key does not match id","ERR_PUBLIC_KEY_DOES_NOT_MATCH_ID");if(i.publicKey==null)throw new U("public key missing","ERR_PUBLIC_KEY_MISSING");yield ws({from:t,value:i.publicKey},r)}throw new U(`Node not responding with its public key: ${t.toString()}`,"ERR_INVALID_RECORD")}async*findPeer(t,r={}){this.log("findPeer %p",t);let n=await this.findPeerLocal(t);if(n!=null){this.log("found local"),yield g1({from:this.components.peerId,peer:n},r);return}let o=this,i=async function*({peer:a,signal:c}){let u=new zt(jt.FIND_NODE,t.toBytes(),0);for await(let f of o.network.sendRequest(a,u,{...r,signal:c}))if(yield f,f.name==="PEER_RESPONSE"){let l=f.closer.find(m=>m.id.equals(t));l!=null&&(yield g1({from:f.from,peer:l},r))}},s=!1;for await(let a of this.queryManager.run(t.toBytes(),i,r))a.name==="FINAL_PEER"&&(s=!0),yield a;s||(yield Ie({from:this.components.peerId,error:new U("Not found","ERR_NOT_FOUND")},r))}async*getClosestPeers(t,r={}){this.log("getClosestPeers to %b",t);let n=await Bn(t),o=this.routingTable.closestPeers(n),i=this,s=new I1(n,this.routingTable.kBucketSize);await Promise.all(o.map(async c=>{await s.add(c)}));let a=async function*({peer:c,signal:u}){i.log("closerPeersSingle %s from %p",M(t,"base32"),c);let f=new zt(jt.FIND_NODE,t,0);yield*i.network.sendRequest(c,f,{...r,signal:u})};for await(let c of this.queryManager.run(t,a,r))yield c,c.name==="PEER_RESPONSE"&&await Promise.all(c.closer.map(async u=>{await s.add(u.id)}));this.log("found %d peers close to %b",s.length,t);for(let c of s.peers)try{let u=await this.components.peerStore.get(c);yield g1({from:this.components.peerId,peer:{id:c,multiaddrs:u.addresses.map(({multiaddr:f})=>f),protocols:u.protocols}},r)}catch(u){if(u.code!=="ERR_NOT_FOUND")throw u}}async*getValueOrPeers(t,r,n={}){for await(let o of this._getValueSingle(t,r,n)){if(o.name==="PEER_RESPONSE"&&o.record!=null)try{await this._verifyRecordOnline(o.record)}catch{let s="invalid record received, discarded";this.log(s),yield Ie({from:o.from,error:new U(s,"ERR_INVALID_RECORD")},n);continue}yield o}}async _verifyRecordOnline(t){if(t.timeReceived==null)throw new U("invalid record received","ERR_INVALID_RECORD");await ii(this.validators,new Xt(t.key,t.value,t.timeReceived))}async getCloserPeersOffline(t,r){let n=await Bn(t),o=this.routingTable.closestPeers(n),i=[];for(let s of o)if(!s.equals(r))try{let a=await this.components.peerStore.get(s);i.push({id:s,multiaddrs:a.addresses.map(({multiaddr:c})=>c),protocols:a.protocols})}catch(a){if(a.code!=="ERR_NOT_FOUND")throw a}return i.length>0?this.log("getCloserPeersOffline found %d peer(s) closer to %b than %p",i.length,t,r):this.log("getCloserPeersOffline could not find peer closer to %b than %p",t,r),i}};var h7=ht(Lu(),1);var tn=tt("libp2p:kad-dht:providers"),T1=class{components;cache;cleanupInterval;provideValidity;syncQueue;started;cleaner;constructor(t,r={}){let{cacheSize:n,cleanupInterval:o,provideValidity:i}=r;this.components=t,this.cleanupInterval=o??36e5,this.provideValidity=i??864e5,this.cache=(0,h7.default)(n??256),this.syncQueue=new Cn({concurrency:1}),this.started=!1}isStarted(){return this.started}async start(){this.started||(this.started=!0,this.cleaner=setInterval(()=>{this._cleanup().catch(t=>{tn.error(t)})},this.cleanupInterval))}async stop(){this.started=!1,this.cleaner!=null&&(clearInterval(this.cleaner),this.cleaner=void 0)}async _cleanup(){await this.syncQueue.add(async()=>{let t=Date.now(),r=0,n=0,o=new Map,i=this.components.datastore.batch(),s=this.components.datastore.query({prefix:Mu});for await(let a of s)try{let{cid:c,peerId:u}=d7(a.key),f=p7(a.value).getTime(),l=Date.now(),m=l-f,d=m>this.provideValidity;if(tn("comparing: %d - %d = %d > %d %s",l,f,m,this.provideValidity,d?"(expired)":""),d){n++,i.delete(a.key);let h=o.get(c)??new Set;h.add(u),o.set(c,h)}r++}catch(c){tn.error(c.message)}o.size>0?(tn("deleting %d / %d entries",n,r),await i.commit()):tn("nothing to delete");for(let[a,c]of o){let u=Es(a),f=this.cache.get(u);if(f!=null){for(let l of c)f.delete(l);f.size===0?this.cache.remove(u):this.cache.set(u,f)}}tn("Cleanup successful (%dms)",Date.now()-t)})}async _getProvidersMap(t){let r=Es(t),n=this.cache.get(r);return n==null&&(n=await pS(this.components.datastore,t),this.cache.set(r,n)),n}async addProvider(t,r){await this.syncQueue.add(async()=>{tn("%p provides %s",r,t);let n=await this._getProvidersMap(t);tn("loaded %s provs",n.size);let o=new Date;n.set(r.toString(),o);let i=Es(t);this.cache.set(i,n),await dS(this.components.datastore,t,r,o)})}async getProviders(t){return this.syncQueue.add(async()=>(tn("get providers for %s",t),[...(await this._getProvidersMap(t)).keys()].map(n=>Pt(n))),{throwOnTimeout:!0})}};function Es(e){let t=typeof e=="string"?e:M(e.multihash.bytes,"base32");return`${Mu}/${t}`}async function dS(e,t,r,n){let o=[Es(t),"/",r.toString()].join(""),i=new Ir(o),s=ge(n.getTime());await e.put(i,s)}function d7(e){let t=e.toString().split("/");if(t.length!==5)throw new Error(`incorrectly formatted provider entry key in datastore: ${e.toString()}`);return{cid:t[3],peerId:t[4]}}async function pS(e,t){let r=new Map,n=e.query({prefix:Es(t)});for await(let o of n){let{peerId:i}=d7(o.key);r.set(i,p7(o.value))}return r}function p7(e){return new Date(ce(e))}function en(e,t){let r={[Symbol.iterator]:()=>r,next:()=>{let n=e.next(),o=n.value;return n.done===!0||o==null?{done:!0,value:void 0}:{done:!1,value:t(o)}}};return r}var af=class{map;constructor(t){if(this.map=new Map,t!=null)for(let[r,n]of t.entries())this.map.set(r.toString(),n)}[Symbol.iterator](){return this.entries()}clear(){this.map.clear()}delete(t){this.map.delete(t.toString())}entries(){return en(this.map.entries(),t=>[Pt(t[0]),t[1]])}forEach(t){this.map.forEach((r,n)=>{t(r,Pt(n),this)})}get(t){return this.map.get(t.toString())}has(t){return this.map.has(t.toString())}set(t,r){this.map.set(t.toString(),r)}keys(){return en(this.map.keys(),t=>Pt(t))}values(){return this.map.values()}get size(){return this.map.size}};var Pn=class e{set;constructor(t){if(this.set=new Set,t!=null)for(let r of t)this.set.add(r.toString())}get size(){return this.set.size}[Symbol.iterator](){return this.values()}add(t){this.set.add(t.toString())}clear(){this.set.clear()}delete(t){this.set.delete(t.toString())}entries(){return en(this.set.entries(),t=>{let r=Pt(t[0]);return[r,r]})}forEach(t){this.set.forEach(r=>{let n=Pt(r);t(n,n,this)})}has(t){return this.set.has(t.toString())}values(){return en(this.set.values(),t=>Pt(t))}intersection(t){let r=new e;for(let n of t)this.has(n)&&r.add(n);return r}difference(t){let r=new e;for(let n of this)t.has(n)||r.add(n);return r}union(t){let r=new e;for(let n of t)r.add(n);for(let n of this)r.add(n);return r}};var cf=class e{list;constructor(t){if(this.list=[],t!=null)for(let r of t)this.list.push(r.toString())}[Symbol.iterator](){return en(this.list.entries(),t=>Pt(t[1]))}concat(t){let r=new e(this);for(let n of t)r.push(n);return r}entries(){return en(this.list.entries(),t=>[t[0],Pt(t[1])])}every(t){return this.list.every((r,n)=>t(Pt(r),n,this))}filter(t){let r=new e;return this.list.forEach((n,o)=>{let i=Pt(n);t(i,o,this)&&r.push(i)}),r}find(t){let r=this.list.find((n,o)=>t(Pt(n),o,this));if(r!=null)return Pt(r)}findIndex(t){return this.list.findIndex((r,n)=>t(Pt(r),n,this))}forEach(t){this.list.forEach((r,n)=>{t(Pt(r),n,this)})}includes(t){return this.list.includes(t.toString())}indexOf(t){return this.list.indexOf(t.toString())}pop(){let t=this.list.pop();if(t!=null)return Pt(t)}push(...t){for(let r of t)this.list.push(r.toString())}shift(){let t=this.list.shift();if(t!=null)return Pt(t)}unshift(...t){let r=this.list.length;for(let n=t.length-1;n>-1;n--)r=this.list.unshift(t[n].toString());return r}get length(){return this.list.length}};function li(e){let t=new globalThis.AbortController;function r(){t.abort();for(let i of e)i?.removeEventListener!=null&&i.removeEventListener("abort",r)}for(let i of e){if(i?.aborted===!0){r();break}i?.addEventListener!=null&&i.addEventListener("abort",r)}function n(){for(let i of e)i?.removeEventListener!=null&&i.removeEventListener("abort",r)}let o=t.signal;return o.clear=n,o}async function*m7(e,t,r,n){let o=ni({objectMode:!0}),i=l=>{n("clean up queue, results %d, queue size %d, pending tasks %d",o.readableLength,e.size,e.pending),e.clear(),o.end(l)},s=l=>{l!=null&&o.push(l)},a=l=>{n("queue error",l),i(l)},c=()=>{n("queue idle"),i()},u=()=>{n("abort queue"),i(new U("Query aborted","ERR_QUERY_ABORTED"))},f=()=>{i()};e.on("completed",s),e.on("error",a),e.on("idle",c),t.addEventListener("abort",u),r.addEventListener("cleanup",f);try{yield*o}finally{e.removeListener("completed",s),e.removeListener("error",a),e.removeListener("idle",c),t.removeEventListener("abort",u),r.removeEventListener("cleanup",f)}}var mS=BigInt("0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF");async function*g7(e){let{key:t,startingPeer:r,ourPeerId:n,signal:o,query:i,alpha:s,pathIndex:a,numPaths:c,cleanUp:u,queryFuncTimeout:f,log:l,peersSeen:m}=e,d=new Cn({concurrency:s}),h=await Bn(t);function p(g,y){if(g==null)return;m.add(g);let x=BigInt("0x"+M(Jr(y,h),"base16"));d.add(async()=>{let b=[o];f!=null&&b.push(AbortSignal.timeout(f));let A=li(b);try{for await(let v of i({key:t,peer:g,signal:A,pathIndex:a,numPaths:c})){if(A.aborted)return;if(v.name==="PEER_RESPONSE")for(let E of v.closer){if(m.has(E.id)){l("already seen %p in query",E.id);continue}if(n.equals(E.id)){l("not querying ourselves");continue}let _=await hr(E.id);if(BigInt("0x"+M(Jr(_,h),"base16"))>x){l("skipping %p as they are not closer to %b than %p",E.id,t,g);continue}l("querying closer peer %p",E.id),p(E.id,_)}d.emit("completed",v)}}catch(v){if(!o.aborted)return Ie({from:g,error:v},e)}finally{A.clear()}},{priority:mS-x}).catch(b=>{l.error(b)})}p(r,await hr(r)),yield*m7(d,o,u,l)}var R1=class{components;lan;disjointPaths;alpha;shutDownController;running;queries;metrics;routingTable;initialQuerySelfHasRun;constructor(t,r){let{lan:n=!1,disjointPaths:o=20,alpha:i=3}=r;this.components=t,this.disjointPaths=o??20,this.running=!1,this.alpha=i??3,this.lan=n,this.queries=0,this.initialQuerySelfHasRun=r.initialQuerySelfHasRun,this.routingTable=r.routingTable,this.shutDownController=new AbortController,ei(1/0,this.shutDownController.signal)}isStarted(){return this.running}async start(){this.running=!0,this.components.metrics!=null&&this.metrics==null&&(this.metrics={runningQueries:this.components.metrics.registerMetric(`libp2p_kad_dht_${this.lan?"lan":"wan"}_running_queries`),queryTime:this.components.metrics.registerMetric(`libp2p_kad_dht_${this.lan?"lan":"wan"}_query_time_seconds`)})}async stop(){this.running=!1,this.shutDownController.abort()}async*run(t,r,n={}){if(!this.running)throw new Error("QueryManager not started");let o=this.metrics?.queryTime.timer();if(n.signal==null){let u=AbortSignal.timeout(3e4);ei(1/0,u),n={...n,signal:u}}let i=li([this.shutDownController.signal,n.signal]);ei(1/0,i);let s=tt(`libp2p:kad-dht:${this.lan?"lan":"wan"}:query:`+M(t,"base58btc")),a=Date.now(),c=new xe;try{n.isSelfQuery!==!0&&this.initialQuerySelfHasRun!=null&&(s("waiting for initial query-self query before continuing"),await Promise.race([new Promise((h,p)=>{i.addEventListener("abort",()=>{p(new Cs("Query was aborted before self-query ran"))})}),this.initialQuerySelfHasRun.promise]),this.initialQuerySelfHasRun=void 0),s("query:start"),this.queries++,this.metrics?.runningQueries.update(this.queries);let u=await Bn(t),f=this.routingTable.closestPeers(u),l=f.slice(0,Math.min(this.disjointPaths,f.length));if(f.length===0){s.error("Running query with no peers");return}let m=new Pn,d=l.map((h,p)=>g7({key:t,startingPeer:h,ourPeerId:this.components.peerId,signal:i,query:r,pathIndex:p,numPaths:l.length,alpha:this.alpha,cleanUp:c,queryFuncTimeout:n.queryFuncTimeout,log:s,peersSeen:m,onProgress:n.onProgress}));for await(let h of ur(...d))yield h,h.name==="QUERY_ERROR"&&s("error",h.error)}catch(u){if(!(!this.running&&u.code==="ERR_QUERY_ABORTED"))throw u}finally{i.clear(),this.queries--,this.metrics?.runningQueries.update(this.queries),o?.(),c.dispatchEvent(new Zt("cleanup")),s("query:done in %dms",Date.now()-a)}}};function yS(e){return e[Symbol.asyncIterator]!=null}function xS(e){if(yS(e))return(async()=>{let t=0;for await(let r of e)t++;return t})();{let t=0;for(let r of e)t++;return t}}var _1=xS;function bS(e){return e[Symbol.asyncIterator]!=null}function wS(e,t){return bS(e)?async function*(){let r=0;if(!(t<1)){for await(let n of e)if(yield n,r++,r===t)return}}():function*(){let r=0;if(!(t<1)){for(let n of e)if(yield n,r++,r===t)return}}()}var y7=wS;var B1=class extends Error{constructor(t){super(t),this.name="TimeoutError"}},uf=class extends Error{constructor(t){super(),this.name="AbortError",this.message=t}},x7=e=>globalThis.DOMException===void 0?new uf(e):new DOMException(e),b7=e=>{let t=e.reason===void 0?x7("This operation was aborted."):e.reason;return t instanceof Error?t:x7(t)};function ff(e,t){let{milliseconds:r,fallback:n,message:o,customTimers:i={setTimeout,clearTimeout}}=t,s,c=new Promise((u,f)=>{if(typeof r!="number"||Math.sign(r)!==1)throw new TypeError(`Expected \`milliseconds\` to be a positive number, got \`${r}\``);if(t.signal){let{signal:m}=t;m.aborted&&f(b7(m)),m.addEventListener("abort",()=>{f(b7(m))})}if(r===Number.POSITIVE_INFINITY){e.then(u,f);return}let l=new B1;s=i.setTimeout.call(void 0,()=>{if(n){try{u(n())}catch(m){f(m)}return}typeof e.cancel=="function"&&e.cancel(),o===!1?u():o instanceof Error?f(o):(l.message=o??`Promise timed out after ${r} milliseconds`,f(l))},r),(async()=>{try{u(await e)}catch(m){f(m)}})()}).finally(()=>{c.clear()});return c.clear=()=>{i.clearTimeout.call(void 0,s),s=void 0},c}var vS=e=>{let t=e.on||e.addListener||e.addEventListener,r=e.off||e.removeListener||e.removeEventListener;if(!t||!r)throw new TypeError("Emitter is not compatible");return{addListener:t.bind(e),removeListener:r.bind(e)}};function ES(e,t,r){let n,o=new Promise((i,s)=>{if(r={rejectionEvents:["error"],multiArgs:!1,resolveImmediately:!1,...r},!(r.count>=0&&(r.count===Number.POSITIVE_INFINITY||Number.isInteger(r.count))))throw new TypeError("The `count` option should be at least 0 or more");r.signal?.throwIfAborted();let a=[t].flat(),c=[],{addListener:u,removeListener:f}=vS(e),l=(...d)=>{let h=r.multiArgs?d:d[0];r.filter&&!r.filter(h)||(c.push(h),r.count===c.length&&(n(),i(c)))},m=d=>{n(),s(d)};n=()=>{for(let d of a)f(d,l);for(let d of r.rejectionEvents)f(d,m)};for(let d of a)u(d,l);for(let d of r.rejectionEvents)u(d,m);r.signal&&r.signal.addEventListener("abort",()=>{m(r.signal.reason)},{once:!0}),r.resolveImmediately&&i(c)});if(o.cancel=n,typeof r.timeout=="number"){let i=ff(o,{milliseconds:r.timeout});return i.cancel=n,i}return o}function w7(e,t,r){typeof r=="function"&&(r={filter:r}),r={...r,count:1,resolveImmediately:!1};let n=ES(e,t,r),o=n.then(i=>i[0]);return o.cancel=n.cancel,o}var P1=class{log;components;peerRouting;routingTable;count;interval;initialInterval;queryTimeout;started;timeoutId;controller;initialQuerySelfHasRun;querySelfPromise;constructor(t,r){let{peerRouting:n,lan:o,count:i,interval:s,queryTimeout:a,routingTable:c}=r;this.components=t,this.log=tt(`libp2p:kad-dht:${o?"lan":"wan"}:query-self`),this.started=!1,this.peerRouting=n,this.routingTable=c,this.count=i??20,this.interval=s??3e5,this.initialInterval=r.initialInterval??1e3,this.queryTimeout=a??5e3,this.initialQuerySelfHasRun=r.initialQuerySelfHasRun}isStarted(){return this.started}start(){this.started||(this.started=!0,clearTimeout(this.timeoutId),this.timeoutId=setTimeout(()=>{this.querySelf().catch(t=>{this.log.error("error running self-query",t)})},this.initialInterval))}stop(){this.started=!1,this.timeoutId!=null&&clearTimeout(this.timeoutId),this.controller!=null&&this.controller.abort()}async querySelf(){if(!this.started){this.log("skip self-query because we are not started");return}if(this.querySelfPromise!=null)return this.log("joining existing self query"),this.querySelfPromise.promise;if(this.querySelfPromise=Ke(),this.started){this.controller=new AbortController;let t=li([this.controller.signal,AbortSignal.timeout(this.queryTimeout)]);ei(1/0,t);try{this.routingTable.size===0&&(this.log("routing table was empty, waiting for some peers before running query"),await w7(this.routingTable,"peer:add",{signal:t})),this.log("run self-query, look for %d peers timing out after %dms",this.count,this.queryTimeout);let r=Date.now(),n=await lr(this.peerRouting.getClosestPeers(this.components.peerId.toBytes(),{signal:t,isSelfQuery:!0}),o=>y7(o,this.count),async o=>_1(o));this.log("self-query found %d peers in %dms",n,Date.now()-r)}catch(r){this.log.error("self-query error",r)}finally{t.clear(),this.initialQuerySelfHasRun!=null&&(this.initialQuerySelfHasRun.resolve(),this.initialQuerySelfHasRun=void 0)}}this.querySelfPromise.resolve(),this.querySelfPromise=void 0,this.started&&(this.timeoutId=setTimeout(()=>{this.querySelf().catch(t=>{this.log.error("error running self-query",t)})},this.interval))}};function v7(e,t){if(e===t)return!0;if(e.length!==t.length)return!1;for(let r=0,n=e.length;r<n;++r)if(e[r]!==t[r])return!1;return!0}function lf(){return{contacts:[],dontSplit:!1,left:null,right:null}}function Ss(e,t){if(!(t instanceof Uint8Array))throw new TypeError(e+" is not a Uint8Array")}var N1=class e extends xe{localNodeId;root;numberOfNodesPerKBucket;numberOfNodesToPing;distance;arbiter;constructor(t){super(),this.localNodeId=t.localNodeId,this.numberOfNodesPerKBucket=t.numberOfNodesPerKBucket??20,this.numberOfNodesToPing=t.numberOfNodesToPing??3,this.distance=t.distance??e.distance,this.arbiter=t.arbiter??e.arbiter,Ss("option.localNodeId as parameter 1",this.localNodeId),this.root=lf()}static arbiter(t,r){return(t.vectorClock??0)>(r.vectorClock??0)?t:r}static distance(t,r){let n=0,o=0,i=Math.min(t.length,r.length),s=Math.max(t.length,r.length);for(;o<i;++o)n=n*256+(t[o]^r[o]);for(;o<s;++o)n=n*256+255;return n}add(t){Ss("contact.id",t?.id);let r=0,n=this.root;for(;n.contacts===null;)n=this._determineNode(n,t.id,r++);let o=this._indexOf(n,t.id);return o>=0?(this._update(n,o,t),this):n.contacts.length<this.numberOfNodesPerKBucket?(n.contacts.push(t),this.safeDispatchEvent("added",{detail:t}),this):n.dontSplit?(this.safeDispatchEvent("ping",{detail:{oldContacts:n.contacts.slice(0,this.numberOfNodesToPing),newContact:t}}),this):(this._split(n,r),this.add(t))}closest(t,r=1/0){if(Ss("id",t),!Number.isInteger(r)&&r!==1/0||r<=0)throw new TypeError("n is not positive number");let n=[];for(let o=[this.root],i=0;o.length>0&&n.length<r;){let s=o.pop();if(s!=null)if(s.contacts===null){let a=this._determineNode(s,t,i++);o.push(s.left===a?s.right:s.left),o.push(a)}else n=n.concat(s.contacts)}return n.map(o=>({distance:this.distance(o.id,t),contact:o})).sort((o,i)=>o.distance-i.distance).slice(0,r).map(o=>o.contact)}count(){let t=0;for(let r=[this.root];r.length>0;){let n=r.pop();n!=null&&(n.contacts===null?r.push(n.right,n.left):t+=n.contacts.length)}return t}_determineNode(t,r,n){let o=n>>3,i=n%8;return r.length<=o&&i!==0?t.left:r[o]&1<<7-i?t.right:t.left}get(t){Ss("id",t);let r=0,n=this.root;for(;n.contacts===null;)n=this._determineNode(n,t,r++);let o=this._indexOf(n,t);return o>=0?n.contacts[o]:void 0}_indexOf(t,r){for(let n=0;n<t.contacts.length;++n)if(v7(t.contacts[n].id,r))return n;return-1}remove(t){Ss("the id as parameter 1",t);let r=0,n=this.root;for(;n.contacts===null;)n=this._determineNode(n,t,r++);let o=this._indexOf(n,t);if(o>=0){let i=n.contacts.splice(o,1)[0];this.safeDispatchEvent("removed",{detail:i})}return this}_split(t,r){t.left=lf(),t.right=lf();for(let i of t.contacts)this._determineNode(t,i.id,r).contacts.push(i);t.contacts=null;let n=this._determineNode(t,this.localNodeId,r),o=t.left===n?t.right:t.left;o.dontSplit=!0}toArray(){let t=[];for(let r=[this.root];r.length>0;){let n=r.pop();n!=null&&(n.contacts===null?r.push(n.right,n.left):t=t.concat(n.contacts))}return t}*toIterable(){for(let t=[this.root];t.length>0;){let r=t.pop();r!=null&&(r.contacts===null?t.push(r.right,r.left):yield*r.contacts)}}_update(t,r,n){if(!v7(t.contacts[r].id,n.id))throw new Error("wrong index for _update");let o=t.contacts[r],i=this.arbiter(o,n);i===o&&o!==n||(t.contacts.splice(r,1),t.contacts.push(i),this.safeDispatchEvent("updated",{detail:{incumbent:o,selection:i}}))}};var TS="kad-close",CS=50,E7=20,RS=1e4,_S=10,D1=class extends xe{kBucketSize;kb;pingQueue;log;components;lan;pingTimeout;pingConcurrency;running;protocol;tagName;tagValue;metrics;constructor(t,r){super();let{kBucketSize:n,pingTimeout:o,lan:i,pingConcurrency:s,protocol:a,tagName:c,tagValue:u}=r;this.components=t,this.log=tt(`libp2p:kad-dht:${i?"lan":"wan"}:routing-table`),this.kBucketSize=n??E7,this.pingTimeout=o??RS,this.pingConcurrency=s??_S,this.lan=i,this.running=!1,this.protocol=a,this.tagName=c??TS,this.tagValue=u??CS;let f=()=>{this.metrics?.pingQueueSize.update(this.pingQueue.size),this.metrics?.pingRunning.update(this.pingQueue.pending)};this.pingQueue=new Cn({concurrency:this.pingConcurrency}),this.pingQueue.addListener("add",f),this.pingQueue.addListener("next",f),this._onPing=this._onPing.bind(this)}isStarted(){return this.running}async start(){this.running=!0,this.components.metrics!=null&&(this.metrics={routingTableSize:this.components.metrics.registerMetric(`libp2p_kad_dht_${this.lan?"lan":"wan"}_routing_table_size`),pingQueueSize:this.components.metrics.registerMetric(`libp2p_kad_dht_${this.lan?"lan":"wan"}_ping_queue_size`),pingRunning:this.components.metrics.registerMetric(`libp2p_kad_dht_${this.lan?"lan":"wan"}_ping_running`)});let t=new N1({localNodeId:await hr(this.components.peerId),numberOfNodesPerKBucket:this.kBucketSize,numberOfNodesToPing:1});this.kb=t,t.addEventListener("ping",this._onPing),this._tagPeers(t)}async stop(){this.running=!1,this.pingQueue.clear(),this.kb=void 0}_tagPeers(t){let r=new Pn,n=i7(()=>{let o=new Pn(t.closest(t.localNodeId,E7).map(a=>a.peer)),i=o.difference(r),s=r.difference(o);Promise.resolve().then(async()=>{for(let a of i)await this.components.peerStore.merge(a,{tags:{[this.tagName]:{value:this.tagValue}}});for(let a of s)await this.components.peerStore.merge(a,{tags:{[this.tagName]:void 0}})}).catch(a=>{this.log.error("Could not update peer tags",a)}),r=o});t.addEventListener("added",o=>{n(),this.safeDispatchEvent("peer:add",{detail:o.detail.peer})}),t.addEventListener("removed",o=>{n(),this.safeDispatchEvent("peer:remove",{detail:o.detail.peer})})}_onPing(t){let{oldContacts:r,newContact:n}=t.detail;this.pingQueue.add(async()=>{if(!this.running)return;let o=0;try{await Promise.all(r.map(async i=>{try{let s={signal:AbortSignal.timeout(this.pingTimeout)};this.log("pinging old contact %p",i.peer),await(await(await this.components.connectionManager.openConnection(i.peer,s)).newStream(this.protocol,s)).close(),o++}catch(s){this.running&&this.kb!=null&&(this.log.error("could not ping peer %p",i.peer,s),this.log("evicting old contact after ping failed %p",i.peer),this.kb.remove(i.id))}finally{this.metrics?.routingTableSize.update(this.size)}})),this.running&&o<r.length&&this.kb!=null&&(this.log("adding new contact %p",n.peer),this.kb.add(n))}catch(i){this.log.error("could not process k-bucket ping event",i)}}).catch(o=>{this.log.error("could not process k-bucket ping event",o)})}get size(){return this.kb==null?0:this.kb.count()}async find(t){let r=await hr(t),n=this.closestPeer(r);if(n!=null&&t.equals(n))return n}closestPeer(t){let r=this.closestPeers(t,1);if(r.length>0)return r[0]}closestPeers(t,r=this.kBucketSize){return this.kb==null?[]:this.kb.closest(t,r).map(o=>o.peer)}async add(t){if(this.kb==null)throw new Error("RoutingTable is not started");let r=await hr(t);this.kb.add({id:r,peer:t}),this.log("added %p with kad id %b",t,r),this.metrics?.routingTableSize.update(this.size)}async remove(t){if(this.kb==null)throw new Error("RoutingTable is not started");let r=await hr(t);this.kb.remove(r),this.metrics?.routingTableSize.update(this.size)}};var S7=[77591,22417,43971,28421,740,29829,71467,228973,196661,78537,27689,36431,44415,14362,19456,106025,96308,2882,49509,21149,87173,131409,75844,23676,121838,30291,17492,2953,7564,110620,129477,127283,53113,72417,165166,109690,21200,102125,24049,71504,90342,25307,72039,26812,26715,32264,133800,71161,88956,171987,51779,24425,16671,30251,186294,247761,14202,2121,8465,35024,4876,85917,169730,3638,256836,96184,943,18678,6583,52907,35807,112254,214097,18796,11595,9243,23554,887,268203,382004,24590,111335,11625,16619,29039,102425,69006,97976,92362,32552,63717,41433,128974,137630,59943,10019,13986,35430,33665,108037,43799,43280,38195,29078,58629,18265,14425,46832,235538,40830,77881,110717,58937,3463,325358,51300,47623,117252,19007,10170,20540,91237,294813,4951,79841,56232,36270,128547,69209,66275,100156,32063,73531,34439,80937,28892,44466,88595,216307,32583,49620,16605,82127,45807,21630,78726,20235,40163,111007,96926,5567,72083,21665,58844,39419,179767,48328,42662,51550,5251,37811,49608,81056,50854,55513,20922,18891,197409,164656,32593,71449,220474,58919,85682,67854,13758,35066,3565,61905,214793,119572,141419,21504,10302,27354,67003,46131,32668,15165,64871,34450,17821,2757,11452,34189,5160,12257,85523,560,53385,65887,119549,135620,312353,115979,122356,10867,193231,124537,54783,90675,120791,4715,142253,50943,17271,43358,25331,4917,120566,34580,12878,33786,160528,32523,4869,301307,104817,81491,23276,8832,97911,31265,52065,7998,49622,9715,43998,34091,84587,20664,69041,29419,53205,10838,58288,116145,6185,5154,141795,35924,21307,144738,43730,12085,8279,10002,119,133779,199668,72938,31768,39176,67875,38453,9700,44144,4121,116048,41733,12868,82669,92308,128,34262,11332,7712,90764,36141,13553,71312,77470,117314,96549,49135,23602,54468,28605,6327,62308,17171,67531,21319,14105,894,107722,46157,8503,51069,100472,45138,15246,14577,35609,191464,1757,13364,161349,32067,91705,81144,52339,5408,91066,21983,14157,100545,4372,26630,129112,1423,29676,213626,4397,88436,99190,6877,49958,26122,114348,60661,29818,293118,50042,179738,16400,163423,89627,31040,43973,36638,45952,5153,1894,109322,1898,134021,12402,112077,68309,190269,69866,31938,107383,11522,105232,11248,14868,39852,71707,186525,16530,38162,106212,11700,5130,16608,26998,59586,108399,230033,43683,48135,82179,2073,5015,196684,189293,16378,23452,8301,35640,11632,214551,29240,57644,33137,91949,55157,52384,117313,5090,17717,89668,49363,82238,241035,66216,29066,184088,97206,62820,26595,4241,135635,173672,8202,459,71355,146294,29587,3008,135385,141203,14803,6634,45094,69362,50925,546,51884,62011,83296,234584,44515,56050,89476,87751,19373,12691,149923,19794,13833,35846,87557,58339,2884,19145,25647,12224,11024,77338,64608,122297,53025,7205,36189,36294,170779,21750,7739,173883,75192,35664,224240,113121,30181,26267,27036,117827,92015,106516,55628,203549,67949,60462,60844,35911,20457,1820,920,19773,8738,73173,181993,38521,98254,76257,46008,92796,5384,26868,151566,22124,2411,15919,186872,180021,28099,152961,78811,80237,62352,102653,74259,184890,16792,123702,224945,29940,19512,75283,14059,112691,92811,233329,20411,138569,53341,109802,50600,134528,66747,5529,166531,31578,64732,67189,1596,126357,967,167999,206598,109752,119431,207825,78791,91938,10301,27311,24233,252343,28831,32812,66002,112267,90895,8786,8095,16824,22866,21813,60507,174833,19549,130985,117051,52110,6938,81923,123864,38061,919,18680,53534,46739,112893,161529,85429,26761,11900,81121,91968,15390,217947,56524,1713,6654,37089,85630,138866,61850,16491,75577,16884,98296,73523,6140,44645,6062,36366,29844,57946,37932,42472,5266,20834,19309,33753,127182,134259,35810,41805,45878,312001,14881,47757,49251,120050,44252,3708,25856,107864,120347,1228,36550,41682,34496,47025,8393,173365,246526,12894,161607,35670,90785,126572,2095,124731,157033,58694,554,12786,9642,4817,16136,47864,174698,66992,4639,69284,10625,40710,27763,51738,30404,264105,137904,109882,52487,42824,57514,2740,10479,146799,107390,16586,88038,174951,9410,16185,44158,5568,40658,46108,12763,97385,26175,108859,664,230732,67470,46663,14395,50750,141320,93140,15361,47997,55784,6791,307840,118569,107326,18056,58281,260415,54691,8790,73332,45633,7511,45674,143373,14031,11799,94491,35646,96544,14560,26049,32983,25791,83814,42094,231370,63955,139212,2359,169908,3108,183486,105867,28197,32941,124968,26402,88267,149768,23053,3078,19091,52924,25383,19209,111548,97361,3959,24880,235061,9099,24921,161254,151405,20508,7159,34381,20133,11434,74036,19974,34769,36585,1076,22454,17354,38727,235160,111547,96454,117448,156940,91330,37299,7310,26915,117060,51369,22620,61861,322264,106850,111694,15091,2624,40345,300446,177064,1707,27389,54792,327783,132669,183543,59003,17744,20603,151134,106923,53084,71803,279424,319816,11579,21946,16728,38274,72711,5085,83391,88646,40159,25027,34680,10752,12988,54126,30365,18338,100445,230674,44874,84974,143877,123253,139372,28082,91477,144002,13096,219729,46016,50029,42377,14601,6660,58244,58978,23918,88206,113611,64452,17541,41032,10942,12021,49189,10978,40175,37156,10947,71709,106894,112538,57007,137486,150608,152719,40615,7746,279716,13101,19524,28708,40578,72320,1096,182051,94527,51275,22833,45164,81917,77519,48508,5421,140302,37845,149830,5587,27579,5357,428725,248187,6326,206760,39814,32585,89923,44341,288753,284443,96368,31201,94189,119504,20359,52073,103216,179,27934,32801,96035,34111,34309,101326,18198,20704,210266,37643,27880,141873,106e3,19414,56614,167714,66483,107885,86602,4379,20796,75467,4987,5017,118857,26003,34308,114428,29198,6686,29697,73632,3739,69795,16798,41504,7207,30722,21436,36735,28067,28545,3239,11221,36031,41889,100010,19247,317673,29495,174554,6424,129725,53845,94986,7955,59676,2604,191497,19735,102214,62954,23844,11872,179525,261436,34492,428,78404,142035,16747,17246,27578,37021,33672,57944,26056,135760,2369,61674,122066,31327,19374,157065,40553,130982,69619,71290,38855,72100,92903,95940,51422,165999,65713,57873,50726,7288,20272,2081,42326,22624,81120,57914,79352,19447,1684,72302,11774,302559,161481,96396,13692,414988,3721,79066,56627,46883,21150,11747,12184,5856,113458,176117,84416,52079,27933,3354,59765,141359,2212,216309,2555,23458,196722,142463,45701,44548,28798,19418,215,29916,9396,10574,114226,84475,13520,18694,34056,4524,90302,62930,13539,19407,77209,7728,38088,9535,2263,23875,183945,17750,26274,67172,10585,28042,22199,7478,51331,66030,26774,192929,31434,25850,50197,52926,178158,4679,181256,70184,229600,9959,105594,72158,73974,2726,35085,78087,23284,35568,51713,155676,5401,27254,11966,17569,223253,71993,103357,111477,55722,30504,26034,46774,35392,36285,214814,41143,163465,1051,16094,81044,6636,76489,179102,20712,39178,35683,125177,54219,30617,52994,25324,50123,2543,87529,58995,10688,125199,12388,60158,125481,131646,7642,133350,65874,3438,97277,101450,10075,56344,116821,50778,60547,98016,106135,13859,14255,16300,77373,173521,8285,45932,37426,4054,114295,55947,7703,39114,52,51119,128135,19714,60715,9554,50492,88180,2823,118271,52993,122625,97919,23859,37895,25040,33614,32102,20431,3577,9275,15686,43031,157741,110358,1884,40291,125391,13736,5008,64881,87336,77381,70711,43032,49155,118587,70494,4318,10168,30126,12580,10524,280104,104001,145413,2862,84140,6603,106005,13566,12780,11251,42830,571,179910,82443,13146,469,42714,32591,265217,424024,92553,54721,134100,6007,15242,114681,59030,16718,85465,200214,85982,55174,165013,23493,56964,82529,109150,32706,27568,82442,5350,14976,13165,44890,60021,21343,33978,17264,4655,22328,27819,75730,16567,55483,14510,17926,45827,150609,3704,7385,272531,161543,76904,122163,52405,2039,19165,41623,14423,228354,3369,176360,85491,7122,35789,303724,4465,13628,2233,55311,118771,20713,10006,221519,45115,71021,35650,29775,7337,10864,20665,21142,1746,15080,1624,32449,10905,105743,229797,7701,3940,22997,178467,57208,389057,39683,59403,63344,63125,54847,69691,18336,56448,3362,37202,18282,29648,138224,35867,10495,5911,28814,26653,31514,176702,26550,45621,11734,4525,40543,73944,121080,27858,155561,14887,44670,30742,8796,107455,113472,56369,75581,183777,240095,133699,153299,8768,160464,26058,49078,103971,21875,71486,44888,17156,9678,89541,123019,102337,3972,83930,21245,87852,109660,287918,183019,686,10100,39177,283941,11274,24736,26793,26214,25995,77011,141580,4070,23742,46285,46632,30700,26669,19056,35951,115575,174034,56097,35463,87425,24575,44245,38701,82317,85922,281616,100333,147697,61503,7730,84330,8530,59917,61597,17173,9092,32658,90288,193136,39023,20381,56654,31132,7779,1919,1375,117128,30819,11169,40938,23935,115201,101155,151034,4835,11231,74550,89388,59951,91704,107312,167882,115062,12732,72738,88703,464019,158267,57995,60496,737,14371,123867,4174,243339,159946,7568,16025,134556,110916,38103,191,80226,88794,29688,27230,10454,76308,57647,77409,113483,66864,14745,19808,12023,46583,84805,16015,17102,2231,20611,3547,95740,250131,34559,108894,8498,15853,159169,148920,20942,2813,93160,45188,210613,45531,52587,149062,39782,28194,57849,60965,84954,89766,84453,100927,16501,27658,165311,103841,54192,207341,19558,20084,319622,5672,205467,98462,61849,36279,13609,147177,24726,165015,209489,59591,31157,6551,117580,75060,141146,277310,21072,22023,106474,63041,137443,122965,68371,5383,42146,98961,113467,30863,23794,4843,99630,30392,82679,13699,241612,33601,93146,24319,18643,32155,95669,40440,15333,34089,67799,142144,58245,38633,114531,117400,77861,188726,5507,2568,8853,10987,107222,2663,2421,11530,13345,30075,41785,118661,104786,17459,12490,16281,71936,193555,17431,5944,71758,26485,77317,20803,367167,158,7362,93430,11735,172445,46002,11532,54482,930,62911,2235,23004,179236,4764,101859,208113,22477,55163,95579,14098,67320,162556,90709,156949,3826,57492,4025,34092,87442,104565,6718,186015,28214,14209,10039,107186,233912,58877,81637,55265,39828,6194,145813,50831,105849,4974,88319,122296,10272,197216,95714,51540,72418,23324,91555,8743,140452,250249,51666,34124,7229,38592,129641,78169,174242,22464,149964,51450,14034,10026,95376,26190,120062,14401,8700,265,31386,143573,7203,229889,61567,4227,140981,2466,72052,10787,10062,30958,6099,38471,30103,23202,208101,70847,467,58934,32271,32984,36637,24107,30771,17109,73353,13650,2098,157040,67366,66904,106018,265380,107238,18535,44025,32681,144983,62505,91295,56120,3082,77508,10322,63023,36700,81885,224127,16721,45023,239261,111272,13852,7866,149243,204199,32309,22084,42029,38316,126644,104973,14406,43454,67322,61310,15789,40285,24026,181047,6301,70927,23319,115823,27248,66693,115875,278566,63007,146844,56841,59007,87368,180001,22370,42114,80605,12022,10374,308,25079,14689,12618,63368,7936,264973,212291,136713,95999,105801,18965,32075,48700,52230,35119,96912,32992,8586,16606,101333,101812,14969,39930,759,193090,27387,42914,12937,5058,62646,64528,38624,25743,37502,3716,4435,30352,178687,26461,132611,42002,138442,35833,59582,16345,8048,60319,49349,309,47800,49739,90482,26405,34470,63786,32479,85028,39866,47846,11649,23934,29466,2816,42864,31828,7410,74885,49632,47629,111801,90749,19536,18767,105764,59606,21223,10746,76298,22220,39408,7190,79654,64856,11602,82156,272765,17079,70089,245473,51813,184407,384678,1576,122249,5064,27481,6188,25790,74361,27541,318284,45430,31488,620,93579,45723,192118,22670,51913,4162,70244,35966,26397,16199,50899,209613,121702,287507,2993,36101,132229,67345,33062,76295,118628,78705,52316,34375,107083,107454,44863,127561,33964,3073,154010,190914,55967,39074,6272,31047,5550,41123,26154,98638,47110,19998,148091,50229,31329,59900,195442,19106,61347,73497,70015,682,45850,25776,38022,148951,6288,37411,232526,109277,27286,32342,9262,5220,16651,23175,46740,129438,78614,121925,66914,88710,127952,5563,21500,34521,10739,14863,191006,62956,17359,16749,67027,56284,69134,43301,35039,58883,54466,60823,404451,75743,59856,86979,7923,34273,83785,32142,7693,268986,197428,282681,17049,22346,22990,92245,107180,3357,37104,96724,49153,7683,31197,43267,82231,164276,23696,20848,188364,22309,24821,158707,1018,22514,70922,27792,45589,59709,10765,736,35218,63479,51987,24275,63588,55361,92929,81964,4658,20122,12330,44058,13065,311456,72224,8337,211229,38979,22590,138478,52757,32595,133600,8838,31549,94412,43391,90056,1585,94802,127271,6223,31889,137038,132910,2165,57616,230152,6080,10748,36737,74579,134062,50525,180532,119270,34556,76155,82394,52595,29258,31435,87820,67996,26943,183878,38007,2410,13526,180297,69856,3503,187396,167700,7838,16701,9199,56267,3661,37407,65994,23767,5708,62508,221700,67088,86978,46776,84434,32088,5612,9149,88244,21685,95151,46750,189612,2979,506311,2594,3628,40074,105039,78243,28523,6651,38058,71999,30992,12764,68261,108991,6165,26450,61961,13400,22426,7490,60890,109623,2070,12958,50355,67979,257096,7213,42578,52121,35716,65461,7516,124758,39268,302,64712,14977,1467,219452,2840,34229,11121,21602,19270,63574,8024,1532,17331,79839,78885,52029,180767,57957,6069,91265,61380,55767,8927,32881,287603,22149,35029,68876,6428,199567,46926,13412,104132,21434,366616,45060,110046,81924,128910,45886,52821,130416,29416,77342,21762,67329,121432,79924,11724,38625,81006,102033,28338,13326,3250,82056,82526,38212,21112,12382,111495,3263,7414,86274,93490,40844,30224,45212,24019,48411,71367,24941,76729,57776,3769,38114,202019,197745,31953,237533,33270,201580,255648,100798,44741,32241,98468,106931,10085,15090,170358,33154,66787,18819,69760,25061,234005,82660,6295,131975,16874,9076,4094,25005,17740,40908,19533,220019,44330,99792,50040,19619,13950,55228,24423,31253,95308,103177,184795,28590,82285,5059,3210,75525,49894,70007,56178,10580,36051,139681,21617,98736,3555,106306,164189,37352,63915,47824,24883,145530,61904,28444,11483,19837,145446,30420,112972,85939,11835,191233,2262,20705,58630,1753,148334,1197,144714,6887,11223,107667,60879,77914,4151,57417,81594,96681,169430,1784,20444,95138,254041,27038,596,7117,72808,13759,3353,126776,21074,55322,27081,36942,39547,139830,179275,4453,713,8722,71399,19204,25785,22794,23923,104114,11291,25458,102309,88396,75288,230440,206396,104551,58447,130857,37247,94734,31548,176529,226077,65159,20104,10096,66881,94191,237909,27109,37404,1520,27421,25220,113003,23423,24884,50585,6286,231877,150800,11789,3226,90004,60642,5053,202400,61442,132531,175329,57138,30116,103847,9973,75367,16452,32360,59119,21246,10191,164804,23305,61051,37348,154530,13214,5468,50403,66754,130976,50559,80515,14436,155492,84017,5472,43107,41240,2890,90431,70188,382,76234,48040,50211,281038,237007,32115,142178,1536,22761,96429,1811,31243,1679,49143,55209,17402,235054,61494,7462,77030,34925,87609,78002,9499,9027,73289,201078,101379,63544,27666,5469,10642,30029,49816,132979,95620,58086,351930,116300,2110,2043,30845,6154,11279,16727,4122,2277,27281,4971,3650,39060,61970,65951,39674,75686,38151,11370,130809,177895,32665,63725,122267,7857,39618,118483,44792,157755,178624,136994,24260,41308,22471,12404,21707,12486,30473,52781,50246,20247,39065,909,56825,103158,128603,31542,1089,41935,32744,12428,37963,84420,33134,72921,208449,42622,168151,127335,147107,46699,38216,12591,94342,85814,31423,24944,2605,87542,67473,192551,4496,56321,91819,17630,6300,256183,114569,202090,33209,35289,34897,24967,40520,43470,5344,10199,34810,14283,10381,10017,62923,49924,23233,64539,13051,35686,19698,11570,135555,120868,44924,87065,52318,52335,47586,140906,245885,109834,78668,9065,46990,25258,72022,61243,40838,4545,146387,10537,11557,17470,36930,68104,46711,24264,79401,81043,18225,120488,24746,84338,81652,28266,13776,21878,46973,1047,230465,73357,95777,24973,210160,62210,58404,110633,169651,6937,41870,9909,26822,191062,76553,27519,96256,239070,2478,205678,67955,58532,20601,50120,19148,78501,195724,110740,8249,109665,27446,30568,57631,31425,49752,32820,65504,50079,3663,102256,219898,23849,211315,14645,4359,91767,9528,12449,49366,7941,49763,107848,8930,27086,50686,9744,10447,81935,39513,46514,1670,29229,6172,22312,137280,97759,9806,14445,22976,56458,73391,34983,93760,174219,52573,33149,59747,2429,136277,75123,165263,91040,7446,57632,48633,97140,246081,84766,151684,79918,93268,120346,54059,54875,77858,32996,103590,45276,11968,19600,25849,17159,132907,42828,16817,4913,99462,103303,27395,5737,74184,20749,21160,14377,77062,131403,158735,10999,27799,77785,9320,34366,51593,61070,33746,47048,29268,36675,30262,53297,9832,82e3,20188,122292,39917,7331,18160,68301,185935,134830,15031,4935,10004,165845,185534,46923,30109,44134,122631,18874,22903,112790,26561,18549,348902,82871,140345,255565,135390,63556,103747,145055,179600,145662,296111,61661,211987,23952,52342,126343,48450,32919,44277,82185,9591,62139,205363,376969,394874,108461,18040,120885,14798,39863,16571,16794,58271,81025,55206,14640,118656,6361,44092,85970,6262,153863,108244,180200,72264,79947,38044,10050,5735,61221,80712,5471,115689,11391,11661,184257,20010,60116,30320,19327,134598,45455,27542,18004,125092,452272,1549,91523,46567,180063,156026,2608,11174,58848,37788,65907,80194,30490,5786,40775,119519,106241,11323,156297,8425,61495,2617,29675,2425,59886,112582,49142,59618,4863,50597,86710,50650,168632,27693,85641,83643,18993,25768,84284,28090,93592,36627,312804,43381,9887,9402,100931,97165,3311,173330,66805,28935,4963,184460,3201,78102,19126,21607,37496,24938,22615,16153,32862,134792,153318,61120,6067,2812,12826,12792,23825,37559,64662,202250,102694,155488,85881,149193,46233,65383,15521,106982,11358,176786,25752,39717,34208,24510,32464,77742,39371,72028,138229,60688,71386,102834,132477,2208,11548,63670,271279,28351,30338,38620,32491,99845,143885,152266,13252,2825,178663,108097,1775,78201,14897,113573,163346,62292,171129,22183,96598,38733,64971,166776,117445,9968,146393,44677,74867,20908,97328,12761,25656,26785,9148,112344,26115,99176,110121,22437,49547,6180,79320,5835,31392,43328,33377,75870,119860,69497,80273,7325,155219,43167,111173,28347,20222,3763,71752,55041,47252,14618,28088,15012,97805,194698,54636,2036,41349,6173,96604,61530,51859,43782,13361,24334,22668,24792,7070,23441,16789,3209,36211,208475,26242,32880,122181,182407,21444,31060,88459,29929,77907,12716,10934,97005,20599,31690,8403,58445,30303,22700,10336,86731,103115,337709,72556,46788,112566,47684,67089,53548,36874,56487,41387,125985,26893,40071,106683,73712,18787,40105,72992,67246,137276,50802,36790,70328,138827,22466,39263,183295,29858,50975,9322,57397,10654,24364,30383,55799,41600,23584,127295,296610,129078,143558,244131,86397,36049,1085,80677,3820,108139,5476,34767,24683,7758,13060,7239,131671,250593,59556,103392,29810,4188,252323,39404,116877,7651,43600,40338,13554,157253,39196,25978,144387,61211,234,50104,6129,10449,93777,9240,356378,274148,4439,72970,3724,147770,78680,62570,115877,40027,40547,36817,224392,64609,34795,165027,67440,2477,37206,23431,50754,164797,46018,94995,170982,27051,7957,22767,3674,27900,56419,18930,60701,41302,2692,84749,339721,61996,111094,80221,50129,1045,8153,62945,19202,8250,37208,37418,32560,79477,41106,88569,33963,36693,5892,30570,1581,66471,49647,11922,160717,29442,5643,114865,82962,95982,132098,22633,22838,94726,54556,28566,205039,162340,33216,16849,35847,221339,94851,26533,71469,1805,3804,12935,45483,71020,36310,65381,192960,34240,35165,59773,1248,46954,155332,96864,4246,388800,16129,57133,74592,44807,442014,38203,42574,80818,91592,26377,36424,65760,977,77387,22628,147610,28018,30561,98454,6969,119628,63648,18170,36854,26601,64018,22027,37279,51395,152934,21153,9430,58760,194742,5330,55115,34158,28917,174111,13171,122326,1526,43896,66094,25325,4234,148354,11450,275,18999,112191,44365,22723,68409,8733,57746,96565,75007,14196,108844,29475,88599,177563,100792,106156,86323,93726,14248,135341,194131,40126,47099,14779,8272,39597,95983,171398,65882,28052,10393,47213,40689,22120,72212,106829,34964,109146,753,648,21660,30047,17527,181025,5619,145357,4085,216883,9359,186951,24779,53931,24545,36197,223296,62628,168101,4243,107313,30321,26642,13049,51059,31027,107912,807,73550,26551,84369,122422,165872,49754,74213,234264,33151,52014,33100,87183,22365,52500,40013,23302,5652,72723,21404,26107,48434,587,94049,168493,96418,32871,70860,31709,25128,443,71597,166253,15670,70994,26341,133675,28280,75491,54756,47955,56028,26182,11952,113272,472197,64640,110753,17919,337,50642,22576,142,87371,53391,93210,126694,15285,19642,85667,14148,1506,42092,52962,33243,11970,20734,135843,57044,58880,13002,219134,22876,64754,232519,4257,43120,321573,24799,64526,124728,52579,81472,70831,276848,17403,74359,23021,182101,74597,23744,148267,12055,7976,5349,11772,67540,167347,65318,18720,127832,108238,22828,90233,9987,259080,118185,73209,79270,13775,90100,137742,90799,70569,15699,19961,9087,67475,57872,39731,8810,134897,131868,146849,19898,3334,2281,167061,91073,60356,467742,74712,188,53179,137679,92769,29241,9537,132595,80119,1041,88962,5976,40171,44911,102859,139059,104558,98987,47761,19272,71472,113864,175377,73338,10857,23402,23758,1591,139864,5644,4076,118760,16427,134198,18853,20291,100849,37423,22038,36677,19071,195521,57445,11069,31869,55718,66882,148490,44,41296,75242,49704,166810,9906,20943,122258,49112,105667,15969,10344,6408,187694,21399,72742,58970,14867,14376,81889,41856,23225,15042,56993,16074,131389,74276,72407,53875,383108,53597,37363,68993,44854,122548,430927,198279,38430,80409,12245,2981,628,2818,17760,37437,238229,7968,46892,2200,3730,34190,65983,37959,112291,87850,70827,6522,20750,73913,111621,41652,19587,2780,58668,25916,85259,18200,168962,95781,42445,102050,7776,57662,103313,47742,96358,41964,66174,100396,29069,204735,19679,27978,7479,40264,22534,61183,36081,107436,58223,14680,23002,101311,24716,124108,12908,5646,31750,40380,14215,232799,102772,14122,96775,61398,50917,12096,149880,67833,598749,124194,155871,49216,790,14677,65319,56917,7440,145744,95701,12206,49405,129269,76199,45732,9767,11058,9047,210885,11051,7392,26307,2130,8132,147526,20802,232698,115660,50060,59789,57344,107623,80343,112676,23291,9866,160971,34032,118291,15719,59730,164911,28975,2659,58046,78480,21854,66209,53863,109085,116045,29021,46481,107552,22130,18764,70254,31272,11300,52460,43933,84738,20721,53869,190840,79673,105300,7561,321817,66924,13940,33281,101046,183181,32176,71878,5678,62924,79535,56646,40303,19559,27703,93042,73368,42187,3670,37376,46440,7023,36816,109628,20680,5940,276440,275233,170848,112093,136996,14984,20226,111441,77693,112960,48577,39370,55707,50314,123404,26570,54281,61372,123391,4857,35928,246740,132507,106646,44241,7196,92258,9825,37688,51197,303141,5590,15476,132986,10955,85782,34486,26696,7991,28813,18858,39546,11703,11365,38185,5716,93555,11925,40121,60002,6985,10976,171384,3887,43394,13337,56346,6381,252336,39573,75042,53711,1028,31781,44295,95925,131713,7214,68125,43571,70954,213234,1628,8760,13391,65485,17320,56038,1710,25248,60803,57399,19839,3870,326,281556,50945,72400,21460,316244,75619,56246,98775,481,13513,55765,50427,7388,123519,32929,57908,27124,61316,101097,57467,30228,48792,10788,20402,37318,50526,155730,34456,158065,145305,17832,43733,64052,4506,35072,205355,177028,184004,187081,68616,35938,83703,10367,36892,93186,260137,51934,89970,4985,23445,26755,21558,7948,78741,23376,124405,85594,68596,57536,49351,12619,56593,132668,99924,109728,71844,71935,196018,65464,17617,14987,89701,143773,33997,8687,22701,33258,2914,4436,72108,85610,9671,49067,2327,82988,1361,1672,44033,35777,30269,24057,10605,82236,616,15793,13919,47249,112086,116698,9484,80207,90574,33304,68624,93127,56101,42210,160929,4827,38995,38095,4701,125119,5027,33680,9236,231236,14135,87837,23318,70261,78893,30151,81482,14332,1084,74256,27532,46644,79185,3148,62615,6981,55672,31668,36825,1849,14536,37446,14738,23779,43058,162749,72199,1168,21346,5592,85932,85302,9668,18351,57135,150360,2080,228015,77953,34670,119302,151751,31009,106725,84265,45214,59289,74178,113071,263206,111009,4021,44449,188119,192629,123592,392506,292847,114487,12831,205858,9852,20780,79648,75767,357014,97721,18166,21005,67950,33226,204009,16536,2987,11335,66717,144910,47950,17262,55060,15063,2934,51038,26775,178497,66008,3427,49433,128592,20036,157553,63861,3089,23015,51210,28696,35933,49942,71135,231518,99620,17248,21835,176536,20676,16944,38700,165831,233253,295625,36723,13023,52745,10907,19423,67972,125868,95473,82875,1183,108455,52685,33417,64095,21433,52438,33191,127809,44505,211823,7810,2752,95548,162031,7185,91196,47563,61721,33359,17897,23682,42806,178101,22874,49707,199897,75419,82456,8618,11171,79712,116847,18783,44190,46564,5346,59046,95032,7893,14916,3214,26800,24172,121453,34362,10250,17408,18888,4840,68696,22831,13162,36005,32512,14800,62357,41723,45046,27247,37486,5372,2564,34261,298500,66509,133920,89138,31305,117697,19097,108304,81386,84106,23802,46411,63304,946,51417,41777,41041,19501,115864,60743,294354,37955,94165,18116,1156,17937,20645,57114,90804,58042,48643,92288,9861,2557,88546,61333,101008,12853,5148,87856,4152,144503,73841,18718,9789,147565,10846,42085,12789,30223,8993,56352,67203,2448,28215,6052,23540,126319,75933,36689,80235,23231,23561,21383,38800,77548,102798,21234,31468,158608,46188,63960,191679,8051,67014,11185,170078,42186,28827,34777,41930,212079,12421,34750,24111,110344,73918,45171,70826,141949,40063,23979,24254,37309,26724,27179,24718,83648,54938,14591,17425,29525,102675,48975,48654,12316,8929,60640,41709,50168,63264,89812,50716,48632,38755,138583,160123,55579,71829,24230,233277,46322,39650,166388,34718,24108,98252,7031,106695,62498,18258,35062,217827,78731,34824,33354,19520,60852,2432,60224,8587,2836,62955,702,20227,42285,40560,95592,62486,11094,53035,143291,18842,46177,77994,1770,9657,107422,172915,32655,128716,25886,25164,156740,119928,165875,85817,11007,89110,33956,12652,65156,180266,8494,36889,19958,20955,96,1264,118288,135769,44754,86671,5632,19026,168220,289120,33569,93821,66144,70635,7687,5642,2714,55445,56636,71545,184182,93133,7332,37389,12643,52315,22729,11014,158742,17050,152889,50178,34601,41945,52136,9948,26914,63548,95721,115951,40759,8960,158258,38938,49232,48325,42234,81523,253019,66128,40978,20048,238048,38760,62928,122560,118532,43687,137472,163689,26680,9878,17448,51035,16211,60834,36749,29178,14241,59868,150086,2305,26477,42422,34342,165341,83279,33894,14257,29928,12743,13957,125571,89134,66712,10952,16507,147839,30146,7249,16565,45399,39874,114565,215780,31990,230881,171477,102,196546,44538,10880,84948,281705,86651,10617,31395,2342,453658,43569,60561,132901,21845,17727,58556,258242,22262,58728,4008,77997,11806,37431,30599,81375,109137,185787,114085,217292,97453,169085,30593,60212,11544,102056,65580,2384,91655,4855,95725,7295,157994,16228,20669,53276,141590,105246,17334,25440,76067,17967,39321,38911,11362,28559,63807,21627,26468,85816,40120,1025,15234,58319,69516,66512,124548,75845,78873,22137,46681,51242,85683,32909,76747,35555,43396,101465,1765,73094,1077,2962,39028,66777,57831,42048,15828,13962,36041,63657,52412,5242,58846,2141,5506,219012,134451,3936,182230,17558,17153,152237,22621,49377,170216,35257,68233,65374,6510,11126,212151,7184,2480,22517,3437,33073,30156,16557,3768,55067,86829,91e3,12350,148650,66017,79424,70885,49066,28250,21369,51213,34533,11510,3258,18176,18465,84413,6315,36411,163765,4346,356,107618,598,13727,285026,162695,8749,14583,7132,63521,184253,32378,25991,5604,30961,53675,4874,84693,5086,34811,26978,56564,7904,33519,51221,113942,69253,6664,125563,22055,220680,102008,742,51930,19494,176108,44424,35123,13025,75685,11759,74335,22250,181453,131147,16984,132115,154311,11991,76452,52609,85351,196,30969,9198,74919,2529,56838,71779,29187,116304,3504,62330,41190,86153,28393,254926,104228,105189,13264,84359,3574,12415,8534,57147,10175,188174,59504,60932,66318,16407,107921,17638,99103,49278,28403,39786,145865,8462,3558,43406,142271,29139,21989,36552,93955,72365,7176,13556,106185,37957,321774,17782,129017,51154,27938,24952,1935,39366,2791,33489,41582,56078,24558,9311,5449,218786,27808,190429,68013,36020,86003,29735,3404,87348,119357,115714,2324,86796,81973,40992,43376,93621,28784,16808,36367,2517,2909,191926,24978,55303,53308,205724,60068,3098,21375,64784,23949,26579,63121,12319,80145,39967,97861,6757,70143,67642,37082,34698,69140,122883,46151,62187,80934,429,19437,135071,137885,222647,13331,154065,327,61778,74257,40116,37493,14855,85079,237641,42342,102164,199965,71204,4662,29368,5042,113914,122214,8955,13149,102503,43173,5659,163787,69003,307084,63392,171080,21390,81918,86666,36622,24126,28887,5736,28054,207170,163428,79891,346467,95363,38980,111806,80828,9200,19288,294896,114468,87405,111715,141705,7015,72754,68463,48738,243147,33397,101210,37051,98801,82847,20397,4940,185559,18716,54718,83491,11725,40803,1128,12128,23060,5174,7745,67007,46701,1571,27807,180186,256996,18975,16837,7877,212758,250379,15440,87954,57755,24719,124057,83461,258,50864,8874,29038,71289,31627,15429,9005,4061,113851,107716,82819,13651,79656,117851,17539,111446,12938,39724,190787,4352,15402,21070,62708,8539,23777,73853,13552,38810,86117,16285,56400,1718,75342,142863,29033,378,110113,180321,32586,23606,26393,160984,207987,23783,8406,16904,24596,47274,11693,46539,60524,78595,48423,31718,20170,9009,146268,15183,191060,172765,1349,138436,37365,10970,40509,225817,20021,70394,152138,21541,66559,66544,89352,2725,17258,91345,7313,3815,115868,8660,40362,4071,103524,39388,118275,21950,6549,38226,32754,209574,29201,43495,18028,20296,40597,18370,47520,202450,24134,2219,8195,69545,38041,136934,46374,19041,159811,84865,58620,846,98749,13569,30714,97246,32186,4479,27355,92973,35214,151491,75963,37631,1561,27200,238083,23182,60756,12291,25766,39355,102333,87362,65741,59906,19538,201575,48772,102938,24438,292580,39964,66366,9004,61379,50548,37622,38732,28379,68180,76622,17488,69849,5963,7219,48143,43413,55358,540,58691,29506,19245,52193,48621,5518,13048,118625,44755,191081,42061,89197,2259,60665,66994,71210,51232,3585,142096,55024,7892,8345,58653,463307,65658,64319,137941,136323,53499,12746,43492,6978,95163,29925,60175,5128,7352,41463,184756,121146,20473,18426,4598,5309,54580,14277,121151,10691,56711,43880,63409,76682,11830,172218,264898,32632,66536,81062,31649,25788,92774,60222,11100,63159,9432,224657,25240,53613,152,138620,163829,2397,85345,12501,37507,64932,38575,43522,65789,80198,78796,35226,3851,108891,73311,3060,28391,93671,39663,46142,30982,66041,37281,68157,26553,71872,81142,211527,39747,118119,22695,2859,11066,20232,168911,7933,197005,17066,111071,44434,133994,120798,12766,227798,45756,132852,29917,36076,55352,65281,129800,41958,18944,84678,18580,168093,132621,39997,54092,27740,32354,3770,114118,103242,43918,15899,18574,145944,3190,123469,219903,24169,100571,62403,16776,92779,14535,17168,16475,14304,37231,1712,28218,242754,61688,28980,1318,51359,222657,99200,67989,31772,23932,35351,201251,49041,27306,19128,40135,3986,77333,19649,120683,151927,21081,7076,78375,77501,101599,8011,89585,96715,58179,5378,102138,106793,26051,217276,4197,16297,27014,46721,13322,22806,5278,29629,70632,9647,71519,58818,40603,128530,8903,36770,56900,31483,26935,43845,34265,34920,87658,6114,84767,64250,47318,50720,19264,162514,33357,13117,6705,46696,75032,71054,87004,42035,69138,11903,99854,102328,19611,34525,69312,6431,49842,101600,133178,108751,41829,89939,225664,48916,99556,9195,130387,5960,36857,116724,53518,94002,39077,53996,6945,22261,64291,8314,152785,57588,16522,9091,5048,87671,35441,39509,1945,12423,158923,178413,37549,14095,1475,73188,62878,4819,24012,68534,42606,4010,120809,57497,59564,101758,103718,32701,80116,12345,95834,46918,21468,53213,15665,31200,3867,5140,96013,250744,21016,10069,13968,35449,180829,27683,39704,59956,22893,3115,26293,32785,75934,62445,141162,62720,2018,83638,19949,114012,95006,3330,99829,130935,309272,9565,55874,121727,37017,23586,319858,40970,27602,8625,112329,61060,100088,118525,25922,16232,1907,60671,51583,44553,80993,5262,94679,8676,940,20736,11823,3020,16476,12340,152600,97416,3703,25744,66826,16245,16876,46446,84798,74227,176020,45192,61955,75496,23946,23626,40372,26036,6149,11822,30582,16541,41914,82385,232823,40921,80773,14930,3631,7517,39619,4348,36180,126106,138939,62611,1477,113512,47321,25052,14546,118881,29060,23589,128322,36795,18401,137921,104699,267929,36194,172791,18113,4766,188215,30083,332586,94089,5805,77909,22194,68234,154976,43220,40660,70001,184893,138095,11128,103010,22663,5108,212615,8485,5565,49222,54614,26530,42639,16319,55062,152662,105595,21114,22216,10294,68158,10436,86950,7206,62115,3977,3657,59874,456,118617,18156,106663,112229,80992,17442,8217,55551,5133,34344,251927,51153,39364,201321,7816,66803,23057,156724,145664,14276,95705,979,2796,6875,13429,212525,50602,26276,28284,3424,19465,52397,46963,31420,51399,206476,92317,48851,637,100820,83349,10317,60227,21972,6908,282439,32857,224767,95629,83882,42106,87338,69757,29840,68709,37665,45244,114577,49188,175943,54009,186746,106158,70168,3358,234002,50555,9221,129338,9562,20118,32923,78479,118280,65752,4977,10474,102174,60947,129006,10570,83451,8598,8078,159367,123785,80438,16742,5905,5281,181513,42402,6977,163136,93179,42191,14968,50421,112401,105440,33456,57347,121611,4221,94954,36517,24046,27796,6255,33394,72990,135408,116627,1233,57874,25654,95419,68156,401399,313338,55208,45573,93124,119251,47200,38196,11909,130667,45391,73904,64964,167846,4137,115606,52036,62214,7969,160925,7187,1132,134835,40309,73195,64494,80472,444841,61111,26500,45323,40743,53625,52797,22659,15631,29739,36706,28841,39147,102836,26794,10536,14845,87305,45874,12241,127587,83833,57183,79722,30844,41304,84655,20825,92500,3722,25655,27811,10157,81634,31362,34088,92487,70123,22190,185100,72658,139035,192523,88241,2078,230490,44528,85638,100198,22088,29982,291233,241062,13865,4445,137791,37835,107218,31726,19718,38234,72528,23046,19177,66695,5109,17251,28077,5617,21554,47839,72425,133825,1486,73065,181275,141508,21768,62971,63082,2512,34200,9904,120309,6392,91243,68416,268253,41199,116757,138551,185526,41246,28986,4093,19057,17295,4148,245766,122360,35356,112075,20301,75441,10998,7977,19769,62922,937,63547,100196,26427,157820,20983,236696,22935,8140,90315,156004,47204,140973,7726,45097,52725,22636,23436,257282,105247,522,88389,216031,202204,46812,211666,19693,68828,81691,45925,11256,30292,372,5236,167826,88328,232776,151611,5360,82104,18841,80393,25465,18285,20320,72377,31730,33160,45803,38715,27705,37379,24163,18360,103586,4015,32305,269494,91252,20080,36567,54650,7797,57073,12650,31164,42209,6375,261663,105528,81661,106002,2800,5375,17247,43151,4442,15727,194619,100855,144898,62320,78465,39929,16454,1967,28311,61363,17219,9395,8745,121445,76939,80385,162380,22009,54191,44248,16299,122830,48151,74429,78291,64755,14238,44966,2511,17712,67954,93583,829,105899,49935,84750,11591,33185,85447,42717,27409,208542,28965,62052,52525,5597,25694,65594,16343,63224,276188,12475,9331,127507,38522,57287,24128,133161,79723,105548,133695,48917,27558,43278,46520,13778,141954,110785,83366,17715,46317,105763,66298,147013,41086,94180,16478,220447,44611,730,19722,78975,117889,125643,26254,16574,18480,65006,15806,38549,246418,46052,36056,8440,34984,30170,3163,59800,4458,115442,4283,41970,33507,104078,1653,22,121158,276486,3655,6338,24048,133421,23641,2161,24422,36006,8086,10675,181474,12307,29514,59143,14729,52509,87128,122470,19446,80852,33314,24573,119864,14237,9652,57779,6612,51851,15284,98871,90581,124466,156831,21190,22015,71380,161906,87247,69201,18392,17908,108470,72962,40719,14338,17911,95260,43339,20610,78916,20710,72451,11315,31448,17263,58853,178878,48111,116002,45497,80506,82605,85880,36300,121755,25215,36118,301929,88728,405223,276136,553,34704,212438,49970,78329,922,20711,25036,257130,38295,145369,18128,15385,30829,55656,48345,8012,3561,28004,122041,192900,58338,112508,41085,29976,87040,47117,23905,4336,92061,138880,97407,42083,172121,6256,25192,172671,5,93568,1420,12677,31605,56743,40620,6015,78415,231077,31298,80026,13902,19048,24924,170586,32955,176119,87859,36731,6773,27711,24658,26475,115216,133207,93250,95820,88522,8317,5714,124047,55219,86860,19677,23961,22928,162209,8904,225992,359835,56084,96201,29392,96558,86071,93643,55114,13347,8183,95129,82012,2017,123336,34219,115554,157159,47747,101684,41008,18735,193781,104151,226906,7552,179874,124113,31159,21162,44010,14771,51268,166128,31382,73124,77438,92830,205709,12113,1292,38937,13114,1334,2118,15597,69581,14449,21934,76618,48728,67038,14967,51495,24243,87736,147249,26720,11119,46063,43749,5843,44147,152629,133428,65703,14269,45604,57982,28672,55616,45957,8438,95433,37698,220862,132034,39456,61870,4161,26501,73560,56418,9845,4654,20916,10456,88920,119358,9015,65931,96507,48029,38534,21676,109081,43078,34943,25089,6131,28766,23665,5477,10255,16695,67,45778,42443,42770,29534,23733,100513,62617,42630,48746,14191,43753,50295,26007,8792,57243,43119,54725,164253,58250,112304,131796,25165,4651,3188,24831,47748,3705,19540,13211,102095,5593,18699,23666,32005,117571,33541,60584,74573,86311,99443,25172,27222,168938,7143,11853,53560,18834,19960,86522,28217,53266,117700,72989,34323,18721,66450,34346,74056,47217,202002,46269,9429,68582,75458,37823,82843,96652,32549,145144,27958,19820,158086,31955,201406,135379,31207,192545,12950,51704,9094,248263,76147,64028,110009,79407,89345,99284,223492,47966,26848,15359,201137,2861,110507,71231,72297,31851,118777,71039,151051,240855,16333,50766,14727,7939,4149,80908,418780,88378,59276,1327,7284,38576,79814,65820,42199,84860,49574,62596,12396,70598,40117,8648,7994,16836,7630,14047,359699,106878,525,29037,28064,13380,11675,50669,74216,103539,180314,27449,56299,172344,19274,7301,246099,32043,19422,36506,129317,6806,30140,4614,46639,66926,932,86600,6322,27847,233103,10541,39025,34887,3517,12972,26220,2031,66561,115015,48658,47596,12714,33845,3893,16165,35237,89983,14769,11962,147224,47018,29977,27979,5552,82338,86023,131368,1218,24853,237840,132193,15455,40873,3668,65351,53388,15229,59889,272245,47934,11858,34347,18038,90853,86981,300602,19343,114181,29362,84921,6095,106059,79472,38015,1206,48741,6208,8e4,21916,17423,6002,108083,24479,34931,56661,9511,26995,100694,163853,35997,81254,58321,18919,171890,86877,91341,74503,70477,53412,7027,59281,39892,131302,5864,15947,61301,67466,162369,47956,27874,35624,282324,21270,111847,102548,41482,30955,116737,28264,8592,55458,22301,75090,29821,30697,51709,3041,19208,8038,24634,30467,87509,126428,19389,18814,152686,20701,83474,45832,80891,105808,11378,153223,120770,98186,150633,49838,9141,12755,30962,5260,74490,21256,31678,65062,33326,289838,187831,20595,89768,2805,58535,10844,70085,12090,2451,138068,98544,24461,4511,6754,41684,28203,3383,65355,82833,30161,83924,234361,128424,28921,222594,33975,125491,34069,11508,67464,144226,41850,98703,34371,7901,21254,38398,65651,23549,53883,213340,123269,12028,71764,177701,28758,2623,68395,11549,15232,68603,9660,63116,36079,57093,31198,20475,48467,89984,35619,186847,107469,31389,43631,73867,41949,68841,114250,1605,30564,63403,17588,27680,99533,12641,70325,50428,73426,78379,11855,91651,72081,91720,60198,15743,12065,83398,140046,6761,46598,45900,5068,886,62448,148968,37347,19405,9680,15819,43496,63370,75667,163700,37639,3633,22774,34341,183131,134335,37200,23915,7054,14194,12970,26438,13350,285521,25594,8219,104410,91039,168804,138480,149734,15907,33818,61132,60082,4622,110187,56736,13551,73571,3945,73463,65498,17758,263266,17593,2710,27585,54469,38200,45367,63754,28881,3473,12791,98287,31895,65787,4463,94536,24951,36332,59901,28803,52130,86403,7668,181822,74831,18977,9850,177206,145485,109798,7292,31421,26280,77211,58511,12507,127004,11113,147,8729,56208,43066,79926,129937,31345,83947,39915,46146,98763,42566,1337,13192,18323,105163,80570,117753,16555,72883,11077,159438,40764,70933,83329,26066,12276,72059,21655,173836,126713,69454,153482,91585,70644,102558,110483,6764,127864,190133,3961,101798,20945,71138,82402,90884,69669,44753,923,16939,59700,164258,25969,27082,31399,43846,6306,246093,51342,6153,151581,202801,182731,56475,162188,89426,141356,14355,121815,27536,28023,65257,77523,106668,127314,24947,12790,38796,169698,23555,10725,44573,183083,42088,62716,43265,105958,32050,44067,50118,1668,3874,6243,318411,16599,1691,94999,52378,28671,216728,123258,2059,34969,69225,5913,136280,171443,141515,91662,22175,135282,80020,92270,1663,4808,4482,3495,34691,5226,109830,108512,17342,107488,11606,123190,100247,29666,146527,113014,15794,30894,13224,39585,243192,22351,9903,7836,47699,11078,25468,122291,48821,26780,122679,75521,81450,630,4895,92900,55074,74293,17441,3563,111657,103102,51613,12318,52370,36191,68245,34269,40445,41354,122901,168604,182500,62012,42557,11259,24428,115113,86345,12362,3909,78430,86852,134602,20459,47853,93879,22577,7659,3688,38555,13349,17381,56715,91639,12493,10895,92438,3142,37057,28928,2004,36427,32268,34222,209974,10432,67436,41989,173518,107930,27079,62729,30908,55558,5828,45031,14902,53546,8204,144263,60255,14520,88212,86582,109589,69356,8064,47449,8505,66558,16886,4844,52817,111260,215129,12941,91118,650,20770,6273,73089,40618,62790,2873,35002,14023,97208,19386,102646,36993,143736,135457,35385,113601,17893,32627,84439,100619,56016,6581,57264,172160,45452,111710,203627,70131,24100,322787,1996,35665,70078,22358,90922,83658,4097,63200,58499,14542,99153,52159,6615,12414,63415,31986,16823,1579,65405,137809,8841,16898,48082,259,33014,42375,12260,179850,73667,91389,98882,29532,17311,326251,41092,5928,20742,44964,48019,43505,9317,49265,6643,192712,48424,163487,19861,20113,70848,31928,105333,23685,78563,14638,54755,7158,24142,44018,20774,125255,20331,24280,10163,1285,2336,39851,4299,117269,46714,63816,87779,159624,11731,9971,990,137317,108831,50994,74554,162680,23640,131597,146962,170620,34829,91205,21184,1913,63616,18427,93136,156592,17519,67565,115882,138220,78622,88535,18115,2711,33554,109492,54298,971,24914,25863,36363,45715,27099,194995,14299,178181,111488,72395,322385,157719,130787,11897,81843,83999,11369,49280,118604,40922,61332,110343,53407,75639,40582,300440,54722,25637,13694,48248,48278,194521,56203,52779,48783,72627,10953,376,16733,280238,26351,230789,15132,25168,137270,3588,63704,73376,94031,74284,19443,159557,9697,39901,13351,119050,15406,146455,3460,29556,75195,37673,102524,92329,47289,98413,15311,100684,56345,7116,95480,11590,7200,167,23610,58426,17730,136656,27944,53151,2701,8824,103124,3017,90744,113588,53216,79736,65940,26931,498,29568,80540,143543,21292,1740,59268,16561,180816,42323,50174,40890,52866,10703,57169,4700,17191,4424,93511,49698,166650,26972,48631,165169,82879,69326,202970,4007,2376,231325,139592,22119,62851,37504,68816,58345,67398,186643,43331,277416,53749,15746,23102,17432,4793,151138,48822,54265,48203,198688,14305,54287,2291,18018,113378,123260,7180,97549,87027,120085,2920,76080,8190,102005,5641,64580,14955,59802,54028,58884,19367,81779,412567,85957,97053,103637,78871,29364,27637,141728,4767,30686,112738,130146,42745,12730,105040,14844,232,210944,36581,152317,135543,29744,3129,55647,58149,46319,27265,17499,28005,59948,7170,34138,5702,293047,110892,408,91760,218674,18469,46095,81403,14389,4610,35672,73060,11006,74848,104820,118143,190357,20043,105358,141735,5115,27093,45924,123073,52599,29433,9616,238350,78610,24851,58858,26769,31969,24613,18294,4982,32735,39639,143563,112073,202205,12567,4873,88601,44897,81503,101648,81362,34662,85277,17574,48173,21435,221188,40215,39576,80786,26544,64668,81841,10731,37733,247986,149188,127703,495,18382,54388,72446,43071,30974,198723,89608,41360,190,33045,8386,31658,19992,237838,119015,137622,50890,100913,6460,116233,267230,26621,104129,65114,14190,41542,14888,85962,23342,23041,26453,43725,71809,45186,4770,46452,53894,56616,221286,18973,9038,109299,55365,19366,26863,18808,60909,69353,41738,83463,12100,68561,72860,3980,13796,49340,12332,31311,27418,4255,53430,18976,45523,510,14224,30477,26581,4530,3651,101663,139840,22709,150861,31996,63923,120623,262522,3076,10528,2929,14672,130238,18087,9816,121894,100308,25085,55111,14565,18952,53293,2042,369988,23674,61789,133529,28783,108293,35477,47119,36448,71049,40015,33055,78598,198442,1833,159937,40654,77444,189245,113153,8621,18599,38553,35223,166072,2375,11659,21786,89523,6032,12116,63046,159398,18454,3678,32521,47626,11411,103527,38896,42946,15696,26370,10185,8413,37080,165583,4331,63555,14907,72220,50056,6623,62236,36565,49783,10049,17503,100581,55951,146244,24724,9626,17969,25524,109300,173965,99994,101056,46459,43647,53737,277968,8347,123521,74858,33829,44762,77574,877,81377,222525,123532,30602,43881,53145,2973,16284,81940,61281,127044,63620,9875,14756,114829,19032,9202,52759,119141,23928,120551,19607,3599,33401,76821,73233,117430,39968,36539,7071,5446,121735,194059,15206,45283,6706,15603,65615,1207,165723,92275,34773,104447,8396,32353,205240,164323,13600,60555,79205,25532,22907,33410,57480,107111,69630,32137,47832,70913,33161,20321,2371,117348,10714,86246,1625,11763,17900,268,78457,99175,97940,101092,86660,32221,14041,128504,125080,53744,124263,31017,13897,403,31859,21964,5633,111630,5547,77329,17961,18241,84995,25984,12983,67491,62168,47262,5241,297,51191,7351,8967,147212,82060,16821,782,11033,82431,62957,5026,43459,77963,203477,53528,6247,191852,87774,74164,215654,13467,1522,219964,28589,244104,16242,117821,67725,72570,156792,17186,15979,26990,44128,193014,35276,57125,16212,166451,68017,6905,77608,16364,53777,75921,76426,37975,26203,269296,64099,84122,12077,38533,830,4407,20139,963,43028,38902,42911,37503,83343,85045,16979,1165,60835,137387,58380,86990,110066,134540,56331,193845,81238,17922,163093,38744,110641,12502,56404,34862,26865,125964,12965,111648,25547,7771,27196,136980,9555,29551,107158,57885,18831,37705,35505,101742,13970,102109,62548,124657,23328,11124,89592,146376,248050,6241,22033,18337,80685,29898,11908,216623,67721,106162,146610,21377,15085,91552,42041,62560,122532,125336,102365,121537,142559,29693,223919,11515,110495,18776,22494,5895,185059,103592,229351,51220,100102,37027,257855,29359,54123,36066,106493,12244,79258,32002,432,56205,94836,90182,6726,14762,29391,48938,26864,38083,60364,3310,60192,14766,205567,57504,110760,22649,24666,46333,21517,3430,13135,28873,27052,158809,11597,20529,6695,23138,22960,37137,45574,6545,305877,43423,26153,24769,59844,14501,10430,134352,56169,13213,103432,49523,35181,13435,12408,129475,64620,230854,77390,51990,15653,83248,33466,44571,117828,51481,2187,10559,68019,18021,54895,48247,18354,33737,4554,108595,37288,39767,116707,9175,3726,108877,21616,83684,49862,1938,8543,276466,20134,108498,48770,102254,31914,131520,185291,100559,51890,209,19526,76471,50544,71814,99351,8172,198526,28816,20419,9109,98389,136777,76479,75596,30635,165417,48216,120220,25955,211071,39314,24308,32164,2559,146280,43403,9233,17947,90585,1786,86920,125662,2457,64741,32152,32918,122882,78538,44001,31723,56426,23375,103172,88177,145697,52506,49319,68016,31664,41488,18486,110400,7030,28241,986,109199,19900,42147,56864,65287,49183,7858,24e3,30453,840,16673,25907,68916,89927,6309,158335,36407,199737,130464,13137,59603,201778,195292,21015,42466,179062,172561,89492,11075,180407,31868,72493,20998,60217,9865,19530,39274,130266,54539,21623,12535,13505,40641,73375,4087,85633,2153,3117,70680,55788,92096,47509,98493,37490,271936,151475,3032,16171,96642,34106,78425,125761,19591,3366,19316,54508,24183,50786,194248,91528,33253,34622,108355,41741,705,3814,3883,108929,13203,67831,10142,59754,68208,29128,84820,56880,38794,24972,48571,40821,40476,18137,164254,24064,236309,79181,11282,395,39169,2013,51587,28551,9645,701,109513,115899,113566,12762,62045,58322,103726,41343,40866,244102,143816,2490,70346,40973,52618,15412,30720,104315,38917,42027,93676,17513,107418,20706,123890,13399,97727,24044,87962,65606,44250,98044,65276,74790,101473,19350,91570,1326,87790,172042,7577,100813,86896,85891,41512,108130,27794,14875,71431,12835,156250,58135,3759,22476,42176,115873,34686,56523,73643,108505,51491,20838,12721,32863,45700,29496,13700,34294,55360,29206,155942,123812,7706,163234,203,132720,49358,144431,8130,175788,35818,3270,76832,25710,54095,97274,28779,94621,74396,19092,128242,58067,20885,14670,93255,15107,63291,23654,126900,129421,59294,262659,9798,3251,67344,28600,44629,50672,29072,26999,31526,23183,49175,165843,175455,17282,175411,32022,45989,30298,90690,78118,83156,23749,35636,31317,7069,80381,94561,133756,14960,97404,6138,41065,78041,32843,16601,34123,9559,146529,123377,96395,54441,42012,84257,123541,10745,22139,106459,11720,150883,172651,154996,110538,4728,53447,25704,2009,71152,119354,21166,66604,1429,216162,8637,122250,63520,27180,29172,36124,276428,107787,77184,4680,14952,104903,24418,14793,51561,52931,8371,26342,48526,7118,92066,67280,40653,8847,34597,105438,14198,50163,61188,146286,50315,41205,170829,161496,585,197359,95056,1687,365794,91349,48507,5804,49263,5146,104902,96365,117343,132222,46084,96919,16875,8073,262381,79982,52663,13928,16056,153908,15145,109256,132308,18763,24904,167644,13618,40750,18686,147124,114709,150038,52849,2938,12568,48617,8778,5459,44202,44591,74914,17183,248689,13878,7822,80060,23116,194037,18487,2067,7798,43077,33678,244028,31320,74273,2794,19466,8218,36280,183997,48124,19416,29656,19280,98734,7715,18311,30701,133602,150307,126956,7378,2933,79903,13178,12593,86571,26604,92446,13574,44205,65699,427599,21118,8245,14407,27877,47936,33542,7916,26460,117762,21596,37818,2249,127359,209394,60044,47677,308089,36791,154971,31417,6998,150042,174360,12255,43009,29335,48739,3912,101398,53340,2580,146939,151295,45360,125275,15273,45383,27456,48761,23314,8750,60801,85823,104759,27894,123685,66968,39480,26917,55290,83305,2696,98390,57569,145853,340733,4919,20024,52268,30884,7413,203685,70989,112855,4129,50536,349518,68205,332641,159581,135361,236026,37563,176404,64899,6578,122033,63871,1850,85234,82089,66124,74145,121098,107351,12687,36881,117334,13136,14698,85933,93866,18047,32620,310,15094,46e3,88451,23632,36645,27940,87618,80520,58892,20976,27702,140090,96075,67841,103292,238964,87778,107338,17019,83427,67522,7302,8261,47570,116787,8730,80484,61772,174422,56005,131193,52875,14588,28471,59817,9586,15720,158155,51307,109734,15196,11025,59331,3884,52626,102602,84797,25158,27314,4437,20488,76214,189248,35023,114952,157376,2827,62439,102878,129749,36405,10329,109339,108633,36662,1254,13267,5470,87105,58004,15397,10434,159667,21864,52022,179464,3013,32147,31496,116832,18494,105502,129227,107267,50033,13481,9954,24267,22141,16257,116154,36185,950,115685,11305,176708,2048,178671,112573,287867,162328,497663,95170,50979,193861,50987,30368,136257,31830,46549,15119,169876,23788,17462,249887,57377,1949,35448,14791,43769,210091,3783,34612,282103,88380,245190,5457,20491,98908,11402,86899,117916,16028,162584,60644,320177,156096,31065,55876,22e3,77655,9992,23397,13757,317623,63978,215255,2443,17648,93231,27388,104529,93807,55505,140477,12046,112040,70887,40152,94365,112353,25063,114679,266061,71248,119555,15589,2244,617,14129,211431,70110,100652,7777,4383,85911,89221,21010,120615,58357,86405,37554,41647,18,15143,69662,60491,14714,186134,148344,42347,5410,168175,44535,42449,343894,129417,99682,20659,27272,140483,63455,222159,17536,13722,42637,62324,11976,114691,148109,2283,32057,182393,4295,147364,33705,2075,44303,30274,28331,63740,69740,29148,10346,44862,33716,73937,153333,12930,38784,247159,2515,41053,20256,83368,256189,54639,115240,5096,24661,175419,153552,26516,141,138176,63885,34115,47222,55709,2765,28479,38875,236608,12229,22921,77291,54426,45388,2860,57787,114579,295139,105782,17826,71066,19119,54364,69385,16568,12323,28057,33346,34919,124763,155533,101386,31644,8627,49001,303600,29868,63213,9103,77280,71333,9696,138789,37059,24823,5057,21352,32368,114208,56803,19424,10445,58514,8661,209508,26187,171838,10460,63454,14016,122504,41328,21329,46618,32493,38225,7855,31763,7945,29876,8734,6438,24205,97490,139977,130740,47323,33195,85390,57194,13813,60600,21313,96251,7699,27584,170521,139271,1363,4402,336738,129223,84983,69150,13147,3590,163929,207225,155260,55916,20288,4503,8398,98490,11773,27512,37113,84976,86558,28365,11756,116005,182148,13733,115313,47644,67208,85069,9347,14995,226141,14704,101835,41159,35314,13113,63526,214039,29978,50446,83339,17440,129441,72522,118641,97816,24907,73844,15717,118884,167255,96509,162793,30847,36849,51297,78974,77793,10427,1873,2972,9999,35074,28190,64297,146836,46298,60038,163007,108919,61219,2403,75022,127339,4233,110389,69022,9833,128097,88016,79390,222936,22570,94657,28462,56956,38803,81536,30474,152794,19566,16481,147408,74574,81895,20731,1918,1366,76367,187321,54494,24366,21690,61696,33283,107477,77499,31112,414383,74362,18463,218441,120929,59848,258629,201924,69269,454,19989,13054,59894,3623,58908,20681,35723,78523,102680,38988,184112,108087,50944,132704,52966,21699,18860,96349,201411,82697,85395,95658,5093,6427,177894,44191,32755,26961,155739,6249,31310,81030,26574,84311,120155,86730,113535,7424,48888,13516,45747,98098,20077,183995,81945,43210,26704,40420,75831,45648,11180,6855,57927,65528,124096,34851,2598,156633,107572,127352,38169,123845,60142,62722,105584,232364,23211,68120,1601,22169,89299,747,258039,80572,7258,152249,11862,101204,8834,121434,33761,19175,133142,46343,40178,48723,3589,41977,30210,38868,62257,10087,82658,87827,90646,16415,47552,351723,28298,72225,91146,272760,1701,11295,1652,109651,300747,51863,198800,29446,11794,32345,37538,22356,33102,37590,113544,37970,11478,179743,25454,103417,59905,221970,105196,145604,7817,164809,102360,16974,75840,255333,56902,6659,1954,645,59400,67769,7689,18675,5215,13793,20536,27852,3387,29523,259718,16860,94625,43143,29245,15848,233581,22685,63631,78557,22836,133302,84513,1348,51826,47129,98836,58284,1830,1749,94642,10933,6145,12506,10975,13879,103781,144434,10268,28409,32346,52968,121567,107374,77268,23686,35097,10501,155275,15303,47136,21102,168741,55332,90385,15996,84817,681,137803,25054,142275,6163,38175,8056,124296,240642,65621,4934,178205,16101,62803,60964,18230,100622,76465,44689,14545,9543,47514,16852,93380,28048,12047,107106,37575,101485,77047,57326,34819,96137,76916,6469,46264,115983,75768,87668,69942,13027,165,8373,114231,26434,52844,42799,182044,23580,146254,38081,43236,33883,146220,382894,14606,46035,36481,166621,35417,95382,2957,59384,60428,36358,66343,75378,22267,22950,83528,17577,56474,25285,4619,179691,75355,95836,53295,34588,171410,4487,14679,84208,44015,18562,109133,54101,11531,86052,174479,303157,28095,9953,35642,14564,39802,16145,77606,117406,53038,121117,53624,22062,1212,7632,127157,237292,189087,10478,127345,102515,181997,86752,87623,10966,121602,68783,68681,83042,114380,138349,191305,67176,50085,39016,1427,42384,1412,67118,122616,72389,25260,2237,13576,137346,19938,20304,2191,68759,5373,61364,238507,75814,23931,69565,38993,131741,38364,12528,87762,5679,129853,5310,186831,32653,90338,260176,389531,108118,26843,43985,50175,30563,25106,56965,18130,140428,4542,165503,117991,24219,229605,1819,129663,1240,3797,76093,18398,71339,51919,93043,27175,47060,216257,6483,35051,1217,16512,80798,129064,13225,69339,8548,237079,72298,2575,34280,51379,117910,55671,53345,247552,29486,39328,140821,34681,57045,60177,5004,90269,78522,2479,322607,48474,61296,13057,31558,4678,59271,6699,27044,31988,35944,12503,83480,4389,136508,3781,114121,70279,4488,155829,42214,2898,68191,75695,305850,45041,74344,106509,30087,17429,93292,12477,290,23080,114802,35714,18751,26554,105424,17775,2144,2412,100610,65192,113975,52975,180272,135050,129815,76238,106483,21440,63186,4260,46189,9711,28249,4169,23429,23390,8324,141585,63809,67668,38457,38063,39226,59972,1189,203916,62368,14403,16949,61767,85801,1739,40147,35049,76757,33124,62102,15780,103593,103009,53484,22952,67973,114645,6566,5245,50462,7601,8288,3513,194571,80276,1908,54592,5124,58571,2513,6800,273997,193904,1119,17991,117245,2508,129156,82366,26278,71465,63341,56943,39662,106116,94966,156875,9736,2204,122308,94418,27134,1280,24539,49022,45314,3764,50904,46424,30699,28087,293839,9400,33646,40165,822,147499,50263,116179,29085,11863,31314,5578,17797,5104,12454,1604,15342,219206,10232,67800,94261,25872,13565,90339,78971,75377,26649,41184,47695,11514,35369,20767,14227,41953,309396,148270,147938,33074,14453,27499,109019,39018,25738,240196,158931,52820,8612,95853,21524,137010,84901,70869,70021,116794,48404,38771,6732,1070,70990,187297,49140,5238,576,3564,253975,16027,16483,2811,37775,19034,25259,4053,2e3,70083,95774,19713,33431,92703,91314,42381,288770,48194,95985,3991,77418,13406,241328,245086,56533,35275,62725,9246,51924,70181,95331,16163,31410,79016,39312,120878,119371,275987,80124,27712,9186,220,23598,146167,85209,68238,282190,57048,31273,30555,80913,17594,75779,59160,135002,101219,189377,29225,96735,60126,62522,104e3,27620,86814,17240,147533,11001,5425,43682,410,49460,87270,69480,46315,59448,1816,76201,9431,11788,87960,29063,65539,47347,11678,33846,7008,196704,9895,6753,8633,120892,59970,572824,115934,6646,202559,892,48351,37611,251282,57823,67263,57750,26527,34485,90747,7685,88370,6144,64182,1709,41969,21458,62327,181657,49247,225330,122600,114574,107124,85361,111833,63243,71420,15655,191178,72430,18063,51425,54002,12364,53225,86557,18193,97580,41232,138398,67821,128724,8944,233212,101353,52099,42127,14006,120107,32789,32132,3498,18123,33758,56058,5779,128760,59888,98869,18445,84702,51911,13234,218379,20093,39031,8074,70195,20708,23462,24355,131384,60189,26390,10403,41060,7140,10781,49410,42261,87202,82566,41663,43105,60276,2768,5733,74176,28329,2297,145430,131632,83615,122915,105441,655,224102,5284,136426,67763,16294,188511,32538,61049,27893,3394,13951,159099,28542,17930,145360,9492,190122,32285,78855,26440,13570,58648,73908,4239,124561,2444,74172,53131,11468,10794,73566,11623,35343,64710,30481,4163,10328,38309,29901,10538,154377,76132,92405,24839,11679,3465,13449,11637,7824,2337,57754,1260,14458,41118,19878,38661,13416,159180,37074,163164,54137,28627,52134,184900,8520,40385,29546,30502,22386,66527,107458,6850,24022,47983,30603,35083,8934,304066,39500,9,28261,33026,77251,9374,44833,116312,34990,29236,63563,125639,135405,165398,159055,55690,88141,69643,236964,31983,25572,20436,36746,60896,31850,16179,11828,5888,3043,66368,9750,31167,7915,53111,36430,1333,64344,93659,20061,60596,180191,51630,6792,30244,43509,101058,22409,420,44210,109783,43223,27030,72477,72831,32679,29235,7675,47556,12258,39907,149412,84926,118247,24692,71717,105038,86009,45941,41189,89453,29856,52543,30627,226798,67303,59230,67415,34408,1367,99685,16867,128419,52147,4111,125381,117881,16173,44093,102224,31575,23234,24870,83790,127407,239098,3200,994,1255,100903,242275,117266,55116,38205,16140,29662,11307,40414,208793,123355,56470,4862,75600,30119,58218,70828,24075,26974,7802,192353,4851,5475,78720,66596,3409,28573,64396,30381,30690,59859,88256,5406,99945,103064,34463,37727,24238,86643,60088,4057,23741,5967,162904,38240,28356,93858,25510,122879,6897,3278,7057,11971,4400,35461,211413,21395,59615,39471,87233,55795,128426,3051,22470,41950,14705,3974,180108,80476,78442,204996,91987,15634,67610,139015,142373,35611,51134,10387,4353,153456,57749,181039,14183,68447,151532,21107,36452,20551,3186,46247,46383,129666,88736,140662,146243,2066,8360,7978,64818,106963,17896,47801,10723,114821,223295,74192,3293,3393,16987,74064,11277,91622,4270,29828,27951,387869,103235,1374,61988,120083,477,145892,128378,11779,211263,61354,18221,17869,46530,83061,108538,157981,90608,67199,95080,49064,195814,12302,66307,10348,231346,160732,112859,63633,146558,21271,31037,198802,47622,12862,95710,3910,77850,73961,85585,34752,61e3,4082,24595,103679,71107,8208,79568,150019,16615,24961,139857,32664,197366,4559,54735,32696,4126,162019,75698,13916,70108,159638,19834,9349,24675,175560,49643,18206,52459,27992,10809,88865,401975,133172,29e3,34558,30915,3658,25834,42430,36562,125265,18182,10155,40149,97082,208980,19575,60853,90529,66545,9600,789,46420,2317,88593,55595,98980,115302,5742,169155,1073,177901,3472,11189,63711,78643,65472,50459,127979,93,42202,67053,21720,157650,11145,141378,42033,22824,85705,79114,35584,15974,1510,54172,28562,12451,104226,19190,97151,73024,20948,5151,81741,21499,29006,84183,198074,54003,45120,170125,26240,35177,28389,64863,79974,60778,176915,232183,45342,2038,80253,41564,40703,32689,5430,100689,5366,23007,134279,14266,26712,73993,24934,64242,52113,102887,61801,46415,201049,54251,62133,122757,164883,30815,139966,2319,30842,766,13362,10287,134518,86111,81665,82440,28333,43019,18963,8804,161944,23439,102144,101145,80029,39052,248708,30350,117340,11878,128467,974,138625,63961,5237,74778,61834,67040,43814,13690,65947,33809,232476,115258,181745,28824,94013,9510,10246,93722,81976,7217,114383,3493,16014,69045,72692,12145,80981,9507,6692,1620,60820,330444,35474,33962,4797,7053,295463,46445,27026,12491,77988,49524,35675,90947,29114,166705,101385,133782,32704,6186,84595,176031,185623,45966,151302,63069,1699,107491,947,15458,74452,196212,6046,10498,12163,10239,35191,243951,9277,9090,29539,54460,22820,26514,112549,60372,51753,48756,21812,70861,260326,41,44222,10441,16961,48148,138771,216194,5914,52153,53400,212036,56519,26245,10117,45888,15294,138019,90913,26368,43842,42111,23348,6082,194845,161089,156206,51546,11647,30759,302912,262094,8635,78876,26535,35283,54183,31183,85484,147873,12989,5197,6356,72894,65347,20150,27370,73787,1493,45918,12366,190217,20724,13858,10981,67449,81213,7553,14115,72242,271517,11842,48310,88743,143726,22177,3290,243231,58452,62937,12592,1654,40066,33477,13751,9921,128442,15868,7106,75236,83773,10775,36938,10482,170465,17368,17469,161508,32752,98340,800,19824,264456,3901,87319,2867,26782,9630,113102,185815,24197,44584,86366,40224,3636,140916,31731,267731,9567,53678,72984,29389,27963,17106,50282,284911,60170,8322,12608,23374,89652,5268,39044,229766,8869,151350,31436,177342,12269,183212,120418,116270,2843,78888,69192,7865,184099,1086,129897,18383,70508,20242,18508,229924,124569,35749,50589,55626,9884,83115,40971,30671,18135,14452,38861,17844,201826,5549,26413,17189,13561,38539,10679,143331,3314,36785,171194,49685,187713,67506,4618,104039,17060,195080,50648,33159,19238,67559,134840,28599,157523,17130,38064,117398,94355,31918,13575,34538,40326,13997,3494,348283,62481,26862,3603,104426,244363,153709,112487,304612,199674,41239,35545,54869,293005,28223,26277,26899,4533,18518,15492,38587,80488,70485,160395,263,60162,11382,222152,4696,250751,51921,182609,10707,48463,46243,1227,49111,111564,46502,33342,56846,68541,63559,858,139927,16654,229375,76759,26478,33205,95828,23399,92945,2637,35630,28470,143992,50214,14174,21456,166191,65665,1711,21594,78019,97599,111701,36,147151,110246,189022,43021,30397,40757,131935,42065,73335,48039,26596,28984,15102,2361,7421,202167,69744,43766,52826,3642,83304,33873,75140,63169,192389,36551,92748,13039,123959,233220,21738,84447,77230,20228,187852,19095,25799,92136,108774,29237,53947,2299,118106,2687,8830,42331,202924,33667,2023,73763,30704,19363,19779,16737,35629,48081,24068,101013,162338,291912,13749,24745,328289,167679,70086,48299,23306,16732,17801,43322,54589,3586,63653,43624,53474,925,109177,251316,43805,13082,19511,86565,142182,92461,17117,101033,103319,64589,4022,4351,235897,5352,82705,107142,46391,156084,5860,61365,10558,13045,7717,18357,33922,12590,33065,6928,46993,783,46937,67846,8952,26295,6107,119656,18799,17458,50747,4229,179559,112727,118080,20683,41464,125468,51560,49749,44231,7359,35339,62988,136487,67015,5208,29150,24956,105186,48858,6143,18097,6972,16404,73489,58742,97196,36357,164616,5834,32267,13746,147733,15113,132091,34127,106298,39729,106426,22294,9780,15602,36213,71502,42808,66802,599,60755,5851,39120,67363,108623,126368,72770,91263,32486,30596,151717,7951,52002,43103,11768,68942,40901,39344,24037,127500,116890,48403,16926,86750,17745,48648,159545,34460,58419,5634,114317,67865,31462,23352,24010,98185,125708,69686,68337,13610,26271,70691,2980,4768,27225,102402,75453,28106,8104,6931,1176,6274,6475,112635,22498,6176,238686,26832,28893,90319,14441,15682,15087,39517,45270,109134,104440,45965,47645,81772,7876,52683,87720,12898,4505,185665,2769,113401,15664,57592,105229,137381,97059,119268,6876,43309,33886,128363,35476,144249,67013,143587,83367,25703,91436,59347,53236,2289,16519,19844,46309,58558,99834,23313,218816,231303,36388,51333,183535,109792,139277,54306,90139,18235,8275,32710,37677,82464,86025,92204,88842,117723,37570,128723,234242,76350,73795,34896,148247,58424,11105,11744,45746,63372,17118,49772,199520,81902,38004,22911,33752,3125,1995,53792,4689,26909,108150,146062,69674,41811,161444,84855,8999,28561,16731,93937,3189,21967,24890,22943,1356,145300,51569,28802,517,118679,31703,40607,48098,108854,25003,10233,73969,177495,5248,24516,215347,146192,48712,60626,69188,40735,5866,586,101541,6509,47590,52129,5969,222045,110933,25733,24223,65339,62812,2414,155418,35819,16022,78423,43138,20995,128255,240673,46745,236093,72176,57085,97841,61248,107,36068,193177,105427,55726,215229,20446,47228,100420,87091,14429,121708,23605,21157,187721,21880,2997,203976,99166,95068,25877,7724,98925,83401,4829,13182,18229,13718,239662,38653,116505,153497,30589,89029,38962,181302,43853,78872,180301,4786,248240,7401,106136,112590,77745,19731,60880,77789,125748,135487,5975,48627,34084,12419,215770,47557,254582,10364,106495,21856,67539,88981,38805,21428,48732,42316,12149,16078,52808,25327,51322,33850,51147,12253,122354,46077,56483,254553,115417,81834,150991,94662,86668,7381,12841,100650,18218,15741,22372,68294,50705,15535,84660,61887,22553,72299,31361,24824,17743,46820,64288,31582,77006,111674,116384,30760,80920,86149,77192,51979,79691,60342,122805,103800,240873,160744,233114,78962,54920,8608,3484,316104,72548,24337,5088,230040,21926,10172,36838,26,86221,83458,102176,12062,17571,41929,41170,28428,68239,41750,103930,2634,18313,53019,34825,97837,63115,24606,73157,152474,14715,91439,37033,109806,140259,30668,174760,380,135597,95673,136073,65073,134249,13829,17279,122305,4420,46444,10237,64848,203623,70728,10349,182885,65075,24519,25783,40318,34139,22222,63394,55266,102764,41422,20126,65100,90408,53640,35128,48932,11192,38935,96839,34782,39492,19396,41332,6250,5511,19492,51304,25936,104466,54099,73771,86115,5080,7669,30891,111700,13931,25276,72289,135447,14820,258641,25265,31005,281179,75286,393,95359,14623,13584,6680,101227,80173,44933,76666,54542,13244,39348,458,25379,109451,134348,81143,6959,65554,12027,51311,8716,57589,140731,28467,23316,17272,30458,25980,55229,77197,83798,28302,114784,7428,34548,26241,14712,39336,103304,18928,54080,12870,334,87722,15208,16895,142098,114262,39820,83913,57817,28682,7721,14900,108672,11250,62246,42849,415188,1724,26555,24549,25505,26443,107450,145899,61035,43528,6901,60726,65906,267741,21338,147590,42079,18924,73017,135236,15393,5206,4026,84185,1531,5988,113890,82647,303391,7386,69844,71611,189865,76523,31877,13315,19314,198575,32821,1928,67641,25913,104475,103489,3297,70391,18406,15446,113347,19295,93790,27856,1792,167471,116449,8541,4408,41757,63233,25765,86680,64501,27034,24816,34975,6079,4486,49693,36229,16917,21581,62426,27862,11612,54284,35702,194034,355,24277,48262,87411,70504,310164,118018,12516,47559,43502,57433,107139,9290,66533,80863,14634,34312,91725,28606,21342,67241,72355,43244,375789,37402,174015,105070,8342,44167,67494,1890,16365,11723,271002,1865,47918,8350,45564,27742,25110,125803,8553,49504,81925,62211,4534,15491,19011,80373,206920,667,102405,128623,245524,5553,113309,192739,65766,19567,22832,261958,29679,21293,71134,20962,105123,24721,860,21752,33448,18372,157167,94822,35770,173224,232737,75729,28937,46828,28062,25453,5207,140366,36665,30652,6169,67920,150458,92040,23186,184604,92330,20891,176492,49427,27828,38305,42495,143982,49560,25503,90043,29747,65328,47830,12932,11068,77721,9003,25213,94205,140426,46090,89945,138173,192691,33329,112232,129905,35709,27514,1841,19957,31411,127476,53572,17497,173549,55063,175135,19841,69314,5192,237921,117660,150697,4060,273045,50414,98940,65348,153665,164423,58804,156695,48994,213928,86036,28608,8355,39574,34540,16927,135680,18374,151587,10830,53805,16878,16623,4282,48030,8537,14986,46102,13062,72897,72,33050,108227,39451,45935,651,113320,40535,95176,57450,48843,5003,19019,10407,211163,3848,1068,4988,32091,30095,41692,15099,43602,107434,50744,7627,171349,16313,150832,352665,207750,33937,38256,51091,156e3,87889,90663,84175,24908,114900,50365,31494,83829,5398,169342,47521,54818,18935,8356,43094,41212,174536,10082,92550,6678,60614,23355,69721,14796,34149,128830,58187,3179,208,40325,28399,225029,401412,51150,31580,207268,6657,10993,69818,64282,289845,23308,12961,38447,6681,52944,31855,2572,47646,120728,179148,37240,45196,218274,4816,3695,21961,50084,35209,18073,51452,27004,6100,33941,1377,84831,171214,85,141510,9078,99227,32610,6417,11718,49868,65579,87902,73018,49062,46280,61742,21512,40862,107733,15941,29168,157765,144919,14487,5767,158014,140070,7241,573,71584,16921,223566,40331,179473,35081,47926,140885,41508,52104,59180,42310,32811,29048,123517,102413,80208,10104,14746,12649,153641,126022,37965,113017,4171,83,142592,2809,6362,50416,71323,116894,260776,16204,1524,5760,30351,12658,20703,54403,36083,45408,74772,4946,14485,50759,111222,10890,2195,167147,92962,130534,16283,177256,35016,15472,210156,151187,73922,117691,43250,52051,37392,24811,24358,30830,5775,818,21969,1476,127322,151783,58392,31021,106913,65215,89407,90802,28531,11690,20234,95249,44602,37256,18707,11928,5161,4410,26571,51903,49768,22008,25252,65780,209499,68769,203726,13249,137363,48845,86823,6658,5674,31881,1083,1823,108676,34518,166752,13791,14287,91576,91429,8665,11529,26401,16191,91972,30964,5254,28486,54697,79613,66520,18447,22870,45203,194466,22822,51703,12278,76716,44595,73455,33546,12235,144843,36154,51247,11116,33040,3180,225753,60864,1972,28469,12891,28879,10338,144157,56294,353058,38302,41447,87532,110616,27065,168438,6557,1213,50804,144643,24817,2390,136531,38174,247513,16190,4059,122791,131994,137430,39506,57650,16305,5188,54309,106128,20628,88071,67394,395446,250285,66176,91254,1399,114196,43915,60230,44853,27206,106353,43013,18733,345105,226453,51202,16607,57106,117175,35492,10476,89598,127439,15187,39624,13688,61570,10615,31111,59370,6238,175252,32143,224492,41388,95408,34384,148238,78307,38959,9340,160091,61443,15737,11216,41244,170,38299,102443,113097,26382,14027,33707,3957,76300,66160,19431,18900,6952,1717,108656,82206,188021,257335,27295,43999,41210,31777,46956,57457,12657,11489,15697,48060,204748,53583,82422,284790,30503,137341,8120,19615,220311,15991,10217,63424,9808,67431,70976,98221,4491,15177,28535,144789,751,13230,2394,1504,33977,132104,30316,22230,931,97193,185240,24826,22687,174322,15307,22988,1390,188745,180325,29580,59068,74903,18994,29195,79,15436,7622,38462,11566,138710,44828,45774,37768,99236,68137,84083,19282,22698,17134,74807,126662,173497,46248,16938,119735,3212,28292,213652,49013,9975,32180,45660,86250,4801,68788,95490,77482,113751,11994,44624,94452,46839,128497,100316,5798,58588,73184,202987,65417,37790,88524,1606,43156,97964,105717,34947,11203,100060,37742,130074,93653,107799,94311,196106,41347,8035,10780,16390,27883,118236,167395,1979,25006,19375,31628,18916,144723,78502,114047,103107,86492,107686,5844,20934,206963,23556,22591,16562,146333,20167,10471,117434,33085,2863,9740,36669,41849,37271,22790,18209,28979,8231,12952,54408,21731,25130,45208,55748,138120,75826,414,29593,9925,292865,25999,683,123149,7036,92159,86055,61827,103680,23176,54918,58466,57578,13305,5709,86479,16697,31064,17660,200919,10770,49793,33423,32370,52047,16488,62555,6459,8426,83493,7763,59725,82812,18628,67760,79405,68557,9612,7673,28102,56517,69620,171797,32458,29541,15870,81109,32080,207644,71495,21202,11039,91036,61230,2810,130800,32260,4613,60590,37112,75214,33979,126402,155062,30642,63875,12810,194463,82799,47664,16725,36685,43367,61099,449,172150,102867,21691,301838,36745,7130,18671,57316,34852,38034,54182,35578,65900,99486,19771,3456,2658,16914,99866,28390,28109,8262,21147,34353,20006,4228,137085,1675,203023,283196,198286,214375,163329,290603,152574,40471,83506,30068,14730,23177,131539,34759,27668,32178,71896,104799,116305,85430,119262,42860,25160,8911,23428,49437,105322,6519,16203,6349,74711,1230,38045,8540,75165,44736,25909,51026,317034,4984,32281,91312,27060,44431,17817,45363,155937,239085,35697,59784,91993,29531,126740,213757,76560,167776,285273,24262,8237,65030,41160,74437,48804,118916,13159,37842,1031,75349,1478,11655,108777,23435,277425,101734,67469,70231,124711,43532,28514,65526,54956,1e3,21882,17728,25302,40952,52214,149632,1999,2111,3259,63362,89961,220561,39777,26335,9063,10572,12416,34551,34623,38604,24723,5947,15588,69927,66252,119177,69173,46629,28714,70715,212408,20521,406913,74380,11716,50659,50862,37009,88460,130101,7210,53853,538,65120,151950,55806,163748,52837,13153,21100,16674,64536,6091,138201,44837,58547,3723,163,2177,32288,85454,34033,8497,14282,25742,10535,10741,79559,117493,243787,49337,100718,79495,40139,42956,7551,55433,15421,31509,23034,45081,547,61176,53434,328001,8470,36263,30145,4519,74173,53935,11845,73774,60211,78025,3,4102,73782,109293,315332,48412,26683,13714,6865,20128,18490,104141,325,39470,171970,115860,15707,7268,73301,74336,31370,2368,111827,107757,136231,142844,97138,96638,84053,38691,23801,1588,10573,122098,77039,240,186135,146101,11996,18143,112963,46171,155836,348769,47795,121213,116266,132515,3344,144804,31286,99187,255838,129694,35894,48779,55235,148582,71967,65282,15174,13920,47080,6147,108242,157593,125025,7136,1286,28957,127956,28402,98813,20805,7532,109417,40610,5041,32958,15142,18408,108596,33543,50517,27748,80114,233434,91447,487,37094,100048,30541,43477,10639,89862,155868,37667,8726,60684,237903,73408,99589,12190,38739,97348,3914,13594,2680,149016,13907,30171,28343,23530,115225,61104,35821,147679,14337,4297,244282,24085,326976,56428,7851,21303,131620,71446,83253,68692,111870,5224,15813,38197,49026,45057,13660,3306,76345,40671,27905,91072,996,68527,62085,91351,122634,55109,168209,2024,27560,112707,17352,8306,167115,169921,166958,5031,46020,11844,67284,19130,76185,6920,32849,5450,14610,22451,21002,17392,31872,66682,84796,13709,40210,59898,12029,8719,53564,21462,91884,21647,88379,194428,12754,37797,132826,160016,22567,54383,53186,77611,31107,8339,4694,19185,90355,23597,17222,140675,28442,23668,55977,9128,61555,28774,155229,17658,9390,24379,69357,15752,127381,239631,62460,93181,55913,45133,140155,18676,25249,33164,29581,82837,67223,22362,29975,7317,52813,1943,29613,20012,207130,49617,49651,5636,15334,36313,29226,28084,95247,72072,19e3,224932,15811,114,32127,38097,37508,88507,37225,27359,91626,12193,69279,20608,11055,88156,92808,2152,57259,55275,72789,24475,104414,1708,9882,3818,48661,66897,1631,34806,227930,85815,87753,18321,250664,72733,25107,206797,50891,8082,196411,92596,96764,152823,65514,22819,387277,62176,51225,40329,15563,189,3659,73670,64357,51793,275136,33482,86653,74615,67058,11318,125720,15388,22388,8267,1730,102663,170910,40784,7144,85373,13040,7088,94309,583,44224,140424,77439,18496,164026,36578,4722,9151,5824,63365,26510,35199,40500,79277,32495,44614,35233,9566,203293,152144,7097,2330,183480,98629,13423,330887,44130,68600,30939,97829,31012,345465,56747,94879,4939,160027,149761,99423,46099,32251,15332,8761,96094,128555,5763,235318,222223,55729,30241,55420,201746,3987,81382,8259,49325,23287,7719,24633,251100,92311,18591,110533,64759,170260,393860,7175,21144,132887,3593,75346,101277,91109,16387,259187,11627,57459,173829,44694,55780,49797,89192,120443,62622,3904,14814,23887,1027,112258,64955,99800,11132,66353,36202,48624,18158,88481,96882,43059,11040,2455,7077,21651,181159,99126,100434,61388,68186,19161,110468,120052,8819,55324,41494,7014,37689,3618,87729,92615,207943,9823,128657,12587,15857,6379,67628,51216,71775,157617,63244,1503,3864,218754,110864,5769,21492,7243,1192,87921,85529,31512,18537,42698,35350,73510,84474,34301,8991,21013,35034,566,38832,19838,35586,37216,39413,55006,12178,59742,856,84563,6900,25632,17437,49786,30723,13847,70845,4044,7843,23944,235976,55530,48942,6518,20939,73769,192653,52936,95207,23895,132542,142982,22632,87452,48042,54018,178468,10728,26230,23559,363,81269,142012,5718,346258,31456,84333,246476,51018,66692,101804,120570,39962,30373,70593,2864,60541,19425,54209,104092,7201,31545,48018,25865,15442,46257,40443,8328,6451,111782,47527,97754,33046,470,245116,31095,39,91934,87208,73470,36708,36521,12801,70624,36272,8892,79768,12427,55454,103756,5908,52390,62962,22720,141138,94634,41689,128402,126390,6628,106394,35527,134394,82727,254651,194502,148064,89549,3202,28359,957,21954,27906,49840,142747,8307,24206,48978,1186,71728,133038,71474,91306,6333,110959,74600,70387,18983,62609,56057,22970,1147,135850,1321,28834,3578,59715,102227,32827,81415,99952,55636,257598,390,22702,35701,85872,402916,39216,189795,14929,19467,10112,144422,61514,5279,63421,134686,41436,8424,51925,10598,132295,124416,4604,194739,210929,57866,31829,51626,50007,9976,91878,61906,56168,81906,60918,61859,40017,23059,16887,40927,62064,12785,32893,32913,21782,93965,20169,44387,79084,38463,11457,93950,27127,157050,2697,337088,5116,54128,48255,33279,8821,27352,25515,124022,65710,28906,38557,33390,1722,104435,72215,38551,12094,30978,25113,6671,37355,175109,42862,98024,65406,221276,59624,118012,64637,78760,86697,21426,1639,40350,12584,67193,84144,31396,7863,143011,69629,63112,9454,28666,65798,46372,134721,6314,51402,30837,151922,2847,38676,38008,92823,136245,17540,5504,109295,205242,37606,5211,214892,1586,20670,208711,137743,19328,40652,16995,20023,14657,154919,34422,12996,13918,38221,47690,16398,2959,37680,89122,6721,198469,91876,172043,83898,101992,26084,94570,3635,76958,22853,76497,38266,176590,168403,44464,142840,79180,184594,1984,41806,83147,11985,6546,366068,59732,24533,271505,8736,39084,222992,93429,28962,58985,86665,8432,30028,14548,32439,54424,165029,55175,27458,69046,121277,46168,33732,20661,24581,135574,123110,37556,79260,72611,16957,12939,46162,58238,44907,72936,253758,41324,32518,96480,11949,124438,65280,43256,34107,53533,43531,37037,28366,45970,32741,173438,6121,194202,62969,26355,30314,58370,28455,1848,50519,82830,90393,21761,295490,10936,256940,133568,44050,20269,4089,27457,21610,219460,36743,14821,101388,52005,13124,30979,140816,167362,26054,18458,60789,34917,40447,26606,33422,9066,3452,83614,5761,20263,137238,25038,91310,101,52322,74548,42572,38084,214054,186568,31802,17665,30620,141936,37730,14420,4265,187218,49640,188208,51441,55388,96452,66659,40869,42039,60967,221027,19234,178581,29105,96050,9165,196118,157335,3738,40354,117436,2965,34136,59659,15570,50843,230035,31444,71260,43886,18316,5387,38500,168508,17406,32174,8828,103373,143806,90367,3560,18719,122310,16508,26719,2541,105429,6645,37998,73190,10591,235916,49737,87112,233941,53188,32193,79154,4544,52905,126477,7580,63501,57314,3216,31337,6541,103083,60846,49,9756,15481,1355,43840,14319,13743,27486,10222,73114,230718,418644,16706,6674,279748,23058,45273,295831,86306,2743,5535,88773,21829,35253,120938,31153,3169,16839,42847,8751,80974,33942,36867,35514,16485,26474,77775,56877,5391,48346,3882,108713,31403,27804,55248,26235,43821,136104,40118,175507,28034,203908,18732,1788,34030,106427,36958,54359,7251,44936,15356,69139,455,157915,22173,140291,50348,43275,82066,49621,54952,15216,36226,96695,66855,6936,1987,8227,196087,4631,68827,99004,47541,110265,17953,147605,110242,58520,31312,38724,329975,642,3155,34497,75937,6207,73843,6120,17249,51429,117746,3218,910,68961,319671,14938,29555,34700,1649,66673,72268,9655,76800,153087,6941,210168,27130,35398,1780,73242,3135,56689,19556,165307,8765,35967,121458,13333,70453,17350,117253,22265,13340,44265,39869,441,3742,135025,23581,33309,16543,17731,13291,157637,283005,21408,101360,63887,52312,83873,5338,233779,23759,186949,34531,177320,38069,156465,91004,19353,59852,68160,14891,1338,1072,29823,1950,28901,81407,313445,73038,84807,162348,240257,37162,138934,16111,58013,41253,102951,16457,96056,19541,56402,67217,41638,94381,89674,29481,37456,80815,151579,13937,13683,132537,19699,134545,67020,29816,222341,141235,427578,48868,129557,233342,23077,87871,16213,18728,16184,9469,37913,19680,2798,171356,178328,13216,50049,72690,71904,124644,55455,7504,29052,41036,266546,19899,30391,188755,8659,59469,16,104298,112943,53865,76203,138226,68857,139953,14125,107625,119795,173133,4398,50273,48808,54390,16466,122086,31835,67035,50971,48859,7508,46427,66477,73021,84615,39985,83076,46779,201569,53336,36443,60865,168164,143810,51393,25548,169307,32896,24485,38424,21837,29087,275813,51674,6714,64883,46169,187369,55186,76192,12852,12018,62134,31067,118303,16542,12125,10579,4928,26291,43854,7091,10946,253716,109062,39283,17261,113012,258512,47764,125126,32646,55892,80279,201623,149872,3192,385,1208,48750,5376,58738,22335,5427,82416,47811,32435,143086,38930,94128,59975,156037,37977,38224,62485,7698,50405,71027,16462,21559,136153,34131,107506,162069,63703,3101,215029,40407,4178,3774,9187,80019,17880,97926,67579,2600,18405,8351,47924,86638,70820,92206,86453,29610,42241,119200,3198,15466,67813,57863,35454,4779,99518,4649,104641,144269,33730,38073,65864,6838,109456,193298,154007,5623,45741,30846,182578,25573,157224,1543,58575,138703,146140,44971,49356,18275,59064,20300,13122,11848,24453,11973,9797,86843,2919,25530,49210,1130,161220,76788,75373,85604,34926,36014,17777,17255,51533,11676,92226,51845,119859,21525,5936,18507,28050,1140,31418,14857,34207,47859,10750,36382,32079,106909,59426,87757,38393,110042,15965,97104,33757,35344,97993,53979,33651,45407,41884,82515,173089,7177,58371,35365,47543,51927,35587,10670,23544,29306,84233,39976,76076,62097,9007,8668,28119,78281,120790,19835,143020,54968,18670,64959,20649,34469,42570,33001,136570,87796,120044,1106,58700,63951,127623,12805,83057,40212,31773,49850,7361,54336,347524,101314,23751,19569,48791,29174,49369,20467,7465,75842,38281,623,112457,60210,28849,51003,94720,6426,90047,85560,43761,3579,85105,34607,90410,118528,7224,42907,111163,18168,6960,161135,191298,5247,100584,127552,171568,20121,91173,12636,54615,20199,63730,98105,2396,40387,14438,125012,4765,33235,12865,45299,37728,82098,77872,114037,59253,19675,24838,398016,102561,11446,17069,57508,178277,65836,99941,26114,2585,271882,136866,50126,11027,155648,118367,14585,8910,123015,335383,40434,41016,53021,14439,87098,176860,201543,121888,2358,9286,5739,22666,54270,37884,169381,33984,93859,16124,89364,72207,51639,76366,99029,65812,2198,12147,174891,194289,6986,30252,88822,21284,11445,288337,160821,33034,100869,43852,25761,52882,1144,103809,1924,84458,86079,43411,13542,139276,18141,34978,41298,7276,26481,173800,33210,17951,142652,33616,33677,2210,19941,98568,2486,192414,80136,12058,235883,50963,249638,29572,27221,47034,6124,72107,63346,97620,158513,299699,40388,23235,37176,224244,198386,121323,67992,23827,63170,17838,106622,158590,26807,5345,23489,91891,55474,74834,37981,13058,5977,72552,34706,26828,145172,19904,21367,34043,960,77092,91381,4733,47446,7680,41697,5170,16960,14741,46101,13656,473,51842,37433,11103,11551,121951,13191,97536,165932,50397,51628,129028,9069,44885,6590,59195,47045,32940,225472,90345,21833,13303,29407,96615,141951,5198,6028,18395,7181,3861,14966,156358,167182,36529,55253,25942,173153,30959,27261,50691,150176,162201,38467,48462,80602,42163,118482,168,108756,26011,17166,54149,456538,22512,91374,13816,90358,131615,18132,226707,1824,28139,26860,42253,93877,77351,65575,8980,80574,22020,27948,40422,91324,76376,13528,39281,91685,82215,122541,144066,1983,193851,17283,26320,2739,194978,4790,26845,42627,61300,65815,174612,55133,4200,191130,79771,158321,52280,166796,221620,62461,11278,4067,88152,83409,31717,121367,13522,47325,37945,10406,174348,249321,154101,64912,29938,51775,17220,15776,166138,78890,84425,54121,42861,16368,24572,291647,10197,32073,22651,11677,97509,26952,35787,18424,41910,71614,94977,72318,41594,70024,275419,37702,60199,7335,39107,61315,18271,18394,33768,87884,104277,123724,7277,56288,71981,189803,49320,3352,6798,14240,8954,69220,94433,57372,28620,68863,193727,85575,42309,41667,67689,42081,22543,44824,12719,28540,114236,101553,27638,27296,4300,5353,4663,19379,94098,3758,95888,95144,80344,87320,28447,259518,12718,71391,152731,37063,24132,31911,104896,15672,103782,1521,4945,72541,23717,122632,15619,87175,206120,29428,189780,61416,28350,44457,972,1175,47233,198738,95789,41907,21953,97034,59341,22864,53713,16873,32971,20693,20954,31336,21477,16169,38370,16412,9019,3841,24599,21938,17085,6484,81198,76413,5849,72514,12320,65247,276175,37234,59796,52642,16312,57349,198507,94148,46134,18958,125552,1747,18725,151873,14901,5490,68287,29470,3689,64794,40814,26018,25692,54450,2703,88278,124886,173087,174e3,24159,179477,24276,46004,201876,209202,445,52876,31948,30206,157610,39180,18439,44124,50469,5774,96278,222758,200216,50290,45486,20435,46986,46276,140133,142326,15569,13363,47522,92583,2182,7135,16853,22998,30272,4952,63263,35623,39096,53789,44864,20053,110392,124213,4630,16087,28221,127787,25839,77481,44693,13464,113146,6983,27069,55717,50102,4760,7107,26186,66507,59145,36032,104182,71328,29425,64317,50781,47465,94298,69706,74899,22754,120756,25108,93077,56834,73286,39928,16218,41699,176763,7555,70819,50083,26895,23315,26014,16773,123079,41712,5719,31516,90427,158540,85051,183128,40864,27505,55392,9058,45224,96857,30901,136622,96557,56304,120061,11501,151448,5773,89743,7769,86069,2935,18471,41628,10114,33660,110170,49479,26745,92846,33221,26731,18795,87076,8550,2100,29972,120289,3077,72490,33784,2630,208722,50861,63483,79029,6419,39467,14302,45286,64207,9686,67513,44170,1050,77246,59266,17055,53801,7150,11111,42432,4278,94579,362117,36175,42902,41933,39002,98489,22913,74161,84773,57036,17556,162288,74485,178760,93867,73635,128860,50362,261,67455,80001,46080,35662,4368,25247,19230,74393,22588,1822,27682,235324,13798,85998,13194,235067,23514,71669,147632,23191,134748,214683,105101,1518,25489,247114,7380,54842,26922,3971,26361,20844,68642,170517,77339,123255,8963,77818,150998,48466,36806,2732,23261,11741,236162,18243,126216,28690,50546,16385,92760,197383,246558,201295,88255,67588,71687,176076,172653,169058,33906,63747,24835,157621,43338,30050,46152,132741,2770,51371,94835,6614,15112,11749,56936,1250,19027,399017,58036,100215,23388,55815,308768,124152,94803,9521,64186,8971,28,30427,62163,7616,103838,35079,29203,131235,7743,17389,10882,37420,61460,228512,85363,41581,131077,62822,119647,10130,54445,26925,19968,29016,24446,74028,24176,61448,67185,9254,8563,119129,9771,99184,37716,39514,10532,221512,258753,218630,55980,23394,32141,61924,66749,32411,3741,36475,26678,77010,44946,91203,128749,116953,20476,49625,53116,13735,102335,29376,51946,83407,67892,59212,34685,21083,1546,112982,32972,74397,1078,190545,16082,86140,58591,89611,101531,10061,105104,76319,20035,17551,52611,169061,190842,100780,23907,90413,115619,9675,34710,193435,49443,129734,11183,258877,16318,136182,126808,44635,27304,192375,2599,125648,47051,12091,23814,721,58800,40137,66726,97930,60877,74487,7942,54326,9841,41428,13762,8211,85383,6950,99177,79806,201786,296464,124087,13144,29741,41721,47634,55088,254286,106408,17041,99064,12942,64086,45233,14005,2612,55827,255,7984,13980,38574,12776,46654,73499,249951,2101,26676,25996,132326,116415,119062,50449,31033,23038,11589,179252,20007,14860,129270,21143,17796,144715,60106,70758,69842,34674,282133,44014,16774,57268,38528,24053,46373,201667,28327,471023,51889,102667,21193,114909,84132,69317,96723,67969,16134,68145,15058,28765,32035,2524,101089,98664,25045,76571,14957,86040,118506,262428,154764,81573,39681,283900,73287,127825,544,80448,52347,38512,175971,15180,45467,33086,46552,48894,81107,43213,36672,54025,76703,8053,7608,13299,56619,20752,238099,54164,105133,1444,32942,953,37564,8e3,66316,119463,106817,404,13667,149108,128597,31267,10269,49836,106150,1484,52330,76965,160486,171648,38456,31263,22424,37738,66245,67467,143369,60471,75610,20895,115528,86070,60854,40796,49347,18989,15030,11371,37578,15779,79867,10187,86462,46402,155626,93200,40229,7090,57547,108053,99598,11088,47505,41218,206017,2173,20988,30219,22919,80563,57566,42369,93141,41675,2407,182519,120495,27154,16702,29456,14349,7958,16688,117177,140375,42467,261919,74916,153569,10836,34742,49526,7621,105997,12212,2270,392377,7755,17959,25086,232152,138791,33847,13860,35316,5811,1344,71259,50452,207539,92635,50359,5821,33674,30255,2086,2587,96264,17543,42,6029,9580,43007,139248,82831,12917,29607,25786,51467,42137,85161,100698,31561,88989,121990,278500,3602,109344,37982,15279,116442,28936,30880,87894,58079,128661,126731,67392,28051,146885,4861,16216,97344,42827,147561,153948,22684,21335,47685,1853,43349,15185,59642,10229,25520,187921,108972,5579,98037,24945,6697,19193,63734,137934,75056,89740,19767,224268,56138,63643,151661,39313,70618,84031,89723,84074,13703,85626,35460,8867,64845,3439,57906,99776,63968,49270,81130,34356,16210,23547,36446,34090,140028,72439,2221,22163,57058,363492,113754,18913,95451,48663,54464,54037,176097,68425,3023,34906,29482,117389,341780,80431,58330,16753,92616,60907,94846,147486,4498,48646,7773,46801,7778,18946,464978,47558,33223,177444,7328,15626,63337,94700,11743,9351,255024,39098,16447,42647,96230,39769,58840,10068,63439,35800,65843,58823,413844,9156,51258,7434,61791,85018,6872,3692,28096,7121,33024,6009,75532,31997,192535,9661,3304,9547,14753,31987,25314,55689,15896,20430,39472,31340,99744,25398,115569,54883,28719,205423,23071,57855,64638,149867,25671,82403,37616,20668,39989,77996,74948,140555,175248,64810,36515,46595,4958,248773,24045,28728,136673,168704,20804,114833,100325,27135,21205,96151,153134,45992,7093,13992,76047,1980,19432,145001,75159,87462,17710,1013,45556,34297,144882,20648,26061,11319,129567,108555,18872,464580,33386,22717,65948,167189,5603,135042,79542,8801,202632,18114,91882,5973,5239,67315,4431,60916,47819,71693,32597,32606,18183,45072,80329,76385,24749,51305,40314,156514,14693,130345,13168,66214,18029,12858,34801,27628,14544,10823,40522,40185,33739,148694,23548,9923,61012,28859,17933,19442,34364,99849,164107,141167,30629,21054,6744,36491,8096,42474,41706,155060,30650,10600,163442,1143,96655,61390,52359,7559,51568,64256,203854,4467,22453,14504,436398,7878,6980,8293,63610,293747,16167,35763,19627,147603,15419,18032,110744,51346,33681,54571,40472,48615,39073,21604,13754,173027,92560,11083,47299,63062,11813,52007,29883,9734,139722,15953,1550,20651,13616,49306,16113,90089,92326,7584,30712,72424,164858,6831,152871,55746,197721,34167,196442,6022,112107,55215,7538,123381,4920,43539,77165,8939,50392,34192,20225,79762,22505,58667,40770,29788,97180,82835,4568,8579,13273,363569,35898,49983,436,36598,3237,131691,62418,35591,8101,4073,379438,65218,76072,33887,2968,27573,212619,288680,68278,72851,150504,217896,6913,121339,22017,35340,51072,43616,75043,31437,10833,81487,4364,22968,41454,106687,85446,19863,109625,149241,524,141850,214404,54376,657,237023,9401,108137,53800,32474,49712,53334,126876,27337,45552,177696,8269,15036,12097,42240,2328,125374,119295,99715,2500,19624,39441,27220,102691,60957,94543,39101,18566,67362,13975,78230,25017,34017,239007,90027,39351,41681,35354,43822,1043,916,58587,141983,94818,38799,75459,41114,67432,16195,36606,59568,22272,126769,31424,68659,12287,134302,257977,5756,207285,95637,47248,117689,19583,77451,22373,12200,54993,117118,34244,29386,34562,53819,71267,64172,77665,49368,7716,59301,25749,45426,194789,17297,2650,1766,32501,45198,20403,20984,6600,14171,94604,19037,5402,29896,9938,59935,109708,88081,145182,44844,39167,352626,164173,35374,45982,6122,154,73419,220487,53834,53601,17992,8609,229321,5610,68098,66815,71012,95069,140968,27396,8957,134489,24656,86659,56598,134852,17316,123838,255436,6613,41610,138033,81452,32023,32396,123687,63398,8693,29712,30407,19296,121188,3551,36099,20032,111948,56624,16547,27453,35916,15378,52039,56849,13489,22214,73177,53097,277349,2157,14029,187886,10260,141743,246460,91880,50869,3788,49486,133566,54950,33120,129337,53768,18333,9525,26902,312251,10297,9020,70759,16647,112432,59260,84609,9818,82766,73569,468,46001,75780,55028,52106,11498,43645,108069,17150,17753,29417,16705,31799,9606,289,122254,115975,8620,6133,255357,56908,14456,133464,43554,79224,11247,29630,160,12756,25464,65960,350428,62521,321796,100359,67358,35169,46172,113128,48988,88868,31094,33266,6847,60887,98188,49659,69117,92977,220228,13947,80181,35103,62170,97351,13475,2440,199768,19498,36597,46971,25234,67806,62881,84717,73648,181966,10488,94149,21550,26655,63436,48375,14405,165650,9621,24439,28043,42735,4490,29963,56674,45373,1934,262446,50855,67098,26898,5261,52696,40644,33900,9440,180286,87162,22940,19704,26936,69769,10254,101759,27406,12243,48e3,73926,113215,54935,5726,192787,4312,106216,9366,11550,52949,23457,212271,277152,133895,108374,6191,96477,29980,218916,58024,54696,40853,91124,65894,91170,65908,252552,6793,29212,15389,44516,122515,52617,35058,9017,103536,39510,49136,19242,130652,662077,74699,47024,31422,8517,73351,24399,13867,128360,4810,4434,61779,111983,61036,17798,110240,59722,102960,39688,10001,23803,23039,176498,56659,44814,134295,17188,77577,74466,226175,102472,154333,63900,111747,18062,41171,79669,32773,408933,42562,28931,30907,107388,43487,2946,240310,23938,24354,319,184983,7927,6488,1422,10790,68809,68209,64775,4361,202,17123,59634,51200,44391,18188,17843,2619,74278,3230,9540,47187,21702,36274,56894,43907,16310,34790,16866,6150,5561,13587,107545,108873,126867,86986,28640,33427,19017,5762,80637,17430,46903,2047,131055,25958,13558,5444,47152,13900,44563,122857,45348,70863,39593,54332,38068,33637,318,40310,143467,18502,24520,11377,62013,28942,27246,28269,83545,17999,59015,90707,30065,15161,34720,1263,37008,2012,6060,98575,92933,5721,299,199555,24578,29223,2985,743,115825,109523,136657,47454,26378,53586,3733,174945,93340,244456,5693,37386,28782,89767,27545,23573,18798,136425,34320,84778,20041,48453,38215,7477,71958,40621,8773,5874,187927,105965,51100,43533,18083,8443,10180,43597,2003,183999,69689,12216,129696,146188,62389,34044,68410,12765,43273,26949,266807,3345,34477,79197,5688,47539,213110,21634,22257,50092,32222,42346,39530,63668,98,134978,74022,5152,59088,174145,37220,9934,9545,118937,5724,87240,19875,15784,40143,23263,87513,181654,285152,37881,263241,4966,43934,10433,186657,6470,74416,225854,25908,142677,246262,32280,6192,75890,45546,143264,135305,29742,47013,77787,11732,126658,8763,37950,21806,57557,113464,89465,108995,164574,23894,22996,23169,15369,23117,17642,130607,40503,36239,280990,44666,9981,40427,147487,26869,168452,32886,32991,46798,240839,15111,70502,65697,88548,44145,28701,48767,31139,206777,35659,181164,166262,14554,171445,31786,66523,76607,17956,6507,31279,90476,116611,167918,6560,1243,115324,80128,41867,55897,187323,37069,32596,189444,145931,13390,105530,65709,26805,6999,55714,41300,22915,68951,22138,21120,22264,10058,19945,33635,56123,99085,10032,5818,6016,46649,57476,35264,94413,112522,262288,93686,83038,14341,23204,28807,66084,77987,6101,126673,7133,38126,5923,122091,170240,97772,46874,215746,43948,41622,3272,55596,8332,146411,251315,13533,8561,81521,115449,48616,175175,2063,186556,3036,134537,75772,29728,82360,22973,186559,86348,89100,38388,82297,45610,2613,87082,9986,177812,57884,23591,47485,42543,33582,44713,74439,257444,252451,31825,35631,38540,33066,5147,13973,4343,51830,70378,22827,26448,95560,36896,241741,48067,203953,298860,61620,20450,3220,67272,6586,107662,100160,108684,6929,57226,4762,7457,1320,40404,77204,99309,62750,208653,59977,44e3,74315,34332,5819,172217,64904,114077,18147,84012,1791,98456,90930,21446,116669,103938,7422,85140,59713,5768,326211,16239,75411,13229,29398,10758,236107,1539,112472,95979,152154,151294,306,21196,38146,10700,6891,84282,109646,56492,40539,6589,119491,51354,30685,140209,136906,29622,73617,49553,70525,51671,166869,139616,74395,37439,49595,45678,11959,33211,86560,52434,9282,62690,112155,130810,5243,108261,99970,265613,72551,80049,6391,33365,90721,66737,69872,87011,1860,9032,112544,60905,37371,89015,140351,19076,850,373531,2802,36725,218795,72062,28990,16550,24614,7815,6187,26336,33373,32162,42791,73555,32062,23386,10244,56392,49442,27076,136262,12412,14883,1134,33675,97153,199281,15608,100152,74072,47942,254301,36451,16026,10687,65067,56708,254030,30290,50490,13864,57941,259331,35588,23485,43486,24869,21620,92971,22072,88645,1048,182050,13343,32452,14825,19509,3325,216938,45740,99716,189082,53740,78245,25609,24311,176777,47340,308354,40669,66085,14102,125339,9225,128709,97207,1271,200933,78439,113451,88975,18324,46521,11819,18570,141756,72512,170020,52754,63550,118515,103073,93330,32736,50499,14722,31600,68452,398867,29316,172786,18417,104924,2606,5670,84818,16288,67106,59580,82929,607401,291,85829,359,15897,35830,50696,65630,52672,22115,356968,29895,40837,231192,34024,38957,26722,406,23335,124952,72068,68804,13268,147101,164740,276569,162596,66943,11569,26654,66358,4777,23229,102127,5848,978,2921,59666,5371,28212,90108,42938,39320,2499,4271,108792,33510,125072,71653,65239,38250,66357,38577,13964,86251,35708,50755,36010,29448,12209,3844,38222,206337,100876,67827,137088,14167,252225,84163,195270,1306,5703,54198,779,46802,22028,51124,86759,70560,113164,35685,162145,45471,34561,422,2611,6464,47486,19223,38246,9191,18331,89942,243642,212364,15893,17518,22617,6409,30046,126182,59716,36560,104428,18846,26592,19458,50793,147333,30826,1388,27647,10922,14495,33545,19269,135828,39727,41601,46931,233379,49169,131130,182112,16276,82381,118209,142445,128310,19672,28740,82907,33436,3118,102206,28723,24819,41937,38854,5157,3881,111491,1142,9776,421673,152241,29309,14961,87854,6054,15424,3796,82656,54996,2108,55367,239450,154525,9643,118103,106041,64601,68549,48707,30266,25772,18740,9462,229669,91798,112152,191327,14493,72828,8175,66636,236474,25817,87351,129027,76653,20422,22983,71240,27846,44661,12399,46158,77704,53101,35032,11072,17300,109294,33638,24408,1895,11241,760,17584,82479,125877,63150,141075,34259,23274,81698,15732,43577,48340,91584,14688,16379,24481,150280,96420,262050,48635,43727,61819,56268,72003,88178,17281,79912,13218,122519,125295,166396,11811,2171,118930,67746,17636,178278,174656,95661,173039,83845,79689,17473,98555,127696,203415,54730,22925,232239,9309,12136,175026,20740,180188,10747,39816,314017,266131,10040,175732,112550,220651,31974,37393,888,23008,86799,4303,64905,148467,75337,251,3284,370102,50264,9835,5438,23655,4481,29851,329,12855,7162,64931,78141,12804,42372,296771,83547,18624,34874,86271,3360,48665,77735,88767,11463,63527,28889,22258,29140,194315,113924,25499,6406,31334,1845,4802,49184,43455,35469,127594,92970,61038,115005,38840,87761,106838,8811,20572,55637,11162,96721,132425,108925,2948,125457,36356,3502,75270,27622,127192,2561,123095,49394,61155,16897,110064,9699,89448,53356,19628,220310,21622,83036,9885,112214,6087,26713,17901,161912,91492,3440,68594,9266,92238,8087,6866,150194,72175,80701,13459,31836,43243,239700,95846,44749,50647,21945,230538,120612,132371,244604,5193,105637,34661,41341,68775,85393,1874,8771,33718,49672,77403,595452,99507,6490,58895,128742,7704,39239,73217,43816,62824,37804,199976,22361,80005,87514,94832,14089,4574,139975,59142,75523,100268,43906,53442,15152,2547,186002,17011,19513,204282,3343,60568,128318,119250,4298,51871,41336,71759,21921,45074,98169,145889,99427,11350,1237,5520,28799,7803,53702,21026,136352,38293,128690,12158,90132,44600,10184,26957,39459,126025,78904,82999,59373,39301,150198,120529,153042,20177,50089,14764,271571,30530,123161,38975,101562,22941,5648,124654,109243,69817,71675,49162,106884,21241,107795,30258,16572,188262,141456,7688,60718,8271,11044,32440,104608,103419,236109,93156,43293,128929,42107,67180,25201,115254,185488,130954,72813,167547,20537,39969,38432,22582,184022,1139,27199,5655,17767,97412,122606,209377,27070,35871,326617,188954,42680,73512,80911,22629,3011,95021,315242,157737,383,41821,41808,19335,27950,15674,25677,110950,35375,76835,59108,57370,35262,16569,160415,37706,78086,32041,49691,137143,9782,172080,50148,77917,6323,10110,69172,17711,21795,59511,76184,135114,31046,132319,59105,157578,20549,80778,57649,158421,65143,4575,72235,21899,10797,92745,34035,106079,80159,4508,78304,25350,75457,46458,32937,25623,47,8531,104751,84953,8138,36508,187199,66310,115274,13253,32461,38536,1916,42007,187160,35055,26325,84394,35963,94216,45590,97782];var L1=15,k1=class{log;peerRouting;routingTable;refreshInterval;refreshQueryTimeout;commonPrefixLengthRefreshedAt;refreshTimeoutId;constructor(t){let{peerRouting:r,routingTable:n,refreshInterval:o,refreshQueryTimeout:i,lan:s}=t;this.log=tt(`libp2p:kad-dht:${s?"lan":"wan"}:routing-table:refresh`),this.peerRouting=r,this.routingTable=n,this.refreshInterval=o??3e5,this.refreshQueryTimeout=i??3e4,this.commonPrefixLengthRefreshedAt=[],this.refreshTable=this.refreshTable.bind(this)}async start(){this.log(`refreshing routing table every ${this.refreshInterval}ms`),this.refreshTable(!0)}async stop(){this.refreshTimeoutId!=null&&clearTimeout(this.refreshTimeoutId)}refreshTable(t=!1){this.log("refreshing routing table");let r=this._maxCommonPrefix(),n=this._getTrackedCommonPrefixLengthsForRefresh(r);this.log(`max common prefix length ${r}`),this.log(`tracked CPLs [ ${n.map(o=>o.toISOString()).join(", ")} ]`),Promise.all(n.map(async(o,i)=>{try{if(await this._refreshCommonPrefixLength(i,o,t),this._numPeersForCpl(r)===0){let s=Math.min(2*(i+1),n.length-1);for(let a=i+1;a<s+1;a++)try{await this._refreshCommonPrefixLength(a,o,t)}catch(c){this.log.error(c)}}}catch(s){this.log.error(s)}})).catch(o=>{this.log.error(o)}).then(()=>{this.refreshTimeoutId=setTimeout(this.refreshTable,this.refreshInterval),this.refreshTimeoutId.unref!=null&&this.refreshTimeoutId.unref()}).catch(o=>{this.log.error(o)})}async _refreshCommonPrefixLength(t,r,n){if(!n&&r.getTime()>Date.now()-this.refreshInterval){this.log("not running refresh for cpl %s as time since last refresh not above interval",t);return}let o=await this._generateRandomPeerId(t);this.log("starting refreshing cpl %s with key %p (routing table size was %s)",t,o,this.routingTable.size);let i=await _1(this.peerRouting.getClosestPeers(o.toBytes(),{signal:AbortSignal.timeout(this.refreshQueryTimeout)}));this.log(`found ${i} peers that were close to imaginary peer %p`,o),this.log("finished refreshing cpl %s with key %p (routing table size is now %s)",t,o,this.routingTable.size)}_getTrackedCommonPrefixLengthsForRefresh(t){t>L1&&(t=L1);let r=[];for(let n=0;n<=t;n++)r[n]=this.commonPrefixLengthRefreshedAt[n]??new Date;return r}async _generateRandomPeerId(t){if(this.routingTable.kb==null)throw new Error("Routing table not started");let r=Qn(2),n=(r[1]<<8)+r[0],o=await this._makePeerId(this.routingTable.kb.localNodeId,n,t);return Pr(o)}async _makePeerId(t,r,n){if(n>L1)throw new Error(`Cannot generate peer ID for common prefix length greater than ${L1}`);let s=new DataView(t.buffer,t.byteOffset,t.byteLength).getUint16(0,!1)^32768>>n,a=65535<<16-(n+1),c=s&a|r&~a,u=S7[c],f=new ArrayBuffer(34),l=new DataView(f,0,f.byteLength);return l.setUint8(0,kt.code),l.setUint8(1,32),l.setUint32(2,u,!1),new Uint8Array(l.buffer,l.byteOffset,l.byteLength)}_maxCommonPrefix(){let t=0;for(let r of this._prefixLengths())r>t&&(t=r);return t}_numPeersForCpl(t){let r=0;for(let n of this._prefixLengths())n===t&&r++;return r}*_prefixLengths(){if(this.routingTable.kb!=null)for(let{id:t}of this.routingTable.kb.toIterable()){let r=Jr(this.routingTable.kb.localNodeId,t),n=0;for(let o of r)if(o===0)n++;else break;yield n}}};var Is=tt("libp2p:kad-dht:rpc:handlers:add-provider"),U1=class{providers;constructor(t){let{providers:r}=t;this.providers=r}async handle(t,r){if(Is("start"),r.key==null||r.key.length===0)throw new U("Missing key","ERR_MISSING_KEY");let n;try{n=Ht.decode(r.key)}catch{throw new U("Invalid CID","ERR_INVALID_CID")}(r.providerPeers==null||r.providerPeers.length===0)&&Is.error("no providers found in message"),await Promise.all(r.providerPeers.map(async o=>{if(!o.id.equals(t)){Is("invalid provider peer %p from %p",o.id,t);return}if(o.multiaddrs.length<1){Is("no valid addresses for provider %p. Ignore",t);return}Is("received provider %p for %s (addrs %s)",t,n,o.multiaddrs.map(i=>i.toString())),await this.providers.addProvider(n,o.id)}))}};var I7=tt("libp2p:kad-dht:rpc:handlers:find-node"),O1=class{peerRouting;lan;components;constructor(t,r){let{peerRouting:n,lan:o}=r;this.components=t,this.peerRouting=n,this.lan=!!o}async handle(t,r){I7("incoming request from %p for peers closer to %b",t,r.key);let n=[];dt(this.components.peerId.toBytes(),r.key)?n=[{id:this.components.peerId,multiaddrs:this.components.addressManager.getAddresses().map(i=>i.decapsulateCode(It("p2p").code)),protocols:[]}]:n=await this.peerRouting.getCloserPeersOffline(r.key,t),n=n.map(this.lan?ai:si).filter(({multiaddrs:i})=>i.length);let o=new zt(r.type,new Uint8Array(0),r.clusterLevel);return n.length>0?o.closerPeers=n:I7("could not find any peers closer to %b than %p",r.key,t),o}};var A7=tt("libp2p:kad-dht:rpc:handlers:get-providers"),F1=class{components;peerRouting;providers;lan;constructor(t,r){let{peerRouting:n,providers:o,lan:i}=r;this.components=t,this.peerRouting=n,this.providers=o,this.lan=!!i}async handle(t,r){let n;try{n=Ht.decode(r.key)}catch{throw new U("Invalid CID","ERR_INVALID_CID")}A7("%p asking for providers for %s",t,n);let[o,i]=await Promise.all([this.providers.getProviders(n),this.peerRouting.getCloserPeersOffline(r.key,t)]),s=await this._getPeers(o),a=await this._getPeers(i.map(({id:u})=>u)),c=new zt(r.type,r.key,r.clusterLevel);return s.length>0&&(c.providerPeers=s),a.length>0&&(c.closerPeers=a),A7("got %s providers %s closerPeers",s.length,a.length),c}async _getAddresses(t){return[]}async _getPeers(t){let r=[],n=this.lan?ai:si;for(let o of t)try{let i=await this.components.peerStore.get(o),s=n({id:o,multiaddrs:i.addresses.map(({multiaddr:a})=>a),protocols:i.protocols});s.multiaddrs.length>0&&r.push(s)}catch(i){if(i.code!=="ERR_NOT_FOUND")throw i}return r}};var hi=tt("libp2p:kad-dht:rpc:handlers:get-value"),M1=class{components;peerRouting;constructor(t,r){let{peerRouting:n}=r;this.components=t,this.peerRouting=n}async handle(t,r){let n=r.key;if(hi("%p asked for key %b",t,n),n==null||n.length===0)throw new U("Invalid key","ERR_INVALID_KEY");let o=new zt(jt.GET_VALUE,n,r.clusterLevel);if(n7(n)){hi("is public key");let a=o7(n),c;try{let u=await this.components.peerStore.get(a);if(u.id.publicKey==null)throw new U("No public key found in key book","ERR_NOT_FOUND");c=u.id.publicKey}catch(u){if(u.code!=="ERR_NOT_FOUND")throw u}if(c!=null)return hi("returning found public key"),o.record=new Xt(n,c,new Date),o}let[i,s]=await Promise.all([this._checkLocalDatastore(n),this.peerRouting.getCloserPeersOffline(r.key,t)]);return i!=null&&(hi("had record for %b in local datastore",n),o.record=i),s.length>0&&(hi("had %s closer peers in routing table",s.length),o.closerPeers=s),o}async _checkLocalDatastore(t){hi("checkLocalDatastore looking for %b",t);let r=jr(t),n;try{n=await this.components.datastore.get(r)}catch(i){if(i.code==="ERR_NOT_FOUND")return;throw i}let o=Xt.deserialize(n);if(o==null)throw new U("Invalid record","ERR_INVALID_RECORD");if(o.timeReceived==null||Date.now()-o.timeReceived.getTime()>1296e5){await this.components.datastore.delete(r);return}return o}};var DS=tt("libp2p:kad-dht:rpc:handlers:ping"),V1=class{async handle(t,r){return DS("ping from %p",t),r}};var K1=class{log;components;validators;constructor(t,r){let{validators:n}=r;this.components=t,this.log=tt("libp2p:kad-dht:rpc:handlers:put-value"),this.validators=n}async handle(t,r){let n=r.key;this.log("%p asked us to store value for key %b",t,n);let o=r.record;if(o==null){let i=`Empty record from: ${t.toString()}`;throw this.log.error(i),new U(i,"ERR_EMPTY_RECORD")}try{await ii(this.validators,o),o.timeReceived=new Date;let i=jr(o.key);await this.components.datastore.put(i,o.serialize().subarray()),this.log("put record for %b into datastore under key %k",n,i)}catch(i){this.log("did not put record for key %b into datastore %o",n,i)}return r}};var q1=class{handlers;routingTable;log;constructor(t,r){let{providers:n,peerRouting:o,validators:i,lan:s}=r;this.log=tt("libp2p:kad-dht:rpc"),this.routingTable=r.routingTable,this.handlers={[jt.GET_VALUE]:new M1(t,{peerRouting:o}),[jt.PUT_VALUE]:new K1(t,{validators:i}),[jt.FIND_NODE]:new O1(t,{peerRouting:o,lan:s}),[jt.ADD_PROVIDER]:new U1({providers:n}),[jt.GET_PROVIDERS]:new F1(t,{peerRouting:o,providers:n,lan:s}),[jt.PING]:new V1}}async handleMessage(t,r){try{await this.routingTable.add(t)}catch(o){this.log.error("Failed to update the kbucket store",o)}let n=this.handlers[r.type];if(n==null){this.log.error(`no handler found for message type: ${r.type}`);return}return n.handle(t,r)}onIncomingStream(t){Promise.resolve().then(async()=>{let{stream:r,connection:n}=t,o=n.remotePeer;try{await this.routingTable.add(o)}catch(s){this.log.error(s)}let i=this;await lr(r,s=>so(s),async function*(s){for await(let a of s){let c=zt.deserialize(a);i.log("incoming %s from %p",c.type,o);let u=await i.handleMessage(o,c);u!=null&&(yield u.serialize())}},s=>oo(s),r)}).catch(r=>{this.log.error(r)})}};var z1=class extends xe{log;components;protocol;running;registrarId;constructor(t,r){super();let{protocol:n,lan:o}=r;this.components=t,this.log=tt(`libp2p:kad-dht:topology-listener:${o?"lan":"wan"}`),this.running=!1,this.protocol=n}isStarted(){return this.running}async start(){this.running||(this.running=!0,this.registrarId=await this.components.registrar.register(this.protocol,{onConnect:t=>{this.log("observed peer %p with protocol %s",t,this.protocol),this.dispatchEvent(new Zt("peer",{detail:t}))}}))}async stop(){this.running=!1,this.registrarId!=null&&(this.components.registrar.unregister(this.registrarId),this.registrarId=void 0)}};var LS=32,kS=64,As=class extends xe{protocol;routingTable;providers;network;peerRouting;components;log;running;kBucketSize;clientMode;lan;validators;selectors;queryManager;contentFetching;contentRouting;routingTableRefresh;rpc;topologyListener;querySelf;maxInboundStreams;maxOutboundStreams;constructor(t,r){super();let{kBucketSize:n,clientMode:o,validators:i,selectors:s,querySelfInterval:a,lan:c,protocolPrefix:u,pingTimeout:f,pingConcurrency:l,maxInboundStreams:m,maxOutboundStreams:d,providers:h}=r;this.running=!1,this.components=t,this.lan=!!c,this.log=tt(`libp2p:kad-dht:${c===!0?"lan":"wan"}`),this.protocol=`${u??Ch}${c===!0?Th:""}${Rh}`,this.kBucketSize=n??20,this.clientMode=o??!0,this.maxInboundStreams=m??LS,this.maxOutboundStreams=d??kS,this.routingTable=new D1(t,{kBucketSize:n,lan:this.lan,pingTimeout:f,pingConcurrency:l,protocol:this.protocol}),this.providers=new T1(t,h??{}),this.validators={...e7,...i},this.selectors={...t7,...s},this.network=new E1(t,{protocol:this.protocol,lan:this.lan});let p=Ke();r.allowQueryWithZeroPeers===!0&&p.resolve(),this.queryManager=new R1(t,{disjointPaths:Math.ceil(this.kBucketSize/2),lan:c,initialQuerySelfHasRun:p,routingTable:this.routingTable}),this.peerRouting=new A1(t,{routingTable:this.routingTable,network:this.network,validators:this.validators,queryManager:this.queryManager,lan:this.lan}),this.contentFetching=new y1(t,{validators:this.validators,selectors:this.selectors,peerRouting:this.peerRouting,queryManager:this.queryManager,network:this.network,lan:this.lan}),this.contentRouting=new x1(t,{network:this.network,peerRouting:this.peerRouting,queryManager:this.queryManager,routingTable:this.routingTable,providers:this.providers,lan:this.lan}),this.routingTableRefresh=new k1({peerRouting:this.peerRouting,routingTable:this.routingTable,lan:this.lan}),this.rpc=new q1(t,{routingTable:this.routingTable,providers:this.providers,peerRouting:this.peerRouting,validators:this.validators,lan:this.lan}),this.topologyListener=new z1(t,{protocol:this.protocol,lan:this.lan}),this.querySelf=new P1(t,{peerRouting:this.peerRouting,interval:a,initialInterval:r.initialQuerySelfInterval,lan:this.lan,initialQuerySelfHasRun:p,routingTable:this.routingTable}),this.network.addEventListener("peer",g=>{let y=g.detail;this.onPeerConnect(y).catch(x=>{this.log.error("could not add %p to routing table",y.id,x)}),this.dispatchEvent(new Zt("peer",{detail:y}))}),this.topologyListener.addEventListener("peer",g=>{let y=g.detail;Promise.resolve().then(async()=>{let x=await this.components.peerStore.get(y),b={id:y,multiaddrs:x.addresses.map(({multiaddr:A})=>A),protocols:x.protocols};await this.onPeerConnect(b)}).catch(x=>{this.log.error("could not add %p to routing table",y,x)})})}async onPeerConnect(t){if(this.log("peer %p connected with protocols",t.id,t.protocols),this.lan?t=ai(t):t=si(t),t.multiaddrs.length===0){this.log("ignoring %p as they do not have any %s addresses in %s",t.id,this.lan?"private":"public",t.multiaddrs.map(r=>r.toString()));return}try{await this.routingTable.add(t.id)}catch(r){this.log.error("could not add %p to routing table",t.id,r)}}isStarted(){return this.running}async getMode(){return this.clientMode?"client":"server"}async setMode(t){await this.components.registrar.unhandle(this.protocol),t==="client"?(this.log("enabling client mode"),this.clientMode=!0):(this.log("enabling server mode"),this.clientMode=!1,await this.components.registrar.handle(this.protocol,this.rpc.onIncomingStream.bind(this.rpc),{maxInboundStreams:this.maxInboundStreams,maxOutboundStreams:this.maxOutboundStreams}))}async start(){this.running=!0,await this.setMode(this.clientMode?"client":"server"),await Promise.all([this.providers.start(),this.queryManager.start(),this.network.start(),this.routingTable.start(),this.topologyListener.start()]),this.querySelf.start(),await this.routingTableRefresh.start()}async stop(){this.running=!1,this.querySelf.stop(),await Promise.all([this.providers.stop(),this.queryManager.stop(),this.network.stop(),this.routingTable.stop(),this.routingTableRefresh.stop(),this.topologyListener.stop()])}async*put(t,r,n={}){yield*this.contentFetching.put(t,r,n)}async*get(t,r={}){yield*this.contentFetching.get(t,r)}async*provide(t,r={}){yield*this.contentRouting.provide(t,this.components.addressManager.getAddresses(),r)}async*findProviders(t,r={}){yield*this.contentRouting.findProviders(t,r)}async*findPeer(t,r={}){yield*this.peerRouting.findPeer(t,r)}async*getClosestPeers(t,r={}){yield*this.peerRouting.getClosestPeers(t,r)}async refreshRoutingTable(){this.routingTableRefresh.refreshTable(!0)}};var hf=tt("libp2p:kad-dht"),df=class{dht;constructor(t){this.dht=t}async provide(t,r={}){await ps(this.dht.provide(t,r))}async*findProviders(t,r={}){for await(let n of this.dht.findProviders(t,r))n.name==="PROVIDER"&&(yield*n.providers)}async put(t,r,n){await ps(this.dht.put(t,r,n))}async get(t,r){for await(let n of this.dht.get(t,r))if(n.name==="VALUE")return n.value;throw new U("Not found","ERR_NOT_FOUND")}},pf=class{dht;constructor(t){this.dht=t}async findPeer(t,r={}){for await(let n of this.dht.findPeer(t,r))if(n.name==="FINAL_PEER")return n.peer;throw new U("Not found","ERR_NOT_FOUND")}async*getClosestPeers(t,r={}){for await(let n of this.dht.getClosestPeers(t,r))n.name==="FINAL_PEER"&&(yield n.peer)}},US=290,OS=54,FS=55,MS=56,VS=4,KS=41;function qS(e){let t=e.stringTuples();for(let r of t)if(r[0]===US)return!1;if(t[0][0]===OS||t[0][0]===FS||t[0][0]===MS)return!0;if(t[0][0]===VS||t[0][0]===KS){let r=gs(`${t[0][1]}`);return r==null||!r}return!1}var mf=class extends xe{wan;lan;components;contentRouting;peerRouting;constructor(t,r={}){super(),this.components=t,this.wan=new As(t,{protocolPrefix:"/ipfs",...r,lan:!1}),this.lan=new As(t,{protocolPrefix:"/ipfs",...r,clientMode:!1,lan:!0}),this.contentRouting=new df(this),this.peerRouting=new pf(this),this.wan.addEventListener("peer",n=>{this.dispatchEvent(new Zt("peer",{detail:n.detail}))}),this.lan.addEventListener("peer",n=>{this.dispatchEvent(new Zt("peer",{detail:n.detail}))}),r.clientMode==null&&t.events.addEventListener("self:peer:update",n=>{hf("received update of self-peer info");let o=n.detail.peer.addresses.some(({multiaddr:i})=>qS(i));this.getMode().then(async i=>{o&&i==="client"?await this.setMode("server"):i==="server"&&!o&&await this.setMode("client")}).catch(i=>{hf.error("error setting dht server mode",i)})})}[Symbol.toStringTag]="@libp2p/dual-kad-dht";get[ph](){return this.contentRouting}get[gh](){return this.peerRouting}get[mh](){return this}isStarted(){return this.wan.isStarted()&&this.lan.isStarted()}async getMode(){return this.wan.getMode()}async setMode(t){await this.wan.setMode(t)}async start(){await Promise.all([this.lan.start(),this.wan.start()])}async stop(){await Promise.all([this.lan.stop(),this.wan.stop()])}async*put(t,r,n={}){for await(let o of ur(this.lan.put(t,r,n),this.wan.put(t,r,n)))yield o}async*get(t,r={}){let n=!1,o=!1;for await(let i of ur(this.lan.get(t,r),this.wan.get(t,r)))yield i,i.name==="DIAL_PEER"&&(n=!0),i.name==="VALUE"&&(n=!0,i.value!=null&&(o=!0)),i.name==="SEND_QUERY"&&(n=!0);if(!n)throw new U("No peers found in routing table!","ERR_NO_PEERS_IN_ROUTING_TABLE");o||(yield Ie({from:this.components.peerId,error:new U("Not found","ERR_NOT_FOUND")},r))}async*provide(t,r={}){let n=0,o=0,i=[],s=[this.lan];await this.wan.getMode()==="server"&&s.push(this.wan);for await(let a of ur(...s.map(c=>c.provide(t,r))))yield a,a.name==="SEND_QUERY"&&n++,a.name==="QUERY_ERROR"&&i.push(a.error),a.name==="PEER_RESPONSE"&&a.messageName==="ADD_PROVIDER"&&(hf("sent provider record for %s to %p",t,a.from),o++);if(o===0)throw i.length>0?new U(`Failed to provide to ${i.length} of ${n} peers`,"ERR_PROVIDES_FAILED",{errors:i}):new U("Failed to provide - no peers found","ERR_PROVIDES_FAILED")}async*findProviders(t,r={}){yield*ur(this.lan.findProviders(t,r),this.wan.findProviders(t,r))}async*findPeer(t,r={}){let n=!1;for await(let o of ur(this.lan.findPeer(t,r),this.wan.findPeer(t,r)))yield o,(o.name==="SEND_QUERY"||o.name==="FINAL_PEER")&&(n=!0);if(!n)throw new U("Peer lookup failed","ERR_LOOKUP_FAILED")}async*getClosestPeers(t,r={}){yield*ur(this.lan.getClosestPeers(t,r),this.wan.getClosestPeers(t,r))}async refreshRoutingTable(){await Promise.all([this.lan.refreshRoutingTable(),this.wan.refreshRoutingTable()])}};var T7;(function(e){e[e.SEND_QUERY=0]="SEND_QUERY",e[e.PEER_RESPONSE=1]="PEER_RESPONSE",e[e.FINAL_PEER=2]="FINAL_PEER",e[e.QUERY_ERROR=3]="QUERY_ERROR",e[e.PROVIDER=4]="PROVIDER",e[e.VALUE=5]="VALUE",e[e.ADD_PEER=6]="ADD_PEER",e[e.DIAL_PEER=7]="DIAL_PEER"})(T7||(T7={}));var C7;(function(e){e[e.PUT_VALUE=0]="PUT_VALUE",e[e.GET_VALUE=1]="GET_VALUE",e[e.ADD_PROVIDER=2]="ADD_PROVIDER",e[e.GET_PROVIDERS=3]="GET_PROVIDERS",e[e.FIND_NODE=4]="FIND_NODE",e[e.PING=5]="PING"})(C7||(C7={}));function gf(e){return new Ir("/dht/record/"+M(e,"base32"),!1)}function R7(e){return{async put(t,r,n={}){try{let o=gf(t),i=new Xt(t,r,new Date);n.onProgress?.(new Re("ipns:routing:datastore:put")),await e.put(o,i.serialize(),n)}catch(o){throw n.onProgress?.(new Re("ipns:routing:datastore:error",o)),o}},async get(t,r={}){try{let n=gf(t);r.onProgress?.(new Re("ipns:routing:datastore:get"));let o=await e.get(n,r);return Xt.deserialize(o).value}catch(n){throw r.onProgress?.(new Re("ipns:routing:datastore:error",n)),n}},async has(t,r={}){let n=gf(t);return e.has(n,r)}}}var $1=tt("helia:ipns"),zS=60*1e3,_7=60*zS,$S=24*_7,yf=23*_7,xf=class{routers;localStore;timeout;defaultResolvers;constructor(t,r=[],n=[]){this.routers=r,this.localStore=R7(t.datastore),this.defaultResolvers=n.length>0?n:[dh()]}async publish(t,r,n={}){try{let o=1n,i=U0(t);if(await this.localStore.has(i,n)){let c=await this.localStore.get(i,n);o=Qr(c).sequence+1n}let s=await o5(t,r,o,n.lifetime??$S,n),a=Q2(s);return await this.localStore.put(i,a,n),n.offline!==!0&&await Promise.all(this.routers.map(async c=>{await c.put(i,a,n)})),s}catch(o){throw n.onProgress?.(new Re("ipns:publish:error",o)),o}}async resolve(t,r={}){let n=U0(t),o=await this.#e(n,r);return this.#t(o.value,r)}async resolveDns(t,r={}){let n=r.resolvers??this.defaultResolvers,o=await Promise.any(n.map(async i=>i(t,r)));return this.#t(o,r)}republish(t={}){if(this.timeout!=null)throw new Error("Republish is already running");t.signal?.addEventListener("abort",()=>{clearTimeout(this.timeout)});async function r(){let n=Date.now();t.onProgress?.(new Re("ipns:republish:start"));let i=Date.now()-n,s=yf-i;s<0&&(s=t.interval??yf),setTimeout(()=>{r().catch(a=>{$1.error("error republishing",a)})},s)}this.timeout=setTimeout(()=>{r().catch(n=>{$1.error("error republishing",n)})},t.interval??yf)}async#t(t,r={}){let n=t.split("/");if(n.length===3){let o=n[1];if(o==="ipns")return this.resolve(Pt(n[2]),r);if(o==="ipfs")return Ht.parse(n[2])}throw $1.error("invalid ipfs path %s",t),new Error("Invalid value")}async#e(t,r={}){let n=[this.localStore,...this.routers];r.offline===!0&&(n=[this.localStore]);let o=[];if(await Promise.all(n.map(async s=>{try{let a=await s.get(t,r);await X2(t,a),o.push(a)}catch(a){$1.error("error finding IPNS record",a)}})),o.length===0)throw new U("Could not find record for routing key","ERR_NOT_FOUND");let i=o[O0(t,o)];return await this.localStore.put(t,i,r),Qr(i)}};function HS(e,{routers:t=[],resolvers:r=[]}){return new xf(e,t,r)}return z7(GS);})();
|
|
2
|
+
"use strict";var HeliaIpns=(()=>{var Fg=Object.create;var ms=Object.defineProperty;var $g=Object.getOwnPropertyDescriptor;var Hg=Object.getOwnPropertyNames;var Kg=Object.getPrototypeOf,zg=Object.prototype.hasOwnProperty;var Le=(r,e)=>()=>(e||r((e={exports:{}}).exports,e),e.exports),M=(r,e)=>{for(var t in e)ms(r,t,{get:e[t],enumerable:!0})},hf=(r,e,t,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of Hg(e))!zg.call(r,o)&&o!==t&&ms(r,o,{get:()=>e[o],enumerable:!(n=$g(e,o))||n.enumerable});return r};var Se=(r,e,t)=>(t=r!=null?Fg(Kg(r)):{},hf(e||!r||!r.__esModule?ms(t,"default",{value:r,enumerable:!0}):t,r)),qg=r=>hf(ms({},"__esModule",{value:!0}),r);var ma=Le((vA,pf)=>{var rn=1e3,nn=rn*60,on=nn*60,Ur=on*24,Gg=Ur*7,jg=Ur*365.25;pf.exports=function(r,e){e=e||{};var t=typeof r;if(t==="string"&&r.length>0)return Wg(r);if(t==="number"&&isFinite(r))return e.long?Zg(r):Yg(r);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(r))};function Wg(r){if(r=String(r),!(r.length>100)){var e=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(r);if(e){var t=parseFloat(e[1]),n=(e[2]||"ms").toLowerCase();switch(n){case"years":case"year":case"yrs":case"yr":case"y":return t*jg;case"weeks":case"week":case"w":return t*Gg;case"days":case"day":case"d":return t*Ur;case"hours":case"hour":case"hrs":case"hr":case"h":return t*on;case"minutes":case"minute":case"mins":case"min":case"m":return t*nn;case"seconds":case"second":case"secs":case"sec":case"s":return t*rn;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return t;default:return}}}}function Yg(r){var e=Math.abs(r);return e>=Ur?Math.round(r/Ur)+"d":e>=on?Math.round(r/on)+"h":e>=nn?Math.round(r/nn)+"m":e>=rn?Math.round(r/rn)+"s":r+"ms"}function Zg(r){var e=Math.abs(r);return e>=Ur?gs(r,e,Ur,"day"):e>=on?gs(r,e,on,"hour"):e>=nn?gs(r,e,nn,"minute"):e>=rn?gs(r,e,rn,"second"):r+" ms"}function gs(r,e,t,n){var o=e>=t*1.5;return Math.round(r/t)+" "+n+(o?"s":"")}});var gf=Le((EA,mf)=>{function Jg(r){t.debug=t,t.default=t,t.coerce=c,t.disable=s,t.enable=o,t.enabled=i,t.humanize=ma(),t.destroy=f,Object.keys(r).forEach(u=>{t[u]=r[u]}),t.names=[],t.skips=[],t.formatters={};function e(u){let l=0;for(let p=0;p<u.length;p++)l=(l<<5)-l+u.charCodeAt(p),l|=0;return t.colors[Math.abs(l)%t.colors.length]}t.selectColor=e;function t(u){let l,p=null,x,d;function h(...m){if(!h.enabled)return;let g=h,A=Number(new Date),b=A-(l||A);g.diff=b,g.prev=l,g.curr=A,l=A,m[0]=t.coerce(m[0]),typeof m[0]!="string"&&m.unshift("%O");let S=0;m[0]=m[0].replace(/%([a-zA-Z%])/g,(I,C)=>{if(I==="%%")return"%";S++;let y=t.formatters[C];if(typeof y=="function"){let k=m[S];I=y.call(g,k),m.splice(S,1),S--}return I}),t.formatArgs.call(g,m),(g.log||t.log).apply(g,m)}return h.namespace=u,h.useColors=t.useColors(),h.color=t.selectColor(u),h.extend=n,h.destroy=t.destroy,Object.defineProperty(h,"enabled",{enumerable:!0,configurable:!1,get:()=>p!==null?p:(x!==t.namespaces&&(x=t.namespaces,d=t.enabled(u)),d),set:m=>{p=m}}),typeof t.init=="function"&&t.init(h),h}function n(u,l){let p=t(this.namespace+(typeof l>"u"?":":l)+u);return p.log=this.log,p}function o(u){t.save(u),t.namespaces=u,t.names=[],t.skips=[];let l,p=(typeof u=="string"?u:"").split(/[\s,]+/),x=p.length;for(l=0;l<x;l++)p[l]&&(u=p[l].replace(/\*/g,".*?"),u[0]==="-"?t.skips.push(new RegExp("^"+u.slice(1)+"$")):t.names.push(new RegExp("^"+u+"$")))}function s(){let u=[...t.names.map(a),...t.skips.map(a).map(l=>"-"+l)].join(",");return t.enable(""),u}function i(u){if(u[u.length-1]==="*")return!0;let l,p;for(l=0,p=t.skips.length;l<p;l++)if(t.skips[l].test(u))return!1;for(l=0,p=t.names.length;l<p;l++)if(t.names[l].test(u))return!0;return!1}function a(u){return u.toString().substring(2,u.toString().length-2).replace(/\.\*\?$/,"*")}function c(u){return u instanceof Error?u.stack||u.message:u}function f(){console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.")}return t.enable(t.load()),t}mf.exports=Jg});var ga=Le((Ze,ys)=>{Ze.formatArgs=Qg;Ze.save=ey;Ze.load=ty;Ze.useColors=Xg;Ze.storage=ry();Ze.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`."))}})();Ze.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 Xg(){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 Qg(r){if(r[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+r[0]+(this.useColors?"%c ":" ")+"+"+ys.exports.humanize(this.diff),!this.useColors)return;let e="color: "+this.color;r.splice(1,0,e,"color: inherit");let t=0,n=0;r[0].replace(/%[a-zA-Z%]/g,o=>{o!=="%%"&&(t++,o==="%c"&&(n=t))}),r.splice(n,0,e)}Ze.log=console.debug||console.log||(()=>{});function ey(r){try{r?Ze.storage.setItem("debug",r):Ze.storage.removeItem("debug")}catch{}}function ty(){let r;try{r=Ze.storage.getItem("debug")}catch{}return!r&&typeof process<"u"&&"env"in process&&(r=process.env.DEBUG),r}function ry(){try{return localStorage}catch{}}ys.exports=gf()(Ze);var{formatters:ny}=ys.exports;ny.j=function(r){try{return JSON.stringify(r)}catch(e){return"[UnexpectedJSONParseError]: "+e.message}}});var vh=Le(In=>{"use strict";var Nw="[object ArrayBuffer]",$t=class r{static isArrayBuffer(e){return Object.prototype.toString.call(e)===Nw}static toArrayBuffer(e){return this.isArrayBuffer(e)?e:e.byteLength===e.buffer.byteLength||e.byteOffset===0&&e.byteLength===e.buffer.byteLength?e.buffer:this.toUint8Array(e.buffer).slice(e.byteOffset,e.byteOffset+e.byteLength).buffer}static toUint8Array(e){return this.toView(e,Uint8Array)}static toView(e,t){if(e.constructor===t)return e;if(this.isArrayBuffer(e))return new t(e);if(this.isArrayBufferView(e))return new t(e.buffer,e.byteOffset,e.byteLength);throw new TypeError("The provided value is not of type '(ArrayBuffer or ArrayBufferView)'")}static isBufferSource(e){return this.isArrayBufferView(e)||this.isArrayBuffer(e)}static isArrayBufferView(e){return ArrayBuffer.isView(e)||e&&this.isArrayBuffer(e.buffer)}static isEqual(e,t){let n=r.toUint8Array(e),o=r.toUint8Array(t);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(...e){let t;Array.isArray(e[0])&&!(e[1]instanceof Function)||Array.isArray(e[0])&&e[1]instanceof Function?t=e[0]:e[e.length-1]instanceof Function?t=e.slice(0,e.length-1):t=e;let n=0;for(let i of t)n+=i.byteLength;let o=new Uint8Array(n),s=0;for(let i of t){let a=this.toUint8Array(i);o.set(a,s),s+=a.length}return e[e.length-1]instanceof Function?this.toView(o,e[e.length-1]):o.buffer}},bc="string",Uw=/^[0-9a-f]+$/i,_w=/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/,Dw=/^[a-zA-Z0-9-_]+$/,Ps=class{static fromString(e){let t=unescape(encodeURIComponent(e)),n=new Uint8Array(t.length);for(let o=0;o<t.length;o++)n[o]=t.charCodeAt(o);return n.buffer}static toString(e){let t=$t.toUint8Array(e),n="";for(let s=0;s<t.length;s++)n+=String.fromCharCode(t[s]);return decodeURIComponent(escape(n))}},st=class{static toString(e,t=!1){let n=$t.toArrayBuffer(e),o=new DataView(n),s="";for(let i=0;i<n.byteLength;i+=2){let a=o.getUint16(i,t);s+=String.fromCharCode(a)}return s}static fromString(e,t=!1){let n=new ArrayBuffer(e.length*2),o=new DataView(n);for(let s=0;s<e.length;s++)o.setUint16(s*2,e.charCodeAt(s),t);return n}},Ms=class r{static isHex(e){return typeof e===bc&&Uw.test(e)}static isBase64(e){return typeof e===bc&&_w.test(e)}static isBase64Url(e){return typeof e===bc&&Dw.test(e)}static ToString(e,t="utf8"){let n=$t.toUint8Array(e);switch(t.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 st.toString(n,!0);case"utf16":case"utf16be":return st.toString(n);default:throw new Error(`Unknown type of encoding '${t}'`)}}static FromString(e,t="utf8"){if(!e)return new ArrayBuffer(0);switch(t.toLowerCase()){case"utf8":return this.FromUtf8String(e);case"binary":return this.FromBinary(e);case"hex":return this.FromHex(e);case"base64":return this.FromBase64(e);case"base64url":return this.FromBase64Url(e);case"utf16le":return st.fromString(e,!0);case"utf16":case"utf16be":return st.fromString(e);default:throw new Error(`Unknown type of encoding '${t}'`)}}static ToBase64(e){let t=$t.toUint8Array(e);if(typeof btoa<"u"){let n=this.ToString(t,"binary");return btoa(n)}else return Buffer.from(t).toString("base64")}static FromBase64(e){let t=this.formatString(e);if(!t)return new ArrayBuffer(0);if(!r.isBase64(t))throw new TypeError("Argument 'base64Text' is not Base64 encoded");return typeof atob<"u"?this.FromBinary(atob(t)):new Uint8Array(Buffer.from(t,"base64")).buffer}static FromBase64Url(e){let t=this.formatString(e);if(!t)return new ArrayBuffer(0);if(!r.isBase64Url(t))throw new TypeError("Argument 'base64url' is not Base64Url encoded");return this.FromBase64(this.Base64Padding(t.replace(/\-/g,"+").replace(/\_/g,"/")))}static ToBase64Url(e){return this.ToBase64(e).replace(/\+/g,"-").replace(/\//g,"_").replace(/\=/g,"")}static FromUtf8String(e,t=r.DEFAULT_UTF8_ENCODING){switch(t){case"ascii":return this.FromBinary(e);case"utf8":return Ps.fromString(e);case"utf16":case"utf16be":return st.fromString(e);case"utf16le":case"usc2":return st.fromString(e,!0);default:throw new Error(`Unknown type of encoding '${t}'`)}}static ToUtf8String(e,t=r.DEFAULT_UTF8_ENCODING){switch(t){case"ascii":return this.ToBinary(e);case"utf8":return Ps.toString(e);case"utf16":case"utf16be":return st.toString(e);case"utf16le":case"usc2":return st.toString(e,!0);default:throw new Error(`Unknown type of encoding '${t}'`)}}static FromBinary(e){let t=e.length,n=new Uint8Array(t);for(let o=0;o<t;o++)n[o]=e.charCodeAt(o);return n.buffer}static ToBinary(e){let t=$t.toUint8Array(e),n="";for(let o=0;o<t.length;o++)n+=String.fromCharCode(t[o]);return n}static ToHex(e){let t=$t.toUint8Array(e),n="",o=t.length;for(let s=0;s<o;s++){let i=t[s];i<16&&(n+="0"),n+=i.toString(16)}return n}static FromHex(e){let t=this.formatString(e);if(!t)return new ArrayBuffer(0);if(!r.isHex(t))throw new TypeError("Argument 'hexString' is not HEX encoded");t.length%2&&(t=`0${t}`);let n=new Uint8Array(t.length/2);for(let o=0;o<t.length;o=o+2){let s=t.slice(o,o+2);n[o/2]=parseInt(s,16)}return n.buffer}static ToUtf16String(e,t=!1){return st.toString(e,t)}static FromUtf16String(e,t=!1){return st.fromString(e,t)}static Base64Padding(e){let t=4-e.length%4;if(t<4)for(let n=0;n<t;n++)e+="=";return e}static formatString(e){return e?.replace(/[\n\r\t ]/g,"")||""}};Ms.DEFAULT_UTF8_ENCODING="utf8";function Lw(r,...e){let t=arguments[0];for(let n=1;n<arguments.length;n++){let o=arguments[n];for(let s in o)t[s]=o[s]}return t}function Ow(...r){let e=r.map(o=>o.byteLength).reduce((o,s)=>o+s),t=new Uint8Array(e),n=0;return r.map(o=>new Uint8Array(o)).forEach(o=>{for(let s of o)t[n++]=s}),t.buffer}function Vw(r,e){if(!(r&&e)||r.byteLength!==e.byteLength)return!1;let t=new Uint8Array(r),n=new Uint8Array(e);for(let o=0;o<r.byteLength;o++)if(t[o]!==n[o])return!1;return!0}In.BufferSourceConverter=$t;In.Convert=Ms;In.assign=Lw;In.combine=Ow;In.isEqual=Vw});var Do=Le((v3,kd)=>{"use strict";function Td(r,e){for(let t in e)Object.defineProperty(r,t,{value:e[t],enumerable:!0,configurable:!0});return r}function bx(r,e,t){if(!r||typeof r=="string")throw new TypeError("Please pass an Error to err-code");t||(t={}),typeof e=="object"&&(t=e,e=""),e&&(t.code=e);try{return Td(r,t)}catch{t.message=r.message,t.stack=r.stack;let o=function(){};return o.prototype=Object.create(Object.getPrototypeOf(r)),Td(new o,t)}}kd.exports=bx});var Ti=Le((I3,_c)=>{var S3=function(){typeof _c<"u"&&(_c.exports=h);var r=86400,e=3200,t=146097*e/400,n=r*t,o=1e3*n,s=864e13,i=4294967296,a=1e6,c="000000000",f=Math.trunc||function(y){var k=y-y%1;return k==0&&(y<0||y===0&&1/y!=1/0)?-0:k},u=h.prototype,l=(h.fromDate=function(y){return new h(+y)},h.fromInt64BE=S(0,1,2,3,0,4),h.fromInt64LE=S(3,2,1,0,4,0),h.fromString=function(U){var k,O=new h,U=(U+="").replace(/^\s*[+\-]?\d+/,function(H){var H=+H,X=1970+(H-1970)%400;return O.year=H-X,X}).replace(/(?:Z|([+\-]\d{2}):?(\d{2}))$/,function(V,H,X){return H<0&&(X*=-1),k=6e4*(60*+H+ +X),""}).replace(/\.\d+$/,function(V){return O.nano=+(V+c).substr(1,9),""}).split(/\D+/);if(1<U.length?U[1]--:U[1]=0,O.time=k=Date.UTC.apply(Date,U)-(k||0),isNaN(k))throw new TypeError("Invalid Date");return m(O)},h.fromTimeT=function(y){return A(y,0)},u.year=0,u.time=0,u.nano=0,u.addNano=function(y){return this.nano+=+y||0,this},u.getNano=function(){var y=m(this);return(y.time%1e3*a+ +y.nano+1e9)%1e9},u.getTimeT=function(){var k=m(this),y=Math.floor(k.time/1e3),k=k.year;return k&&(y+=k*t*r/e),y},u.getYear=function(){return this.toDate().getUTCFullYear()+this.year},u.toDate=function(){return g(m(this).time)},u.toJSON=function(){return this.toString().replace(/0{1,6}Z$/,"Z")},u.toString=function(y){var k=this,O=k.toDate(),U={H:function(){return I(O.getUTCHours())},L:function(){return C(O.getUTCMilliseconds(),3)},M:function(){return I(O.getUTCMinutes())},N:function(){return C(k.getNano(),9)},S:function(){return I(O.getUTCSeconds())},Y:function(){var V=k.getYear();return 999999<V?"+"+V:9999<V?"+"+C(V,6):0<=V?C(V,4):-999999<=V?"-"+C(-V,6):V},a:function(){return x[O.getUTCDay()]},b:function(){return p[O.getUTCMonth()]},d:function(){return I(O.getUTCDate())},e:function(){return function(V){return(9<V?"":" ")+(0|V)}(O.getUTCDate())},m:function(){return I(O.getUTCMonth()+1)}};return function V(H){return H.replace(/%./g,function(X){var R=X[1],B=d[R],R=U[R];return B?V(B):R?R():X})}(y||l)},u.writeInt64BE=b(0,1,2,3,0,4),u.writeInt64LE=b(3,2,1,0,4,0),"%Y-%m-%dT%H:%M:%S.%NZ"),p=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],x=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],d={"%":"%",F:"%Y-%m-%d",n:`
|
|
3
|
+
`,R:"%H:%M",T:"%H:%M:%S",t:" ",X:"%T",Z:"GMT",z:"+0000"};return h;function h(y,k,O){var U=this;if(!(U instanceof h))return new h(y,k,O);U.time=+y||0,U.nano=+k||0,U.year=+O||0,m(U)}function m(y){var k,O,U,V=y.year,H=y.time,X=y.nano,B=((X<0||a<=X)&&(X-=(O=Math.floor(X/a))*a,H+=O,O=1),V%e);return(H<-s||s<H||B)&&((k=f(H/o))&&(V+=k*e,H-=k*o),(U=g(H)).setUTCFullYear(B+U.getUTCFullYear()),U=(H=+U)+(k=f((V-=B)/e))*o,k&&-s<=U&&U<=s&&(V-=k*e,H=U),O=1),O&&(y.year=V,y.time=H,y.nano=X),y}function g(y){var k=new Date(0);return k.setTime(y),k}function A(V,U){V=+V||0;var O=f((U=(U|0)*i)/n)+f(V/n),U=U%n+V%n,V=f(U/n);return V&&(O+=V,U-=V*n),new h(1e3*U,0,O*e)}function b(y,k,O,U,V,H){return function(B,R){var T=m(this);B=B||new Array(8),v(B,R|=0);var E=Math.floor(T.time/1e3),T=T.year*(t*r/e),$=f(T/i)+f(E/i),T=T%i+E%i,E=Math.floor(T/i);return E&&($+=E,T-=E*i),X(B,R+V,$),X(B,R+H,T),B};function X(B,R,$){B[R+y]=$>>24&255,B[R+k]=$>>16&255,B[R+O]=$>>8&255,B[R+U]=255&$}}function S(y,k,O,U,V,H){return function(B,R){v(B,R|=0);var $=X(B,R+V);return A(X(B,R+H),$)};function X(B,R){return 16777216*B[R+y]+(B[R+k]<<16|B[R+O]<<8|B[R+U])}}function v(y,k){if(y=y&&y.length,y==null)throw new TypeError("Invalid Buffer");if(y<k+8)throw new RangeError("Out of range")}function I(y){return(9<y?"":"0")+(0|y)}function C(y,k){return(c+(0|y)).substr(-k)}}()});var q0=Le((MC,z0)=>{z0.exports=Ku;var K0=128,C2=127,T2=~C2,k2=Math.pow(2,31);function Ku(r,e,t){if(Number.MAX_SAFE_INTEGER&&r>Number.MAX_SAFE_INTEGER)throw Ku.bytes=0,new RangeError("Could not encode varint");e=e||[],t=t||0;for(var n=t;r>=k2;)e[t++]=r&255|K0,r/=128;for(;r&T2;)e[t++]=r&255|K0,r>>>=7;return e[t]=r|0,Ku.bytes=t-n+1,e}});var W0=Le((FC,j0)=>{j0.exports=zu;var R2=128,G0=127;function zu(r,n){var t=0,n=n||0,o=0,s=n,i,a=r.length;do{if(s>=a||o>49)throw zu.bytes=0,new RangeError("Could not decode varint");i=r[s++],t+=o<28?(i&G0)<<o:(i&G0)*Math.pow(2,o),o+=7}while(i>=R2);return zu.bytes=s-n,t}});var Z0=Le(($C,Y0)=>{var N2=Math.pow(2,7),U2=Math.pow(2,14),_2=Math.pow(2,21),D2=Math.pow(2,28),L2=Math.pow(2,35),O2=Math.pow(2,42),V2=Math.pow(2,49),P2=Math.pow(2,56),M2=Math.pow(2,63);Y0.exports=function(r){return r<N2?1:r<U2?2:r<_2?3:r<D2?4:r<L2?5:r<O2?6:r<V2?7:r<P2?8:r<M2?9:10}});var Qi=Le((HC,J0)=>{J0.exports={encode:q0(),decode:W0(),encodingLength:Z0()}});var $l=Le((Lk,rg)=>{"use strict";var q8=typeof navigator<"u"&&navigator.product==="ReactNative";function G8(){return q8?"http://localhost":self.location?self.location.protocol+"//"+self.location.host:""}var us=self.URL,tg=G8(),Fl=class{constructor(e="",t=tg){this.super=new us(e,t),this.path=this.pathname+this.search,this.auth=this.username&&this.password?this.username+":"+this.password:null,this.query=this.search&&this.search.startsWith("?")?this.search.slice(1):null}get hash(){return this.super.hash}get host(){return this.super.host}get hostname(){return this.super.hostname}get href(){return this.super.href}get origin(){return this.super.origin}get password(){return this.super.password}get pathname(){return this.super.pathname}get port(){return this.super.port}get protocol(){return this.super.protocol}get search(){return this.super.search}get searchParams(){return this.super.searchParams}get username(){return this.super.username}set hash(e){this.super.hash=e}set host(e){this.super.host=e}set hostname(e){this.super.hostname=e}set href(e){this.super.href=e}set password(e){this.super.password=e}set pathname(e){this.super.pathname=e}set port(e){this.super.port=e}set protocol(e){this.super.protocol=e}set search(e){this.super.search=e}set username(e){this.super.username=e}static createObjectURL(e){return us.createObjectURL(e)}static revokeObjectURL(e){us.revokeObjectURL(e)}toJSON(){return this.super.toJSON()}toString(){return this.super.toString()}format(){return this.toString()}};function j8(r){if(typeof r=="string")return new us(r).toString();if(!(r instanceof us)){let e=r.username&&r.password?`${r.username}:${r.password}@`:"",t=r.auth?r.auth+"@":"",n=r.port?":"+r.port:"",o=r.protocol?r.protocol+"//":"",s=r.host||"",i=r.hostname||"",a=r.search||(r.query?"?"+r.query:""),c=r.hash||"",f=r.pathname||"",u=r.path||f+a;return`${o}${e||t}${s||i+n}${u}${c}`}}rg.exports={URLWithLegacySupport:Fl,URLSearchParams:self.URLSearchParams,defaultBase:tg,format:j8}});var sg=Le((Ok,og)=>{"use strict";var{URLWithLegacySupport:ng,format:W8}=$l();og.exports=(r,e={},t={},n)=>{let o=e.protocol?e.protocol.replace(":",""):"http";o=(t[o]||n||o)+":";let s;try{s=new ng(r)}catch{s={}}let i=Object.assign({},e,{protocol:o||s.protocol,host:e.host||s.host});return new ng(r,W8(i)).toString()}});var ag=Le((Vk,ig)=>{"use strict";var{URLWithLegacySupport:Y8,format:Z8,URLSearchParams:J8,defaultBase:X8}=$l(),Q8=sg();ig.exports={URL:Y8,URLSearchParams:J8,format:Z8,relative:Q8,defaultBase:X8}});var dg=Le((Gk,hg)=>{"use strict";hg.exports=fg;var oA=ma(),Rr=fg.prototype,sA=new Date%1e9;function iA(){return(Math.random()*1e9>>>0)+sA++}function fg(r){r=r||{},this.id=r.id||iA(),this.max=r.max||1/0,this.items=r.items||[],this._lookup={},this.size=this.items.length,this.lastModified=new Date(r.lastModified||new Date);for(var e,t,n=this.items.length;n--;)e=this.items[n],t=new Date(e.expires)-new Date,this._lookup[e.key]=e,t>0?this.expire(e.key,t):t<=0&&this.delete(e.key)}Rr.has=function(r){return r in this._lookup};Rr.get=function(r){if(!this.has(r))return null;var e=this._lookup[r];return e.refresh&&this.expire(r,e.refresh),this.items.splice(this.items.indexOf(e),1),this.items.push(e),e.value};Rr.meta=function(r){if(!this.has(r))return null;var e=this._lookup[r];return"meta"in e?e.meta:null};Rr.set=function(r,e,t){var n=this._lookup[r],o=this._lookup[r]={key:r,value:e};return this.lastModified=new Date,n?(clearTimeout(n.timeout),this.items.splice(this.items.indexOf(n),1,o)):(this.size>=this.max&&this.delete(this.items[0].key),this.items.push(o),this.size++),t&&("ttl"in t&&this.expire(r,t.ttl),"meta"in t&&(o.meta=t.meta),t.refresh&&(o.refresh=t.ttl)),this};Rr.delete=function(r){var e=this._lookup[r];return e?(this.lastModified=new Date,this.items.splice(this.items.indexOf(e),1),clearTimeout(e.timeout),delete this._lookup[r],this.size--,this):!1};Rr.expire=function(r,e){var t=e||0,n=this._lookup[r];if(!n)return this;if(typeof t=="string"&&(t=oA(e)),typeof t!="number")throw new TypeError("Expiration time must be a string or number.");return clearTimeout(n.timeout),n.timeout=setTimeout(this.delete.bind(this,n.key),t),n.expires=Number(new Date)+t,this};Rr.clear=function(){for(var r=this.items.length;r--;)this.delete(this.items[r].key);return this};Rr.toJSON=function(){for(var r=new Array(this.items.length),e,t=r.length;t--;)e=this.items[t],r[t]={key:e.key,meta:e.meta,value:e.value,expires:e.expires,refresh:e.refresh};return{id:this.id,max:isFinite(this.max)?this.max:void 0,lastModified:this.lastModified,items:r}}});var yg=Le((Wk,jl)=>{"use strict";var cA=Object.prototype.hasOwnProperty,ze="~";function ls(){}Object.create&&(ls.prototype=Object.create(null),new ls().__proto__||(ze=!1));function uA(r,e,t){this.fn=r,this.context=e,this.once=t||!1}function gg(r,e,t,n,o){if(typeof t!="function")throw new TypeError("The listener must be a function");var s=new uA(t,n||r,o),i=ze?ze+e:e;return r._events[i]?r._events[i].fn?r._events[i]=[r._events[i],s]:r._events[i].push(s):(r._events[i]=s,r._eventsCount++),r}function fa(r,e){--r._eventsCount===0?r._events=new ls:delete r._events[e]}function Me(){this._events=new ls,this._eventsCount=0}Me.prototype.eventNames=function(){var e=[],t,n;if(this._eventsCount===0)return e;for(n in t=this._events)cA.call(t,n)&&e.push(ze?n.slice(1):n);return Object.getOwnPropertySymbols?e.concat(Object.getOwnPropertySymbols(t)):e};Me.prototype.listeners=function(e){var t=ze?ze+e:e,n=this._events[t];if(!n)return[];if(n.fn)return[n.fn];for(var o=0,s=n.length,i=new Array(s);o<s;o++)i[o]=n[o].fn;return i};Me.prototype.listenerCount=function(e){var t=ze?ze+e:e,n=this._events[t];return n?n.fn?1:n.length:0};Me.prototype.emit=function(e,t,n,o,s,i){var a=ze?ze+e:e;if(!this._events[a])return!1;var c=this._events[a],f=arguments.length,u,l;if(c.fn){switch(c.once&&this.removeListener(e,c.fn,void 0,!0),f){case 1:return c.fn.call(c.context),!0;case 2:return c.fn.call(c.context,t),!0;case 3:return c.fn.call(c.context,t,n),!0;case 4:return c.fn.call(c.context,t,n,o),!0;case 5:return c.fn.call(c.context,t,n,o,s),!0;case 6:return c.fn.call(c.context,t,n,o,s,i),!0}for(l=1,u=new Array(f-1);l<f;l++)u[l-1]=arguments[l];c.fn.apply(c.context,u)}else{var p=c.length,x;for(l=0;l<p;l++)switch(c[l].once&&this.removeListener(e,c[l].fn,void 0,!0),f){case 1:c[l].fn.call(c[l].context);break;case 2:c[l].fn.call(c[l].context,t);break;case 3:c[l].fn.call(c[l].context,t,n);break;case 4:c[l].fn.call(c[l].context,t,n,o);break;default:if(!u)for(x=1,u=new Array(f-1);x<f;x++)u[x-1]=arguments[x];c[l].fn.apply(c[l].context,u)}}return!0};Me.prototype.on=function(e,t,n){return gg(this,e,t,n,!1)};Me.prototype.once=function(e,t,n){return gg(this,e,t,n,!0)};Me.prototype.removeListener=function(e,t,n,o){var s=ze?ze+e:e;if(!this._events[s])return this;if(!t)return fa(this,s),this;var i=this._events[s];if(i.fn)i.fn===t&&(!o||i.once)&&(!n||i.context===n)&&fa(this,s);else{for(var a=0,c=[],f=i.length;a<f;a++)(i[a].fn!==t||o&&!i[a].once||n&&i[a].context!==n)&&c.push(i[a]);c.length?this._events[s]=c.length===1?c[0]:c:fa(this,s)}return this};Me.prototype.removeAllListeners=function(e){var t;return e?(t=ze?ze+e:e,this._events[t]&&fa(this,t)):(this._events=new ls,this._eventsCount=0),this};Me.prototype.off=Me.prototype.removeListener;Me.prototype.addListener=Me.prototype.on;Me.prefixed=ze;Me.EventEmitter=Me;typeof jl<"u"&&(jl.exports=Me)});var vg=Le((oR,xg)=>{xg.exports=function(r){if(!r)throw Error("hashlru must have a max value, of type number, greater than 0");var e=0,t=Object.create(null),n=Object.create(null);function o(s,i){t[s]=i,e++,e>=r&&(e=0,n=t,t=Object.create(null))}return{has:function(s){return t[s]!==void 0||n[s]!==void 0},remove:function(s){t[s]!==void 0&&(t[s]=void 0),n[s]!==void 0&&(n[s]=void 0)},get:function(s){var i=t[s];if(i!==void 0)return i;if((i=n[s])!==void 0)return o(s,i),i},set:function(s,i){t[s]!==void 0?t[s]=i:o(s,i)},clear:function(){t=Object.create(null),n=Object.create(null)}}}});var yA={};M(yA,{ipns:()=>gA,ipnsSelector:()=>Hi,ipnsValidator:()=>Zc});var pa=Symbol.for("@libp2p/peer-id");function df(r){return r!=null&&!!r[pa]}var K=class extends Error{code;props;constructor(e,t,n){super(e),this.code=t,this.name=n?.name??"CodeError",this.props=n??{}}};var Je=Se(ga(),1);var va={};M(va,{base32:()=>sr,base32hex:()=>fy,base32hexpad:()=>dy,base32hexpadupper:()=>py,base32hexupper:()=>hy,base32pad:()=>uy,base32padupper:()=>ly,base32upper:()=>Af,base32z:()=>my});var AA=new Uint8Array(0);function yf(r,e){if(r===e)return!0;if(r.byteLength!==e.byteLength)return!1;for(let t=0;t<r.byteLength;t++)if(r[t]!==e[t])return!1;return!0}function Dt(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 bf(r){return new TextEncoder().encode(r)}function wf(r){return new TextDecoder().decode(r)}function oy(r,e){if(r.length>=255)throw new TypeError("Alphabet too long");for(var t=new Uint8Array(256),n=0;n<t.length;n++)t[n]=255;for(var o=0;o<r.length;o++){var s=r.charAt(o),i=s.charCodeAt(0);if(t[i]!==255)throw new TypeError(s+" is ambiguous");t[i]=o}var a=r.length,c=r.charAt(0),f=Math.log(a)/Math.log(256),u=Math.log(256)/Math.log(a);function l(d){if(d instanceof Uint8Array||(ArrayBuffer.isView(d)?d=new Uint8Array(d.buffer,d.byteOffset,d.byteLength):Array.isArray(d)&&(d=Uint8Array.from(d))),!(d instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(d.length===0)return"";for(var h=0,m=0,g=0,A=d.length;g!==A&&d[g]===0;)g++,h++;for(var b=(A-g)*u+1>>>0,S=new Uint8Array(b);g!==A;){for(var v=d[g],I=0,C=b-1;(v!==0||I<m)&&C!==-1;C--,I++)v+=256*S[C]>>>0,S[C]=v%a>>>0,v=v/a>>>0;if(v!==0)throw new Error("Non-zero carry");m=I,g++}for(var y=b-m;y!==b&&S[y]===0;)y++;for(var k=c.repeat(h);y<b;++y)k+=r.charAt(S[y]);return k}function p(d){if(typeof d!="string")throw new TypeError("Expected String");if(d.length===0)return new Uint8Array;var h=0;if(d[h]!==" "){for(var m=0,g=0;d[h]===c;)m++,h++;for(var A=(d.length-h)*f+1>>>0,b=new Uint8Array(A);d[h];){var S=t[d.charCodeAt(h)];if(S===255)return;for(var v=0,I=A-1;(S!==0||v<g)&&I!==-1;I--,v++)S+=a*b[I]>>>0,b[I]=S%256>>>0,S=S/256>>>0;if(S!==0)throw new Error("Non-zero carry");g=v,h++}if(d[h]!==" "){for(var C=A-g;C!==A&&b[C]===0;)C++;for(var y=new Uint8Array(m+(A-C)),k=m;C!==A;)y[k++]=b[C++];return y}}}function x(d){var h=p(d);if(h)return h;throw new Error(`Non-${e} character`)}return{encode:l,decodeUnsafe:p,decode:x}}var sy=oy,iy=sy,vf=iy;var ya=class{name;prefix;baseEncode;constructor(e,t,n){this.name=e,this.prefix=t,this.baseEncode=n}encode(e){if(e instanceof Uint8Array)return`${this.prefix}${this.baseEncode(e)}`;throw Error("Unknown type, must be binary type")}},ba=class{name;prefix;baseDecode;prefixCodePoint;constructor(e,t,n){if(this.name=e,this.prefix=t,t.codePointAt(0)===void 0)throw new Error("Invalid prefix character");this.prefixCodePoint=t.codePointAt(0),this.baseDecode=n}decode(e){if(typeof e=="string"){if(e.codePointAt(0)!==this.prefixCodePoint)throw Error(`Unable to decode multibase string ${JSON.stringify(e)}, ${this.name} decoder only supports inputs prefixed with ${this.prefix}`);return this.baseDecode(e.slice(this.prefix.length))}else throw Error("Can only multibase decode strings")}or(e){return Ef(this,e)}},wa=class{decoders;constructor(e){this.decoders=e}or(e){return Ef(this,e)}decode(e){let t=e[0],n=this.decoders[t];if(n!=null)return n.decode(e);throw RangeError(`Unable to decode multibase string ${JSON.stringify(e)}, only inputs prefixed with ${Object.keys(this.decoders)} are supported`)}};function Ef(r,e){return new wa({...r.decoders??{[r.prefix]:r},...e.decoders??{[e.prefix]:e}})}var xa=class{name;prefix;baseEncode;baseDecode;encoder;decoder;constructor(e,t,n,o){this.name=e,this.prefix=t,this.baseEncode=n,this.baseDecode=o,this.encoder=new ya(e,t,n),this.decoder=new ba(e,t,o)}encode(e){return this.encoder.encode(e)}decode(e){return this.decoder.decode(e)}};function sn({name:r,prefix:e,encode:t,decode:n}){return new xa(r,e,t,n)}function or({name:r,prefix:e,alphabet:t}){let{encode:n,decode:o}=vf(t,r);return sn({prefix:e,name:r,encode:n,decode:s=>Dt(o(s))})}function ay(r,e,t,n){let o={};for(let u=0;u<e.length;++u)o[e[u]]=u;let s=r.length;for(;r[s-1]==="=";)--s;let i=new Uint8Array(s*t/8|0),a=0,c=0,f=0;for(let u=0;u<s;++u){let l=o[r[u]];if(l===void 0)throw new SyntaxError(`Non-${n} character`);c=c<<t|l,a+=t,a>=8&&(a-=8,i[f++]=255&c>>a)}if(a>=t||255&c<<8-a)throw new SyntaxError("Unexpected end of data");return i}function cy(r,e,t){let n=e[e.length-1]==="=",o=(1<<t)-1,s="",i=0,a=0;for(let c=0;c<r.length;++c)for(a=a<<8|r[c],i+=8;i>t;)i-=t,s+=e[o&a>>i];if(i!==0&&(s+=e[o&a<<t-i]),n)for(;s.length*t&7;)s+="=";return s}function he({name:r,prefix:e,bitsPerChar:t,alphabet:n}){return sn({prefix:e,name:r,encode(o){return cy(o,n,t)},decode(o){return ay(o,n,t,r)}})}var sr=he({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),Af=he({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),uy=he({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),ly=he({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),fy=he({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),hy=he({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),dy=he({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),py=he({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),my=he({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var Ea={};M(Ea,{base58btc:()=>Ie,base58flickr:()=>gy});var Ie=or({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),gy=or({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var Aa={};M(Aa,{base64:()=>ao,base64pad:()=>yy,base64url:()=>by,base64urlpad:()=>wy});var ao=he({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),yy=he({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),by=he({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),wy=he({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});Je.default.formatters.b=r=>r==null?"undefined":Ie.baseEncode(r);Je.default.formatters.t=r=>r==null?"undefined":sr.baseEncode(r);Je.default.formatters.m=r=>r==null?"undefined":ao.baseEncode(r);Je.default.formatters.p=r=>r==null?"undefined":r.toString();Je.default.formatters.c=r=>r==null?"undefined":r.toString();Je.default.formatters.k=r=>r==null?"undefined":r.toString();Je.default.formatters.a=r=>r==null?"undefined":r.toString();function xy(r){let e=()=>{};return e.enabled=!1,e.color="",e.diff=0,e.log=()=>{},e.namespace=r,e.destroy=()=>!0,e.extend=()=>e,e}function ir(r){let e=xy(`${r}:trace`);return Je.default.enabled(`${r}:trace`)&&Je.default.names.map(t=>t.toString()).find(t=>t.includes(":trace"))!=null&&(e=(0,Je.default)(`${r}:trace`)),Object.assign((0,Je.default)(r),{error:(0,Je.default)(`${r}:error`),trace:e})}var Ba={};M(Ba,{base10:()=>vy});var vy=or({prefix:"9",name:"base10",alphabet:"0123456789"});var Sa={};M(Sa,{base16:()=>Ey,base16upper:()=>Ay});var Ey=he({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),Ay=he({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var Ia={};M(Ia,{base2:()=>By});var By=he({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var Ca={};M(Ca,{base256emoji:()=>ky});var Bf=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}"),Sy=Bf.reduce((r,e,t)=>(r[t]=e,r),[]),Iy=Bf.reduce((r,e,t)=>(r[e.codePointAt(0)]=t,r),[]);function Cy(r){return r.reduce((e,t)=>(e+=Sy[t],e),"")}function Ty(r){let e=[];for(let t of r){let n=Iy[t.codePointAt(0)];if(n===void 0)throw new Error(`Non-base256emoji character: ${t}`);e.push(n)}return new Uint8Array(e)}var ky=sn({prefix:"\u{1F680}",name:"base256emoji",encode:Cy,decode:Ty});var Ta={};M(Ta,{base36:()=>bs,base36upper:()=>Ry});var bs=or({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),Ry=or({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var ka={};M(ka,{base8:()=>Ny});var Ny=he({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var Ra={};M(Ra,{identity:()=>Uy});var Uy=sn({prefix:"\0",name:"identity",encode:r=>wf(r),decode:r=>bf(r)});var KA=new TextEncoder,zA=new TextDecoder;var Ua={};M(Ua,{identity:()=>vt});var Ly=Cf,Sf=128,Oy=127,Vy=~Oy,Py=Math.pow(2,31);function Cf(r,e,t){e=e||[],t=t||0;for(var n=t;r>=Py;)e[t++]=r&255|Sf,r/=128;for(;r&Vy;)e[t++]=r&255|Sf,r>>>=7;return e[t]=r|0,Cf.bytes=t-n+1,e}var My=Na,Fy=128,If=127;function Na(r,n){var t=0,n=n||0,o=0,s=n,i,a=r.length;do{if(s>=a)throw Na.bytes=0,new RangeError("Could not decode varint");i=r[s++],t+=o<28?(i&If)<<o:(i&If)*Math.pow(2,o),o+=7}while(i>=Fy);return Na.bytes=s-n,t}var $y=Math.pow(2,7),Hy=Math.pow(2,14),Ky=Math.pow(2,21),zy=Math.pow(2,28),qy=Math.pow(2,35),Gy=Math.pow(2,42),jy=Math.pow(2,49),Wy=Math.pow(2,56),Yy=Math.pow(2,63),Zy=function(r){return r<$y?1:r<Hy?2:r<Ky?3:r<zy?4:r<qy?5:r<Gy?6:r<jy?7:r<Wy?8:r<Yy?9:10},Jy={encode:Ly,decode:My,encodingLength:Zy},Xy=Jy,co=Xy;function uo(r,e=0){return[co.decode(r,e),co.decode.bytes]}function an(r,e,t=0){return co.encode(r,e,t),e}function cn(r){return co.encodingLength(r)}function xt(r,e){let t=e.byteLength,n=cn(r),o=n+cn(t),s=new Uint8Array(o+t);return an(r,s,0),an(t,s,n),s.set(e,o),new un(r,t,e,s)}function _r(r){let e=Dt(r),[t,n]=uo(e),[o,s]=uo(e.subarray(n)),i=e.subarray(n+s);if(i.byteLength!==o)throw new Error("Incorrect length");return new un(t,o,i,e)}function Tf(r,e){if(r===e)return!0;{let t=e;return r.code===t.code&&r.size===t.size&&t.bytes instanceof Uint8Array&&yf(r.bytes,t.bytes)}}var un=class{code;size;digest;bytes;constructor(e,t,n,o){this.code=e,this.size=t,this.digest=n,this.bytes=o}};var kf=0,Qy="identity",Rf=Dt;function eb(r){return xt(kf,Rf(r))}var vt={code:kf,name:Qy,encode:Rf,digest:eb};var La={};M(La,{sha256:()=>Ce,sha512:()=>tb});function Da({name:r,code:e,encode:t}){return new _a(r,e,t)}var _a=class{name;code;encode;constructor(e,t,n){this.name=e,this.code=t,this.encode=n}digest(e){if(e instanceof Uint8Array){let t=this.encode(e);return t instanceof Uint8Array?xt(this.code,t):t.then(n=>xt(this.code,n))}else throw Error("Unknown type, must be binary type")}};function Uf(r){return async e=>new Uint8Array(await crypto.subtle.digest(r,e))}var Ce=Da({name:"sha2-256",code:18,encode:Uf("SHA-256")}),tb=Da({name:"sha2-512",code:19,encode:Uf("SHA-512")});function _f(r,e){let{bytes:t,version:n}=r;switch(n){case 0:return nb(t,Oa(r),e??Ie.encoder);default:return ob(t,Oa(r),e??sr.encoder)}}var Df=new WeakMap;function Oa(r){let e=Df.get(r);if(e==null){let t=new Map;return Df.set(r,t),t}return e}var Xe=class r{code;version;multihash;bytes;"/";constructor(e,t,n,o){this.code=t,this.version=e,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:e,multihash:t}=this;if(e!==lo)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(t.code!==sb)throw new Error("Cannot convert non sha2-256 multihash CID to CIDv0");return r.createV0(t)}default:throw Error(`Can not convert CID version ${this.version} to version 0. This is a bug please report`)}}toV1(){switch(this.version){case 0:{let{code:e,digest:t}=this.multihash,n=xt(e,t);return r.createV1(this.code,n)}case 1:return this;default:throw Error(`Can not convert CID version ${this.version} to version 1. This is a bug please report`)}}equals(e){return r.equals(this,e)}static equals(e,t){let n=t;return n!=null&&e.code===n.code&&e.version===n.version&&Tf(e.multihash,n.multihash)}toString(e){return _f(this,e)}toJSON(){return{"/":_f(this)}}link(){return this}[Symbol.toStringTag]="CID";[Symbol.for("nodejs.util.inspect.custom")](){return`CID(${this.toString()})`}static asCID(e){if(e==null)return null;let t=e;if(t instanceof r)return t;if(t["/"]!=null&&t["/"]===t.bytes||t.asCID===t){let{version:n,code:o,multihash:s,bytes:i}=t;return new r(n,o,s,i??Lf(n,o,s.bytes))}else if(t[ib]===!0){let{version:n,multihash:o,code:s}=t,i=_r(o);return r.create(n,s,i)}else return null}static create(e,t,n){if(typeof t!="number")throw new Error("String codecs are no longer supported");if(!(n.bytes instanceof Uint8Array))throw new Error("Invalid digest");switch(e){case 0:{if(t!==lo)throw new Error(`Version 0 CID must use dag-pb (code: ${lo}) block encoding`);return new r(e,t,n,n.bytes)}case 1:{let o=Lf(e,t,n.bytes);return new r(e,t,n,o)}default:throw new Error("Invalid version")}}static createV0(e){return r.create(0,lo,e)}static createV1(e,t){return r.create(1,e,t)}static decode(e){let[t,n]=r.decodeFirst(e);if(n.length!==0)throw new Error("Incorrect length");return t}static decodeFirst(e){let t=r.inspectBytes(e),n=t.size-t.multihashSize,o=Dt(e.subarray(n,n+t.multihashSize));if(o.byteLength!==t.multihashSize)throw new Error("Incorrect length");let s=o.subarray(t.multihashSize-t.digestSize),i=new un(t.multihashCode,t.digestSize,s,o);return[t.version===0?r.createV0(i):r.createV1(t.codec,i),e.subarray(t.size)]}static inspectBytes(e){let t=0,n=()=>{let[l,p]=uo(e.subarray(t));return t+=p,l},o=n(),s=lo;if(o===18?(o=0,t=0):s=n(),o!==0&&o!==1)throw new RangeError(`Invalid CID version ${o}`);let i=t,a=n(),c=n(),f=t+c,u=f-i;return{version:o,codec:s,multihashCode:a,digestSize:c,multihashSize:u,size:f}}static parse(e,t){let[n,o]=rb(e,t),s=r.decode(o);if(s.version===0&&e[0]!=="Q")throw Error("Version 0 CID string must not include multibase prefix");return Oa(s).set(n,e),s}};function rb(r,e){switch(r[0]){case"Q":{let t=e??Ie;return[Ie.prefix,t.decode(`${Ie.prefix}${r}`)]}case Ie.prefix:{let t=e??Ie;return[Ie.prefix,t.decode(r)]}case sr.prefix:{let t=e??sr;return[sr.prefix,t.decode(r)]}default:{if(e==null)throw Error("To parse non base32 or base58btc encoded CID multibase decoder must be provided");return[r[0],e.decode(r)]}}}function nb(r,e,t){let{prefix:n}=t;if(n!==Ie.prefix)throw Error(`Cannot string encode V0 in ${t.name} encoding`);let o=e.get(n);if(o==null){let s=t.encode(r).slice(1);return e.set(n,s),s}else return o}function ob(r,e,t){let{prefix:n}=t,o=e.get(n);if(o==null){let s=t.encode(r);return e.set(n,s),s}else return o}var lo=112,sb=18;function Lf(r,e,t){let n=cn(r),o=n+cn(e),s=new Uint8Array(o+t.byteLength);return an(r,s,0),an(e,s,n),s.set(t,o),s}var ib=Symbol.for("@ipld/js-cid/CID");var ln={...Ra,...Ia,...ka,...Ba,...Sa,...va,...Ta,...Ea,...Aa,...Ca},fB={...La,...Ua};function Te(r,e){if(r===e)return!0;if(r.byteLength!==e.byteLength)return!1;for(let t=0;t<r.byteLength;t++)if(r[t]!==e[t])return!1;return!0}var ab=Symbol.for("nodejs.util.inspect.custom"),Of=Object.values(ln).map(r=>r.decoder).reduce((r,e)=>r.or(e),ln.identity.decoder),Vf=114,Va=36,Pa=37,fo=class{type;multihash;privateKey;publicKey;string;constructor(e){this.type=e.type,this.multihash=e.multihash,this.privateKey=e.privateKey,Object.defineProperty(this,"string",{enumerable:!1,writable:!0})}get[Symbol.toStringTag](){return`PeerId(${this.toString()})`}[pa]=!0;toString(){return this.string==null&&(this.string=Ie.encode(this.multihash.bytes).slice(1)),this.string}toCID(){return Xe.createV1(Vf,this.multihash)}toBytes(){return this.multihash.bytes}toJSON(){return this.toString()}equals(e){if(e==null)return!1;if(e instanceof Uint8Array)return Te(this.multihash.bytes,e);if(typeof e=="string")return Ma(e).equals(this);if(e?.multihash?.bytes!=null)return Te(this.multihash.bytes,e.multihash.bytes);throw new Error("not valid Id")}[ab](){return`PeerId(${this.toString()})`}},fn=class extends fo{type="RSA";publicKey;constructor(e){super({...e,type:"RSA"}),this.publicKey=e.publicKey}},hn=class extends fo{type="Ed25519";publicKey;constructor(e){super({...e,type:"Ed25519"}),this.publicKey=e.multihash.digest}},dn=class extends fo{type="secp256k1";publicKey;constructor(e){super({...e,type:"secp256k1"}),this.publicKey=e.multihash.digest}};function Ma(r,e){if(e=e??Of,r.charAt(0)==="1"||r.charAt(0)==="Q"){let t=_r(Ie.decode(`z${r}`));return r.startsWith("12D")?new hn({multihash:t}):r.startsWith("16U")?new dn({multihash:t}):new fn({multihash:t})}return Fa(Of.decode(r))}function Fa(r){try{let e=_r(r);if(e.code===vt.code){if(e.digest.length===Va)return new hn({multihash:e});if(e.digest.length===Pa)return new dn({multihash:e})}if(e.code===Ce.code)return new fn({multihash:e})}catch{return cb(Xe.decode(r))}throw new Error("Supplied PeerID CID is invalid")}function cb(r){if(r==null||r.multihash==null||r.version==null||r.version===1&&r.code!==Vf)throw new Error("Supplied PeerID CID is invalid");let e=r.multihash;if(e.code===Ce.code)return new fn({multihash:r.multihash});if(e.code===vt.code){if(e.digest.length===Va)return new hn({multihash:r.multihash});if(e.digest.length===Pa)return new dn({multihash:r.multihash})}throw new Error("Supplied PeerID CID is invalid")}async function Pf(r,e){return r.length===Va?new hn({multihash:xt(vt.code,r),privateKey:e}):r.length===Pa?new dn({multihash:xt(vt.code,r),privateKey:e}):new fn({multihash:await Ce.digest(r),publicKey:r,privateKey:e})}var gc={};M(gc,{Ed25519PrivateKey:()=>Hr,Ed25519PublicKey:()=>wo,generateKeyPair:()=>Tw,generateKeyPairFromSeed:()=>xh,unmarshalEd25519PrivateKey:()=>Iw,unmarshalEd25519PublicKey:()=>Cw});function Lr(r){return globalThis.Buffer!=null?new Uint8Array(r.buffer,r.byteOffset,r.byteLength):r}function lt(r=0){return globalThis.Buffer?.allocUnsafe!=null?Lr(globalThis.Buffer.allocUnsafe(r)):new Uint8Array(r)}function Or(r,e){if(globalThis.Buffer!=null)return Lr(globalThis.Buffer.concat(r,e));e==null&&(e=r.reduce((o,s)=>o+s.length,0));let t=lt(e),n=0;for(let o of r)t.set(o,n),n+=o.length;return Lr(t)}function Ff(r,e,t,n){return{name:r,prefix:e,encoder:{name:r,prefix:e,encode:t},decoder:{decode:n}}}var Mf=Ff("utf8","u",r=>"u"+new TextDecoder("utf8").decode(r),r=>new TextEncoder().encode(r.substring(1))),$a=Ff("ascii","a",r=>{let e="a";for(let t=0;t<r.length;t++)e+=String.fromCharCode(r[t]);return e},r=>{r=r.substring(1);let e=lt(r.length);for(let t=0;t<r.length;t++)e[t]=r.charCodeAt(t);return e}),ub={utf8:Mf,"utf-8":Mf,hex:ln.base16,latin1:$a,ascii:$a,binary:$a,...ln},xs=ub;function ee(r,e="utf8"){let t=xs[e];if(t==null)throw new Error(`Unsupported encoding "${e}"`);return(e==="utf8"||e==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?Lr(globalThis.Buffer.from(r,"utf-8")):t.decoder.decode(`${t.prefix}${r}`)}function ot(r){return r==null?!1:typeof r.then=="function"&&typeof r.catch=="function"&&typeof r.finally=="function"}function pn(r){if(!Number.isSafeInteger(r)||r<0)throw new Error(`Wrong positive integer: ${r}`)}function lb(r){return r instanceof Uint8Array||r!=null&&typeof r=="object"&&r.constructor.name==="Uint8Array"}function Ha(r,...e){if(!lb(r))throw new Error("Expected Uint8Array");if(e.length>0&&!e.includes(r.length))throw new Error(`Expected Uint8Array of length ${e}, not of length=${r.length}`)}function vs(r){if(typeof r!="function"||typeof r.create!="function")throw new Error("Hash should be wrapped by utils.wrapConstructor");pn(r.outputLen),pn(r.blockLen)}function mn(r,e=!0){if(r.destroyed)throw new Error("Hash instance has been destroyed");if(e&&r.finished)throw new Error("Hash#digest() has already been called")}function $f(r,e){Ha(r);let t=e.outputLen;if(r.length<t)throw new Error(`digestInto() expects output buffer of length at least ${t}`)}var Es=typeof globalThis=="object"&&"crypto"in globalThis?globalThis.crypto:void 0;function Hf(r){return r instanceof Uint8Array||r!=null&&typeof r=="object"&&r.constructor.name==="Uint8Array"}var yn=r=>new DataView(r.buffer,r.byteOffset,r.byteLength),ft=(r,e)=>r<<32-e|r>>>e,fb=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;if(!fb)throw new Error("Non little-endian hardware is not supported");var hb=async()=>{};async function Kf(r,e,t){let n=Date.now();for(let o=0;o<r;o++){t(o);let s=Date.now()-n;s>=0&&s<e||(await hb(),n+=s)}}function Ka(r){if(typeof r!="string")throw new Error(`utf8ToBytes expected string, got ${typeof r}`);return new Uint8Array(new TextEncoder().encode(r))}function ar(r){if(typeof r=="string"&&(r=Ka(r)),!Hf(r))throw new Error(`expected Uint8Array, got ${typeof r}`);return r}function As(...r){let e=0;for(let n=0;n<r.length;n++){let o=r[n];if(!Hf(o))throw new Error("Uint8Array expected");e+=o.length}let t=new Uint8Array(e);for(let n=0,o=0;n<r.length;n++){let s=r[n];t.set(s,o),o+=s.length}return t}var gn=class{clone(){return this._cloneInto()}},db={}.toString;function zf(r,e){if(e!==void 0&&db.call(e)!=="[object Object]")throw new Error("Options should be object or undefined");return Object.assign(r,e)}function Bs(r){let e=n=>r().update(ar(n)).digest(),t=r();return e.outputLen=t.outputLen,e.blockLen=t.blockLen,e.create=()=>r(),e}function bn(r=32){if(Es&&typeof Es.getRandomValues=="function")return Es.getRandomValues(new Uint8Array(r));throw new Error("crypto.getRandomValues must be defined")}function pb(r,e,t,n){if(typeof r.setBigUint64=="function")return r.setBigUint64(e,t,n);let o=BigInt(32),s=BigInt(4294967295),i=Number(t>>o&s),a=Number(t&s),c=n?4:0,f=n?0:4;r.setUint32(e+c,i,n),r.setUint32(e+f,a,n)}var wn=class extends gn{constructor(e,t,n,o){super(),this.blockLen=e,this.outputLen=t,this.padOffset=n,this.isLE=o,this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.buffer=new Uint8Array(e),this.view=yn(this.buffer)}update(e){mn(this);let{view:t,buffer:n,blockLen:o}=this;e=ar(e);let s=e.length;for(let i=0;i<s;){let a=Math.min(o-this.pos,s-i);if(a===o){let c=yn(e);for(;o<=s-i;i+=o)this.process(c,i);continue}n.set(e.subarray(i,i+a),this.pos),this.pos+=a,i+=a,this.pos===o&&(this.process(t,0),this.pos=0)}return this.length+=e.length,this.roundClean(),this}digestInto(e){mn(this),$f(e,this),this.finished=!0;let{buffer:t,view:n,blockLen:o,isLE:s}=this,{pos:i}=this;t[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++)t[l]=0;pb(n,o-8,BigInt(this.length*8),s),this.process(n,0);let a=yn(e),c=this.outputLen;if(c%4)throw new Error("_sha2: outputLen should be aligned to 32bit");let f=c/4,u=this.get();if(f>u.length)throw new Error("_sha2: outputLen bigger than state");for(let l=0;l<f;l++)a.setUint32(4*l,u[l],s)}digest(){let{buffer:e,outputLen:t}=this;this.digestInto(e);let n=e.slice(0,t);return this.destroy(),n}_cloneInto(e){e||(e=new this.constructor),e.set(...this.get());let{blockLen:t,buffer:n,length:o,finished:s,destroyed:i,pos:a}=this;return e.length=o,e.pos=a,e.finished=s,e.destroyed=i,o%t&&e.buffer.set(n),e}};var Ss=BigInt(4294967295),za=BigInt(32);function qf(r,e=!1){return e?{h:Number(r&Ss),l:Number(r>>za&Ss)}:{h:Number(r>>za&Ss)|0,l:Number(r&Ss)|0}}function mb(r,e=!1){let t=new Uint32Array(r.length),n=new Uint32Array(r.length);for(let o=0;o<r.length;o++){let{h:s,l:i}=qf(r[o],e);[t[o],n[o]]=[s,i]}return[t,n]}var gb=(r,e)=>BigInt(r>>>0)<<za|BigInt(e>>>0),yb=(r,e,t)=>r>>>t,bb=(r,e,t)=>r<<32-t|e>>>t,wb=(r,e,t)=>r>>>t|e<<32-t,xb=(r,e,t)=>r<<32-t|e>>>t,vb=(r,e,t)=>r<<64-t|e>>>t-32,Eb=(r,e,t)=>r>>>t-32|e<<64-t,Ab=(r,e)=>e,Bb=(r,e)=>r,Sb=(r,e,t)=>r<<t|e>>>32-t,Ib=(r,e,t)=>e<<t|r>>>32-t,Cb=(r,e,t)=>e<<t-32|r>>>64-t,Tb=(r,e,t)=>r<<t-32|e>>>64-t;function kb(r,e,t,n){let o=(e>>>0)+(n>>>0);return{h:r+t+(o/2**32|0)|0,l:o|0}}var Rb=(r,e,t)=>(r>>>0)+(e>>>0)+(t>>>0),Nb=(r,e,t,n)=>e+t+n+(r/2**32|0)|0,Ub=(r,e,t,n)=>(r>>>0)+(e>>>0)+(t>>>0)+(n>>>0),_b=(r,e,t,n,o)=>e+t+n+o+(r/2**32|0)|0,Db=(r,e,t,n,o)=>(r>>>0)+(e>>>0)+(t>>>0)+(n>>>0)+(o>>>0),Lb=(r,e,t,n,o,s)=>e+t+n+o+s+(r/2**32|0)|0;var Ob={fromBig:qf,split:mb,toBig:gb,shrSH:yb,shrSL:bb,rotrSH:wb,rotrSL:xb,rotrBH:vb,rotrBL:Eb,rotr32H:Ab,rotr32L:Bb,rotlSH:Sb,rotlSL:Ib,rotlBH:Cb,rotlBL:Tb,add:kb,add3L:Rb,add3H:Nb,add4L:Ub,add4H:_b,add5H:Lb,add5L:Db},j=Ob;var[Vb,Pb]=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))),cr=new Uint32Array(80),ur=new Uint32Array(80),qa=class extends wn{constructor(){super(128,64,16,!1),this.Ah=1779033703,this.Al=-205731576,this.Bh=-1150833019,this.Bl=-2067093701,this.Ch=1013904242,this.Cl=-23791573,this.Dh=-1521486534,this.Dl=1595750129,this.Eh=1359893119,this.El=-1377402159,this.Fh=-1694144372,this.Fl=725511199,this.Gh=528734635,this.Gl=-79577749,this.Hh=1541459225,this.Hl=327033209}get(){let{Ah:e,Al:t,Bh:n,Bl:o,Ch:s,Cl:i,Dh:a,Dl:c,Eh:f,El:u,Fh:l,Fl:p,Gh:x,Gl:d,Hh:h,Hl:m}=this;return[e,t,n,o,s,i,a,c,f,u,l,p,x,d,h,m]}set(e,t,n,o,s,i,a,c,f,u,l,p,x,d,h,m){this.Ah=e|0,this.Al=t|0,this.Bh=n|0,this.Bl=o|0,this.Ch=s|0,this.Cl=i|0,this.Dh=a|0,this.Dl=c|0,this.Eh=f|0,this.El=u|0,this.Fh=l|0,this.Fl=p|0,this.Gh=x|0,this.Gl=d|0,this.Hh=h|0,this.Hl=m|0}process(e,t){for(let b=0;b<16;b++,t+=4)cr[b]=e.getUint32(t),ur[b]=e.getUint32(t+=4);for(let b=16;b<80;b++){let S=cr[b-15]|0,v=ur[b-15]|0,I=j.rotrSH(S,v,1)^j.rotrSH(S,v,8)^j.shrSH(S,v,7),C=j.rotrSL(S,v,1)^j.rotrSL(S,v,8)^j.shrSL(S,v,7),y=cr[b-2]|0,k=ur[b-2]|0,O=j.rotrSH(y,k,19)^j.rotrBH(y,k,61)^j.shrSH(y,k,6),U=j.rotrSL(y,k,19)^j.rotrBL(y,k,61)^j.shrSL(y,k,6),V=j.add4L(C,U,ur[b-7],ur[b-16]),H=j.add4H(V,I,O,cr[b-7],cr[b-16]);cr[b]=H|0,ur[b]=V|0}let{Ah:n,Al:o,Bh:s,Bl:i,Ch:a,Cl:c,Dh:f,Dl:u,Eh:l,El:p,Fh:x,Fl:d,Gh:h,Gl:m,Hh:g,Hl:A}=this;for(let b=0;b<80;b++){let S=j.rotrSH(l,p,14)^j.rotrSH(l,p,18)^j.rotrBH(l,p,41),v=j.rotrSL(l,p,14)^j.rotrSL(l,p,18)^j.rotrBL(l,p,41),I=l&x^~l&h,C=p&d^~p&m,y=j.add5L(A,v,C,Pb[b],ur[b]),k=j.add5H(y,g,S,I,Vb[b],cr[b]),O=y|0,U=j.rotrSH(n,o,28)^j.rotrBH(n,o,34)^j.rotrBH(n,o,39),V=j.rotrSL(n,o,28)^j.rotrBL(n,o,34)^j.rotrBL(n,o,39),H=n&s^n&a^s&a,X=o&i^o&c^i&c;g=h|0,A=m|0,h=x|0,m=d|0,x=l|0,d=p|0,{h:l,l:p}=j.add(f|0,u|0,k|0,O|0),f=a|0,u=c|0,a=s|0,c=i|0,s=n|0,i=o|0;let B=j.add3L(O,V,X);n=j.add3H(B,k,U,H),o=B|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:f,l:u}=j.add(this.Dh|0,this.Dl|0,f|0,u|0),{h:l,l:p}=j.add(this.Eh|0,this.El|0,l|0,p|0),{h:x,l:d}=j.add(this.Fh|0,this.Fl|0,x|0,d|0),{h,l:m}=j.add(this.Gh|0,this.Gl|0,h|0,m|0),{h:g,l:A}=j.add(this.Hh|0,this.Hl|0,g|0,A|0),this.set(n,o,s,i,a,c,f,u,l,p,x,d,h,m,g,A)}roundClean(){cr.fill(0),ur.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 xn=Bs(()=>new qa);var Cs={};M(Cs,{bitGet:()=>qb,bitLen:()=>zb,bitMask:()=>ho,bitSet:()=>Gb,bytesToHex:()=>Ot,bytesToNumberBE:()=>Vt,bytesToNumberLE:()=>lr,concatBytes:()=>Pt,createHmacDrbg:()=>Wa,ensureBytes:()=>de,equalBytes:()=>Hb,hexToBytes:()=>Vr,hexToNumber:()=>ja,isBytes:()=>ht,numberToBytesBE:()=>fr,numberToBytesLE:()=>Pr,numberToHexUnpadded:()=>Yf,numberToVarBytesBE:()=>$b,utf8ToBytes:()=>Kb,validateObject:()=>Et});var Wf=BigInt(0),Is=BigInt(1),Mb=BigInt(2);function ht(r){return r instanceof Uint8Array||r!=null&&typeof r=="object"&&r.constructor.name==="Uint8Array"}var Fb=Array.from({length:256},(r,e)=>e.toString(16).padStart(2,"0"));function Ot(r){if(!ht(r))throw new Error("Uint8Array expected");let e="";for(let t=0;t<r.length;t++)e+=Fb[r[t]];return e}function Yf(r){let e=r.toString(16);return e.length&1?`0${e}`:e}function ja(r){if(typeof r!="string")throw new Error("hex string expected, got "+typeof r);return BigInt(r===""?"0":`0x${r}`)}var Lt={_0:48,_9:57,_A:65,_F:70,_a:97,_f:102};function Gf(r){if(r>=Lt._0&&r<=Lt._9)return r-Lt._0;if(r>=Lt._A&&r<=Lt._F)return r-(Lt._A-10);if(r>=Lt._a&&r<=Lt._f)return r-(Lt._a-10)}function Vr(r){if(typeof r!="string")throw new Error("hex string expected, got "+typeof r);let e=r.length,t=e/2;if(e%2)throw new Error("padded hex string expected, got unpadded hex of length "+e);let n=new Uint8Array(t);for(let o=0,s=0;o<t;o++,s+=2){let i=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 Vt(r){return ja(Ot(r))}function lr(r){if(!ht(r))throw new Error("Uint8Array expected");return ja(Ot(Uint8Array.from(r).reverse()))}function fr(r,e){return Vr(r.toString(16).padStart(e*2,"0"))}function Pr(r,e){return fr(r,e).reverse()}function $b(r){return Vr(Yf(r))}function de(r,e,t){let n;if(typeof e=="string")try{n=Vr(e)}catch(s){throw new Error(`${r} must be valid hex string, got "${e}". Cause: ${s}`)}else if(ht(e))n=Uint8Array.from(e);else throw new Error(`${r} must be hex string or Uint8Array`);let o=n.length;if(typeof t=="number"&&o!==t)throw new Error(`${r} expected ${t} bytes, got ${o}`);return n}function Pt(...r){let e=0;for(let o=0;o<r.length;o++){let s=r[o];if(!ht(s))throw new Error("Uint8Array expected");e+=s.length}let t=new Uint8Array(e),n=0;for(let o=0;o<r.length;o++){let s=r[o];t.set(s,n),n+=s.length}return t}function Hb(r,e){if(r.length!==e.length)return!1;let t=0;for(let n=0;n<r.length;n++)t|=r[n]^e[n];return t===0}function Kb(r){if(typeof r!="string")throw new Error(`utf8ToBytes expected string, got ${typeof r}`);return new Uint8Array(new TextEncoder().encode(r))}function zb(r){let e;for(e=0;r>Wf;r>>=Is,e+=1);return e}function qb(r,e){return r>>BigInt(e)&Is}var Gb=(r,e,t)=>r|(t?Is:Wf)<<BigInt(e),ho=r=>(Mb<<BigInt(r-1))-Is,Ga=r=>new Uint8Array(r),jf=r=>Uint8Array.from(r);function Wa(r,e,t){if(typeof r!="number"||r<2)throw new Error("hashLen must be a number");if(typeof e!="number"||e<2)throw new Error("qByteLen must be a number");if(typeof t!="function")throw new Error("hmacFn must be a function");let n=Ga(r),o=Ga(r),s=0,i=()=>{n.fill(1),o.fill(0),s=0},a=(...l)=>t(o,n,...l),c=(l=Ga())=>{o=a(jf([0]),l),n=a(),l.length!==0&&(o=a(jf([1]),l),n=a())},f=()=>{if(s++>=1e3)throw new Error("drbg: tried 1000 values");let l=0,p=[];for(;l<e;){n=a();let x=n.slice();p.push(x),l+=n.length}return Pt(...p)};return(l,p)=>{i(),c(l);let x;for(;!(x=p(f()));)c();return i(),x}}var jb={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"||ht(r),isSafeInteger:r=>Number.isSafeInteger(r),array:r=>Array.isArray(r),field:(r,e)=>e.Fp.isValid(r),hash:r=>typeof r=="function"&&Number.isSafeInteger(r.outputLen)};function Et(r,e,t={}){let n=(o,s,i)=>{let a=jb[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(e))n(o,s,!1);for(let[o,s]of Object.entries(t))n(o,s,!0);return r}var xe=BigInt(0),ie=BigInt(1),Mr=BigInt(2),Wb=BigInt(3),Ya=BigInt(4),Zf=BigInt(5),Jf=BigInt(8),Yb=BigInt(9),Zb=BigInt(16);function oe(r,e){let t=r%e;return t>=xe?t:e+t}function Jb(r,e,t){if(t<=xe||e<xe)throw new Error("Expected power/modulo > 0");if(t===ie)return xe;let n=ie;for(;e>xe;)e&ie&&(n=n*r%t),r=r*r%t,e>>=ie;return n}function ae(r,e,t){let n=r;for(;e-- >xe;)n*=n,n%=t;return n}function Ts(r,e){if(r===xe||e<=xe)throw new Error(`invert: expected positive integers, got n=${r} mod=${e}`);let t=oe(r,e),n=e,o=xe,s=ie,i=ie,a=xe;for(;t!==xe;){let f=n/t,u=n%t,l=o-i*f,p=s-a*f;n=t,t=u,o=i,s=a,i=l,a=p}if(n!==ie)throw new Error("invert: does not exist");return oe(o,e)}function Xb(r){let e=(r-ie)/Mr,t,n,o;for(t=r-ie,n=0;t%Mr===xe;t/=Mr,n++);for(o=Mr;o<r&&Jb(o,e,r)!==r-ie;o++);if(n===1){let i=(r+ie)/Ya;return function(c,f){let u=c.pow(f,i);if(!c.eql(c.sqr(u),f))throw new Error("Cannot find square root");return u}}let s=(t+ie)/Mr;return function(a,c){if(a.pow(c,e)===a.neg(a.ONE))throw new Error("Cannot find square root");let f=n,u=a.pow(a.mul(a.ONE,o),t),l=a.pow(c,s),p=a.pow(c,t);for(;!a.eql(p,a.ONE);){if(a.eql(p,a.ZERO))return a.ZERO;let x=1;for(let h=a.sqr(p);x<f&&!a.eql(h,a.ONE);x++)h=a.sqr(h);let d=a.pow(u,ie<<BigInt(f-x-1));u=a.sqr(d),l=a.mul(l,d),p=a.mul(p,u),f=x}return l}}function Qb(r){if(r%Ya===Wb){let e=(r+ie)/Ya;return function(n,o){let s=n.pow(o,e);if(!n.eql(n.sqr(s),o))throw new Error("Cannot find square root");return s}}if(r%Jf===Zf){let e=(r-Zf)/Jf;return function(n,o){let s=n.mul(o,Mr),i=n.pow(s,e),a=n.mul(o,i),c=n.mul(n.mul(a,Mr),i),f=n.mul(a,n.sub(c,n.ONE));if(!n.eql(n.sqr(f),o))throw new Error("Cannot find square root");return f}}return r%Zb,Xb(r)}var Xf=(r,e)=>(oe(r,e)&ie)===ie,ew=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"];function Za(r){let e={ORDER:"bigint",MASK:"bigint",BYTES:"isSafeInteger",BITS:"isSafeInteger"},t=ew.reduce((n,o)=>(n[o]="function",n),e);return Et(r,t)}function tw(r,e,t){if(t<xe)throw new Error("Expected power > 0");if(t===xe)return r.ONE;if(t===ie)return e;let n=r.ONE,o=e;for(;t>xe;)t&ie&&(n=r.mul(n,o)),o=r.sqr(o),t>>=ie;return n}function rw(r,e){let t=new Array(e.length),n=e.reduce((s,i,a)=>r.is0(i)?s:(t[a]=s,r.mul(s,i)),r.ONE),o=r.inv(n);return e.reduceRight((s,i,a)=>r.is0(i)?s:(t[a]=r.mul(s,t[a]),r.mul(s,i)),o),t}function Ja(r,e){let t=e!==void 0?e:r.toString(2).length,n=Math.ceil(t/8);return{nBitLength:t,nByteLength:n}}function ks(r,e,t=!1,n={}){if(r<=xe)throw new Error(`Expected Field ORDER > 0, got ${r}`);let{nBitLength:o,nByteLength:s}=Ja(r,e);if(s>2048)throw new Error("Field lengths over 2048 bytes are not supported");let i=Qb(r),a=Object.freeze({ORDER:r,BITS:o,BYTES:s,MASK:ho(o),ZERO:xe,ONE:ie,create:c=>oe(c,r),isValid:c=>{if(typeof c!="bigint")throw new Error(`Invalid field element: expected bigint, got ${typeof c}`);return xe<=c&&c<r},is0:c=>c===xe,isOdd:c=>(c&ie)===ie,neg:c=>oe(-c,r),eql:(c,f)=>c===f,sqr:c=>oe(c*c,r),add:(c,f)=>oe(c+f,r),sub:(c,f)=>oe(c-f,r),mul:(c,f)=>oe(c*f,r),pow:(c,f)=>tw(a,c,f),div:(c,f)=>oe(c*Ts(f,r),r),sqrN:c=>c*c,addN:(c,f)=>c+f,subN:(c,f)=>c-f,mulN:(c,f)=>c*f,inv:c=>Ts(c,r),sqrt:n.sqrt||(c=>i(a,c)),invertBatch:c=>rw(a,c),cmov:(c,f,u)=>u?f:c,toBytes:c=>t?Pr(c,s):fr(c,s),fromBytes:c=>{if(c.length!==s)throw new Error(`Fp.fromBytes: expected ${s}, got ${c.length}`);return t?lr(c):Vt(c)}});return Object.freeze(a)}function Qf(r,e){if(!r.isOdd)throw new Error("Field doesn't have isOdd");let t=r.sqrt(e);return r.isOdd(t)?r.neg(t):t}function eh(r){if(typeof r!="bigint")throw new Error("field order must be bigint");let e=r.toString(2).length;return Math.ceil(e/8)}function Xa(r){let e=eh(r);return e+Math.ceil(e/2)}function th(r,e,t=!1){let n=r.length,o=eh(e),s=Xa(e);if(n<16||n<s||n>1024)throw new Error(`expected ${s}-1024 bytes of input, got ${n}`);let i=t?Vt(r):lr(r),a=oe(i,e-ie)+ie;return t?Pr(a,o):fr(a,o)}var ow=BigInt(0),Qa=BigInt(1);function Rs(r,e){let t=(o,s)=>{let i=s.negate();return o?i:s},n=o=>{let s=Math.ceil(e/o)+1,i=2**(o-1);return{windows:s,windowSize:i}};return{constTimeNegate:t,unsafeLadder(o,s){let i=r.ZERO,a=o;for(;s>ow;)s&Qa&&(i=i.add(a)),a=a.double(),s>>=Qa;return i},precomputeWindow(o,s){let{windows:i,windowSize:a}=n(s),c=[],f=o,u=f;for(let l=0;l<i;l++){u=f,c.push(u);for(let p=1;p<a;p++)u=u.add(f),c.push(u);f=u.double()}return c},wNAF(o,s,i){let{windows:a,windowSize:c}=n(o),f=r.ZERO,u=r.BASE,l=BigInt(2**o-1),p=2**o,x=BigInt(o);for(let d=0;d<a;d++){let h=d*c,m=Number(i&l);i>>=x,m>c&&(m-=p,i+=Qa);let g=h,A=h+Math.abs(m)-1,b=d%2!==0,S=m<0;m===0?u=u.add(t(b,s[g])):f=f.add(t(S,s[A]))}return{p:f,f:u}},wNAFCached(o,s,i,a){let c=o._WINDOW_SIZE||1,f=s.get(o);return f||(f=this.precomputeWindow(o,c),c!==1&&s.set(o,a(f))),this.wNAF(c,f,i)}}}function po(r){return Za(r.Fp),Et(r,{n:"bigint",h:"bigint",Gx:"field",Gy:"field"},{nBitLength:"isSafeInteger",nByteLength:"isSafeInteger"}),Object.freeze({...Ja(r.n,r.nBitLength),...r,p:r.Fp.ORDER})}var dt=BigInt(0),Qe=BigInt(1),Ns=BigInt(2),sw=BigInt(8),iw={zip215:!0};function aw(r){let e=po(r);return Et(r,{hash:"function",a:"bigint",d:"bigint",randomBytes:"function"},{adjustScalarBytes:"function",domain:"function",uvRatio:"function",mapToCurve:"function"}),Object.freeze({...e})}function Us(r){let e=aw(r),{Fp:t,n,prehash:o,hash:s,randomBytes:i,nByteLength:a,h:c}=e,f=Ns<<BigInt(a*8)-Qe,u=t.create,l=e.uvRatio||((T,E)=>{try{return{isValid:!0,value:t.sqrt(T*t.inv(E))}}catch{return{isValid:!1,value:dt}}}),p=e.adjustScalarBytes||(T=>T),x=e.domain||((T,E,L)=>{if(E.length||L)throw new Error("Contexts/pre-hash are not supported");return T}),d=T=>typeof T=="bigint"&&dt<T,h=(T,E)=>d(T)&&d(E)&&T<E,m=T=>T===dt||h(T,f);function g(T,E){if(h(T,E))return T;throw new Error(`Expected valid scalar < ${E}, got ${typeof T} ${T}`)}function A(T){return T===dt?T:g(T,n)}let b=new Map;function S(T){if(!(T instanceof v))throw new Error("ExtendedPoint expected")}class v{constructor(E,L,F,q){if(this.ex=E,this.ey=L,this.ez=F,this.et=q,!m(E))throw new Error("x required");if(!m(L))throw new Error("y required");if(!m(F))throw new Error("z required");if(!m(q))throw new Error("t required")}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static fromAffine(E){if(E instanceof v)throw new Error("extended point not allowed");let{x:L,y:F}=E||{};if(!m(L)||!m(F))throw new Error("invalid affine point");return new v(L,F,Qe,u(L*F))}static normalizeZ(E){let L=t.invertBatch(E.map(F=>F.ez));return E.map((F,q)=>F.toAffine(L[q])).map(v.fromAffine)}_setWindowSize(E){this._WINDOW_SIZE=E,b.delete(this)}assertValidity(){let{a:E,d:L}=e;if(this.is0())throw new Error("bad point: ZERO");let{ex:F,ey:q,ez:W,et:Y}=this,ne=u(F*F),J=u(q*q),Q=u(W*W),ye=u(Q*Q),fe=u(ne*E),Ae=u(Q*u(fe+J)),Be=u(ye+u(L*u(ne*J)));if(Ae!==Be)throw new Error("bad point: equation left != right (1)");let we=u(F*q),De=u(W*Y);if(we!==De)throw new Error("bad point: equation left != right (2)")}equals(E){S(E);let{ex:L,ey:F,ez:q}=this,{ex:W,ey:Y,ez:ne}=E,J=u(L*ne),Q=u(W*q),ye=u(F*ne),fe=u(Y*q);return J===Q&&ye===fe}is0(){return this.equals(v.ZERO)}negate(){return new v(u(-this.ex),this.ey,this.ez,u(-this.et))}double(){let{a:E}=e,{ex:L,ey:F,ez:q}=this,W=u(L*L),Y=u(F*F),ne=u(Ns*u(q*q)),J=u(E*W),Q=L+F,ye=u(u(Q*Q)-W-Y),fe=J+Y,Ae=fe-ne,Be=J-Y,we=u(ye*Ae),De=u(fe*Be),_t=u(ye*Be),Nr=u(Ae*fe);return new v(we,De,Nr,_t)}add(E){S(E);let{a:L,d:F}=e,{ex:q,ey:W,ez:Y,et:ne}=this,{ex:J,ey:Q,ez:ye,et:fe}=E;if(L===BigInt(-1)){let of=u((W-q)*(Q+J)),sf=u((W+q)*(Q-J)),da=u(sf-of);if(da===dt)return this.double();let af=u(Y*Ns*fe),cf=u(ne*Ns*ye),uf=cf+af,lf=sf+of,ff=cf-af,Og=u(uf*da),Vg=u(lf*ff),Pg=u(uf*ff),Mg=u(da*lf);return new v(Og,Vg,Mg,Pg)}let Ae=u(q*J),Be=u(W*Q),we=u(ne*F*fe),De=u(Y*ye),_t=u((q+W)*(J+Q)-Ae-Be),Nr=De-we,io=De+we,nf=u(Be-L*Ae),Ug=u(_t*Nr),_g=u(io*nf),Dg=u(_t*nf),Lg=u(Nr*io);return new v(Ug,_g,Lg,Dg)}subtract(E){return this.add(E.negate())}wNAF(E){return y.wNAFCached(this,b,E,v.normalizeZ)}multiply(E){let{p:L,f:F}=this.wNAF(g(E,n));return v.normalizeZ([L,F])[0]}multiplyUnsafe(E){let L=A(E);return L===dt?C:this.equals(C)||L===Qe?this:this.equals(I)?this.wNAF(L).p:y.unsafeLadder(this,L)}isSmallOrder(){return this.multiplyUnsafe(c).is0()}isTorsionFree(){return y.unsafeLadder(this,n).is0()}toAffine(E){let{ex:L,ey:F,ez:q}=this,W=this.is0();E==null&&(E=W?sw:t.inv(q));let Y=u(L*E),ne=u(F*E),J=u(q*E);if(W)return{x:dt,y:Qe};if(J!==Qe)throw new Error("invZ was invalid");return{x:Y,y:ne}}clearCofactor(){let{h:E}=e;return E===Qe?this:this.multiplyUnsafe(E)}static fromHex(E,L=!1){let{d:F,a:q}=e,W=t.BYTES;E=de("pointHex",E,W);let Y=E.slice(),ne=E[W-1];Y[W-1]=ne&-129;let J=lr(Y);J===dt||(L?g(J,f):g(J,t.ORDER));let Q=u(J*J),ye=u(Q-Qe),fe=u(F*Q-q),{isValid:Ae,value:Be}=l(ye,fe);if(!Ae)throw new Error("Point.fromHex: invalid y coordinate");let we=(Be&Qe)===Qe,De=(ne&128)!==0;if(!L&&Be===dt&&De)throw new Error("Point.fromHex: x=0 and x_0=1");return De!==we&&(Be=u(-Be)),v.fromAffine({x:Be,y:J})}static fromPrivateKey(E){return U(E).point}toRawBytes(){let{x:E,y:L}=this.toAffine(),F=Pr(L,t.BYTES);return F[F.length-1]|=E&Qe?128:0,F}toHex(){return Ot(this.toRawBytes())}}v.BASE=new v(e.Gx,e.Gy,Qe,u(e.Gx*e.Gy)),v.ZERO=new v(dt,Qe,Qe,dt);let{BASE:I,ZERO:C}=v,y=Rs(v,a*8);function k(T){return oe(T,n)}function O(T){return k(lr(T))}function U(T){let E=a;T=de("private key",T,E);let L=de("hashed private key",s(T),2*E),F=p(L.slice(0,E)),q=L.slice(E,2*E),W=O(F),Y=I.multiply(W),ne=Y.toRawBytes();return{head:F,prefix:q,scalar:W,point:Y,pointBytes:ne}}function V(T){return U(T).pointBytes}function H(T=new Uint8Array,...E){let L=Pt(...E);return O(s(x(L,de("context",T),!!o)))}function X(T,E,L={}){T=de("message",T),o&&(T=o(T));let{prefix:F,scalar:q,pointBytes:W}=U(E),Y=H(L.context,F,T),ne=I.multiply(Y).toRawBytes(),J=H(L.context,ne,W,T),Q=k(Y+J*q);A(Q);let ye=Pt(ne,Pr(Q,t.BYTES));return de("result",ye,a*2)}let B=iw;function R(T,E,L,F=B){let{context:q,zip215:W}=F,Y=t.BYTES;T=de("signature",T,2*Y),E=de("message",E),o&&(E=o(E));let ne=lr(T.slice(Y,2*Y)),J,Q,ye;try{J=v.fromHex(L,W),Q=v.fromHex(T.slice(0,Y),W),ye=I.multiplyUnsafe(ne)}catch{return!1}if(!W&&J.isSmallOrder())return!1;let fe=H(q,Q.toRawBytes(),J.toRawBytes(),E);return Q.add(J.multiplyUnsafe(fe)).subtract(ye).clearCofactor().equals(v.ZERO)}return I._setWindowSize(8),{CURVE:e,getPublicKey:V,sign:X,verify:R,ExtendedPoint:v,utils:{getExtendedPublicKey:U,randomPrivateKey:()=>i(t.BYTES),precompute(T=8,E=v.BASE){return E._setWindowSize(T),E.multiply(BigInt(3)),E}}}}var tc=BigInt("57896044618658097711785492504343953926634992332820282019728792003956564819949"),rh=BigInt("19681161376707505956807079304988542015446066515923890162744021073123829784752"),a6=BigInt(0),cw=BigInt(1),ec=BigInt(2),uw=BigInt(5),nh=BigInt(10),lw=BigInt(20),fw=BigInt(40),oh=BigInt(80);function hw(r){let e=tc,n=r*r%e*r%e,o=ae(n,ec,e)*n%e,s=ae(o,cw,e)*r%e,i=ae(s,uw,e)*s%e,a=ae(i,nh,e)*i%e,c=ae(a,lw,e)*a%e,f=ae(c,fw,e)*c%e,u=ae(f,oh,e)*f%e,l=ae(u,oh,e)*f%e,p=ae(l,nh,e)*i%e;return{pow_p_5_8:ae(p,ec,e)*r%e,b2:n}}function dw(r){return r[0]&=248,r[31]&=127,r[31]|=64,r}function pw(r,e){let t=tc,n=oe(e*e*e,t),o=oe(n*n*e,t),s=hw(r*o).pow_p_5_8,i=oe(r*n*s,t),a=oe(e*i*i,t),c=i,f=oe(i*rh,t),u=a===r,l=a===oe(-r,t),p=a===oe(-r*rh,t);return u&&(i=c),(l||p)&&(i=f),Xf(i,t)&&(i=oe(-i,t)),{isValid:u||l,value:i}}var Mt=ks(tc,void 0,!0),rc={a:BigInt(-1),d:BigInt("37095705934669439343138083508754565189542113879843219016388785533085940283555"),Fp:Mt,n:BigInt("7237005577332262213973186563042994240857116359379907606001950938285454250989"),h:BigInt(8),Gx:BigInt("15112221349535400772501151409588531511454012693041857206046113283949847762202"),Gy:BigInt("46316835694926478169428394003475163141307993866256225615783033603165251855960"),hash:xn,randomBytes:bn,adjustScalarBytes:dw,uvRatio:pw},vn=Us(rc);function sh(r,e,t){if(e.length>255)throw new Error("Context is too big");return As(Ka("SigEd25519 no Ed25519 collisions"),new Uint8Array([t?1:0,e.length]),e,r)}var c6=Us({...rc,domain:sh}),u6=Us({...rc,domain:sh,prehash:xn});var mw=(Mt.ORDER+BigInt(3))/BigInt(8),l6=Mt.pow(ec,mw),f6=Mt.sqrt(Mt.neg(Mt.ONE)),h6=(Mt.ORDER-BigInt(5))/BigInt(8),d6=BigInt(486662);var p6=Qf(Mt,Mt.neg(BigInt(486664)));var m6=BigInt("25063068953384623474111414158702152701244531502492656460079210482610430750235"),g6=BigInt("54469307008909316920995813868745141605393597292927456921205312896311721017578"),y6=BigInt("1159843021668779879193775521855586647937357759715417654439879720876111806838"),b6=BigInt("40440834346308536858101042469323190826248399146238708352240133220865137265952");var w6=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");var En=32,Ft=64,_s=32;function ih(){let r=vn.utils.randomPrivateKey(),e=vn.getPublicKey(r);return{privateKey:lh(r,e),publicKey:e}}function ah(r){if(r.length!==_s)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 e=r,t=vn.getPublicKey(e);return{privateKey:lh(e,t),publicKey:t}}function ch(r,e){let t=r.subarray(0,_s);return vn.sign(e instanceof Uint8Array?e:e.subarray(),t)}function uh(r,e,t){return vn.verify(e,t instanceof Uint8Array?t:t.subarray(),r)}function lh(r,e){let t=new Uint8Array(Ft);for(let n=0;n<_s;n++)t[n]=r[n],t[_s+n]=e[n];return t}var Fe={get(r=globalThis){let e=r.crypto;if(e==null||e.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 e}};var nc={alg:"A128GCM",ext:!0,k:"scm9jmO_4BJAgdwWGVulLg",key_ops:["encrypt","decrypt"],kty:"oct"};function fh(r){let e=r?.algorithm??"AES-GCM",t=r?.keyLength??16,n=r?.nonceLength??12,o=r?.digest??"SHA-256",s=r?.saltLength??16,i=r?.iterations??32767,a=Fe.get();t*=8;async function c(l,p){let x=a.getRandomValues(new Uint8Array(s)),d=a.getRandomValues(new Uint8Array(n)),h={name:e,iv:d};typeof p=="string"&&(p=ee(p));let m;if(p.length===0){m=await a.subtle.importKey("jwk",nc,{name:"AES-GCM"},!0,["encrypt"]);try{let A={name:"PBKDF2",salt:x,iterations:i,hash:{name:o}},b=await a.subtle.importKey("raw",p,{name:"PBKDF2"},!1,["deriveKey"]);m=await a.subtle.deriveKey(A,b,{name:e,length:t},!0,["encrypt"])}catch{m=await a.subtle.importKey("jwk",nc,{name:"AES-GCM"},!0,["encrypt"])}}else{let A={name:"PBKDF2",salt:x,iterations:i,hash:{name:o}},b=await a.subtle.importKey("raw",p,{name:"PBKDF2"},!1,["deriveKey"]);m=await a.subtle.deriveKey(A,b,{name:e,length:t},!0,["encrypt"])}let g=await a.subtle.encrypt(h,m,l);return Or([x,h.iv,new Uint8Array(g)])}async function f(l,p){let x=l.subarray(0,s),d=l.subarray(s,s+n),h=l.subarray(s+n),m={name:e,iv:d};typeof p=="string"&&(p=ee(p));let g;if(p.length===0)try{let b={name:"PBKDF2",salt:x,iterations:i,hash:{name:o}},S=await a.subtle.importKey("raw",p,{name:"PBKDF2"},!1,["deriveKey"]);g=await a.subtle.deriveKey(b,S,{name:e,length:t},!0,["decrypt"])}catch{g=await a.subtle.importKey("jwk",nc,{name:"AES-GCM"},!0,["decrypt"])}else{let b={name:"PBKDF2",salt:x,iterations:i,hash:{name:o}},S=await a.subtle.importKey("raw",p,{name:"PBKDF2"},!1,["deriveKey"]);g=await a.subtle.deriveKey(b,S,{name:e,length:t},!0,["decrypt"])}let A=await a.subtle.decrypt(m,g,h);return new Uint8Array(A)}return{encrypt:c,decrypt:f}}async function An(r,e){let n=await fh().encrypt(r,e);return ao.encode(n)}var oc=new Float32Array([-0]),hr=new Uint8Array(oc.buffer);function hh(r,e,t){oc[0]=r,e[t]=hr[0],e[t+1]=hr[1],e[t+2]=hr[2],e[t+3]=hr[3]}function dh(r,e){return hr[0]=r[e],hr[1]=r[e+1],hr[2]=r[e+2],hr[3]=r[e+3],oc[0]}var sc=new Float64Array([-0]),Oe=new Uint8Array(sc.buffer);function ph(r,e,t){sc[0]=r,e[t]=Oe[0],e[t+1]=Oe[1],e[t+2]=Oe[2],e[t+3]=Oe[3],e[t+4]=Oe[4],e[t+5]=Oe[5],e[t+6]=Oe[6],e[t+7]=Oe[7]}function mh(r,e){return Oe[0]=r[e],Oe[1]=r[e+1],Oe[2]=r[e+2],Oe[3]=r[e+3],Oe[4]=r[e+4],Oe[5]=r[e+5],Oe[6]=r[e+6],Oe[7]=r[e+7],sc[0]}var bw=BigInt(Number.MAX_SAFE_INTEGER),ww=BigInt(Number.MIN_SAFE_INTEGER),qe=class r{lo;hi;constructor(e,t){this.lo=e|0,this.hi=t|0}toNumber(e=!1){if(!e&&this.hi>>>31>0){let t=~this.lo+1>>>0,n=~this.hi>>>0;return t===0&&(n=n+1>>>0),-(t+n*4294967296)}return this.lo+this.hi*4294967296}toBigInt(e=!1){if(e)return BigInt(this.lo>>>0)+(BigInt(this.hi>>>0)<<32n);if(this.hi>>>31){let t=~this.lo+1>>>0,n=~this.hi>>>0;return t===0&&(n=n+1>>>0),-(BigInt(t)+(BigInt(n)<<32n))}return BigInt(this.lo>>>0)+(BigInt(this.hi>>>0)<<32n)}toString(e=!1){return this.toBigInt(e).toString()}zzEncode(){let e=this.hi>>31;return this.hi=((this.hi<<1|this.lo>>>31)^e)>>>0,this.lo=(this.lo<<1^e)>>>0,this}zzDecode(){let e=-(this.lo&1);return this.lo=((this.lo>>>1|this.hi<<31)^e)>>>0,this.hi=(this.hi>>>1^e)>>>0,this}length(){let e=this.lo,t=(this.lo>>>28|this.hi<<4)>>>0,n=this.hi>>>24;return n===0?t===0?e<16384?e<128?1:2:e<2097152?3:4:t<16384?t<128?5:6:t<2097152?7:8:n<128?9:10}static fromBigInt(e){if(e===0n)return Fr;if(e<bw&&e>ww)return this.fromNumber(Number(e));let t=e<0n;t&&(e=-e);let n=e>>32n,o=e-(n<<32n);return t&&(n=~n|0n,o=~o|0n,++o>gh&&(o=0n,++n>gh&&(n=0n))),new r(Number(o),Number(n))}static fromNumber(e){if(e===0)return Fr;let t=e<0;t&&(e=-e);let n=e>>>0,o=(e-n)/4294967296>>>0;return t&&(o=~o>>>0,n=~n>>>0,++n>4294967295&&(n=0,++o>4294967295&&(o=0))),new r(n,o)}static from(e){return typeof e=="number"?r.fromNumber(e):typeof e=="bigint"?r.fromBigInt(e):typeof e=="string"?r.fromBigInt(BigInt(e)):e.low!=null||e.high!=null?new r(e.low>>>0,e.high>>>0):Fr}},Fr=new qe(0,0);Fr.toBigInt=function(){return 0n};Fr.zzEncode=Fr.zzDecode=function(){return this};Fr.length=function(){return 1};var gh=4294967296n;function yh(r){let e=0,t=0;for(let n=0;n<r.length;++n)t=r.charCodeAt(n),t<128?e+=1:t<2048?e+=2:(t&64512)===55296&&(r.charCodeAt(n+1)&64512)===56320?(++n,e+=4):e+=3;return e}function bh(r,e,t){if(t-e<1)return"";let o,s=[],i=0,a;for(;e<t;)a=r[e++],a<128?s[i++]=a:a>191&&a<224?s[i++]=(a&31)<<6|r[e++]&63:a>239&&a<365?(a=((a&7)<<18|(r[e++]&63)<<12|(r[e++]&63)<<6|r[e++]&63)-65536,s[i++]=55296+(a>>10),s[i++]=56320+(a&1023)):s[i++]=(a&15)<<12|(r[e++]&63)<<6|r[e++]&63,i>8191&&((o??(o=[])).push(String.fromCharCode.apply(String,s)),i=0);return o!=null?(i>0&&o.push(String.fromCharCode.apply(String,s.slice(0,i))),o.join("")):String.fromCharCode.apply(String,s.slice(0,i))}function ic(r,e,t){let n=t,o,s;for(let i=0;i<r.length;++i)o=r.charCodeAt(i),o<128?e[t++]=o:o<2048?(e[t++]=o>>6|192,e[t++]=o&63|128):(o&64512)===55296&&((s=r.charCodeAt(i+1))&64512)===56320?(o=65536+((o&1023)<<10)+(s&1023),++i,e[t++]=o>>18|240,e[t++]=o>>12&63|128,e[t++]=o>>6&63|128,e[t++]=o&63|128):(e[t++]=o>>12|224,e[t++]=o>>6&63|128,e[t++]=o&63|128);return t-n}function pt(r,e){return RangeError(`index out of range: ${r.pos} + ${e??1} > ${r.len}`)}function Ds(r,e){return(r[e-4]|r[e-3]<<8|r[e-2]<<16|r[e-1]<<24)>>>0}var ac=class{buf;pos;len;_slice=Uint8Array.prototype.subarray;constructor(e){this.buf=e,this.pos=0,this.len=e.length}uint32(){let e=4294967295;if(e=(this.buf[this.pos]&127)>>>0,this.buf[this.pos++]<128||(e=(e|(this.buf[this.pos]&127)<<7)>>>0,this.buf[this.pos++]<128)||(e=(e|(this.buf[this.pos]&127)<<14)>>>0,this.buf[this.pos++]<128)||(e=(e|(this.buf[this.pos]&127)<<21)>>>0,this.buf[this.pos++]<128)||(e=(e|(this.buf[this.pos]&15)<<28)>>>0,this.buf[this.pos++]<128))return e;if((this.pos+=5)>this.len)throw this.pos=this.len,pt(this,10);return e}int32(){return this.uint32()|0}sint32(){let e=this.uint32();return e>>>1^-(e&1)|0}bool(){return this.uint32()!==0}fixed32(){if(this.pos+4>this.len)throw pt(this,4);return Ds(this.buf,this.pos+=4)}sfixed32(){if(this.pos+4>this.len)throw pt(this,4);return Ds(this.buf,this.pos+=4)|0}float(){if(this.pos+4>this.len)throw pt(this,4);let e=dh(this.buf,this.pos);return this.pos+=4,e}double(){if(this.pos+8>this.len)throw pt(this,4);let e=mh(this.buf,this.pos);return this.pos+=8,e}bytes(){let e=this.uint32(),t=this.pos,n=this.pos+e;if(n>this.len)throw pt(this,e);return this.pos+=e,t===n?new Uint8Array(0):this.buf.subarray(t,n)}string(){let e=this.bytes();return bh(e,0,e.length)}skip(e){if(typeof e=="number"){if(this.pos+e>this.len)throw pt(this,e);this.pos+=e}else do if(this.pos>=this.len)throw pt(this);while(this.buf[this.pos++]&128);return this}skipType(e){switch(e){case 0:this.skip();break;case 1:this.skip(8);break;case 2:this.skip(this.uint32());break;case 3:for(;(e=this.uint32()&7)!==4;)this.skipType(e);break;case 5:this.skip(4);break;default:throw Error(`invalid wire type ${e} at offset ${this.pos}`)}return this}readLongVarint(){let e=new qe(0,0),t=0;if(this.len-this.pos>4){for(;t<4;++t)if(e.lo=(e.lo|(this.buf[this.pos]&127)<<t*7)>>>0,this.buf[this.pos++]<128)return e;if(e.lo=(e.lo|(this.buf[this.pos]&127)<<28)>>>0,e.hi=(e.hi|(this.buf[this.pos]&127)>>4)>>>0,this.buf[this.pos++]<128)return e;t=0}else{for(;t<3;++t){if(this.pos>=this.len)throw pt(this);if(e.lo=(e.lo|(this.buf[this.pos]&127)<<t*7)>>>0,this.buf[this.pos++]<128)return e}return e.lo=(e.lo|(this.buf[this.pos++]&127)<<t*7)>>>0,e}if(this.len-this.pos>4){for(;t<5;++t)if(e.hi=(e.hi|(this.buf[this.pos]&127)<<t*7+3)>>>0,this.buf[this.pos++]<128)return e}else for(;t<5;++t){if(this.pos>=this.len)throw pt(this);if(e.hi=(e.hi|(this.buf[this.pos]&127)<<t*7+3)>>>0,this.buf[this.pos++]<128)return e}throw Error("invalid varint encoding")}readFixed64(){if(this.pos+8>this.len)throw pt(this,8);let e=Ds(this.buf,this.pos+=4),t=Ds(this.buf,this.pos+=4);return new qe(e,t)}int64(){return this.readLongVarint().toBigInt()}int64Number(){return this.readLongVarint().toNumber()}int64String(){return this.readLongVarint().toString()}uint64(){return this.readLongVarint().toBigInt(!0)}uint64Number(){return this.readLongVarint().toNumber(!0)}uint64String(){return this.readLongVarint().toString(!0)}sint64(){return this.readLongVarint().zzDecode().toBigInt()}sint64Number(){return this.readLongVarint().zzDecode().toNumber()}sint64String(){return this.readLongVarint().zzDecode().toString()}fixed64(){return this.readFixed64().toBigInt()}fixed64Number(){return this.readFixed64().toNumber()}fixed64String(){return this.readFixed64().toString()}sfixed64(){return this.readFixed64().toBigInt()}sfixed64Number(){return this.readFixed64().toNumber()}sfixed64String(){return this.readFixed64().toString()}};function cc(r){return new ac(r instanceof Uint8Array?r:r.subarray())}function dr(r,e){let t=cc(r);return e.decode(t)}function uc(r){let e=r??8192,t=e>>>1,n,o=e;return function(i){if(i<1||i>t)return lt(i);o+i>e&&(n=lt(e),o=0);let a=n.subarray(o,o+=i);return o&7&&(o=(o|7)+1),a}}var $r=class{fn;len;next;val;constructor(e,t,n){this.fn=e,this.len=t,this.next=void 0,this.val=n}};function lc(){}var hc=class{head;tail;len;next;constructor(e){this.head=e.head,this.tail=e.tail,this.len=e.len,this.next=e.states}},xw=uc();function vw(r){return globalThis.Buffer!=null?lt(r):xw(r)}var yo=class{len;head;tail;states;constructor(){this.len=0,this.head=new $r(lc,0,0),this.tail=this.head,this.states=null}_push(e,t,n){return this.tail=this.tail.next=new $r(e,t,n),this.len+=t,this}uint32(e){return this.len+=(this.tail=this.tail.next=new dc((e=e>>>0)<128?1:e<16384?2:e<2097152?3:e<268435456?4:5,e)).len,this}int32(e){return e<0?this._push(mo,10,qe.fromNumber(e)):this.uint32(e)}sint32(e){return this.uint32((e<<1^e>>31)>>>0)}uint64(e){let t=qe.fromBigInt(e);return this._push(mo,t.length(),t)}uint64Number(e){let t=qe.fromNumber(e);return this._push(mo,t.length(),t)}uint64String(e){return this.uint64(BigInt(e))}int64(e){return this.uint64(e)}int64Number(e){return this.uint64Number(e)}int64String(e){return this.uint64String(e)}sint64(e){let t=qe.fromBigInt(e).zzEncode();return this._push(mo,t.length(),t)}sint64Number(e){let t=qe.fromNumber(e).zzEncode();return this._push(mo,t.length(),t)}sint64String(e){return this.sint64(BigInt(e))}bool(e){return this._push(fc,1,e?1:0)}fixed32(e){return this._push(go,4,e>>>0)}sfixed32(e){return this.fixed32(e)}fixed64(e){let t=qe.fromBigInt(e);return this._push(go,4,t.lo)._push(go,4,t.hi)}fixed64Number(e){let t=qe.fromNumber(e);return this._push(go,4,t.lo)._push(go,4,t.hi)}fixed64String(e){return this.fixed64(BigInt(e))}sfixed64(e){return this.fixed64(e)}sfixed64Number(e){return this.fixed64Number(e)}sfixed64String(e){return this.fixed64String(e)}float(e){return this._push(hh,4,e)}double(e){return this._push(ph,8,e)}bytes(e){let t=e.length>>>0;return t===0?this._push(fc,1,0):this.uint32(t)._push(Aw,t,e)}string(e){let t=yh(e);return t!==0?this.uint32(t)._push(ic,t,e):this._push(fc,1,0)}fork(){return this.states=new hc(this),this.head=this.tail=new $r(lc,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 $r(lc,0,0),this.len=0),this}ldelim(){let e=this.head,t=this.tail,n=this.len;return this.reset().uint32(n),n!==0&&(this.tail.next=e.next,this.tail=t,this.len+=n),this}finish(){let e=this.head.next,t=vw(this.len),n=0;for(;e!=null;)e.fn(e.val,t,n),n+=e.len,e=e.next;return t}};function fc(r,e,t){e[t]=r&255}function Ew(r,e,t){for(;r>127;)e[t++]=r&127|128,r>>>=7;e[t]=r}var dc=class extends $r{next;constructor(e,t){super(Ew,e,t),this.next=void 0}};function mo(r,e,t){for(;r.hi!==0;)e[t++]=r.lo&127|128,r.lo=(r.lo>>>7|r.hi<<25)>>>0,r.hi>>>=7;for(;r.lo>127;)e[t++]=r.lo&127|128,r.lo=r.lo>>>7;e[t++]=r.lo}function go(r,e,t){e[t]=r&255,e[t+1]=r>>>8&255,e[t+2]=r>>>16&255,e[t+3]=r>>>24}function Aw(r,e,t){e.set(r,t)}globalThis.Buffer!=null&&(yo.prototype.bytes=function(r){let e=r.length>>>0;return this.uint32(e),e>0&&this._push(Bw,e,r),this},yo.prototype.string=function(r){let e=globalThis.Buffer.byteLength(r);return this.uint32(e),e>0&&this._push(Sw,e,r),this});function Bw(r,e,t){e.set(r,t)}function Sw(r,e,t){r.length<40?ic(r,e,t):e.utf8Write!=null?e.utf8Write(r,t):e.set(ee(r),t)}function pc(){return new yo}function pr(r,e){let t=pc();return e.encode(r,t,{lengthDelimited:!1}),t.finish()}var Bn;(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"})(Bn||(Bn={}));function Ls(r,e,t,n){return{name:r,type:e,encode:t,decode:n}}function bo(r){function e(o){if(r[o.toString()]==null)throw new Error("Invalid enum value");return r[o]}let t=function(s,i){let a=e(s);i.int32(a)},n=function(s){let i=s.int32();return e(i)};return Ls("enum",Bn.VARINT,t,n)}function mr(r,e){return Ls("message",Bn.LENGTH_DELIMITED,r,e)}var ce;(function(r){r.RSA="RSA",r.Ed25519="Ed25519",r.Secp256k1="Secp256k1"})(ce||(ce={}));var mc;(function(r){r[r.RSA=0]="RSA",r[r.Ed25519=1]="Ed25519",r[r.Secp256k1=2]="Secp256k1"})(mc||(mc={}));(function(r){r.codec=()=>bo(mc)})(ce||(ce={}));var At;(function(r){let e;r.codec=()=>(e==null&&(e=mr((t,n,o={})=>{o.lengthDelimited!==!1&&n.fork(),t.Type!=null&&(n.uint32(8),ce.codec().encode(t.Type,n)),t.Data!=null&&(n.uint32(18),n.bytes(t.Data)),o.lengthDelimited!==!1&&n.ldelim()},(t,n)=>{let o={},s=n==null?t.len:t.pos+n;for(;t.pos<s;){let i=t.uint32();switch(i>>>3){case 1:o.Type=ce.codec().decode(t);break;case 2:o.Data=t.bytes();break;default:t.skipType(i&7);break}}return o})),e),r.encode=t=>pr(t,r.codec()),r.decode=t=>dr(t,r.codec())})(At||(At={}));var Bt;(function(r){let e;r.codec=()=>(e==null&&(e=mr((t,n,o={})=>{o.lengthDelimited!==!1&&n.fork(),t.Type!=null&&(n.uint32(8),ce.codec().encode(t.Type,n)),t.Data!=null&&(n.uint32(18),n.bytes(t.Data)),o.lengthDelimited!==!1&&n.ldelim()},(t,n)=>{let o={},s=n==null?t.len:t.pos+n;for(;t.pos<s;){let i=t.uint32();switch(i>>>3){case 1:o.Type=ce.codec().decode(t);break;case 2:o.Data=t.bytes();break;default:t.skipType(i&7);break}}return o})),e),r.encode=t=>pr(t,r.codec()),r.decode=t=>dr(t,r.codec())})(Bt||(Bt={}));var wo=class{_key;constructor(e){this._key=Sn(e,En)}verify(e,t){return uh(this._key,t,e)}marshal(){return this._key}get bytes(){return At.encode({Type:ce.Ed25519,Data:this.marshal()}).subarray()}equals(e){return Te(this.bytes,e.bytes)}hash(){let e=Ce.digest(this.bytes);return ot(e)?e.then(({bytes:t})=>t):e.bytes}},Hr=class{_key;_publicKey;constructor(e,t){this._key=Sn(e,Ft),this._publicKey=Sn(t,En)}sign(e){return ch(this._key,e)}get public(){return new wo(this._publicKey)}marshal(){return this._key}get bytes(){return Bt.encode({Type:ce.Ed25519,Data:this.marshal()}).subarray()}equals(e){return Te(this.bytes,e.bytes)}async hash(){let e=Ce.digest(this.bytes),t;return ot(e)?{bytes:t}=await e:t=e.bytes,t}async id(){let e=vt.digest(this.public.bytes);return Ie.encode(e.bytes).substring(1)}async export(e,t="libp2p-key"){if(t==="libp2p-key")return An(this.bytes,e);throw new K(`export format '${t}' is not supported`,"ERR_INVALID_EXPORT_FORMAT")}};function Iw(r){if(r.length>Ft){r=Sn(r,Ft+En);let n=r.subarray(0,Ft),o=r.subarray(Ft,r.length);return new Hr(n,o)}r=Sn(r,Ft);let e=r.subarray(0,Ft),t=r.subarray(En);return new Hr(e,t)}function Cw(r){return r=Sn(r,En),new wo(r)}async function Tw(){let{privateKey:r,publicKey:e}=ih();return new Hr(r,e)}async function xh(r){let{privateKey:e,publicKey:t}=ah(r);return new Hr(e,t)}function Sn(r,e){if(r=Uint8Array.from(r??[]),r.length!==e)throw new K(`Key must be a Uint8Array of length ${e}, got ${r.length}`,"ERR_INVALID_KEY_TYPE");return r}function ue(r,e="utf8"){let t=xs[e];if(t==null)throw new Error(`Unsupported encoding "${e}"`);return(e==="utf8"||e==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?globalThis.Buffer.from(r.buffer,r.byteOffset,r.byteLength).toString("utf8"):t.encoder.encode(r).substring(1)}var Ic={};M(Ic,{MAX_RSA_KEY_SIZE:()=>No,RsaPrivateKey:()=>Rn,RsaPublicKey:()=>Ro,fromJwk:()=>tx,generateKeyPair:()=>rx,unmarshalRsaPrivateKey:()=>Bc,unmarshalRsaPublicKey:()=>ex});function Kr(r){if(isNaN(r)||r<=0)throw new K("random bytes length must be a Number bigger than 0","ERR_INVALID_LENGTH");return bn(r)}var wr={};M(wr,{exportToPem:()=>Yw,importFromPem:()=>Zw,jwkToPkcs1:()=>qw,jwkToPkix:()=>jw,pkcs1ToJwk:()=>zw,pkixToJwk:()=>Gw});var Vs=class extends gn{constructor(e,t){super(),this.finished=!1,this.destroyed=!1,vs(e);let n=ar(t);if(this.iHash=e.create(),typeof this.iHash.update!="function")throw new Error("Expected instance of class which extends utils.Hash");this.blockLen=this.iHash.blockLen,this.outputLen=this.iHash.outputLen;let o=this.blockLen,s=new Uint8Array(o);s.set(n.length>o?e.create().update(n).digest():n);for(let i=0;i<s.length;i++)s[i]^=54;this.iHash.update(s),this.oHash=e.create();for(let i=0;i<s.length;i++)s[i]^=106;this.oHash.update(s),s.fill(0)}update(e){return mn(this),this.iHash.update(e),this}digestInto(e){mn(this),Ha(e,this.outputLen),this.finished=!0,this.iHash.digestInto(e),this.oHash.update(e),this.oHash.digestInto(e),this.destroy()}digest(){let e=new Uint8Array(this.oHash.outputLen);return this.digestInto(e),e}_cloneInto(e){e||(e=Object.create(Object.getPrototypeOf(this),{}));let{oHash:t,iHash:n,finished:o,destroyed:s,blockLen:i,outputLen:a}=this;return e=e,e.finished=o,e.destroyed=s,e.blockLen=i,e.outputLen=a,e.oHash=t._cloneInto(e.oHash),e.iHash=n._cloneInto(e.iHash),e}destroy(){this.destroyed=!0,this.oHash.destroy(),this.iHash.destroy()}},xo=(r,e,t)=>new Vs(r,e).update(t).digest();xo.create=(r,e)=>new Vs(r,e);function kw(r,e,t,n){vs(r);let o=zf({dkLen:32,asyncTick:10},n),{c:s,dkLen:i,asyncTick:a}=o;if(pn(s),pn(i),pn(a),s<1)throw new Error("PBKDF2: iterations (c) should be >= 1");let c=ar(e),f=ar(t),u=new Uint8Array(i),l=xo.create(r,c),p=l._cloneInto().update(f);return{c:s,dkLen:i,asyncTick:a,DK:u,PRF:l,PRFSalt:p}}function Rw(r,e,t,n,o){return r.destroy(),e.destroy(),n&&n.destroy(),o.fill(0),t}async function yc(r,e,t,n){let{c:o,dkLen:s,asyncTick:i,DK:a,PRF:c,PRFSalt:f}=kw(r,e,t,n),u,l=new Uint8Array(4),p=yn(l),x=new Uint8Array(c.outputLen);for(let d=1,h=0;h<s;d++,h+=c.outputLen){let m=a.subarray(h,h+c.outputLen);p.setInt32(0,d,!1),(u=f._cloneInto(u)).update(l).digestInto(x),m.set(x.subarray(0,m.length)),await Kf(o-1,i,()=>{c._cloneInto(u).update(x).digestInto(x);for(let g=0;g<m.length;g++)m[g]^=x[g]})}return Rw(c,f,a,u,x)}var Z=Se(vh());function zr(r,e){let t=0;if(r.length===1)return r[0];for(let n=r.length-1;n>=0;n--)t+=r[r.length-1-n]*Math.pow(2,e*n);return t}function gr(r,e,t=-1){let n=t,o=r,s=0,i=Math.pow(2,e);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 f=new Uint8Array(c);for(let u=a-1;u>=0;u--){let l=Math.pow(2,u*e);f[s-u-1]=Math.floor(o/l),o-=f[s-u-1]*l}return c}i*=Math.pow(2,e)}return new ArrayBuffer(0)}function Fs(...r){let e=0,t=0;for(let s of r)e+=s.length;let n=new ArrayBuffer(e),o=new Uint8Array(n);for(let s of r)o.set(s,t),t+=s.length;return o}function wc(){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 e=new ArrayBuffer(this.valueHex.byteLength),t=new Uint8Array(e);for(let a=0;a<this.valueHex.byteLength;a++)t[a]=0;t[0]=r[0]&128;let n=zr(t,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,zr(s,8)-n}function Eh(r){let e=r<0?r*-1:r,t=128;for(let n=1;n<8;n++){if(e<=t){if(r<0){let i=t-e,a=gr(i,8,n),c=new Uint8Array(a);return c[0]|=128,a}let o=gr(e,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}t*=Math.pow(2,8)}return new ArrayBuffer(0)}function Ah(r,e){if(r.byteLength!==e.byteLength)return!1;let t=new Uint8Array(r),n=new Uint8Array(e);for(let o=0;o<t.length;o++)if(t[o]!==n[o])return!1;return!0}function Ge(r,e){let t=r.toString(10);if(e<t.length)return"";let n=e-t.length,o=new Array(n);for(let i=0;i<n;i++)o[i]="0";return o.join("").concat(t)}var BS=Math.log(2);function $s(){if(typeof BigInt>"u")throw new Error("BigInt is not defined. Your environment doesn't implement BigInt.")}function xc(r){let e=0,t=0;for(let o=0;o<r.length;o++){let s=r[o];e+=s.byteLength}let n=new Uint8Array(e);for(let o=0;o<r.length;o++){let s=r[o];n.set(new Uint8Array(s),t),t+=s.byteLength}return n.buffer}function qt(r,e,t,n){return e instanceof Uint8Array?e.byteLength?t<0?(r.error="Wrong parameter: inputOffset less than zero",!1):n<0?(r.error="Wrong parameter: inputLength less than zero",!1):e.byteLength-t-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(e){this.items.push(e)}final(){return xc(this.items)}},vo=[new Uint8Array([1])],Bh="0123456789";var Tn="",gt=new ArrayBuffer(0),vc=new Uint8Array(0),Ao="EndOfContent",Ih="OCTET STRING",Ch="BIT STRING";function Gt(r){var e;return e=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):vc}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(!qt(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",gt)}toJSON(){return{...super.toJSON(),isHexOnly:this.isHexOnly,valueHex:Z.Convert.ToHex(this.valueHexView)}}},e.NAME="hexBlock",e}var Ht=class{constructor({blockLength:e=0,error:t=Tn,warnings:n=[],valueBeforeDecode:o=vc}={}){this.blockLength=e,this.error=t,this.warnings=n,this.valueBeforeDecodeView=Z.BufferSourceConverter.toUint8Array(o)}static blockName(){return this.NAME}get valueBeforeDecode(){return this.valueBeforeDecodeView.slice().buffer}set valueBeforeDecode(e){this.valueBeforeDecodeView=new Uint8Array(e)}toJSON(){return{blockName:this.constructor.NAME,blockLength:this.blockLength,error:this.error,warnings:this.warnings,valueBeforeDecode:Z.Convert.ToHex(this.valueBeforeDecodeView)}}};Ht.NAME="baseBlock";var Ve=class extends Ht{fromBER(e,t,n){throw TypeError("User need to make a specific function in a class which extends 'ValueBlock'")}toBER(e,t){throw TypeError("User need to make a specific function in a class which extends 'ValueBlock'")}};Ve.NAME="valueBlock";var Hs=class extends Gt(Ht){constructor({idBlock:e={}}={}){var t,n,o,s;super(),e?(this.isHexOnly=(t=e.isHexOnly)!==null&&t!==void 0?t:!1,this.valueHexView=e.valueHex?Z.BufferSourceConverter.toUint8Array(e.valueHex):vc,this.tagClass=(n=e.tagClass)!==null&&n!==void 0?n:-1,this.tagNumber=(o=e.tagNumber)!==null&&o!==void 0?o:-1,this.isConstructed=(s=e.isConstructed)!==null&&s!==void 0?s:!1):(this.tagClass=-1,this.tagNumber=-1,this.isConstructed=!1)}toBER(e=!1){let t=0;switch(this.tagClass){case 1:t|=0;break;case 2:t|=64;break;case 3:t|=128;break;case 4:t|=192;break;default:return this.error="Unknown tag class",gt}if(this.isConstructed&&(t|=32),this.tagNumber<31&&!this.isHexOnly){let o=new Uint8Array(1);if(!e){let s=this.tagNumber;s&=31,t|=s,o[0]=t}return o.buffer}if(!this.isHexOnly){let o=gr(this.tagNumber,7),s=new Uint8Array(o),i=o.byteLength,a=new Uint8Array(i+1);if(a[0]=t|31,!e){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]=t|31,!e){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(e,t,n){let o=Z.BufferSourceConverter.toUint8Array(e);if(!qt(this,o,t,n))return-1;let s=o.subarray(t,t+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,f=this.valueHexView=new Uint8Array(255),u=255;for(;s[c]&128;){if(f[c-1]=s[c]&127,c++,c>=s.length)return this.error="End of input reached before message was fully decoded",-1;if(c===u){u+=255;let p=new Uint8Array(u);for(let x=0;x<f.length;x++)p[x]=f[x];f=this.valueHexView=new Uint8Array(u)}}this.blockLength=c+1,f[c-1]=s[c]&127;let l=new Uint8Array(c);for(let p=0;p<c;p++)l[p]=f[p];f=this.valueHexView=new Uint8Array(c),f.set(l),this.blockLength<=9?this.tagNumber=zr(f,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 t+this.blockLength}toJSON(){return{...super.toJSON(),tagClass:this.tagClass,tagNumber:this.tagNumber,isConstructed:this.isConstructed}}};Hs.NAME="identificationBlock";var Ks=class extends Ht{constructor({lenBlock:e={}}={}){var t,n,o;super(),this.isIndefiniteForm=(t=e.isIndefiniteForm)!==null&&t!==void 0?t:!1,this.longFormUsed=(n=e.longFormUsed)!==null&&n!==void 0?n:!1,this.length=(o=e.length)!==null&&o!==void 0?o:0}fromBER(e,t,n){let o=Z.BufferSourceConverter.toUint8Array(e);if(!qt(this,o,t,n))return-1;let s=o.subarray(t,t+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,t+this.blockLength;if(this.longFormUsed=!!(s[0]&128),this.longFormUsed===!1)return this.length=s[0],this.blockLength=1,t+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=t+1,c=o.subarray(a,a+i);return c[i-1]===0&&this.warnings.push("Needlessly long encoded length"),this.length=zr(c,8),this.longFormUsed&&this.length<=127&&this.warnings.push("Unnecessary usage of long length form"),this.blockLength=i+1,t+this.blockLength}toBER(e=!1){let t,n;if(this.length>127&&(this.longFormUsed=!0),this.isIndefiniteForm)return t=new ArrayBuffer(1),e===!1&&(n=new Uint8Array(t),n[0]=128),t;if(this.longFormUsed){let o=gr(this.length,8);if(o.byteLength>127)return this.error="Too big length",gt;if(t=new ArrayBuffer(o.byteLength+1),e)return t;let s=new Uint8Array(o);n=new Uint8Array(t),n[0]=o.byteLength|128;for(let i=0;i<o.byteLength;i++)n[i+1]=s[i];return t}return t=new ArrayBuffer(1),e===!1&&(n=new Uint8Array(t),n[0]=this.length),t}toJSON(){return{...super.toJSON(),isIndefiniteForm:this.isIndefiniteForm,longFormUsed:this.longFormUsed,length:this.length}}};Ks.NAME="lengthBlock";var _={},ke=class extends Ht{constructor({name:e=Tn,optional:t=!1,primitiveSchema:n,...o}={},s){super(o),this.name=e,this.optional=t,n&&(this.primitiveSchema=n),this.idBlock=new Hs(o),this.lenBlock=new Ks(o),this.valueBlock=s?new s(o):new Ve(o)}fromBER(e,t,n){let o=this.valueBlock.fromBER(e,t,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(e,t){let n=t||new Eo;t||Th(this);let o=this.idBlock.toBER(e);if(n.write(o),this.lenBlock.isIndefiniteForm)n.write(new Uint8Array([128]).buffer),this.valueBlock.toBER(e,n),n.write(new ArrayBuffer(2));else{let s=this.valueBlock.toBER(e);this.lenBlock.length=s.byteLength;let i=this.lenBlock.toBER(e);n.write(i),n.write(s)}return t?gt:n.final()}toJSON(){let e={...super.toJSON(),idBlock:this.idBlock.toJSON(),lenBlock:this.lenBlock.toJSON(),valueBlock:this.valueBlock.toJSON(),name:this.name,optional:this.optional};return this.primitiveSchema&&(e.primitiveSchema=this.primitiveSchema.toJSON()),e}toString(e="ascii"){return e==="ascii"?this.onAsciiEncoding():Z.Convert.ToHex(this.toBER())}onAsciiEncoding(){return`${this.constructor.NAME} : ${Z.Convert.ToHex(this.valueBlock.valueBeforeDecodeView)}`}isEqual(e){if(this===e)return!0;if(!(e instanceof this.constructor))return!1;let t=this.toBER(),n=e.toBER();return Ah(t,n)}};ke.NAME="BaseBlock";function Th(r){if(r instanceof _.Constructed)for(let e of r.valueBlock.value)Th(e)&&(r.lenBlock.isIndefiniteForm=!0);return!!r.lenBlock.isIndefiniteForm}var zs=class extends ke{constructor({value:e=Tn,...t}={},n){super(t,n),e&&this.fromString(e)}getValue(){return this.valueBlock.value}setValue(e){this.valueBlock.value=e}fromBER(e,t,n){let o=this.valueBlock.fromBER(e,t,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}'`}};zs.NAME="BaseStringBlock";var qs=class extends Gt(Ve){constructor({isHexOnly:e=!0,...t}={}){super(t),this.isHexOnly=e}};qs.NAME="PrimitiveValueBlock";var kh,Gs=class extends ke{constructor(e={}){super(e,qs),this.idBlock.isConstructed=!1}};kh=Gs;_.Primitive=kh;Gs.NAME="PRIMITIVE";function Mw(r,e){if(r instanceof e)return r;let t=new e;return t.idBlock=r.idBlock,t.lenBlock=r.lenBlock,t.warnings=r.warnings,t.valueBeforeDecodeView=r.valueBeforeDecodeView,t}function Si(r,e=0,t=r.length){let n=e,o=new ke({},Ve),s=new Ht;if(!qt(s,r,e,t))return o.error=s.error,{offset:-1,result:o};if(!r.subarray(e,e+t).length)return o.error="Zero buffer length",{offset:-1,result:o};let a=o.idBlock.fromBER(r,e,t);if(o.idBlock.warnings.length&&o.warnings.concat(o.idBlock.warnings),a===-1)return o.error=o.idBlock.error,{offset:-1,result:o};if(e=a,t-=o.idBlock.blockLength,a=o.lenBlock.fromBER(r,e,t),o.lenBlock.warnings.length&&o.warnings.concat(o.lenBlock.warnings),a===-1)return o.error=o.lenBlock.error,{offset:-1,result:o};if(e=a,t-=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=ke;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=_.EndOfContent;break;case 1:c=_.Boolean;break;case 2:c=_.Integer;break;case 3:c=_.BitString;break;case 4:c=_.OctetString;break;case 5:c=_.Null;break;case 6:c=_.ObjectIdentifier;break;case 10:c=_.Enumerated;break;case 12:c=_.Utf8String;break;case 13:c=_.RelativeObjectIdentifier;break;case 14:c=_.TIME;break;case 15:return o.error="[UNIVERSAL 15] is reserved by ASN.1 standard",{offset:-1,result:o};case 16:c=_.Sequence;break;case 17:c=_.Set;break;case 18:c=_.NumericString;break;case 19:c=_.PrintableString;break;case 20:c=_.TeletexString;break;case 21:c=_.VideotexString;break;case 22:c=_.IA5String;break;case 23:c=_.UTCTime;break;case 24:c=_.GeneralizedTime;break;case 25:c=_.GraphicString;break;case 26:c=_.VisibleString;break;case 27:c=_.GeneralString;break;case 28:c=_.UniversalString;break;case 29:c=_.CharacterString;break;case 30:c=_.BmpString;break;case 31:c=_.DATE;break;case 32:c=_.TimeOfDay;break;case 33:c=_.DateTime;break;case 34:c=_.Duration;break;default:{let f=o.idBlock.isConstructed?new _.Constructed:new _.Primitive;f.idBlock=o.idBlock,f.lenBlock=o.lenBlock,f.warnings=o.warnings,o=f}}break;case 2:case 3:case 4:default:c=o.idBlock.isConstructed?_.Constructed:_.Primitive}return o=Mw(o,c),a=o.fromBER(r,e,o.lenBlock.isIndefiniteForm?t:o.lenBlock.length),o.valueBeforeDecodeView=r.subarray(n,n+o.blockLength),{offset:a,result:o}}function kn(r){if(!r.byteLength){let e=new ke({},Ve);return e.error="Input buffer has zero length",{offset:-1,result:e}}return Si(Z.BufferSourceConverter.toUint8Array(r).slice(),0,r.byteLength)}function Fw(r,e){return r?1:e}var St=class extends Ve{constructor({value:e=[],isIndefiniteForm:t=!1,...n}={}){super(n),this.value=e,this.isIndefiniteForm=t}fromBER(e,t,n){let o=Z.BufferSourceConverter.toUint8Array(e);if(!qt(this,o,t,n))return-1;if(this.valueBeforeDecodeView=o.subarray(t,t+n),this.valueBeforeDecodeView.length===0)return this.warnings.push("Zero buffer length"),t;let s=t;for(;Fw(this.isIndefiniteForm,n)>0;){let i=Si(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===Ao)break}return this.isIndefiniteForm&&(this.value[this.value.length-1].constructor.NAME===Ao?this.value.pop():this.warnings.push("No EndOfContent block encoded")),s}toBER(e,t){let n=t||new Eo;for(let o=0;o<this.value.length;o++)this.value[o].toBER(e,n);return t?gt:n.final()}toJSON(){let e={...super.toJSON(),isIndefiniteForm:this.isIndefiniteForm,value:[]};for(let t of this.value)e.value.push(t.toJSON());return e}};St.NAME="ConstructedValueBlock";var Rh,yr=class extends ke{constructor(e={}){super(e,St),this.idBlock.isConstructed=!0}fromBER(e,t,n){this.valueBlock.isIndefiniteForm=this.lenBlock.isIndefiniteForm;let o=this.valueBlock.fromBER(e,t,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 e=[];for(let n of this.valueBlock.value)e.push(n.toString("ascii").split(`
|
|
4
|
+
`).map(o=>` ${o}`).join(`
|
|
5
|
+
`));let t=this.idBlock.tagClass===3?`[${this.idBlock.tagNumber}]`:this.constructor.NAME;return e.length?`${t} :
|
|
6
|
+
${e.join(`
|
|
7
|
+
`)}`:`${t} :`}};Rh=yr;_.Constructed=Rh;yr.NAME="CONSTRUCTED";var js=class extends Ve{fromBER(e,t,n){return t}toBER(e){return gt}};js.override="EndOfContentValueBlock";var Nh,Ws=class extends ke{constructor(e={}){super(e,js),this.idBlock.tagClass=1,this.idBlock.tagNumber=0}};Nh=Ws;_.EndOfContent=Nh;Ws.NAME=Ao;var Uh,br=class extends ke{constructor(e={}){super(e,Ve),this.idBlock.tagClass=1,this.idBlock.tagNumber=5}fromBER(e,t,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,t+n>e.byteLength?(this.error="End of input reached before message was fully decoded (inconsistent offset and length values)",-1):t+n}toBER(e,t){let n=new ArrayBuffer(2);if(!e){let o=new Uint8Array(n);o[0]=5,o[1]=0}return t&&t.write(n),n}onAsciiEncoding(){return`${this.constructor.NAME}`}};Uh=br;_.Null=Uh;br.NAME="NULL";var Ys=class extends Gt(Ve){constructor({value:e,...t}={}){super(t),t.valueHex?this.valueHexView=Z.BufferSourceConverter.toUint8Array(t.valueHex):this.valueHexView=new Uint8Array(1),e&&(this.value=e)}get value(){for(let e of this.valueHexView)if(e>0)return!0;return!1}set value(e){this.valueHexView[0]=e?255:0}fromBER(e,t,n){let o=Z.BufferSourceConverter.toUint8Array(e);return qt(this,o,t,n)?(this.valueHexView=o.subarray(t,t+n),n>1&&this.warnings.push("Boolean value encoded in more then 1 octet"),this.isHexOnly=!0,wc.call(this),this.blockLength=n,t+n):-1}toBER(){return this.valueHexView.slice()}toJSON(){return{...super.toJSON(),value:this.value}}};Ys.NAME="BooleanValueBlock";var _h,Zs=class extends ke{constructor(e={}){super(e,Ys),this.idBlock.tagClass=1,this.idBlock.tagNumber=1}getValue(){return this.valueBlock.value}setValue(e){this.valueBlock.value=e}onAsciiEncoding(){return`${this.constructor.NAME} : ${this.getValue}`}};_h=Zs;_.Boolean=_h;Zs.NAME="BOOLEAN";var Js=class extends Gt(St){constructor({isConstructed:e=!1,...t}={}){super(t),this.isConstructed=e}fromBER(e,t,n){let o=0;if(this.isConstructed){if(this.isHexOnly=!1,o=St.prototype.fromBER.call(this,e,t,n),o===-1)return o;for(let s=0;s<this.value.length;s++){let i=this.value[s].constructor.NAME;if(i===Ao){if(this.isIndefiniteForm)break;return this.error="EndOfContent is unexpected, OCTET STRING may consists of OCTET STRINGs only",-1}if(i!==Ih)return this.error="OCTET STRING may consists of OCTET STRINGs only",-1}}else this.isHexOnly=!0,o=super.fromBER(e,t,n),this.blockLength=n;return o}toBER(e,t){return this.isConstructed?St.prototype.toBER.call(this,e,t):e?new ArrayBuffer(this.valueHexView.byteLength):this.valueHexView.slice().buffer}toJSON(){return{...super.toJSON(),isConstructed:this.isConstructed}}};Js.NAME="OctetStringValueBlock";var Dh,Kt=class r extends ke{constructor({idBlock:e={},lenBlock:t={},...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,...e},lenBlock:{...t,isIndefiniteForm:!!n.isIndefiniteForm},...n},Js),this.idBlock.tagClass=1,this.idBlock.tagNumber=4}fromBER(e,t,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),t;if(!this.valueBlock.isConstructed){let s=(e instanceof ArrayBuffer?new Uint8Array(e):e).subarray(t,t+n);try{if(s.byteLength){let i=Si(s,0,s.byteLength);i.offset!==-1&&i.offset===n&&(this.valueBlock.value=[i.result])}}catch{}}return super.fromBER(e,t,n)}onAsciiEncoding(){return this.valueBlock.isConstructed||this.valueBlock.value&&this.valueBlock.value.length?yr.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 e=[];for(let t of this.valueBlock.value)t instanceof r&&e.push(t.valueBlock.valueHexView);return Z.BufferSourceConverter.concat(e)}};Dh=Kt;_.OctetString=Dh;Kt.NAME=Ih;var Xs=class extends Gt(St){constructor({unusedBits:e=0,isConstructed:t=!1,...n}={}){super(n),this.unusedBits=e,this.isConstructed=t,this.blockLength=this.valueHexView.byteLength}fromBER(e,t,n){if(!n)return t;let o=-1;if(this.isConstructed){if(o=St.prototype.fromBER.call(this,e,t,n),o===-1)return o;for(let a of this.value){let c=a.constructor.NAME;if(c===Ao){if(this.isIndefiniteForm)break;return this.error="EndOfContent is unexpected, BIT STRING may consists of BIT STRINGs only",-1}if(c!==Ch)return this.error="BIT STRING may consists of BIT STRINGs only",-1;let f=a.valueBlock;if(this.unusedBits>0&&f.unusedBits>0)return this.error='Using of "unused bits" inside constructive BIT STRING allowed for least one only',-1;this.unusedBits=f.unusedBits}return o}let s=Z.BufferSourceConverter.toUint8Array(e);if(!qt(this,s,t,n))return-1;let i=s.subarray(t,t+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=Si(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,t+n}toBER(e,t){if(this.isConstructed)return St.prototype.toBER.call(this,e,t);if(e)return new ArrayBuffer(this.valueHexView.byteLength+1);if(!this.valueHexView.byteLength)return gt;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}}};Xs.NAME="BitStringValueBlock";var Lh,Cn=class extends ke{constructor({idBlock:e={},lenBlock:t={},...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,...e},lenBlock:{...t,isIndefiniteForm:!!n.isIndefiniteForm},...n},Xs),this.idBlock.tagClass=1,this.idBlock.tagNumber=3}fromBER(e,t,n){return this.valueBlock.isConstructed=this.idBlock.isConstructed,this.valueBlock.isIndefiniteForm=this.lenBlock.isIndefiniteForm,super.fromBER(e,t,n)}onAsciiEncoding(){if(this.valueBlock.isConstructed||this.valueBlock.value&&this.valueBlock.value.length)return yr.prototype.onAsciiEncoding.call(this);{let e=[],t=this.valueBlock.valueHexView;for(let o of t)e.push(o.toString(2).padStart(8,"0"));let n=e.join("");return`${this.constructor.NAME} : ${n.substring(0,n.length-this.valueBlock.unusedBits)}`}}};Lh=Cn;_.BitString=Lh;Cn.NAME=Ch;var Oh;function $w(r,e){let t=new Uint8Array([0]),n=new Uint8Array(r),o=new Uint8Array(e),s=n.slice(0),i=s.length-1,a=o.slice(0),c=a.length-1,f=0,u=c<i?i:c,l=0;for(let p=u;p>=0;p--,l++){switch(!0){case l<a.length:f=s[i-l]+a[c-l]+t[0];break;default:f=s[i-l]+t[0]}switch(t[0]=f/10,!0){case l>=s.length:s=Fs(new Uint8Array([f%10]),s);break;default:s[i-l]=f%10}}return t[0]>0&&(s=Fs(t,s)),s}function Sh(r){if(r>=vo.length)for(let e=vo.length;e<=r;e++){let t=new Uint8Array([0]),n=vo[e-1].slice(0);for(let o=n.length-1;o>=0;o--){let s=new Uint8Array([(n[o]<<1)+t[0]]);t[0]=s[0]/10,n[o]=s[0]%10}t[0]>0&&(n=Fs(t,n)),vo.push(n)}return vo[r]}function Hw(r,e){let t=0,n=new Uint8Array(r),o=new Uint8Array(e),s=n.slice(0),i=s.length-1,a=o.slice(0),c=a.length-1,f,u=0;for(let l=c;l>=0;l--,u++)switch(f=s[i-u]-a[c-u]-t,!0){case f<0:t=1,s[i-u]=f+10;break;default:t=0,s[i-u]=f}if(t>0)for(let l=i-c+1;l>=0;l--,u++)if(f=s[i-u]-t,f<0)t=1,s[i-u]=f+10;else{t=0,s[i-u]=f;break}return s.slice()}var Bo=class extends Gt(Ve){constructor({value:e,...t}={}){super(t),this._valueDec=0,t.valueHex&&this.setValueHex(),e!==void 0&&(this.valueDec=e)}setValueHex(){this.valueHexView.length>=4?(this.warnings.push("Too big Integer for decoding, hex only"),this.isHexOnly=!0,this._valueDec=0):(this.isHexOnly=!1,this.valueHexView.length>0&&(this._valueDec=wc.call(this)))}set valueDec(e){this._valueDec=e,this.isHexOnly=!1,this.valueHexView=new Uint8Array(Eh(e))}get valueDec(){return this._valueDec}fromDER(e,t,n,o=0){let s=this.fromBER(e,t,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(e=!1){let t=this.valueHexView;switch(!0){case(t[0]&128)!==0:{let n=new Uint8Array(this.valueHexView.length+1);n[0]=0,n.set(t,1),this.valueHexView=n}break;case(t[0]===0&&(t[1]&128)===0):this.valueHexView=this.valueHexView.subarray(1);break}return this.toBER(e)}fromBER(e,t,n){let o=super.fromBER(e,t,n);return o===-1||this.setValueHex(),o}toBER(e){return e?new ArrayBuffer(this.valueHexView.length):this.valueHexView.slice().buffer}toJSON(){return{...super.toJSON(),valueDec:this.valueDec}}toString(){let e=this.valueHexView.length*8-1,t=new Uint8Array(this.valueHexView.length*8/3),n=0,o,s=this.valueHexView,i="",a=!1;for(let c=s.byteLength-1;c>=0;c--){o=s[c];for(let f=0;f<8;f++){if((o&1)===1)switch(n){case e:t=Hw(Sh(n),t),i="-";break;default:t=$w(t,Sh(n))}n++,o>>=1}}for(let c=0;c<t.length;c++)t[c]&&(a=!0),a&&(i+=Bh.charAt(t[c]));return a===!1&&(i+=Bh.charAt(0)),i}};Oh=Bo;Bo.NAME="IntegerValueBlock";Object.defineProperty(Oh.prototype,"valueHex",{set:function(r){this.valueHexView=new Uint8Array(r),this.setValueHex()},get:function(){return this.valueHexView.slice().buffer}});var Vh,be=class r extends ke{constructor(e={}){super(e,Bo),this.idBlock.tagClass=1,this.idBlock.tagNumber=2}toBigInt(){return $s(),BigInt(this.valueBlock.toString())}static fromBigInt(e){$s();let t=BigInt(e),n=new Eo,o=t.toString(16).replace(/^-/,""),s=new Uint8Array(Z.Convert.FromHex(o));if(t<0){let a=new Uint8Array(s.length+(s[0]&128?1:0));a[0]|=128;let f=BigInt(`0x${Z.Convert.ToHex(a)}`)+t,u=Z.BufferSourceConverter.toUint8Array(Z.Convert.FromHex(f.toString(16)));u[0]|=128,n.write(u)}else s[0]&128&&n.write(new Uint8Array([0])),n.write(s);return new r({valueHex:n.final()})}convertToDER(){let e=new r({valueHex:this.valueBlock.valueHexView});return e.valueBlock.toDER(),e}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()}`}};Vh=be;_.Integer=Vh;be.NAME="INTEGER";var Ph,Qs=class extends be{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=10}};Ph=Qs;_.Enumerated=Ph;Qs.NAME="ENUMERATED";var So=class extends Gt(Ve){constructor({valueDec:e=-1,isFirstSid:t=!1,...n}={}){super(n),this.valueDec=e,this.isFirstSid=t}fromBER(e,t,n){if(!n)return t;let o=Z.BufferSourceConverter.toUint8Array(e);if(!qt(this,o,t,n))return-1;let s=o.subarray(t,t+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=zr(this.valueHexView,7):(this.isHexOnly=!0,this.warnings.push("Too big SID for decoding, hex only")),t+this.blockLength)}set valueBigInt(e){$s();let t=BigInt(e).toString(2);for(;t.length%7;)t="0"+t;let n=new Uint8Array(t.length/7);for(let o=0;o<n.length;o++)n[o]=parseInt(t.slice(o*7,o*7+7),2)+(o+1<n.length?128:0);this.fromBER(n.buffer,0,n.length)}toBER(e){if(this.isHexOnly){if(e)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 t=gr(this.valueDec,7);if(t.byteLength===0)return this.error="Error during encoding SID value",gt;let n=new Uint8Array(t.byteLength);if(!e){let o=new Uint8Array(t),s=t.byteLength-1;for(let i=0;i<s;i++)n[i]=o[i]|128;n[s]=o[s]}return n}toString(){let e="";if(this.isHexOnly)e=Z.Convert.ToHex(this.valueHexView);else if(this.isFirstSid){let t=this.valueDec;this.valueDec<=39?e="0.":this.valueDec<=79?(e="1.",t-=40):(e="2.",t-=80),e+=t.toString()}else e=this.valueDec.toString();return e}toJSON(){return{...super.toJSON(),valueDec:this.valueDec,isFirstSid:this.isFirstSid}}};So.NAME="sidBlock";var ei=class extends Ve{constructor({value:e=Tn,...t}={}){super(t),this.value=[],e&&this.fromString(e)}fromBER(e,t,n){let o=t;for(;n>0;){let s=new So;if(o=s.fromBER(e,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(e){let t=[];for(let n=0;n<this.value.length;n++){let o=this.value[n].toBER(e);if(o.byteLength===0)return this.error=this.value[n].error,gt;t.push(o)}return xc(t)}fromString(e){this.value=[];let t=0,n=0,o="",s=!1;do if(n=e.indexOf(".",t),n===-1?o=e.substring(t):o=e.substring(t,n),t=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 So;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 e="",t=!1;for(let n=0;n<this.value.length;n++){t=this.value[n].isHexOnly;let o=this.value[n].toString();n!==0&&(e=`${e}.`),t?(o=`{${o}}`,this.value[n].isFirstSid?e=`2.{${o} - 80}`:e+=o):e+=o}return e}toJSON(){let e={...super.toJSON(),value:this.toString(),sidArray:[]};for(let t=0;t<this.value.length;t++)e.sidArray.push(this.value[t].toJSON());return e}};ei.NAME="ObjectIdentifierValueBlock";var Mh,mt=class extends ke{constructor(e={}){super(e,ei),this.idBlock.tagClass=1,this.idBlock.tagNumber=6}getValue(){return this.valueBlock.toString()}setValue(e){this.valueBlock.fromString(e)}onAsciiEncoding(){return`${this.constructor.NAME} : ${this.valueBlock.toString()||"empty"}`}toJSON(){return{...super.toJSON(),value:this.getValue()}}};Mh=mt;_.ObjectIdentifier=Mh;mt.NAME="OBJECT IDENTIFIER";var Io=class extends Gt(Ht){constructor({valueDec:e=0,...t}={}){super(t),this.valueDec=e}fromBER(e,t,n){if(n===0)return t;let o=Z.BufferSourceConverter.toUint8Array(e);if(!qt(this,o,t,n))return-1;let s=o.subarray(t,t+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=zr(this.valueHexView,7):(this.isHexOnly=!0,this.warnings.push("Too big SID for decoding, hex only")),t+this.blockLength)}toBER(e){if(this.isHexOnly){if(e)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 t=gr(this.valueDec,7);if(t.byteLength===0)return this.error="Error during encoding SID value",gt;let n=new Uint8Array(t.byteLength);if(!e){let o=new Uint8Array(t),s=t.byteLength-1;for(let i=0;i<s;i++)n[i]=o[i]|128;n[s]=o[s]}return n.buffer}toString(){let e="";return this.isHexOnly?e=Z.Convert.ToHex(this.valueHexView):e=this.valueDec.toString(),e}toJSON(){return{...super.toJSON(),valueDec:this.valueDec}}};Io.NAME="relativeSidBlock";var ti=class extends Ve{constructor({value:e=Tn,...t}={}){super(t),this.value=[],e&&this.fromString(e)}fromBER(e,t,n){let o=t;for(;n>0;){let s=new Io;if(o=s.fromBER(e,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(e,t){let n=[];for(let o=0;o<this.value.length;o++){let s=this.value[o].toBER(e);if(s.byteLength===0)return this.error=this.value[o].error,gt;n.push(s)}return xc(n)}fromString(e){this.value=[];let t=0,n=0,o="";do{n=e.indexOf(".",t),n===-1?o=e.substring(t):o=e.substring(t,n),t=n+1;let s=new Io;if(s.valueDec=parseInt(o,10),isNaN(s.valueDec))return!0;this.value.push(s)}while(n!==-1);return!0}toString(){let e="",t=!1;for(let n=0;n<this.value.length;n++){t=this.value[n].isHexOnly;let o=this.value[n].toString();n!==0&&(e=`${e}.`),t&&(o=`{${o}}`),e+=o}return e}toJSON(){let e={...super.toJSON(),value:this.toString(),sidArray:[]};for(let t=0;t<this.value.length;t++)e.sidArray.push(this.value[t].toJSON());return e}};ti.NAME="RelativeObjectIdentifierValueBlock";var Fh,ri=class extends ke{constructor(e={}){super(e,ti),this.idBlock.tagClass=1,this.idBlock.tagNumber=13}getValue(){return this.valueBlock.toString()}setValue(e){this.valueBlock.fromString(e)}onAsciiEncoding(){return`${this.constructor.NAME} : ${this.valueBlock.toString()||"empty"}`}toJSON(){return{...super.toJSON(),value:this.getValue()}}};Fh=ri;_.RelativeObjectIdentifier=Fh;ri.NAME="RelativeObjectIdentifier";var $h,ve=class extends yr{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=16}};$h=ve;_.Sequence=$h;ve.NAME="SEQUENCE";var Hh,ni=class extends yr{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=17}};Hh=ni;_.Set=Hh;ni.NAME="SET";var oi=class extends Gt(Ve){constructor({...e}={}){super(e),this.isHexOnly=!0,this.value=Tn}toJSON(){return{...super.toJSON(),value:this.value}}};oi.NAME="StringValueBlock";var si=class extends oi{};si.NAME="SimpleStringValueBlock";var $e=class extends zs{constructor({...e}={}){super(e,si)}fromBuffer(e){this.valueBlock.value=String.fromCharCode.apply(null,Z.BufferSourceConverter.toUint8Array(e))}fromString(e){let t=e.length,n=this.valueBlock.valueHexView=new Uint8Array(t);for(let o=0;o<t;o++)n[o]=e.charCodeAt(o);this.valueBlock.value=e}};$e.NAME="SIMPLE STRING";var ii=class extends $e{fromBuffer(e){this.valueBlock.valueHexView=Z.BufferSourceConverter.toUint8Array(e);try{this.valueBlock.value=Z.Convert.ToUtf8String(e)}catch(t){this.warnings.push(`Error during "decodeURIComponent": ${t}, using raw string`),this.valueBlock.value=Z.Convert.ToBinary(e)}}fromString(e){this.valueBlock.valueHexView=new Uint8Array(Z.Convert.FromUtf8String(e)),this.valueBlock.value=e}};ii.NAME="Utf8StringValueBlock";var Kh,zt=class extends ii{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=12}};Kh=zt;_.Utf8String=Kh;zt.NAME="UTF8String";var ai=class extends $e{fromBuffer(e){this.valueBlock.value=Z.Convert.ToUtf16String(e),this.valueBlock.valueHexView=Z.BufferSourceConverter.toUint8Array(e)}fromString(e){this.valueBlock.value=e,this.valueBlock.valueHexView=new Uint8Array(Z.Convert.FromUtf16String(e))}};ai.NAME="BmpStringValueBlock";var zh,ci=class extends ai{constructor({...e}={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=30}};zh=ci;_.BmpString=zh;ci.NAME="BMPString";var ui=class extends $e{fromBuffer(e){let t=ArrayBuffer.isView(e)?e.slice().buffer:e.slice(0),n=new Uint8Array(t);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(t))}fromString(e){let t=e.length,n=this.valueBlock.valueHexView=new Uint8Array(t*4);for(let o=0;o<t;o++){let s=gr(e.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=e}};ui.NAME="UniversalStringValueBlock";var qh,li=class extends ui{constructor({...e}={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=28}};qh=li;_.UniversalString=qh;li.NAME="UniversalString";var Gh,fi=class extends $e{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=18}};Gh=fi;_.NumericString=Gh;fi.NAME="NumericString";var jh,hi=class extends $e{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=19}};jh=hi;_.PrintableString=jh;hi.NAME="PrintableString";var Wh,di=class extends $e{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=20}};Wh=di;_.TeletexString=Wh;di.NAME="TeletexString";var Yh,pi=class extends $e{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=21}};Yh=pi;_.VideotexString=Yh;pi.NAME="VideotexString";var Zh,mi=class extends $e{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=22}};Zh=mi;_.IA5String=Zh;mi.NAME="IA5String";var Jh,gi=class extends $e{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=25}};Jh=gi;_.GraphicString=Jh;gi.NAME="GraphicString";var Xh,Co=class extends $e{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=26}};Xh=Co;_.VisibleString=Xh;Co.NAME="VisibleString";var Qh,yi=class extends $e{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=27}};Qh=yi;_.GeneralString=Qh;yi.NAME="GeneralString";var ed,bi=class extends $e{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=29}};ed=bi;_.CharacterString=ed;bi.NAME="CharacterString";var td,To=class extends Co{constructor({value:e,valueDate:t,...n}={}){if(super(n),this.year=0,this.month=0,this.day=0,this.hour=0,this.minute=0,this.second=0,e){this.fromString(e),this.valueBlock.valueHexView=new Uint8Array(e.length);for(let o=0;o<e.length;o++)this.valueBlock.valueHexView[o]=e.charCodeAt(o)}t&&(this.fromDate(t),this.valueBlock.valueHexView=new Uint8Array(this.toBuffer())),this.idBlock.tagClass=1,this.idBlock.tagNumber=23}fromBuffer(e){this.fromString(String.fromCharCode.apply(null,Z.BufferSourceConverter.toUint8Array(e)))}toBuffer(){let e=this.toString(),t=new ArrayBuffer(e.length),n=new Uint8Array(t);for(let o=0;o<e.length;o++)n[o]=e.charCodeAt(o);return t}fromDate(e){this.year=e.getUTCFullYear(),this.month=e.getUTCMonth()+1,this.day=e.getUTCDate(),this.hour=e.getUTCHours(),this.minute=e.getUTCMinutes(),this.second=e.getUTCSeconds()}toDate(){return new Date(Date.UTC(this.year,this.month-1,this.day,this.hour,this.minute,this.second))}fromString(e){let n=/(\d{2})(\d{2})(\d{2})(\d{2})(\d{2})(\d{2})Z/ig.exec(e);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(e="iso"){if(e==="iso"){let t=new Array(7);return t[0]=Ge(this.year<2e3?this.year-1900:this.year-2e3,2),t[1]=Ge(this.month,2),t[2]=Ge(this.day,2),t[3]=Ge(this.hour,2),t[4]=Ge(this.minute,2),t[5]=Ge(this.second,2),t[6]="Z",t.join("")}return super.toString(e)}onAsciiEncoding(){return`${this.constructor.NAME} : ${this.toDate().toISOString()}`}toJSON(){return{...super.toJSON(),year:this.year,month:this.month,day:this.day,hour:this.hour,minute:this.minute,second:this.second}}};td=To;_.UTCTime=td;To.NAME="UTCTime";var rd,wi=class extends To{constructor(e={}){var t;super(e),(t=this.millisecond)!==null&&t!==void 0||(this.millisecond=0),this.idBlock.tagClass=1,this.idBlock.tagNumber=24}fromDate(e){super.fromDate(e),this.millisecond=e.getUTCMilliseconds()}toDate(){return new Date(Date.UTC(this.year,this.month-1,this.day,this.hour,this.minute,this.second,this.millisecond))}fromString(e){let t=!1,n="",o="",s=0,i,a=0,c=0;if(e[e.length-1]==="Z")n=e.substring(0,e.length-1),t=!0;else{let l=new Number(e[e.length-1]);if(isNaN(l.valueOf()))throw new Error("Wrong input string for conversion");n=e}if(t){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,p=n.indexOf("+"),x="";if(p===-1&&(p=n.indexOf("-"),l=-1),p!==-1){if(x=n.substring(p+1),n=n.substring(0,p),x.length!==2&&x.length!==4)throw new Error("Wrong input string for conversion");let d=parseInt(x.substring(0,2),10);if(isNaN(d.valueOf()))throw new Error("Wrong input string for conversion");if(a=l*d,x.length===4){if(d=parseInt(x.substring(2,4),10),isNaN(d.valueOf()))throw new Error("Wrong input string for conversion");c=l*d}}}let f=n.indexOf(".");if(f===-1&&(f=n.indexOf(",")),f!==-1){let l=new Number(`0${n.substring(f)}`);if(isNaN(l.valueOf()))throw new Error("Wrong input string for conversion");s=l.valueOf(),o=n.substring(0,f)}else o=n;switch(!0){case o.length===8:if(i=/(\d{4})(\d{2})(\d{2})/ig,f!==-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,f!==-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,f!==-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,f!==-1){let l=1e3*s;this.millisecond=Math.floor(l)}break;default:throw new Error("Wrong input string for conversion")}let u=i.exec(o);if(u===null)throw new Error("Wrong input string for conversion");for(let l=1;l<u.length;l++)switch(l){case 1:this.year=parseInt(u[l],10);break;case 2:this.month=parseInt(u[l],10);break;case 3:this.day=parseInt(u[l],10);break;case 4:this.hour=parseInt(u[l],10)+a;break;case 5:this.minute=parseInt(u[l],10)+c;break;case 6:this.second=parseInt(u[l],10);break;default:throw new Error("Wrong input string for conversion")}if(t===!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(e="iso"){if(e==="iso"){let t=[];return t.push(Ge(this.year,4)),t.push(Ge(this.month,2)),t.push(Ge(this.day,2)),t.push(Ge(this.hour,2)),t.push(Ge(this.minute,2)),t.push(Ge(this.second,2)),this.millisecond!==0&&(t.push("."),t.push(Ge(this.millisecond,3))),t.push("Z"),t.join("")}return super.toString(e)}toJSON(){return{...super.toJSON(),millisecond:this.millisecond}}};rd=wi;_.GeneralizedTime=rd;wi.NAME="GeneralizedTime";var nd,xi=class extends zt{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=31}};nd=xi;_.DATE=nd;xi.NAME="DATE";var od,vi=class extends zt{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=32}};od=vi;_.TimeOfDay=od;vi.NAME="TimeOfDay";var sd,Ei=class extends zt{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=33}};sd=Ei;_.DateTime=sd;Ei.NAME="DateTime";var id,Ai=class extends zt{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=34}};id=Ai;_.Duration=id;Ai.NAME="Duration";var ad,Bi=class extends zt{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=14}};ad=Bi;_.TIME=ad;Bi.NAME="TIME";function zw(r){let{result:e}=kn(r),t=e.valueBlock.value;return{n:ue(It(t[1].toBigInt()),"base64url"),e:ue(It(t[2].toBigInt()),"base64url"),d:ue(It(t[3].toBigInt()),"base64url"),p:ue(It(t[4].toBigInt()),"base64url"),q:ue(It(t[5].toBigInt()),"base64url"),dp:ue(It(t[6].toBigInt()),"base64url"),dq:ue(It(t[7].toBigInt()),"base64url"),qi:ue(It(t[8].toBigInt()),"base64url"),kty:"RSA",alg:"RS256"}}function qw(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 K("JWK was missing components","ERR_INVALID_PARAMETERS");let t=new ve({value:[new be({value:0}),be.fromBigInt(Ct(ee(r.n,"base64url"))),be.fromBigInt(Ct(ee(r.e,"base64url"))),be.fromBigInt(Ct(ee(r.d,"base64url"))),be.fromBigInt(Ct(ee(r.p,"base64url"))),be.fromBigInt(Ct(ee(r.q,"base64url"))),be.fromBigInt(Ct(ee(r.dp,"base64url"))),be.fromBigInt(Ct(ee(r.dq,"base64url"))),be.fromBigInt(Ct(ee(r.qi,"base64url")))]}).toBER();return new Uint8Array(t,0,t.byteLength)}function Gw(r){let{result:e}=kn(r),t=e.valueBlock.value[1].valueBlock.value[0].valueBlock.value;return{kty:"RSA",n:ue(It(t[0].toBigInt()),"base64url"),e:ue(It(t[1].toBigInt()),"base64url")}}function jw(r){if(r.n==null||r.e==null)throw new K("JWK was missing components","ERR_INVALID_PARAMETERS");let t=new ve({value:[new ve({value:[new mt({value:"1.2.840.113549.1.1.1"}),new br]}),new Cn({valueHex:new ve({value:[be.fromBigInt(Ct(ee(r.n,"base64url"))),be.fromBigInt(Ct(ee(r.e,"base64url")))]}).toBER()})]}).toBER();return new Uint8Array(t,0,t.byteLength)}function It(r){let e=r.toString(16);e.length%2>0&&(e=`0${e}`);let t=e.length/2,n=new Uint8Array(t),o=0,s=0;for(;o<t;)n[o]=parseInt(e.slice(s,s+2),16),o+=1,s+=2;return n}function Ct(r){let e=[];return r.forEach(function(t){let n=t.toString(16);n.length%2>0&&(n=`0${n}`),e.push(n)}),BigInt("0x"+e.join(""))}var Ww=16,Ec=32,Ac=1e4;async function Yw(r,e){let t=Fe.get(),o=new ve({value:[new be({value:0}),new ve({value:[new mt({value:"1.2.840.113549.1.1.1"}),new br]}),new Kt({valueHex:r.marshal()})]}).toBER(),s=new Uint8Array(o,0,o.byteLength),i=Kr(Ww),a=await yc(xn,e,i,{c:Ac,dkLen:Ec}),c=Kr(16),f=await t.subtle.importKey("raw",a,"AES-CBC",!1,["encrypt"]),u=await t.subtle.encrypt({name:"AES-CBC",iv:c},f,s),l=new ve({value:[new Kt({valueHex:i}),new be({value:Ac}),new be({value:Ec}),new ve({value:[new mt({value:"1.2.840.113549.2.11"}),new br]})]}),p=new ve({value:[new mt({value:"1.2.840.113549.1.5.13"}),new ve({value:[new ve({value:[new mt({value:"1.2.840.113549.1.5.12"}),l]}),new ve({value:[new mt({value:"2.16.840.1.101.3.4.1.42"}),new Kt({valueHex:c})]})]})]}),d=new ve({value:[p,new Kt({valueHex:u})]}).toBER(),h=new Uint8Array(d,0,d.byteLength);return["-----BEGIN ENCRYPTED PRIVATE KEY-----",...ue(h,"base64pad").split(/(.{64})/).filter(Boolean),"-----END ENCRYPTED PRIVATE KEY-----"].join(`
|
|
8
|
+
`)}async function Zw(r,e){let t=Fe.get(),n;if(r.includes("-----BEGIN ENCRYPTED PRIVATE KEY-----")){let o=ee(r.replace("-----BEGIN ENCRYPTED PRIVATE KEY-----","").replace("-----END ENCRYPTED PRIVATE KEY-----","").replace(/\n/g,"").trim(),"base64pad"),{result:s}=kn(o),{iv:i,salt:a,iterations:c,keySize:f,cipherText:u}=Jw(s),l=await yc(xn,e,a,{c,dkLen:f}),p=await t.subtle.importKey("raw",l,"AES-CBC",!1,["decrypt"]),x=ko(await t.subtle.decrypt({name:"AES-CBC",iv:i},p,u)),{result:d}=kn(x);n=cd(d)}else if(r.includes("-----BEGIN PRIVATE KEY-----")){let o=ee(r.replace("-----BEGIN PRIVATE KEY-----","").replace("-----END PRIVATE KEY-----","").replace(/\n/g,"").trim(),"base64pad"),{result:s}=kn(o);n=cd(s)}else throw new K("Could not parse private key from PEM data","ERR_INVALID_PARAMETERS");return Bc(n)}function Jw(r){let e=r.valueBlock.value[0];if(e.valueBlock.value[0].toString()!=="OBJECT IDENTIFIER : 1.2.840.113549.1.5.13")throw new K("Only pkcs5PBES2 encrypted private keys are supported","ERR_INVALID_PARAMS");let n=e.valueBlock.value[1].valueBlock.value[0];if(n.valueBlock.value[0].toString()!=="OBJECT IDENTIFIER : 1.2.840.113549.1.5.12")throw new K("Only pkcs5PBKDF2 key derivation functions are supported","ERR_INVALID_PARAMS");let s=n.valueBlock.value[1],i=ko(s.valueBlock.value[0].getValue()),a=Ac,c=Ec;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 K("Could not derive key size and iterations from PEM file - please use @libp2p/rsa to re-import your key","ERR_INVALID_PARAMS");let f=e.valueBlock.value[1].valueBlock.value[1],u=f.valueBlock.value[0].toString();if(u!=="OBJECT IDENTIFIER : 1.2.840.113549.3.7"){if(u!=="OBJECT IDENTIFIER : 1.3.14.3.2.7"){if(u!=="OBJECT IDENTIFIER : 2.16.840.1.101.3.4.1.2"){if(u!=="OBJECT IDENTIFIER : 2.16.840.1.101.3.4.1.22"){if(u!=="OBJECT IDENTIFIER : 2.16.840.1.101.3.4.1.42")throw new K("Only AES-CBC encryption schemes are supported","ERR_INVALID_PARAMS")}}}}let l=ko(f.valueBlock.value[1].getValue());return{cipherText:ko(r.valueBlock.value[1].getValue()),salt:i,iterations:a,keySize:c,iv:l}}function cd(r){return ko(r.valueBlock.value[2].getValue())}function ko(r){return new Uint8Array(r,0,r.byteLength)}async function ud(r){let e=await Fe.get().subtle.generateKey({name:"RSASSA-PKCS1-v1_5",modulusLength:r,publicExponent:new Uint8Array([1,0,1]),hash:{name:"SHA-256"}},!0,["sign","verify"]),t=await hd(e);return{privateKey:t[0],publicKey:t[1]}}async function Sc(r){let t=[await Fe.get().subtle.importKey("jwk",r,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!0,["sign"]),await Xw(r)],n=await hd({privateKey:t[0],publicKey:t[1]});return{privateKey:n[0],publicKey:n[1]}}async function ld(r,e){let t=await Fe.get().subtle.importKey("jwk",r,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!1,["sign"]),n=await Fe.get().subtle.sign({name:"RSASSA-PKCS1-v1_5"},t,e instanceof Uint8Array?e:e.subarray());return new Uint8Array(n,0,n.byteLength)}async function fd(r,e,t){let n=await Fe.get().subtle.importKey("jwk",r,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!1,["verify"]);return Fe.get().subtle.verify({name:"RSASSA-PKCS1-v1_5"},n,e,t instanceof Uint8Array?t:t.subarray())}async function hd(r){if(r.privateKey==null||r.publicKey==null)throw new K("Private and public key are required","ERR_INVALID_PARAMETERS");return Promise.all([Fe.get().subtle.exportKey("jwk",r.privateKey),Fe.get().subtle.exportKey("jwk",r.publicKey)])}async function Xw(r){return Fe.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 Ii(r){if(r.kty!=="RSA")throw new K("invalid key type","ERR_INVALID_KEY_TYPE");if(r.n==null)throw new K("invalid key modulus","ERR_INVALID_KEY_MODULUS");return ee(r.n,"base64url").length*8}var No=8192,Ro=class{_key;constructor(e){this._key=e}verify(e,t){return fd(this._key,t,e)}marshal(){return wr.jwkToPkix(this._key)}get bytes(){return At.encode({Type:ce.RSA,Data:this.marshal()}).subarray()}equals(e){return Te(this.bytes,e.bytes)}hash(){let e=Ce.digest(this.bytes);return ot(e)?e.then(({bytes:t})=>t):e.bytes}},Rn=class{_key;_publicKey;constructor(e,t){this._key=e,this._publicKey=t}genSecret(){return Kr(16)}sign(e){return ld(this._key,e)}get public(){if(this._publicKey==null)throw new K("public key not provided","ERR_PUBKEY_NOT_PROVIDED");return new Ro(this._publicKey)}marshal(){return wr.jwkToPkcs1(this._key)}get bytes(){return Bt.encode({Type:ce.RSA,Data:this.marshal()}).subarray()}equals(e){return Te(this.bytes,e.bytes)}hash(){let e=Ce.digest(this.bytes);return ot(e)?e.then(({bytes:t})=>t):e.bytes}async id(){let e=await this.public.hash();return ue(e,"base58btc")}async export(e,t="pkcs-8"){if(t==="pkcs-8")return wr.exportToPem(this,e);if(t==="libp2p-key")return An(this.bytes,e);throw new K(`export format '${t}' is not supported`,"ERR_INVALID_EXPORT_FORMAT")}};async function Bc(r){let e=wr.pkcs1ToJwk(r);if(Ii(e)>No)throw new K("key size is too large","ERR_KEY_SIZE_TOO_LARGE");let t=await Sc(e);return new Rn(t.privateKey,t.publicKey)}function ex(r){let e=wr.pkixToJwk(r);if(Ii(e)>No)throw new K("key size is too large","ERR_KEY_SIZE_TOO_LARGE");return new Ro(e)}async function tx(r){if(Ii(r)>No)throw new K("key size is too large","ERR_KEY_SIZE_TOO_LARGE");let e=await Sc(r);return new Rn(e.privateKey,e.publicKey)}async function rx(r){if(r>No)throw new K("key size is too large","ERR_KEY_SIZE_TOO_LARGE");let e=await ud(r);return new Rn(e.privateKey,e.publicKey)}var Nc={};M(Nc,{Secp256k1PrivateKey:()=>_o,Secp256k1PublicKey:()=>Uo,generateKeyPair:()=>yx,unmarshalSecp256k1PrivateKey:()=>mx,unmarshalSecp256k1PublicKey:()=>gx});var nx=(r,e,t)=>r&e^~r&t,ox=(r,e,t)=>r&e^r&t^e&t,sx=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]),xr=new Uint32Array([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),vr=new Uint32Array(64),Cc=class extends wn{constructor(){super(64,32,8,!1),this.A=xr[0]|0,this.B=xr[1]|0,this.C=xr[2]|0,this.D=xr[3]|0,this.E=xr[4]|0,this.F=xr[5]|0,this.G=xr[6]|0,this.H=xr[7]|0}get(){let{A:e,B:t,C:n,D:o,E:s,F:i,G:a,H:c}=this;return[e,t,n,o,s,i,a,c]}set(e,t,n,o,s,i,a,c){this.A=e|0,this.B=t|0,this.C=n|0,this.D=o|0,this.E=s|0,this.F=i|0,this.G=a|0,this.H=c|0}process(e,t){for(let l=0;l<16;l++,t+=4)vr[l]=e.getUint32(t,!1);for(let l=16;l<64;l++){let p=vr[l-15],x=vr[l-2],d=ft(p,7)^ft(p,18)^p>>>3,h=ft(x,17)^ft(x,19)^x>>>10;vr[l]=h+vr[l-7]+d+vr[l-16]|0}let{A:n,B:o,C:s,D:i,E:a,F:c,G:f,H:u}=this;for(let l=0;l<64;l++){let p=ft(a,6)^ft(a,11)^ft(a,25),x=u+p+nx(a,c,f)+sx[l]+vr[l]|0,h=(ft(n,2)^ft(n,13)^ft(n,22))+ox(n,o,s)|0;u=f,f=c,c=a,a=i+x|0,i=s,s=o,o=n,n=x+h|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,f=f+this.G|0,u=u+this.H|0,this.set(n,o,s,i,a,c,f,u)}roundClean(){vr.fill(0)}destroy(){this.set(0,0,0,0,0,0,0,0),this.buffer.fill(0)}};var dd=Bs(()=>new Cc);function ix(r){let e=po(r);Et(e,{a:"field",b:"field"},{allowedPrivateKeyLengths:"array",wrapPrivateKey:"boolean",isTorsionFree:"function",clearCofactor:"function",allowInfinityPoint:"boolean",fromBytes:"function",toBytes:"function"});let{endo:t,Fp:n,a:o}=e;if(t){if(!n.eql(o,n.ZERO))throw new Error("Endomorphism can only be defined for Koblitz curves that have a=0");if(typeof t!="object"||typeof t.beta!="bigint"||typeof t.splitScalar!="function")throw new Error("Expected endomorphism with beta: bigint and splitScalar: function")}return Object.freeze({...e})}var{bytesToNumberBE:ax,hexToBytes:cx}=Cs,qr={Err:class extends Error{constructor(e=""){super(e)}},_parseInt(r){let{Err:e}=qr;if(r.length<2||r[0]!==2)throw new e("Invalid signature integer tag");let t=r[1],n=r.subarray(2,t+2);if(!t||n.length!==t)throw new e("Invalid signature integer: wrong length");if(n[0]&128)throw new e("Invalid signature integer: negative");if(n[0]===0&&!(n[1]&128))throw new e("Invalid signature integer: unnecessary leading zero");return{d:ax(n),l:r.subarray(t+2)}},toSig(r){let{Err:e}=qr,t=typeof r=="string"?cx(r):r;if(!ht(t))throw new Error("ui8a expected");let n=t.length;if(n<2||t[0]!=48)throw new e("Invalid signature tag");if(t[1]!==n-2)throw new e("Invalid signature: incorrect length");let{d:o,l:s}=qr._parseInt(t.subarray(2)),{d:i,l:a}=qr._parseInt(s);if(a.length)throw new e("Invalid signature: left bytes after parsing");return{r:o,s:i}},hexFromSig(r){let e=f=>Number.parseInt(f[0],16)&8?"00"+f:f,t=f=>{let u=f.toString(16);return u.length&1?`0${u}`:u},n=e(t(r.s)),o=e(t(r.r)),s=n.length/2,i=o.length/2,a=t(s),c=t(i);return`30${t(i+s+4)}02${c}${o}02${a}${n}`}},jt=BigInt(0),it=BigInt(1),ZS=BigInt(2),pd=BigInt(3),JS=BigInt(4);function ux(r){let e=ix(r),{Fp:t}=e,n=e.toBytes||((d,h,m)=>{let g=h.toAffine();return Pt(Uint8Array.from([4]),t.toBytes(g.x),t.toBytes(g.y))}),o=e.fromBytes||(d=>{let h=d.subarray(1),m=t.fromBytes(h.subarray(0,t.BYTES)),g=t.fromBytes(h.subarray(t.BYTES,2*t.BYTES));return{x:m,y:g}});function s(d){let{a:h,b:m}=e,g=t.sqr(d),A=t.mul(g,d);return t.add(t.add(A,t.mul(d,h)),m)}if(!t.eql(t.sqr(e.Gy),s(e.Gx)))throw new Error("bad generator point: equation left != right");function i(d){return typeof d=="bigint"&&jt<d&&d<e.n}function a(d){if(!i(d))throw new Error("Expected valid bigint: 0 < bigint < curve.n")}function c(d){let{allowedPrivateKeyLengths:h,nByteLength:m,wrapPrivateKey:g,n:A}=e;if(h&&typeof d!="bigint"){if(ht(d)&&(d=Ot(d)),typeof d!="string"||!h.includes(d.length))throw new Error("Invalid key");d=d.padStart(m*2,"0")}let b;try{b=typeof d=="bigint"?d:Vt(de("private key",d,m))}catch{throw new Error(`private key must be ${m} bytes, hex or bigint, not ${typeof d}`)}return g&&(b=oe(b,A)),a(b),b}let f=new Map;function u(d){if(!(d instanceof l))throw new Error("ProjectivePoint expected")}class l{constructor(h,m,g){if(this.px=h,this.py=m,this.pz=g,h==null||!t.isValid(h))throw new Error("x required");if(m==null||!t.isValid(m))throw new Error("y required");if(g==null||!t.isValid(g))throw new Error("z required")}static fromAffine(h){let{x:m,y:g}=h||{};if(!h||!t.isValid(m)||!t.isValid(g))throw new Error("invalid affine point");if(h instanceof l)throw new Error("projective point not allowed");let A=b=>t.eql(b,t.ZERO);return A(m)&&A(g)?l.ZERO:new l(m,g,t.ONE)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static normalizeZ(h){let m=t.invertBatch(h.map(g=>g.pz));return h.map((g,A)=>g.toAffine(m[A])).map(l.fromAffine)}static fromHex(h){let m=l.fromAffine(o(de("pointHex",h)));return m.assertValidity(),m}static fromPrivateKey(h){return l.BASE.multiply(c(h))}_setWindowSize(h){this._WINDOW_SIZE=h,f.delete(this)}assertValidity(){if(this.is0()){if(e.allowInfinityPoint&&!t.is0(this.py))return;throw new Error("bad point: ZERO")}let{x:h,y:m}=this.toAffine();if(!t.isValid(h)||!t.isValid(m))throw new Error("bad point: x or y not FE");let g=t.sqr(m),A=s(h);if(!t.eql(g,A))throw new Error("bad point: equation left != right");if(!this.isTorsionFree())throw new Error("bad point: not in prime-order subgroup")}hasEvenY(){let{y:h}=this.toAffine();if(t.isOdd)return!t.isOdd(h);throw new Error("Field doesn't support isOdd")}equals(h){u(h);let{px:m,py:g,pz:A}=this,{px:b,py:S,pz:v}=h,I=t.eql(t.mul(m,v),t.mul(b,A)),C=t.eql(t.mul(g,v),t.mul(S,A));return I&&C}negate(){return new l(this.px,t.neg(this.py),this.pz)}double(){let{a:h,b:m}=e,g=t.mul(m,pd),{px:A,py:b,pz:S}=this,v=t.ZERO,I=t.ZERO,C=t.ZERO,y=t.mul(A,A),k=t.mul(b,b),O=t.mul(S,S),U=t.mul(A,b);return U=t.add(U,U),C=t.mul(A,S),C=t.add(C,C),v=t.mul(h,C),I=t.mul(g,O),I=t.add(v,I),v=t.sub(k,I),I=t.add(k,I),I=t.mul(v,I),v=t.mul(U,v),C=t.mul(g,C),O=t.mul(h,O),U=t.sub(y,O),U=t.mul(h,U),U=t.add(U,C),C=t.add(y,y),y=t.add(C,y),y=t.add(y,O),y=t.mul(y,U),I=t.add(I,y),O=t.mul(b,S),O=t.add(O,O),y=t.mul(O,U),v=t.sub(v,y),C=t.mul(O,k),C=t.add(C,C),C=t.add(C,C),new l(v,I,C)}add(h){u(h);let{px:m,py:g,pz:A}=this,{px:b,py:S,pz:v}=h,I=t.ZERO,C=t.ZERO,y=t.ZERO,k=e.a,O=t.mul(e.b,pd),U=t.mul(m,b),V=t.mul(g,S),H=t.mul(A,v),X=t.add(m,g),B=t.add(b,S);X=t.mul(X,B),B=t.add(U,V),X=t.sub(X,B),B=t.add(m,A);let R=t.add(b,v);return B=t.mul(B,R),R=t.add(U,H),B=t.sub(B,R),R=t.add(g,A),I=t.add(S,v),R=t.mul(R,I),I=t.add(V,H),R=t.sub(R,I),y=t.mul(k,B),I=t.mul(O,H),y=t.add(I,y),I=t.sub(V,y),y=t.add(V,y),C=t.mul(I,y),V=t.add(U,U),V=t.add(V,U),H=t.mul(k,H),B=t.mul(O,B),V=t.add(V,H),H=t.sub(U,H),H=t.mul(k,H),B=t.add(B,H),U=t.mul(V,B),C=t.add(C,U),U=t.mul(R,B),I=t.mul(X,I),I=t.sub(I,U),U=t.mul(X,V),y=t.mul(R,y),y=t.add(y,U),new l(I,C,y)}subtract(h){return this.add(h.negate())}is0(){return this.equals(l.ZERO)}wNAF(h){return x.wNAFCached(this,f,h,m=>{let g=t.invertBatch(m.map(A=>A.pz));return m.map((A,b)=>A.toAffine(g[b])).map(l.fromAffine)})}multiplyUnsafe(h){let m=l.ZERO;if(h===jt)return m;if(a(h),h===it)return this;let{endo:g}=e;if(!g)return x.unsafeLadder(this,h);let{k1neg:A,k1:b,k2neg:S,k2:v}=g.splitScalar(h),I=m,C=m,y=this;for(;b>jt||v>jt;)b&it&&(I=I.add(y)),v&it&&(C=C.add(y)),y=y.double(),b>>=it,v>>=it;return A&&(I=I.negate()),S&&(C=C.negate()),C=new l(t.mul(C.px,g.beta),C.py,C.pz),I.add(C)}multiply(h){a(h);let m=h,g,A,{endo:b}=e;if(b){let{k1neg:S,k1:v,k2neg:I,k2:C}=b.splitScalar(m),{p:y,f:k}=this.wNAF(v),{p:O,f:U}=this.wNAF(C);y=x.constTimeNegate(S,y),O=x.constTimeNegate(I,O),O=new l(t.mul(O.px,b.beta),O.py,O.pz),g=y.add(O),A=k.add(U)}else{let{p:S,f:v}=this.wNAF(m);g=S,A=v}return l.normalizeZ([g,A])[0]}multiplyAndAddUnsafe(h,m,g){let A=l.BASE,b=(v,I)=>I===jt||I===it||!v.equals(A)?v.multiplyUnsafe(I):v.multiply(I),S=b(this,m).add(b(h,g));return S.is0()?void 0:S}toAffine(h){let{px:m,py:g,pz:A}=this,b=this.is0();h==null&&(h=b?t.ONE:t.inv(A));let S=t.mul(m,h),v=t.mul(g,h),I=t.mul(A,h);if(b)return{x:t.ZERO,y:t.ZERO};if(!t.eql(I,t.ONE))throw new Error("invZ was invalid");return{x:S,y:v}}isTorsionFree(){let{h,isTorsionFree:m}=e;if(h===it)return!0;if(m)return m(l,this);throw new Error("isTorsionFree() has not been declared for the elliptic curve")}clearCofactor(){let{h,clearCofactor:m}=e;return h===it?this:m?m(l,this):this.multiplyUnsafe(e.h)}toRawBytes(h=!0){return this.assertValidity(),n(l,this,h)}toHex(h=!0){return Ot(this.toRawBytes(h))}}l.BASE=new l(e.Gx,e.Gy,t.ONE),l.ZERO=new l(t.ZERO,t.ONE,t.ZERO);let p=e.nBitLength,x=Rs(l,e.endo?Math.ceil(p/2):p);return{CURVE:e,ProjectivePoint:l,normPrivateKeyToScalar:c,weierstrassEquation:s,isWithinCurveOrder:i}}function lx(r){let e=po(r);return Et(e,{hash:"hash",hmac:"function",randomBytes:"function"},{bits2int:"function",bits2int_modN:"function",lowS:"boolean"}),Object.freeze({lowS:!0,...e})}function md(r){let e=lx(r),{Fp:t,n}=e,o=t.BYTES+1,s=2*t.BYTES+1;function i(B){return jt<B&&B<t.ORDER}function a(B){return oe(B,n)}function c(B){return Ts(B,n)}let{ProjectivePoint:f,normPrivateKeyToScalar:u,weierstrassEquation:l,isWithinCurveOrder:p}=ux({...e,toBytes(B,R,$){let T=R.toAffine(),E=t.toBytes(T.x),L=Pt;return $?L(Uint8Array.from([R.hasEvenY()?2:3]),E):L(Uint8Array.from([4]),E,t.toBytes(T.y))},fromBytes(B){let R=B.length,$=B[0],T=B.subarray(1);if(R===o&&($===2||$===3)){let E=Vt(T);if(!i(E))throw new Error("Point is not on curve");let L=l(E),F=t.sqrt(L),q=(F&it)===it;return($&1)===1!==q&&(F=t.neg(F)),{x:E,y:F}}else if(R===s&&$===4){let E=t.fromBytes(T.subarray(0,t.BYTES)),L=t.fromBytes(T.subarray(t.BYTES,2*t.BYTES));return{x:E,y:L}}else throw new Error(`Point of length ${R} was invalid. Expected ${o} compressed bytes or ${s} uncompressed bytes`)}}),x=B=>Ot(fr(B,e.nByteLength));function d(B){let R=n>>it;return B>R}function h(B){return d(B)?a(-B):B}let m=(B,R,$)=>Vt(B.slice(R,$));class g{constructor(R,$,T){this.r=R,this.s=$,this.recovery=T,this.assertValidity()}static fromCompact(R){let $=e.nByteLength;return R=de("compactSignature",R,$*2),new g(m(R,0,$),m(R,$,2*$))}static fromDER(R){let{r:$,s:T}=qr.toSig(de("DER",R));return new g($,T)}assertValidity(){if(!p(this.r))throw new Error("r must be 0 < r < CURVE.n");if(!p(this.s))throw new Error("s must be 0 < s < CURVE.n")}addRecoveryBit(R){return new g(this.r,this.s,R)}recoverPublicKey(R){let{r:$,s:T,recovery:E}=this,L=C(de("msgHash",R));if(E==null||![0,1,2,3].includes(E))throw new Error("recovery id invalid");let F=E===2||E===3?$+e.n:$;if(F>=t.ORDER)throw new Error("recovery id 2 or 3 invalid");let q=E&1?"03":"02",W=f.fromHex(q+x(F)),Y=c(F),ne=a(-L*Y),J=a(T*Y),Q=f.BASE.multiplyAndAddUnsafe(W,ne,J);if(!Q)throw new Error("point at infinify");return Q.assertValidity(),Q}hasHighS(){return d(this.s)}normalizeS(){return this.hasHighS()?new g(this.r,a(-this.s),this.recovery):this}toDERRawBytes(){return Vr(this.toDERHex())}toDERHex(){return qr.hexFromSig({r:this.r,s:this.s})}toCompactRawBytes(){return Vr(this.toCompactHex())}toCompactHex(){return x(this.r)+x(this.s)}}let A={isValidPrivateKey(B){try{return u(B),!0}catch{return!1}},normPrivateKeyToScalar:u,randomPrivateKey:()=>{let B=Xa(e.n);return th(e.randomBytes(B),e.n)},precompute(B=8,R=f.BASE){return R._setWindowSize(B),R.multiply(BigInt(3)),R}};function b(B,R=!0){return f.fromPrivateKey(B).toRawBytes(R)}function S(B){let R=ht(B),$=typeof B=="string",T=(R||$)&&B.length;return R?T===o||T===s:$?T===2*o||T===2*s:B instanceof f}function v(B,R,$=!0){if(S(B))throw new Error("first arg must be private key");if(!S(R))throw new Error("second arg must be public key");return f.fromHex(R).multiply(u(B)).toRawBytes($)}let I=e.bits2int||function(B){let R=Vt(B),$=B.length*8-e.nBitLength;return $>0?R>>BigInt($):R},C=e.bits2int_modN||function(B){return a(I(B))},y=ho(e.nBitLength);function k(B){if(typeof B!="bigint")throw new Error("bigint expected");if(!(jt<=B&&B<y))throw new Error(`bigint expected < 2^${e.nBitLength}`);return fr(B,e.nByteLength)}function O(B,R,$=U){if(["recovered","canonical"].some(fe=>fe in $))throw new Error("sign() legacy options not supported");let{hash:T,randomBytes:E}=e,{lowS:L,prehash:F,extraEntropy:q}=$;L==null&&(L=!0),B=de("msgHash",B),F&&(B=de("prehashed msgHash",T(B)));let W=C(B),Y=u(R),ne=[k(Y),k(W)];if(q!=null){let fe=q===!0?E(t.BYTES):q;ne.push(de("extraEntropy",fe))}let J=Pt(...ne),Q=W;function ye(fe){let Ae=I(fe);if(!p(Ae))return;let Be=c(Ae),we=f.BASE.multiply(Ae).toAffine(),De=a(we.x);if(De===jt)return;let _t=a(Be*a(Q+De*Y));if(_t===jt)return;let Nr=(we.x===De?0:2)|Number(we.y&it),io=_t;return L&&d(_t)&&(io=h(_t),Nr^=1),new g(De,io,Nr)}return{seed:J,k2sig:ye}}let U={lowS:e.lowS,prehash:!1},V={lowS:e.lowS,prehash:!1};function H(B,R,$=U){let{seed:T,k2sig:E}=O(B,R,$),L=e;return Wa(L.hash.outputLen,L.nByteLength,L.hmac)(T,E)}f.BASE._setWindowSize(8);function X(B,R,$,T=V){let E=B;if(R=de("msgHash",R),$=de("publicKey",$),"strict"in T)throw new Error("options.strict was renamed to lowS");let{lowS:L,prehash:F}=T,q,W;try{if(typeof E=="string"||ht(E))try{q=g.fromDER(E)}catch(we){if(!(we instanceof qr.Err))throw we;q=g.fromCompact(E)}else if(typeof E=="object"&&typeof E.r=="bigint"&&typeof E.s=="bigint"){let{r:we,s:De}=E;q=new g(we,De)}else throw new Error("PARSE");W=f.fromHex($)}catch(we){if(we.message==="PARSE")throw new Error("signature must be Signature instance, Uint8Array or hex string");return!1}if(L&&q.hasHighS())return!1;F&&(R=e.hash(R));let{r:Y,s:ne}=q,J=C(R),Q=c(ne),ye=a(J*Q),fe=a(Y*Q),Ae=f.BASE.multiplyAndAddUnsafe(W,ye,fe)?.toAffine();return Ae?a(Ae.x)===Y:!1}return{CURVE:e,getPublicKey:b,getSharedSecret:v,sign:H,verify:X,ProjectivePoint:f,Signature:g,utils:A}}function fx(r){return{hash:r,hmac:(e,...t)=>xo(r,e,As(...t)),randomBytes:bn}}function gd(r,e){let t=n=>md({...r,...fx(n)});return Object.freeze({...t(e),create:t})}var wd=BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"),yd=BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),hx=BigInt(1),Tc=BigInt(2),bd=(r,e)=>(r+e/Tc)/e;function dx(r){let e=wd,t=BigInt(3),n=BigInt(6),o=BigInt(11),s=BigInt(22),i=BigInt(23),a=BigInt(44),c=BigInt(88),f=r*r*r%e,u=f*f*r%e,l=ae(u,t,e)*u%e,p=ae(l,t,e)*u%e,x=ae(p,Tc,e)*f%e,d=ae(x,o,e)*x%e,h=ae(d,s,e)*d%e,m=ae(h,a,e)*h%e,g=ae(m,c,e)*m%e,A=ae(g,a,e)*h%e,b=ae(A,t,e)*u%e,S=ae(b,i,e)*d%e,v=ae(S,n,e)*f%e,I=ae(v,Tc,e);if(!kc.eql(kc.sqr(I),r))throw new Error("Cannot find square root");return I}var kc=ks(wd,void 0,void 0,{sqrt:dx}),yt=gd({a:BigInt(0),b:BigInt(7),Fp:kc,n:yd,Gx:BigInt("55066263022277343669578718895168534326250603453777594175500187360389116729240"),Gy:BigInt("32670510020758816978083085130507043184471273380659243275938904335757337482424"),h:BigInt(1),lowS:!0,endo:{beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee"),splitScalar:r=>{let e=yd,t=BigInt("0x3086d221a7d46bcde86c90e49284eb15"),n=-hx*BigInt("0xe4437ed6010e88286f547fa90abfe4c3"),o=BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"),s=t,i=BigInt("0x100000000000000000000000000000000"),a=bd(s*r,e),c=bd(-n*r,e),f=oe(r-a*t-c*o,e),u=oe(-a*n-c*s,e),l=f>i,p=u>i;if(l&&(f=e-f),p&&(u=e-u),f>i||u>i)throw new Error("splitScalar: Endomorphism failed, k="+r);return{k1neg:l,k1:f,k2neg:p,k2:u}}}},dd),i3=BigInt(0);var a3=yt.ProjectivePoint;function xd(){return yt.utils.randomPrivateKey()}function vd(r,e){let t=Ce.digest(e instanceof Uint8Array?e:e.subarray());if(ot(t))return t.then(({digest:n})=>yt.sign(n,r).toDERRawBytes()).catch(n=>{throw new K(String(n),"ERR_INVALID_INPUT")});try{return yt.sign(t.digest,r).toDERRawBytes()}catch(n){throw new K(String(n),"ERR_INVALID_INPUT")}}function Ed(r,e,t){let n=Ce.digest(t instanceof Uint8Array?t:t.subarray());if(ot(n))return n.then(({digest:o})=>yt.verify(e,o,r)).catch(o=>{throw new K(String(o),"ERR_INVALID_INPUT")});try{return yt.verify(e,n.digest,r)}catch(o){throw new K(String(o),"ERR_INVALID_INPUT")}}function Ad(r){return yt.ProjectivePoint.fromHex(r).toRawBytes(!0)}function Bd(r){try{yt.getPublicKey(r,!0)}catch(e){throw new K(String(e),"ERR_INVALID_PRIVATE_KEY")}}function Rc(r){try{yt.ProjectivePoint.fromHex(r)}catch(e){throw new K(String(e),"ERR_INVALID_PUBLIC_KEY")}}function Sd(r){try{return yt.getPublicKey(r,!0)}catch(e){throw new K(String(e),"ERR_INVALID_PRIVATE_KEY")}}var Uo=class{_key;constructor(e){Rc(e),this._key=e}verify(e,t){return Ed(this._key,t,e)}marshal(){return Ad(this._key)}get bytes(){return At.encode({Type:ce.Secp256k1,Data:this.marshal()}).subarray()}equals(e){return Te(this.bytes,e.bytes)}async hash(){let e=Ce.digest(this.bytes),t;return ot(e)?{bytes:t}=await e:t=e.bytes,t}},_o=class{_key;_publicKey;constructor(e,t){this._key=e,this._publicKey=t??Sd(e),Bd(this._key),Rc(this._publicKey)}sign(e){return vd(this._key,e)}get public(){return new Uo(this._publicKey)}marshal(){return this._key}get bytes(){return Bt.encode({Type:ce.Secp256k1,Data:this.marshal()}).subarray()}equals(e){return Te(this.bytes,e.bytes)}hash(){let e=Ce.digest(this.bytes);return ot(e)?e.then(({bytes:t})=>t):e.bytes}async id(){let e=await this.public.hash();return ue(e,"base58btc")}async export(e,t="libp2p-key"){if(t==="libp2p-key")return An(this.bytes,e);throw new K(`export format '${t}' is not supported`,"ERR_INVALID_EXPORT_FORMAT")}};function mx(r){return new _o(r)}function gx(r){return new Uo(r)}async function yx(){let r=xd();return new _o(r)}var Gr={rsa:Ic,ed25519:gc,secp256k1:Nc};function Id(r){let e=Object.keys(Gr).join(" / ");return new K(`invalid or unsupported key type ${r}. Must be ${e}`,"ERR_UNSUPPORTED_KEY_TYPE")}function Uc(r){let e=At.decode(r),t=e.Data??new Uint8Array;switch(e.Type){case ce.RSA:return Gr.rsa.unmarshalRsaPublicKey(t);case ce.Ed25519:return Gr.ed25519.unmarshalEd25519PublicKey(t);case ce.Secp256k1:return Gr.secp256k1.unmarshalSecp256k1PublicKey(t);default:throw Id(e.Type??"unknown")}}async function Cd(r){let e=Bt.decode(r),t=e.Data??new Uint8Array;switch(e.Type){case ce.RSA:return Gr.rsa.unmarshalRsaPrivateKey(t);case ce.Ed25519:return Gr.ed25519.unmarshalEd25519PrivateKey(t);case ce.Secp256k1:return Gr.secp256k1.unmarshalSecp256k1PrivateKey(t);default:throw Id(e.Type??"RSA")}}var Wc=Se(Do(),1);var Wt="/",Rd=new TextEncoder().encode(Wt),Ci=Rd[0],Nn=class r{_buf;constructor(e,t){if(typeof e=="string")this._buf=ee(e);else if(e instanceof Uint8Array)this._buf=e;else throw new Error("Invalid key, should be String of Uint8Array");if(t==null&&(t=!0),t&&this.clean(),this._buf.byteLength===0||this._buf[0]!==Ci)throw new Error("Invalid key")}toString(e="utf8"){return ue(this._buf,e)}uint8Array(){return this._buf}get[Symbol.toStringTag](){return`Key(${this.toString()})`}static withNamespaces(e){return new r(e.join(Wt))}static random(){return new r(Math.random().toString().substring(2))}static asKey(e){return e instanceof Uint8Array||typeof e=="string"?new r(e):typeof e.uint8Array=="function"?new r(e.uint8Array()):null}clean(){if((this._buf==null||this._buf.byteLength===0)&&(this._buf=Rd),this._buf[0]!==Ci){let e=new Uint8Array(this._buf.byteLength+1);e.fill(Ci,0,1),e.set(this._buf,1),this._buf=e}for(;this._buf.byteLength>1&&this._buf[this._buf.byteLength-1]===Ci;)this._buf=this._buf.subarray(0,-1)}less(e){let t=this.list(),n=e.list();for(let o=0;o<t.length;o++){if(n.length<o+1)return!1;let s=t[o],i=n[o];if(s<i)return!0;if(s>i)return!1}return t.length<n.length}reverse(){return r.withNamespaces(this.list().slice().reverse())}namespaces(){return this.list()}baseNamespace(){let e=this.namespaces();return e[e.length-1]}list(){return this.toString().split(Wt).slice(1)}type(){return wx(this.baseNamespace())}name(){return xx(this.baseNamespace())}instance(e){return new r(this.toString()+":"+e)}path(){let e=this.parent().toString();return e.endsWith(Wt)||(e+=Wt),e+=this.type(),new r(e)}parent(){let e=this.list();return e.length===1?new r(Wt):new r(e.slice(0,-1).join(Wt))}child(e){return this.toString()===Wt?e:e.toString()===Wt?this:new r(this.toString()+e.toString(),!1)}isAncestorOf(e){return e.toString()===this.toString()?!1:e.toString().startsWith(this.toString())}isDecendantOf(e){return e.toString()===this.toString()?!1:this.toString().startsWith(e.toString())}isTopLevel(){return this.list().length===1}concat(...e){return r.withNamespaces([...this.namespaces(),...vx(e.map(t=>t.namespaces()))])}};function wx(r){let e=r.split(":");return e.length<2?"":e.slice(0,-1).join(":")}function xx(r){let e=r.split(":");return e[e.length-1]}function vx(r){return[].concat(...r)}var Zp=Se(Ti(),1);var Nd="ERR_IPNS_EXPIRED_RECORD",Lo="ERR_UNRECOGNIZED_VALIDITY",Ud="ERR_SIGNATURE_CREATION",Yt="ERR_SIGNATURE_VERIFICATION";var Dc="ERR_UNDEFINED_PARAMETER",_d="ERR_INVALID_RECORD_DATA",Dd="ERR_INVALID_VALUE",Ld="ERR_INVALID_EMBEDDED_KEY",Od="ERR_MISSING_PRIVATE_KEY",Vd="ERR_RECORD_TOO_LARGE";var Re;(function(r){let e;(function(o){o.EOL="EOL"})(e=r.ValidityType||(r.ValidityType={}));let t;(function(o){o[o.EOL=0]="EOL"})(t||(t={})),function(o){o.codec=()=>bo(t)}(e=r.ValidityType||(r.ValidityType={}));let n;r.codec=()=>(n==null&&(n=mr((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=>pr(o,r.codec()),r.decode=o=>dr(o,r.codec())})(Re||(Re={}));var Ex=["string","number","bigint","symbol"],Ax=["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 Pd(r){if(r===null)return"null";if(r===void 0)return"undefined";if(r===!0||r===!1)return"boolean";let e=typeof r;if(Ex.includes(e))return e;if(e==="function")return"Function";if(Array.isArray(r))return"Array";if(Bx(r))return"Buffer";let t=Sx(r);return t||"Object"}function Bx(r){return r&&r.constructor&&r.constructor.isBuffer&&r.constructor.isBuffer.call(null,r)}function Sx(r){let e=Object.prototype.toString.call(r).slice(8,-1);if(Ax.includes(e))return e}var w=class{constructor(e,t,n){this.major=e,this.majorEncoded=e<<5,this.name=t,this.terminal=n}toString(){return`Type[${this.major}].${this.name}`}compare(e){return this.major<e.major?-1:this.major>e.major?1:0}};w.uint=new w(0,"uint",!0);w.negint=new w(1,"negint",!0);w.bytes=new w(2,"bytes",!0);w.string=new w(3,"string",!0);w.array=new w(4,"array",!1);w.map=new w(5,"map",!1);w.tag=new w(6,"tag",!1);w.float=new w(7,"float",!0);w.false=new w(7,"false",!0);w.true=new w(7,"true",!0);w.null=new w(7,"null",!0);w.undefined=new w(7,"undefined",!0);w.break=new w(7,"break",!0);var D=class{constructor(e,t,n){this.type=e,this.value=t,this.encodedLength=n,this.encodedBytes=void 0,this.byteValue=void 0}toString(){return`Token[${this.type}].${this.value}`}};var Un=globalThis.process&&!globalThis.process.browser&&globalThis.Buffer&&typeof globalThis.Buffer.isBuffer=="function",Ix=new TextDecoder,Cx=new TextEncoder;function ki(r){return Un&&globalThis.Buffer.isBuffer(r)}function Oc(r){return r instanceof Uint8Array?ki(r)?new Uint8Array(r.buffer,r.byteOffset,r.byteLength):r:Uint8Array.from(r)}var Hd=Un?(r,e,t)=>t-e>64?globalThis.Buffer.from(r.subarray(e,t)).toString("utf8"):Fd(r,e,t):(r,e,t)=>t-e>64?Ix.decode(r.subarray(e,t)):Fd(r,e,t),Kd=Un?r=>r.length>64?globalThis.Buffer.from(r):Md(r):r=>r.length>64?Cx.encode(r):Md(r),Tt=r=>Uint8Array.from(r),_n=Un?(r,e,t)=>ki(r)?new Uint8Array(r.subarray(e,t)):r.slice(e,t):(r,e,t)=>r.slice(e,t),zd=Un?(r,e)=>(r=r.map(t=>t instanceof Uint8Array?t:globalThis.Buffer.from(t)),Oc(globalThis.Buffer.concat(r,e))):(r,e)=>{let t=new Uint8Array(e),n=0;for(let o of r)n+o.length>t.length&&(o=o.subarray(0,t.length-n)),t.set(o,n),n+=o.length;return t},qd=Un?r=>globalThis.Buffer.allocUnsafe(r):r=>new Uint8Array(r);function Gd(r,e){if(ki(r)&&ki(e))return r.compare(e);for(let t=0;t<r.length;t++)if(r[t]!==e[t])return r[t]<e[t]?-1:1;return 0}function Md(r){let e=[],t=0;for(let n=0;n<r.length;n++){let o=r.charCodeAt(n);o<128?e[t++]=o:o<2048?(e[t++]=o>>6|192,e[t++]=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),e[t++]=o>>18|240,e[t++]=o>>12&63|128,e[t++]=o>>6&63|128,e[t++]=o&63|128):(e[t++]=o>>12|224,e[t++]=o>>6&63|128,e[t++]=o&63|128)}return e}function Fd(r,e,t){let n=[];for(;e<t;){let o=r[e],s=null,i=o>239?4:o>223?3:o>191?2:1;if(e+i<=t){let a,c,f,u;switch(i){case 1:o<128&&(s=o);break;case 2:a=r[e+1],(a&192)===128&&(u=(o&31)<<6|a&63,u>127&&(s=u));break;case 3:a=r[e+1],c=r[e+2],(a&192)===128&&(c&192)===128&&(u=(o&15)<<12|(a&63)<<6|c&63,u>2047&&(u<55296||u>57343)&&(s=u));break;case 4:a=r[e+1],c=r[e+2],f=r[e+3],(a&192)===128&&(c&192)===128&&(f&192)===128&&(u=(o&15)<<18|(a&63)<<12|(c&63)<<6|f&63,u>65535&&u<1114112&&(s=u))}}s===null?(s=65533,i=1):s>65535&&(s-=65536,n.push(s>>>10&1023|55296),s=56320|s&1023),n.push(s),e+=i}return Tx(n)}var $d=4096;function Tx(r){let e=r.length;if(e<=$d)return String.fromCharCode.apply(String,r);let t="",n=0;for(;n<e;)t+=String.fromCharCode.apply(String,r.slice(n,n+=$d));return t}var kx=256,Oo=class{constructor(e=kx){this.chunkSize=e,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(e){let t=this.chunks[this.chunks.length-1];if(this.cursor+e.length<=this.maxCursor+1){let o=t.length-(this.maxCursor-this.cursor)-1;t.set(e,o)}else{if(t){let o=t.length-(this.maxCursor-this.cursor)-1;o<t.length&&(this.chunks[this.chunks.length-1]=t.subarray(0,o),this.maxCursor=this.cursor-1)}e.length<64&&e.length<this.chunkSize?(t=qd(this.chunkSize),this.chunks.push(t),this.maxCursor+=t.length,this._initReuseChunk===null&&(this._initReuseChunk=t),t.set(e,0)):(this.chunks.push(e),this.maxCursor+=e.length)}this.cursor+=e.length}toBytes(e=!1){let t;if(this.chunks.length===1){let n=this.chunks[0];e&&this.cursor>n.length/2?(t=this.cursor===n.length?n:n.subarray(0,this.cursor),this._initReuseChunk=null,this.chunks=[]):t=_n(n,0,this.cursor)}else t=zd(this.chunks,this.cursor);return e&&this.reset(),t}};var z="CBOR decode error:",Vc="CBOR encode error:",Vo=[];Vo[23]=1;Vo[24]=2;Vo[25]=3;Vo[26]=5;Vo[27]=9;function Zt(r,e,t){if(r.length-e<t)throw new Error(`${z} not enough data for type`)}var Ee=[24,256,65536,4294967296,BigInt("18446744073709551616")];function et(r,e,t){Zt(r,e,1);let n=r[e];if(t.strict===!0&&n<Ee[0])throw new Error(`${z} integer encoded in more bytes than necessary (strict decode)`);return n}function tt(r,e,t){Zt(r,e,2);let n=r[e]<<8|r[e+1];if(t.strict===!0&&n<Ee[1])throw new Error(`${z} integer encoded in more bytes than necessary (strict decode)`);return n}function rt(r,e,t){Zt(r,e,4);let n=r[e]*16777216+(r[e+1]<<16)+(r[e+2]<<8)+r[e+3];if(t.strict===!0&&n<Ee[2])throw new Error(`${z} integer encoded in more bytes than necessary (strict decode)`);return n}function nt(r,e,t){Zt(r,e,8);let n=r[e]*16777216+(r[e+1]<<16)+(r[e+2]<<8)+r[e+3],o=r[e+4]*16777216+(r[e+5]<<16)+(r[e+6]<<8)+r[e+7],s=(BigInt(n)<<BigInt(32))+BigInt(o);if(t.strict===!0&&s<Ee[3])throw new Error(`${z} integer encoded in more bytes than necessary (strict decode)`);if(s<=Number.MAX_SAFE_INTEGER)return Number(s);if(t.allowBigInt===!0)return s;throw new Error(`${z} integers outside of the safe integer range are not supported`)}function jd(r,e,t,n){return new D(w.uint,et(r,e+1,n),2)}function Wd(r,e,t,n){return new D(w.uint,tt(r,e+1,n),3)}function Yd(r,e,t,n){return new D(w.uint,rt(r,e+1,n),5)}function Zd(r,e,t,n){return new D(w.uint,nt(r,e+1,n),9)}function at(r,e){return Ne(r,0,e.value)}function Ne(r,e,t){if(t<Ee[0]){let n=Number(t);r.push([e|n])}else if(t<Ee[1]){let n=Number(t);r.push([e|24,n])}else if(t<Ee[2]){let n=Number(t);r.push([e|25,n>>>8,n&255])}else if(t<Ee[3]){let n=Number(t);r.push([e|26,n>>>24&255,n>>>16&255,n>>>8&255,n&255])}else{let n=BigInt(t);if(n<Ee[4]){let o=[e|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(`${z} encountered BigInt larger than allowable range`)}}at.encodedSize=function(e){return Ne.encodedSize(e.value)};Ne.encodedSize=function(e){return e<Ee[0]?1:e<Ee[1]?2:e<Ee[2]?3:e<Ee[3]?5:9};at.compareTokens=function(e,t){return e.value<t.value?-1:e.value>t.value?1:0};function Jd(r,e,t,n){return new D(w.negint,-1-et(r,e+1,n),2)}function Xd(r,e,t,n){return new D(w.negint,-1-tt(r,e+1,n),3)}function Qd(r,e,t,n){return new D(w.negint,-1-rt(r,e+1,n),5)}var Pc=BigInt(-1),ep=BigInt(1);function tp(r,e,t,n){let o=nt(r,e+1,n);if(typeof o!="bigint"){let s=-1-o;if(s>=Number.MIN_SAFE_INTEGER)return new D(w.negint,s,9)}if(n.allowBigInt!==!0)throw new Error(`${z} integers outside of the safe integer range are not supported`);return new D(w.negint,Pc-BigInt(o),9)}function Ri(r,e){let t=e.value,n=typeof t=="bigint"?t*Pc-ep:t*-1-1;Ne(r,e.type.majorEncoded,n)}Ri.encodedSize=function(e){let t=e.value,n=typeof t=="bigint"?t*Pc-ep:t*-1-1;return n<Ee[0]?1:n<Ee[1]?2:n<Ee[2]?3:n<Ee[3]?5:9};Ri.compareTokens=function(e,t){return e.value<t.value?1:e.value>t.value?-1:0};function Po(r,e,t,n){Zt(r,e,t+n);let o=_n(r,e+t,e+t+n);return new D(w.bytes,o,t+n)}function rp(r,e,t,n){return Po(r,e,1,t)}function np(r,e,t,n){return Po(r,e,2,et(r,e+1,n))}function op(r,e,t,n){return Po(r,e,3,tt(r,e+1,n))}function sp(r,e,t,n){return Po(r,e,5,rt(r,e+1,n))}function ip(r,e,t,n){let o=nt(r,e+1,n);if(typeof o=="bigint")throw new Error(`${z} 64-bit integer bytes lengths not supported`);return Po(r,e,9,o)}function Ni(r){return r.encodedBytes===void 0&&(r.encodedBytes=r.type===w.string?Kd(r.value):r.value),r.encodedBytes}function Dn(r,e){let t=Ni(e);Ne(r,e.type.majorEncoded,t.length),r.push(t)}Dn.encodedSize=function(e){let t=Ni(e);return Ne.encodedSize(t.length)+t.length};Dn.compareTokens=function(e,t){return Nx(Ni(e),Ni(t))};function Nx(r,e){return r.length<e.length?-1:r.length>e.length?1:Gd(r,e)}function Mo(r,e,t,n,o){let s=t+n;Zt(r,e,s);let i=new D(w.string,Hd(r,e+t,e+s),s);return o.retainStringBytes===!0&&(i.byteValue=_n(r,e+t,e+s)),i}function ap(r,e,t,n){return Mo(r,e,1,t,n)}function cp(r,e,t,n){return Mo(r,e,2,et(r,e+1,n),n)}function up(r,e,t,n){return Mo(r,e,3,tt(r,e+1,n),n)}function lp(r,e,t,n){return Mo(r,e,5,rt(r,e+1,n),n)}function fp(r,e,t,n){let o=nt(r,e+1,n);if(typeof o=="bigint")throw new Error(`${z} 64-bit integer string lengths not supported`);return Mo(r,e,9,o,n)}var hp=Dn;function Ln(r,e,t,n){return new D(w.array,n,t)}function dp(r,e,t,n){return Ln(r,e,1,t)}function pp(r,e,t,n){return Ln(r,e,2,et(r,e+1,n))}function mp(r,e,t,n){return Ln(r,e,3,tt(r,e+1,n))}function gp(r,e,t,n){return Ln(r,e,5,rt(r,e+1,n))}function yp(r,e,t,n){let o=nt(r,e+1,n);if(typeof o=="bigint")throw new Error(`${z} 64-bit integer array lengths not supported`);return Ln(r,e,9,o)}function bp(r,e,t,n){if(n.allowIndefinite===!1)throw new Error(`${z} indefinite length items not allowed`);return Ln(r,e,1,1/0)}function Ui(r,e){Ne(r,w.array.majorEncoded,e.value)}Ui.compareTokens=at.compareTokens;Ui.encodedSize=function(e){return Ne.encodedSize(e.value)};function On(r,e,t,n){return new D(w.map,n,t)}function wp(r,e,t,n){return On(r,e,1,t)}function xp(r,e,t,n){return On(r,e,2,et(r,e+1,n))}function vp(r,e,t,n){return On(r,e,3,tt(r,e+1,n))}function Ep(r,e,t,n){return On(r,e,5,rt(r,e+1,n))}function Ap(r,e,t,n){let o=nt(r,e+1,n);if(typeof o=="bigint")throw new Error(`${z} 64-bit integer map lengths not supported`);return On(r,e,9,o)}function Bp(r,e,t,n){if(n.allowIndefinite===!1)throw new Error(`${z} indefinite length items not allowed`);return On(r,e,1,1/0)}function _i(r,e){Ne(r,w.map.majorEncoded,e.value)}_i.compareTokens=at.compareTokens;_i.encodedSize=function(e){return Ne.encodedSize(e.value)};function Sp(r,e,t,n){return new D(w.tag,t,1)}function Ip(r,e,t,n){return new D(w.tag,et(r,e+1,n),2)}function Cp(r,e,t,n){return new D(w.tag,tt(r,e+1,n),3)}function Tp(r,e,t,n){return new D(w.tag,rt(r,e+1,n),5)}function kp(r,e,t,n){return new D(w.tag,nt(r,e+1,n),9)}function Di(r,e){Ne(r,w.tag.majorEncoded,e.value)}Di.compareTokens=at.compareTokens;Di.encodedSize=function(e){return Ne.encodedSize(e.value)};var Vx=20,Px=21,Mx=22,Fx=23;function Rp(r,e,t,n){if(n.allowUndefined===!1)throw new Error(`${z} undefined values are not supported`);return n.coerceUndefinedToNull===!0?new D(w.null,null,1):new D(w.undefined,void 0,1)}function Np(r,e,t,n){if(n.allowIndefinite===!1)throw new Error(`${z} indefinite length items not allowed`);return new D(w.break,void 0,1)}function Mc(r,e,t){if(t){if(t.allowNaN===!1&&Number.isNaN(r))throw new Error(`${z} NaN values are not supported`);if(t.allowInfinity===!1&&(r===1/0||r===-1/0))throw new Error(`${z} Infinity values are not supported`)}return new D(w.float,r,e)}function Up(r,e,t,n){return Mc(Fc(r,e+1),3,n)}function _p(r,e,t,n){return Mc($c(r,e+1),5,n)}function Dp(r,e,t,n){return Mc(Pp(r,e+1),9,n)}function Li(r,e,t){let n=e.value;if(n===!1)r.push([w.float.majorEncoded|Vx]);else if(n===!0)r.push([w.float.majorEncoded|Px]);else if(n===null)r.push([w.float.majorEncoded|Mx]);else if(n===void 0)r.push([w.float.majorEncoded|Fx]);else{let o,s=!1;(!t||t.float64!==!0)&&(Op(n),o=Fc(bt,1),n===o||Number.isNaN(n)?(bt[0]=249,r.push(bt.slice(0,3)),s=!0):(Vp(n),o=$c(bt,1),n===o&&(bt[0]=250,r.push(bt.slice(0,5)),s=!0))),s||($x(n),o=Pp(bt,1),bt[0]=251,r.push(bt.slice(0,9)))}}Li.encodedSize=function(e,t){let n=e.value;if(n===!1||n===!0||n===null||n===void 0)return 1;if(!t||t.float64!==!0){Op(n);let o=Fc(bt,1);if(n===o||Number.isNaN(n))return 3;if(Vp(n),o=$c(bt,1),n===o)return 5}return 9};var Lp=new ArrayBuffer(9),ct=new DataView(Lp,1),bt=new Uint8Array(Lp,0);function Op(r){if(r===1/0)ct.setUint16(0,31744,!1);else if(r===-1/0)ct.setUint16(0,64512,!1);else if(Number.isNaN(r))ct.setUint16(0,32256,!1);else{ct.setFloat32(0,r);let e=ct.getUint32(0),t=(e&2139095040)>>23,n=e&8388607;if(t===255)ct.setUint16(0,31744,!1);else if(t===0)ct.setUint16(0,(r&2147483648)>>16|n>>13,!1);else{let o=t-127;o<-24?ct.setUint16(0,0):o<-14?ct.setUint16(0,(e&2147483648)>>16|1<<24+o,!1):ct.setUint16(0,(e&2147483648)>>16|o+15<<10|n>>13,!1)}}}function Fc(r,e){if(r.length-e<2)throw new Error(`${z} not enough data for float16`);let t=(r[e]<<8)+r[e+1];if(t===31744)return 1/0;if(t===64512)return-1/0;if(t===32256)return NaN;let n=t>>10&31,o=t&1023,s;return n===0?s=o*2**-24:n!==31?s=(o+1024)*2**(n-25):s=o===0?1/0:NaN,t&32768?-s:s}function Vp(r){ct.setFloat32(0,r,!1)}function $c(r,e){if(r.length-e<4)throw new Error(`${z} not enough data for float32`);let t=(r.byteOffset||0)+e;return new DataView(r.buffer,t,4).getFloat32(0,!1)}function $x(r){ct.setFloat64(0,r,!1)}function Pp(r,e){if(r.length-e<8)throw new Error(`${z} not enough data for float64`);let t=(r.byteOffset||0)+e;return new DataView(r.buffer,t,8).getFloat64(0,!1)}Li.compareTokens=at.compareTokens;function te(r,e,t){throw new Error(`${z} encountered invalid minor (${t}) for major ${r[e]>>>5}`)}function Oi(r){return()=>{throw new Error(`${z} ${r}`)}}var N=[];for(let r=0;r<=23;r++)N[r]=te;N[24]=jd;N[25]=Wd;N[26]=Yd;N[27]=Zd;N[28]=te;N[29]=te;N[30]=te;N[31]=te;for(let r=32;r<=55;r++)N[r]=te;N[56]=Jd;N[57]=Xd;N[58]=Qd;N[59]=tp;N[60]=te;N[61]=te;N[62]=te;N[63]=te;for(let r=64;r<=87;r++)N[r]=rp;N[88]=np;N[89]=op;N[90]=sp;N[91]=ip;N[92]=te;N[93]=te;N[94]=te;N[95]=Oi("indefinite length bytes/strings are not supported");for(let r=96;r<=119;r++)N[r]=ap;N[120]=cp;N[121]=up;N[122]=lp;N[123]=fp;N[124]=te;N[125]=te;N[126]=te;N[127]=Oi("indefinite length bytes/strings are not supported");for(let r=128;r<=151;r++)N[r]=dp;N[152]=pp;N[153]=mp;N[154]=gp;N[155]=yp;N[156]=te;N[157]=te;N[158]=te;N[159]=bp;for(let r=160;r<=183;r++)N[r]=wp;N[184]=xp;N[185]=vp;N[186]=Ep;N[187]=Ap;N[188]=te;N[189]=te;N[190]=te;N[191]=Bp;for(let r=192;r<=215;r++)N[r]=Sp;N[216]=Ip;N[217]=Cp;N[218]=Tp;N[219]=kp;N[220]=te;N[221]=te;N[222]=te;N[223]=te;for(let r=224;r<=243;r++)N[r]=Oi("simple values are not supported");N[244]=te;N[245]=te;N[246]=te;N[247]=Rp;N[248]=Oi("simple values are not supported");N[249]=Up;N[250]=_p;N[251]=Dp;N[252]=te;N[253]=te;N[254]=te;N[255]=Np;var wt=[];for(let r=0;r<24;r++)wt[r]=new D(w.uint,r,1);for(let r=-1;r>=-24;r--)wt[31-r]=new D(w.negint,r,1);wt[64]=new D(w.bytes,new Uint8Array(0),1);wt[96]=new D(w.string,"",1);wt[128]=new D(w.array,0,1);wt[160]=new D(w.map,0,1);wt[244]=new D(w.false,!1,1);wt[245]=new D(w.true,!0,1);wt[246]=new D(w.null,null,1);function Mp(r){switch(r.type){case w.false:return Tt([244]);case w.true:return Tt([245]);case w.null:return Tt([246]);case w.bytes:return r.value.length?void 0:Tt([64]);case w.string:return r.value===""?Tt([96]):void 0;case w.array:return r.value===0?Tt([128]):void 0;case w.map:return r.value===0?Tt([160]):void 0;case w.uint:return r.value<24?Tt([Number(r.value)]):void 0;case w.negint:if(r.value>=-24)return Tt([31-Number(r.value)])}}var Kx={float64:!1,mapSorter:Gx,quickEncodeToken:Mp};function zx(){let r=[];return r[w.uint.major]=at,r[w.negint.major]=Ri,r[w.bytes.major]=Dn,r[w.string.major]=hp,r[w.array.major]=Ui,r[w.map.major]=_i,r[w.tag.major]=Di,r[w.float.major]=Li,r}var Fp=zx(),Hc=new Oo,Pi=class r{constructor(e,t){this.obj=e,this.parent=t}includes(e){let t=this;do if(t.obj===e)return!0;while(t=t.parent);return!1}static createCheck(e,t){if(e&&e.includes(t))throw new Error(`${Vc} object contains circular references`);return new r(t,e)}},Er={null:new D(w.null,null),undefined:new D(w.undefined,void 0),true:new D(w.true,!0),false:new D(w.false,!1),emptyArray:new D(w.array,0),emptyMap:new D(w.map,0)},Ar={number(r,e,t,n){return!Number.isInteger(r)||!Number.isSafeInteger(r)?new D(w.float,r):r>=0?new D(w.uint,r):new D(w.negint,r)},bigint(r,e,t,n){return r>=BigInt(0)?new D(w.uint,r):new D(w.negint,r)},Uint8Array(r,e,t,n){return new D(w.bytes,r)},string(r,e,t,n){return new D(w.string,r)},boolean(r,e,t,n){return r?Er.true:Er.false},null(r,e,t,n){return Er.null},undefined(r,e,t,n){return Er.undefined},ArrayBuffer(r,e,t,n){return new D(w.bytes,new Uint8Array(r))},DataView(r,e,t,n){return new D(w.bytes,new Uint8Array(r.buffer,r.byteOffset,r.byteLength))},Array(r,e,t,n){if(!r.length)return t.addBreakTokens===!0?[Er.emptyArray,new D(w.break)]:Er.emptyArray;n=Pi.createCheck(n,r);let o=[],s=0;for(let i of r)o[s++]=Vi(i,t,n);return t.addBreakTokens?[new D(w.array,r.length),o,new D(w.break)]:[new D(w.array,r.length),o]},Object(r,e,t,n){let o=e!=="Object",s=o?r.keys():Object.keys(r),i=o?r.size:s.length;if(!i)return t.addBreakTokens===!0?[Er.emptyMap,new D(w.break)]:Er.emptyMap;n=Pi.createCheck(n,r);let a=[],c=0;for(let f of s)a[c++]=[Vi(f,t,n),Vi(o?r.get(f):r[f],t,n)];return qx(a,t),t.addBreakTokens?[new D(w.map,i),a,new D(w.break)]:[new D(w.map,i),a]}};Ar.Map=Ar.Object;Ar.Buffer=Ar.Uint8Array;for(let r of"Uint8Clamped Uint16 Uint32 Int8 Int16 Int32 BigUint64 BigInt64 Float32 Float64".split(" "))Ar[`${r}Array`]=Ar.DataView;function Vi(r,e={},t){let n=Pd(r),o=e&&e.typeEncoders&&e.typeEncoders[n]||Ar[n];if(typeof o=="function"){let i=o(r,n,e,t);if(i!=null)return i}let s=Ar[n];if(!s)throw new Error(`${Vc} unsupported type: ${n}`);return s(r,n,e,t)}function qx(r,e){e.mapSorter&&r.sort(e.mapSorter)}function Gx(r,e){let t=Array.isArray(r[0])?r[0][0]:r[0],n=Array.isArray(e[0])?e[0][0]:e[0];if(t.type!==n.type)return t.type.compare(n.type);let o=t.type.major,s=Fp[o].compareTokens(t,n);return s===0&&console.warn("WARNING: complex key types used, CBOR key sorting guarantees are gone"),s}function $p(r,e,t,n){if(Array.isArray(e))for(let o of e)$p(r,o,t,n);else t[e.type.major](r,e,n)}function jx(r,e,t){let n=Vi(r,t);if(!Array.isArray(n)&&t.quickEncodeToken){let o=t.quickEncodeToken(n);if(o)return o;let s=e[n.type.major];if(s.encodedSize){let i=s.encodedSize(n,t),a=new Oo(i);if(s(a,n,t),a.chunks.length!==1)throw new Error(`Unexpected error: pre-calculated length for ${n} was wrong`);return Oc(a.chunks[0])}}return Hc.reset(),$p(Hc,n,e,t),Hc.toBytes(!0)}function Kc(r,e){return e=Object.assign({},Kx,e),jx(r,Fp,e)}var Wx={strict:!1,allowIndefinite:!0,allowUndefined:!0,allowBigInt:!0},zc=class{constructor(e,t={}){this._pos=0,this.data=e,this.options=t}pos(){return this._pos}done(){return this._pos>=this.data.length}next(){let e=this.data[this._pos],t=wt[e];if(t===void 0){let n=N[e];if(!n)throw new Error(`${z} no decoder for major type ${e>>>5} (byte 0x${e.toString(16).padStart(2,"0")})`);let o=e&31;t=n(this.data,this._pos,o,this.options)}return this._pos+=t.encodedLength,t}},Fo=Symbol.for("DONE"),Mi=Symbol.for("BREAK");function Yx(r,e,t){let n=[];for(let o=0;o<r.value;o++){let s=$o(e,t);if(s===Mi){if(r.value===1/0)break;throw new Error(`${z} got unexpected break to lengthed array`)}if(s===Fo)throw new Error(`${z} found array but not enough entries (got ${o}, expected ${r.value})`);n[o]=s}return n}function Zx(r,e,t){let n=t.useMaps===!0,o=n?void 0:{},s=n?new Map:void 0;for(let i=0;i<r.value;i++){let a=$o(e,t);if(a===Mi){if(r.value===1/0)break;throw new Error(`${z} got unexpected break to lengthed map`)}if(a===Fo)throw new Error(`${z} found map but not enough entries (got ${i} [no key], expected ${r.value})`);if(n!==!0&&typeof a!="string")throw new Error(`${z} non-string keys not supported (got ${typeof a})`);if(t.rejectDuplicateMapKeys===!0&&(n&&s.has(a)||!n&&a in o))throw new Error(`${z} found repeat map key "${a}"`);let c=$o(e,t);if(c===Fo)throw new Error(`${z} 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 $o(r,e){if(r.done())return Fo;let t=r.next();if(t.type===w.break)return Mi;if(t.type.terminal)return t.value;if(t.type===w.array)return Yx(t,r,e);if(t.type===w.map)return Zx(t,r,e);if(t.type===w.tag){if(e.tags&&typeof e.tags[t.value]=="function"){let n=$o(r,e);return e.tags[t.value](n)}throw new Error(`${z} tag not supported (${t.value})`)}throw new Error("unsupported")}function Hp(r,e){if(!(r instanceof Uint8Array))throw new Error(`${z} data to decode must be a Uint8Array`);e=Object.assign({},Wx,e);let t=e.tokenizer||new zc(r,e),n=$o(t,e);if(n===Fo)throw new Error(`${z} did not find any content to decode`);if(n===Mi)throw new Error(`${z} got unexpected break`);return[n,r.subarray(t.pos())]}function qc(r,e){let[t,n]=Hp(r,e);if(n.length>0)throw new Error(`${z} too many terminals, data makes no sense`);return t}var je=Se(Do(),1);var Kp=ir("ipns:utils"),zp=ee("/ipns/"),Xx=114,qp=async(r,e)=>{if(e==null||r==null){let n=new Error("one or more of the provided parameters are not defined");throw Kp.error(n),(0,je.default)(n,Dc)}let t;if(e.pubKey!=null){try{t=Uc(e.pubKey)}catch(o){throw Kp.error(o),o}if(!(await Pf(e.pubKey)).equals(r))throw(0,je.default)(new Error("Embedded public key did not match PeerID"),Ld)}else r.publicKey!=null&&(t=Uc(r.publicKey));if(t!=null)return t;throw(0,je.default)(new Error("no public key is available"),Dc)},Gp=(r,e,t)=>{let n=ee(e);return Or([r,t,n])},Fi=r=>{let e=ee("ipns-signature:");return Or([e,r])},Gc=r=>"signatureV1"in r?Re.encode({value:ee(r.value),signatureV1:r.signatureV1,validityType:r.validityType,validity:ee(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 Jt(r){let e=Re.decode(r);if(e.sequence!=null&&(e.sequence=BigInt(e.sequence)),e.ttl!=null&&(e.ttl=BigInt(e.ttl)),e.signatureV2==null||e.data==null)throw(0,je.default)(new Error("missing data or signatureV2"),Yt);let t=Yp(e.data),n=jc(t.Value),o=ue(t.Validity);if(e.value!=null&&e.signatureV1!=null)return Qx(e),{value:n,validityType:Re.ValidityType.EOL,validity:o,sequence:t.Sequence,ttl:t.TTL,pubKey:e.pubKey,signatureV1:e.signatureV1,signatureV2:e.signatureV2,data:e.data};if(e.signatureV2!=null)return{value:n,validityType:Re.ValidityType.EOL,validity:o,sequence:t.Sequence,ttl:t.TTL,pubKey:e.pubKey,signatureV2:e.signatureV2,data:e.data};throw new Error("invalid record: does not include signatureV1 or signatureV2")}var $i=r=>Or([zp,r.toBytes()]),jp=r=>Fa(r.slice(zp.length)),Wp=(r,e,t,n,o)=>{let s;if(e===Re.ValidityType.EOL)s=0;else throw(0,je.default)(new Error("Unknown validity type"),Lo);return Kc({Value:r,Validity:t,ValidityType:s,Sequence:n,TTL:o})},Yp=r=>{let e=qc(r);if(e.ValidityType===0)e.ValidityType=Re.ValidityType.EOL;else throw(0,je.default)(new Error("Unknown validity type"),Lo);return Number.isInteger(e.Sequence)&&(e.Sequence=BigInt(e.Sequence)),Number.isInteger(e.TTL)&&(e.TTL=BigInt(e.TTL)),e},jc=r=>{if(r!=null){if(df(r))return`/ipns/${r.toCID().toString(bs)}`;if(r instanceof Uint8Array){let n=ue(r);n.startsWith("/")&&(r=n)}let e=r.toString().trim();if(e.startsWith("/")&&e.length>1)return e;let t=Xe.asCID(r);if(t!=null)return t.code===Xx?`/ipns/${t.toString(bs)}`:`/ipfs/${t.toV1().toString()}`;try{return r instanceof Uint8Array?`/ipfs/${Xe.decode(r).toV1().toString()}`:`/ipfs/${Xe.parse(e).toV1().toString()}`}catch{}}throw(0,je.default)(new Error("Value must be a valid content path starting with /"),Dd)},Qx=r=>{if(r.data==null)throw(0,je.default)(new Error("Record data is missing"),_d);let e=Yp(r.data);if(!Te(e.Value,r.value??new Uint8Array(0)))throw(0,je.default)(new Error('Field "value" did not match between protobuf and CBOR'),Yt);if(!Te(e.Validity,r.validity??new Uint8Array(0)))throw(0,je.default)(new Error('Field "validity" did not match between protobuf and CBOR'),Yt);if(e.ValidityType!==r.validityType)throw(0,je.default)(new Error('Field "validityType" did not match between protobuf and CBOR'),Yt);if(e.Sequence!==r.sequence)throw(0,je.default)(new Error('Field "sequence" did not match between protobuf and CBOR'),Yt);if(e.TTL!==r.ttl)throw(0,je.default)(new Error('Field "ttl" did not match between protobuf and CBOR'),Yt)};var e1=ir("ipns"),t1=vt.code,r1="/ipns/",j4=r1.length,Jp={v1Compatible:!0};async function Xp(r,e,t,n,o=Jp){let s=new Zp.default(Date.now()+Number(n)),i=Re.ValidityType.EOL,[a,c]=n.toString().split("."),f=BigInt(a)*BigInt(1e5)+BigInt(c??"0");return n1(r,e,t,i,s.toString(),f,o)}var n1=async(r,e,t,n,o,s,i=Jp)=>{t=BigInt(t);let a=ee(o),c=jc(e),f=ee(c);if(r.privateKey==null)throw(0,Wc.default)(new Error("Missing private key"),Od);let u=await Cd(r.privateKey),l=Wp(f,n,a,t,s),p=Fi(l),x=await u.sign(p),d;if(r.publicKey!=null){let h=_r(r.toBytes());(h.code!==t1||!Te(r.publicKey,h.digest))&&(d=r.publicKey)}if(i.v1Compatible===!0){let h=await o1(u,f,n,a),m={value:c,signatureV1:h,validity:o,validityType:n,sequence:t,ttl:s,signatureV2:x,data:l};return d!=null&&(m.pubKey=d),m}else{let h={value:c,validity:o,validityType:n,sequence:t,ttl:s,signatureV2:x,data:l};return d!=null&&(h.pubKey=d),h}};var o1=async(r,e,t,n)=>{try{let o=Gp(e,t,n);return await r.sign(o)}catch(o){throw e1.error("record signature creation failed",o),(0,Wc.default)(new Error("record signature creation failed"),Ud)}};var Yc=Se(Ti(),1);function Hi(r,e){let t=e.map((n,o)=>({record:Jt(n),index:o}));return t.sort((n,o)=>{let s=n.record.sequence,i=o.record.sequence;if(s>i)return-1;if(s<i)return 1;if(n.record.validityType===Re.ValidityType.EOL&&o.record.validityType===Re.ValidityType.EOL){let a=Yc.default.fromString(n.record.validity).toDate(),c=Yc.default.fromString(o.record.validity).toDate();if(a.getTime()>c.getTime())return-1;if(a.getTime()<c.getTime())return 1}return 0}),t[0].index}var Ho=Se(Do(),1),Qp=Se(Ti(),1);var Ki=ir("ipns:validator"),s1=1024*10,i1=async(r,e)=>{let t=Jt(e),n;try{let o=Fi(t.data);n=await r.verify(o,t.signatureV2)}catch{n=!1}if(!n)throw Ki.error("record signature verification failed"),(0,Ho.default)(new Error("record signature verification failed"),Yt);if(t.validityType===Re.ValidityType.EOL){if(Qp.default.fromString(t.validity).toDate().getTime()<Date.now())throw Ki.error("record has expired"),(0,Ho.default)(new Error("record has expired"),Nd)}else if(t.validityType!=null)throw Ki.error("unrecognized validity type"),(0,Ho.default)(new Error("unrecognized validity type"),Lo);Ki("ipns record for %s is valid",t.value)};async function Zc(r,e){if(e.byteLength>s1)throw(0,Ho.default)(new Error("record too large"),Vd);let t=jp(r),n=Jt(e),o=await qp(t,n);await i1(o,e)}var Ue=class extends Event{constructor(e,t){super(e),this.detail=t}};var tu={};M(tu,{base58btc:()=>He,base58flickr:()=>h1});function a1(r,e){if(r.length>=255)throw new TypeError("Alphabet too long");for(var t=new Uint8Array(256),n=0;n<t.length;n++)t[n]=255;for(var o=0;o<r.length;o++){var s=r.charAt(o),i=s.charCodeAt(0);if(t[i]!==255)throw new TypeError(s+" is ambiguous");t[i]=o}var a=r.length,c=r.charAt(0),f=Math.log(a)/Math.log(256),u=Math.log(256)/Math.log(a);function l(d){if(d instanceof Uint8Array||(ArrayBuffer.isView(d)?d=new Uint8Array(d.buffer,d.byteOffset,d.byteLength):Array.isArray(d)&&(d=Uint8Array.from(d))),!(d instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(d.length===0)return"";for(var h=0,m=0,g=0,A=d.length;g!==A&&d[g]===0;)g++,h++;for(var b=(A-g)*u+1>>>0,S=new Uint8Array(b);g!==A;){for(var v=d[g],I=0,C=b-1;(v!==0||I<m)&&C!==-1;C--,I++)v+=256*S[C]>>>0,S[C]=v%a>>>0,v=v/a>>>0;if(v!==0)throw new Error("Non-zero carry");m=I,g++}for(var y=b-m;y!==b&&S[y]===0;)y++;for(var k=c.repeat(h);y<b;++y)k+=r.charAt(S[y]);return k}function p(d){if(typeof d!="string")throw new TypeError("Expected String");if(d.length===0)return new Uint8Array;var h=0;if(d[h]!==" "){for(var m=0,g=0;d[h]===c;)m++,h++;for(var A=(d.length-h)*f+1>>>0,b=new Uint8Array(A);d[h];){var S=t[d.charCodeAt(h)];if(S===255)return;for(var v=0,I=A-1;(S!==0||v<g)&&I!==-1;I--,v++)S+=a*b[I]>>>0,b[I]=S%256>>>0,S=S/256>>>0;if(S!==0)throw new Error("Non-zero carry");g=v,h++}if(d[h]!==" "){for(var C=A-g;C!==A&&b[C]===0;)C++;for(var y=new Uint8Array(m+(A-C)),k=m;C!==A;)y[k++]=b[C++];return y}}}function x(d){var h=p(d);if(h)return h;throw new Error(`Non-${e} character`)}return{encode:l,decodeUnsafe:p,decode:x}}var c1=a1,u1=c1,e0=u1;var aI=new Uint8Array(0);var t0=(r,e)=>{if(r===e)return!0;if(r.byteLength!==e.byteLength)return!1;for(let t=0;t<r.byteLength;t++)if(r[t]!==e[t])return!1;return!0},Xt=r=>{if(r instanceof Uint8Array&&r.constructor.name==="Uint8Array")return r;if(r instanceof ArrayBuffer)return new Uint8Array(r);if(ArrayBuffer.isView(r))return new Uint8Array(r.buffer,r.byteOffset,r.byteLength);throw new Error("Unknown type, must be binary type")};var r0=r=>new TextEncoder().encode(r),n0=r=>new TextDecoder().decode(r);var Jc=class{constructor(e,t,n){this.name=e,this.prefix=t,this.baseEncode=n}encode(e){if(e instanceof Uint8Array)return`${this.prefix}${this.baseEncode(e)}`;throw Error("Unknown type, must be binary type")}},Xc=class{constructor(e,t,n){if(this.name=e,this.prefix=t,t.codePointAt(0)===void 0)throw new Error("Invalid prefix character");this.prefixCodePoint=t.codePointAt(0),this.baseDecode=n}decode(e){if(typeof e=="string"){if(e.codePointAt(0)!==this.prefixCodePoint)throw Error(`Unable to decode multibase string ${JSON.stringify(e)}, ${this.name} decoder only supports inputs prefixed with ${this.prefix}`);return this.baseDecode(e.slice(this.prefix.length))}else throw Error("Can only multibase decode strings")}or(e){return s0(this,e)}},Qc=class{constructor(e){this.decoders=e}or(e){return s0(this,e)}decode(e){let t=e[0],n=this.decoders[t];if(n)return n.decode(e);throw RangeError(`Unable to decode multibase string ${JSON.stringify(e)}, only inputs prefixed with ${Object.keys(this.decoders)} are supported`)}},s0=(r,e)=>new Qc({...r.decoders||{[r.prefix]:r},...e.decoders||{[e.prefix]:e}}),eu=class{constructor(e,t,n,o){this.name=e,this.prefix=t,this.baseEncode=n,this.baseDecode=o,this.encoder=new Jc(e,t,n),this.decoder=new Xc(e,t,o)}encode(e){return this.encoder.encode(e)}decode(e){return this.decoder.decode(e)}},Vn=({name:r,prefix:e,encode:t,decode:n})=>new eu(r,e,t,n),Br=({prefix:r,name:e,alphabet:t})=>{let{encode:n,decode:o}=e0(t,e);return Vn({prefix:r,name:e,encode:n,decode:s=>Xt(o(s))})},l1=(r,e,t,n)=>{let o={};for(let u=0;u<e.length;++u)o[e[u]]=u;let s=r.length;for(;r[s-1]==="=";)--s;let i=new Uint8Array(s*t/8|0),a=0,c=0,f=0;for(let u=0;u<s;++u){let l=o[r[u]];if(l===void 0)throw new SyntaxError(`Non-${n} character`);c=c<<t|l,a+=t,a>=8&&(a-=8,i[f++]=255&c>>a)}if(a>=t||255&c<<8-a)throw new SyntaxError("Unexpected end of data");return i},f1=(r,e,t)=>{let n=e[e.length-1]==="=",o=(1<<t)-1,s="",i=0,a=0;for(let c=0;c<r.length;++c)for(a=a<<8|r[c],i+=8;i>t;)i-=t,s+=e[o&a>>i];if(i&&(s+=e[o&a<<t-i]),n)for(;s.length*t&7;)s+="=";return s},pe=({name:r,prefix:e,bitsPerChar:t,alphabet:n})=>Vn({prefix:e,name:r,encode(o){return f1(o,n,t)},decode(o){return l1(o,n,t,r)}});var He=Br({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),h1=Br({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var ru={};M(ru,{base32:()=>kt,base32hex:()=>g1,base32hexpad:()=>b1,base32hexpadupper:()=>w1,base32hexupper:()=>y1,base32pad:()=>p1,base32padupper:()=>m1,base32upper:()=>d1,base32z:()=>x1});var kt=pe({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),d1=pe({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),p1=pe({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),m1=pe({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),g1=pe({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),y1=pe({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),b1=pe({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),w1=pe({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),x1=pe({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var v1=c0,i0=128,E1=127,A1=~E1,B1=Math.pow(2,31);function c0(r,e,t){e=e||[],t=t||0;for(var n=t;r>=B1;)e[t++]=r&255|i0,r/=128;for(;r&A1;)e[t++]=r&255|i0,r>>>=7;return e[t]=r|0,c0.bytes=t-n+1,e}var S1=nu,I1=128,a0=127;function nu(r,n){var t=0,n=n||0,o=0,s=n,i,a=r.length;do{if(s>=a)throw nu.bytes=0,new RangeError("Could not decode varint");i=r[s++],t+=o<28?(i&a0)<<o:(i&a0)*Math.pow(2,o),o+=7}while(i>=I1);return nu.bytes=s-n,t}var C1=Math.pow(2,7),T1=Math.pow(2,14),k1=Math.pow(2,21),R1=Math.pow(2,28),N1=Math.pow(2,35),U1=Math.pow(2,42),_1=Math.pow(2,49),D1=Math.pow(2,56),L1=Math.pow(2,63),O1=function(r){return r<C1?1:r<T1?2:r<k1?3:r<R1?4:r<N1?5:r<U1?6:r<_1?7:r<D1?8:r<L1?9:10},V1={encode:v1,decode:S1,encodingLength:O1},P1=V1,Ko=P1;var zo=(r,e=0)=>[Ko.decode(r,e),Ko.decode.bytes],Pn=(r,e,t=0)=>(Ko.encode(r,e,t),e),Mn=r=>Ko.encodingLength(r);var Wr=(r,e)=>{let t=e.byteLength,n=Mn(r),o=n+Mn(t),s=new Uint8Array(o+t);return Pn(r,s,0),Pn(t,s,n),s.set(e,o),new Fn(r,t,e,s)},qo=r=>{let e=Xt(r),[t,n]=zo(e),[o,s]=zo(e.subarray(n)),i=e.subarray(n+s);if(i.byteLength!==o)throw new Error("Incorrect length");return new Fn(t,o,i,e)},u0=(r,e)=>{if(r===e)return!0;{let t=e;return r.code===t.code&&r.size===t.size&&t.bytes instanceof Uint8Array&&t0(r.bytes,t.bytes)}},Fn=class{constructor(e,t,n,o){this.code=e,this.size=t,this.digest=n,this.bytes=o}};var qi=class{index=0;input="";new(e){return this.index=0,this.input=e,this}readAtomically(e){let t=this.index,n=e();return n===void 0&&(this.index=t),n}parseWith(e){let t=e();if(this.index===this.input.length)return t}peekChar(){if(!(this.index>=this.input.length))return this.input[this.index]}readChar(){if(!(this.index>=this.input.length))return this.input[this.index++]}readGivenChar(e){return this.readAtomically(()=>{let t=this.readChar();if(t===e)return t})}readSeparator(e,t,n){return this.readAtomically(()=>{if(!(t>0&&this.readGivenChar(e)===void 0))return n()})}readNumber(e,t,n,o){return this.readAtomically(()=>{let s=0,i=0,a=this.peekChar();if(a===void 0)return;let c=a==="0",f=2**(8*o)-1;for(;;){let u=this.readAtomically(()=>{let l=this.readChar();if(l===void 0)return;let p=Number.parseInt(l,e);if(!Number.isNaN(p))return p});if(u===void 0)break;if(s*=e,s+=u,s>f||(i+=1,t!==void 0&&i>t))return}if(i!==0)return!n&&c&&i>1?void 0:s})}readIPv4Addr(){return this.readAtomically(()=>{let e=new Uint8Array(4);for(let t=0;t<e.length;t++){let n=this.readSeparator(".",t,()=>this.readNumber(10,3,!1,1));if(n===void 0)return;e[t]=n}return e})}readIPv6Addr(){let e=t=>{for(let n=0;n<t.length/2;n++){let o=n*2;if(n<t.length-3){let i=this.readSeparator(":",n,()=>this.readIPv4Addr());if(i!==void 0)return t[o]=i[0],t[o+1]=i[1],t[o+2]=i[2],t[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];t[o]=s>>8,t[o+1]=s&255}return[t.length,!1]};return this.readAtomically(()=>{let t=new Uint8Array(16),[n,o]=e(t);if(n===16)return t;if(o||this.readGivenChar(":")===void 0||this.readGivenChar(":")===void 0)return;let s=new Uint8Array(14),i=16-(n+2),[a]=e(s.subarray(0,i));return t.set(s.subarray(0,a),16-a),t})}readIPAddr(){return this.readIPv4Addr()??this.readIPv6Addr()}};var l0=45,M1=15,$n=new qi;function ou(r){if(!(r.length>M1))return $n.new(r).parseWith(()=>$n.readIPv4Addr())}function su(r){if(r.includes("%")&&(r=r.split("%")[0]),!(r.length>l0))return $n.new(r).parseWith(()=>$n.readIPv6Addr())}function Gi(r){if(r.includes("%")&&(r=r.split("%")[0]),!(r.length>l0))return $n.new(r).parseWith(()=>$n.readIPAddr())}function ji(r){return!!ou(r)}function Wi(r){return!!su(r)}function Sr(r){return!!Gi(r)}var lu={};M(lu,{base10:()=>q1});function F1(r,e){if(r.length>=255)throw new TypeError("Alphabet too long");for(var t=new Uint8Array(256),n=0;n<t.length;n++)t[n]=255;for(var o=0;o<r.length;o++){var s=r.charAt(o),i=s.charCodeAt(0);if(t[i]!==255)throw new TypeError(s+" is ambiguous");t[i]=o}var a=r.length,c=r.charAt(0),f=Math.log(a)/Math.log(256),u=Math.log(256)/Math.log(a);function l(d){if(d instanceof Uint8Array||(ArrayBuffer.isView(d)?d=new Uint8Array(d.buffer,d.byteOffset,d.byteLength):Array.isArray(d)&&(d=Uint8Array.from(d))),!(d instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(d.length===0)return"";for(var h=0,m=0,g=0,A=d.length;g!==A&&d[g]===0;)g++,h++;for(var b=(A-g)*u+1>>>0,S=new Uint8Array(b);g!==A;){for(var v=d[g],I=0,C=b-1;(v!==0||I<m)&&C!==-1;C--,I++)v+=256*S[C]>>>0,S[C]=v%a>>>0,v=v/a>>>0;if(v!==0)throw new Error("Non-zero carry");m=I,g++}for(var y=b-m;y!==b&&S[y]===0;)y++;for(var k=c.repeat(h);y<b;++y)k+=r.charAt(S[y]);return k}function p(d){if(typeof d!="string")throw new TypeError("Expected String");if(d.length===0)return new Uint8Array;var h=0;if(d[h]!==" "){for(var m=0,g=0;d[h]===c;)m++,h++;for(var A=(d.length-h)*f+1>>>0,b=new Uint8Array(A);d[h];){var S=t[d.charCodeAt(h)];if(S===255)return;for(var v=0,I=A-1;(S!==0||v<g)&&I!==-1;I--,v++)S+=a*b[I]>>>0,b[I]=S%256>>>0,S=S/256>>>0;if(S!==0)throw new Error("Non-zero carry");g=v,h++}if(d[h]!==" "){for(var C=A-g;C!==A&&b[C]===0;)C++;for(var y=new Uint8Array(m+(A-C)),k=m;C!==A;)y[k++]=b[C++];return y}}}function x(d){var h=p(d);if(h)return h;throw new Error(`Non-${e} character`)}return{encode:l,decodeUnsafe:p,decode:x}}var $1=F1,H1=$1,f0=H1;var EI=new Uint8Array(0);var h0=(r,e)=>{if(r===e)return!0;if(r.byteLength!==e.byteLength)return!1;for(let t=0;t<r.byteLength;t++)if(r[t]!==e[t])return!1;return!0},Qt=r=>{if(r instanceof Uint8Array&&r.constructor.name==="Uint8Array")return r;if(r instanceof ArrayBuffer)return new Uint8Array(r);if(ArrayBuffer.isView(r))return new Uint8Array(r.buffer,r.byteOffset,r.byteLength);throw new Error("Unknown type, must be binary type")};var d0=r=>new TextEncoder().encode(r),p0=r=>new TextDecoder().decode(r);var iu=class{constructor(e,t,n){this.name=e,this.prefix=t,this.baseEncode=n}encode(e){if(e instanceof Uint8Array)return`${this.prefix}${this.baseEncode(e)}`;throw Error("Unknown type, must be binary type")}},au=class{constructor(e,t,n){if(this.name=e,this.prefix=t,t.codePointAt(0)===void 0)throw new Error("Invalid prefix character");this.prefixCodePoint=t.codePointAt(0),this.baseDecode=n}decode(e){if(typeof e=="string"){if(e.codePointAt(0)!==this.prefixCodePoint)throw Error(`Unable to decode multibase string ${JSON.stringify(e)}, ${this.name} decoder only supports inputs prefixed with ${this.prefix}`);return this.baseDecode(e.slice(this.prefix.length))}else throw Error("Can only multibase decode strings")}or(e){return g0(this,e)}},cu=class{constructor(e){this.decoders=e}or(e){return g0(this,e)}decode(e){let t=e[0],n=this.decoders[t];if(n)return n.decode(e);throw RangeError(`Unable to decode multibase string ${JSON.stringify(e)}, only inputs prefixed with ${Object.keys(this.decoders)} are supported`)}},g0=(r,e)=>new cu({...r.decoders||{[r.prefix]:r},...e.decoders||{[e.prefix]:e}}),uu=class{constructor(e,t,n,o){this.name=e,this.prefix=t,this.baseEncode=n,this.baseDecode=o,this.encoder=new iu(e,t,n),this.decoder=new au(e,t,o)}encode(e){return this.encoder.encode(e)}decode(e){return this.decoder.decode(e)}},Hn=({name:r,prefix:e,encode:t,decode:n})=>new uu(r,e,t,n),Ir=({prefix:r,name:e,alphabet:t})=>{let{encode:n,decode:o}=f0(t,e);return Hn({prefix:r,name:e,encode:n,decode:s=>Qt(o(s))})},K1=(r,e,t,n)=>{let o={};for(let u=0;u<e.length;++u)o[e[u]]=u;let s=r.length;for(;r[s-1]==="=";)--s;let i=new Uint8Array(s*t/8|0),a=0,c=0,f=0;for(let u=0;u<s;++u){let l=o[r[u]];if(l===void 0)throw new SyntaxError(`Non-${n} character`);c=c<<t|l,a+=t,a>=8&&(a-=8,i[f++]=255&c>>a)}if(a>=t||255&c<<8-a)throw new SyntaxError("Unexpected end of data");return i},z1=(r,e,t)=>{let n=e[e.length-1]==="=",o=(1<<t)-1,s="",i=0,a=0;for(let c=0;c<r.length;++c)for(a=a<<8|r[c],i+=8;i>t;)i-=t,s+=e[o&a>>i];if(i&&(s+=e[o&a<<t-i]),n)for(;s.length*t&7;)s+="=";return s},me=({name:r,prefix:e,bitsPerChar:t,alphabet:n})=>Hn({prefix:e,name:r,encode(o){return z1(o,n,t)},decode(o){return K1(o,n,t,r)}});var q1=Ir({prefix:"9",name:"base10",alphabet:"0123456789"});var fu={};M(fu,{base16:()=>G1,base16upper:()=>j1});var G1=me({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),j1=me({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var hu={};M(hu,{base2:()=>W1});var W1=me({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var du={};M(du,{base256emoji:()=>Q1});var y0=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}"),Y1=y0.reduce((r,e,t)=>(r[t]=e,r),[]),Z1=y0.reduce((r,e,t)=>(r[e.codePointAt(0)]=t,r),[]);function J1(r){return r.reduce((e,t)=>(e+=Y1[t],e),"")}function X1(r){let e=[];for(let t of r){let n=Z1[t.codePointAt(0)];if(n===void 0)throw new Error(`Non-base256emoji character: ${t}`);e.push(n)}return new Uint8Array(e)}var Q1=Hn({prefix:"\u{1F680}",name:"base256emoji",encode:J1,decode:X1});var pu={};M(pu,{base32:()=>Kn,base32hex:()=>nv,base32hexpad:()=>sv,base32hexpadupper:()=>iv,base32hexupper:()=>ov,base32pad:()=>tv,base32padupper:()=>rv,base32upper:()=>ev,base32z:()=>av});var Kn=me({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),ev=me({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),tv=me({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),rv=me({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),nv=me({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),ov=me({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),sv=me({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),iv=me({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),av=me({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var mu={};M(mu,{base36:()=>cv,base36upper:()=>uv});var cv=Ir({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),uv=Ir({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var gu={};M(gu,{base58btc:()=>Rt,base58flickr:()=>lv});var Rt=Ir({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),lv=Ir({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var yu={};M(yu,{base64:()=>fv,base64pad:()=>hv,base64url:()=>dv,base64urlpad:()=>pv});var fv=me({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),hv=me({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),dv=me({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),pv=me({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});var bu={};M(bu,{base8:()=>mv});var mv=me({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var wu={};M(wu,{identity:()=>gv});var gv=Hn({prefix:"\0",name:"identity",encode:r=>p0(r),decode:r=>d0(r)});var VI=new TextEncoder,PI=new TextDecoder;var vu={};M(vu,{identity:()=>Mv});var wv=x0,b0=128,xv=127,vv=~xv,Ev=Math.pow(2,31);function x0(r,e,t){e=e||[],t=t||0;for(var n=t;r>=Ev;)e[t++]=r&255|b0,r/=128;for(;r&vv;)e[t++]=r&255|b0,r>>>=7;return e[t]=r|0,x0.bytes=t-n+1,e}var Av=xu,Bv=128,w0=127;function xu(r,n){var t=0,n=n||0,o=0,s=n,i,a=r.length;do{if(s>=a)throw xu.bytes=0,new RangeError("Could not decode varint");i=r[s++],t+=o<28?(i&w0)<<o:(i&w0)*Math.pow(2,o),o+=7}while(i>=Bv);return xu.bytes=s-n,t}var Sv=Math.pow(2,7),Iv=Math.pow(2,14),Cv=Math.pow(2,21),Tv=Math.pow(2,28),kv=Math.pow(2,35),Rv=Math.pow(2,42),Nv=Math.pow(2,49),Uv=Math.pow(2,56),_v=Math.pow(2,63),Dv=function(r){return r<Sv?1:r<Iv?2:r<Cv?3:r<Tv?4:r<kv?5:r<Rv?6:r<Nv?7:r<Uv?8:r<_v?9:10},Lv={encode:wv,decode:Av,encodingLength:Dv},Ov=Lv,Go=Ov;var jo=(r,e=0)=>[Go.decode(r,e),Go.decode.bytes],zn=(r,e,t=0)=>(Go.encode(r,e,t),e),qn=r=>Go.encodingLength(r);var Zr=(r,e)=>{let t=e.byteLength,n=qn(r),o=n+qn(t),s=new Uint8Array(o+t);return zn(r,s,0),zn(t,s,n),s.set(e,o),new Gn(r,t,e,s)},v0=r=>{let e=Qt(r),[t,n]=jo(e),[o,s]=jo(e.subarray(n)),i=e.subarray(n+s);if(i.byteLength!==o)throw new Error("Incorrect length");return new Gn(t,o,i,e)},E0=(r,e)=>{if(r===e)return!0;{let t=e;return r.code===t.code&&r.size===t.size&&t.bytes instanceof Uint8Array&&h0(r.bytes,t.bytes)}},Gn=class{constructor(e,t,n,o){this.code=e,this.size=t,this.digest=n,this.bytes=o}};var A0=0,Vv="identity",B0=Qt,Pv=r=>Zr(A0,B0(r)),Mv={code:A0,name:Vv,encode:B0,digest:Pv};var Bu={};M(Bu,{sha256:()=>Fv,sha512:()=>$v});var Au=({name:r,code:e,encode:t})=>new Eu(r,e,t),Eu=class{constructor(e,t,n){this.name=e,this.code=t,this.encode=n}digest(e){if(e instanceof Uint8Array){let t=this.encode(e);return t instanceof Uint8Array?Zr(this.code,t):t.then(n=>Zr(this.code,n))}else throw Error("Unknown type, must be binary type")}};var I0=r=>async e=>new Uint8Array(await crypto.subtle.digest(r,e)),Fv=Au({name:"sha2-256",code:18,encode:I0("SHA-256")}),$v=Au({name:"sha2-512",code:19,encode:I0("SHA-512")});var C0=(r,e)=>{let{bytes:t,version:n}=r;switch(n){case 0:return Kv(t,Su(r),e||Rt.encoder);default:return zv(t,Su(r),e||Kn.encoder)}};var T0=new WeakMap,Su=r=>{let e=T0.get(r);if(e==null){let t=new Map;return T0.set(r,t),t}return e},Zi=class r{constructor(e,t,n,o){this.code=t,this.version=e,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:e,multihash:t}=this;if(e!==Yo)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(t.code!==qv)throw new Error("Cannot convert non sha2-256 multihash CID to CIDv0");return r.createV0(t)}default:throw Error(`Can not convert CID version ${this.version} to version 0. This is a bug please report`)}}toV1(){switch(this.version){case 0:{let{code:e,digest:t}=this.multihash,n=Zr(e,t);return r.createV1(this.code,n)}case 1:return this;default:throw Error(`Can not convert CID version ${this.version} to version 1. This is a bug please report`)}}equals(e){return r.equals(this,e)}static equals(e,t){let n=t;return n&&e.code===n.code&&e.version===n.version&&E0(e.multihash,n.multihash)}toString(e){return C0(this,e)}toJSON(){return{"/":C0(this)}}link(){return this}get[Symbol.toStringTag](){return"CID"}[Symbol.for("nodejs.util.inspect.custom")](){return`CID(${this.toString()})`}static asCID(e){if(e==null)return null;let t=e;if(t instanceof r)return t;if(t["/"]!=null&&t["/"]===t.bytes||t.asCID===t){let{version:n,code:o,multihash:s,bytes:i}=t;return new r(n,o,s,i||k0(n,o,s.bytes))}else if(t[Gv]===!0){let{version:n,multihash:o,code:s}=t,i=v0(o);return r.create(n,s,i)}else return null}static create(e,t,n){if(typeof t!="number")throw new Error("String codecs are no longer supported");if(!(n.bytes instanceof Uint8Array))throw new Error("Invalid digest");switch(e){case 0:{if(t!==Yo)throw new Error(`Version 0 CID must use dag-pb (code: ${Yo}) block encoding`);return new r(e,t,n,n.bytes)}case 1:{let o=k0(e,t,n.bytes);return new r(e,t,n,o)}default:throw new Error("Invalid version")}}static createV0(e){return r.create(0,Yo,e)}static createV1(e,t){return r.create(1,e,t)}static decode(e){let[t,n]=r.decodeFirst(e);if(n.length)throw new Error("Incorrect length");return t}static decodeFirst(e){let t=r.inspectBytes(e),n=t.size-t.multihashSize,o=Qt(e.subarray(n,n+t.multihashSize));if(o.byteLength!==t.multihashSize)throw new Error("Incorrect length");let s=o.subarray(t.multihashSize-t.digestSize),i=new Gn(t.multihashCode,t.digestSize,s,o);return[t.version===0?r.createV0(i):r.createV1(t.codec,i),e.subarray(t.size)]}static inspectBytes(e){let t=0,n=()=>{let[l,p]=jo(e.subarray(t));return t+=p,l},o=n(),s=Yo;if(o===18?(o=0,t=0):s=n(),o!==0&&o!==1)throw new RangeError(`Invalid CID version ${o}`);let i=t,a=n(),c=n(),f=t+c,u=f-i;return{version:o,codec:s,multihashCode:a,digestSize:c,multihashSize:u,size:f}}static parse(e,t){let[n,o]=Hv(e,t),s=r.decode(o);if(s.version===0&&e[0]!=="Q")throw Error("Version 0 CID string must not include multibase prefix");return Su(s).set(n,e),s}},Hv=(r,e)=>{switch(r[0]){case"Q":{let t=e||Rt;return[Rt.prefix,t.decode(`${Rt.prefix}${r}`)]}case Rt.prefix:{let t=e||Rt;return[Rt.prefix,t.decode(r)]}case Kn.prefix:{let t=e||Kn;return[Kn.prefix,t.decode(r)]}default:{if(e==null)throw Error("To parse non base32 or base58btc encoded CID multibase decoder must be provided");return[r[0],e.decode(r)]}}},Kv=(r,e,t)=>{let{prefix:n}=t;if(n!==Rt.prefix)throw Error(`Cannot string encode V0 in ${t.name} encoding`);let o=e.get(n);if(o==null){let s=t.encode(r).slice(1);return e.set(n,s),s}else return o},zv=(r,e,t)=>{let{prefix:n}=t,o=e.get(n);if(o==null){let s=t.encode(r);return e.set(n,s),s}else return o},Yo=112,qv=18,k0=(r,e,t)=>{let n=qn(r),o=n+qn(e),s=new Uint8Array(o+t.byteLength);return zn(r,s,0),zn(e,s,n),s.set(t,o),s},Gv=Symbol.for("@ipld/js-cid/CID");var Iu={...wu,...hu,...bu,...lu,...fu,...pu,...mu,...gu,...yu,...du},eC={...Bu,...vu};function jn(r){return globalThis.Buffer!=null?new Uint8Array(r.buffer,r.byteOffset,r.byteLength):r}function Ji(r=0){return globalThis.Buffer?.allocUnsafe!=null?jn(globalThis.Buffer.allocUnsafe(r)):new Uint8Array(r)}function N0(r,e,t,n){return{name:r,prefix:e,encoder:{name:r,prefix:e,encode:t},decoder:{decode:n}}}var R0=N0("utf8","u",r=>"u"+new TextDecoder("utf8").decode(r),r=>new TextEncoder().encode(r.substring(1))),Cu=N0("ascii","a",r=>{let e="a";for(let t=0;t<r.length;t++)e+=String.fromCharCode(r[t]);return e},r=>{r=r.substring(1);let e=Ji(r.length);for(let t=0;t<r.length;t++)e[t]=r.charCodeAt(t);return e}),jv={utf8:R0,"utf-8":R0,hex:Iu.base16,latin1:Cu,ascii:Cu,binary:Cu,...Iu},Xi=jv;function Ke(r,e="utf8"){let t=Xi[e];if(t==null)throw new Error(`Unsupported encoding "${e}"`);return(e==="utf8"||e==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?globalThis.Buffer.from(r.buffer,r.byteOffset,r.byteLength).toString("utf8"):t.encoder.encode(r).substring(1)}var U0=ji,Wv=Wi,Tu=function(r){let e=0;if(r=r.toString().trim(),U0(r)){let t=new Uint8Array(e+4);return r.split(/\./g).forEach(n=>{t[e++]=parseInt(n,10)&255}),t}if(Wv(r)){let t=r.split(":",8),n;for(n=0;n<t.length;n++){let s=U0(t[n]),i;s&&(i=Tu(t[n]),t[n]=Ke(i.slice(0,2),"base16")),i!=null&&++n<8&&t.splice(n,0,Ke(i.slice(2,4),"base16"))}if(t[0]==="")for(;t.length<8;)t.unshift("0");else if(t[t.length-1]==="")for(;t.length<8;)t.push("0");else if(t.length<8){for(n=0;n<t.length&&t[n]!=="";n++);let s=[n,1];for(n=9-t.length;n>0;n--)s.push("0");t.splice.apply(t,s)}let o=new Uint8Array(e+16);for(n=0;n<t.length;n++){let s=parseInt(t[n],16);o[e++]=s>>8&255,o[e++]=s&255}return o}throw new Error("invalid ip address")},_0=function(r,e=0,t){e=~~e,t=t??r.length-e;let n=new DataView(r.buffer);if(t===4){let o=[];for(let s=0;s<t;s++)o.push(r[e+s]);return o.join(".")}if(t===16){let o=[];for(let s=0;s<t;s+=2)o.push(n.getUint16(e+s).toString(16));return o.join(":").replace(/(^|:)0(:0)*:0(:|$)/,"$1::$3").replace(/:{3,4}/,"::")}return""};var Zo={},ku={},Zv=[[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"],[281,0,"webrtc-w3c"],[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"]];Zv.forEach(r=>{let e=Jv(...r);ku[e.code]=e,Zo[e.name]=e});function Jv(r,e,t,n,o){return{code:r,size:e,name:t,resolvable:!!n,path:!!o}}function le(r){if(typeof r=="number"){if(ku[r]!=null)return ku[r];throw new Error(`no protocol with code: ${r}`)}else if(typeof r=="string"){if(Zo[r]!=null)return Zo[r];throw new Error(`no protocol with name: ${r}`)}throw new Error(`invalid protocol id type: ${typeof r}`)}var D0=(r,e)=>{let{bytes:t,version:n}=r;switch(n){case 0:return Qv(t,Ru(r),e||He.encoder);default:return e2(t,Ru(r),e||kt.encoder)}};var L0=new WeakMap,Ru=r=>{let e=L0.get(r);if(e==null){let t=new Map;return L0.set(r,t),t}return e},ut=class r{constructor(e,t,n,o){this.code=t,this.version=e,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:e,multihash:t}=this;if(e!==Jo)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(t.code!==t2)throw new Error("Cannot convert non sha2-256 multihash CID to CIDv0");return r.createV0(t)}default:throw Error(`Can not convert CID version ${this.version} to version 0. This is a bug please report`)}}toV1(){switch(this.version){case 0:{let{code:e,digest:t}=this.multihash,n=Wr(e,t);return r.createV1(this.code,n)}case 1:return this;default:throw Error(`Can not convert CID version ${this.version} to version 1. This is a bug please report`)}}equals(e){return r.equals(this,e)}static equals(e,t){let n=t;return n&&e.code===n.code&&e.version===n.version&&u0(e.multihash,n.multihash)}toString(e){return D0(this,e)}toJSON(){return{"/":D0(this)}}link(){return this}get[Symbol.toStringTag](){return"CID"}[Symbol.for("nodejs.util.inspect.custom")](){return`CID(${this.toString()})`}static asCID(e){if(e==null)return null;let t=e;if(t instanceof r)return t;if(t["/"]!=null&&t["/"]===t.bytes||t.asCID===t){let{version:n,code:o,multihash:s,bytes:i}=t;return new r(n,o,s,i||O0(n,o,s.bytes))}else if(t[r2]===!0){let{version:n,multihash:o,code:s}=t,i=qo(o);return r.create(n,s,i)}else return null}static create(e,t,n){if(typeof t!="number")throw new Error("String codecs are no longer supported");if(!(n.bytes instanceof Uint8Array))throw new Error("Invalid digest");switch(e){case 0:{if(t!==Jo)throw new Error(`Version 0 CID must use dag-pb (code: ${Jo}) block encoding`);return new r(e,t,n,n.bytes)}case 1:{let o=O0(e,t,n.bytes);return new r(e,t,n,o)}default:throw new Error("Invalid version")}}static createV0(e){return r.create(0,Jo,e)}static createV1(e,t){return r.create(1,e,t)}static decode(e){let[t,n]=r.decodeFirst(e);if(n.length)throw new Error("Incorrect length");return t}static decodeFirst(e){let t=r.inspectBytes(e),n=t.size-t.multihashSize,o=Xt(e.subarray(n,n+t.multihashSize));if(o.byteLength!==t.multihashSize)throw new Error("Incorrect length");let s=o.subarray(t.multihashSize-t.digestSize),i=new Fn(t.multihashCode,t.digestSize,s,o);return[t.version===0?r.createV0(i):r.createV1(t.codec,i),e.subarray(t.size)]}static inspectBytes(e){let t=0,n=()=>{let[l,p]=zo(e.subarray(t));return t+=p,l},o=n(),s=Jo;if(o===18?(o=0,t=0):s=n(),o!==0&&o!==1)throw new RangeError(`Invalid CID version ${o}`);let i=t,a=n(),c=n(),f=t+c,u=f-i;return{version:o,codec:s,multihashCode:a,digestSize:c,multihashSize:u,size:f}}static parse(e,t){let[n,o]=Xv(e,t),s=r.decode(o);if(s.version===0&&e[0]!=="Q")throw Error("Version 0 CID string must not include multibase prefix");return Ru(s).set(n,e),s}},Xv=(r,e)=>{switch(r[0]){case"Q":{let t=e||He;return[He.prefix,t.decode(`${He.prefix}${r}`)]}case He.prefix:{let t=e||He;return[He.prefix,t.decode(r)]}case kt.prefix:{let t=e||kt;return[kt.prefix,t.decode(r)]}default:{if(e==null)throw Error("To parse non base32 or base58btc encoded CID multibase decoder must be provided");return[r[0],e.decode(r)]}}},Qv=(r,e,t)=>{let{prefix:n}=t;if(n!==He.prefix)throw Error(`Cannot string encode V0 in ${t.name} encoding`);let o=e.get(n);if(o==null){let s=t.encode(r).slice(1);return e.set(n,s),s}else return o},e2=(r,e,t)=>{let{prefix:n}=t,o=e.get(n);if(o==null){let s=t.encode(r);return e.set(n,s),s}else return o},Jo=112,t2=18,O0=(r,e,t)=>{let n=Mn(r),o=n+Mn(e),s=new Uint8Array(o+t.byteLength);return Pn(r,s,0),Pn(e,s,n),s.set(t,o),s},r2=Symbol.for("@ipld/js-cid/CID");var Nu={};M(Nu,{identity:()=>n2});var n2=Vn({prefix:"\0",name:"identity",encode:r=>n0(r),decode:r=>r0(r)});var Uu={};M(Uu,{base2:()=>o2});var o2=pe({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var _u={};M(_u,{base8:()=>s2});var s2=pe({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var Du={};M(Du,{base10:()=>i2});var i2=Br({prefix:"9",name:"base10",alphabet:"0123456789"});var Lu={};M(Lu,{base16:()=>a2,base16upper:()=>c2});var a2=pe({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),c2=pe({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var Ou={};M(Ou,{base36:()=>u2,base36upper:()=>l2});var u2=Br({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),l2=Br({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var Vu={};M(Vu,{base64:()=>f2,base64pad:()=>h2,base64url:()=>d2,base64urlpad:()=>p2});var f2=pe({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),h2=pe({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),d2=pe({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),p2=pe({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});var Pu={};M(Pu,{base256emoji:()=>w2});var V0=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}"),m2=V0.reduce((r,e,t)=>(r[t]=e,r),[]),g2=V0.reduce((r,e,t)=>(r[e.codePointAt(0)]=t,r),[]);function y2(r){return r.reduce((e,t)=>(e+=m2[t],e),"")}function b2(r){let e=[];for(let t of r){let n=g2[t.codePointAt(0)];if(n===void 0)throw new Error(`Non-base256emoji character: ${t}`);e.push(n)}return new Uint8Array(e)}var w2=Vn({prefix:"\u{1F680}",name:"base256emoji",encode:y2,decode:b2});var $u={};M($u,{sha256:()=>x2,sha512:()=>v2});var Fu=({name:r,code:e,encode:t})=>new Mu(r,e,t),Mu=class{constructor(e,t,n){this.name=e,this.code=t,this.encode=n}digest(e){if(e instanceof Uint8Array){let t=this.encode(e);return t instanceof Uint8Array?Wr(this.code,t):t.then(n=>Wr(this.code,n))}else throw Error("Unknown type, must be binary type")}};var M0=r=>async e=>new Uint8Array(await crypto.subtle.digest(r,e)),x2=Fu({name:"sha2-256",code:18,encode:M0("SHA-256")}),v2=Fu({name:"sha2-512",code:19,encode:M0("SHA-512")});var Hu={};M(Hu,{identity:()=>B2});var F0=0,E2="identity",$0=Xt,A2=r=>Wr(F0,$0(r)),B2={code:F0,name:E2,encode:$0,digest:A2};var NC=new TextEncoder,UC=new TextDecoder;var H0={...Nu,...Uu,..._u,...Du,...Lu,...ru,...Ou,...tu,...Vu,...Pu},VC={...$u,...Hu};var Nt=Se(Qi(),1);function qu(r,e="utf8"){let t=Xi[e];if(t==null)throw new Error(`Unsupported encoding "${e}"`);return(e==="utf8"||e==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?jn(globalThis.Buffer.from(r,"utf-8")):t.decoder.decode(`${t.prefix}${r}`)}function er(r,e){e==null&&(e=r.reduce((o,s)=>o+s.length,0));let t=Ji(e),n=0;for(let o of r)t.set(o,n),n+=o.length;return jn(t)}function rm(r,e){switch(le(r).code){case 4:case 41:return $2(e);case 42:return em(e);case 6:case 273:case 33:case 132:return om(e).toString();case 53:case 54:case 55:case 56:case 400:case 449:case 777:return em(e);case 421:return q2(e);case 444:return tm(e);case 445:return tm(e);case 466:return z2(e);default:return Ke(e,"base16")}}function nm(r,e){switch(le(r).code){case 4:return X0(e);case 41:return X0(e);case 42:return Q0(e);case 6:case 273:case 33:case 132:return ju(parseInt(e,10));case 53:case 54:case 55:case 56:case 400:case 449:case 777:return Q0(e);case 421:return H2(e);case 444:return G2(e);case 445:return j2(e);case 466:return K2(e);default:return qu(e,"base16")}}var Gu=Object.values(H0).map(r=>r.decoder),F2=function(){let r=Gu[0].or(Gu[1]);return Gu.slice(2).forEach(e=>r=r.or(e)),r}();function X0(r){if(!Sr(r))throw new Error("invalid ip address");return Tu(r)}function $2(r){let e=_0(r,0,r.length);if(e==null)throw new Error("ipBuff is required");if(!Sr(e))throw new Error("invalid ip address");return e}function ju(r){let e=new ArrayBuffer(2);return new DataView(e).setUint16(0,r),new Uint8Array(e)}function om(r){return new DataView(r.buffer).getUint16(r.byteOffset)}function Q0(r){let e=qu(r),t=Uint8Array.from(Nt.default.encode(e.length));return er([t,e],t.length+e.length)}function em(r){let e=Nt.default.decode(r);if(r=r.slice(Nt.default.decode.bytes),r.length!==e)throw new Error("inconsistent lengths");return Ke(r)}function H2(r){let e;r[0]==="Q"||r[0]==="1"?e=qo(He.decode(`z${r}`)).bytes:e=ut.parse(r).multihash.bytes;let t=Uint8Array.from(Nt.default.encode(e.length));return er([t,e],t.length+e.length)}function K2(r){let e=F2.decode(r),t=Uint8Array.from(Nt.default.encode(e.length));return er([t,e],t.length+e.length)}function z2(r){let e=Nt.default.decode(r),t=r.slice(Nt.default.decode.bytes);if(t.length!==e)throw new Error("inconsistent lengths");return"u"+Ke(t,"base64url")}function q2(r){let e=Nt.default.decode(r),t=r.slice(Nt.default.decode.bytes);if(t.length!==e)throw new Error("inconsistent lengths");return Ke(t,"base58btc")}function G2(r){let e=r.split(":");if(e.length!==2)throw new Error(`failed to parse onion addr: ["'${e.join('", "')}'"]' does not contain a port number`);if(e[0].length!==16)throw new Error(`failed to parse onion addr: ${e[0]} not a Tor onion address.`);let t=kt.decode("b"+e[0]),n=parseInt(e[1],10);if(n<1||n>65536)throw new Error("Port number is not in range(1, 65536)");let o=ju(n);return er([t,o],t.length+o.length)}function j2(r){let e=r.split(":");if(e.length!==2)throw new Error(`failed to parse onion addr: ["'${e.join('", "')}'"]' does not contain a port number`);if(e[0].length!==56)throw new Error(`failed to parse onion addr: ${e[0]} not a Tor onion3 address.`);let t=kt.decode(`b${e[0]}`),n=parseInt(e[1],10);if(n<1||n>65536)throw new Error("Port number is not in range(1, 65536)");let o=ju(n);return er([t,o],t.length+o.length)}function tm(r){let e=r.slice(0,r.length-2),t=r.slice(r.length-2),n=Ke(e,"base32"),o=om(t);return`${n}:${o}`}var Wn=Se(Qi(),1);function W2(r){let e=[],t=r.split("/").slice(1);if(t.length===1&&t[0]==="")return[];for(let n=0;n<t.length;n++){let o=t[n],s=le(o);if(s.size===0){e.push([o]);continue}if(n++,n>=t.length)throw im("invalid address: "+r);if(s.path===!0){e.push([o,Xu(t.slice(n).join("/"))]);break}e.push([o,t[n]])}return e}function Y2(r){let e=[];return r.map(t=>{let n=ra(t);return e.push(n.name),t.length>1&&t[1]!=null&&e.push(t[1]),null}),Xu(e.join("/"))}function Z2(r){return r.map(e=>{Array.isArray(e)||(e=[e]);let t=ra(e);return e.length>1?[t.code,nm(t.code,e[1])]:[t.code]})}function Wu(r){return r.map(e=>{let t=ra(e);return e[1]!=null?[t.code,rm(t.code,e[1])]:[t.code]})}function Yu(r){return ta(er(r.map(e=>{let t=ra(e),n=Uint8Array.from(Wn.default.encode(t.code));return e.length>1&&e[1]!=null&&(n=er([n,e[1]])),n})))}function Zu(r,e){return r.size>0?r.size/8:r.size===0?0:Wn.default.decode(e)+(Wn.default.decode.bytes??0)}function ea(r){let e=[],t=0;for(;t<r.length;){let n=Wn.default.decode(r,t),o=Wn.default.decode.bytes??0,s=le(n),i=Zu(s,r.slice(t+o));if(i===0){e.push([n]),t+=o;continue}let a=r.slice(t+o,t+o+i);if(t+=i+o,t>r.length)throw im("Invalid address Uint8Array: "+Ke(r,"base16"));e.push([n,a])}return e}function Ju(r){let e=ea(r),t=Wu(e);return Y2(t)}function J2(r){r=Xu(r);let e=W2(r),t=Z2(e);return Yu(t)}function sm(r){return J2(r)}function ta(r){let e=X2(r);if(e!=null)throw e;return Uint8Array.from(r)}function X2(r){try{ea(r)}catch(e){return e}}function Xu(r){return"/"+r.trim().split("/").filter(e=>e).join("/")}function im(r){return new Error("Error parsing address: "+r)}function ra(r){return le(r[0])}var el=Se(Qi(),1);var lm=Se(Do(),1);function am(r,e){if(r===e)return!0;if(r.byteLength!==e.byteLength)return!1;for(let t=0;t<r.byteLength;t++)if(r[t]!==e[t])return!1;return!0}var Yn=function(r,e,t,n){if(t==="a"&&!n)throw new TypeError("Private accessor was defined without a getter");if(typeof e=="function"?r!==e||!n:!e.has(r))throw new TypeError("Cannot read private member from an object whose class did not declare it");return t==="m"?n:t==="a"?n.call(r):n?n.value:e.get(r)},Qu=function(r,e,t,n,o){if(n==="m")throw new TypeError("Private method is not writable");if(n==="a"&&!o)throw new TypeError("Private accessor was defined without a setter");if(typeof e=="function"?r!==e||!o:!e.has(r))throw new TypeError("Cannot write private member to an object whose class did not declare it");return n==="a"?o.call(r,t):o?o.value=t:e.set(r,t),t},Xo,Qo,es,cm,eE=Symbol.for("nodejs.util.inspect.custom"),tE=[le("dns").code,le("dns4").code,le("dns6").code,le("dnsaddr").code],rE=new Map,fm=Symbol.for("@multiformats/js-multiaddr/multiaddr");function nE(r){return!!r?.[fm]}var um=class r{constructor(e){if(Xo.set(this,void 0),Qo.set(this,void 0),es.set(this,void 0),this[cm]=!0,e==null&&(e=""),e instanceof Uint8Array)this.bytes=ta(e);else if(typeof e=="string"){if(e.length>0&&e.charAt(0)!=="/")throw new Error(`multiaddr "${e}" must start with a "/"`);this.bytes=sm(e)}else if(nE(e))this.bytes=ta(e.bytes);else throw new Error("addr must be a string, Buffer, or another Multiaddr")}toString(){return Yn(this,Xo,"f")==null&&Qu(this,Xo,Ju(this.bytes),"f"),Yn(this,Xo,"f")}toJSON(){return this.toString()}toOptions(){let e,t,n,o,s="",i=le("tcp"),a=le("udp"),c=le("ip4"),f=le("ip6"),u=le("dns6"),l=le("ip6zone");for(let[x,d]of this.stringTuples())x===l.code&&(s=`%${d??""}`),tE.includes(x)&&(t=i.name,o=443,n=`${d??""}${s}`,e=x===u.code?6:4),(x===i.code||x===a.code)&&(t=le(x).name,o=parseInt(d??"")),(x===c.code||x===f.code)&&(t=le(x).name,n=`${d??""}${s}`,e=x===f.code?6:4);if(e==null||t==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:e,host:n,transport:t,port:o}}protos(){return this.protoCodes().map(e=>Object.assign({},le(e)))}protoCodes(){let e=[],t=this.bytes,n=0;for(;n<t.length;){let o=el.default.decode(t,n),s=el.default.decode.bytes??0,i=le(o),a=Zu(i,t.slice(n+s));n+=a+s,e.push(o)}return e}protoNames(){return this.protos().map(e=>e.name)}tuples(){return Yn(this,Qo,"f")==null&&Qu(this,Qo,ea(this.bytes),"f"),Yn(this,Qo,"f")}stringTuples(){return Yn(this,es,"f")==null&&Qu(this,es,Wu(this.tuples()),"f"),Yn(this,es,"f")}encapsulate(e){return e=new r(e),new r(this.toString()+e.toString())}decapsulate(e){let t=e.toString(),n=this.toString(),o=n.lastIndexOf(t);if(o<0)throw new Error(`Address ${this.toString()} does not contain subaddress: ${e.toString()}`);return new r(n.slice(0,o))}decapsulateCode(e){let t=this.tuples();for(let n=t.length-1;n>=0;n--)if(t[n][0]===e)return new r(Yu(t.slice(0,n)));return this}getPeerId(){try{let t=this.stringTuples().filter(n=>n[0]===Zo.ipfs.code).pop();if(t?.[1]!=null){let n=t[1];return n[0]==="Q"||n[0]==="1"?Ke(He.decode(`z${n}`),"base58btc"):Ke(ut.parse(n).multihash.bytes,"base58btc")}return null}catch{return null}}getPath(){let e=null;try{e=this.stringTuples().filter(t=>le(t[0]).path===!0)[0][1],e==null&&(e=null)}catch{e=null}return e}equals(e){return am(this.bytes,e.bytes)}async resolve(e){let t=this.protos().find(s=>s.resolvable);if(t==null)return[this];let n=rE.get(t.name);if(n==null)throw(0,lm.default)(new Error(`no available resolver for ${t.name}`),"ERR_NO_AVAILABLE_RESOLVER");return(await n(this,e)).map(s=>new r(s))}nodeAddress(){let e=this.toOptions();if(e.transport!=="tcp"&&e.transport!=="udp")throw new Error(`multiaddr must have a valid format - no protocol with name: "${e.transport}". Must have a valid transport protocol: "{tcp, udp}"`);return{family:e.family,address:e.host,port:e.port}}isThinWaistAddress(e){let t=(e??this).protos();return!(t.length!==2||t[0].code!==4&&t[0].code!==41||t[1].code!==6&&t[1].code!==273)}[(Xo=new WeakMap,Qo=new WeakMap,es=new WeakMap,cm=fm,eE)](){return`Multiaddr(${Ju(this.bytes)})`}};var sl={};M(sl,{base58btc:()=>We,base58flickr:()=>uE});var mT=new Uint8Array(0);function hm(r,e){if(r===e)return!0;if(r.byteLength!==e.byteLength)return!1;for(let t=0;t<r.byteLength;t++)if(r[t]!==e[t])return!1;return!0}function tr(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 dm(r){return new TextEncoder().encode(r)}function pm(r){return new TextDecoder().decode(r)}function oE(r,e){if(r.length>=255)throw new TypeError("Alphabet too long");for(var t=new Uint8Array(256),n=0;n<t.length;n++)t[n]=255;for(var o=0;o<r.length;o++){var s=r.charAt(o),i=s.charCodeAt(0);if(t[i]!==255)throw new TypeError(s+" is ambiguous");t[i]=o}var a=r.length,c=r.charAt(0),f=Math.log(a)/Math.log(256),u=Math.log(256)/Math.log(a);function l(d){if(d instanceof Uint8Array||(ArrayBuffer.isView(d)?d=new Uint8Array(d.buffer,d.byteOffset,d.byteLength):Array.isArray(d)&&(d=Uint8Array.from(d))),!(d instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(d.length===0)return"";for(var h=0,m=0,g=0,A=d.length;g!==A&&d[g]===0;)g++,h++;for(var b=(A-g)*u+1>>>0,S=new Uint8Array(b);g!==A;){for(var v=d[g],I=0,C=b-1;(v!==0||I<m)&&C!==-1;C--,I++)v+=256*S[C]>>>0,S[C]=v%a>>>0,v=v/a>>>0;if(v!==0)throw new Error("Non-zero carry");m=I,g++}for(var y=b-m;y!==b&&S[y]===0;)y++;for(var k=c.repeat(h);y<b;++y)k+=r.charAt(S[y]);return k}function p(d){if(typeof d!="string")throw new TypeError("Expected String");if(d.length===0)return new Uint8Array;var h=0;if(d[h]!==" "){for(var m=0,g=0;d[h]===c;)m++,h++;for(var A=(d.length-h)*f+1>>>0,b=new Uint8Array(A);d[h];){var S=t[d.charCodeAt(h)];if(S===255)return;for(var v=0,I=A-1;(S!==0||v<g)&&I!==-1;I--,v++)S+=a*b[I]>>>0,b[I]=S%256>>>0,S=S/256>>>0;if(S!==0)throw new Error("Non-zero carry");g=v,h++}if(d[h]!==" "){for(var C=A-g;C!==A&&b[C]===0;)C++;for(var y=new Uint8Array(m+(A-C)),k=m;C!==A;)y[k++]=b[C++];return y}}}function x(d){var h=p(d);if(h)return h;throw new Error(`Non-${e} character`)}return{encode:l,decodeUnsafe:p,decode:x}}var sE=oE,iE=sE,gm=iE;var tl=class{name;prefix;baseEncode;constructor(e,t,n){this.name=e,this.prefix=t,this.baseEncode=n}encode(e){if(e instanceof Uint8Array)return`${this.prefix}${this.baseEncode(e)}`;throw Error("Unknown type, must be binary type")}},rl=class{name;prefix;baseDecode;prefixCodePoint;constructor(e,t,n){if(this.name=e,this.prefix=t,t.codePointAt(0)===void 0)throw new Error("Invalid prefix character");this.prefixCodePoint=t.codePointAt(0),this.baseDecode=n}decode(e){if(typeof e=="string"){if(e.codePointAt(0)!==this.prefixCodePoint)throw Error(`Unable to decode multibase string ${JSON.stringify(e)}, ${this.name} decoder only supports inputs prefixed with ${this.prefix}`);return this.baseDecode(e.slice(this.prefix.length))}else throw Error("Can only multibase decode strings")}or(e){return ym(this,e)}},nl=class{decoders;constructor(e){this.decoders=e}or(e){return ym(this,e)}decode(e){let t=e[0],n=this.decoders[t];if(n!=null)return n.decode(e);throw RangeError(`Unable to decode multibase string ${JSON.stringify(e)}, only inputs prefixed with ${Object.keys(this.decoders)} are supported`)}};function ym(r,e){return new nl({...r.decoders??{[r.prefix]:r},...e.decoders??{[e.prefix]:e}})}var ol=class{name;prefix;baseEncode;baseDecode;encoder;decoder;constructor(e,t,n,o){this.name=e,this.prefix=t,this.baseEncode=n,this.baseDecode=o,this.encoder=new tl(e,t,n),this.decoder=new rl(e,t,o)}encode(e){return this.encoder.encode(e)}decode(e){return this.decoder.decode(e)}};function Zn({name:r,prefix:e,encode:t,decode:n}){return new ol(r,e,t,n)}function Cr({name:r,prefix:e,alphabet:t}){let{encode:n,decode:o}=gm(t,r);return Zn({prefix:e,name:r,encode:n,decode:s=>tr(o(s))})}function aE(r,e,t,n){let o={};for(let u=0;u<e.length;++u)o[e[u]]=u;let s=r.length;for(;r[s-1]==="=";)--s;let i=new Uint8Array(s*t/8|0),a=0,c=0,f=0;for(let u=0;u<s;++u){let l=o[r[u]];if(l===void 0)throw new SyntaxError(`Non-${n} character`);c=c<<t|l,a+=t,a>=8&&(a-=8,i[f++]=255&c>>a)}if(a>=t||255&c<<8-a)throw new SyntaxError("Unexpected end of data");return i}function cE(r,e,t){let n=e[e.length-1]==="=",o=(1<<t)-1,s="",i=0,a=0;for(let c=0;c<r.length;++c)for(a=a<<8|r[c],i+=8;i>t;)i-=t,s+=e[o&a>>i];if(i!==0&&(s+=e[o&a<<t-i]),n)for(;s.length*t&7;)s+="=";return s}function ge({name:r,prefix:e,bitsPerChar:t,alphabet:n}){return Zn({prefix:e,name:r,encode(o){return cE(o,n,t)},decode(o){return aE(o,n,t,r)}})}var We=Cr({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),uE=Cr({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var il={};M(il,{base32:()=>rr,base32hex:()=>dE,base32hexpad:()=>mE,base32hexpadupper:()=>gE,base32hexupper:()=>pE,base32pad:()=>fE,base32padupper:()=>hE,base32upper:()=>lE,base32z:()=>yE});var rr=ge({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),lE=ge({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),fE=ge({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),hE=ge({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),dE=ge({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),pE=ge({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),mE=ge({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),gE=ge({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),yE=ge({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var bE=xm,bm=128,wE=127,xE=~wE,vE=Math.pow(2,31);function xm(r,e,t){e=e||[],t=t||0;for(var n=t;r>=vE;)e[t++]=r&255|bm,r/=128;for(;r&xE;)e[t++]=r&255|bm,r>>>=7;return e[t]=r|0,xm.bytes=t-n+1,e}var EE=al,AE=128,wm=127;function al(r,n){var t=0,n=n||0,o=0,s=n,i,a=r.length;do{if(s>=a)throw al.bytes=0,new RangeError("Could not decode varint");i=r[s++],t+=o<28?(i&wm)<<o:(i&wm)*Math.pow(2,o),o+=7}while(i>=AE);return al.bytes=s-n,t}var BE=Math.pow(2,7),SE=Math.pow(2,14),IE=Math.pow(2,21),CE=Math.pow(2,28),TE=Math.pow(2,35),kE=Math.pow(2,42),RE=Math.pow(2,49),NE=Math.pow(2,56),UE=Math.pow(2,63),_E=function(r){return r<BE?1:r<SE?2:r<IE?3:r<CE?4:r<TE?5:r<kE?6:r<RE?7:r<NE?8:r<UE?9:10},DE={encode:bE,decode:EE,encodingLength:_E},LE=DE,ts=LE;function rs(r,e=0){return[ts.decode(r,e),ts.decode.bytes]}function Jn(r,e,t=0){return ts.encode(r,e,t),e}function Xn(r){return ts.encodingLength(r)}function Jr(r,e){let t=e.byteLength,n=Xn(r),o=n+Xn(t),s=new Uint8Array(o+t);return Jn(r,s,0),Jn(t,s,n),s.set(e,o),new Qn(r,t,e,s)}function oa(r){let e=tr(r),[t,n]=rs(e),[o,s]=rs(e.subarray(n)),i=e.subarray(n+s);if(i.byteLength!==o)throw new Error("Incorrect length");return new Qn(t,o,i,e)}function vm(r,e){if(r===e)return!0;{let t=e;return r.code===t.code&&r.size===t.size&&t.bytes instanceof Uint8Array&&hm(r.bytes,t.bytes)}}var Qn=class{code;size;digest;bytes;constructor(e,t,n,o){this.code=e,this.size=t,this.digest=n,this.bytes=o}};function Em(r,e){let{bytes:t,version:n}=r;switch(n){case 0:return VE(t,cl(r),e??We.encoder);default:return PE(t,cl(r),e??rr.encoder)}}var Am=new WeakMap;function cl(r){let e=Am.get(r);if(e==null){let t=new Map;return Am.set(r,t),t}return e}var Tr=class r{code;version;multihash;bytes;"/";constructor(e,t,n,o){this.code=t,this.version=e,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:e,multihash:t}=this;if(e!==ns)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(t.code!==ME)throw new Error("Cannot convert non sha2-256 multihash CID to CIDv0");return r.createV0(t)}default:throw Error(`Can not convert CID version ${this.version} to version 0. This is a bug please report`)}}toV1(){switch(this.version){case 0:{let{code:e,digest:t}=this.multihash,n=Jr(e,t);return r.createV1(this.code,n)}case 1:return this;default:throw Error(`Can not convert CID version ${this.version} to version 1. This is a bug please report`)}}equals(e){return r.equals(this,e)}static equals(e,t){let n=t;return n!=null&&e.code===n.code&&e.version===n.version&&vm(e.multihash,n.multihash)}toString(e){return Em(this,e)}toJSON(){return{"/":Em(this)}}link(){return this}[Symbol.toStringTag]="CID";[Symbol.for("nodejs.util.inspect.custom")](){return`CID(${this.toString()})`}static asCID(e){if(e==null)return null;let t=e;if(t instanceof r)return t;if(t["/"]!=null&&t["/"]===t.bytes||t.asCID===t){let{version:n,code:o,multihash:s,bytes:i}=t;return new r(n,o,s,i??Bm(n,o,s.bytes))}else if(t[FE]===!0){let{version:n,multihash:o,code:s}=t,i=oa(o);return r.create(n,s,i)}else return null}static create(e,t,n){if(typeof t!="number")throw new Error("String codecs are no longer supported");if(!(n.bytes instanceof Uint8Array))throw new Error("Invalid digest");switch(e){case 0:{if(t!==ns)throw new Error(`Version 0 CID must use dag-pb (code: ${ns}) block encoding`);return new r(e,t,n,n.bytes)}case 1:{let o=Bm(e,t,n.bytes);return new r(e,t,n,o)}default:throw new Error("Invalid version")}}static createV0(e){return r.create(0,ns,e)}static createV1(e,t){return r.create(1,e,t)}static decode(e){let[t,n]=r.decodeFirst(e);if(n.length!==0)throw new Error("Incorrect length");return t}static decodeFirst(e){let t=r.inspectBytes(e),n=t.size-t.multihashSize,o=tr(e.subarray(n,n+t.multihashSize));if(o.byteLength!==t.multihashSize)throw new Error("Incorrect length");let s=o.subarray(t.multihashSize-t.digestSize),i=new Qn(t.multihashCode,t.digestSize,s,o);return[t.version===0?r.createV0(i):r.createV1(t.codec,i),e.subarray(t.size)]}static inspectBytes(e){let t=0,n=()=>{let[l,p]=rs(e.subarray(t));return t+=p,l},o=n(),s=ns;if(o===18?(o=0,t=0):s=n(),o!==0&&o!==1)throw new RangeError(`Invalid CID version ${o}`);let i=t,a=n(),c=n(),f=t+c,u=f-i;return{version:o,codec:s,multihashCode:a,digestSize:c,multihashSize:u,size:f}}static parse(e,t){let[n,o]=OE(e,t),s=r.decode(o);if(s.version===0&&e[0]!=="Q")throw Error("Version 0 CID string must not include multibase prefix");return cl(s).set(n,e),s}};function OE(r,e){switch(r[0]){case"Q":{let t=e??We;return[We.prefix,t.decode(`${We.prefix}${r}`)]}case We.prefix:{let t=e??We;return[We.prefix,t.decode(r)]}case rr.prefix:{let t=e??rr;return[rr.prefix,t.decode(r)]}default:{if(e==null)throw Error("To parse non base32 or base58btc encoded CID multibase decoder must be provided");return[r[0],e.decode(r)]}}}function VE(r,e,t){let{prefix:n}=t;if(n!==We.prefix)throw Error(`Cannot string encode V0 in ${t.name} encoding`);let o=e.get(n);if(o==null){let s=t.encode(r).slice(1);return e.set(n,s),s}else return o}function PE(r,e,t){let{prefix:n}=t,o=e.get(n);if(o==null){let s=t.encode(r);return e.set(n,s),s}else return o}var ns=112,ME=18;function Bm(r,e,t){let n=Xn(r),o=n+Xn(e),s=new Uint8Array(o+t.byteLength);return Jn(r,s,0),Jn(e,s,n),s.set(t,o),s}var FE=Symbol.for("@ipld/js-cid/CID");function Sm(r,e){if(r===e)return!0;if(r.byteLength!==e.byteLength)return!1;for(let t=0;t<r.byteLength;t++)if(r[t]!==e[t])return!1;return!0}var ul={};M(ul,{base10:()=>$E});var $E=Cr({prefix:"9",name:"base10",alphabet:"0123456789"});var ll={};M(ll,{base16:()=>HE,base16upper:()=>KE});var HE=ge({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),KE=ge({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var fl={};M(fl,{base2:()=>zE});var zE=ge({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var hl={};M(hl,{base256emoji:()=>YE});var Im=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}"),qE=Im.reduce((r,e,t)=>(r[t]=e,r),[]),GE=Im.reduce((r,e,t)=>(r[e.codePointAt(0)]=t,r),[]);function jE(r){return r.reduce((e,t)=>(e+=qE[t],e),"")}function WE(r){let e=[];for(let t of r){let n=GE[t.codePointAt(0)];if(n===void 0)throw new Error(`Non-base256emoji character: ${t}`);e.push(n)}return new Uint8Array(e)}var YE=Zn({prefix:"\u{1F680}",name:"base256emoji",encode:jE,decode:WE});var dl={};M(dl,{base36:()=>ZE,base36upper:()=>JE});var ZE=Cr({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),JE=Cr({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var pl={};M(pl,{base64:()=>XE,base64pad:()=>QE,base64url:()=>e8,base64urlpad:()=>t8});var XE=ge({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),QE=ge({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),e8=ge({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),t8=ge({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});var ml={};M(ml,{base8:()=>r8});var r8=ge({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var gl={};M(gl,{identity:()=>n8});var n8=Zn({prefix:"\0",name:"identity",encode:r=>pm(r),decode:r=>dm(r)});var FT=new TextEncoder,$T=new TextDecoder;var yl={};M(yl,{identity:()=>c8});var Cm=0,i8="identity",Tm=tr;function a8(r){return Jr(Cm,Tm(r))}var c8={code:Cm,name:i8,encode:Tm,digest:a8};var xl={};M(xl,{sha256:()=>u8,sha512:()=>l8});function wl({name:r,code:e,encode:t}){return new bl(r,e,t)}var bl=class{name;code;encode;constructor(e,t,n){this.name=e,this.code=t,this.encode=n}digest(e){if(e instanceof Uint8Array){let t=this.encode(e);return t instanceof Uint8Array?Jr(this.code,t):t.then(n=>Jr(this.code,n))}else throw Error("Unknown type, must be binary type")}};function Rm(r){return async e=>new Uint8Array(await crypto.subtle.digest(r,e))}var u8=wl({name:"sha2-256",code:18,encode:Rm("SHA-256")}),l8=wl({name:"sha2-512",code:19,encode:Rm("SHA-512")});var os={...gl,...fl,...ml,...ul,...ll,...il,...dl,...sl,...pl,...hl},e5={...xl,...yl};function Xr(r){return globalThis.Buffer!=null?new Uint8Array(r.buffer,r.byteOffset,r.byteLength):r}function sa(r=0){return globalThis.Buffer?.allocUnsafe!=null?Xr(globalThis.Buffer.allocUnsafe(r)):new Uint8Array(r)}function Um(r,e,t,n){return{name:r,prefix:e,encoder:{name:r,prefix:e,encode:t},decoder:{decode:n}}}var Nm=Um("utf8","u",r=>"u"+new TextDecoder("utf8").decode(r),r=>new TextEncoder().encode(r.substring(1))),vl=Um("ascii","a",r=>{let e="a";for(let t=0;t<r.length;t++)e+=String.fromCharCode(r[t]);return e},r=>{r=r.substring(1);let e=sa(r.length);for(let t=0;t<r.length;t++)e[t]=r.charCodeAt(t);return e}),f8={utf8:Nm,"utf-8":Nm,hex:os.base16,latin1:vl,ascii:vl,binary:vl,...os},ia=f8;function Ye(r,e="utf8"){let t=ia[e];if(t==null)throw new Error(`Unsupported encoding "${e}"`);return(e==="utf8"||e==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?globalThis.Buffer.from(r.buffer,r.byteOffset,r.byteLength).toString("utf8"):t.encoder.encode(r).substring(1)}var h8=Math.pow(2,7),d8=Math.pow(2,14),p8=Math.pow(2,21),El=Math.pow(2,28),Al=Math.pow(2,35),Bl=Math.pow(2,42),Sl=Math.pow(2,49),re=128,Pe=127;function Ut(r){if(r<h8)return 1;if(r<d8)return 2;if(r<p8)return 3;if(r<El)return 4;if(r<Al)return 5;if(r<Bl)return 6;if(r<Sl)return 7;if(Number.MAX_SAFE_INTEGER!=null&&r>Number.MAX_SAFE_INTEGER)throw new RangeError("Could not encode varint");return 8}function m8(r,e,t=0){switch(Ut(r)){case 8:e[t++]=r&255|re,r/=128;case 7:e[t++]=r&255|re,r/=128;case 6:e[t++]=r&255|re,r/=128;case 5:e[t++]=r&255|re,r/=128;case 4:e[t++]=r&255|re,r>>>=7;case 3:e[t++]=r&255|re,r>>>=7;case 2:e[t++]=r&255|re,r>>>=7;case 1:{e[t++]=r&255,r>>>=7;break}default:throw new Error("unreachable")}return e}function g8(r,e,t=0){switch(Ut(r)){case 8:e.set(t++,r&255|re),r/=128;case 7:e.set(t++,r&255|re),r/=128;case 6:e.set(t++,r&255|re),r/=128;case 5:e.set(t++,r&255|re),r/=128;case 4:e.set(t++,r&255|re),r>>>=7;case 3:e.set(t++,r&255|re),r>>>=7;case 2:e.set(t++,r&255|re),r>>>=7;case 1:{e.set(t++,r&255),r>>>=7;break}default:throw new Error("unreachable")}return e}function y8(r,e){let t=r[e],n=0;if(n+=t&Pe,t<re||(t=r[e+1],n+=(t&Pe)<<7,t<re)||(t=r[e+2],n+=(t&Pe)<<14,t<re)||(t=r[e+3],n+=(t&Pe)<<21,t<re)||(t=r[e+4],n+=(t&Pe)*El,t<re)||(t=r[e+5],n+=(t&Pe)*Al,t<re)||(t=r[e+6],n+=(t&Pe)*Bl,t<re)||(t=r[e+7],n+=(t&Pe)*Sl,t<re))return n;throw new RangeError("Could not decode varint")}function b8(r,e){let t=r.get(e),n=0;if(n+=t&Pe,t<re||(t=r.get(e+1),n+=(t&Pe)<<7,t<re)||(t=r.get(e+2),n+=(t&Pe)<<14,t<re)||(t=r.get(e+3),n+=(t&Pe)<<21,t<re)||(t=r.get(e+4),n+=(t&Pe)*El,t<re)||(t=r.get(e+5),n+=(t&Pe)*Al,t<re)||(t=r.get(e+6),n+=(t&Pe)*Bl,t<re)||(t=r.get(e+7),n+=(t&Pe)*Sl,t<re))return n;throw new RangeError("Could not decode varint")}function to(r,e,t=0){return e==null&&(e=lt(Ut(r))),e instanceof Uint8Array?m8(r,e,t):g8(r,e,t)}function Qr(r,e=0){return r instanceof Uint8Array?y8(r,e):b8(r,e)}function nr(r,e){if(globalThis.Buffer!=null)return Xr(globalThis.Buffer.concat(r,e));e==null&&(e=r.reduce((o,s)=>o+s.length,0));let t=sa(e),n=0;for(let o of r)t.set(o,n),n+=o.length;return Xr(t)}var x5=parseInt("0xFFFF",16),v5=new Uint8Array([0,0,0,0,0,0,0,0,0,0,255,255]);function Il(r,e="utf8"){let t=ia[e];if(t==null)throw new Error(`Unsupported encoding "${e}"`);return(e==="utf8"||e==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?Xr(globalThis.Buffer.from(r,"utf-8")):t.decoder.decode(`${t.prefix}${r}`)}var Om=ji,A8=Wi,Cl=function(r){let e=0;if(r=r.toString().trim(),Om(r)){let t=new Uint8Array(e+4);return r.split(/\./g).forEach(n=>{t[e++]=parseInt(n,10)&255}),t}if(A8(r)){let t=r.split(":",8),n;for(n=0;n<t.length;n++){let s=Om(t[n]),i;s&&(i=Cl(t[n]),t[n]=Ye(i.slice(0,2),"base16")),i!=null&&++n<8&&t.splice(n,0,Ye(i.slice(2,4),"base16"))}if(t[0]==="")for(;t.length<8;)t.unshift("0");else if(t[t.length-1]==="")for(;t.length<8;)t.push("0");else if(t.length<8){for(n=0;n<t.length&&t[n]!=="";n++);let s=[n,1];for(n=9-t.length;n>0;n--)s.push("0");t.splice.apply(t,s)}let o=new Uint8Array(e+16);for(n=0;n<t.length;n++){let s=parseInt(t[n],16);o[e++]=s>>8&255,o[e++]=s&255}return o}throw new Error("invalid ip address")},Vm=function(r,e=0,t){e=~~e,t=t??r.length-e;let n=new DataView(r.buffer);if(t===4){let o=[];for(let s=0;s<t;s++)o.push(r[e+s]);return o.join(".")}if(t===16){let o=[];for(let s=0;s<t;s+=2)o.push(n.getUint16(e+s).toString(16));return o.join(":").replace(/(^|:)0(:0)*:0(:|$)/,"$1::$3").replace(/:{3,4}/,"::")}return""};var ro={},Tl={},S8=[[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"]];S8.forEach(r=>{let e=I8(...r);Tl[e.code]=e,ro[e.name]=e});function I8(r,e,t,n,o){return{code:r,size:e,name:t,resolvable:!!n,path:!!o}}function se(r){if(typeof r=="number"){if(Tl[r]!=null)return Tl[r];throw new Error(`no protocol with code: ${r}`)}else if(typeof r=="string"){if(ro[r]!=null)return ro[r];throw new Error(`no protocol with name: ${r}`)}throw new Error(`invalid protocol id type: ${typeof r}`)}var sk=se("ip4"),ik=se("ip6"),ak=se("ipcidr");function Rl(r,e){switch(se(r).code){case 4:case 41:return T8(e);case 42:return Fm(e);case 6:case 273:case 33:case 132:return Hm(e).toString();case 53:case 54:case 55:case 56:case 400:case 449:case 777:return Fm(e);case 421:return U8(e);case 444:return $m(e);case 445:return $m(e);case 466:return N8(e);default:return Ye(e,"base16")}}function Nl(r,e){switch(se(r).code){case 4:return Pm(e);case 41:return Pm(e);case 42:return Mm(e);case 6:case 273:case 33:case 132:return Ul(parseInt(e,10));case 53:case 54:case 55:case 56:case 400:case 449:case 777:return Mm(e);case 421:return k8(e);case 444:return _8(e);case 445:return D8(e);case 466:return R8(e);default:return Il(e,"base16")}}var kl=Object.values(os).map(r=>r.decoder),C8=function(){let r=kl[0].or(kl[1]);return kl.slice(2).forEach(e=>r=r.or(e)),r}();function Pm(r){if(!Sr(r))throw new Error("invalid ip address");return Cl(r)}function T8(r){let e=Vm(r,0,r.length);if(e==null)throw new Error("ipBuff is required");if(!Sr(e))throw new Error("invalid ip address");return e}function Ul(r){let e=new ArrayBuffer(2);return new DataView(e).setUint16(0,r),new Uint8Array(e)}function Hm(r){return new DataView(r.buffer).getUint16(r.byteOffset)}function Mm(r){let e=Il(r),t=Uint8Array.from(to(e.length));return nr([t,e],t.length+e.length)}function Fm(r){let e=Qr(r);if(r=r.slice(Ut(e)),r.length!==e)throw new Error("inconsistent lengths");return Ye(r)}function k8(r){let e;r[0]==="Q"||r[0]==="1"?e=oa(We.decode(`z${r}`)).bytes:e=Tr.parse(r).multihash.bytes;let t=Uint8Array.from(to(e.length));return nr([t,e],t.length+e.length)}function R8(r){let e=C8.decode(r),t=Uint8Array.from(to(e.length));return nr([t,e],t.length+e.length)}function N8(r){let e=Qr(r),t=r.slice(Ut(e));if(t.length!==e)throw new Error("inconsistent lengths");return"u"+Ye(t,"base64url")}function U8(r){let e=Qr(r),t=r.slice(Ut(e));if(t.length!==e)throw new Error("inconsistent lengths");return Ye(t,"base58btc")}function _8(r){let e=r.split(":");if(e.length!==2)throw new Error(`failed to parse onion addr: ["'${e.join('", "')}'"]' does not contain a port number`);if(e[0].length!==16)throw new Error(`failed to parse onion addr: ${e[0]} not a Tor onion address.`);let t=rr.decode("b"+e[0]),n=parseInt(e[1],10);if(n<1||n>65536)throw new Error("Port number is not in range(1, 65536)");let o=Ul(n);return nr([t,o],t.length+o.length)}function D8(r){let e=r.split(":");if(e.length!==2)throw new Error(`failed to parse onion addr: ["'${e.join('", "')}'"]' does not contain a port number`);if(e[0].length!==56)throw new Error(`failed to parse onion addr: ${e[0]} not a Tor onion3 address.`);let t=rr.decode(`b${e[0]}`),n=parseInt(e[1],10);if(n<1||n>65536)throw new Error("Port number is not in range(1, 65536)");let o=Ul(n);return nr([t,o],t.length+o.length)}function $m(r){let e=r.slice(0,r.length-2),t=r.slice(r.length-2),n=Ye(e,"base32"),o=Hm(t);return`${n}:${o}`}function Km(r){r=_l(r);let e=[],t=[],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=se(i);if(a.size===0){e.push([a.code]),t.push([a.code]);continue}if(s++,s>=o.length)throw qm("invalid address: "+r);if(a.path===!0){n=_l(o.slice(s).join("/")),e.push([a.code,Nl(a.code,n)]),t.push([a.code,n]);break}let c=Nl(a.code,o[s]);e.push([a.code,c]),t.push([a.code,Rl(a.code,c)])}return{string:zm(t),bytes:Ll(e),tuples:e,stringTuples:t,path:n}}function Dl(r){let e=[],t=[],n=null,o=0;for(;o<r.length;){let s=Qr(r,o),i=Ut(s),a=se(s),c=L8(a,r.slice(o+i));if(c===0){e.push([s]),t.push([s]),o+=i;continue}let f=r.slice(o+i,o+i+c);if(o+=c+i,o>r.length)throw qm("Invalid address Uint8Array: "+Ye(r,"base16"));e.push([s,f]);let u=Rl(s,f);if(t.push([s,u]),a.path===!0){n=u;break}}return{bytes:Uint8Array.from(r),string:zm(t),tuples:e,stringTuples:t,path:n}}function zm(r){let e=[];return r.map(t=>{let n=se(t[0]);return e.push(n.name),t.length>1&&t[1]!=null&&e.push(t[1]),null}),_l(e.join("/"))}function Ll(r){return nr(r.map(e=>{let t=se(e[0]),n=Uint8Array.from(to(t.code));return e.length>1&&e[1]!=null&&(n=nr([n,e[1]])),n}))}function L8(r,e){if(r.size>0)return r.size/8;if(r.size===0)return 0;{let t=Qr(e instanceof Uint8Array?e:Uint8Array.from(e));return t+Ut(t)}}function _l(r){return"/"+r.trim().split("/").filter(e=>e).join("/")}function qm(r){return new Error("Error parsing address: "+r)}var O8=Symbol.for("nodejs.util.inspect.custom"),Ol=Symbol.for("@multiformats/js-multiaddr/multiaddr"),V8=[se("dns").code,se("dns4").code,se("dns6").code,se("dnsaddr").code],aa=class r{bytes;#e;#t;#s;#a;[Ol]=!0;constructor(e){e==null&&(e="");let t;if(e instanceof Uint8Array)t=Dl(e);else if(typeof e=="string"){if(e.length>0&&e.charAt(0)!=="/")throw new Error(`multiaddr "${e}" must start with a "/"`);t=Km(e)}else if(jm(e))t=Dl(e.bytes);else throw new Error("addr must be a string, Buffer, or another Multiaddr");this.bytes=t.bytes,this.#e=t.string,this.#t=t.tuples,this.#s=t.stringTuples,this.#a=t.path}toString(){return this.#e}toJSON(){return this.toString()}toOptions(){let e,t,n,o,s="",i=se("tcp"),a=se("udp"),c=se("ip4"),f=se("ip6"),u=se("dns6"),l=se("ip6zone");for(let[x,d]of this.stringTuples())x===l.code&&(s=`%${d??""}`),V8.includes(x)&&(t=i.name,o=443,n=`${d??""}${s}`,e=x===u.code?6:4),(x===i.code||x===a.code)&&(t=se(x).name,o=parseInt(d??"")),(x===c.code||x===f.code)&&(t=se(x).name,n=`${d??""}${s}`,e=x===f.code?6:4);if(e==null||t==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:e,host:n,transport:t,port:o}}protos(){return this.#t.map(([e])=>Object.assign({},se(e)))}protoCodes(){return this.#t.map(([e])=>e)}protoNames(){return this.#t.map(([e])=>se(e).name)}tuples(){return this.#t}stringTuples(){return this.#s}encapsulate(e){return e=new r(e),new r(this.toString()+e.toString())}decapsulate(e){let t=e.toString(),n=this.toString(),o=n.lastIndexOf(t);if(o<0)throw new Error(`Address ${this.toString()} does not contain subaddress: ${e.toString()}`);return new r(n.slice(0,o))}decapsulateCode(e){let t=this.tuples();for(let n=t.length-1;n>=0;n--)if(t[n][0]===e)return new r(Ll(t.slice(0,n)));return this}getPeerId(){try{let e=[];this.stringTuples().forEach(([n,o])=>{n===ro.p2p.code&&e.push([n,o]),n===ro["p2p-circuit"].code&&(e=[])});let t=e.pop();if(t?.[1]!=null){let n=t[1];return n[0]==="Q"||n[0]==="1"?Ye(We.decode(`z${n}`),"base58btc"):Ye(Tr.parse(n).multihash.bytes,"base58btc")}return null}catch{return null}}getPath(){return this.#a}equals(e){return Sm(this.bytes,e.bytes)}async resolve(e){let t=this.protos().find(s=>s.resolvable);if(t==null)return[this];let n=Gm.get(t.name);if(n==null)throw new K(`no available resolver for ${t.name}`,"ERR_NO_AVAILABLE_RESOLVER");return(await n(this,e)).map(s=>new r(s))}nodeAddress(){let e=this.toOptions();if(e.transport!=="tcp"&&e.transport!=="udp")throw new Error(`multiaddr must have a valid format - no protocol with name: "${e.transport}". Must have a valid transport protocol: "{tcp, udp}"`);return{family:e.family,address:e.host,port:e.port}}isThinWaistAddress(e){let t=(e??this).protos();return!(t.length!==2||t[0].code!==4&&t[0].code!==41||t[1].code!==6&&t[1].code!==273)}[O8](){return`Multiaddr(${this.#e})`}};var Gm=new Map;function jm(r){return!!r?.[Ol]}function ca(r){return new aa(r)}var P8=P("dns4"),M8=P("dns6"),F8=P("dnsaddr"),en=_e(P("dns"),F8,P8,M8),ua=_e(P("ip4"),P("ip6")),no=_e(G(ua,P("tcp")),G(en,P("tcp"))),Ml=G(ua,P("udp")),$8=G(Ml,P("utp")),H8=G(Ml,P("quic")),is=_e(G(no,P("ws")),G(en,P("ws"))),as=_e(G(no,P("wss")),G(en,P("wss")),G(no,P("tls"),P("ws")),G(en,P("tls"),P("ws"))),Vl=_e(G(no,P("http")),G(ua,P("http")),G(en,P("http"))),Pl=_e(G(no,P("https")),G(ua,P("https")),G(en,P("https"))),Wm=G(Ml,P("webrtc"),P("certhash")),Zm=_e(G(Wm,P("p2p")),Wm),Jm=_e(G(is,P("p2p-webrtc-star"),P("p2p")),G(as,P("p2p-webrtc-star"),P("p2p")),G(is,P("p2p-webrtc-star")),G(as,P("p2p-webrtc-star"))),_k=_e(G(is,P("p2p-websocket-star"),P("p2p")),G(as,P("p2p-websocket-star"),P("p2p")),G(is,P("p2p-websocket-star")),G(as,P("p2p-websocket-star"))),Xm=_e(G(Vl,P("p2p-webrtc-direct"),P("p2p")),G(Pl,P("p2p-webrtc-direct"),P("p2p")),G(Vl,P("p2p-webrtc-direct")),G(Pl,P("p2p-webrtc-direct"))),cs=_e(is,as,Vl,Pl,Jm,Xm,no,$8,H8,en,Zm),Dk=_e(G(cs,P("p2p-stardust"),P("p2p")),G(cs,P("p2p-stardust"))),kr=_e(G(cs,P("p2p")),Jm,Xm,Zm,P("p2p")),Ym=_e(G(kr,P("p2p-circuit"),kr),G(kr,P("p2p-circuit")),G(P("p2p-circuit"),kr),G(cs,P("p2p-circuit")),G(P("p2p-circuit"),cs),P("p2p-circuit")),Qm=()=>_e(G(Ym,Qm),Ym),ss=Qm(),K8=_e(G(ss,kr,ss),G(kr,ss),G(ss,kr),ss,kr);function eg(r){function e(t){let n;try{n=ca(t)}catch{return!1}let o=r(n.protoNames());return o===null?!1:o===!0||o===!1?o:o.length===0}return e}function G(...r){function e(t){if(t.length<r.length)return null;let n=t;return r.some(o=>(n=typeof o=="function"?o().partialMatch(t):o.partialMatch(t),Array.isArray(n)&&(t=n),n===null)),n}return{toString:function(){return"{ "+r.join(" ")+" }"},input:r,matches:eg(e),partialMatch:e}}function _e(...r){function e(n){let o=null;return r.some(s=>{let i=typeof s=="function"?s().partialMatch(n):s.partialMatch(n);return i!=null?(o=i,!0):!1}),o}return{toString:function(){return"{ "+r.join(" ")+" }"},input:r,matches:eg(e),partialMatch:e}}function P(r){let e=r;function t(o){let s;try{s=ca(o)}catch{return!1}let i=s.protoNames();return i.length===1&&i[0]===e}function n(o){return o.length===0?null:o[0]===e?o.slice(1):null}return{toString:function(){return e},matches:t,partialMatch:n}}var eA=Se(ag(),1);function cg(r){try{return tA(r)?!!ut.parse(r):r instanceof Uint8Array?!!ut.decode(r):!!ut.asCID(r)}catch{return!1}}function tA(r){return typeof r=="string"}var ug=32,Hl=async(r,e,t,n={})=>{if(e===0)throw new Error("recursion limit exceeded");let o;try{o=await t(r,n)}catch(c){if(c.code!=="ENOTFOUND"&&c.code!=="ERR_DNSLINK_NOT_FOUND"&&c.code!=="ENODATA")throw c;r.startsWith("_dnslink.")?r=r.replace("_dnslink.",""):r=`_dnslink.${r}`,o=await t(r,n)}let s=o.replace("dnslink=",""),i=s.split("/")[2];return cg(i)?s:Hl(i,e-1,t,n)},nA=/^dnslink=.+$/,lg=async(r,e)=>{let o=(await r.resolveTxt(e)).flat().filter(s=>nA.test(s))[0];if(o==null)throw new K(`No dnslink records found for domain: ${e}`,"ERR_DNSLINK_NOT_FOUND");return o};var zl=Se(ga(),1),ql=Se(dg(),1);function la(r,e,t){return`${r}?name=${e}&type=${t}`}async function pg(r,e){return await(await fetch(r,{headers:new Headers({accept:"application/dns-json"}),signal:e})).json()}function tn(r,e){return`${e}_${r}`}var Kl=Object.assign((0,zl.default)("dns-over-http-resolver"),{error:(0,zl.default)("dns-over-http-resolver:error")}),Gl=class{_cache;_TXTcache;_servers;_request;_abortControllers;constructor(e={}){this._cache=new ql.default({max:e?.maxCache??100}),this._TXTcache=new ql.default({max:e?.maxCache??100}),this._servers=["https://cloudflare-dns.com/dns-query","https://dns.google/resolve"],this._request=e.request??pg,this._abortControllers=[]}cancel(){this._abortControllers.forEach(e=>{e.abort()})}getServers(){return this._servers}_getShuffledServers(){let e=[...this._servers];for(let t=e.length-1;t>0;t--){let n=Math.floor(Math.random()*t),o=e[t];e[t]=e[n],e[n]=o}return e}setServers(e){this._servers=e}async resolve(e,t="A"){switch(t){case"A":return this.resolve4(e);case"AAAA":return this.resolve6(e);case"TXT":return this.resolveTxt(e);default:throw new Error(`${t} is not supported`)}}async resolve4(e){let t="A",n=this._cache.get(tn(e,t));if(n!=null)return n;let o=!1;for(let s of this._getShuffledServers()){let i=new AbortController;this._abortControllers.push(i);try{let a=await this._request(la(s,e,t),i.signal),c=a.Answer.map(u=>u.data),f=Math.min(...a.Answer.map(u=>u.TTL));return this._cache.set(tn(e,t),c,{ttl:f}),c}catch{i.signal.aborted&&(o=!0),Kl.error(`${s} could not resolve ${e} record ${t}`)}finally{this._abortControllers=this._abortControllers.filter(a=>a!==i)}}throw o?Object.assign(new Error("queryA ECANCELLED"),{code:"ECANCELLED"}):new Error(`Could not resolve ${e} record ${t}`)}async resolve6(e){let t="AAAA",n=this._cache.get(tn(e,t));if(n!=null)return n;let o=!1;for(let s of this._getShuffledServers()){let i=new AbortController;this._abortControllers.push(i);try{let a=await this._request(la(s,e,t),i.signal),c=a.Answer.map(u=>u.data),f=Math.min(...a.Answer.map(u=>u.TTL));return this._cache.set(tn(e,t),c,{ttl:f}),c}catch{i.signal.aborted&&(o=!0),Kl.error(`${s} could not resolve ${e} record ${t}`)}finally{this._abortControllers=this._abortControllers.filter(a=>a!==i)}}throw o?Object.assign(new Error("queryAaaa ECANCELLED"),{code:"ECANCELLED"}):new Error(`Could not resolve ${e} record ${t}`)}async resolveTxt(e){let t="TXT",n=this._TXTcache.get(tn(e,t));if(n!=null)return n;let o=!1;for(let s of this._getShuffledServers()){let i=new AbortController;this._abortControllers.push(i);try{let a=await this._request(la(s,e,t),i.signal),c=a.Answer.map(u=>[u.data.replace(/['"]+/g,"")]),f=Math.min(...a.Answer.map(u=>u.TTL));return this._TXTcache.set(tn(e,t),c,{ttl:f}),c}catch{i.signal.aborted&&(o=!0),Kl.error(`${s} could not resolve ${e} record ${t}`)}finally{this._abortControllers=this._abortControllers.filter(a=>a!==i)}}throw o?Object.assign(new Error("queryTxt ECANCELLED"),{code:"ECANCELLED"}):new Error(`Could not resolve ${e} record ${t}`)}clearCache(){this._cache.clear(),this._TXTcache.clear()}},mg=Gl;var Wl=Se(yg(),1);var fs=class extends Error{constructor(e){super(e),this.name="TimeoutError"}},Yl=class extends Error{constructor(e){super(),this.name="AbortError",this.message=e}},bg=r=>globalThis.DOMException===void 0?new Yl(r):new DOMException(r),wg=r=>{let e=r.reason===void 0?bg("This operation was aborted."):r.reason;return e instanceof Error?e:bg(e)};function Zl(r,e){let{milliseconds:t,fallback:n,message:o,customTimers:s={setTimeout,clearTimeout}}=e,i,c=new Promise((f,u)=>{if(typeof t!="number"||Math.sign(t)!==1)throw new TypeError(`Expected \`milliseconds\` to be a positive number, got \`${t}\``);if(e.signal){let{signal:p}=e;p.aborted&&u(wg(p)),p.addEventListener("abort",()=>{u(wg(p))})}if(t===Number.POSITIVE_INFINITY){r.then(f,u);return}let l=new fs;i=s.setTimeout.call(void 0,()=>{if(n){try{f(n())}catch(p){u(p)}return}typeof r.cancel=="function"&&r.cancel(),o===!1?f():o instanceof Error?u(o):(l.message=o??`Promise timed out after ${t} milliseconds`,u(l))},t),(async()=>{try{f(await r)}catch(p){u(p)}})()}).finally(()=>{c.clear()});return c.clear=()=>{s.clearTimeout.call(void 0,i),i=void 0},c}function Jl(r,e,t){let n=0,o=r.length;for(;o>0;){let s=Math.trunc(o/2),i=n+s;t(r[i],e)<=0?(n=++i,o-=s+1):o=s}return n}var hs=class{#e=[];enqueue(e,t){t={priority:0,...t};let n={priority:t.priority,run:e};if(this.size&&this.#e[this.size-1].priority>=t.priority){this.#e.push(n);return}let o=Jl(this.#e,n,(s,i)=>i.priority-s.priority);this.#e.splice(o,0,n)}dequeue(){return this.#e.shift()?.run}filter(e){return this.#e.filter(t=>t.priority===e.priority).map(t=>t.run)}get size(){return this.#e.length}};var ds=class extends Wl.default{#e;#t;#s=0;#a;#c;#p=0;#n;#u;#r;#m;#o=0;#l;#i;#g;timeout;constructor(e){if(super(),e={carryoverConcurrencyCount:!1,intervalCap:Number.POSITIVE_INFINITY,interval:0,concurrency:Number.POSITIVE_INFINITY,autoStart:!0,queueClass:hs,...e},!(typeof e.intervalCap=="number"&&e.intervalCap>=1))throw new TypeError(`Expected \`intervalCap\` to be a number from 1 and up, got \`${e.intervalCap?.toString()??""}\` (${typeof e.intervalCap})`);if(e.interval===void 0||!(Number.isFinite(e.interval)&&e.interval>=0))throw new TypeError(`Expected \`interval\` to be a finite number >= 0, got \`${e.interval?.toString()??""}\` (${typeof e.interval})`);this.#e=e.carryoverConcurrencyCount,this.#t=e.intervalCap===Number.POSITIVE_INFINITY||e.interval===0,this.#a=e.intervalCap,this.#c=e.interval,this.#r=new e.queueClass,this.#m=e.queueClass,this.concurrency=e.concurrency,this.timeout=e.timeout,this.#g=e.throwOnTimeout===!0,this.#i=e.autoStart===!1}get#w(){return this.#t||this.#s<this.#a}get#x(){return this.#o<this.#l}#v(){this.#o--,this.#f(),this.emit("next")}#E(){this.#b(),this.#y(),this.#u=void 0}get#A(){let e=Date.now();if(this.#n===void 0){let t=this.#p-e;if(t<0)this.#s=this.#e?this.#o:0;else return this.#u===void 0&&(this.#u=setTimeout(()=>{this.#E()},t)),!0}return!1}#f(){if(this.#r.size===0)return this.#n&&clearInterval(this.#n),this.#n=void 0,this.emit("empty"),this.#o===0&&this.emit("idle"),!1;if(!this.#i){let e=!this.#A;if(this.#w&&this.#x){let t=this.#r.dequeue();return t?(this.emit("active"),t(),e&&this.#y(),!0):!1}}return!1}#y(){this.#t||this.#n!==void 0||(this.#n=setInterval(()=>{this.#b()},this.#c),this.#p=Date.now()+this.#c)}#b(){this.#s===0&&this.#o===0&&this.#n&&(clearInterval(this.#n),this.#n=void 0),this.#s=this.#e?this.#o:0,this.#h()}#h(){for(;this.#f(););}get concurrency(){return this.#l}set concurrency(e){if(!(typeof e=="number"&&e>=1))throw new TypeError(`Expected \`concurrency\` to be a number from 1 and up, got \`${e}\` (${typeof e})`);this.#l=e,this.#h()}async#B(e){return new Promise((t,n)=>{e.addEventListener("abort",()=>{n(e.reason)},{once:!0})})}async add(e,t={}){return t={timeout:this.timeout,throwOnTimeout:this.#g,...t},new Promise((n,o)=>{this.#r.enqueue(async()=>{this.#o++,this.#s++;try{t.signal?.throwIfAborted();let s=e({signal:t.signal});t.timeout&&(s=Zl(Promise.resolve(s),{milliseconds:t.timeout})),t.signal&&(s=Promise.race([s,this.#B(t.signal)]));let i=await s;n(i),this.emit("completed",i)}catch(s){if(s instanceof fs&&!t.throwOnTimeout){n();return}o(s),this.emit("error",s)}finally{this.#v()}},t),this.emit("add"),this.#f()})}async addAll(e,t){return Promise.all(e.map(async n=>this.add(n,t)))}start(){return this.#i?(this.#i=!1,this.#h(),this):this}pause(){this.#i=!0}clear(){this.#r=new this.#m}async onEmpty(){this.#r.size!==0&&await this.#d("empty")}async onSizeLessThan(e){this.#r.size<e||await this.#d("next",()=>this.#r.size<e)}async onIdle(){this.#o===0&&this.#r.size===0||await this.#d("idle")}async#d(e,t){return new Promise(n=>{let o=()=>{t&&!t()||(this.off(e,o),n())};this.on(e,o)})}get size(){return this.#r.size}sizeBy(e){return this.#r.filter(e).length}get pending(){return this.#o}get isPaused(){return this.#i}};var Eg=Se(vg(),1),ha=class{lru;constructor(e){this.lru=(0,Eg.default)(e)}get(e){let t=this.lru.get(e);if(t!=null){if(t.expire!=null&&t.expire<Date.now()){this.lru.remove(e);return}return t.value}}set(e,t,n){this.lru.set(e,{value:t,expire:Date.now()+n})}has(e){return this.get(e)!=null}remove(e){this.lru.remove(e)}clear(){this.lru.clear()}};var Xl=new ha(1e3),lA=60*1e3,fA=new ds({concurrency:4}),hA=async function(e,t={}){let n=new mg({maxCache:0});if(t.nocache!==!0&&Xl.has(e)){let s=Xl.get(e);if(s!=null)return t?.onProgress?.(new Ue("dnslink:cache",{detail:s})),s}t.onProgress?.(new Ue("dnslink:query",{detail:e}));let o=await fA.add(async()=>{let s=await lg(n,e);return t.onProgress?.(new Ue("dnslink:answer",{detail:s})),Xl.set(e,s,lA),s},{signal:t?.signal});if(o==null)throw new Error("No DNS response received");return o},Ag=hA;function Bg(){return async(r,e={})=>Hl(r,ug,Ag,e)}var Ql=class{routing;constructor(e){this.routing=e}async put(e,t,n={}){try{await this.routing.put(e,t,n)}catch(o){n.onProgress?.(new Ue("ipns:routing:helia:error",o))}}async get(e,t={}){try{return await this.routing.get(e,t)}catch(n){t.onProgress?.(new Ue("ipns:routing:helia:error",n))}throw new Error("Not found")}};function Sg(r){return new Ql(r)}var ps;(function(r){let e;r.codec=()=>(e==null&&(e=mr((t,n,o={})=>{o.lengthDelimited!==!1&&n.fork(),t.key!=null&&t.key.byteLength>0&&(n.uint32(10),n.bytes(t.key)),t.value!=null&&t.value.byteLength>0&&(n.uint32(18),n.bytes(t.value)),t.timeReceived!=null&&t.timeReceived!==""&&(n.uint32(42),n.string(t.timeReceived)),o.lengthDelimited!==!1&&n.ldelim()},(t,n)=>{let o={key:new Uint8Array(0),value:new Uint8Array(0),timeReceived:""},s=n==null?t.len:t.pos+n;for(;t.pos<s;){let i=t.uint32();switch(i>>>3){case 1:o.key=t.bytes();break;case 2:o.value=t.bytes();break;case 5:o.timeReceived=t.string();break;default:t.skipType(i&7);break}}return o})),e),r.encode=t=>pr(t,r.codec()),r.decode=t=>dr(t,r.codec())})(ps||(ps={}));function Ig(r){let e=r.getUTCFullYear(),t=String(r.getUTCMonth()+1).padStart(2,"0"),n=String(r.getUTCDate()).padStart(2,"0"),o=String(r.getUTCHours()).padStart(2,"0"),s=String(r.getUTCMinutes()).padStart(2,"0"),i=String(r.getUTCSeconds()).padStart(2,"0"),a=r.getUTCMilliseconds(),c=String(a*1e3*1e3).padStart(9,"0");return`${e}-${t}-${n}T${o}:${s}:${i}.${c}Z`}function Cg(r){let e=new RegExp("(\\d{4})-(\\d{2})-(\\d{2})T(\\d{2}):(\\d{2}):(\\d{2})\\.(\\d+)Z"),t=String(r).trim().match(e);if(t==null)throw new Error("Invalid format");let n=parseInt(t[1],10),o=parseInt(t[2],10)-1,s=parseInt(t[3],10),i=parseInt(t[4],10),a=parseInt(t[5],10),c=parseInt(t[6],10),f=parseInt(t[7].slice(0,-6),10);return new Date(Date.UTC(n,o,s,i,a,c,f))}var oo=class r{key;value;timeReceived;constructor(e,t,n){if(!(e instanceof Uint8Array))throw new Error("key must be a Uint8Array");if(!(t instanceof Uint8Array))throw new Error("value must be a Uint8Array");this.key=e,this.value=t,this.timeReceived=n}serialize(){return ps.encode(this.prepareSerialize())}prepareSerialize(){return{key:this.key,value:this.value,timeReceived:Ig(this.timeReceived)}}static deserialize(e){let t=ps.decode(e);return new r(t.key,t.value,new Date(t.timeReceived))}static fromDeserialized(e){let t=Cg(e.timeReceived);if(e.key==null)throw new Error("key missing from deserialized object");if(e.value==null)throw new Error("value missing from deserialized object");return new r(e.key,e.value,t)}};var Tg;(function(r){r[r.SEND_QUERY=0]="SEND_QUERY",r[r.PEER_RESPONSE=1]="PEER_RESPONSE",r[r.FINAL_PEER=2]="FINAL_PEER",r[r.QUERY_ERROR=3]="QUERY_ERROR",r[r.PROVIDER=4]="PROVIDER",r[r.VALUE=5]="VALUE",r[r.ADD_PEER=6]="ADD_PEER",r[r.DIAL_PEER=7]="DIAL_PEER"})(Tg||(Tg={}));var kg;(function(r){r[r.PUT_VALUE=0]="PUT_VALUE",r[r.GET_VALUE=1]="GET_VALUE",r[r.ADD_PROVIDER=2]="ADD_PROVIDER",r[r.GET_PROVIDERS=3]="GET_PROVIDERS",r[r.FIND_NODE=4]="FIND_NODE",r[r.PING=5]="PING"})(kg||(kg={}));function ef(r){return new Nn("/dht/record/"+ue(r,"base32"),!1)}function Rg(r){return{async put(e,t,n={}){try{let o=ef(e),s=new oo(e,t,new Date);n.onProgress?.(new Ue("ipns:routing:datastore:put")),await r.put(o,s.serialize(),n)}catch(o){throw n.onProgress?.(new Ue("ipns:routing:datastore:error",o)),o}},async get(e,t={}){try{let n=ef(e);t.onProgress?.(new Ue("ipns:routing:datastore:get"));let o=await r.get(n,t);return oo.deserialize(o).value}catch(n){throw t.onProgress?.(new Ue("ipns:routing:datastore:error",n)),n}},async has(e,t={}){let n=ef(e);return r.has(n,t)}}}var so=ir("helia:ipns"),pA=60*1e3,Ng=60*pA,mA=24*Ng,tf=23*Ng,rf=class{routers;localStore;timeout;defaultResolvers;constructor(e,t=[],n=[]){this.routers=[Sg(e.routing),...t],this.localStore=Rg(e.datastore),this.defaultResolvers=n.length>0?n:[Bg()]}async publish(e,t,n={}){try{let o=1n,s=$i(e);if(await this.localStore.has(s,n)){let c=await this.localStore.get(s,n);o=Jt(c).sequence+1n}let i=await Xp(e,t,o,n.lifetime??mA,n),a=Gc(i);return await this.localStore.put(s,a,n),n.offline!==!0&&await Promise.all(this.routers.map(async c=>{await c.put(s,a,n)})),i}catch(o){throw n.onProgress?.(new Ue("ipns:publish:error",o)),o}}async resolve(e,t={}){let n=$i(e),o=await this.#t(n,t);return this.#e(o.value,t)}async resolveDns(e,t={}){let n=t.resolvers??this.defaultResolvers,o=await Promise.any(n.map(async s=>s(e,t)));return this.#e(o,t)}republish(e={}){if(this.timeout!=null)throw new Error("Republish is already running");e.signal?.addEventListener("abort",()=>{clearTimeout(this.timeout)});async function t(){let n=Date.now();e.onProgress?.(new Ue("ipns:republish:start"));let s=Date.now()-n,i=tf-s;i<0&&(i=e.interval??tf),setTimeout(()=>{t().catch(a=>{so.error("error republishing",a)})},i)}this.timeout=setTimeout(()=>{t().catch(n=>{so.error("error republishing",n)})},e.interval??tf)}async#e(e,t={}){let n=e.split("/");if(n.length===3){let o=n[1];if(o==="ipns")return this.resolve(Ma(n[2]),t);if(o==="ipfs")return Xe.parse(n[2])}throw so.error("invalid ipfs path %s",e),new Error("Invalid value")}async#t(e,t={}){let n=[this.localStore,...this.routers];t.offline===!0&&(n=[this.localStore]);let o=[],s=0;if(await Promise.all(n.map(async a=>{let c;try{c=await a.get(e,{...t,validate:!1})}catch(f){a===this.localStore&&f.code==="ERR_NOT_FOUND"?so("did not have record locally"):so.error("error finding IPNS record",f);return}try{await Zc(e,c),o.push(c)}catch(f){s++,so.error("error finding IPNS record",f)}})),o.length===0)throw s>0?new K(`${s>1?`${s} records`:"Record"} found for routing key ${s>1?"were":"was"} invalid`,"ERR_RECORDS_FAILED_VALIDATION"):new K("Could not find record for routing key","ERR_NOT_FOUND");let i=o[Hi(e,o)];return await this.localStore.put(e,i,t),Jt(i)}};function gA(r,{routers:e=[],resolvers:t=[]}={}){return new rf(r,e,t)}return qg(yA);})();
|
|
28
9
|
/*! Bundled license information:
|
|
29
10
|
|
|
11
|
+
pvtsutils/build/index.js:
|
|
12
|
+
(*!
|
|
13
|
+
* MIT License
|
|
14
|
+
*
|
|
15
|
+
* Copyright (c) 2017-2022 Peculiar Ventures, LLC
|
|
16
|
+
*
|
|
17
|
+
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
18
|
+
* of this software and associated documentation files (the "Software"), to deal
|
|
19
|
+
* in the Software without restriction, including without limitation the rights
|
|
20
|
+
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
21
|
+
* copies of the Software, and to permit persons to whom the Software is
|
|
22
|
+
* furnished to do so, subject to the following conditions:
|
|
23
|
+
*
|
|
24
|
+
* The above copyright notice and this permission notice shall be included in all
|
|
25
|
+
* copies or substantial portions of the Software.
|
|
26
|
+
*
|
|
27
|
+
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
28
|
+
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
29
|
+
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
30
|
+
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
31
|
+
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
32
|
+
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
33
|
+
* SOFTWARE.
|
|
34
|
+
*
|
|
35
|
+
*)
|
|
36
|
+
|
|
30
37
|
@noble/hashes/esm/utils.js:
|
|
31
38
|
(*! noble-hashes - MIT License (c) 2022 Paul Miller (paulmillr.com) *)
|
|
32
39
|
|
|
@@ -45,6 +52,46 @@
|
|
|
45
52
|
@noble/curves/esm/ed25519.js:
|
|
46
53
|
(*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) *)
|
|
47
54
|
|
|
55
|
+
pvutils/build/utils.es.js:
|
|
56
|
+
(*!
|
|
57
|
+
Copyright (c) Peculiar Ventures, LLC
|
|
58
|
+
*)
|
|
59
|
+
|
|
60
|
+
asn1js/build/index.es.js:
|
|
61
|
+
(*!
|
|
62
|
+
* Copyright (c) 2014, GMO GlobalSign
|
|
63
|
+
* Copyright (c) 2015-2022, Peculiar Ventures
|
|
64
|
+
* All rights reserved.
|
|
65
|
+
*
|
|
66
|
+
* Author 2014-2019, Yury Strozhevsky
|
|
67
|
+
*
|
|
68
|
+
* Redistribution and use in source and binary forms, with or without modification,
|
|
69
|
+
* are permitted provided that the following conditions are met:
|
|
70
|
+
*
|
|
71
|
+
* * Redistributions of source code must retain the above copyright notice, this
|
|
72
|
+
* list of conditions and the following disclaimer.
|
|
73
|
+
*
|
|
74
|
+
* * Redistributions in binary form must reproduce the above copyright notice, this
|
|
75
|
+
* list of conditions and the following disclaimer in the documentation and/or
|
|
76
|
+
* other materials provided with the distribution.
|
|
77
|
+
*
|
|
78
|
+
* * Neither the name of the copyright holder nor the names of its
|
|
79
|
+
* contributors may be used to endorse or promote products derived from
|
|
80
|
+
* this software without specific prior written permission.
|
|
81
|
+
*
|
|
82
|
+
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
|
83
|
+
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
|
84
|
+
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
|
85
|
+
* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
|
|
86
|
+
* ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
|
87
|
+
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
|
88
|
+
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
|
|
89
|
+
* ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
|
90
|
+
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
|
91
|
+
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
92
|
+
*
|
|
93
|
+
*)
|
|
94
|
+
|
|
48
95
|
@noble/curves/esm/abstract/weierstrass.js:
|
|
49
96
|
(*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) *)
|
|
50
97
|
|