libp2p 0.42.2-001af1f7 → 0.42.2-064035eb
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.min.js +10 -10
- package/package.json +6 -6
- package/src/version.ts +1 -1
package/dist/index.min.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
(function (root, factory) {(typeof module === 'object' && module.exports) ? module.exports = factory() : root.Libp2P = factory()}(typeof self !== 'undefined' ? self : this, function () {
|
|
2
|
-
"use strict";var Libp2P=(()=>{var jw=Object.create;var so=Object.defineProperty;var t1=Object.getOwnPropertyDescriptor;var e1=Object.getOwnPropertyNames;var r1=Object.getPrototypeOf,n1=Object.prototype.hasOwnProperty;var I=(r,t)=>()=>(t||r((t={exports:{}}).exports,t),t.exports),ne=(r,t)=>{for(var e in t)so(r,e,{get:t[e],enumerable:!0})},Wf=(r,t,e,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of e1(t))!n1.call(r,i)&&i!==e&&so(r,i,{get:()=>t[i],enumerable:!(n=t1(t,i))||n.enumerable});return r};var C=(r,t,e)=>(e=r!=null?jw(r1(r)):{},Wf(t||!r||!r.__esModule?so(e,"default",{value:r,enumerable:!0}):e,r)),i1=r=>Wf(so({},"__esModule",{value:!0}),r);var Tc=I((pA,Qf)=>{var ti=1e3,ei=ti*60,ri=ei*60,gn=ri*24,s1=gn*7,o1=gn*365.25;Qf.exports=function(r,t){t=t||{};var e=typeof r;if(e==="string"&&r.length>0)return a1(r);if(e==="number"&&isFinite(r))return t.long?u1(r):c1(r);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(r))};function a1(r){if(r=String(r),!(r.length>100)){var t=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(r);if(t){var e=parseFloat(t[1]),n=(t[2]||"ms").toLowerCase();switch(n){case"years":case"year":case"yrs":case"yr":case"y":return e*o1;case"weeks":case"week":case"w":return e*s1;case"days":case"day":case"d":return e*gn;case"hours":case"hour":case"hrs":case"hr":case"h":return e*ri;case"minutes":case"minute":case"mins":case"min":case"m":return e*ei;case"seconds":case"second":case"secs":case"sec":case"s":return e*ti;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return e;default:return}}}}function c1(r){var t=Math.abs(r);return t>=gn?Math.round(r/gn)+"d":t>=ri?Math.round(r/ri)+"h":t>=ei?Math.round(r/ei)+"m":t>=ti?Math.round(r/ti)+"s":r+"ms"}function u1(r){var t=Math.abs(r);return t>=gn?oo(r,t,gn,"day"):t>=ri?oo(r,t,ri,"hour"):t>=ei?oo(r,t,ei,"minute"):t>=ti?oo(r,t,ti,"second"):r+" ms"}function oo(r,t,e,n){var i=t>=e*1.5;return Math.round(r/e)+" "+n+(i?"s":"")}});var Zf=I((mA,Xf)=>{function l1(r){e.debug=e,e.default=e,e.coerce=c,e.disable=s,e.enable=i,e.enabled=o,e.humanize=Tc(),e.destroy=u,Object.keys(r).forEach(l=>{e[l]=r[l]}),e.names=[],e.skips=[],e.formatters={};function t(l){let f=0;for(let d=0;d<l.length;d++)f=(f<<5)-f+l.charCodeAt(d),f|=0;return e.colors[Math.abs(f)%e.colors.length]}e.selectColor=t;function e(l){let f,d=null,h,p;function m(...y){if(!m.enabled)return;let g=m,E=Number(new Date),b=E-(f||E);g.diff=b,g.prev=f,g.curr=E,f=E,y[0]=e.coerce(y[0]),typeof y[0]!="string"&&y.unshift("%O");let O=0;y[0]=y[0].replace(/%([a-zA-Z%])/g,(D,Q)=>{if(D==="%%")return"%";O++;let Z=e.formatters[Q];if(typeof Z=="function"){let Wt=y[O];D=Z.call(g,Wt),y.splice(O,1),O--}return D}),e.formatArgs.call(g,y),(g.log||e.log).apply(g,y)}return m.namespace=l,m.useColors=e.useColors(),m.color=e.selectColor(l),m.extend=n,m.destroy=e.destroy,Object.defineProperty(m,"enabled",{enumerable:!0,configurable:!1,get:()=>d!==null?d:(h!==e.namespaces&&(h=e.namespaces,p=e.enabled(l)),p),set:y=>{d=y}}),typeof e.init=="function"&&e.init(m),m}function n(l,f){let d=e(this.namespace+(typeof f>"u"?":":f)+l);return d.log=this.log,d}function i(l){e.save(l),e.namespaces=l,e.names=[],e.skips=[];let f,d=(typeof l=="string"?l:"").split(/[\s,]+/),h=d.length;for(f=0;f<h;f++)d[f]&&(l=d[f].replace(/\*/g,".*?"),l[0]==="-"?e.skips.push(new RegExp("^"+l.slice(1)+"$")):e.names.push(new RegExp("^"+l+"$")))}function s(){let l=[...e.names.map(a),...e.skips.map(a).map(f=>"-"+f)].join(",");return e.enable(""),l}function o(l){if(l[l.length-1]==="*")return!0;let f,d;for(f=0,d=e.skips.length;f<d;f++)if(e.skips[f].test(l))return!1;for(f=0,d=e.names.length;f<d;f++)if(e.names[f].test(l))return!0;return!1}function a(l){return l.toString().substring(2,l.toString().length-2).replace(/\.\*\?$/,"*")}function c(l){return l instanceof Error?l.stack||l.message:l}function u(){console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.")}return e.enable(e.load()),e}Xf.exports=l1});var Cc=I((me,ao)=>{me.formatArgs=h1;me.save=d1;me.load=p1;me.useColors=f1;me.storage=m1();me.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`."))}})();me.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 f1(){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 h1(r){if(r[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+r[0]+(this.useColors?"%c ":" ")+"+"+ao.exports.humanize(this.diff),!this.useColors)return;let t="color: "+this.color;r.splice(1,0,t,"color: inherit");let e=0,n=0;r[0].replace(/%[a-zA-Z%]/g,i=>{i!=="%%"&&(e++,i==="%c"&&(n=e))}),r.splice(n,0,t)}me.log=console.debug||console.log||(()=>{});function d1(r){try{r?me.storage.setItem("debug",r):me.storage.removeItem("debug")}catch{}}function p1(){let r;try{r=me.storage.getItem("debug")}catch{}return!r&&typeof process<"u"&&"env"in process&&(r=process.env.DEBUG),r}function m1(){try{return localStorage}catch{}}ao.exports=Zf()(me);var{formatters:y1}=ao.exports;y1.j=function(r){try{return JSON.stringify(r)}catch(t){return"[UnexpectedJSONParseError]: "+t.message}}});var Th=I((xR,Ih)=>{Ih.exports=tu;var Rh=128,IE=127,TE=~IE,CE=Math.pow(2,31);function tu(r,t,e){if(Number.MAX_SAFE_INTEGER&&r>Number.MAX_SAFE_INTEGER)throw tu.bytes=0,new RangeError("Could not encode varint");t=t||[],e=e||0;for(var n=e;r>=CE;)t[e++]=r&255|Rh,r/=128;for(;r&TE;)t[e++]=r&255|Rh,r>>>=7;return t[e]=r|0,tu.bytes=e-n+1,t}});var Dh=I((vR,Bh)=>{Bh.exports=eu;var BE=128,Ch=127;function eu(r,n){var e=0,n=n||0,i=0,s=n,o,a=r.length;do{if(s>=a||i>49)throw eu.bytes=0,new RangeError("Could not decode varint");o=r[s++],e+=i<28?(o&Ch)<<i:(o&Ch)*Math.pow(2,i),i+=7}while(o>=BE);return eu.bytes=s-n,e}});var Ph=I((bR,Lh)=>{var DE=Math.pow(2,7),LE=Math.pow(2,14),PE=Math.pow(2,21),NE=Math.pow(2,28),kE=Math.pow(2,35),OE=Math.pow(2,42),ME=Math.pow(2,49),UE=Math.pow(2,56),FE=Math.pow(2,63);Lh.exports=function(r){return r<DE?1:r<LE?2:r<PE?3:r<NE?4:r<kE?5:r<OE?6:r<ME?7:r<UE?8:r<FE?9:10}});var fo=I((_R,Nh)=>{Nh.exports={encode:Th(),decode:Dh(),encodingLength:Ph()}});var lt=I(($R,Hh)=>{"use strict";function zh(r,t){for(let e in t)Object.defineProperty(r,e,{value:t[e],enumerable:!0,configurable:!0});return r}function tx(r,t,e){if(!r||typeof r=="string")throw new TypeError("Please pass an Error to err-code");e||(e={}),typeof t=="object"&&(e=t,t=""),t&&(e.code=t);try{return zh(r,e)}catch{e.message=r.message,e.stack=r.stack;let i=function(){};return i.prototype=Object.create(Object.getPrototypeOf(r)),zh(new i,e)}}Hh.exports=tx});var e0=I((vI,t0)=>{"use strict";t0.exports=function(){return Date.now()}});var yu=I((bI,r0)=>{"use strict";var _o=e0(),mu=class{constructor(t,e,n){let i=this;this._started=_o(),this._rescheduled=0,this._scheduled=e,this._args=n,this._triggered=!1,this._timerWrapper=()=>{i._rescheduled>0?(i._scheduled=i._rescheduled-(_o()-i._started),i._schedule(i._scheduled)):(i._triggered=!0,t.apply(null,i._args))},this._timer=setTimeout(this._timerWrapper,e)}reschedule(t){t||(t=this._scheduled);let e=_o();e+t-(this._started+this._scheduled)<0?(clearTimeout(this._timer),this._schedule(t)):this._triggered?this._schedule(t):(this._started=e,this._rescheduled=t)}_schedule(t){this._triggered=!1,this._started=_o(),this._rescheduled=0,this._scheduled=t,this._timer=setTimeout(this._timerWrapper,t)}clear(){clearTimeout(this._timer)}};function ax(){if(typeof arguments[0]!="function")throw new Error("callback needed");if(typeof arguments[1]!="number")throw new Error("timeout needed");let r;if(arguments.length>0){r=new Array(arguments.length-2);for(var t=0;t<r.length;t++)r[t]=arguments[t+2]}return new mu(arguments[0],arguments[1],r)}r0.exports=ax});var zr=I((_I,i0)=>{"use strict";var{AbortController:cx}=globalThis,n0=yu(),ts=class extends cx{constructor(t){super(),this._ms=t,this._timer=n0(()=>this.abort(),t),Object.setPrototypeOf(this,ts.prototype)}abort(){return this._timer.clear(),super.abort()}clear(){this._timer.clear()}reset(){this._timer.clear(),this._timer=n0(()=>this.abort(),this._ms)}};i0.exports={TimeoutController:ts}});var a0=I((PI,o0)=>{"use strict";var hi=new Map,hx=()=>`${Date.now()}:${Math.floor(Math.random()*1e6)}`;async function dx(r,t,e){for(;hi.get(e);){try{await r()}catch(n){setTimeout(()=>{throw n},1);break}if(!hi.get(e))break;await new Promise(n=>{let i=setTimeout(n,t);hi.set(e,i)})}}function px(r,t,e){e=e||t;let n=hx(),i=setTimeout(()=>{dx(r,t,n)},e);return hi.set(n,i),n}function mx(r){let t=hi.get(r);t&&(clearTimeout(t),hi.delete(r))}o0.exports={setDelayedInterval:px,clearDelayedInterval:mx}});var Ar=I((NI,wu)=>{"use strict";var di=typeof Reflect=="object"?Reflect:null,c0=di&&typeof di.apply=="function"?di.apply:function(t,e,n){return Function.prototype.apply.call(t,e,n)},Ao;di&&typeof di.ownKeys=="function"?Ao=di.ownKeys:Object.getOwnPropertySymbols?Ao=function(t){return Object.getOwnPropertyNames(t).concat(Object.getOwnPropertySymbols(t))}:Ao=function(t){return Object.getOwnPropertyNames(t)};function yx(r){console&&console.warn&&console.warn(r)}var l0=Number.isNaN||function(t){return t!==t};function ft(){ft.init.call(this)}wu.exports=ft;wu.exports.once=xx;ft.EventEmitter=ft;ft.prototype._events=void 0;ft.prototype._eventsCount=0;ft.prototype._maxListeners=void 0;var u0=10;function Ro(r){if(typeof r!="function")throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof r)}Object.defineProperty(ft,"defaultMaxListeners",{enumerable:!0,get:function(){return u0},set:function(r){if(typeof r!="number"||r<0||l0(r))throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received '+r+".");u0=r}});ft.init=function(){(this._events===void 0||this._events===Object.getPrototypeOf(this)._events)&&(this._events=Object.create(null),this._eventsCount=0),this._maxListeners=this._maxListeners||void 0};ft.prototype.setMaxListeners=function(t){if(typeof t!="number"||t<0||l0(t))throw new RangeError('The value of "n" is out of range. It must be a non-negative number. Received '+t+".");return this._maxListeners=t,this};function f0(r){return r._maxListeners===void 0?ft.defaultMaxListeners:r._maxListeners}ft.prototype.getMaxListeners=function(){return f0(this)};ft.prototype.emit=function(t){for(var e=[],n=1;n<arguments.length;n++)e.push(arguments[n]);var i=t==="error",s=this._events;if(s!==void 0)i=i&&s.error===void 0;else if(!i)return!1;if(i){var o;if(e.length>0&&(o=e[0]),o instanceof Error)throw o;var a=new Error("Unhandled error."+(o?" ("+o.message+")":""));throw a.context=o,a}var c=s[t];if(c===void 0)return!1;if(typeof c=="function")c0(c,this,e);else for(var u=c.length,l=y0(c,u),n=0;n<u;++n)c0(l[n],this,e);return!0};function h0(r,t,e,n){var i,s,o;if(Ro(e),s=r._events,s===void 0?(s=r._events=Object.create(null),r._eventsCount=0):(s.newListener!==void 0&&(r.emit("newListener",t,e.listener?e.listener:e),s=r._events),o=s[t]),o===void 0)o=s[t]=e,++r._eventsCount;else if(typeof o=="function"?o=s[t]=n?[e,o]:[o,e]:n?o.unshift(e):o.push(e),i=f0(r),i>0&&o.length>i&&!o.warned){o.warned=!0;var a=new Error("Possible EventEmitter memory leak detected. "+o.length+" "+String(t)+" listeners added. Use emitter.setMaxListeners() to increase limit");a.name="MaxListenersExceededWarning",a.emitter=r,a.type=t,a.count=o.length,yx(a)}return r}ft.prototype.addListener=function(t,e){return h0(this,t,e,!1)};ft.prototype.on=ft.prototype.addListener;ft.prototype.prependListener=function(t,e){return h0(this,t,e,!0)};function gx(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,arguments.length===0?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function d0(r,t,e){var n={fired:!1,wrapFn:void 0,target:r,type:t,listener:e},i=gx.bind(n);return i.listener=e,n.wrapFn=i,i}ft.prototype.once=function(t,e){return Ro(e),this.on(t,d0(this,t,e)),this};ft.prototype.prependOnceListener=function(t,e){return Ro(e),this.prependListener(t,d0(this,t,e)),this};ft.prototype.removeListener=function(t,e){var n,i,s,o,a;if(Ro(e),i=this._events,i===void 0)return this;if(n=i[t],n===void 0)return this;if(n===e||n.listener===e)--this._eventsCount===0?this._events=Object.create(null):(delete i[t],i.removeListener&&this.emit("removeListener",t,n.listener||e));else if(typeof n!="function"){for(s=-1,o=n.length-1;o>=0;o--)if(n[o]===e||n[o].listener===e){a=n[o].listener,s=o;break}if(s<0)return this;s===0?n.shift():wx(n,s),n.length===1&&(i[t]=n[0]),i.removeListener!==void 0&&this.emit("removeListener",t,a||e)}return this};ft.prototype.off=ft.prototype.removeListener;ft.prototype.removeAllListeners=function(t){var e,n,i;if(n=this._events,n===void 0)return this;if(n.removeListener===void 0)return arguments.length===0?(this._events=Object.create(null),this._eventsCount=0):n[t]!==void 0&&(--this._eventsCount===0?this._events=Object.create(null):delete n[t]),this;if(arguments.length===0){var s=Object.keys(n),o;for(i=0;i<s.length;++i)o=s[i],o!=="removeListener"&&this.removeAllListeners(o);return this.removeAllListeners("removeListener"),this._events=Object.create(null),this._eventsCount=0,this}if(e=n[t],typeof e=="function")this.removeListener(t,e);else if(e!==void 0)for(i=e.length-1;i>=0;i--)this.removeListener(t,e[i]);return this};function p0(r,t,e){var n=r._events;if(n===void 0)return[];var i=n[t];return i===void 0?[]:typeof i=="function"?e?[i.listener||i]:[i]:e?Ex(i):y0(i,i.length)}ft.prototype.listeners=function(t){return p0(this,t,!0)};ft.prototype.rawListeners=function(t){return p0(this,t,!1)};ft.listenerCount=function(r,t){return typeof r.listenerCount=="function"?r.listenerCount(t):m0.call(r,t)};ft.prototype.listenerCount=m0;function m0(r){var t=this._events;if(t!==void 0){var e=t[r];if(typeof e=="function")return 1;if(e!==void 0)return e.length}return 0}ft.prototype.eventNames=function(){return this._eventsCount>0?Ao(this._events):[]};function y0(r,t){for(var e=new Array(t),n=0;n<t;++n)e[n]=r[n];return e}function wx(r,t){for(;t+1<r.length;t++)r[t]=r[t+1];r.pop()}function Ex(r){for(var t=new Array(r.length),e=0;e<t.length;++e)t[e]=r[e].listener||r[e];return t}function xx(r,t){return new Promise(function(e,n){function i(o){r.removeListener(t,s),n(o)}function s(){typeof r.removeListener=="function"&&r.removeListener("error",i),e([].slice.call(arguments))}g0(r,t,s,{once:!0}),t!=="error"&&vx(r,i,{once:!0})})}function vx(r,t,e){typeof r.on=="function"&&g0(r,"error",t,e)}function g0(r,t,e,n){if(typeof r.on=="function")n.once?r.once(t,e):r.on(t,e);else if(typeof r.addEventListener=="function")r.addEventListener(t,function i(s){n.once&&r.removeEventListener(t,i),e(s)});else throw new TypeError('The "emitter" argument must be of type EventEmitter. Received type '+typeof r)}});var S0=I((fT,_0)=>{"use strict";_0.exports=r=>{if(Object.prototype.toString.call(r)!=="[object Object]")return!1;let t=Object.getPrototypeOf(r);return t===null||t===Object.prototype}});var B0=I((T0,C0)=>{"use strict";var Do=S0(),{hasOwnProperty:R0}=Object.prototype,{propertyIsEnumerable:Ax}=Object,mi=(r,t,e)=>Object.defineProperty(r,t,{value:e,writable:!0,enumerable:!0,configurable:!0}),Rx=T0,A0={concatArrays:!1,ignoreUndefined:!1},Lo=r=>{let t=[];for(let e in r)R0.call(r,e)&&t.push(e);if(Object.getOwnPropertySymbols){let e=Object.getOwnPropertySymbols(r);for(let n of e)Ax.call(r,n)&&t.push(n)}return t};function yi(r){return Array.isArray(r)?Ix(r):Do(r)?Tx(r):r}function Ix(r){let t=r.slice(0,0);return Lo(r).forEach(e=>{mi(t,e,yi(r[e]))}),t}function Tx(r){let t=Object.getPrototypeOf(r)===null?Object.create(null):{};return Lo(r).forEach(e=>{mi(t,e,yi(r[e]))}),t}var I0=(r,t,e,n)=>(e.forEach(i=>{typeof t[i]>"u"&&n.ignoreUndefined||(i in r&&r[i]!==Object.getPrototypeOf(r)?mi(r,i,bu(r[i],t[i],n)):mi(r,i,yi(t[i])))}),r),Cx=(r,t,e)=>{let n=r.slice(0,0),i=0;return[r,t].forEach(s=>{let o=[];for(let a=0;a<s.length;a++)R0.call(s,a)&&(o.push(String(a)),s===r?mi(n,i++,s[a]):mi(n,i++,yi(s[a])));n=I0(n,s,Lo(s).filter(a=>!o.includes(a)),e)}),n};function bu(r,t,e){return e.concatArrays&&Array.isArray(r)&&Array.isArray(t)?Cx(r,t,e):!Do(t)||!Do(r)?yi(t):I0(r,t,Lo(t),e)}C0.exports=function(...r){let t=bu(yi(A0),this!==Rx&&this||{},A0),e={_:{}};for(let n of r)if(n!==void 0){if(!Do(n))throw new TypeError("`"+n+"` is not an Option Object");e=bu(e,{_:n},t)}return e._}});var is=I((OT,N0)=>{N0.exports=class{constructor(t={}){this.points=t.points,this.duration=t.duration,this.blockDuration=t.blockDuration,this.execEvenly=t.execEvenly,this.execEvenlyMinDelayMs=t.execEvenlyMinDelayMs,this.keyPrefix=t.keyPrefix}get points(){return this._points}set points(t){this._points=t>=0?t:4}get duration(){return this._duration}set duration(t){this._duration=typeof t>"u"?1:t}get msDuration(){return this.duration*1e3}get blockDuration(){return this._blockDuration}set blockDuration(t){this._blockDuration=typeof t>"u"?0:t}get msBlockDuration(){return this.blockDuration*1e3}get execEvenly(){return this._execEvenly}set execEvenly(t){this._execEvenly=typeof t>"u"?!1:!!t}get execEvenlyMinDelayMs(){return this._execEvenlyMinDelayMs}set execEvenlyMinDelayMs(t){this._execEvenlyMinDelayMs=typeof t>"u"?Math.ceil(this.msDuration/this.points):t}get keyPrefix(){return this._keyPrefix}set keyPrefix(t){if(typeof t>"u"&&(t="rlflx"),typeof t!="string")throw new Error("keyPrefix must be string");this._keyPrefix=t}_getKeySecDuration(t={}){return t&&t.customDuration>=0?t.customDuration:this.duration}getKey(t){return this.keyPrefix.length>0?`${this.keyPrefix}:${t}`:t}parseKey(t){return t.substring(this.keyPrefix.length)}consume(){throw new Error("You have to implement the method 'consume'!")}penalty(){throw new Error("You have to implement the method 'penalty'!")}reward(){throw new Error("You have to implement the method 'reward'!")}get(){throw new Error("You have to implement the method 'get'!")}set(){throw new Error("You have to implement the method 'set'!")}block(){throw new Error("You have to implement the method 'block'!")}delete(){throw new Error("You have to implement the method 'delete'!")}}});var O0=I((UT,k0)=>{k0.exports=class{constructor(){this._keys={},this._addedKeysAmount=0}collectExpired(){let t=Date.now();Object.keys(this._keys).forEach(e=>{this._keys[e]<=t&&delete this._keys[e]}),this._addedKeysAmount=Object.keys(this._keys).length}add(t,e){this.addMs(t,e*1e3)}addMs(t,e){this._keys[t]=Date.now()+e,this._addedKeysAmount++,this._addedKeysAmount>999&&this.collectExpired()}msBeforeExpire(t){let e=this._keys[t];if(e&&e>=Date.now()){this.collectExpired();let n=Date.now();return e>=n?e-n:0}return 0}delete(t){t?delete this._keys[t]:Object.keys(this._keys).forEach(e=>{delete this._keys[e]})}}});var U0=I((FT,M0)=>{var Lx=O0();M0.exports=Lx});var Ee=I((VT,F0)=>{F0.exports=class{constructor(t,e,n,i){this.remainingPoints=typeof t>"u"?0:t,this.msBeforeNext=typeof e>"u"?0:e,this.consumedPoints=typeof n>"u"?0:n,this.isFirstInDuration=typeof i>"u"?!1:i}get msBeforeNext(){return this._msBeforeNext}set msBeforeNext(t){return this._msBeforeNext=t,this}get remainingPoints(){return this._remainingPoints}set remainingPoints(t){return this._remainingPoints=t,this}get consumedPoints(){return this._consumedPoints}set consumedPoints(t){return this._consumedPoints=t,this}get isFirstInDuration(){return this._isFirstInDuration}set isFirstInDuration(t){this._isFirstInDuration=!!t}_getDecoratedProperties(){return{remainingPoints:this.remainingPoints,msBeforeNext:this.msBeforeNext,consumedPoints:this.consumedPoints,isFirstInDuration:this.isFirstInDuration}}[Symbol.for("nodejs.util.inspect.custom")](){return this._getDecoratedProperties()}toString(){return JSON.stringify(this._getDecoratedProperties())}toJSON(){return this._getDecoratedProperties()}}});var wi=I(($T,V0)=>{var Su=is(),Px=U0(),K0=Ee();V0.exports=class extends Su{constructor(t={}){super(t),this.inMemoryBlockOnConsumed=t.inMemoryBlockOnConsumed||t.inmemoryBlockOnConsumed,this.inMemoryBlockDuration=t.inMemoryBlockDuration||t.inmemoryBlockDuration,this.insuranceLimiter=t.insuranceLimiter,this._inMemoryBlockedKeys=new Px}get client(){return this._client}set client(t){if(typeof t>"u")throw new Error("storeClient is not set");this._client=t}_afterConsume(t,e,n,i,s,o={}){let a=this._getRateLimiterRes(n,i,s);if(this.inMemoryBlockOnConsumed>0&&!(this.inMemoryBlockDuration>0)&&a.consumedPoints>=this.inMemoryBlockOnConsumed)return this._inMemoryBlockedKeys.addMs(n,a.msBeforeNext),a.consumedPoints>this.points?e(a):t(a);if(a.consumedPoints>this.points){let c=Promise.resolve();this.blockDuration>0&&a.consumedPoints<=this.points+i&&(a.msBeforeNext=this.msBlockDuration,c=this._block(n,a.consumedPoints,this.msBlockDuration,o)),this.inMemoryBlockOnConsumed>0&&a.consumedPoints>=this.inMemoryBlockOnConsumed&&(this._inMemoryBlockedKeys.add(n,this.inMemoryBlockDuration),a.msBeforeNext=this.msInMemoryBlockDuration),c.then(()=>{e(a)}).catch(u=>{e(u)})}else if(this.execEvenly&&a.msBeforeNext>0&&!a.isFirstInDuration){let c=Math.ceil(a.msBeforeNext/(a.remainingPoints+2));c<this.execEvenlyMinDelayMs&&(c=a.consumedPoints*this.execEvenlyMinDelayMs),setTimeout(t,c,a)}else t(a)}_handleError(t,e,n,i,s,o=!1,a={}){this.insuranceLimiter instanceof Su?this.insuranceLimiter[e](s,o,a).then(c=>{n(c)}).catch(c=>{i(c)}):i(t)}get _inmemoryBlockedKeys(){return this._inMemoryBlockedKeys}getInmemoryBlockMsBeforeExpire(t){return this.getInMemoryBlockMsBeforeExpire(t)}get inmemoryBlockOnConsumed(){return this.inMemoryBlockOnConsumed}set inmemoryBlockOnConsumed(t){this.inMemoryBlockOnConsumed=t}get inmemoryBlockDuration(){return this.inMemoryBlockDuration}set inmemoryBlockDuration(t){this.inMemoryBlockDuration=t}get msInmemoryBlockDuration(){return this.inMemoryBlockDuration*1e3}getInMemoryBlockMsBeforeExpire(t){return this.inMemoryBlockOnConsumed>0?this._inMemoryBlockedKeys.msBeforeExpire(t):0}get inMemoryBlockOnConsumed(){return this._inMemoryBlockOnConsumed}set inMemoryBlockOnConsumed(t){if(this._inMemoryBlockOnConsumed=t?parseInt(t):0,this.inMemoryBlockOnConsumed>0&&this.points>this.inMemoryBlockOnConsumed)throw new Error('inMemoryBlockOnConsumed option must be greater or equal "points" option')}get inMemoryBlockDuration(){return this._inMemoryBlockDuration}set inMemoryBlockDuration(t){if(this._inMemoryBlockDuration=t?parseInt(t):0,this.inMemoryBlockDuration>0&&this.inMemoryBlockOnConsumed===0)throw new Error("inMemoryBlockOnConsumed option must be set up")}get msInMemoryBlockDuration(){return this._inMemoryBlockDuration*1e3}get insuranceLimiter(){return this._insuranceLimiter}set insuranceLimiter(t){if(typeof t<"u"&&!(t instanceof Su))throw new Error("insuranceLimiter must be instance of RateLimiterAbstract");this._insuranceLimiter=t,this._insuranceLimiter&&(this._insuranceLimiter.blockDuration=this.blockDuration,this._insuranceLimiter.execEvenly=this.execEvenly)}block(t,e,n={}){let i=e*1e3;return this._block(this.getKey(t),this.points+1,i,n)}set(t,e,n,i={}){let s=(n>=0?n:this.duration)*1e3;return this._block(this.getKey(t),e,s,i)}consume(t,e=1,n={}){return new Promise((i,s)=>{let o=this.getKey(t),a=this.getInMemoryBlockMsBeforeExpire(o);if(a>0)return s(new K0(0,a));this._upsert(o,e,this._getKeySecDuration(n)*1e3,!1,n).then(c=>{this._afterConsume(i,s,o,e,c)}).catch(c=>{this._handleError(c,"consume",i,s,t,e,n)})})}penalty(t,e=1,n={}){let i=this.getKey(t);return new Promise((s,o)=>{this._upsert(i,e,this._getKeySecDuration(n)*1e3,!1,n).then(a=>{s(this._getRateLimiterRes(i,e,a))}).catch(a=>{this._handleError(a,"penalty",s,o,t,e,n)})})}reward(t,e=1,n={}){let i=this.getKey(t);return new Promise((s,o)=>{this._upsert(i,-e,this._getKeySecDuration(n)*1e3,!1,n).then(a=>{s(this._getRateLimiterRes(i,-e,a))}).catch(a=>{this._handleError(a,"reward",s,o,t,e,n)})})}get(t,e={}){let n=this.getKey(t);return new Promise((i,s)=>{this._get(n,e).then(o=>{i(o===null||typeof o>"u"?null:this._getRateLimiterRes(n,0,o))}).catch(o=>{this._handleError(o,"get",i,s,t,e)})})}delete(t,e={}){let n=this.getKey(t);return new Promise((i,s)=>{this._delete(n,e).then(o=>{this._inMemoryBlockedKeys.delete(n),i(o)}).catch(o=>{this._handleError(o,"delete",i,s,t,e)})})}deleteInMemoryBlockedAll(){this._inMemoryBlockedKeys.delete()}_getRateLimiterRes(t,e,n){throw new Error("You have to implement the method '_getRateLimiterRes'!")}_block(t,e,n,i={}){return new Promise((s,o)=>{this._upsert(t,e,n,!0,i).then(()=>{s(new K0(0,n>0?n:-1,e))}).catch(a=>{this._handleError(a,"block",s,o,this.parseKey(t),n/1e3,i)})})}_get(t,e={}){throw new Error("You have to implement the method '_get'!")}_delete(t,e={}){throw new Error("You have to implement the method '_delete'!")}_upsert(t,e,n,i=!1,s={}){throw new Error("You have to implement the method '_upsert'!")}}});var z0=I((zT,$0)=>{var Nx=wi(),kx=Ee(),q0="redis.call('set', KEYS[1], 0, 'EX', ARGV[2], 'NX') local consumed = redis.call('incrby', KEYS[1], ARGV[1]) local ttl = redis.call('pttl', KEYS[1]) if ttl == -1 then redis.call('expire', KEYS[1], ARGV[2]) ttl = 1000 * ARGV[2] end return {consumed, ttl} ",Au=class extends Nx{constructor(t){super(t),t.redis?this.client=t.redis:this.client=t.storeClient,this._rejectIfRedisNotReady=!!t.rejectIfRedisNotReady,typeof this.client.defineCommand=="function"&&this.client.defineCommand("rlflxIncr",{numberOfKeys:1,lua:q0})}_isRedisReady(){return this._rejectIfRedisNotReady?!(this.client.status&&this.client.status!=="ready"||typeof this.client.isReady=="function"&&!this.client.isReady()):!0}_getRateLimiterRes(t,e,n){let[i,s]=n;Array.isArray(i)&&([,i]=i,[,s]=s);let o=new kx;return o.consumedPoints=parseInt(i),o.isFirstInDuration=o.consumedPoints===e,o.remainingPoints=Math.max(this.points-o.consumedPoints,0),o.msBeforeNext=s,o}_upsert(t,e,n,i=!1){return new Promise((s,o)=>{if(!this._isRedisReady())return o(new Error("Redis connection is not ready"));let a=Math.floor(n/1e3),c=this.client.multi();if(i)a>0?c.set(t,e,"EX",a):c.set(t,e),c.pttl(t).exec((u,l)=>u?o(u):s(l));else if(a>0){let u=function(l,f){return l?o(l):s(f)};typeof this.client.rlflxIncr=="function"?this.client.rlflxIncr(t,e,a,u):this.client.eval(q0,1,t,e,a,u)}else c.incrby(t,e).pttl(t).exec((u,l)=>u?o(u):s(l))})}_get(t){return new Promise((e,n)=>{if(!this._isRedisReady())return n(new Error("Redis connection is not ready"));this.client.multi().get(t).pttl(t).exec((i,s)=>{if(i)n(i);else{let[o]=s;if(o===null)return e(null);e(s)}})})}_delete(t){return new Promise((e,n)=>{this.client.del(t,(i,s)=>{i?n(i):e(s>0)})})}};$0.exports=Au});var Y0=I((HT,G0)=>{var Ox=wi(),Mx=Ee();function H0(r){try{let t=r.client?r.client:r,{version:e}=t.topology.s.options.metadata.driver,n=e.split(".").map(i=>parseInt(i));return{major:n[0],feature:n[1],patch:n[2]}}catch{return{major:0,feature:0,patch:0}}}var ss=class extends Ox{constructor(t){super(t),this.dbName=t.dbName,this.tableName=t.tableName,this.indexKeyPrefix=t.indexKeyPrefix,t.mongo?this.client=t.mongo:this.client=t.storeClient,typeof this.client.then=="function"?this.client.then(e=>{this.client=e,this._initCollection(),this._driverVersion=H0(this.client)}):(this._initCollection(),this._driverVersion=H0(this.client))}get dbName(){return this._dbName}set dbName(t){this._dbName=typeof t>"u"?ss.getDbName():t}static getDbName(){return"node-rate-limiter-flexible"}get tableName(){return this._tableName}set tableName(t){this._tableName=typeof t>"u"?this.keyPrefix:t}get client(){return this._client}set client(t){if(typeof t>"u")throw new Error("mongo is not set");this._client=t}get indexKeyPrefix(){return this._indexKeyPrefix}set indexKeyPrefix(t){this._indexKeyPrefix=t||{}}_initCollection(){let e=(typeof this.client.db=="function"?this.client.db(this.dbName):this.client).collection(this.tableName);e.createIndex({expire:-1},{expireAfterSeconds:0}),e.createIndex(Object.assign({},this.indexKeyPrefix,{key:1}),{unique:!0}),this._collection=e}_getRateLimiterRes(t,e,n){let i=new Mx,s;return typeof n.value>"u"?s=n:s=n.value,i.isFirstInDuration=s.points===e,i.consumedPoints=s.points,i.remainingPoints=Math.max(this.points-i.consumedPoints,0),i.msBeforeNext=s.expire!==null?Math.max(new Date(s.expire).getTime()-Date.now(),0):-1,i}_upsert(t,e,n,i=!1,s={}){if(!this._collection)return Promise.reject(Error("Mongo connection is not established"));let o=s.attrs||{},a,c;i?(a={key:t},a=Object.assign(a,o),c={$set:{key:t,points:e,expire:n>0?new Date(Date.now()+n):null}},c.$set=Object.assign(c.$set,o)):(a={$or:[{expire:{$gt:new Date}},{expire:{$eq:null}}],key:t},a=Object.assign(a,o),c={$setOnInsert:{key:t,expire:n>0?new Date(Date.now()+n):null},$inc:{points:e}},c.$setOnInsert=Object.assign(c.$setOnInsert,o));let u={upsert:!0};return this._driverVersion.major>=4||this._driverVersion.major===3&&this._driverVersion.feature>=7||this._driverVersion.feature>=6&&this._driverVersion.patch>=7?u.returnDocument="after":u.returnOriginal=!1,new Promise((l,f)=>{this._collection.findOneAndUpdate(a,c,u).then(d=>{l(d)}).catch(d=>{if(d&&d.code===11e3){let h=Object.assign({$or:[{expire:{$lte:new Date}},{expire:{$eq:null}}],key:t},o),p={$set:Object.assign({key:t,points:e,expire:n>0?new Date(Date.now()+n):null},o)};this._collection.findOneAndUpdate(h,p,u).then(m=>{l(m)}).catch(m=>{m&&m.code===11e3?this._upsert(t,e,n,i).then(y=>l(y)).catch(y=>f(y)):f(m)})}else f(d)})})}_get(t,e={}){if(!this._collection)return Promise.reject(Error("Mongo connection is not established"));let n=e.attrs||{},i=Object.assign({key:t,$or:[{expire:{$gt:new Date}},{expire:{$eq:null}}]},n);return this._collection.findOne(i)}_delete(t,e={}){if(!this._collection)return Promise.reject(Error("Mongo connection is not established"));let n=e.attrs||{},i=Object.assign({key:t},n);return this._collection.deleteOne(i).then(s=>s.deletedCount>0)}};G0.exports=ss});var Q0=I((GT,W0)=>{var Ux=wi(),Fx=Ee(),Ru=class extends Ux{constructor(t,e=null){super(t),this.client=t.storeClient,this.clientType=t.storeType,this.dbName=t.dbName,this.tableName=t.tableName,this.clearExpiredByTimeout=t.clearExpiredByTimeout,this.tableCreated=t.tableCreated,this.tableCreated?(this.clearExpiredByTimeout&&this._clearExpiredHourAgo(),typeof e=="function"&&e()):this._createDbAndTable().then(()=>{this.tableCreated=!0,this.clearExpiredByTimeout&&this._clearExpiredHourAgo(),typeof e=="function"&&e()}).catch(n=>{if(typeof e=="function")e(n);else throw n})}clearExpired(t){return new Promise(e=>{this._getConnection().then(n=>{n.query("DELETE FROM ??.?? WHERE expire < ?",[this.dbName,this.tableName,t],()=>{this._releaseConnection(n),e()})}).catch(()=>{e()})})}_clearExpiredHourAgo(){this._clearExpiredTimeoutId&&clearTimeout(this._clearExpiredTimeoutId),this._clearExpiredTimeoutId=setTimeout(()=>{this.clearExpired(Date.now()-36e5).then(()=>{this._clearExpiredHourAgo()})},3e5),this._clearExpiredTimeoutId.unref()}_getConnection(){switch(this.clientType){case"pool":return new Promise((t,e)=>{this.client.getConnection((n,i)=>{if(n)return e(n);t(i)})});case"sequelize":return this.client.connectionManager.getConnection();case"knex":return this.client.client.acquireConnection();default:return Promise.resolve(this.client)}}_releaseConnection(t){switch(this.clientType){case"pool":return t.release();case"sequelize":return this.client.connectionManager.releaseConnection(t);case"knex":return this.client.client.releaseConnection(t);default:return!0}}_createDbAndTable(){return new Promise((t,e)=>{this._getConnection().then(n=>{n.query(`CREATE DATABASE IF NOT EXISTS \`${this.dbName}\`;`,i=>{if(i)return this._releaseConnection(n),e(i);n.query(this._getCreateTableStmt(),s=>{if(s)return this._releaseConnection(n),e(s);this._releaseConnection(n),t()})})}).catch(n=>{e(n)})})}_getCreateTableStmt(){return`CREATE TABLE IF NOT EXISTS \`${this.dbName}\`.\`${this.tableName}\` (\`key\` VARCHAR(255) CHARACTER SET utf8 NOT NULL,\`points\` INT(9) NOT NULL default 0,\`expire\` BIGINT UNSIGNED,PRIMARY KEY (\`key\`)) ENGINE = INNODB;`}get clientType(){return this._clientType}set clientType(t){if(typeof t>"u")if(this.client.constructor.name==="Connection")t="connection";else if(this.client.constructor.name==="Pool")t="pool";else if(this.client.constructor.name==="Sequelize")t="sequelize";else throw new Error("storeType is not defined");this._clientType=t.toLowerCase()}get dbName(){return this._dbName}set dbName(t){this._dbName=typeof t>"u"?"rtlmtrflx":t}get tableName(){return this._tableName}set tableName(t){this._tableName=typeof t>"u"?this.keyPrefix:t}get tableCreated(){return this._tableCreated}set tableCreated(t){this._tableCreated=typeof t>"u"?!1:!!t}get clearExpiredByTimeout(){return this._clearExpiredByTimeout}set clearExpiredByTimeout(t){this._clearExpiredByTimeout=typeof t>"u"?!0:!!t}_getRateLimiterRes(t,e,n){let i=new Fx,[s]=n;return i.isFirstInDuration=e===s.points,i.consumedPoints=i.isFirstInDuration?e:s.points,i.remainingPoints=Math.max(this.points-i.consumedPoints,0),i.msBeforeNext=s.expire?Math.max(s.expire-Date.now(),0):-1,i}_upsertTransaction(t,e,n,i,s){return new Promise((o,a)=>{t.query("BEGIN",c=>{if(c)return t.rollback(),a(c);let u=Date.now(),l=i>0?u+i:null,f,d;s?(f=`INSERT INTO ??.?? VALUES (?, ?, ?)
|
|
2
|
+
"use strict";var Libp2P=(()=>{var jw=Object.create;var so=Object.defineProperty;var t1=Object.getOwnPropertyDescriptor;var e1=Object.getOwnPropertyNames;var r1=Object.getPrototypeOf,n1=Object.prototype.hasOwnProperty;var I=(r,t)=>()=>(t||r((t={exports:{}}).exports,t),t.exports),ne=(r,t)=>{for(var e in t)so(r,e,{get:t[e],enumerable:!0})},Wf=(r,t,e,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of e1(t))!n1.call(r,i)&&i!==e&&so(r,i,{get:()=>t[i],enumerable:!(n=t1(t,i))||n.enumerable});return r};var C=(r,t,e)=>(e=r!=null?jw(r1(r)):{},Wf(t||!r||!r.__esModule?so(e,"default",{value:r,enumerable:!0}):e,r)),i1=r=>Wf(so({},"__esModule",{value:!0}),r);var Cc=I((pA,Qf)=>{var ti=1e3,ei=ti*60,ri=ei*60,gn=ri*24,s1=gn*7,o1=gn*365.25;Qf.exports=function(r,t){t=t||{};var e=typeof r;if(e==="string"&&r.length>0)return a1(r);if(e==="number"&&isFinite(r))return t.long?u1(r):c1(r);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(r))};function a1(r){if(r=String(r),!(r.length>100)){var t=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(r);if(t){var e=parseFloat(t[1]),n=(t[2]||"ms").toLowerCase();switch(n){case"years":case"year":case"yrs":case"yr":case"y":return e*o1;case"weeks":case"week":case"w":return e*s1;case"days":case"day":case"d":return e*gn;case"hours":case"hour":case"hrs":case"hr":case"h":return e*ri;case"minutes":case"minute":case"mins":case"min":case"m":return e*ei;case"seconds":case"second":case"secs":case"sec":case"s":return e*ti;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return e;default:return}}}}function c1(r){var t=Math.abs(r);return t>=gn?Math.round(r/gn)+"d":t>=ri?Math.round(r/ri)+"h":t>=ei?Math.round(r/ei)+"m":t>=ti?Math.round(r/ti)+"s":r+"ms"}function u1(r){var t=Math.abs(r);return t>=gn?oo(r,t,gn,"day"):t>=ri?oo(r,t,ri,"hour"):t>=ei?oo(r,t,ei,"minute"):t>=ti?oo(r,t,ti,"second"):r+" ms"}function oo(r,t,e,n){var i=t>=e*1.5;return Math.round(r/e)+" "+n+(i?"s":"")}});var Zf=I((mA,Xf)=>{function l1(r){e.debug=e,e.default=e,e.coerce=c,e.disable=s,e.enable=i,e.enabled=o,e.humanize=Cc(),e.destroy=u,Object.keys(r).forEach(l=>{e[l]=r[l]}),e.names=[],e.skips=[],e.formatters={};function t(l){let f=0;for(let d=0;d<l.length;d++)f=(f<<5)-f+l.charCodeAt(d),f|=0;return e.colors[Math.abs(f)%e.colors.length]}e.selectColor=t;function e(l){let f,d=null,h,p;function m(...y){if(!m.enabled)return;let g=m,E=Number(new Date),b=E-(f||E);g.diff=b,g.prev=f,g.curr=E,f=E,y[0]=e.coerce(y[0]),typeof y[0]!="string"&&y.unshift("%O");let O=0;y[0]=y[0].replace(/%([a-zA-Z%])/g,(D,Q)=>{if(D==="%%")return"%";O++;let Z=e.formatters[Q];if(typeof Z=="function"){let Wt=y[O];D=Z.call(g,Wt),y.splice(O,1),O--}return D}),e.formatArgs.call(g,y),(g.log||e.log).apply(g,y)}return m.namespace=l,m.useColors=e.useColors(),m.color=e.selectColor(l),m.extend=n,m.destroy=e.destroy,Object.defineProperty(m,"enabled",{enumerable:!0,configurable:!1,get:()=>d!==null?d:(h!==e.namespaces&&(h=e.namespaces,p=e.enabled(l)),p),set:y=>{d=y}}),typeof e.init=="function"&&e.init(m),m}function n(l,f){let d=e(this.namespace+(typeof f>"u"?":":f)+l);return d.log=this.log,d}function i(l){e.save(l),e.namespaces=l,e.names=[],e.skips=[];let f,d=(typeof l=="string"?l:"").split(/[\s,]+/),h=d.length;for(f=0;f<h;f++)d[f]&&(l=d[f].replace(/\*/g,".*?"),l[0]==="-"?e.skips.push(new RegExp("^"+l.slice(1)+"$")):e.names.push(new RegExp("^"+l+"$")))}function s(){let l=[...e.names.map(a),...e.skips.map(a).map(f=>"-"+f)].join(",");return e.enable(""),l}function o(l){if(l[l.length-1]==="*")return!0;let f,d;for(f=0,d=e.skips.length;f<d;f++)if(e.skips[f].test(l))return!1;for(f=0,d=e.names.length;f<d;f++)if(e.names[f].test(l))return!0;return!1}function a(l){return l.toString().substring(2,l.toString().length-2).replace(/\.\*\?$/,"*")}function c(l){return l instanceof Error?l.stack||l.message:l}function u(){console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.")}return e.enable(e.load()),e}Xf.exports=l1});var Bc=I((me,ao)=>{me.formatArgs=h1;me.save=d1;me.load=p1;me.useColors=f1;me.storage=m1();me.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`."))}})();me.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 f1(){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 h1(r){if(r[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+r[0]+(this.useColors?"%c ":" ")+"+"+ao.exports.humanize(this.diff),!this.useColors)return;let t="color: "+this.color;r.splice(1,0,t,"color: inherit");let e=0,n=0;r[0].replace(/%[a-zA-Z%]/g,i=>{i!=="%%"&&(e++,i==="%c"&&(n=e))}),r.splice(n,0,t)}me.log=console.debug||console.log||(()=>{});function d1(r){try{r?me.storage.setItem("debug",r):me.storage.removeItem("debug")}catch{}}function p1(){let r;try{r=me.storage.getItem("debug")}catch{}return!r&&typeof process<"u"&&"env"in process&&(r=process.env.DEBUG),r}function m1(){try{return localStorage}catch{}}ao.exports=Zf()(me);var{formatters:y1}=ao.exports;y1.j=function(r){try{return JSON.stringify(r)}catch(t){return"[UnexpectedJSONParseError]: "+t.message}}});var Th=I((xR,Ih)=>{Ih.exports=eu;var Rh=128,IE=127,TE=~IE,CE=Math.pow(2,31);function eu(r,t,e){if(Number.MAX_SAFE_INTEGER&&r>Number.MAX_SAFE_INTEGER)throw eu.bytes=0,new RangeError("Could not encode varint");t=t||[],e=e||0;for(var n=e;r>=CE;)t[e++]=r&255|Rh,r/=128;for(;r&TE;)t[e++]=r&255|Rh,r>>>=7;return t[e]=r|0,eu.bytes=e-n+1,t}});var Dh=I((vR,Bh)=>{Bh.exports=ru;var BE=128,Ch=127;function ru(r,n){var e=0,n=n||0,i=0,s=n,o,a=r.length;do{if(s>=a||i>49)throw ru.bytes=0,new RangeError("Could not decode varint");o=r[s++],e+=i<28?(o&Ch)<<i:(o&Ch)*Math.pow(2,i),i+=7}while(o>=BE);return ru.bytes=s-n,e}});var Ph=I((bR,Lh)=>{var DE=Math.pow(2,7),LE=Math.pow(2,14),PE=Math.pow(2,21),NE=Math.pow(2,28),kE=Math.pow(2,35),OE=Math.pow(2,42),ME=Math.pow(2,49),UE=Math.pow(2,56),FE=Math.pow(2,63);Lh.exports=function(r){return r<DE?1:r<LE?2:r<PE?3:r<NE?4:r<kE?5:r<OE?6:r<ME?7:r<UE?8:r<FE?9:10}});var fo=I((_R,Nh)=>{Nh.exports={encode:Th(),decode:Dh(),encodingLength:Ph()}});var lt=I(($R,Hh)=>{"use strict";function zh(r,t){for(let e in t)Object.defineProperty(r,e,{value:t[e],enumerable:!0,configurable:!0});return r}function tx(r,t,e){if(!r||typeof r=="string")throw new TypeError("Please pass an Error to err-code");e||(e={}),typeof t=="object"&&(e=t,t=""),t&&(e.code=t);try{return zh(r,e)}catch{e.message=r.message,e.stack=r.stack;let i=function(){};return i.prototype=Object.create(Object.getPrototypeOf(r)),zh(new i,e)}}Hh.exports=tx});var e0=I((vI,t0)=>{"use strict";t0.exports=function(){return Date.now()}});var yu=I((bI,r0)=>{"use strict";var So=e0(),mu=class{constructor(t,e,n){let i=this;this._started=So(),this._rescheduled=0,this._scheduled=e,this._args=n,this._triggered=!1,this._timerWrapper=()=>{i._rescheduled>0?(i._scheduled=i._rescheduled-(So()-i._started),i._schedule(i._scheduled)):(i._triggered=!0,t.apply(null,i._args))},this._timer=setTimeout(this._timerWrapper,e)}reschedule(t){t||(t=this._scheduled);let e=So();e+t-(this._started+this._scheduled)<0?(clearTimeout(this._timer),this._schedule(t)):this._triggered?this._schedule(t):(this._started=e,this._rescheduled=t)}_schedule(t){this._triggered=!1,this._started=So(),this._rescheduled=0,this._scheduled=t,this._timer=setTimeout(this._timerWrapper,t)}clear(){clearTimeout(this._timer)}};function ax(){if(typeof arguments[0]!="function")throw new Error("callback needed");if(typeof arguments[1]!="number")throw new Error("timeout needed");let r;if(arguments.length>0){r=new Array(arguments.length-2);for(var t=0;t<r.length;t++)r[t]=arguments[t+2]}return new mu(arguments[0],arguments[1],r)}r0.exports=ax});var zr=I((_I,i0)=>{"use strict";var{AbortController:cx}=globalThis,n0=yu(),ts=class extends cx{constructor(t){super(),this._ms=t,this._timer=n0(()=>this.abort(),t),Object.setPrototypeOf(this,ts.prototype)}abort(){return this._timer.clear(),super.abort()}clear(){this._timer.clear()}reset(){this._timer.clear(),this._timer=n0(()=>this.abort(),this._ms)}};i0.exports={TimeoutController:ts}});var a0=I((PI,o0)=>{"use strict";var hi=new Map,hx=()=>`${Date.now()}:${Math.floor(Math.random()*1e6)}`;async function dx(r,t,e){for(;hi.get(e);){try{await r()}catch(n){setTimeout(()=>{throw n},1);break}if(!hi.get(e))break;await new Promise(n=>{let i=setTimeout(n,t);hi.set(e,i)})}}function px(r,t,e){e=e||t;let n=hx(),i=setTimeout(()=>{dx(r,t,n)},e);return hi.set(n,i),n}function mx(r){let t=hi.get(r);t&&(clearTimeout(t),hi.delete(r))}o0.exports={setDelayedInterval:px,clearDelayedInterval:mx}});var Ar=I((NI,wu)=>{"use strict";var di=typeof Reflect=="object"?Reflect:null,c0=di&&typeof di.apply=="function"?di.apply:function(t,e,n){return Function.prototype.apply.call(t,e,n)},Ro;di&&typeof di.ownKeys=="function"?Ro=di.ownKeys:Object.getOwnPropertySymbols?Ro=function(t){return Object.getOwnPropertyNames(t).concat(Object.getOwnPropertySymbols(t))}:Ro=function(t){return Object.getOwnPropertyNames(t)};function yx(r){console&&console.warn&&console.warn(r)}var l0=Number.isNaN||function(t){return t!==t};function ft(){ft.init.call(this)}wu.exports=ft;wu.exports.once=xx;ft.EventEmitter=ft;ft.prototype._events=void 0;ft.prototype._eventsCount=0;ft.prototype._maxListeners=void 0;var u0=10;function Io(r){if(typeof r!="function")throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof r)}Object.defineProperty(ft,"defaultMaxListeners",{enumerable:!0,get:function(){return u0},set:function(r){if(typeof r!="number"||r<0||l0(r))throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received '+r+".");u0=r}});ft.init=function(){(this._events===void 0||this._events===Object.getPrototypeOf(this)._events)&&(this._events=Object.create(null),this._eventsCount=0),this._maxListeners=this._maxListeners||void 0};ft.prototype.setMaxListeners=function(t){if(typeof t!="number"||t<0||l0(t))throw new RangeError('The value of "n" is out of range. It must be a non-negative number. Received '+t+".");return this._maxListeners=t,this};function f0(r){return r._maxListeners===void 0?ft.defaultMaxListeners:r._maxListeners}ft.prototype.getMaxListeners=function(){return f0(this)};ft.prototype.emit=function(t){for(var e=[],n=1;n<arguments.length;n++)e.push(arguments[n]);var i=t==="error",s=this._events;if(s!==void 0)i=i&&s.error===void 0;else if(!i)return!1;if(i){var o;if(e.length>0&&(o=e[0]),o instanceof Error)throw o;var a=new Error("Unhandled error."+(o?" ("+o.message+")":""));throw a.context=o,a}var c=s[t];if(c===void 0)return!1;if(typeof c=="function")c0(c,this,e);else for(var u=c.length,l=y0(c,u),n=0;n<u;++n)c0(l[n],this,e);return!0};function h0(r,t,e,n){var i,s,o;if(Io(e),s=r._events,s===void 0?(s=r._events=Object.create(null),r._eventsCount=0):(s.newListener!==void 0&&(r.emit("newListener",t,e.listener?e.listener:e),s=r._events),o=s[t]),o===void 0)o=s[t]=e,++r._eventsCount;else if(typeof o=="function"?o=s[t]=n?[e,o]:[o,e]:n?o.unshift(e):o.push(e),i=f0(r),i>0&&o.length>i&&!o.warned){o.warned=!0;var a=new Error("Possible EventEmitter memory leak detected. "+o.length+" "+String(t)+" listeners added. Use emitter.setMaxListeners() to increase limit");a.name="MaxListenersExceededWarning",a.emitter=r,a.type=t,a.count=o.length,yx(a)}return r}ft.prototype.addListener=function(t,e){return h0(this,t,e,!1)};ft.prototype.on=ft.prototype.addListener;ft.prototype.prependListener=function(t,e){return h0(this,t,e,!0)};function gx(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,arguments.length===0?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function d0(r,t,e){var n={fired:!1,wrapFn:void 0,target:r,type:t,listener:e},i=gx.bind(n);return i.listener=e,n.wrapFn=i,i}ft.prototype.once=function(t,e){return Io(e),this.on(t,d0(this,t,e)),this};ft.prototype.prependOnceListener=function(t,e){return Io(e),this.prependListener(t,d0(this,t,e)),this};ft.prototype.removeListener=function(t,e){var n,i,s,o,a;if(Io(e),i=this._events,i===void 0)return this;if(n=i[t],n===void 0)return this;if(n===e||n.listener===e)--this._eventsCount===0?this._events=Object.create(null):(delete i[t],i.removeListener&&this.emit("removeListener",t,n.listener||e));else if(typeof n!="function"){for(s=-1,o=n.length-1;o>=0;o--)if(n[o]===e||n[o].listener===e){a=n[o].listener,s=o;break}if(s<0)return this;s===0?n.shift():wx(n,s),n.length===1&&(i[t]=n[0]),i.removeListener!==void 0&&this.emit("removeListener",t,a||e)}return this};ft.prototype.off=ft.prototype.removeListener;ft.prototype.removeAllListeners=function(t){var e,n,i;if(n=this._events,n===void 0)return this;if(n.removeListener===void 0)return arguments.length===0?(this._events=Object.create(null),this._eventsCount=0):n[t]!==void 0&&(--this._eventsCount===0?this._events=Object.create(null):delete n[t]),this;if(arguments.length===0){var s=Object.keys(n),o;for(i=0;i<s.length;++i)o=s[i],o!=="removeListener"&&this.removeAllListeners(o);return this.removeAllListeners("removeListener"),this._events=Object.create(null),this._eventsCount=0,this}if(e=n[t],typeof e=="function")this.removeListener(t,e);else if(e!==void 0)for(i=e.length-1;i>=0;i--)this.removeListener(t,e[i]);return this};function p0(r,t,e){var n=r._events;if(n===void 0)return[];var i=n[t];return i===void 0?[]:typeof i=="function"?e?[i.listener||i]:[i]:e?Ex(i):y0(i,i.length)}ft.prototype.listeners=function(t){return p0(this,t,!0)};ft.prototype.rawListeners=function(t){return p0(this,t,!1)};ft.listenerCount=function(r,t){return typeof r.listenerCount=="function"?r.listenerCount(t):m0.call(r,t)};ft.prototype.listenerCount=m0;function m0(r){var t=this._events;if(t!==void 0){var e=t[r];if(typeof e=="function")return 1;if(e!==void 0)return e.length}return 0}ft.prototype.eventNames=function(){return this._eventsCount>0?Ro(this._events):[]};function y0(r,t){for(var e=new Array(t),n=0;n<t;++n)e[n]=r[n];return e}function wx(r,t){for(;t+1<r.length;t++)r[t]=r[t+1];r.pop()}function Ex(r){for(var t=new Array(r.length),e=0;e<t.length;++e)t[e]=r[e].listener||r[e];return t}function xx(r,t){return new Promise(function(e,n){function i(o){r.removeListener(t,s),n(o)}function s(){typeof r.removeListener=="function"&&r.removeListener("error",i),e([].slice.call(arguments))}g0(r,t,s,{once:!0}),t!=="error"&&vx(r,i,{once:!0})})}function vx(r,t,e){typeof r.on=="function"&&g0(r,"error",t,e)}function g0(r,t,e,n){if(typeof r.on=="function")n.once?r.once(t,e):r.on(t,e);else if(typeof r.addEventListener=="function")r.addEventListener(t,function i(s){n.once&&r.removeEventListener(t,i),e(s)});else throw new TypeError('The "emitter" argument must be of type EventEmitter. Received type '+typeof r)}});var S0=I((fT,_0)=>{"use strict";_0.exports=r=>{if(Object.prototype.toString.call(r)!=="[object Object]")return!1;let t=Object.getPrototypeOf(r);return t===null||t===Object.prototype}});var B0=I((T0,C0)=>{"use strict";var Lo=S0(),{hasOwnProperty:R0}=Object.prototype,{propertyIsEnumerable:Ax}=Object,mi=(r,t,e)=>Object.defineProperty(r,t,{value:e,writable:!0,enumerable:!0,configurable:!0}),Rx=T0,A0={concatArrays:!1,ignoreUndefined:!1},Po=r=>{let t=[];for(let e in r)R0.call(r,e)&&t.push(e);if(Object.getOwnPropertySymbols){let e=Object.getOwnPropertySymbols(r);for(let n of e)Ax.call(r,n)&&t.push(n)}return t};function yi(r){return Array.isArray(r)?Ix(r):Lo(r)?Tx(r):r}function Ix(r){let t=r.slice(0,0);return Po(r).forEach(e=>{mi(t,e,yi(r[e]))}),t}function Tx(r){let t=Object.getPrototypeOf(r)===null?Object.create(null):{};return Po(r).forEach(e=>{mi(t,e,yi(r[e]))}),t}var I0=(r,t,e,n)=>(e.forEach(i=>{typeof t[i]>"u"&&n.ignoreUndefined||(i in r&&r[i]!==Object.getPrototypeOf(r)?mi(r,i,bu(r[i],t[i],n)):mi(r,i,yi(t[i])))}),r),Cx=(r,t,e)=>{let n=r.slice(0,0),i=0;return[r,t].forEach(s=>{let o=[];for(let a=0;a<s.length;a++)R0.call(s,a)&&(o.push(String(a)),s===r?mi(n,i++,s[a]):mi(n,i++,yi(s[a])));n=I0(n,s,Po(s).filter(a=>!o.includes(a)),e)}),n};function bu(r,t,e){return e.concatArrays&&Array.isArray(r)&&Array.isArray(t)?Cx(r,t,e):!Lo(t)||!Lo(r)?yi(t):I0(r,t,Po(t),e)}C0.exports=function(...r){let t=bu(yi(A0),this!==Rx&&this||{},A0),e={_:{}};for(let n of r)if(n!==void 0){if(!Lo(n))throw new TypeError("`"+n+"` is not an Option Object");e=bu(e,{_:n},t)}return e._}});var is=I((OT,N0)=>{N0.exports=class{constructor(t={}){this.points=t.points,this.duration=t.duration,this.blockDuration=t.blockDuration,this.execEvenly=t.execEvenly,this.execEvenlyMinDelayMs=t.execEvenlyMinDelayMs,this.keyPrefix=t.keyPrefix}get points(){return this._points}set points(t){this._points=t>=0?t:4}get duration(){return this._duration}set duration(t){this._duration=typeof t>"u"?1:t}get msDuration(){return this.duration*1e3}get blockDuration(){return this._blockDuration}set blockDuration(t){this._blockDuration=typeof t>"u"?0:t}get msBlockDuration(){return this.blockDuration*1e3}get execEvenly(){return this._execEvenly}set execEvenly(t){this._execEvenly=typeof t>"u"?!1:!!t}get execEvenlyMinDelayMs(){return this._execEvenlyMinDelayMs}set execEvenlyMinDelayMs(t){this._execEvenlyMinDelayMs=typeof t>"u"?Math.ceil(this.msDuration/this.points):t}get keyPrefix(){return this._keyPrefix}set keyPrefix(t){if(typeof t>"u"&&(t="rlflx"),typeof t!="string")throw new Error("keyPrefix must be string");this._keyPrefix=t}_getKeySecDuration(t={}){return t&&t.customDuration>=0?t.customDuration:this.duration}getKey(t){return this.keyPrefix.length>0?`${this.keyPrefix}:${t}`:t}parseKey(t){return t.substring(this.keyPrefix.length)}consume(){throw new Error("You have to implement the method 'consume'!")}penalty(){throw new Error("You have to implement the method 'penalty'!")}reward(){throw new Error("You have to implement the method 'reward'!")}get(){throw new Error("You have to implement the method 'get'!")}set(){throw new Error("You have to implement the method 'set'!")}block(){throw new Error("You have to implement the method 'block'!")}delete(){throw new Error("You have to implement the method 'delete'!")}}});var O0=I((UT,k0)=>{k0.exports=class{constructor(){this._keys={},this._addedKeysAmount=0}collectExpired(){let t=Date.now();Object.keys(this._keys).forEach(e=>{this._keys[e]<=t&&delete this._keys[e]}),this._addedKeysAmount=Object.keys(this._keys).length}add(t,e){this.addMs(t,e*1e3)}addMs(t,e){this._keys[t]=Date.now()+e,this._addedKeysAmount++,this._addedKeysAmount>999&&this.collectExpired()}msBeforeExpire(t){let e=this._keys[t];if(e&&e>=Date.now()){this.collectExpired();let n=Date.now();return e>=n?e-n:0}return 0}delete(t){t?delete this._keys[t]:Object.keys(this._keys).forEach(e=>{delete this._keys[e]})}}});var U0=I((FT,M0)=>{var Lx=O0();M0.exports=Lx});var Ee=I((VT,F0)=>{F0.exports=class{constructor(t,e,n,i){this.remainingPoints=typeof t>"u"?0:t,this.msBeforeNext=typeof e>"u"?0:e,this.consumedPoints=typeof n>"u"?0:n,this.isFirstInDuration=typeof i>"u"?!1:i}get msBeforeNext(){return this._msBeforeNext}set msBeforeNext(t){return this._msBeforeNext=t,this}get remainingPoints(){return this._remainingPoints}set remainingPoints(t){return this._remainingPoints=t,this}get consumedPoints(){return this._consumedPoints}set consumedPoints(t){return this._consumedPoints=t,this}get isFirstInDuration(){return this._isFirstInDuration}set isFirstInDuration(t){this._isFirstInDuration=!!t}_getDecoratedProperties(){return{remainingPoints:this.remainingPoints,msBeforeNext:this.msBeforeNext,consumedPoints:this.consumedPoints,isFirstInDuration:this.isFirstInDuration}}[Symbol.for("nodejs.util.inspect.custom")](){return this._getDecoratedProperties()}toString(){return JSON.stringify(this._getDecoratedProperties())}toJSON(){return this._getDecoratedProperties()}}});var wi=I(($T,V0)=>{var Su=is(),Px=U0(),K0=Ee();V0.exports=class extends Su{constructor(t={}){super(t),this.inMemoryBlockOnConsumed=t.inMemoryBlockOnConsumed||t.inmemoryBlockOnConsumed,this.inMemoryBlockDuration=t.inMemoryBlockDuration||t.inmemoryBlockDuration,this.insuranceLimiter=t.insuranceLimiter,this._inMemoryBlockedKeys=new Px}get client(){return this._client}set client(t){if(typeof t>"u")throw new Error("storeClient is not set");this._client=t}_afterConsume(t,e,n,i,s,o={}){let a=this._getRateLimiterRes(n,i,s);if(this.inMemoryBlockOnConsumed>0&&!(this.inMemoryBlockDuration>0)&&a.consumedPoints>=this.inMemoryBlockOnConsumed)return this._inMemoryBlockedKeys.addMs(n,a.msBeforeNext),a.consumedPoints>this.points?e(a):t(a);if(a.consumedPoints>this.points){let c=Promise.resolve();this.blockDuration>0&&a.consumedPoints<=this.points+i&&(a.msBeforeNext=this.msBlockDuration,c=this._block(n,a.consumedPoints,this.msBlockDuration,o)),this.inMemoryBlockOnConsumed>0&&a.consumedPoints>=this.inMemoryBlockOnConsumed&&(this._inMemoryBlockedKeys.add(n,this.inMemoryBlockDuration),a.msBeforeNext=this.msInMemoryBlockDuration),c.then(()=>{e(a)}).catch(u=>{e(u)})}else if(this.execEvenly&&a.msBeforeNext>0&&!a.isFirstInDuration){let c=Math.ceil(a.msBeforeNext/(a.remainingPoints+2));c<this.execEvenlyMinDelayMs&&(c=a.consumedPoints*this.execEvenlyMinDelayMs),setTimeout(t,c,a)}else t(a)}_handleError(t,e,n,i,s,o=!1,a={}){this.insuranceLimiter instanceof Su?this.insuranceLimiter[e](s,o,a).then(c=>{n(c)}).catch(c=>{i(c)}):i(t)}get _inmemoryBlockedKeys(){return this._inMemoryBlockedKeys}getInmemoryBlockMsBeforeExpire(t){return this.getInMemoryBlockMsBeforeExpire(t)}get inmemoryBlockOnConsumed(){return this.inMemoryBlockOnConsumed}set inmemoryBlockOnConsumed(t){this.inMemoryBlockOnConsumed=t}get inmemoryBlockDuration(){return this.inMemoryBlockDuration}set inmemoryBlockDuration(t){this.inMemoryBlockDuration=t}get msInmemoryBlockDuration(){return this.inMemoryBlockDuration*1e3}getInMemoryBlockMsBeforeExpire(t){return this.inMemoryBlockOnConsumed>0?this._inMemoryBlockedKeys.msBeforeExpire(t):0}get inMemoryBlockOnConsumed(){return this._inMemoryBlockOnConsumed}set inMemoryBlockOnConsumed(t){if(this._inMemoryBlockOnConsumed=t?parseInt(t):0,this.inMemoryBlockOnConsumed>0&&this.points>this.inMemoryBlockOnConsumed)throw new Error('inMemoryBlockOnConsumed option must be greater or equal "points" option')}get inMemoryBlockDuration(){return this._inMemoryBlockDuration}set inMemoryBlockDuration(t){if(this._inMemoryBlockDuration=t?parseInt(t):0,this.inMemoryBlockDuration>0&&this.inMemoryBlockOnConsumed===0)throw new Error("inMemoryBlockOnConsumed option must be set up")}get msInMemoryBlockDuration(){return this._inMemoryBlockDuration*1e3}get insuranceLimiter(){return this._insuranceLimiter}set insuranceLimiter(t){if(typeof t<"u"&&!(t instanceof Su))throw new Error("insuranceLimiter must be instance of RateLimiterAbstract");this._insuranceLimiter=t,this._insuranceLimiter&&(this._insuranceLimiter.blockDuration=this.blockDuration,this._insuranceLimiter.execEvenly=this.execEvenly)}block(t,e,n={}){let i=e*1e3;return this._block(this.getKey(t),this.points+1,i,n)}set(t,e,n,i={}){let s=(n>=0?n:this.duration)*1e3;return this._block(this.getKey(t),e,s,i)}consume(t,e=1,n={}){return new Promise((i,s)=>{let o=this.getKey(t),a=this.getInMemoryBlockMsBeforeExpire(o);if(a>0)return s(new K0(0,a));this._upsert(o,e,this._getKeySecDuration(n)*1e3,!1,n).then(c=>{this._afterConsume(i,s,o,e,c)}).catch(c=>{this._handleError(c,"consume",i,s,t,e,n)})})}penalty(t,e=1,n={}){let i=this.getKey(t);return new Promise((s,o)=>{this._upsert(i,e,this._getKeySecDuration(n)*1e3,!1,n).then(a=>{s(this._getRateLimiterRes(i,e,a))}).catch(a=>{this._handleError(a,"penalty",s,o,t,e,n)})})}reward(t,e=1,n={}){let i=this.getKey(t);return new Promise((s,o)=>{this._upsert(i,-e,this._getKeySecDuration(n)*1e3,!1,n).then(a=>{s(this._getRateLimiterRes(i,-e,a))}).catch(a=>{this._handleError(a,"reward",s,o,t,e,n)})})}get(t,e={}){let n=this.getKey(t);return new Promise((i,s)=>{this._get(n,e).then(o=>{i(o===null||typeof o>"u"?null:this._getRateLimiterRes(n,0,o))}).catch(o=>{this._handleError(o,"get",i,s,t,e)})})}delete(t,e={}){let n=this.getKey(t);return new Promise((i,s)=>{this._delete(n,e).then(o=>{this._inMemoryBlockedKeys.delete(n),i(o)}).catch(o=>{this._handleError(o,"delete",i,s,t,e)})})}deleteInMemoryBlockedAll(){this._inMemoryBlockedKeys.delete()}_getRateLimiterRes(t,e,n){throw new Error("You have to implement the method '_getRateLimiterRes'!")}_block(t,e,n,i={}){return new Promise((s,o)=>{this._upsert(t,e,n,!0,i).then(()=>{s(new K0(0,n>0?n:-1,e))}).catch(a=>{this._handleError(a,"block",s,o,this.parseKey(t),n/1e3,i)})})}_get(t,e={}){throw new Error("You have to implement the method '_get'!")}_delete(t,e={}){throw new Error("You have to implement the method '_delete'!")}_upsert(t,e,n,i=!1,s={}){throw new Error("You have to implement the method '_upsert'!")}}});var z0=I((zT,$0)=>{var Nx=wi(),kx=Ee(),q0="redis.call('set', KEYS[1], 0, 'EX', ARGV[2], 'NX') local consumed = redis.call('incrby', KEYS[1], ARGV[1]) local ttl = redis.call('pttl', KEYS[1]) if ttl == -1 then redis.call('expire', KEYS[1], ARGV[2]) ttl = 1000 * ARGV[2] end return {consumed, ttl} ",Au=class extends Nx{constructor(t){super(t),t.redis?this.client=t.redis:this.client=t.storeClient,this._rejectIfRedisNotReady=!!t.rejectIfRedisNotReady,typeof this.client.defineCommand=="function"&&this.client.defineCommand("rlflxIncr",{numberOfKeys:1,lua:q0})}_isRedisReady(){return this._rejectIfRedisNotReady?!(this.client.status&&this.client.status!=="ready"||typeof this.client.isReady=="function"&&!this.client.isReady()):!0}_getRateLimiterRes(t,e,n){let[i,s]=n;Array.isArray(i)&&([,i]=i,[,s]=s);let o=new kx;return o.consumedPoints=parseInt(i),o.isFirstInDuration=o.consumedPoints===e,o.remainingPoints=Math.max(this.points-o.consumedPoints,0),o.msBeforeNext=s,o}_upsert(t,e,n,i=!1){return new Promise((s,o)=>{if(!this._isRedisReady())return o(new Error("Redis connection is not ready"));let a=Math.floor(n/1e3),c=this.client.multi();if(i)a>0?c.set(t,e,"EX",a):c.set(t,e),c.pttl(t).exec((u,l)=>u?o(u):s(l));else if(a>0){let u=function(l,f){return l?o(l):s(f)};typeof this.client.rlflxIncr=="function"?this.client.rlflxIncr(t,e,a,u):this.client.eval(q0,1,t,e,a,u)}else c.incrby(t,e).pttl(t).exec((u,l)=>u?o(u):s(l))})}_get(t){return new Promise((e,n)=>{if(!this._isRedisReady())return n(new Error("Redis connection is not ready"));this.client.multi().get(t).pttl(t).exec((i,s)=>{if(i)n(i);else{let[o]=s;if(o===null)return e(null);e(s)}})})}_delete(t){return new Promise((e,n)=>{this.client.del(t,(i,s)=>{i?n(i):e(s>0)})})}};$0.exports=Au});var Y0=I((HT,G0)=>{var Ox=wi(),Mx=Ee();function H0(r){try{let t=r.client?r.client:r,{version:e}=t.topology.s.options.metadata.driver,n=e.split(".").map(i=>parseInt(i));return{major:n[0],feature:n[1],patch:n[2]}}catch{return{major:0,feature:0,patch:0}}}var ss=class extends Ox{constructor(t){super(t),this.dbName=t.dbName,this.tableName=t.tableName,this.indexKeyPrefix=t.indexKeyPrefix,t.mongo?this.client=t.mongo:this.client=t.storeClient,typeof this.client.then=="function"?this.client.then(e=>{this.client=e,this._initCollection(),this._driverVersion=H0(this.client)}):(this._initCollection(),this._driverVersion=H0(this.client))}get dbName(){return this._dbName}set dbName(t){this._dbName=typeof t>"u"?ss.getDbName():t}static getDbName(){return"node-rate-limiter-flexible"}get tableName(){return this._tableName}set tableName(t){this._tableName=typeof t>"u"?this.keyPrefix:t}get client(){return this._client}set client(t){if(typeof t>"u")throw new Error("mongo is not set");this._client=t}get indexKeyPrefix(){return this._indexKeyPrefix}set indexKeyPrefix(t){this._indexKeyPrefix=t||{}}_initCollection(){let e=(typeof this.client.db=="function"?this.client.db(this.dbName):this.client).collection(this.tableName);e.createIndex({expire:-1},{expireAfterSeconds:0}),e.createIndex(Object.assign({},this.indexKeyPrefix,{key:1}),{unique:!0}),this._collection=e}_getRateLimiterRes(t,e,n){let i=new Mx,s;return typeof n.value>"u"?s=n:s=n.value,i.isFirstInDuration=s.points===e,i.consumedPoints=s.points,i.remainingPoints=Math.max(this.points-i.consumedPoints,0),i.msBeforeNext=s.expire!==null?Math.max(new Date(s.expire).getTime()-Date.now(),0):-1,i}_upsert(t,e,n,i=!1,s={}){if(!this._collection)return Promise.reject(Error("Mongo connection is not established"));let o=s.attrs||{},a,c;i?(a={key:t},a=Object.assign(a,o),c={$set:{key:t,points:e,expire:n>0?new Date(Date.now()+n):null}},c.$set=Object.assign(c.$set,o)):(a={$or:[{expire:{$gt:new Date}},{expire:{$eq:null}}],key:t},a=Object.assign(a,o),c={$setOnInsert:{key:t,expire:n>0?new Date(Date.now()+n):null},$inc:{points:e}},c.$setOnInsert=Object.assign(c.$setOnInsert,o));let u={upsert:!0};return this._driverVersion.major>=4||this._driverVersion.major===3&&this._driverVersion.feature>=7||this._driverVersion.feature>=6&&this._driverVersion.patch>=7?u.returnDocument="after":u.returnOriginal=!1,new Promise((l,f)=>{this._collection.findOneAndUpdate(a,c,u).then(d=>{l(d)}).catch(d=>{if(d&&d.code===11e3){let h=Object.assign({$or:[{expire:{$lte:new Date}},{expire:{$eq:null}}],key:t},o),p={$set:Object.assign({key:t,points:e,expire:n>0?new Date(Date.now()+n):null},o)};this._collection.findOneAndUpdate(h,p,u).then(m=>{l(m)}).catch(m=>{m&&m.code===11e3?this._upsert(t,e,n,i).then(y=>l(y)).catch(y=>f(y)):f(m)})}else f(d)})})}_get(t,e={}){if(!this._collection)return Promise.reject(Error("Mongo connection is not established"));let n=e.attrs||{},i=Object.assign({key:t,$or:[{expire:{$gt:new Date}},{expire:{$eq:null}}]},n);return this._collection.findOne(i)}_delete(t,e={}){if(!this._collection)return Promise.reject(Error("Mongo connection is not established"));let n=e.attrs||{},i=Object.assign({key:t},n);return this._collection.deleteOne(i).then(s=>s.deletedCount>0)}};G0.exports=ss});var Q0=I((GT,W0)=>{var Ux=wi(),Fx=Ee(),Ru=class extends Ux{constructor(t,e=null){super(t),this.client=t.storeClient,this.clientType=t.storeType,this.dbName=t.dbName,this.tableName=t.tableName,this.clearExpiredByTimeout=t.clearExpiredByTimeout,this.tableCreated=t.tableCreated,this.tableCreated?(this.clearExpiredByTimeout&&this._clearExpiredHourAgo(),typeof e=="function"&&e()):this._createDbAndTable().then(()=>{this.tableCreated=!0,this.clearExpiredByTimeout&&this._clearExpiredHourAgo(),typeof e=="function"&&e()}).catch(n=>{if(typeof e=="function")e(n);else throw n})}clearExpired(t){return new Promise(e=>{this._getConnection().then(n=>{n.query("DELETE FROM ??.?? WHERE expire < ?",[this.dbName,this.tableName,t],()=>{this._releaseConnection(n),e()})}).catch(()=>{e()})})}_clearExpiredHourAgo(){this._clearExpiredTimeoutId&&clearTimeout(this._clearExpiredTimeoutId),this._clearExpiredTimeoutId=setTimeout(()=>{this.clearExpired(Date.now()-36e5).then(()=>{this._clearExpiredHourAgo()})},3e5),this._clearExpiredTimeoutId.unref()}_getConnection(){switch(this.clientType){case"pool":return new Promise((t,e)=>{this.client.getConnection((n,i)=>{if(n)return e(n);t(i)})});case"sequelize":return this.client.connectionManager.getConnection();case"knex":return this.client.client.acquireConnection();default:return Promise.resolve(this.client)}}_releaseConnection(t){switch(this.clientType){case"pool":return t.release();case"sequelize":return this.client.connectionManager.releaseConnection(t);case"knex":return this.client.client.releaseConnection(t);default:return!0}}_createDbAndTable(){return new Promise((t,e)=>{this._getConnection().then(n=>{n.query(`CREATE DATABASE IF NOT EXISTS \`${this.dbName}\`;`,i=>{if(i)return this._releaseConnection(n),e(i);n.query(this._getCreateTableStmt(),s=>{if(s)return this._releaseConnection(n),e(s);this._releaseConnection(n),t()})})}).catch(n=>{e(n)})})}_getCreateTableStmt(){return`CREATE TABLE IF NOT EXISTS \`${this.dbName}\`.\`${this.tableName}\` (\`key\` VARCHAR(255) CHARACTER SET utf8 NOT NULL,\`points\` INT(9) NOT NULL default 0,\`expire\` BIGINT UNSIGNED,PRIMARY KEY (\`key\`)) ENGINE = INNODB;`}get clientType(){return this._clientType}set clientType(t){if(typeof t>"u")if(this.client.constructor.name==="Connection")t="connection";else if(this.client.constructor.name==="Pool")t="pool";else if(this.client.constructor.name==="Sequelize")t="sequelize";else throw new Error("storeType is not defined");this._clientType=t.toLowerCase()}get dbName(){return this._dbName}set dbName(t){this._dbName=typeof t>"u"?"rtlmtrflx":t}get tableName(){return this._tableName}set tableName(t){this._tableName=typeof t>"u"?this.keyPrefix:t}get tableCreated(){return this._tableCreated}set tableCreated(t){this._tableCreated=typeof t>"u"?!1:!!t}get clearExpiredByTimeout(){return this._clearExpiredByTimeout}set clearExpiredByTimeout(t){this._clearExpiredByTimeout=typeof t>"u"?!0:!!t}_getRateLimiterRes(t,e,n){let i=new Fx,[s]=n;return i.isFirstInDuration=e===s.points,i.consumedPoints=i.isFirstInDuration?e:s.points,i.remainingPoints=Math.max(this.points-i.consumedPoints,0),i.msBeforeNext=s.expire?Math.max(s.expire-Date.now(),0):-1,i}_upsertTransaction(t,e,n,i,s){return new Promise((o,a)=>{t.query("BEGIN",c=>{if(c)return t.rollback(),a(c);let u=Date.now(),l=i>0?u+i:null,f,d;s?(f=`INSERT INTO ??.?? VALUES (?, ?, ?)
|
|
3
3
|
ON DUPLICATE KEY UPDATE
|
|
4
4
|
points = ?,
|
|
5
5
|
expire = ?;`,d=[this.dbName,this.tableName,e,n,l,n,l]):(f=`INSERT INTO ??.?? VALUES (?, ?, ?)
|
|
@@ -21,21 +21,21 @@
|
|
|
21
21
|
END,
|
|
22
22
|
expire = ${o}
|
|
23
23
|
RETURNING points, expire;`,values:[t,e,s,Date.now()]})}_get(t){return this.tableCreated?new Promise((e,n)=>{this._query({name:"rlflx-get",text:`
|
|
24
|
-
SELECT points, expire FROM ${this.tableName} WHERE key = $1 AND (expire > $2 OR expire IS NULL);`,values:[t,Date.now()]}).then(i=>{i.rowCount===0&&(i=null),e(i)}).catch(i=>{n(i)})}):Promise.reject(Error("Table is not created yet"))}_delete(t){return this.tableCreated?this._query({name:"rlflx-delete",text:`DELETE FROM ${this.tableName} WHERE key = $1`,values:[t]}).then(e=>e.rowCount>0):Promise.reject(Error("Table is not created yet"))}};X0.exports=Iu});var J0=I(()=>{});var Tn=I(()=>{});var td=I((jT,j0)=>{j0.exports=class{constructor(t,e,n=null){this.value=t,this.expiresAt=e,this.timeoutId=n}get value(){return this._value}set value(t){this._value=parseInt(t)}get expiresAt(){return this._expiresAt}set expiresAt(t){!(t instanceof Date)&&Number.isInteger(t)&&(t=new Date(t)),this._expiresAt=t}get timeoutId(){return this._timeoutId}set timeoutId(t){this._timeoutId=t}}});var rd=I((eC,ed)=>{var qx=td(),Tu=Ee();ed.exports=class{constructor(){this._storage={}}incrby(t,e,n){if(this._storage[t]){let i=this._storage[t].expiresAt?this._storage[t].expiresAt.getTime()-new Date().getTime():-1;return i!==0?(this._storage[t].value=this._storage[t].value+e,new Tu(0,i,this._storage[t].value,!1)):this.set(t,e,n)}return this.set(t,e,n)}set(t,e,n){let i=n*1e3;return this._storage[t]&&this._storage[t].timeoutId&&clearTimeout(this._storage[t].timeoutId),this._storage[t]=new qx(e,i>0?new Date(Date.now()+i):null),i>0&&(this._storage[t].timeoutId=setTimeout(()=>{delete this._storage[t]},i),this._storage[t].timeoutId.unref&&this._storage[t].timeoutId.unref()),new Tu(0,i===0?-1:i,this._storage[t].value,!0)}get(t){if(this._storage[t]){let e=this._storage[t].expiresAt?this._storage[t].expiresAt.getTime()-new Date().getTime():-1;return new Tu(0,e,this._storage[t].value,!1)}return null}delete(t){return this._storage[t]?(this._storage[t].timeoutId&&clearTimeout(this._storage[t].timeoutId),delete this._storage[t],!0):!1}}});var Bu=I((rC,id)=>{var $x=is(),zx=rd(),nd=Ee(),Cu=class extends $x{constructor(t={}){super(t),this._memoryStorage=new zx}consume(t,e=1,n={}){return new Promise((i,s)=>{let o=this.getKey(t),a=this._getKeySecDuration(n),c=this._memoryStorage.incrby(o,e,a);if(c.remainingPoints=Math.max(this.points-c.consumedPoints,0),c.consumedPoints>this.points)this.blockDuration>0&&c.consumedPoints<=this.points+e&&(c=this._memoryStorage.set(o,c.consumedPoints,this.blockDuration)),s(c);else if(this.execEvenly&&c.msBeforeNext>0&&!c.isFirstInDuration){let u=Math.ceil(c.msBeforeNext/(c.remainingPoints+2));u<this.execEvenlyMinDelayMs&&(u=c.consumedPoints*this.execEvenlyMinDelayMs),setTimeout(i,u,c)}else i(c)})}penalty(t,e=1,n={}){let i=this.getKey(t);return new Promise(s=>{let o=this._getKeySecDuration(n),a=this._memoryStorage.incrby(i,e,o);a.remainingPoints=Math.max(this.points-a.consumedPoints,0),s(a)})}reward(t,e=1,n={}){let i=this.getKey(t);return new Promise(s=>{let o=this._getKeySecDuration(n),a=this._memoryStorage.incrby(i,-e,o);a.remainingPoints=Math.max(this.points-a.consumedPoints,0),s(a)})}block(t,e){let n=e*1e3,i=this.points+1;return this._memoryStorage.set(this.getKey(t),i,e),Promise.resolve(new nd(0,n===0?-1:n,i))}set(t,e,n){let i=(n>=0?n:this.duration)*1e3;return this._memoryStorage.set(this.getKey(t),e,n),Promise.resolve(new nd(0,i===0?-1:i,e))}get(t){let e=this._memoryStorage.get(this.getKey(t));return e!==null&&(e.remainingPoints=Math.max(this.points-e.consumedPoints,0)),Promise.resolve(e)}delete(t){return Promise.resolve(this._memoryStorage.delete(this.getKey(t)))}};id.exports=Cu});var fd=I((nC,ld)=>{var sd=J0(),Hx=Tn(),Gx=is(),ad=Bu(),Yx=Ee(),Te="rate_limiter_flexible",vi=null,od=function(r,t,e,n){let i;n===null||n===!0||n===!1?i=n:i={remainingPoints:n.remainingPoints,msBeforeNext:n.msBeforeNext,consumedPoints:n.consumedPoints,isFirstInDuration:n.isFirstInDuration},r.send({channel:Te,keyPrefix:t.keyPrefix,promiseId:t.promiseId,type:e,data:i})},cd=function(r){setTimeout(()=>{this._initiated?process.send(r):typeof this._promises[r.promiseId]<"u"&&cd.call(this,r)},30)},Ei=function(r,t,e,n,i){let s={channel:Te,keyPrefix:this.keyPrefix,func:r,promiseId:t,data:{key:e,arg:n,opts:i}};this._initiated?process.send(s):cd.call(this,s)},ud=function(r,t){if(!t||t.channel!==Te||typeof this._rateLimiters[t.keyPrefix]>"u")return!1;let e;switch(t.func){case"consume":e=this._rateLimiters[t.keyPrefix].consume(t.data.key,t.data.arg,t.data.opts);break;case"penalty":e=this._rateLimiters[t.keyPrefix].penalty(t.data.key,t.data.arg,t.data.opts);break;case"reward":e=this._rateLimiters[t.keyPrefix].reward(t.data.key,t.data.arg,t.data.opts);break;case"block":e=this._rateLimiters[t.keyPrefix].block(t.data.key,t.data.arg,t.data.opts);break;case"get":e=this._rateLimiters[t.keyPrefix].get(t.data.key,t.data.opts);break;case"delete":e=this._rateLimiters[t.keyPrefix].delete(t.data.key,t.data.opts);break;default:return!1}e&&e.then(n=>{od(r,t,"resolve",n)}).catch(n=>{od(r,t,"reject",n)})},Wx=function(r){if(!r||r.channel!==Te||r.keyPrefix!==this.keyPrefix)return!1;if(this._promises[r.promiseId]){clearTimeout(this._promises[r.promiseId].timeoutId);let t;switch(r.data===null||r.data===!0||r.data===!1?t=r.data:t=new Yx(r.data.remainingPoints,r.data.msBeforeNext,r.data.consumedPoints,r.data.isFirstInDuration),r.type){case"resolve":this._promises[r.promiseId].resolve(t);break;case"reject":this._promises[r.promiseId].reject(t);break;default:throw new Error(`RateLimiterCluster: no such message type '${r.type}'`)}delete this._promises[r.promiseId]}},Qx=function(){return{points:this.points,duration:this.duration,blockDuration:this.blockDuration,execEvenly:this.execEvenly,execEvenlyMinDelayMs:this.execEvenlyMinDelayMs,keyPrefix:this.keyPrefix}},xi=function(r,t){let e=process.hrtime(),n=e[0].toString()+e[1].toString();return typeof this._promises[n]<"u"&&(n+=Hx.randomBytes(12).toString("base64")),this._promises[n]={resolve:r,reject:t,timeoutId:setTimeout(()=>{delete this._promises[n],t(new Error("RateLimiterCluster timeout: no answer from master in time"))},this.timeoutMs)},n},Du=class{constructor(){if(vi)return vi;this._rateLimiters={},sd.setMaxListeners(0),sd.on("message",(t,e)=>{e&&e.channel===Te&&e.type==="init"?(typeof this._rateLimiters[e.opts.keyPrefix]>"u"&&(this._rateLimiters[e.opts.keyPrefix]=new ad(e.opts)),t.send({channel:Te,type:"init",keyPrefix:e.opts.keyPrefix})):ud.call(this,t,e)}),vi=this}},Lu=class{constructor(t){if(vi)return vi;this._rateLimiters={},t.launchBus((e,n)=>{n.on("process:msg",i=>{let s=i.raw;if(s&&s.channel===Te&&s.type==="init")typeof this._rateLimiters[s.opts.keyPrefix]>"u"&&(this._rateLimiters[s.opts.keyPrefix]=new ad(s.opts)),t.sendDataToProcessId(i.process.pm_id,{data:{},topic:Te,channel:Te,type:"init",keyPrefix:s.opts.keyPrefix},(o,a)=>{o&&console.log(o,a)});else{let o={send:a=>{let c=a;c.topic=Te,typeof c.data>"u"&&(c.data={}),t.sendDataToProcessId(i.process.pm_id,c,(u,l)=>{u&&console.log(u,l)})}};ud.call(this,o,s)}})}),vi=this}},Pu=class extends Gx{get timeoutMs(){return this._timeoutMs}set timeoutMs(t){this._timeoutMs=typeof t>"u"?5e3:Math.abs(parseInt(t))}constructor(t={}){super(t),process.setMaxListeners(0),this.timeoutMs=t.timeoutMs,this._initiated=!1,process.on("message",e=>{e&&e.channel===Te&&e.type==="init"&&e.keyPrefix===this.keyPrefix?this._initiated=!0:Wx.call(this,e)}),process.send({channel:Te,type:"init",opts:Qx.call(this)}),this._promises={}}consume(t,e=1,n={}){return new Promise((i,s)=>{let o=xi.call(this,i,s);Ei.call(this,"consume",o,t,e,n)})}penalty(t,e=1,n={}){return new Promise((i,s)=>{let o=xi.call(this,i,s);Ei.call(this,"penalty",o,t,e,n)})}reward(t,e=1,n={}){return new Promise((i,s)=>{let o=xi.call(this,i,s);Ei.call(this,"reward",o,t,e,n)})}block(t,e,n={}){return new Promise((i,s)=>{let o=xi.call(this,i,s);Ei.call(this,"block",o,t,e,n)})}get(t,e={}){return new Promise((n,i)=>{let s=xi.call(this,n,i);Ei.call(this,"get",s,t,e)})}delete(t,e={}){return new Promise((n,i)=>{let s=xi.call(this,n,i);Ei.call(this,"delete",s,t,e)})}};ld.exports={RateLimiterClusterMaster:Du,RateLimiterClusterMasterPM2:Lu,RateLimiterCluster:Pu}});var dd=I((iC,hd)=>{var Xx=wi(),Zx=Ee(),Nu=class extends Xx{constructor(t){super(t),this.client=t.storeClient}_getRateLimiterRes(t,e,n){let i=new Zx;return i.consumedPoints=parseInt(n.consumedPoints),i.isFirstInDuration=n.consumedPoints===e,i.remainingPoints=Math.max(this.points-i.consumedPoints,0),i.msBeforeNext=n.msBeforeNext,i}_upsert(t,e,n,i=!1,s={}){return new Promise((o,a)=>{let c=Date.now(),u=Math.floor(n/1e3);i?this.client.set(t,e,u,l=>{l?a(l):this.client.set(`${t}_expire`,u>0?c+u*1e3:-1,u,()=>{let f={consumedPoints:e,msBeforeNext:u>0?u*1e3:-1};o(f)})}):this.client.incr(t,e,(l,f)=>{l||f===!1?this.client.add(t,e,u,(d,h)=>{if(d||!h)if(typeof s.attemptNumber>"u"||s.attemptNumber<3){let p=Object.assign({},s);p.attemptNumber=p.attemptNumber?p.attemptNumber+1:1,this._upsert(t,e,n,i,p).then(m=>o(m)).catch(m=>a(m))}else a(new Error("Can not add key"));else this.client.add(`${t}_expire`,u>0?c+u*1e3:-1,u,()=>{let p={consumedPoints:e,msBeforeNext:u>0?u*1e3:-1};o(p)})}):this.client.get(`${t}_expire`,(d,h)=>{if(d)a(d);else{let p=h===!1?0:h,m={consumedPoints:f,msBeforeNext:p>=0?Math.max(p-c,0):-1};o(m)}})})})}_get(t){return new Promise((e,n)=>{let i=Date.now();this.client.get(t,(s,o)=>{o?this.client.get(`${t}_expire`,(a,c)=>{if(a)n(a);else{let u=c===!1?0:c,l={consumedPoints:o,msBeforeNext:u>=0?Math.max(u-i,0):-1};e(l)}}):e(null)})})}_delete(t){return new Promise((e,n)=>{this.client.del(t,(i,s)=>{i?n(i):s===!1?e(s):this.client.del(`${t}_expire`,o=>{o?n(o):e(s)})})})}};hd.exports=Nu});var yd=I((oC,md)=>{var pd=Ee();md.exports=class{constructor(t={}){this.limiter=t.limiter,this.blackList=t.blackList,this.whiteList=t.whiteList,this.isBlackListed=t.isBlackListed,this.isWhiteListed=t.isWhiteListed,this.runActionAnyway=t.runActionAnyway}get limiter(){return this._limiter}set limiter(t){if(typeof t>"u")throw new Error("limiter is not set");this._limiter=t}get runActionAnyway(){return this._runActionAnyway}set runActionAnyway(t){this._runActionAnyway=typeof t>"u"?!1:t}get blackList(){return this._blackList}set blackList(t){this._blackList=Array.isArray(t)?t:[]}get isBlackListed(){return this._isBlackListed}set isBlackListed(t){if(typeof t>"u"&&(t=()=>!1),typeof t!="function")throw new Error("isBlackListed must be function");this._isBlackListed=t}get whiteList(){return this._whiteList}set whiteList(t){this._whiteList=Array.isArray(t)?t:[]}get isWhiteListed(){return this._isWhiteListed}set isWhiteListed(t){if(typeof t>"u"&&(t=()=>!1),typeof t!="function")throw new Error("isWhiteListed must be function");this._isWhiteListed=t}isBlackListedSomewhere(t){return this.blackList.indexOf(t)>=0||this.isBlackListed(t)}isWhiteListedSomewhere(t){return this.whiteList.indexOf(t)>=0||this.isWhiteListed(t)}getBlackRes(){return new pd(0,Number.MAX_SAFE_INTEGER,0,!1)}getWhiteRes(){return new pd(Number.MAX_SAFE_INTEGER,0,0,!1)}rejectBlack(){return Promise.reject(this.getBlackRes())}resolveBlack(){return Promise.resolve(this.getBlackRes())}resolveWhite(){return Promise.resolve(this.getWhiteRes())}consume(t,e=1){let n;return this.isWhiteListedSomewhere(t)?n=this.resolveWhite():this.isBlackListedSomewhere(t)&&(n=this.rejectBlack()),typeof n>"u"?this.limiter.consume(t,e):(this.runActionAnyway&&this.limiter.consume(t,e).catch(()=>{}),n)}block(t,e){let n;return this.isWhiteListedSomewhere(t)?n=this.resolveWhite():this.isBlackListedSomewhere(t)&&(n=this.resolveBlack()),typeof n>"u"?this.limiter.block(t,e):(this.runActionAnyway&&this.limiter.block(t,e).catch(()=>{}),n)}penalty(t,e){let n;return this.isWhiteListedSomewhere(t)?n=this.resolveWhite():this.isBlackListedSomewhere(t)&&(n=this.resolveBlack()),typeof n>"u"?this.limiter.penalty(t,e):(this.runActionAnyway&&this.limiter.penalty(t,e).catch(()=>{}),n)}reward(t,e){let n;return this.isWhiteListedSomewhere(t)?n=this.resolveWhite():this.isBlackListedSomewhere(t)&&(n=this.resolveBlack()),typeof n>"u"?this.limiter.reward(t,e):(this.runActionAnyway&&this.limiter.reward(t,e).catch(()=>{}),n)}get(t){let e;return this.isWhiteListedSomewhere(t)?e=this.resolveWhite():this.isBlackListedSomewhere(t)&&(e=this.resolveBlack()),typeof e>"u"||this.runActionAnyway?this.limiter.get(t):e}delete(t){return this.limiter.delete(t)}}});var wd=I((cC,gd)=>{var Jx=is();gd.exports=class{constructor(...t){if(t.length<1)throw new Error("RateLimiterUnion: at least one limiter have to be passed");t.forEach(e=>{if(!(e instanceof Jx))throw new Error("RateLimiterUnion: all limiters have to be instance of RateLimiterAbstract")}),this._limiters=t}consume(t,e=1){return new Promise((n,i)=>{let s=[];this._limiters.forEach(o=>{s.push(o.consume(t,e).catch(a=>({rejected:!0,rej:a})))}),Promise.all(s).then(o=>{let a={},c=!1;o.forEach(u=>{u.rejected===!0&&(c=!0)});for(let u=0;u<o.length;u++)c&&o[u].rejected===!0?a[this._limiters[u].keyPrefix]=o[u].rej:c||(a[this._limiters[u].keyPrefix]=o[u]);c?i(a):n(a)})})}}});var xd=I((lC,Ed)=>{Ed.exports=class extends Error{constructor(t,e){super(),Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor),this.name="CustomError",this.message=t,e&&(this.extra=e)}}});var Sd=I((hC,_d)=>{var vd=xd(),bd=4294967295,ku="limiter";_d.exports=class{constructor(t,e={maxQueueSize:bd}){this._queueLimiters={KEY_DEFAULT:new Mo(t,e)},this._limiterFlexible=t,this._maxQueueSize=e.maxQueueSize}getTokensRemaining(t=ku){return this._queueLimiters[t]?this._queueLimiters[t].getTokensRemaining():Promise.resolve(this._limiterFlexible.points)}removeTokens(t,e=ku){return this._queueLimiters[e]||(this._queueLimiters[e]=new Mo(this._limiterFlexible,{key:e,maxQueueSize:this._maxQueueSize})),this._queueLimiters[e].removeTokens(t)}};var Mo=class{constructor(t,e={maxQueueSize:bd,key:ku}){this._key=e.key,this._waitTimeout=null,this._queue=[],this._limiterFlexible=t,this._maxQueueSize=e.maxQueueSize}getTokensRemaining(){return this._limiterFlexible.get(this._key).then(t=>t!==null?t.remainingPoints:this._limiterFlexible.points)}removeTokens(t){let e=this;return new Promise((n,i)=>{if(t>e._limiterFlexible.points){i(new vd(`Requested tokens ${t} exceeds maximum ${e._limiterFlexible.points} tokens per interval`));return}e._queue.length>0?e._queueRequest.call(e,n,i,t):e._limiterFlexible.consume(e._key,t).then(s=>{n(s.remainingPoints)}).catch(s=>{s instanceof Error?i(s):(e._queueRequest.call(e,n,i,t),e._waitTimeout===null&&(e._waitTimeout=setTimeout(e._processFIFO.bind(e),s.msBeforeNext)))})})}_queueRequest(t,e,n){let i=this;i._queue.length<i._maxQueueSize?i._queue.push({resolve:t,reject:e,tokens:n}):e(new vd(`Number of requests reached it's maximum ${i._maxQueueSize}`))}_processFIFO(){let t=this;if(t._waitTimeout!==null&&(clearTimeout(t._waitTimeout),t._waitTimeout=null),t._queue.length===0)return;let e=t._queue.shift();t._limiterFlexible.consume(t._key,e.tokens).then(n=>{e.resolve(n.remainingPoints),t._processFIFO.call(t)}).catch(n=>{n instanceof Error?(e.reject(n),t._processFIFO.call(t)):(t._queue.unshift(e),t._waitTimeout===null&&(t._waitTimeout=setTimeout(t._processFIFO.bind(t),n.msBeforeNext)))})}}});var Rd=I((pC,Ad)=>{var Ou=Ee();Ad.exports=class{constructor(t,e){this._rateLimiter=t,this._burstLimiter=e}_combineRes(t,e){return new Ou(t.remainingPoints,Math.min(t.msBeforeNext,e.msBeforeNext),t.consumedPoints,t.isFirstInDuration)}consume(t,e=1,n={}){return this._rateLimiter.consume(t,e,n).catch(i=>i instanceof Ou?this._burstLimiter.consume(t,e,n).then(s=>Promise.resolve(this._combineRes(i,s))).catch(s=>s instanceof Ou?Promise.reject(this._combineRes(i,s)):Promise.reject(s)):Promise.reject(i))}get(t){return Promise.all([this._rateLimiter.get(t),this._burstLimiter.get(t)]).then(([e,n])=>this._combineRes(e,n))}get points(){return this._rateLimiter.points}}});var Td=I((mC,Id)=>{var jx=z0(),tv=Y0(),ev=Q0(),rv=Z0(),{RateLimiterClusterMaster:nv,RateLimiterClusterMasterPM2:iv,RateLimiterCluster:sv}=fd(),ov=Bu(),av=dd(),cv=yd(),uv=wd(),lv=Sd(),fv=Rd(),hv=Ee();Id.exports={RateLimiterRedis:jx,RateLimiterMongo:tv,RateLimiterMySQL:ev,RateLimiterPostgres:rv,RateLimiterMemory:ov,RateLimiterMemcache:av,RateLimiterClusterMaster:nv,RateLimiterClusterMasterPM2:iv,RateLimiterCluster:sv,RLWrapperBlackAndWhite:cv,RateLimiterUnion:uv,RateLimiterQueue:lv,BurstyRateLimiter:fv,RateLimiterRes:hv}});var Ld=I((kC,Dd)=>{"use strict";function yv(r){return r>=55296&&r<=56319}function gv(r){return r>=56320&&r<=57343}Dd.exports=function(t,e,n){if(typeof e!="string")throw new Error("Input must be string");for(var i=e.length,s=0,o,a,c=0;c<i;c+=1){if(o=e.charCodeAt(c),a=e[c],yv(o)&&gv(e.charCodeAt(c+1))&&(c+=1,a+=e[c]),s+=t(a),s===n)return e.slice(0,c+1);if(s>n)return e.slice(0,c-a.length+1)}return e}});var Nd=I((OC,Pd)=>{"use strict";function wv(r){return r>=55296&&r<=56319}function Ev(r){return r>=56320&&r<=57343}Pd.exports=function(t){if(typeof t!="string")throw new Error("Input must be string");for(var e=t.length,n=0,i=null,s=null,o=0;o<e;o++)i=t.charCodeAt(o),Ev(i)?s!=null&&wv(s)?n+=1:n+=3:i<=127?n+=1:i>=128&&i<=2047?n+=2:i>=2048&&i<=65535&&(n+=3),s=i;return n}});var Od=I((MC,kd)=>{"use strict";var xv=Ld(),vv=Nd();kd.exports=xv.bind(null,vv)});var Fd=I((UC,Ud)=>{"use strict";var bv=Od(),_v=/[\/\?<>\\:\*\|"]/g,Sv=/[\x00-\x1f\x80-\x9f]/g,Av=/^\.+$/,Rv=/^(con|prn|aux|nul|com[0-9]|lpt[0-9])(\..*)?$/i,Iv=/[\. ]+$/;function Md(r,t){if(typeof r!="string")throw new Error("Input must be string");var e=r.replace(_v,t).replace(Sv,t).replace(Av,t).replace(Rv,t).replace(Iv,t);return bv(e,255)}Ud.exports=function(r,t){var e=t&&t.replacement||"",n=Md(r,e);return e===""?n:Md(n,"")}});var Vd=I((KC,Kd)=>{"use strict";Kd.exports=Tv;function Tv(r,t){for(var e=new Array(arguments.length-1),n=0,i=2,s=!0;i<arguments.length;)e[n++]=arguments[i++];return new Promise(function(a,c){e[n]=function(l){if(s)if(s=!1,l)c(l);else{for(var f=new Array(arguments.length-1),d=0;d<f.length;)f[d++]=arguments[d];a.apply(null,f)}};try{r.apply(t||null,e)}catch(u){s&&(s=!1,c(u))}})}});var Hd=I(zd=>{"use strict";var $o=zd;$o.length=function(t){var e=t.length;if(!e)return 0;for(var n=0;--e%4>1&&t.charAt(e)==="=";)++n;return Math.ceil(t.length*3)/4-n};var bi=new Array(64),$d=new Array(123);for(Ue=0;Ue<64;)$d[bi[Ue]=Ue<26?Ue+65:Ue<52?Ue+71:Ue<62?Ue-4:Ue-59|43]=Ue++;var Ue;$o.encode=function(t,e,n){for(var i=null,s=[],o=0,a=0,c;e<n;){var u=t[e++];switch(a){case 0:s[o++]=bi[u>>2],c=(u&3)<<4,a=1;break;case 1:s[o++]=bi[c|u>>4],c=(u&15)<<2,a=2;break;case 2:s[o++]=bi[c|u>>6],s[o++]=bi[u&63],a=0;break}o>8191&&((i||(i=[])).push(String.fromCharCode.apply(String,s)),o=0)}return a&&(s[o++]=bi[c],s[o++]=61,a===1&&(s[o++]=61)),i?(o&&i.push(String.fromCharCode.apply(String,s.slice(0,o))),i.join("")):String.fromCharCode.apply(String,s.slice(0,o))};var qd="invalid encoding";$o.decode=function(t,e,n){for(var i=n,s=0,o,a=0;a<t.length;){var c=t.charCodeAt(a++);if(c===61&&s>1)break;if((c=$d[c])===void 0)throw Error(qd);switch(s){case 0:o=c,s=1;break;case 1:e[n++]=o<<2|(c&48)>>4,o=c,s=2;break;case 2:e[n++]=(o&15)<<4|(c&60)>>2,o=c,s=3;break;case 3:e[n++]=(o&3)<<6|c,s=0;break}}if(s===1)throw Error(qd);return n-i};$o.test=function(t){return/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/.test(t)}});var Yd=I((qC,Gd)=>{"use strict";Gd.exports=zo;function zo(){this._listeners={}}zo.prototype.on=function(t,e,n){return(this._listeners[t]||(this._listeners[t]=[])).push({fn:e,ctx:n||this}),this};zo.prototype.off=function(t,e){if(t===void 0)this._listeners={};else if(e===void 0)this._listeners[t]=[];else for(var n=this._listeners[t],i=0;i<n.length;)n[i].fn===e?n.splice(i,1):++i;return this};zo.prototype.emit=function(t){var e=this._listeners[t];if(e){for(var n=[],i=1;i<arguments.length;)n.push(arguments[i++]);for(i=0;i<e.length;)e[i].fn.apply(e[i++].ctx,n)}return this}});var tp=I(($C,jd)=>{"use strict";jd.exports=Wd(Wd);function Wd(r){return typeof Float32Array<"u"?function(){var t=new Float32Array([-0]),e=new Uint8Array(t.buffer),n=e[3]===128;function i(c,u,l){t[0]=c,u[l]=e[0],u[l+1]=e[1],u[l+2]=e[2],u[l+3]=e[3]}function s(c,u,l){t[0]=c,u[l]=e[3],u[l+1]=e[2],u[l+2]=e[1],u[l+3]=e[0]}r.writeFloatLE=n?i:s,r.writeFloatBE=n?s:i;function o(c,u){return e[0]=c[u],e[1]=c[u+1],e[2]=c[u+2],e[3]=c[u+3],t[0]}function a(c,u){return e[3]=c[u],e[2]=c[u+1],e[1]=c[u+2],e[0]=c[u+3],t[0]}r.readFloatLE=n?o:a,r.readFloatBE=n?a:o}():function(){function t(n,i,s,o){var a=i<0?1:0;if(a&&(i=-i),i===0)n(1/i>0?0:2147483648,s,o);else if(isNaN(i))n(2143289344,s,o);else if(i>34028234663852886e22)n((a<<31|2139095040)>>>0,s,o);else if(i<11754943508222875e-54)n((a<<31|Math.round(i/1401298464324817e-60))>>>0,s,o);else{var c=Math.floor(Math.log(i)/Math.LN2),u=Math.round(i*Math.pow(2,-c)*8388608)&8388607;n((a<<31|c+127<<23|u)>>>0,s,o)}}r.writeFloatLE=t.bind(null,Qd),r.writeFloatBE=t.bind(null,Xd);function e(n,i,s){var o=n(i,s),a=(o>>31)*2+1,c=o>>>23&255,u=o&8388607;return c===255?u?NaN:a*(1/0):c===0?a*1401298464324817e-60*u:a*Math.pow(2,c-150)*(u+8388608)}r.readFloatLE=e.bind(null,Zd),r.readFloatBE=e.bind(null,Jd)}(),typeof Float64Array<"u"?function(){var t=new Float64Array([-0]),e=new Uint8Array(t.buffer),n=e[7]===128;function i(c,u,l){t[0]=c,u[l]=e[0],u[l+1]=e[1],u[l+2]=e[2],u[l+3]=e[3],u[l+4]=e[4],u[l+5]=e[5],u[l+6]=e[6],u[l+7]=e[7]}function s(c,u,l){t[0]=c,u[l]=e[7],u[l+1]=e[6],u[l+2]=e[5],u[l+3]=e[4],u[l+4]=e[3],u[l+5]=e[2],u[l+6]=e[1],u[l+7]=e[0]}r.writeDoubleLE=n?i:s,r.writeDoubleBE=n?s:i;function o(c,u){return e[0]=c[u],e[1]=c[u+1],e[2]=c[u+2],e[3]=c[u+3],e[4]=c[u+4],e[5]=c[u+5],e[6]=c[u+6],e[7]=c[u+7],t[0]}function a(c,u){return e[7]=c[u],e[6]=c[u+1],e[5]=c[u+2],e[4]=c[u+3],e[3]=c[u+4],e[2]=c[u+5],e[1]=c[u+6],e[0]=c[u+7],t[0]}r.readDoubleLE=n?o:a,r.readDoubleBE=n?a:o}():function(){function t(n,i,s,o,a,c){var u=o<0?1:0;if(u&&(o=-o),o===0)n(0,a,c+i),n(1/o>0?0:2147483648,a,c+s);else if(isNaN(o))n(0,a,c+i),n(2146959360,a,c+s);else if(o>17976931348623157e292)n(0,a,c+i),n((u<<31|2146435072)>>>0,a,c+s);else{var l;if(o<22250738585072014e-324)l=o/5e-324,n(l>>>0,a,c+i),n((u<<31|l/4294967296)>>>0,a,c+s);else{var f=Math.floor(Math.log(o)/Math.LN2);f===1024&&(f=1023),l=o*Math.pow(2,-f),n(l*4503599627370496>>>0,a,c+i),n((u<<31|f+1023<<20|l*1048576&1048575)>>>0,a,c+s)}}}r.writeDoubleLE=t.bind(null,Qd,0,4),r.writeDoubleBE=t.bind(null,Xd,4,0);function e(n,i,s,o,a){var c=n(o,a+i),u=n(o,a+s),l=(u>>31)*2+1,f=u>>>20&2047,d=4294967296*(u&1048575)+c;return f===2047?d?NaN:l*(1/0):f===0?l*5e-324*d:l*Math.pow(2,f-1075)*(d+4503599627370496)}r.readDoubleLE=e.bind(null,Zd,0,4),r.readDoubleBE=e.bind(null,Jd,4,0)}(),r}function Qd(r,t,e){t[e]=r&255,t[e+1]=r>>>8&255,t[e+2]=r>>>16&255,t[e+3]=r>>>24}function Xd(r,t,e){t[e]=r>>>24,t[e+1]=r>>>16&255,t[e+2]=r>>>8&255,t[e+3]=r&255}function Zd(r,t){return(r[t]|r[t+1]<<8|r[t+2]<<16|r[t+3]<<24)>>>0}function Jd(r,t){return(r[t]<<24|r[t+1]<<16|r[t+2]<<8|r[t+3])>>>0}});var ep=I((exports,module)=>{"use strict";module.exports=inquire;function inquire(moduleName){try{var mod=eval("quire".replace(/^/,"re"))(moduleName);if(mod&&(mod.length||Object.keys(mod).length))return mod}catch(r){}return null}});var np=I(rp=>{"use strict";var Fu=rp;Fu.length=function(t){for(var e=0,n=0,i=0;i<t.length;++i)n=t.charCodeAt(i),n<128?e+=1:n<2048?e+=2:(n&64512)===55296&&(t.charCodeAt(i+1)&64512)===56320?(++i,e+=4):e+=3;return e};Fu.read=function(t,e,n){var i=n-e;if(i<1)return"";for(var s=null,o=[],a=0,c;e<n;)c=t[e++],c<128?o[a++]=c:c>191&&c<224?o[a++]=(c&31)<<6|t[e++]&63:c>239&&c<365?(c=((c&7)<<18|(t[e++]&63)<<12|(t[e++]&63)<<6|t[e++]&63)-65536,o[a++]=55296+(c>>10),o[a++]=56320+(c&1023)):o[a++]=(c&15)<<12|(t[e++]&63)<<6|t[e++]&63,a>8191&&((s||(s=[])).push(String.fromCharCode.apply(String,o)),a=0);return s?(a&&s.push(String.fromCharCode.apply(String,o.slice(0,a))),s.join("")):String.fromCharCode.apply(String,o.slice(0,a))};Fu.write=function(t,e,n){for(var i=n,s,o,a=0;a<t.length;++a)s=t.charCodeAt(a),s<128?e[n++]=s:s<2048?(e[n++]=s>>6|192,e[n++]=s&63|128):(s&64512)===55296&&((o=t.charCodeAt(a+1))&64512)===56320?(s=65536+((s&1023)<<10)+(o&1023),++a,e[n++]=s>>18|240,e[n++]=s>>12&63|128,e[n++]=s>>6&63|128,e[n++]=s&63|128):(e[n++]=s>>12|224,e[n++]=s>>6&63|128,e[n++]=s&63|128);return n-i}});var sp=I((HC,ip)=>{"use strict";ip.exports=Cv;function Cv(r,t,e){var n=e||8192,i=n>>>1,s=null,o=n;return function(c){if(c<1||c>i)return r(c);o+c>n&&(s=r(n),o=0);var u=t.call(s,o,o+=c);return o&7&&(o=(o|7)+1),u}}});var ap=I((GC,op)=>{"use strict";op.exports=Jt;var os=Bn();function Jt(r,t){this.lo=r>>>0,this.hi=t>>>0}var Cn=Jt.zero=new Jt(0,0);Cn.toNumber=function(){return 0};Cn.zzEncode=Cn.zzDecode=function(){return this};Cn.length=function(){return 1};var Bv=Jt.zeroHash="\0\0\0\0\0\0\0\0";Jt.fromNumber=function(t){if(t===0)return Cn;var e=t<0;e&&(t=-t);var n=t>>>0,i=(t-n)/4294967296>>>0;return e&&(i=~i>>>0,n=~n>>>0,++n>4294967295&&(n=0,++i>4294967295&&(i=0))),new Jt(n,i)};Jt.from=function(t){if(typeof t=="number")return Jt.fromNumber(t);if(os.isString(t))if(os.Long)t=os.Long.fromString(t);else return Jt.fromNumber(parseInt(t,10));return t.low||t.high?new Jt(t.low>>>0,t.high>>>0):Cn};Jt.prototype.toNumber=function(t){if(!t&&this.hi>>>31){var e=~this.lo+1>>>0,n=~this.hi>>>0;return e||(n=n+1>>>0),-(e+n*4294967296)}return this.lo+this.hi*4294967296};Jt.prototype.toLong=function(t){return os.Long?new os.Long(this.lo|0,this.hi|0,!!t):{low:this.lo|0,high:this.hi|0,unsigned:!!t}};var Wr=String.prototype.charCodeAt;Jt.fromHash=function(t){return t===Bv?Cn:new Jt((Wr.call(t,0)|Wr.call(t,1)<<8|Wr.call(t,2)<<16|Wr.call(t,3)<<24)>>>0,(Wr.call(t,4)|Wr.call(t,5)<<8|Wr.call(t,6)<<16|Wr.call(t,7)<<24)>>>0)};Jt.prototype.toHash=function(){return String.fromCharCode(this.lo&255,this.lo>>>8&255,this.lo>>>16&255,this.lo>>>24,this.hi&255,this.hi>>>8&255,this.hi>>>16&255,this.hi>>>24)};Jt.prototype.zzEncode=function(){var t=this.hi>>31;return this.hi=((this.hi<<1|this.lo>>>31)^t)>>>0,this.lo=(this.lo<<1^t)>>>0,this};Jt.prototype.zzDecode=function(){var t=-(this.lo&1);return this.lo=((this.lo>>>1|this.hi<<31)^t)>>>0,this.hi=(this.hi>>>1^t)>>>0,this};Jt.prototype.length=function(){var t=this.lo,e=(this.lo>>>28|this.hi<<4)>>>0,n=this.hi>>>24;return n===0?e===0?t<16384?t<128?1:2:t<2097152?3:4:e<16384?e<128?5:6:e<2097152?7:8:n<128?9:10}});var Bn=I(Ku=>{"use strict";var M=Ku;M.asPromise=Vd();M.base64=Hd();M.EventEmitter=Yd();M.float=tp();M.inquire=ep();M.utf8=np();M.pool=sp();M.LongBits=ap();M.isNode=!!(typeof globalThis<"u"&&globalThis&&globalThis.process&&globalThis.process.versions&&globalThis.process.versions.node);M.global=M.isNode&&globalThis||typeof window<"u"&&window||typeof self<"u"&&self||Ku;M.emptyArray=Object.freeze?Object.freeze([]):[];M.emptyObject=Object.freeze?Object.freeze({}):{};M.isInteger=Number.isInteger||function(t){return typeof t=="number"&&isFinite(t)&&Math.floor(t)===t};M.isString=function(t){return typeof t=="string"||t instanceof String};M.isObject=function(t){return t&&typeof t=="object"};M.isset=M.isSet=function(t,e){var n=t[e];return n!=null&&t.hasOwnProperty(e)?typeof n!="object"||(Array.isArray(n)?n.length:Object.keys(n).length)>0:!1};M.Buffer=function(){try{var r=M.inquire("buffer").Buffer;return r.prototype.utf8Write?r:null}catch{return null}}();M._Buffer_from=null;M._Buffer_allocUnsafe=null;M.newBuffer=function(t){return typeof t=="number"?M.Buffer?M._Buffer_allocUnsafe(t):new M.Array(t):M.Buffer?M._Buffer_from(t):typeof Uint8Array>"u"?t:new Uint8Array(t)};M.Array=typeof Uint8Array<"u"?Uint8Array:Array;M.Long=M.global.dcodeIO&&M.global.dcodeIO.Long||M.global.Long||M.inquire("long");M.key2Re=/^true|false|0|1$/;M.key32Re=/^-?(?:0|[1-9][0-9]*)$/;M.key64Re=/^(?:[\\x00-\\xff]{8}|-?(?:0|[1-9][0-9]*))$/;M.longToHash=function(t){return t?M.LongBits.from(t).toHash():M.LongBits.zeroHash};M.longFromHash=function(t,e){var n=M.LongBits.fromHash(t);return M.Long?M.Long.fromBits(n.lo,n.hi,e):n.toNumber(!!e)};function cp(r,t,e){for(var n=Object.keys(t),i=0;i<n.length;++i)(r[n[i]]===void 0||!e)&&(r[n[i]]=t[n[i]]);return r}M.merge=cp;M.lcFirst=function(t){return t.charAt(0).toLowerCase()+t.substring(1)};function up(r){function t(e,n){if(!(this instanceof t))return new t(e,n);Object.defineProperty(this,"message",{get:function(){return e}}),Error.captureStackTrace?Error.captureStackTrace(this,t):Object.defineProperty(this,"stack",{value:new Error().stack||""}),n&&cp(this,n)}return t.prototype=Object.create(Error.prototype,{constructor:{value:t,writable:!0,enumerable:!1,configurable:!0},name:{get:function(){return r},set:void 0,enumerable:!1,configurable:!0},toString:{value:function(){return this.name+": "+this.message},writable:!0,enumerable:!1,configurable:!0}}),t}M.newError=up;M.ProtocolError=up("ProtocolError");M.oneOfGetter=function(t){for(var e={},n=0;n<t.length;++n)e[t[n]]=1;return function(){for(var i=Object.keys(this),s=i.length-1;s>-1;--s)if(e[i[s]]===1&&this[i[s]]!==void 0&&this[i[s]]!==null)return i[s]}};M.oneOfSetter=function(t){return function(e){for(var n=0;n<t.length;++n)t[n]!==e&&delete this[t[n]]}};M.toJSONOptions={longs:String,enums:String,bytes:String,json:!0};M._configure=function(){var r=M.Buffer;if(!r){M._Buffer_from=M._Buffer_allocUnsafe=null;return}M._Buffer_from=r.from!==Uint8Array.from&&r.from||function(e,n){return new r(e,n)},M._Buffer_allocUnsafe=r.allocUnsafe||function(e){return new r(e)}}});var $u=I((WC,pp)=>{"use strict";pp.exports=Ft;var er=Bn(),qu,hp=er.LongBits,Dv=er.utf8;function Fe(r,t){return RangeError("index out of range: "+r.pos+" + "+(t||1)+" > "+r.len)}function Ft(r){this.buf=r,this.pos=0,this.len=r.length}var lp=typeof Uint8Array<"u"?function(t){if(t instanceof Uint8Array||Array.isArray(t))return new Ft(t);throw Error("illegal buffer")}:function(t){if(Array.isArray(t))return new Ft(t);throw Error("illegal buffer")},dp=function(){return er.Buffer?function(e){return(Ft.create=function(i){return er.Buffer.isBuffer(i)?new qu(i):lp(i)})(e)}:lp};Ft.create=dp();Ft.prototype._slice=er.Array.prototype.subarray||er.Array.prototype.slice;Ft.prototype.uint32=function(){var t=4294967295;return function(){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,Fe(this,10);return t}}();Ft.prototype.int32=function(){return this.uint32()|0};Ft.prototype.sint32=function(){var t=this.uint32();return t>>>1^-(t&1)|0};function Vu(){var r=new hp(0,0),t=0;if(this.len-this.pos>4){for(;t<4;++t)if(r.lo=(r.lo|(this.buf[this.pos]&127)<<t*7)>>>0,this.buf[this.pos++]<128)return r;if(r.lo=(r.lo|(this.buf[this.pos]&127)<<28)>>>0,r.hi=(r.hi|(this.buf[this.pos]&127)>>4)>>>0,this.buf[this.pos++]<128)return r;t=0}else{for(;t<3;++t){if(this.pos>=this.len)throw Fe(this);if(r.lo=(r.lo|(this.buf[this.pos]&127)<<t*7)>>>0,this.buf[this.pos++]<128)return r}return r.lo=(r.lo|(this.buf[this.pos++]&127)<<t*7)>>>0,r}if(this.len-this.pos>4){for(;t<5;++t)if(r.hi=(r.hi|(this.buf[this.pos]&127)<<t*7+3)>>>0,this.buf[this.pos++]<128)return r}else for(;t<5;++t){if(this.pos>=this.len)throw Fe(this);if(r.hi=(r.hi|(this.buf[this.pos]&127)<<t*7+3)>>>0,this.buf[this.pos++]<128)return r}throw Error("invalid varint encoding")}Ft.prototype.bool=function(){return this.uint32()!==0};function Ho(r,t){return(r[t-4]|r[t-3]<<8|r[t-2]<<16|r[t-1]<<24)>>>0}Ft.prototype.fixed32=function(){if(this.pos+4>this.len)throw Fe(this,4);return Ho(this.buf,this.pos+=4)};Ft.prototype.sfixed32=function(){if(this.pos+4>this.len)throw Fe(this,4);return Ho(this.buf,this.pos+=4)|0};function fp(){if(this.pos+8>this.len)throw Fe(this,8);return new hp(Ho(this.buf,this.pos+=4),Ho(this.buf,this.pos+=4))}Ft.prototype.float=function(){if(this.pos+4>this.len)throw Fe(this,4);var t=er.float.readFloatLE(this.buf,this.pos);return this.pos+=4,t};Ft.prototype.double=function(){if(this.pos+8>this.len)throw Fe(this,4);var t=er.float.readDoubleLE(this.buf,this.pos);return this.pos+=8,t};Ft.prototype.bytes=function(){var t=this.uint32(),e=this.pos,n=this.pos+t;if(n>this.len)throw Fe(this,t);return this.pos+=t,Array.isArray(this.buf)?this.buf.slice(e,n):e===n?new this.buf.constructor(0):this._slice.call(this.buf,e,n)};Ft.prototype.string=function(){var t=this.bytes();return Dv.read(t,0,t.length)};Ft.prototype.skip=function(t){if(typeof t=="number"){if(this.pos+t>this.len)throw Fe(this,t);this.pos+=t}else do if(this.pos>=this.len)throw Fe(this);while(this.buf[this.pos++]&128);return this};Ft.prototype.skipType=function(r){switch(r){case 0:this.skip();break;case 1:this.skip(8);break;case 2:this.skip(this.uint32());break;case 3:for(;(r=this.uint32()&7)!==4;)this.skipType(r);break;case 5:this.skip(4);break;default:throw Error("invalid wire type "+r+" at offset "+this.pos)}return this};Ft._configure=function(r){qu=r,Ft.create=dp(),qu._configure();var t=er.Long?"toLong":"toNumber";er.merge(Ft.prototype,{int64:function(){return Vu.call(this)[t](!1)},uint64:function(){return Vu.call(this)[t](!0)},sint64:function(){return Vu.call(this).zzDecode()[t](!1)},fixed64:function(){return fp.call(this)[t](!0)},sfixed64:function(){return fp.call(this)[t](!1)}})}});var wp=I((QC,gp)=>{"use strict";gp.exports=Dn;var yp=$u();(Dn.prototype=Object.create(yp.prototype)).constructor=Dn;var mp=Bn();function Dn(r){yp.call(this,r)}Dn._configure=function(){mp.Buffer&&(Dn.prototype._slice=mp.Buffer.prototype.slice)};Dn.prototype.string=function(){var t=this.uint32();return this.buf.utf8Slice?this.buf.utf8Slice(this.pos,this.pos=Math.min(this.pos+t,this.len)):this.buf.toString("utf-8",this.pos,this.pos=Math.min(this.pos+t,this.len))};Dn._configure()});var Xu=I((XC,bp)=>{"use strict";bp.exports=rt;var Ce=Bn(),zu,Go=Ce.LongBits,Ep=Ce.base64,xp=Ce.utf8;function as(r,t,e){this.fn=r,this.len=t,this.next=void 0,this.val=e}function Gu(){}function Lv(r){this.head=r.head,this.tail=r.tail,this.len=r.len,this.next=r.states}function rt(){this.len=0,this.head=new as(Gu,0,0),this.tail=this.head,this.states=null}var vp=function(){return Ce.Buffer?function(){return(rt.create=function(){return new zu})()}:function(){return new rt}};rt.create=vp();rt.alloc=function(t){return new Ce.Array(t)};Ce.Array!==Array&&(rt.alloc=Ce.pool(rt.alloc,Ce.Array.prototype.subarray));rt.prototype._push=function(t,e,n){return this.tail=this.tail.next=new as(t,e,n),this.len+=e,this};function Yu(r,t,e){t[e]=r&255}function Pv(r,t,e){for(;r>127;)t[e++]=r&127|128,r>>>=7;t[e]=r}function Wu(r,t){this.len=r,this.next=void 0,this.val=t}Wu.prototype=Object.create(as.prototype);Wu.prototype.fn=Pv;rt.prototype.uint32=function(t){return this.len+=(this.tail=this.tail.next=new Wu((t=t>>>0)<128?1:t<16384?2:t<2097152?3:t<268435456?4:5,t)).len,this};rt.prototype.int32=function(t){return t<0?this._push(Qu,10,Go.fromNumber(t)):this.uint32(t)};rt.prototype.sint32=function(t){return this.uint32((t<<1^t>>31)>>>0)};function Qu(r,t,e){for(;r.hi;)t[e++]=r.lo&127|128,r.lo=(r.lo>>>7|r.hi<<25)>>>0,r.hi>>>=7;for(;r.lo>127;)t[e++]=r.lo&127|128,r.lo=r.lo>>>7;t[e++]=r.lo}rt.prototype.uint64=function(t){var e=Go.from(t);return this._push(Qu,e.length(),e)};rt.prototype.int64=rt.prototype.uint64;rt.prototype.sint64=function(t){var e=Go.from(t).zzEncode();return this._push(Qu,e.length(),e)};rt.prototype.bool=function(t){return this._push(Yu,1,t?1:0)};function Hu(r,t,e){t[e]=r&255,t[e+1]=r>>>8&255,t[e+2]=r>>>16&255,t[e+3]=r>>>24}rt.prototype.fixed32=function(t){return this._push(Hu,4,t>>>0)};rt.prototype.sfixed32=rt.prototype.fixed32;rt.prototype.fixed64=function(t){var e=Go.from(t);return this._push(Hu,4,e.lo)._push(Hu,4,e.hi)};rt.prototype.sfixed64=rt.prototype.fixed64;rt.prototype.float=function(t){return this._push(Ce.float.writeFloatLE,4,t)};rt.prototype.double=function(t){return this._push(Ce.float.writeDoubleLE,8,t)};var Nv=Ce.Array.prototype.set?function(t,e,n){e.set(t,n)}:function(t,e,n){for(var i=0;i<t.length;++i)e[n+i]=t[i]};rt.prototype.bytes=function(t){var e=t.length>>>0;if(!e)return this._push(Yu,1,0);if(Ce.isString(t)){var n=rt.alloc(e=Ep.length(t));Ep.decode(t,n,0),t=n}return this.uint32(e)._push(Nv,e,t)};rt.prototype.string=function(t){var e=xp.length(t);return e?this.uint32(e)._push(xp.write,e,t):this._push(Yu,1,0)};rt.prototype.fork=function(){return this.states=new Lv(this),this.head=this.tail=new as(Gu,0,0),this.len=0,this};rt.prototype.reset=function(){return this.states?(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 as(Gu,0,0),this.len=0),this};rt.prototype.ldelim=function(){var t=this.head,e=this.tail,n=this.len;return this.reset().uint32(n),n&&(this.tail.next=t.next,this.tail=e,this.len+=n),this};rt.prototype.finish=function(){for(var t=this.head.next,e=this.constructor.alloc(this.len),n=0;t;)t.fn(t.val,e,n),n+=t.len,t=t.next;return e};rt._configure=function(r){zu=r,rt.create=vp(),zu._configure()}});var Ap=I((ZC,Sp)=>{"use strict";Sp.exports=rr;var _p=Xu();(rr.prototype=Object.create(_p.prototype)).constructor=rr;var Qr=Bn();function rr(){_p.call(this)}rr._configure=function(){rr.alloc=Qr._Buffer_allocUnsafe,rr.writeBytesBuffer=Qr.Buffer&&Qr.Buffer.prototype instanceof Uint8Array&&Qr.Buffer.prototype.set.name==="set"?function(t,e,n){e.set(t,n)}:function(t,e,n){if(t.copy)t.copy(e,n,0,t.length);else for(var i=0;i<t.length;)e[n++]=t[i++]}};rr.prototype.bytes=function(t){Qr.isString(t)&&(t=Qr._Buffer_from(t,"base64"));var e=t.length>>>0;return this.uint32(e),e&&this._push(rr.writeBytesBuffer,e,t),this};function kv(r,t,e){r.length<40?Qr.utf8.write(r,t,e):t.utf8Write?t.utf8Write(r,e):t.write(r,e)}rr.prototype.string=function(t){var e=Qr.Buffer.byteLength(t);return this.uint32(e),e&&this._push(kv,e,t),this};rr._configure()});var ut=I((m4,Bp)=>{Bp.exports={options:{usePureJavaScript:!1}}});var Pp=I((y4,Lp)=>{var rl={};Lp.exports=rl;var Dp={};rl.encode=function(r,t,e){if(typeof t!="string")throw new TypeError('"alphabet" must be a string.');if(e!==void 0&&typeof e!="number")throw new TypeError('"maxline" must be a number.');var n="";if(!(r instanceof Uint8Array))n=Fv(r,t);else{var i=0,s=t.length,o=t.charAt(0),a=[0];for(i=0;i<r.length;++i){for(var c=0,u=r[i];c<a.length;++c)u+=a[c]<<8,a[c]=u%s,u=u/s|0;for(;u>0;)a.push(u%s),u=u/s|0}for(i=0;r[i]===0&&i<r.length-1;++i)n+=o;for(i=a.length-1;i>=0;--i)n+=t[a[i]]}if(e){var l=new RegExp(".{1,"+e+"}","g");n=n.match(l).join(`\r
|
|
24
|
+
SELECT points, expire FROM ${this.tableName} WHERE key = $1 AND (expire > $2 OR expire IS NULL);`,values:[t,Date.now()]}).then(i=>{i.rowCount===0&&(i=null),e(i)}).catch(i=>{n(i)})}):Promise.reject(Error("Table is not created yet"))}_delete(t){return this.tableCreated?this._query({name:"rlflx-delete",text:`DELETE FROM ${this.tableName} WHERE key = $1`,values:[t]}).then(e=>e.rowCount>0):Promise.reject(Error("Table is not created yet"))}};X0.exports=Iu});var J0=I(()=>{});var Tn=I(()=>{});var td=I((jT,j0)=>{j0.exports=class{constructor(t,e,n=null){this.value=t,this.expiresAt=e,this.timeoutId=n}get value(){return this._value}set value(t){this._value=parseInt(t)}get expiresAt(){return this._expiresAt}set expiresAt(t){!(t instanceof Date)&&Number.isInteger(t)&&(t=new Date(t)),this._expiresAt=t}get timeoutId(){return this._timeoutId}set timeoutId(t){this._timeoutId=t}}});var rd=I((eC,ed)=>{var qx=td(),Tu=Ee();ed.exports=class{constructor(){this._storage={}}incrby(t,e,n){if(this._storage[t]){let i=this._storage[t].expiresAt?this._storage[t].expiresAt.getTime()-new Date().getTime():-1;return i!==0?(this._storage[t].value=this._storage[t].value+e,new Tu(0,i,this._storage[t].value,!1)):this.set(t,e,n)}return this.set(t,e,n)}set(t,e,n){let i=n*1e3;return this._storage[t]&&this._storage[t].timeoutId&&clearTimeout(this._storage[t].timeoutId),this._storage[t]=new qx(e,i>0?new Date(Date.now()+i):null),i>0&&(this._storage[t].timeoutId=setTimeout(()=>{delete this._storage[t]},i),this._storage[t].timeoutId.unref&&this._storage[t].timeoutId.unref()),new Tu(0,i===0?-1:i,this._storage[t].value,!0)}get(t){if(this._storage[t]){let e=this._storage[t].expiresAt?this._storage[t].expiresAt.getTime()-new Date().getTime():-1;return new Tu(0,e,this._storage[t].value,!1)}return null}delete(t){return this._storage[t]?(this._storage[t].timeoutId&&clearTimeout(this._storage[t].timeoutId),delete this._storage[t],!0):!1}}});var Bu=I((rC,id)=>{var $x=is(),zx=rd(),nd=Ee(),Cu=class extends $x{constructor(t={}){super(t),this._memoryStorage=new zx}consume(t,e=1,n={}){return new Promise((i,s)=>{let o=this.getKey(t),a=this._getKeySecDuration(n),c=this._memoryStorage.incrby(o,e,a);if(c.remainingPoints=Math.max(this.points-c.consumedPoints,0),c.consumedPoints>this.points)this.blockDuration>0&&c.consumedPoints<=this.points+e&&(c=this._memoryStorage.set(o,c.consumedPoints,this.blockDuration)),s(c);else if(this.execEvenly&&c.msBeforeNext>0&&!c.isFirstInDuration){let u=Math.ceil(c.msBeforeNext/(c.remainingPoints+2));u<this.execEvenlyMinDelayMs&&(u=c.consumedPoints*this.execEvenlyMinDelayMs),setTimeout(i,u,c)}else i(c)})}penalty(t,e=1,n={}){let i=this.getKey(t);return new Promise(s=>{let o=this._getKeySecDuration(n),a=this._memoryStorage.incrby(i,e,o);a.remainingPoints=Math.max(this.points-a.consumedPoints,0),s(a)})}reward(t,e=1,n={}){let i=this.getKey(t);return new Promise(s=>{let o=this._getKeySecDuration(n),a=this._memoryStorage.incrby(i,-e,o);a.remainingPoints=Math.max(this.points-a.consumedPoints,0),s(a)})}block(t,e){let n=e*1e3,i=this.points+1;return this._memoryStorage.set(this.getKey(t),i,e),Promise.resolve(new nd(0,n===0?-1:n,i))}set(t,e,n){let i=(n>=0?n:this.duration)*1e3;return this._memoryStorage.set(this.getKey(t),e,n),Promise.resolve(new nd(0,i===0?-1:i,e))}get(t){let e=this._memoryStorage.get(this.getKey(t));return e!==null&&(e.remainingPoints=Math.max(this.points-e.consumedPoints,0)),Promise.resolve(e)}delete(t){return Promise.resolve(this._memoryStorage.delete(this.getKey(t)))}};id.exports=Cu});var fd=I((nC,ld)=>{var sd=J0(),Hx=Tn(),Gx=is(),ad=Bu(),Yx=Ee(),Te="rate_limiter_flexible",vi=null,od=function(r,t,e,n){let i;n===null||n===!0||n===!1?i=n:i={remainingPoints:n.remainingPoints,msBeforeNext:n.msBeforeNext,consumedPoints:n.consumedPoints,isFirstInDuration:n.isFirstInDuration},r.send({channel:Te,keyPrefix:t.keyPrefix,promiseId:t.promiseId,type:e,data:i})},cd=function(r){setTimeout(()=>{this._initiated?process.send(r):typeof this._promises[r.promiseId]<"u"&&cd.call(this,r)},30)},Ei=function(r,t,e,n,i){let s={channel:Te,keyPrefix:this.keyPrefix,func:r,promiseId:t,data:{key:e,arg:n,opts:i}};this._initiated?process.send(s):cd.call(this,s)},ud=function(r,t){if(!t||t.channel!==Te||typeof this._rateLimiters[t.keyPrefix]>"u")return!1;let e;switch(t.func){case"consume":e=this._rateLimiters[t.keyPrefix].consume(t.data.key,t.data.arg,t.data.opts);break;case"penalty":e=this._rateLimiters[t.keyPrefix].penalty(t.data.key,t.data.arg,t.data.opts);break;case"reward":e=this._rateLimiters[t.keyPrefix].reward(t.data.key,t.data.arg,t.data.opts);break;case"block":e=this._rateLimiters[t.keyPrefix].block(t.data.key,t.data.arg,t.data.opts);break;case"get":e=this._rateLimiters[t.keyPrefix].get(t.data.key,t.data.opts);break;case"delete":e=this._rateLimiters[t.keyPrefix].delete(t.data.key,t.data.opts);break;default:return!1}e&&e.then(n=>{od(r,t,"resolve",n)}).catch(n=>{od(r,t,"reject",n)})},Wx=function(r){if(!r||r.channel!==Te||r.keyPrefix!==this.keyPrefix)return!1;if(this._promises[r.promiseId]){clearTimeout(this._promises[r.promiseId].timeoutId);let t;switch(r.data===null||r.data===!0||r.data===!1?t=r.data:t=new Yx(r.data.remainingPoints,r.data.msBeforeNext,r.data.consumedPoints,r.data.isFirstInDuration),r.type){case"resolve":this._promises[r.promiseId].resolve(t);break;case"reject":this._promises[r.promiseId].reject(t);break;default:throw new Error(`RateLimiterCluster: no such message type '${r.type}'`)}delete this._promises[r.promiseId]}},Qx=function(){return{points:this.points,duration:this.duration,blockDuration:this.blockDuration,execEvenly:this.execEvenly,execEvenlyMinDelayMs:this.execEvenlyMinDelayMs,keyPrefix:this.keyPrefix}},xi=function(r,t){let e=process.hrtime(),n=e[0].toString()+e[1].toString();return typeof this._promises[n]<"u"&&(n+=Hx.randomBytes(12).toString("base64")),this._promises[n]={resolve:r,reject:t,timeoutId:setTimeout(()=>{delete this._promises[n],t(new Error("RateLimiterCluster timeout: no answer from master in time"))},this.timeoutMs)},n},Du=class{constructor(){if(vi)return vi;this._rateLimiters={},sd.setMaxListeners(0),sd.on("message",(t,e)=>{e&&e.channel===Te&&e.type==="init"?(typeof this._rateLimiters[e.opts.keyPrefix]>"u"&&(this._rateLimiters[e.opts.keyPrefix]=new ad(e.opts)),t.send({channel:Te,type:"init",keyPrefix:e.opts.keyPrefix})):ud.call(this,t,e)}),vi=this}},Lu=class{constructor(t){if(vi)return vi;this._rateLimiters={},t.launchBus((e,n)=>{n.on("process:msg",i=>{let s=i.raw;if(s&&s.channel===Te&&s.type==="init")typeof this._rateLimiters[s.opts.keyPrefix]>"u"&&(this._rateLimiters[s.opts.keyPrefix]=new ad(s.opts)),t.sendDataToProcessId(i.process.pm_id,{data:{},topic:Te,channel:Te,type:"init",keyPrefix:s.opts.keyPrefix},(o,a)=>{o&&console.log(o,a)});else{let o={send:a=>{let c=a;c.topic=Te,typeof c.data>"u"&&(c.data={}),t.sendDataToProcessId(i.process.pm_id,c,(u,l)=>{u&&console.log(u,l)})}};ud.call(this,o,s)}})}),vi=this}},Pu=class extends Gx{get timeoutMs(){return this._timeoutMs}set timeoutMs(t){this._timeoutMs=typeof t>"u"?5e3:Math.abs(parseInt(t))}constructor(t={}){super(t),process.setMaxListeners(0),this.timeoutMs=t.timeoutMs,this._initiated=!1,process.on("message",e=>{e&&e.channel===Te&&e.type==="init"&&e.keyPrefix===this.keyPrefix?this._initiated=!0:Wx.call(this,e)}),process.send({channel:Te,type:"init",opts:Qx.call(this)}),this._promises={}}consume(t,e=1,n={}){return new Promise((i,s)=>{let o=xi.call(this,i,s);Ei.call(this,"consume",o,t,e,n)})}penalty(t,e=1,n={}){return new Promise((i,s)=>{let o=xi.call(this,i,s);Ei.call(this,"penalty",o,t,e,n)})}reward(t,e=1,n={}){return new Promise((i,s)=>{let o=xi.call(this,i,s);Ei.call(this,"reward",o,t,e,n)})}block(t,e,n={}){return new Promise((i,s)=>{let o=xi.call(this,i,s);Ei.call(this,"block",o,t,e,n)})}get(t,e={}){return new Promise((n,i)=>{let s=xi.call(this,n,i);Ei.call(this,"get",s,t,e)})}delete(t,e={}){return new Promise((n,i)=>{let s=xi.call(this,n,i);Ei.call(this,"delete",s,t,e)})}};ld.exports={RateLimiterClusterMaster:Du,RateLimiterClusterMasterPM2:Lu,RateLimiterCluster:Pu}});var dd=I((iC,hd)=>{var Xx=wi(),Zx=Ee(),Nu=class extends Xx{constructor(t){super(t),this.client=t.storeClient}_getRateLimiterRes(t,e,n){let i=new Zx;return i.consumedPoints=parseInt(n.consumedPoints),i.isFirstInDuration=n.consumedPoints===e,i.remainingPoints=Math.max(this.points-i.consumedPoints,0),i.msBeforeNext=n.msBeforeNext,i}_upsert(t,e,n,i=!1,s={}){return new Promise((o,a)=>{let c=Date.now(),u=Math.floor(n/1e3);i?this.client.set(t,e,u,l=>{l?a(l):this.client.set(`${t}_expire`,u>0?c+u*1e3:-1,u,()=>{let f={consumedPoints:e,msBeforeNext:u>0?u*1e3:-1};o(f)})}):this.client.incr(t,e,(l,f)=>{l||f===!1?this.client.add(t,e,u,(d,h)=>{if(d||!h)if(typeof s.attemptNumber>"u"||s.attemptNumber<3){let p=Object.assign({},s);p.attemptNumber=p.attemptNumber?p.attemptNumber+1:1,this._upsert(t,e,n,i,p).then(m=>o(m)).catch(m=>a(m))}else a(new Error("Can not add key"));else this.client.add(`${t}_expire`,u>0?c+u*1e3:-1,u,()=>{let p={consumedPoints:e,msBeforeNext:u>0?u*1e3:-1};o(p)})}):this.client.get(`${t}_expire`,(d,h)=>{if(d)a(d);else{let p=h===!1?0:h,m={consumedPoints:f,msBeforeNext:p>=0?Math.max(p-c,0):-1};o(m)}})})})}_get(t){return new Promise((e,n)=>{let i=Date.now();this.client.get(t,(s,o)=>{o?this.client.get(`${t}_expire`,(a,c)=>{if(a)n(a);else{let u=c===!1?0:c,l={consumedPoints:o,msBeforeNext:u>=0?Math.max(u-i,0):-1};e(l)}}):e(null)})})}_delete(t){return new Promise((e,n)=>{this.client.del(t,(i,s)=>{i?n(i):s===!1?e(s):this.client.del(`${t}_expire`,o=>{o?n(o):e(s)})})})}};hd.exports=Nu});var yd=I((oC,md)=>{var pd=Ee();md.exports=class{constructor(t={}){this.limiter=t.limiter,this.blackList=t.blackList,this.whiteList=t.whiteList,this.isBlackListed=t.isBlackListed,this.isWhiteListed=t.isWhiteListed,this.runActionAnyway=t.runActionAnyway}get limiter(){return this._limiter}set limiter(t){if(typeof t>"u")throw new Error("limiter is not set");this._limiter=t}get runActionAnyway(){return this._runActionAnyway}set runActionAnyway(t){this._runActionAnyway=typeof t>"u"?!1:t}get blackList(){return this._blackList}set blackList(t){this._blackList=Array.isArray(t)?t:[]}get isBlackListed(){return this._isBlackListed}set isBlackListed(t){if(typeof t>"u"&&(t=()=>!1),typeof t!="function")throw new Error("isBlackListed must be function");this._isBlackListed=t}get whiteList(){return this._whiteList}set whiteList(t){this._whiteList=Array.isArray(t)?t:[]}get isWhiteListed(){return this._isWhiteListed}set isWhiteListed(t){if(typeof t>"u"&&(t=()=>!1),typeof t!="function")throw new Error("isWhiteListed must be function");this._isWhiteListed=t}isBlackListedSomewhere(t){return this.blackList.indexOf(t)>=0||this.isBlackListed(t)}isWhiteListedSomewhere(t){return this.whiteList.indexOf(t)>=0||this.isWhiteListed(t)}getBlackRes(){return new pd(0,Number.MAX_SAFE_INTEGER,0,!1)}getWhiteRes(){return new pd(Number.MAX_SAFE_INTEGER,0,0,!1)}rejectBlack(){return Promise.reject(this.getBlackRes())}resolveBlack(){return Promise.resolve(this.getBlackRes())}resolveWhite(){return Promise.resolve(this.getWhiteRes())}consume(t,e=1){let n;return this.isWhiteListedSomewhere(t)?n=this.resolveWhite():this.isBlackListedSomewhere(t)&&(n=this.rejectBlack()),typeof n>"u"?this.limiter.consume(t,e):(this.runActionAnyway&&this.limiter.consume(t,e).catch(()=>{}),n)}block(t,e){let n;return this.isWhiteListedSomewhere(t)?n=this.resolveWhite():this.isBlackListedSomewhere(t)&&(n=this.resolveBlack()),typeof n>"u"?this.limiter.block(t,e):(this.runActionAnyway&&this.limiter.block(t,e).catch(()=>{}),n)}penalty(t,e){let n;return this.isWhiteListedSomewhere(t)?n=this.resolveWhite():this.isBlackListedSomewhere(t)&&(n=this.resolveBlack()),typeof n>"u"?this.limiter.penalty(t,e):(this.runActionAnyway&&this.limiter.penalty(t,e).catch(()=>{}),n)}reward(t,e){let n;return this.isWhiteListedSomewhere(t)?n=this.resolveWhite():this.isBlackListedSomewhere(t)&&(n=this.resolveBlack()),typeof n>"u"?this.limiter.reward(t,e):(this.runActionAnyway&&this.limiter.reward(t,e).catch(()=>{}),n)}get(t){let e;return this.isWhiteListedSomewhere(t)?e=this.resolveWhite():this.isBlackListedSomewhere(t)&&(e=this.resolveBlack()),typeof e>"u"||this.runActionAnyway?this.limiter.get(t):e}delete(t){return this.limiter.delete(t)}}});var wd=I((cC,gd)=>{var Jx=is();gd.exports=class{constructor(...t){if(t.length<1)throw new Error("RateLimiterUnion: at least one limiter have to be passed");t.forEach(e=>{if(!(e instanceof Jx))throw new Error("RateLimiterUnion: all limiters have to be instance of RateLimiterAbstract")}),this._limiters=t}consume(t,e=1){return new Promise((n,i)=>{let s=[];this._limiters.forEach(o=>{s.push(o.consume(t,e).catch(a=>({rejected:!0,rej:a})))}),Promise.all(s).then(o=>{let a={},c=!1;o.forEach(u=>{u.rejected===!0&&(c=!0)});for(let u=0;u<o.length;u++)c&&o[u].rejected===!0?a[this._limiters[u].keyPrefix]=o[u].rej:c||(a[this._limiters[u].keyPrefix]=o[u]);c?i(a):n(a)})})}}});var xd=I((lC,Ed)=>{Ed.exports=class extends Error{constructor(t,e){super(),Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor),this.name="CustomError",this.message=t,e&&(this.extra=e)}}});var Sd=I((hC,_d)=>{var vd=xd(),bd=4294967295,ku="limiter";_d.exports=class{constructor(t,e={maxQueueSize:bd}){this._queueLimiters={KEY_DEFAULT:new Uo(t,e)},this._limiterFlexible=t,this._maxQueueSize=e.maxQueueSize}getTokensRemaining(t=ku){return this._queueLimiters[t]?this._queueLimiters[t].getTokensRemaining():Promise.resolve(this._limiterFlexible.points)}removeTokens(t,e=ku){return this._queueLimiters[e]||(this._queueLimiters[e]=new Uo(this._limiterFlexible,{key:e,maxQueueSize:this._maxQueueSize})),this._queueLimiters[e].removeTokens(t)}};var Uo=class{constructor(t,e={maxQueueSize:bd,key:ku}){this._key=e.key,this._waitTimeout=null,this._queue=[],this._limiterFlexible=t,this._maxQueueSize=e.maxQueueSize}getTokensRemaining(){return this._limiterFlexible.get(this._key).then(t=>t!==null?t.remainingPoints:this._limiterFlexible.points)}removeTokens(t){let e=this;return new Promise((n,i)=>{if(t>e._limiterFlexible.points){i(new vd(`Requested tokens ${t} exceeds maximum ${e._limiterFlexible.points} tokens per interval`));return}e._queue.length>0?e._queueRequest.call(e,n,i,t):e._limiterFlexible.consume(e._key,t).then(s=>{n(s.remainingPoints)}).catch(s=>{s instanceof Error?i(s):(e._queueRequest.call(e,n,i,t),e._waitTimeout===null&&(e._waitTimeout=setTimeout(e._processFIFO.bind(e),s.msBeforeNext)))})})}_queueRequest(t,e,n){let i=this;i._queue.length<i._maxQueueSize?i._queue.push({resolve:t,reject:e,tokens:n}):e(new vd(`Number of requests reached it's maximum ${i._maxQueueSize}`))}_processFIFO(){let t=this;if(t._waitTimeout!==null&&(clearTimeout(t._waitTimeout),t._waitTimeout=null),t._queue.length===0)return;let e=t._queue.shift();t._limiterFlexible.consume(t._key,e.tokens).then(n=>{e.resolve(n.remainingPoints),t._processFIFO.call(t)}).catch(n=>{n instanceof Error?(e.reject(n),t._processFIFO.call(t)):(t._queue.unshift(e),t._waitTimeout===null&&(t._waitTimeout=setTimeout(t._processFIFO.bind(t),n.msBeforeNext)))})}}});var Rd=I((pC,Ad)=>{var Ou=Ee();Ad.exports=class{constructor(t,e){this._rateLimiter=t,this._burstLimiter=e}_combineRes(t,e){return new Ou(t.remainingPoints,Math.min(t.msBeforeNext,e.msBeforeNext),t.consumedPoints,t.isFirstInDuration)}consume(t,e=1,n={}){return this._rateLimiter.consume(t,e,n).catch(i=>i instanceof Ou?this._burstLimiter.consume(t,e,n).then(s=>Promise.resolve(this._combineRes(i,s))).catch(s=>s instanceof Ou?Promise.reject(this._combineRes(i,s)):Promise.reject(s)):Promise.reject(i))}get(t){return Promise.all([this._rateLimiter.get(t),this._burstLimiter.get(t)]).then(([e,n])=>this._combineRes(e,n))}get points(){return this._rateLimiter.points}}});var Td=I((mC,Id)=>{var jx=z0(),tv=Y0(),ev=Q0(),rv=Z0(),{RateLimiterClusterMaster:nv,RateLimiterClusterMasterPM2:iv,RateLimiterCluster:sv}=fd(),ov=Bu(),av=dd(),cv=yd(),uv=wd(),lv=Sd(),fv=Rd(),hv=Ee();Id.exports={RateLimiterRedis:jx,RateLimiterMongo:tv,RateLimiterMySQL:ev,RateLimiterPostgres:rv,RateLimiterMemory:ov,RateLimiterMemcache:av,RateLimiterClusterMaster:nv,RateLimiterClusterMasterPM2:iv,RateLimiterCluster:sv,RLWrapperBlackAndWhite:cv,RateLimiterUnion:uv,RateLimiterQueue:lv,BurstyRateLimiter:fv,RateLimiterRes:hv}});var Ld=I((kC,Dd)=>{"use strict";function yv(r){return r>=55296&&r<=56319}function gv(r){return r>=56320&&r<=57343}Dd.exports=function(t,e,n){if(typeof e!="string")throw new Error("Input must be string");for(var i=e.length,s=0,o,a,c=0;c<i;c+=1){if(o=e.charCodeAt(c),a=e[c],yv(o)&&gv(e.charCodeAt(c+1))&&(c+=1,a+=e[c]),s+=t(a),s===n)return e.slice(0,c+1);if(s>n)return e.slice(0,c-a.length+1)}return e}});var Nd=I((OC,Pd)=>{"use strict";function wv(r){return r>=55296&&r<=56319}function Ev(r){return r>=56320&&r<=57343}Pd.exports=function(t){if(typeof t!="string")throw new Error("Input must be string");for(var e=t.length,n=0,i=null,s=null,o=0;o<e;o++)i=t.charCodeAt(o),Ev(i)?s!=null&&wv(s)?n+=1:n+=3:i<=127?n+=1:i>=128&&i<=2047?n+=2:i>=2048&&i<=65535&&(n+=3),s=i;return n}});var Od=I((MC,kd)=>{"use strict";var xv=Ld(),vv=Nd();kd.exports=xv.bind(null,vv)});var Fd=I((UC,Ud)=>{"use strict";var bv=Od(),_v=/[\/\?<>\\:\*\|"]/g,Sv=/[\x00-\x1f\x80-\x9f]/g,Av=/^\.+$/,Rv=/^(con|prn|aux|nul|com[0-9]|lpt[0-9])(\..*)?$/i,Iv=/[\. ]+$/;function Md(r,t){if(typeof r!="string")throw new Error("Input must be string");var e=r.replace(_v,t).replace(Sv,t).replace(Av,t).replace(Rv,t).replace(Iv,t);return bv(e,255)}Ud.exports=function(r,t){var e=t&&t.replacement||"",n=Md(r,e);return e===""?n:Md(n,"")}});var Vd=I((KC,Kd)=>{"use strict";Kd.exports=Tv;function Tv(r,t){for(var e=new Array(arguments.length-1),n=0,i=2,s=!0;i<arguments.length;)e[n++]=arguments[i++];return new Promise(function(a,c){e[n]=function(l){if(s)if(s=!1,l)c(l);else{for(var f=new Array(arguments.length-1),d=0;d<f.length;)f[d++]=arguments[d];a.apply(null,f)}};try{r.apply(t||null,e)}catch(u){s&&(s=!1,c(u))}})}});var Hd=I(zd=>{"use strict";var zo=zd;zo.length=function(t){var e=t.length;if(!e)return 0;for(var n=0;--e%4>1&&t.charAt(e)==="=";)++n;return Math.ceil(t.length*3)/4-n};var bi=new Array(64),$d=new Array(123);for(Ue=0;Ue<64;)$d[bi[Ue]=Ue<26?Ue+65:Ue<52?Ue+71:Ue<62?Ue-4:Ue-59|43]=Ue++;var Ue;zo.encode=function(t,e,n){for(var i=null,s=[],o=0,a=0,c;e<n;){var u=t[e++];switch(a){case 0:s[o++]=bi[u>>2],c=(u&3)<<4,a=1;break;case 1:s[o++]=bi[c|u>>4],c=(u&15)<<2,a=2;break;case 2:s[o++]=bi[c|u>>6],s[o++]=bi[u&63],a=0;break}o>8191&&((i||(i=[])).push(String.fromCharCode.apply(String,s)),o=0)}return a&&(s[o++]=bi[c],s[o++]=61,a===1&&(s[o++]=61)),i?(o&&i.push(String.fromCharCode.apply(String,s.slice(0,o))),i.join("")):String.fromCharCode.apply(String,s.slice(0,o))};var qd="invalid encoding";zo.decode=function(t,e,n){for(var i=n,s=0,o,a=0;a<t.length;){var c=t.charCodeAt(a++);if(c===61&&s>1)break;if((c=$d[c])===void 0)throw Error(qd);switch(s){case 0:o=c,s=1;break;case 1:e[n++]=o<<2|(c&48)>>4,o=c,s=2;break;case 2:e[n++]=(o&15)<<4|(c&60)>>2,o=c,s=3;break;case 3:e[n++]=(o&3)<<6|c,s=0;break}}if(s===1)throw Error(qd);return n-i};zo.test=function(t){return/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/.test(t)}});var Yd=I((qC,Gd)=>{"use strict";Gd.exports=Ho;function Ho(){this._listeners={}}Ho.prototype.on=function(t,e,n){return(this._listeners[t]||(this._listeners[t]=[])).push({fn:e,ctx:n||this}),this};Ho.prototype.off=function(t,e){if(t===void 0)this._listeners={};else if(e===void 0)this._listeners[t]=[];else for(var n=this._listeners[t],i=0;i<n.length;)n[i].fn===e?n.splice(i,1):++i;return this};Ho.prototype.emit=function(t){var e=this._listeners[t];if(e){for(var n=[],i=1;i<arguments.length;)n.push(arguments[i++]);for(i=0;i<e.length;)e[i].fn.apply(e[i++].ctx,n)}return this}});var tp=I(($C,jd)=>{"use strict";jd.exports=Wd(Wd);function Wd(r){return typeof Float32Array<"u"?function(){var t=new Float32Array([-0]),e=new Uint8Array(t.buffer),n=e[3]===128;function i(c,u,l){t[0]=c,u[l]=e[0],u[l+1]=e[1],u[l+2]=e[2],u[l+3]=e[3]}function s(c,u,l){t[0]=c,u[l]=e[3],u[l+1]=e[2],u[l+2]=e[1],u[l+3]=e[0]}r.writeFloatLE=n?i:s,r.writeFloatBE=n?s:i;function o(c,u){return e[0]=c[u],e[1]=c[u+1],e[2]=c[u+2],e[3]=c[u+3],t[0]}function a(c,u){return e[3]=c[u],e[2]=c[u+1],e[1]=c[u+2],e[0]=c[u+3],t[0]}r.readFloatLE=n?o:a,r.readFloatBE=n?a:o}():function(){function t(n,i,s,o){var a=i<0?1:0;if(a&&(i=-i),i===0)n(1/i>0?0:2147483648,s,o);else if(isNaN(i))n(2143289344,s,o);else if(i>34028234663852886e22)n((a<<31|2139095040)>>>0,s,o);else if(i<11754943508222875e-54)n((a<<31|Math.round(i/1401298464324817e-60))>>>0,s,o);else{var c=Math.floor(Math.log(i)/Math.LN2),u=Math.round(i*Math.pow(2,-c)*8388608)&8388607;n((a<<31|c+127<<23|u)>>>0,s,o)}}r.writeFloatLE=t.bind(null,Qd),r.writeFloatBE=t.bind(null,Xd);function e(n,i,s){var o=n(i,s),a=(o>>31)*2+1,c=o>>>23&255,u=o&8388607;return c===255?u?NaN:a*(1/0):c===0?a*1401298464324817e-60*u:a*Math.pow(2,c-150)*(u+8388608)}r.readFloatLE=e.bind(null,Zd),r.readFloatBE=e.bind(null,Jd)}(),typeof Float64Array<"u"?function(){var t=new Float64Array([-0]),e=new Uint8Array(t.buffer),n=e[7]===128;function i(c,u,l){t[0]=c,u[l]=e[0],u[l+1]=e[1],u[l+2]=e[2],u[l+3]=e[3],u[l+4]=e[4],u[l+5]=e[5],u[l+6]=e[6],u[l+7]=e[7]}function s(c,u,l){t[0]=c,u[l]=e[7],u[l+1]=e[6],u[l+2]=e[5],u[l+3]=e[4],u[l+4]=e[3],u[l+5]=e[2],u[l+6]=e[1],u[l+7]=e[0]}r.writeDoubleLE=n?i:s,r.writeDoubleBE=n?s:i;function o(c,u){return e[0]=c[u],e[1]=c[u+1],e[2]=c[u+2],e[3]=c[u+3],e[4]=c[u+4],e[5]=c[u+5],e[6]=c[u+6],e[7]=c[u+7],t[0]}function a(c,u){return e[7]=c[u],e[6]=c[u+1],e[5]=c[u+2],e[4]=c[u+3],e[3]=c[u+4],e[2]=c[u+5],e[1]=c[u+6],e[0]=c[u+7],t[0]}r.readDoubleLE=n?o:a,r.readDoubleBE=n?a:o}():function(){function t(n,i,s,o,a,c){var u=o<0?1:0;if(u&&(o=-o),o===0)n(0,a,c+i),n(1/o>0?0:2147483648,a,c+s);else if(isNaN(o))n(0,a,c+i),n(2146959360,a,c+s);else if(o>17976931348623157e292)n(0,a,c+i),n((u<<31|2146435072)>>>0,a,c+s);else{var l;if(o<22250738585072014e-324)l=o/5e-324,n(l>>>0,a,c+i),n((u<<31|l/4294967296)>>>0,a,c+s);else{var f=Math.floor(Math.log(o)/Math.LN2);f===1024&&(f=1023),l=o*Math.pow(2,-f),n(l*4503599627370496>>>0,a,c+i),n((u<<31|f+1023<<20|l*1048576&1048575)>>>0,a,c+s)}}}r.writeDoubleLE=t.bind(null,Qd,0,4),r.writeDoubleBE=t.bind(null,Xd,4,0);function e(n,i,s,o,a){var c=n(o,a+i),u=n(o,a+s),l=(u>>31)*2+1,f=u>>>20&2047,d=4294967296*(u&1048575)+c;return f===2047?d?NaN:l*(1/0):f===0?l*5e-324*d:l*Math.pow(2,f-1075)*(d+4503599627370496)}r.readDoubleLE=e.bind(null,Zd,0,4),r.readDoubleBE=e.bind(null,Jd,4,0)}(),r}function Qd(r,t,e){t[e]=r&255,t[e+1]=r>>>8&255,t[e+2]=r>>>16&255,t[e+3]=r>>>24}function Xd(r,t,e){t[e]=r>>>24,t[e+1]=r>>>16&255,t[e+2]=r>>>8&255,t[e+3]=r&255}function Zd(r,t){return(r[t]|r[t+1]<<8|r[t+2]<<16|r[t+3]<<24)>>>0}function Jd(r,t){return(r[t]<<24|r[t+1]<<16|r[t+2]<<8|r[t+3])>>>0}});var ep=I((exports,module)=>{"use strict";module.exports=inquire;function inquire(moduleName){try{var mod=eval("quire".replace(/^/,"re"))(moduleName);if(mod&&(mod.length||Object.keys(mod).length))return mod}catch(r){}return null}});var np=I(rp=>{"use strict";var Fu=rp;Fu.length=function(t){for(var e=0,n=0,i=0;i<t.length;++i)n=t.charCodeAt(i),n<128?e+=1:n<2048?e+=2:(n&64512)===55296&&(t.charCodeAt(i+1)&64512)===56320?(++i,e+=4):e+=3;return e};Fu.read=function(t,e,n){var i=n-e;if(i<1)return"";for(var s=null,o=[],a=0,c;e<n;)c=t[e++],c<128?o[a++]=c:c>191&&c<224?o[a++]=(c&31)<<6|t[e++]&63:c>239&&c<365?(c=((c&7)<<18|(t[e++]&63)<<12|(t[e++]&63)<<6|t[e++]&63)-65536,o[a++]=55296+(c>>10),o[a++]=56320+(c&1023)):o[a++]=(c&15)<<12|(t[e++]&63)<<6|t[e++]&63,a>8191&&((s||(s=[])).push(String.fromCharCode.apply(String,o)),a=0);return s?(a&&s.push(String.fromCharCode.apply(String,o.slice(0,a))),s.join("")):String.fromCharCode.apply(String,o.slice(0,a))};Fu.write=function(t,e,n){for(var i=n,s,o,a=0;a<t.length;++a)s=t.charCodeAt(a),s<128?e[n++]=s:s<2048?(e[n++]=s>>6|192,e[n++]=s&63|128):(s&64512)===55296&&((o=t.charCodeAt(a+1))&64512)===56320?(s=65536+((s&1023)<<10)+(o&1023),++a,e[n++]=s>>18|240,e[n++]=s>>12&63|128,e[n++]=s>>6&63|128,e[n++]=s&63|128):(e[n++]=s>>12|224,e[n++]=s>>6&63|128,e[n++]=s&63|128);return n-i}});var sp=I((HC,ip)=>{"use strict";ip.exports=Cv;function Cv(r,t,e){var n=e||8192,i=n>>>1,s=null,o=n;return function(c){if(c<1||c>i)return r(c);o+c>n&&(s=r(n),o=0);var u=t.call(s,o,o+=c);return o&7&&(o=(o|7)+1),u}}});var ap=I((GC,op)=>{"use strict";op.exports=Jt;var os=Bn();function Jt(r,t){this.lo=r>>>0,this.hi=t>>>0}var Cn=Jt.zero=new Jt(0,0);Cn.toNumber=function(){return 0};Cn.zzEncode=Cn.zzDecode=function(){return this};Cn.length=function(){return 1};var Bv=Jt.zeroHash="\0\0\0\0\0\0\0\0";Jt.fromNumber=function(t){if(t===0)return Cn;var e=t<0;e&&(t=-t);var n=t>>>0,i=(t-n)/4294967296>>>0;return e&&(i=~i>>>0,n=~n>>>0,++n>4294967295&&(n=0,++i>4294967295&&(i=0))),new Jt(n,i)};Jt.from=function(t){if(typeof t=="number")return Jt.fromNumber(t);if(os.isString(t))if(os.Long)t=os.Long.fromString(t);else return Jt.fromNumber(parseInt(t,10));return t.low||t.high?new Jt(t.low>>>0,t.high>>>0):Cn};Jt.prototype.toNumber=function(t){if(!t&&this.hi>>>31){var e=~this.lo+1>>>0,n=~this.hi>>>0;return e||(n=n+1>>>0),-(e+n*4294967296)}return this.lo+this.hi*4294967296};Jt.prototype.toLong=function(t){return os.Long?new os.Long(this.lo|0,this.hi|0,!!t):{low:this.lo|0,high:this.hi|0,unsigned:!!t}};var Wr=String.prototype.charCodeAt;Jt.fromHash=function(t){return t===Bv?Cn:new Jt((Wr.call(t,0)|Wr.call(t,1)<<8|Wr.call(t,2)<<16|Wr.call(t,3)<<24)>>>0,(Wr.call(t,4)|Wr.call(t,5)<<8|Wr.call(t,6)<<16|Wr.call(t,7)<<24)>>>0)};Jt.prototype.toHash=function(){return String.fromCharCode(this.lo&255,this.lo>>>8&255,this.lo>>>16&255,this.lo>>>24,this.hi&255,this.hi>>>8&255,this.hi>>>16&255,this.hi>>>24)};Jt.prototype.zzEncode=function(){var t=this.hi>>31;return this.hi=((this.hi<<1|this.lo>>>31)^t)>>>0,this.lo=(this.lo<<1^t)>>>0,this};Jt.prototype.zzDecode=function(){var t=-(this.lo&1);return this.lo=((this.lo>>>1|this.hi<<31)^t)>>>0,this.hi=(this.hi>>>1^t)>>>0,this};Jt.prototype.length=function(){var t=this.lo,e=(this.lo>>>28|this.hi<<4)>>>0,n=this.hi>>>24;return n===0?e===0?t<16384?t<128?1:2:t<2097152?3:4:e<16384?e<128?5:6:e<2097152?7:8:n<128?9:10}});var Bn=I(Ku=>{"use strict";var M=Ku;M.asPromise=Vd();M.base64=Hd();M.EventEmitter=Yd();M.float=tp();M.inquire=ep();M.utf8=np();M.pool=sp();M.LongBits=ap();M.isNode=!!(typeof globalThis<"u"&&globalThis&&globalThis.process&&globalThis.process.versions&&globalThis.process.versions.node);M.global=M.isNode&&globalThis||typeof window<"u"&&window||typeof self<"u"&&self||Ku;M.emptyArray=Object.freeze?Object.freeze([]):[];M.emptyObject=Object.freeze?Object.freeze({}):{};M.isInteger=Number.isInteger||function(t){return typeof t=="number"&&isFinite(t)&&Math.floor(t)===t};M.isString=function(t){return typeof t=="string"||t instanceof String};M.isObject=function(t){return t&&typeof t=="object"};M.isset=M.isSet=function(t,e){var n=t[e];return n!=null&&t.hasOwnProperty(e)?typeof n!="object"||(Array.isArray(n)?n.length:Object.keys(n).length)>0:!1};M.Buffer=function(){try{var r=M.inquire("buffer").Buffer;return r.prototype.utf8Write?r:null}catch{return null}}();M._Buffer_from=null;M._Buffer_allocUnsafe=null;M.newBuffer=function(t){return typeof t=="number"?M.Buffer?M._Buffer_allocUnsafe(t):new M.Array(t):M.Buffer?M._Buffer_from(t):typeof Uint8Array>"u"?t:new Uint8Array(t)};M.Array=typeof Uint8Array<"u"?Uint8Array:Array;M.Long=M.global.dcodeIO&&M.global.dcodeIO.Long||M.global.Long||M.inquire("long");M.key2Re=/^true|false|0|1$/;M.key32Re=/^-?(?:0|[1-9][0-9]*)$/;M.key64Re=/^(?:[\\x00-\\xff]{8}|-?(?:0|[1-9][0-9]*))$/;M.longToHash=function(t){return t?M.LongBits.from(t).toHash():M.LongBits.zeroHash};M.longFromHash=function(t,e){var n=M.LongBits.fromHash(t);return M.Long?M.Long.fromBits(n.lo,n.hi,e):n.toNumber(!!e)};function cp(r,t,e){for(var n=Object.keys(t),i=0;i<n.length;++i)(r[n[i]]===void 0||!e)&&(r[n[i]]=t[n[i]]);return r}M.merge=cp;M.lcFirst=function(t){return t.charAt(0).toLowerCase()+t.substring(1)};function up(r){function t(e,n){if(!(this instanceof t))return new t(e,n);Object.defineProperty(this,"message",{get:function(){return e}}),Error.captureStackTrace?Error.captureStackTrace(this,t):Object.defineProperty(this,"stack",{value:new Error().stack||""}),n&&cp(this,n)}return t.prototype=Object.create(Error.prototype,{constructor:{value:t,writable:!0,enumerable:!1,configurable:!0},name:{get:function(){return r},set:void 0,enumerable:!1,configurable:!0},toString:{value:function(){return this.name+": "+this.message},writable:!0,enumerable:!1,configurable:!0}}),t}M.newError=up;M.ProtocolError=up("ProtocolError");M.oneOfGetter=function(t){for(var e={},n=0;n<t.length;++n)e[t[n]]=1;return function(){for(var i=Object.keys(this),s=i.length-1;s>-1;--s)if(e[i[s]]===1&&this[i[s]]!==void 0&&this[i[s]]!==null)return i[s]}};M.oneOfSetter=function(t){return function(e){for(var n=0;n<t.length;++n)t[n]!==e&&delete this[t[n]]}};M.toJSONOptions={longs:String,enums:String,bytes:String,json:!0};M._configure=function(){var r=M.Buffer;if(!r){M._Buffer_from=M._Buffer_allocUnsafe=null;return}M._Buffer_from=r.from!==Uint8Array.from&&r.from||function(e,n){return new r(e,n)},M._Buffer_allocUnsafe=r.allocUnsafe||function(e){return new r(e)}}});var $u=I((WC,pp)=>{"use strict";pp.exports=Ft;var er=Bn(),qu,hp=er.LongBits,Dv=er.utf8;function Fe(r,t){return RangeError("index out of range: "+r.pos+" + "+(t||1)+" > "+r.len)}function Ft(r){this.buf=r,this.pos=0,this.len=r.length}var lp=typeof Uint8Array<"u"?function(t){if(t instanceof Uint8Array||Array.isArray(t))return new Ft(t);throw Error("illegal buffer")}:function(t){if(Array.isArray(t))return new Ft(t);throw Error("illegal buffer")},dp=function(){return er.Buffer?function(e){return(Ft.create=function(i){return er.Buffer.isBuffer(i)?new qu(i):lp(i)})(e)}:lp};Ft.create=dp();Ft.prototype._slice=er.Array.prototype.subarray||er.Array.prototype.slice;Ft.prototype.uint32=function(){var t=4294967295;return function(){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,Fe(this,10);return t}}();Ft.prototype.int32=function(){return this.uint32()|0};Ft.prototype.sint32=function(){var t=this.uint32();return t>>>1^-(t&1)|0};function Vu(){var r=new hp(0,0),t=0;if(this.len-this.pos>4){for(;t<4;++t)if(r.lo=(r.lo|(this.buf[this.pos]&127)<<t*7)>>>0,this.buf[this.pos++]<128)return r;if(r.lo=(r.lo|(this.buf[this.pos]&127)<<28)>>>0,r.hi=(r.hi|(this.buf[this.pos]&127)>>4)>>>0,this.buf[this.pos++]<128)return r;t=0}else{for(;t<3;++t){if(this.pos>=this.len)throw Fe(this);if(r.lo=(r.lo|(this.buf[this.pos]&127)<<t*7)>>>0,this.buf[this.pos++]<128)return r}return r.lo=(r.lo|(this.buf[this.pos++]&127)<<t*7)>>>0,r}if(this.len-this.pos>4){for(;t<5;++t)if(r.hi=(r.hi|(this.buf[this.pos]&127)<<t*7+3)>>>0,this.buf[this.pos++]<128)return r}else for(;t<5;++t){if(this.pos>=this.len)throw Fe(this);if(r.hi=(r.hi|(this.buf[this.pos]&127)<<t*7+3)>>>0,this.buf[this.pos++]<128)return r}throw Error("invalid varint encoding")}Ft.prototype.bool=function(){return this.uint32()!==0};function Go(r,t){return(r[t-4]|r[t-3]<<8|r[t-2]<<16|r[t-1]<<24)>>>0}Ft.prototype.fixed32=function(){if(this.pos+4>this.len)throw Fe(this,4);return Go(this.buf,this.pos+=4)};Ft.prototype.sfixed32=function(){if(this.pos+4>this.len)throw Fe(this,4);return Go(this.buf,this.pos+=4)|0};function fp(){if(this.pos+8>this.len)throw Fe(this,8);return new hp(Go(this.buf,this.pos+=4),Go(this.buf,this.pos+=4))}Ft.prototype.float=function(){if(this.pos+4>this.len)throw Fe(this,4);var t=er.float.readFloatLE(this.buf,this.pos);return this.pos+=4,t};Ft.prototype.double=function(){if(this.pos+8>this.len)throw Fe(this,4);var t=er.float.readDoubleLE(this.buf,this.pos);return this.pos+=8,t};Ft.prototype.bytes=function(){var t=this.uint32(),e=this.pos,n=this.pos+t;if(n>this.len)throw Fe(this,t);return this.pos+=t,Array.isArray(this.buf)?this.buf.slice(e,n):e===n?new this.buf.constructor(0):this._slice.call(this.buf,e,n)};Ft.prototype.string=function(){var t=this.bytes();return Dv.read(t,0,t.length)};Ft.prototype.skip=function(t){if(typeof t=="number"){if(this.pos+t>this.len)throw Fe(this,t);this.pos+=t}else do if(this.pos>=this.len)throw Fe(this);while(this.buf[this.pos++]&128);return this};Ft.prototype.skipType=function(r){switch(r){case 0:this.skip();break;case 1:this.skip(8);break;case 2:this.skip(this.uint32());break;case 3:for(;(r=this.uint32()&7)!==4;)this.skipType(r);break;case 5:this.skip(4);break;default:throw Error("invalid wire type "+r+" at offset "+this.pos)}return this};Ft._configure=function(r){qu=r,Ft.create=dp(),qu._configure();var t=er.Long?"toLong":"toNumber";er.merge(Ft.prototype,{int64:function(){return Vu.call(this)[t](!1)},uint64:function(){return Vu.call(this)[t](!0)},sint64:function(){return Vu.call(this).zzDecode()[t](!1)},fixed64:function(){return fp.call(this)[t](!0)},sfixed64:function(){return fp.call(this)[t](!1)}})}});var wp=I((QC,gp)=>{"use strict";gp.exports=Dn;var yp=$u();(Dn.prototype=Object.create(yp.prototype)).constructor=Dn;var mp=Bn();function Dn(r){yp.call(this,r)}Dn._configure=function(){mp.Buffer&&(Dn.prototype._slice=mp.Buffer.prototype.slice)};Dn.prototype.string=function(){var t=this.uint32();return this.buf.utf8Slice?this.buf.utf8Slice(this.pos,this.pos=Math.min(this.pos+t,this.len)):this.buf.toString("utf-8",this.pos,this.pos=Math.min(this.pos+t,this.len))};Dn._configure()});var Xu=I((XC,bp)=>{"use strict";bp.exports=rt;var Ce=Bn(),zu,Yo=Ce.LongBits,Ep=Ce.base64,xp=Ce.utf8;function as(r,t,e){this.fn=r,this.len=t,this.next=void 0,this.val=e}function Gu(){}function Lv(r){this.head=r.head,this.tail=r.tail,this.len=r.len,this.next=r.states}function rt(){this.len=0,this.head=new as(Gu,0,0),this.tail=this.head,this.states=null}var vp=function(){return Ce.Buffer?function(){return(rt.create=function(){return new zu})()}:function(){return new rt}};rt.create=vp();rt.alloc=function(t){return new Ce.Array(t)};Ce.Array!==Array&&(rt.alloc=Ce.pool(rt.alloc,Ce.Array.prototype.subarray));rt.prototype._push=function(t,e,n){return this.tail=this.tail.next=new as(t,e,n),this.len+=e,this};function Yu(r,t,e){t[e]=r&255}function Pv(r,t,e){for(;r>127;)t[e++]=r&127|128,r>>>=7;t[e]=r}function Wu(r,t){this.len=r,this.next=void 0,this.val=t}Wu.prototype=Object.create(as.prototype);Wu.prototype.fn=Pv;rt.prototype.uint32=function(t){return this.len+=(this.tail=this.tail.next=new Wu((t=t>>>0)<128?1:t<16384?2:t<2097152?3:t<268435456?4:5,t)).len,this};rt.prototype.int32=function(t){return t<0?this._push(Qu,10,Yo.fromNumber(t)):this.uint32(t)};rt.prototype.sint32=function(t){return this.uint32((t<<1^t>>31)>>>0)};function Qu(r,t,e){for(;r.hi;)t[e++]=r.lo&127|128,r.lo=(r.lo>>>7|r.hi<<25)>>>0,r.hi>>>=7;for(;r.lo>127;)t[e++]=r.lo&127|128,r.lo=r.lo>>>7;t[e++]=r.lo}rt.prototype.uint64=function(t){var e=Yo.from(t);return this._push(Qu,e.length(),e)};rt.prototype.int64=rt.prototype.uint64;rt.prototype.sint64=function(t){var e=Yo.from(t).zzEncode();return this._push(Qu,e.length(),e)};rt.prototype.bool=function(t){return this._push(Yu,1,t?1:0)};function Hu(r,t,e){t[e]=r&255,t[e+1]=r>>>8&255,t[e+2]=r>>>16&255,t[e+3]=r>>>24}rt.prototype.fixed32=function(t){return this._push(Hu,4,t>>>0)};rt.prototype.sfixed32=rt.prototype.fixed32;rt.prototype.fixed64=function(t){var e=Yo.from(t);return this._push(Hu,4,e.lo)._push(Hu,4,e.hi)};rt.prototype.sfixed64=rt.prototype.fixed64;rt.prototype.float=function(t){return this._push(Ce.float.writeFloatLE,4,t)};rt.prototype.double=function(t){return this._push(Ce.float.writeDoubleLE,8,t)};var Nv=Ce.Array.prototype.set?function(t,e,n){e.set(t,n)}:function(t,e,n){for(var i=0;i<t.length;++i)e[n+i]=t[i]};rt.prototype.bytes=function(t){var e=t.length>>>0;if(!e)return this._push(Yu,1,0);if(Ce.isString(t)){var n=rt.alloc(e=Ep.length(t));Ep.decode(t,n,0),t=n}return this.uint32(e)._push(Nv,e,t)};rt.prototype.string=function(t){var e=xp.length(t);return e?this.uint32(e)._push(xp.write,e,t):this._push(Yu,1,0)};rt.prototype.fork=function(){return this.states=new Lv(this),this.head=this.tail=new as(Gu,0,0),this.len=0,this};rt.prototype.reset=function(){return this.states?(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 as(Gu,0,0),this.len=0),this};rt.prototype.ldelim=function(){var t=this.head,e=this.tail,n=this.len;return this.reset().uint32(n),n&&(this.tail.next=t.next,this.tail=e,this.len+=n),this};rt.prototype.finish=function(){for(var t=this.head.next,e=this.constructor.alloc(this.len),n=0;t;)t.fn(t.val,e,n),n+=t.len,t=t.next;return e};rt._configure=function(r){zu=r,rt.create=vp(),zu._configure()}});var Ap=I((ZC,Sp)=>{"use strict";Sp.exports=rr;var _p=Xu();(rr.prototype=Object.create(_p.prototype)).constructor=rr;var Qr=Bn();function rr(){_p.call(this)}rr._configure=function(){rr.alloc=Qr._Buffer_allocUnsafe,rr.writeBytesBuffer=Qr.Buffer&&Qr.Buffer.prototype instanceof Uint8Array&&Qr.Buffer.prototype.set.name==="set"?function(t,e,n){e.set(t,n)}:function(t,e,n){if(t.copy)t.copy(e,n,0,t.length);else for(var i=0;i<t.length;)e[n++]=t[i++]}};rr.prototype.bytes=function(t){Qr.isString(t)&&(t=Qr._Buffer_from(t,"base64"));var e=t.length>>>0;return this.uint32(e),e&&this._push(rr.writeBytesBuffer,e,t),this};function kv(r,t,e){r.length<40?Qr.utf8.write(r,t,e):t.utf8Write?t.utf8Write(r,e):t.write(r,e)}rr.prototype.string=function(t){var e=Qr.Buffer.byteLength(t);return this.uint32(e),e&&this._push(kv,e,t),this};rr._configure()});var ut=I((m4,Bp)=>{Bp.exports={options:{usePureJavaScript:!1}}});var Pp=I((y4,Lp)=>{var rl={};Lp.exports=rl;var Dp={};rl.encode=function(r,t,e){if(typeof t!="string")throw new TypeError('"alphabet" must be a string.');if(e!==void 0&&typeof e!="number")throw new TypeError('"maxline" must be a number.');var n="";if(!(r instanceof Uint8Array))n=Fv(r,t);else{var i=0,s=t.length,o=t.charAt(0),a=[0];for(i=0;i<r.length;++i){for(var c=0,u=r[i];c<a.length;++c)u+=a[c]<<8,a[c]=u%s,u=u/s|0;for(;u>0;)a.push(u%s),u=u/s|0}for(i=0;r[i]===0&&i<r.length-1;++i)n+=o;for(i=a.length-1;i>=0;--i)n+=t[a[i]]}if(e){var l=new RegExp(".{1,"+e+"}","g");n=n.match(l).join(`\r
|
|
25
25
|
`)}return n};rl.decode=function(r,t){if(typeof r!="string")throw new TypeError('"input" must be a string.');if(typeof t!="string")throw new TypeError('"alphabet" must be a string.');var e=Dp[t];if(!e){e=Dp[t]=[];for(var n=0;n<t.length;++n)e[t.charCodeAt(n)]=n}r=r.replace(/\s/g,"");for(var i=t.length,s=t.charAt(0),o=[0],n=0;n<r.length;n++){var a=e[r.charCodeAt(n)];if(a===void 0)return;for(var c=0,u=a;c<o.length;++c)u+=o[c]*i,o[c]=u&255,u>>=8;for(;u>0;)o.push(u&255),u>>=8}for(var l=0;r[l]===s&&l<r.length-1;++l)o.push(0);return typeof Buffer<"u"?Buffer.from(o.reverse()):new Uint8Array(o.reverse())};function Fv(r,t){var e=0,n=t.length,i=t.charAt(0),s=[0];for(e=0;e<r.length();++e){for(var o=0,a=r.at(e);o<s.length;++o)a+=s[o]<<8,s[o]=a%n,a=a/n|0;for(;a>0;)s.push(a%n),a=a/n|0}var c="";for(e=0;r.at(e)===0&&e<r.length()-1;++e)c+=i;for(e=s.length-1;e>=0;--e)c+=t[s[e]];return c}});var Kt=I((g4,Mp)=>{var Np=ut(),kp=Pp(),w=Mp.exports=Np.util=Np.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===r){c.stopPropagation();var u=t.slice();t.length=0,u.forEach(function(l){l()})}};var o=a,r="forge.setImmediate",t=[];w.setImmediate=function(c){t.push(c),t.length===1&&window.postMessage(r,"*")},window.addEventListener("message",a,!0)}if(typeof MutationObserver<"u"){var e=Date.now(),n=!0,i=document.createElement("div"),t=[];new MutationObserver(function(){var c=t.slice();t.length=0,c.forEach(function(u){u()})}).observe(i,{attributes:!0});var s=w.setImmediate;w.setImmediate=function(c){Date.now()-e>15?(e=Date.now(),s(c)):(t.push(c),t.length===1&&i.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(r){return Object.prototype.toString.call(r)==="[object Array]"};w.isArrayBuffer=function(r){return typeof ArrayBuffer<"u"&&r instanceof ArrayBuffer};w.isArrayBufferView=function(r){return r&&w.isArrayBuffer(r.buffer)&&r.byteLength!==void 0};function us(r){if(!(r===8||r===16||r===24||r===32))throw new Error("Only 8, 16, 24, or 32 bits supported: "+r)}w.ByteBuffer=nl;function nl(r){if(this.data="",this.read=0,typeof r=="string")this.data=r;else if(w.isArrayBuffer(r)||w.isArrayBufferView(r))if(typeof Buffer<"u"&&r instanceof Buffer)this.data=r.toString("binary");else{var t=new Uint8Array(r);try{this.data=String.fromCharCode.apply(null,t)}catch{for(var e=0;e<t.length;++e)this.putByte(t[e])}}else(r instanceof nl||typeof r=="object"&&typeof r.data=="string"&&typeof r.read=="number")&&(this.data=r.data,this.read=r.read);this._constructedStringLength=0}w.ByteStringBuffer=nl;var Kv=4096;w.ByteStringBuffer.prototype._optimizeConstructedString=function(r){this._constructedStringLength+=r,this._constructedStringLength>Kv&&(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(r){return this.putBytes(String.fromCharCode(r))};w.ByteStringBuffer.prototype.fillWithByte=function(r,t){r=String.fromCharCode(r);for(var e=this.data;t>0;)t&1&&(e+=r),t>>>=1,t>0&&(r+=r);return this.data=e,this._optimizeConstructedString(t),this};w.ByteStringBuffer.prototype.putBytes=function(r){return this.data+=r,this._optimizeConstructedString(r.length),this};w.ByteStringBuffer.prototype.putString=function(r){return this.putBytes(w.encodeUtf8(r))};w.ByteStringBuffer.prototype.putInt16=function(r){return this.putBytes(String.fromCharCode(r>>8&255)+String.fromCharCode(r&255))};w.ByteStringBuffer.prototype.putInt24=function(r){return this.putBytes(String.fromCharCode(r>>16&255)+String.fromCharCode(r>>8&255)+String.fromCharCode(r&255))};w.ByteStringBuffer.prototype.putInt32=function(r){return this.putBytes(String.fromCharCode(r>>24&255)+String.fromCharCode(r>>16&255)+String.fromCharCode(r>>8&255)+String.fromCharCode(r&255))};w.ByteStringBuffer.prototype.putInt16Le=function(r){return this.putBytes(String.fromCharCode(r&255)+String.fromCharCode(r>>8&255))};w.ByteStringBuffer.prototype.putInt24Le=function(r){return this.putBytes(String.fromCharCode(r&255)+String.fromCharCode(r>>8&255)+String.fromCharCode(r>>16&255))};w.ByteStringBuffer.prototype.putInt32Le=function(r){return this.putBytes(String.fromCharCode(r&255)+String.fromCharCode(r>>8&255)+String.fromCharCode(r>>16&255)+String.fromCharCode(r>>24&255))};w.ByteStringBuffer.prototype.putInt=function(r,t){us(t);var e="";do t-=8,e+=String.fromCharCode(r>>t&255);while(t>0);return this.putBytes(e)};w.ByteStringBuffer.prototype.putSignedInt=function(r,t){return r<0&&(r+=2<<t-1),this.putInt(r,t)};w.ByteStringBuffer.prototype.putBuffer=function(r){return this.putBytes(r.getBytes())};w.ByteStringBuffer.prototype.getByte=function(){return this.data.charCodeAt(this.read++)};w.ByteStringBuffer.prototype.getInt16=function(){var r=this.data.charCodeAt(this.read)<<8^this.data.charCodeAt(this.read+1);return this.read+=2,r};w.ByteStringBuffer.prototype.getInt24=function(){var r=this.data.charCodeAt(this.read)<<16^this.data.charCodeAt(this.read+1)<<8^this.data.charCodeAt(this.read+2);return this.read+=3,r};w.ByteStringBuffer.prototype.getInt32=function(){var r=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,r};w.ByteStringBuffer.prototype.getInt16Le=function(){var r=this.data.charCodeAt(this.read)^this.data.charCodeAt(this.read+1)<<8;return this.read+=2,r};w.ByteStringBuffer.prototype.getInt24Le=function(){var r=this.data.charCodeAt(this.read)^this.data.charCodeAt(this.read+1)<<8^this.data.charCodeAt(this.read+2)<<16;return this.read+=3,r};w.ByteStringBuffer.prototype.getInt32Le=function(){var r=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,r};w.ByteStringBuffer.prototype.getInt=function(r){us(r);var t=0;do t=(t<<8)+this.data.charCodeAt(this.read++),r-=8;while(r>0);return t};w.ByteStringBuffer.prototype.getSignedInt=function(r){var t=this.getInt(r),e=2<<r-2;return t>=e&&(t-=e<<1),t};w.ByteStringBuffer.prototype.getBytes=function(r){var t;return r?(r=Math.min(this.length(),r),t=this.data.slice(this.read,this.read+r),this.read+=r):r===0?t="":(t=this.read===0?this.data:this.data.slice(this.read),this.clear()),t};w.ByteStringBuffer.prototype.bytes=function(r){return typeof r>"u"?this.data.slice(this.read):this.data.slice(this.read,this.read+r)};w.ByteStringBuffer.prototype.at=function(r){return this.data.charCodeAt(this.read+r)};w.ByteStringBuffer.prototype.setAt=function(r,t){return this.data=this.data.substr(0,this.read+r)+String.fromCharCode(t)+this.data.substr(this.read+r+1),this};w.ByteStringBuffer.prototype.last=function(){return this.data.charCodeAt(this.data.length-1)};w.ByteStringBuffer.prototype.copy=function(){var r=w.createBuffer(this.data);return r.read=this.read,r};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(r){var t=Math.max(0,this.length()-r);return this.data=this.data.substr(this.read,t),this.read=0,this};w.ByteStringBuffer.prototype.toHex=function(){for(var r="",t=this.read;t<this.data.length;++t){var e=this.data.charCodeAt(t);e<16&&(r+="0"),r+=e.toString(16)}return r};w.ByteStringBuffer.prototype.toString=function(){return w.decodeUtf8(this.bytes())};function Vv(r,t){t=t||{},this.read=t.readOffset||0,this.growSize=t.growSize||1024;var e=w.isArrayBuffer(r),n=w.isArrayBufferView(r);if(e||n){e?this.data=new DataView(r):this.data=new DataView(r.buffer,r.byteOffset,r.byteLength),this.write="writeOffset"in t?t.writeOffset:this.data.byteLength;return}this.data=new DataView(new ArrayBuffer(0)),this.write=0,r!=null&&this.putBytes(r),"writeOffset"in t&&(this.write=t.writeOffset)}w.DataBuffer=Vv;w.DataBuffer.prototype.length=function(){return this.write-this.read};w.DataBuffer.prototype.isEmpty=function(){return this.length()<=0};w.DataBuffer.prototype.accommodate=function(r,t){if(this.length()>=r)return this;t=Math.max(t||this.growSize,r);var e=new Uint8Array(this.data.buffer,this.data.byteOffset,this.data.byteLength),n=new Uint8Array(this.length()+t);return n.set(e),this.data=new DataView(n.buffer),this};w.DataBuffer.prototype.putByte=function(r){return this.accommodate(1),this.data.setUint8(this.write++,r),this};w.DataBuffer.prototype.fillWithByte=function(r,t){this.accommodate(t);for(var e=0;e<t;++e)this.data.setUint8(r);return this};w.DataBuffer.prototype.putBytes=function(r,t){if(w.isArrayBufferView(r)){var e=new Uint8Array(r.buffer,r.byteOffset,r.byteLength),n=e.byteLength-e.byteOffset;this.accommodate(n);var i=new Uint8Array(this.data.buffer,this.write);return i.set(e),this.write+=n,this}if(w.isArrayBuffer(r)){var e=new Uint8Array(r);this.accommodate(e.byteLength);var i=new Uint8Array(this.data.buffer);return i.set(e,this.write),this.write+=e.byteLength,this}if(r instanceof w.DataBuffer||typeof r=="object"&&typeof r.read=="number"&&typeof r.write=="number"&&w.isArrayBufferView(r.data)){var e=new Uint8Array(r.data.byteLength,r.read,r.length());this.accommodate(e.byteLength);var i=new Uint8Array(r.data.byteLength,this.write);return i.set(e),this.write+=e.byteLength,this}if(r instanceof w.ByteStringBuffer&&(r=r.data,t="binary"),t=t||"binary",typeof r=="string"){var s;if(t==="hex")return this.accommodate(Math.ceil(r.length/2)),s=new Uint8Array(this.data.buffer,this.write),this.write+=w.binary.hex.decode(r,s,this.write),this;if(t==="base64")return this.accommodate(Math.ceil(r.length/4)*3),s=new Uint8Array(this.data.buffer,this.write),this.write+=w.binary.base64.decode(r,s,this.write),this;if(t==="utf8"&&(r=w.encodeUtf8(r),t="binary"),t==="binary"||t==="raw")return this.accommodate(r.length),s=new Uint8Array(this.data.buffer,this.write),this.write+=w.binary.raw.decode(s),this;if(t==="utf16")return this.accommodate(r.length*2),s=new Uint16Array(this.data.buffer,this.write),this.write+=w.text.utf16.encode(s),this;throw new Error("Invalid encoding: "+t)}throw Error("Invalid parameter: "+r)};w.DataBuffer.prototype.putBuffer=function(r){return this.putBytes(r),r.clear(),this};w.DataBuffer.prototype.putString=function(r){return this.putBytes(r,"utf16")};w.DataBuffer.prototype.putInt16=function(r){return this.accommodate(2),this.data.setInt16(this.write,r),this.write+=2,this};w.DataBuffer.prototype.putInt24=function(r){return this.accommodate(3),this.data.setInt16(this.write,r>>8&65535),this.data.setInt8(this.write,r>>16&255),this.write+=3,this};w.DataBuffer.prototype.putInt32=function(r){return this.accommodate(4),this.data.setInt32(this.write,r),this.write+=4,this};w.DataBuffer.prototype.putInt16Le=function(r){return this.accommodate(2),this.data.setInt16(this.write,r,!0),this.write+=2,this};w.DataBuffer.prototype.putInt24Le=function(r){return this.accommodate(3),this.data.setInt8(this.write,r>>16&255),this.data.setInt16(this.write,r>>8&65535,!0),this.write+=3,this};w.DataBuffer.prototype.putInt32Le=function(r){return this.accommodate(4),this.data.setInt32(this.write,r,!0),this.write+=4,this};w.DataBuffer.prototype.putInt=function(r,t){us(t),this.accommodate(t/8);do t-=8,this.data.setInt8(this.write++,r>>t&255);while(t>0);return this};w.DataBuffer.prototype.putSignedInt=function(r,t){return us(t),this.accommodate(t/8),r<0&&(r+=2<<t-1),this.putInt(r,t)};w.DataBuffer.prototype.getByte=function(){return this.data.getInt8(this.read++)};w.DataBuffer.prototype.getInt16=function(){var r=this.data.getInt16(this.read);return this.read+=2,r};w.DataBuffer.prototype.getInt24=function(){var r=this.data.getInt16(this.read)<<8^this.data.getInt8(this.read+2);return this.read+=3,r};w.DataBuffer.prototype.getInt32=function(){var r=this.data.getInt32(this.read);return this.read+=4,r};w.DataBuffer.prototype.getInt16Le=function(){var r=this.data.getInt16(this.read,!0);return this.read+=2,r};w.DataBuffer.prototype.getInt24Le=function(){var r=this.data.getInt8(this.read)^this.data.getInt16(this.read+1,!0)<<8;return this.read+=3,r};w.DataBuffer.prototype.getInt32Le=function(){var r=this.data.getInt32(this.read,!0);return this.read+=4,r};w.DataBuffer.prototype.getInt=function(r){us(r);var t=0;do t=(t<<8)+this.data.getInt8(this.read++),r-=8;while(r>0);return t};w.DataBuffer.prototype.getSignedInt=function(r){var t=this.getInt(r),e=2<<r-2;return t>=e&&(t-=e<<1),t};w.DataBuffer.prototype.getBytes=function(r){var t;return r?(r=Math.min(this.length(),r),t=this.data.slice(this.read,this.read+r),this.read+=r):r===0?t="":(t=this.read===0?this.data:this.data.slice(this.read),this.clear()),t};w.DataBuffer.prototype.bytes=function(r){return typeof r>"u"?this.data.slice(this.read):this.data.slice(this.read,this.read+r)};w.DataBuffer.prototype.at=function(r){return this.data.getUint8(this.read+r)};w.DataBuffer.prototype.setAt=function(r,t){return this.data.setUint8(r,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 r=new Uint8Array(this.data.buffer,this.read),t=new Uint8Array(r.byteLength);t.set(r),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(r){return this.write=Math.max(0,this.length()-r),this.read=Math.min(this.read,this.write),this};w.DataBuffer.prototype.toHex=function(){for(var r="",t=this.read;t<this.data.byteLength;++t){var e=this.data.getUint8(t);e<16&&(r+="0"),r+=e.toString(16)}return r};w.DataBuffer.prototype.toString=function(r){var t=new Uint8Array(this.data,this.read,this.length());if(r=r||"utf8",r==="binary"||r==="raw")return w.binary.raw.encode(t);if(r==="hex")return w.binary.hex.encode(t);if(r==="base64")return w.binary.base64.encode(t);if(r==="utf8")return w.text.utf8.decode(t);if(r==="utf16")return w.text.utf16.decode(t);throw new Error("Invalid encoding: "+r)};w.createBuffer=function(r,t){return t=t||"raw",r!==void 0&&t==="utf8"&&(r=w.encodeUtf8(r)),new w.ByteBuffer(r)};w.fillString=function(r,t){for(var e="";t>0;)t&1&&(e+=r),t>>>=1,t>0&&(r+=r);return e};w.xorBytes=function(r,t,e){for(var n="",i="",s="",o=0,a=0;e>0;--e,++o)i=r.charCodeAt(o)^t.charCodeAt(o),a>=10&&(n+=s,s="",a=0),s+=String.fromCharCode(i),++a;return n+=s,n};w.hexToBytes=function(r){var t="",e=0;for(r.length&!0&&(e=1,t+=String.fromCharCode(parseInt(r[0],16)));e<r.length;e+=2)t+=String.fromCharCode(parseInt(r.substr(e,2),16));return t};w.bytesToHex=function(r){return w.createBuffer(r).toHex()};w.int32ToBytes=function(r){return String.fromCharCode(r>>24&255)+String.fromCharCode(r>>16&255)+String.fromCharCode(r>>8&255)+String.fromCharCode(r&255)};var Xr="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",Zr=[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],Op="123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz";w.encode64=function(r,t){for(var e="",n="",i,s,o,a=0;a<r.length;)i=r.charCodeAt(a++),s=r.charCodeAt(a++),o=r.charCodeAt(a++),e+=Xr.charAt(i>>2),e+=Xr.charAt((i&3)<<4|s>>4),isNaN(s)?e+="==":(e+=Xr.charAt((s&15)<<2|o>>6),e+=isNaN(o)?"=":Xr.charAt(o&63)),t&&e.length>t&&(n+=e.substr(0,t)+`\r
|
|
26
26
|
`,e=e.substr(t));return n+=e,n};w.decode64=function(r){r=r.replace(/[^A-Za-z0-9\+\/\=]/g,"");for(var t="",e,n,i,s,o=0;o<r.length;)e=Zr[r.charCodeAt(o++)-43],n=Zr[r.charCodeAt(o++)-43],i=Zr[r.charCodeAt(o++)-43],s=Zr[r.charCodeAt(o++)-43],t+=String.fromCharCode(e<<2|n>>4),i!==64&&(t+=String.fromCharCode((n&15)<<4|i>>2),s!==64&&(t+=String.fromCharCode((i&3)<<6|s)));return t};w.encodeUtf8=function(r){return unescape(encodeURIComponent(r))};w.decodeUtf8=function(r){return decodeURIComponent(escape(r))};w.binary={raw:{},hex:{},base64:{},base58:{},baseN:{encode:kp.encode,decode:kp.decode}};w.binary.raw.encode=function(r){return String.fromCharCode.apply(null,r)};w.binary.raw.decode=function(r,t,e){var n=t;n||(n=new Uint8Array(r.length)),e=e||0;for(var i=e,s=0;s<r.length;++s)n[i++]=r.charCodeAt(s);return t?i-e:n};w.binary.hex.encode=w.bytesToHex;w.binary.hex.decode=function(r,t,e){var n=t;n||(n=new Uint8Array(Math.ceil(r.length/2))),e=e||0;var i=0,s=e;for(r.length&1&&(i=1,n[s++]=parseInt(r[0],16));i<r.length;i+=2)n[s++]=parseInt(r.substr(i,2),16);return t?s-e:n};w.binary.base64.encode=function(r,t){for(var e="",n="",i,s,o,a=0;a<r.byteLength;)i=r[a++],s=r[a++],o=r[a++],e+=Xr.charAt(i>>2),e+=Xr.charAt((i&3)<<4|s>>4),isNaN(s)?e+="==":(e+=Xr.charAt((s&15)<<2|o>>6),e+=isNaN(o)?"=":Xr.charAt(o&63)),t&&e.length>t&&(n+=e.substr(0,t)+`\r
|
|
27
|
-
`,e=e.substr(t));return n+=e,n};w.binary.base64.decode=function(r,t,e){var n=t;n||(n=new Uint8Array(Math.ceil(r.length/4)*3)),r=r.replace(/[^A-Za-z0-9\+\/\=]/g,""),e=e||0;for(var i,s,o,a,c=0,u=e;c<r.length;)i=Zr[r.charCodeAt(c++)-43],s=Zr[r.charCodeAt(c++)-43],o=Zr[r.charCodeAt(c++)-43],a=Zr[r.charCodeAt(c++)-43],n[u++]=i<<2|s>>4,o!==64&&(n[u++]=(s&15)<<4|o>>2,a!==64&&(n[u++]=(o&3)<<6|a));return t?u-e:n.subarray(0,u)};w.binary.base58.encode=function(r,t){return w.binary.baseN.encode(r,Op,t)};w.binary.base58.decode=function(r,t){return w.binary.baseN.decode(r,Op,t)};w.text={utf8:{},utf16:{}};w.text.utf8.encode=function(r,t,e){r=w.encodeUtf8(r);var n=t;n||(n=new Uint8Array(r.length)),e=e||0;for(var i=e,s=0;s<r.length;++s)n[i++]=r.charCodeAt(s);return t?i-e:n};w.text.utf8.decode=function(r){return w.decodeUtf8(String.fromCharCode.apply(null,r))};w.text.utf16.encode=function(r,t,e){var n=t;n||(n=new Uint8Array(r.length*2));var i=new Uint16Array(n.buffer);e=e||0;for(var s=e,o=e,a=0;a<r.length;++a)i[o++]=r.charCodeAt(a),s+=2;return t?s-e:n};w.text.utf16.decode=function(r){return String.fromCharCode.apply(null,new Uint16Array(r.buffer))};w.deflate=function(r,t,e){if(t=w.decode64(r.deflate(w.encode64(t)).rval),e){var n=2,i=t.charCodeAt(1);i&32&&(n=6),t=t.substring(n,t.length-4)}return t};w.inflate=function(r,t,e){var n=r.inflate(w.encode64(t)).rval;return n===null?null:w.decode64(n)};var il=function(r,t,e){if(!r)throw new Error("WebStorage not available.");var n;if(e===null?n=r.removeItem(t):(e=w.encode64(JSON.stringify(e)),n=r.setItem(t,e)),typeof n<"u"&&n.rval!==!0){var i=new Error(n.error.message);throw i.id=n.error.id,i.name=n.error.name,i}},sl=function(r,t){if(!r)throw new Error("WebStorage not available.");var e=r.getItem(t);if(r.init)if(e.rval===null){if(e.error){var n=new Error(e.error.message);throw n.id=e.error.id,n.name=e.error.name,n}e=null}else e=e.rval;return e!==null&&(e=JSON.parse(w.decode64(e))),e},qv=function(r,t,e,n){var i=sl(r,t);i===null&&(i={}),i[e]=n,il(r,t,i)},$v=function(r,t,e){var n=sl(r,t);return n!==null&&(n=e in n?n[e]:null),n},zv=function(r,t,e){var n=sl(r,t);if(n!==null&&e in n){delete n[e];var i=!0;for(var s in n){i=!1;break}i&&(n=null),il(r,t,n)}},Hv=function(r,t){il(r,t,null)},Qo=function(r,t,e){var n=null;typeof e>"u"&&(e=["web","flash"]);var i,s=!1,o=null;for(var a in e){i=e[a];try{if(i==="flash"||i==="both"){if(t[0]===null)throw new Error("Flash local storage not available.");n=r.apply(this,t),s=i==="flash"}(i==="web"||i==="both")&&(t[0]=localStorage,n=r.apply(this,t),s=!0)}catch(c){o=c}if(s)break}if(!s)throw o;return n};w.setItem=function(r,t,e,n,i){Qo(qv,arguments,i)};w.getItem=function(r,t,e,n){return Qo($v,arguments,n)};w.removeItem=function(r,t,e,n){Qo(zv,arguments,n)};w.clearItems=function(r,t,e){Qo(Hv,arguments,e)};w.isEmpty=function(r){for(var t in r)if(r.hasOwnProperty(t))return!1;return!0};w.format=function(r){for(var t=/%./g,e,n,i=0,s=[],o=0;e=t.exec(r);){n=r.substring(o,t.lastIndex-2),n.length>0&&s.push(n),o=t.lastIndex;var a=e[0][1];switch(a){case"s":case"o":i<arguments.length?s.push(arguments[i+++1]):s.push("<?>");break;case"%":s.push("%");break;default:s.push("<%"+a+"?>")}}return s.push(r.substring(o)),s.join("")};w.formatNumber=function(r,t,e,n){var i=r,s=isNaN(t=Math.abs(t))?2:t,o=e===void 0?",":e,a=n===void 0?".":n,c=i<0?"-":"",u=parseInt(i=Math.abs(+i||0).toFixed(s),10)+"",l=u.length>3?u.length%3:0;return c+(l?u.substr(0,l)+a:"")+u.substr(l).replace(/(\d{3})(?=\d)/g,"$1"+a)+(s?o+Math.abs(i-u).toFixed(s).slice(2):"")};w.formatSize=function(r){return r>=1073741824?r=w.formatNumber(r/1073741824,2,".","")+" GiB":r>=1048576?r=w.formatNumber(r/1048576,2,".","")+" MiB":r>=1024?r=w.formatNumber(r/1024,0)+" KiB":r=w.formatNumber(r,0)+" bytes",r};w.bytesFromIP=function(r){return r.indexOf(".")!==-1?w.bytesFromIPv4(r):r.indexOf(":")!==-1?w.bytesFromIPv6(r):null};w.bytesFromIPv4=function(r){if(r=r.split("."),r.length!==4)return null;for(var t=w.createBuffer(),e=0;e<r.length;++e){var n=parseInt(r[e],10);if(isNaN(n))return null;t.putByte(n)}return t.getBytes()};w.bytesFromIPv6=function(r){var t=0;r=r.split(":").filter(function(o){return o.length===0&&++t,!0});for(var e=(8-r.length+t)*2,n=w.createBuffer(),i=0;i<8;++i){if(!r[i]||r[i].length===0){n.fillWithByte(0,e),e=0;continue}var s=w.hexToBytes(r[i]);s.length<2&&n.putByte(0),n.putBytes(s)}return n.getBytes()};w.bytesToIP=function(r){return r.length===4?w.bytesToIPv4(r):r.length===16?w.bytesToIPv6(r):null};w.bytesToIPv4=function(r){if(r.length!==4)return null;for(var t=[],e=0;e<r.length;++e)t.push(r.charCodeAt(e));return t.join(".")};w.bytesToIPv6=function(r){if(r.length!==16)return null;for(var t=[],e=[],n=0,i=0;i<r.length;i+=2){for(var s=w.bytesToHex(r[i]+r[i+1]);s[0]==="0"&&s!=="0";)s=s.substr(1);if(s==="0"){var o=e[e.length-1],a=t.length;!o||a!==o.end+1?e.push({start:a,end:a}):(o.end=a,o.end-o.start>e[n].end-e[n].start&&(n=e.length-1))}t.push(s)}if(e.length>0){var c=e[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(r,t){if(typeof r=="function"&&(t=r,r={}),r=r||{},"cores"in w&&!r.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 e=URL.createObjectURL(new Blob(["(",function(){self.addEventListener("message",function(o){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(o,a,c){if(a===0){var u=Math.floor(o.reduce(function(l,f){return l+f},0)/o.length);return w.cores=Math.max(1,u),URL.revokeObjectURL(e),t(null,w.cores)}i(c,function(l,f){o.push(s(c,f)),n(o,a-1,c)})}function i(o,a){for(var c=[],u=[],l=0;l<o;++l){var f=new Worker(e);f.addEventListener("message",function(d){if(u.push(d.data),u.length===o){for(var h=0;h<o;++h)c[h].terminate();a(null,u)}}),c.push(f)}for(var l=0;l<o;++l)c[l].postMessage(l)}function s(o,a){for(var c=[],u=0;u<o;++u)for(var l=a[u],f=c[u]=[],d=0;d<o;++d)if(u!==d){var h=a[d];(l.st>h.st&&l.st<h.et||h.st>l.st&&h.st<l.et)&&f.push(d)}return c.reduce(function(p,m){return Math.max(p,m.length)},0)}}});var Xo=I((w4,Up)=>{var ls=ut();ls.pki=ls.pki||{};var ol=Up.exports=ls.pki.oids=ls.oids=ls.oids||{};function R(r,t){ol[r]=t,ol[t]=r}function at(r,t){ol[r]=t}R("1.2.840.113549.1.1.1","rsaEncryption");R("1.2.840.113549.1.1.4","md5WithRSAEncryption");R("1.2.840.113549.1.1.5","sha1WithRSAEncryption");R("1.2.840.113549.1.1.7","RSAES-OAEP");R("1.2.840.113549.1.1.8","mgf1");R("1.2.840.113549.1.1.9","pSpecified");R("1.2.840.113549.1.1.10","RSASSA-PSS");R("1.2.840.113549.1.1.11","sha256WithRSAEncryption");R("1.2.840.113549.1.1.12","sha384WithRSAEncryption");R("1.2.840.113549.1.1.13","sha512WithRSAEncryption");R("1.3.101.112","EdDSA25519");R("1.2.840.10040.4.3","dsa-with-sha1");R("1.3.14.3.2.7","desCBC");R("1.3.14.3.2.26","sha1");R("1.3.14.3.2.29","sha1WithRSASignature");R("2.16.840.1.101.3.4.2.1","sha256");R("2.16.840.1.101.3.4.2.2","sha384");R("2.16.840.1.101.3.4.2.3","sha512");R("2.16.840.1.101.3.4.2.4","sha224");R("2.16.840.1.101.3.4.2.5","sha512-224");R("2.16.840.1.101.3.4.2.6","sha512-256");R("1.2.840.113549.2.2","md2");R("1.2.840.113549.2.5","md5");R("1.2.840.113549.1.7.1","data");R("1.2.840.113549.1.7.2","signedData");R("1.2.840.113549.1.7.3","envelopedData");R("1.2.840.113549.1.7.4","signedAndEnvelopedData");R("1.2.840.113549.1.7.5","digestedData");R("1.2.840.113549.1.7.6","encryptedData");R("1.2.840.113549.1.9.1","emailAddress");R("1.2.840.113549.1.9.2","unstructuredName");R("1.2.840.113549.1.9.3","contentType");R("1.2.840.113549.1.9.4","messageDigest");R("1.2.840.113549.1.9.5","signingTime");R("1.2.840.113549.1.9.6","counterSignature");R("1.2.840.113549.1.9.7","challengePassword");R("1.2.840.113549.1.9.8","unstructuredAddress");R("1.2.840.113549.1.9.14","extensionRequest");R("1.2.840.113549.1.9.20","friendlyName");R("1.2.840.113549.1.9.21","localKeyId");R("1.2.840.113549.1.9.22.1","x509Certificate");R("1.2.840.113549.1.12.10.1.1","keyBag");R("1.2.840.113549.1.12.10.1.2","pkcs8ShroudedKeyBag");R("1.2.840.113549.1.12.10.1.3","certBag");R("1.2.840.113549.1.12.10.1.4","crlBag");R("1.2.840.113549.1.12.10.1.5","secretBag");R("1.2.840.113549.1.12.10.1.6","safeContentsBag");R("1.2.840.113549.1.5.13","pkcs5PBES2");R("1.2.840.113549.1.5.12","pkcs5PBKDF2");R("1.2.840.113549.1.12.1.1","pbeWithSHAAnd128BitRC4");R("1.2.840.113549.1.12.1.2","pbeWithSHAAnd40BitRC4");R("1.2.840.113549.1.12.1.3","pbeWithSHAAnd3-KeyTripleDES-CBC");R("1.2.840.113549.1.12.1.4","pbeWithSHAAnd2-KeyTripleDES-CBC");R("1.2.840.113549.1.12.1.5","pbeWithSHAAnd128BitRC2-CBC");R("1.2.840.113549.1.12.1.6","pbewithSHAAnd40BitRC2-CBC");R("1.2.840.113549.2.7","hmacWithSHA1");R("1.2.840.113549.2.8","hmacWithSHA224");R("1.2.840.113549.2.9","hmacWithSHA256");R("1.2.840.113549.2.10","hmacWithSHA384");R("1.2.840.113549.2.11","hmacWithSHA512");R("1.2.840.113549.3.7","des-EDE3-CBC");R("2.16.840.1.101.3.4.1.2","aes128-CBC");R("2.16.840.1.101.3.4.1.22","aes192-CBC");R("2.16.840.1.101.3.4.1.42","aes256-CBC");R("2.5.4.3","commonName");R("2.5.4.4","surname");R("2.5.4.5","serialNumber");R("2.5.4.6","countryName");R("2.5.4.7","localityName");R("2.5.4.8","stateOrProvinceName");R("2.5.4.9","streetAddress");R("2.5.4.10","organizationName");R("2.5.4.11","organizationalUnitName");R("2.5.4.12","title");R("2.5.4.13","description");R("2.5.4.15","businessCategory");R("2.5.4.17","postalCode");R("2.5.4.42","givenName");R("1.3.6.1.4.1.311.60.2.1.2","jurisdictionOfIncorporationStateOrProvinceName");R("1.3.6.1.4.1.311.60.2.1.3","jurisdictionOfIncorporationCountryName");R("2.16.840.1.113730.1.1","nsCertType");R("2.16.840.1.113730.1.13","nsComment");at("2.5.29.1","authorityKeyIdentifier");at("2.5.29.2","keyAttributes");at("2.5.29.3","certificatePolicies");at("2.5.29.4","keyUsageRestriction");at("2.5.29.5","policyMapping");at("2.5.29.6","subtreesConstraint");at("2.5.29.7","subjectAltName");at("2.5.29.8","issuerAltName");at("2.5.29.9","subjectDirectoryAttributes");at("2.5.29.10","basicConstraints");at("2.5.29.11","nameConstraints");at("2.5.29.12","policyConstraints");at("2.5.29.13","basicConstraints");R("2.5.29.14","subjectKeyIdentifier");R("2.5.29.15","keyUsage");at("2.5.29.16","privateKeyUsagePeriod");R("2.5.29.17","subjectAltName");R("2.5.29.18","issuerAltName");R("2.5.29.19","basicConstraints");at("2.5.29.20","cRLNumber");at("2.5.29.21","cRLReason");at("2.5.29.22","expirationDate");at("2.5.29.23","instructionCode");at("2.5.29.24","invalidityDate");at("2.5.29.25","cRLDistributionPoints");at("2.5.29.26","issuingDistributionPoint");at("2.5.29.27","deltaCRLIndicator");at("2.5.29.28","issuingDistributionPoint");at("2.5.29.29","certificateIssuer");at("2.5.29.30","nameConstraints");R("2.5.29.31","cRLDistributionPoints");R("2.5.29.32","certificatePolicies");at("2.5.29.33","policyMappings");at("2.5.29.34","policyConstraints");R("2.5.29.35","authorityKeyIdentifier");at("2.5.29.36","policyConstraints");R("2.5.29.37","extKeyUsage");at("2.5.29.46","freshestCRL");at("2.5.29.54","inhibitAnyPolicy");R("1.3.6.1.4.1.11129.2.4.2","timestampList");R("1.3.6.1.5.5.7.1.1","authorityInfoAccess");R("1.3.6.1.5.5.7.3.1","serverAuth");R("1.3.6.1.5.5.7.3.2","clientAuth");R("1.3.6.1.5.5.7.3.3","codeSigning");R("1.3.6.1.5.5.7.3.4","emailProtection");R("1.3.6.1.5.5.7.3.8","timeStamping")});var hs=I((E4,Kp)=>{var Et=ut();Kt();Xo();var L=Kp.exports=Et.asn1=Et.asn1||{};L.Class={UNIVERSAL:0,APPLICATION:64,CONTEXT_SPECIFIC:128,PRIVATE:192};L.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};L.create=function(r,t,e,n,i){if(Et.util.isArray(n)){for(var s=[],o=0;o<n.length;++o)n[o]!==void 0&&s.push(n[o]);n=s}var a={tagClass:r,type:t,constructed:e,composed:e||Et.util.isArray(n),value:n};return i&&"bitStringContents"in i&&(a.bitStringContents=i.bitStringContents,a.original=L.copy(a)),a};L.copy=function(r,t){var e;if(Et.util.isArray(r)){e=[];for(var n=0;n<r.length;++n)e.push(L.copy(r[n],t));return e}return typeof r=="string"?r:(e={tagClass:r.tagClass,type:r.type,constructed:r.constructed,composed:r.composed,value:L.copy(r.value,t)},t&&!t.excludeBitStringContents&&(e.bitStringContents=r.bitStringContents),e)};L.equals=function(r,t,e){if(Et.util.isArray(r)){if(!Et.util.isArray(t)||r.length!==t.length)return!1;for(var n=0;n<r.length;++n)if(!L.equals(r[n],t[n]))return!1;return!0}if(typeof r!=typeof t)return!1;if(typeof r=="string")return r===t;var i=r.tagClass===t.tagClass&&r.type===t.type&&r.constructed===t.constructed&&r.composed===t.composed&&L.equals(r.value,t.value);return e&&e.includeBitStringContents&&(i=i&&r.bitStringContents===t.bitStringContents),i};L.getBerValueLength=function(r){var t=r.getByte();if(t!==128){var e,n=t&128;return n?e=r.getInt((t&127)<<3):e=t,e}};function fs(r,t,e){if(e>t){var n=new Error("Too few bytes to parse DER.");throw n.available=r.length(),n.remaining=t,n.requested=e,n}}var Gv=function(r,t){var e=r.getByte();if(t--,e!==128){var n,i=e&128;if(!i)n=e;else{var s=e&127;fs(r,t,s),n=r.getInt(s<<3)}if(n<0)throw new Error("Negative length: "+n);return n}};L.fromDer=function(r,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 r=="string"&&(r=Et.util.createBuffer(r));var e=r.length(),n=Zo(r,r.length(),0,t);if(t.parseAllBytes&&r.length()!==0){var i=new Error("Unparsed DER bytes remain after ASN.1 parsing.");throw i.byteCount=e,i.remaining=r.length(),i}return n};function Zo(r,t,e,n){var i;fs(r,t,2);var s=r.getByte();t--;var o=s&192,a=s&31;i=r.length();var c=Gv(r,t);if(t-=i-r.length(),c!==void 0&&c>t){if(n.strict){var u=new Error("Too few bytes to read ASN.1 value.");throw u.available=r.length(),u.remaining=t,u.requested=c,u}c=t}var l,f,d=(s&32)===32;if(d)if(l=[],c===void 0)for(;;){if(fs(r,t,2),r.bytes(2)===String.fromCharCode(0,0)){r.getBytes(2),t-=2;break}i=r.length(),l.push(Zo(r,t,e+1,n)),t-=i-r.length()}else for(;c>0;)i=r.length(),l.push(Zo(r,c,e+1,n)),t-=i-r.length(),c-=i-r.length();if(l===void 0&&o===L.Class.UNIVERSAL&&a===L.Type.BITSTRING&&(f=r.bytes(c)),l===void 0&&n.decodeBitStrings&&o===L.Class.UNIVERSAL&&a===L.Type.BITSTRING&&c>1){var h=r.read,p=t,m=0;if(a===L.Type.BITSTRING&&(fs(r,t,1),m=r.getByte(),t--),m===0)try{i=r.length();var y={strict:!0,decodeBitStrings:!0},g=Zo(r,t,e+1,y),E=i-r.length();t-=E,a==L.Type.BITSTRING&&E++;var b=g.tagClass;E===c&&(b===L.Class.UNIVERSAL||b===L.Class.CONTEXT_SPECIFIC)&&(l=[g])}catch{}l===void 0&&(r.read=h,t=p)}if(l===void 0){if(c===void 0){if(n.strict)throw new Error("Non-constructed ASN.1 object of indefinite length.");c=t}if(a===L.Type.BMPSTRING)for(l="";c>0;c-=2)fs(r,t,2),l+=String.fromCharCode(r.getInt16()),t-=2;else l=r.getBytes(c),t-=c}var O=f===void 0?null:{bitStringContents:f};return L.create(o,a,d,l,O)}L.toDer=function(r){var t=Et.util.createBuffer(),e=r.tagClass|r.type,n=Et.util.createBuffer(),i=!1;if("bitStringContents"in r&&(i=!0,r.original&&(i=L.equals(r,r.original))),i)n.putBytes(r.bitStringContents);else if(r.composed){r.constructed?e|=32:n.putByte(0);for(var s=0;s<r.value.length;++s)r.value[s]!==void 0&&n.putBuffer(L.toDer(r.value[s]))}else if(r.type===L.Type.BMPSTRING)for(var s=0;s<r.value.length;++s)n.putInt16(r.value.charCodeAt(s));else r.type===L.Type.INTEGER&&r.value.length>1&&(r.value.charCodeAt(0)===0&&!(r.value.charCodeAt(1)&128)||r.value.charCodeAt(0)===255&&(r.value.charCodeAt(1)&128)===128)?n.putBytes(r.value.substr(1)):n.putBytes(r.value);if(t.putByte(e),n.length()<=127)t.putByte(n.length()&127);else{var o=n.length(),a="";do a+=String.fromCharCode(o&255),o=o>>>8;while(o>0);t.putByte(a.length|128);for(var s=a.length-1;s>=0;--s)t.putByte(a.charCodeAt(s))}return t.putBuffer(n),t};L.oidToDer=function(r){var t=r.split("."),e=Et.util.createBuffer();e.putByte(40*parseInt(t[0],10)+parseInt(t[1],10));for(var n,i,s,o,a=2;a<t.length;++a){n=!0,i=[],s=parseInt(t[a],10);do o=s&127,s=s>>>7,n||(o|=128),i.push(o),n=!1;while(s>0);for(var c=i.length-1;c>=0;--c)e.putByte(i[c])}return e};L.derToOid=function(r){var t;typeof r=="string"&&(r=Et.util.createBuffer(r));var e=r.getByte();t=Math.floor(e/40)+"."+e%40;for(var n=0;r.length()>0;)e=r.getByte(),n=n<<7,e&128?n+=e&127:(t+="."+(n+e),n=0);return t};L.utcTimeToDate=function(r){var t=new Date,e=parseInt(r.substr(0,2),10);e=e>=50?1900+e:2e3+e;var n=parseInt(r.substr(2,2),10)-1,i=parseInt(r.substr(4,2),10),s=parseInt(r.substr(6,2),10),o=parseInt(r.substr(8,2),10),a=0;if(r.length>11){var c=r.charAt(10),u=10;c!=="+"&&c!=="-"&&(a=parseInt(r.substr(10,2),10),u+=2)}if(t.setUTCFullYear(e,n,i),t.setUTCHours(s,o,a,0),u&&(c=r.charAt(u),c==="+"||c==="-")){var l=parseInt(r.substr(u+1,2),10),f=parseInt(r.substr(u+4,2),10),d=l*60+f;d*=6e4,c==="+"?t.setTime(+t-d):t.setTime(+t+d)}return t};L.generalizedTimeToDate=function(r){var t=new Date,e=parseInt(r.substr(0,4),10),n=parseInt(r.substr(4,2),10)-1,i=parseInt(r.substr(6,2),10),s=parseInt(r.substr(8,2),10),o=parseInt(r.substr(10,2),10),a=parseInt(r.substr(12,2),10),c=0,u=0,l=!1;r.charAt(r.length-1)==="Z"&&(l=!0);var f=r.length-5,d=r.charAt(f);if(d==="+"||d==="-"){var h=parseInt(r.substr(f+1,2),10),p=parseInt(r.substr(f+4,2),10);u=h*60+p,u*=6e4,d==="+"&&(u*=-1),l=!0}return r.charAt(14)==="."&&(c=parseFloat(r.substr(14),10)*1e3),l?(t.setUTCFullYear(e,n,i),t.setUTCHours(s,o,a,c),t.setTime(+t+u)):(t.setFullYear(e,n,i),t.setHours(s,o,a,c)),t};L.dateToUtcTime=function(r){if(typeof r=="string")return r;var t="",e=[];e.push((""+r.getUTCFullYear()).substr(2)),e.push(""+(r.getUTCMonth()+1)),e.push(""+r.getUTCDate()),e.push(""+r.getUTCHours()),e.push(""+r.getUTCMinutes()),e.push(""+r.getUTCSeconds());for(var n=0;n<e.length;++n)e[n].length<2&&(t+="0"),t+=e[n];return t+="Z",t};L.dateToGeneralizedTime=function(r){if(typeof r=="string")return r;var t="",e=[];e.push(""+r.getUTCFullYear()),e.push(""+(r.getUTCMonth()+1)),e.push(""+r.getUTCDate()),e.push(""+r.getUTCHours()),e.push(""+r.getUTCMinutes()),e.push(""+r.getUTCSeconds());for(var n=0;n<e.length;++n)e[n].length<2&&(t+="0"),t+=e[n];return t+="Z",t};L.integerToDer=function(r){var t=Et.util.createBuffer();if(r>=-128&&r<128)return t.putSignedInt(r,8);if(r>=-32768&&r<32768)return t.putSignedInt(r,16);if(r>=-8388608&&r<8388608)return t.putSignedInt(r,24);if(r>=-2147483648&&r<2147483648)return t.putSignedInt(r,32);var e=new Error("Integer too large; max is 32-bits.");throw e.integer=r,e};L.derToInteger=function(r){typeof r=="string"&&(r=Et.util.createBuffer(r));var t=r.length()*8;if(t>32)throw new Error("Integer too large; max is 32-bits.");return r.getSignedInt(t)};L.validate=function(r,t,e,n){var i=!1;if((r.tagClass===t.tagClass||typeof t.tagClass>"u")&&(r.type===t.type||typeof t.type>"u"))if(r.constructed===t.constructed||typeof t.constructed>"u"){if(i=!0,t.value&&Et.util.isArray(t.value))for(var s=0,o=0;i&&o<t.value.length;++o)i=t.value[o].optional||!1,r.value[s]&&(i=L.validate(r.value[s],t.value[o],e,n),i?++s:t.value[o].optional&&(i=!0)),!i&&n&&n.push("["+t.name+'] Tag class "'+t.tagClass+'", type "'+t.type+'" expected value length "'+t.value.length+'", got "'+r.value.length+'"');if(i&&e&&(t.capture&&(e[t.capture]=r.value),t.captureAsn1&&(e[t.captureAsn1]=r),t.captureBitStringContents&&"bitStringContents"in r&&(e[t.captureBitStringContents]=r.bitStringContents),t.captureBitStringValue&&"bitStringContents"in r)){var a;if(r.bitStringContents.length<2)e[t.captureBitStringValue]="";else{var c=r.bitStringContents.charCodeAt(0);if(c!==0)throw new Error("captureBitStringValue only supported for zero unused bits");e[t.captureBitStringValue]=r.bitStringContents.slice(1)}}}else n&&n.push("["+t.name+'] Expected constructed "'+t.constructed+'", got "'+r.constructed+'"');else n&&(r.tagClass!==t.tagClass&&n.push("["+t.name+'] Expected tag class "'+t.tagClass+'", got "'+r.tagClass+'"'),r.type!==t.type&&n.push("["+t.name+'] Expected type "'+t.type+'", got "'+r.type+'"'));return i};var Fp=/[^\\u0000-\\u00ff]/;L.prettyPrint=function(r,t,e){var n="";t=t||0,e=e||2,t>0&&(n+=`
|
|
27
|
+
`,e=e.substr(t));return n+=e,n};w.binary.base64.decode=function(r,t,e){var n=t;n||(n=new Uint8Array(Math.ceil(r.length/4)*3)),r=r.replace(/[^A-Za-z0-9\+\/\=]/g,""),e=e||0;for(var i,s,o,a,c=0,u=e;c<r.length;)i=Zr[r.charCodeAt(c++)-43],s=Zr[r.charCodeAt(c++)-43],o=Zr[r.charCodeAt(c++)-43],a=Zr[r.charCodeAt(c++)-43],n[u++]=i<<2|s>>4,o!==64&&(n[u++]=(s&15)<<4|o>>2,a!==64&&(n[u++]=(o&3)<<6|a));return t?u-e:n.subarray(0,u)};w.binary.base58.encode=function(r,t){return w.binary.baseN.encode(r,Op,t)};w.binary.base58.decode=function(r,t){return w.binary.baseN.decode(r,Op,t)};w.text={utf8:{},utf16:{}};w.text.utf8.encode=function(r,t,e){r=w.encodeUtf8(r);var n=t;n||(n=new Uint8Array(r.length)),e=e||0;for(var i=e,s=0;s<r.length;++s)n[i++]=r.charCodeAt(s);return t?i-e:n};w.text.utf8.decode=function(r){return w.decodeUtf8(String.fromCharCode.apply(null,r))};w.text.utf16.encode=function(r,t,e){var n=t;n||(n=new Uint8Array(r.length*2));var i=new Uint16Array(n.buffer);e=e||0;for(var s=e,o=e,a=0;a<r.length;++a)i[o++]=r.charCodeAt(a),s+=2;return t?s-e:n};w.text.utf16.decode=function(r){return String.fromCharCode.apply(null,new Uint16Array(r.buffer))};w.deflate=function(r,t,e){if(t=w.decode64(r.deflate(w.encode64(t)).rval),e){var n=2,i=t.charCodeAt(1);i&32&&(n=6),t=t.substring(n,t.length-4)}return t};w.inflate=function(r,t,e){var n=r.inflate(w.encode64(t)).rval;return n===null?null:w.decode64(n)};var il=function(r,t,e){if(!r)throw new Error("WebStorage not available.");var n;if(e===null?n=r.removeItem(t):(e=w.encode64(JSON.stringify(e)),n=r.setItem(t,e)),typeof n<"u"&&n.rval!==!0){var i=new Error(n.error.message);throw i.id=n.error.id,i.name=n.error.name,i}},sl=function(r,t){if(!r)throw new Error("WebStorage not available.");var e=r.getItem(t);if(r.init)if(e.rval===null){if(e.error){var n=new Error(e.error.message);throw n.id=e.error.id,n.name=e.error.name,n}e=null}else e=e.rval;return e!==null&&(e=JSON.parse(w.decode64(e))),e},qv=function(r,t,e,n){var i=sl(r,t);i===null&&(i={}),i[e]=n,il(r,t,i)},$v=function(r,t,e){var n=sl(r,t);return n!==null&&(n=e in n?n[e]:null),n},zv=function(r,t,e){var n=sl(r,t);if(n!==null&&e in n){delete n[e];var i=!0;for(var s in n){i=!1;break}i&&(n=null),il(r,t,n)}},Hv=function(r,t){il(r,t,null)},Xo=function(r,t,e){var n=null;typeof e>"u"&&(e=["web","flash"]);var i,s=!1,o=null;for(var a in e){i=e[a];try{if(i==="flash"||i==="both"){if(t[0]===null)throw new Error("Flash local storage not available.");n=r.apply(this,t),s=i==="flash"}(i==="web"||i==="both")&&(t[0]=localStorage,n=r.apply(this,t),s=!0)}catch(c){o=c}if(s)break}if(!s)throw o;return n};w.setItem=function(r,t,e,n,i){Xo(qv,arguments,i)};w.getItem=function(r,t,e,n){return Xo($v,arguments,n)};w.removeItem=function(r,t,e,n){Xo(zv,arguments,n)};w.clearItems=function(r,t,e){Xo(Hv,arguments,e)};w.isEmpty=function(r){for(var t in r)if(r.hasOwnProperty(t))return!1;return!0};w.format=function(r){for(var t=/%./g,e,n,i=0,s=[],o=0;e=t.exec(r);){n=r.substring(o,t.lastIndex-2),n.length>0&&s.push(n),o=t.lastIndex;var a=e[0][1];switch(a){case"s":case"o":i<arguments.length?s.push(arguments[i+++1]):s.push("<?>");break;case"%":s.push("%");break;default:s.push("<%"+a+"?>")}}return s.push(r.substring(o)),s.join("")};w.formatNumber=function(r,t,e,n){var i=r,s=isNaN(t=Math.abs(t))?2:t,o=e===void 0?",":e,a=n===void 0?".":n,c=i<0?"-":"",u=parseInt(i=Math.abs(+i||0).toFixed(s),10)+"",l=u.length>3?u.length%3:0;return c+(l?u.substr(0,l)+a:"")+u.substr(l).replace(/(\d{3})(?=\d)/g,"$1"+a)+(s?o+Math.abs(i-u).toFixed(s).slice(2):"")};w.formatSize=function(r){return r>=1073741824?r=w.formatNumber(r/1073741824,2,".","")+" GiB":r>=1048576?r=w.formatNumber(r/1048576,2,".","")+" MiB":r>=1024?r=w.formatNumber(r/1024,0)+" KiB":r=w.formatNumber(r,0)+" bytes",r};w.bytesFromIP=function(r){return r.indexOf(".")!==-1?w.bytesFromIPv4(r):r.indexOf(":")!==-1?w.bytesFromIPv6(r):null};w.bytesFromIPv4=function(r){if(r=r.split("."),r.length!==4)return null;for(var t=w.createBuffer(),e=0;e<r.length;++e){var n=parseInt(r[e],10);if(isNaN(n))return null;t.putByte(n)}return t.getBytes()};w.bytesFromIPv6=function(r){var t=0;r=r.split(":").filter(function(o){return o.length===0&&++t,!0});for(var e=(8-r.length+t)*2,n=w.createBuffer(),i=0;i<8;++i){if(!r[i]||r[i].length===0){n.fillWithByte(0,e),e=0;continue}var s=w.hexToBytes(r[i]);s.length<2&&n.putByte(0),n.putBytes(s)}return n.getBytes()};w.bytesToIP=function(r){return r.length===4?w.bytesToIPv4(r):r.length===16?w.bytesToIPv6(r):null};w.bytesToIPv4=function(r){if(r.length!==4)return null;for(var t=[],e=0;e<r.length;++e)t.push(r.charCodeAt(e));return t.join(".")};w.bytesToIPv6=function(r){if(r.length!==16)return null;for(var t=[],e=[],n=0,i=0;i<r.length;i+=2){for(var s=w.bytesToHex(r[i]+r[i+1]);s[0]==="0"&&s!=="0";)s=s.substr(1);if(s==="0"){var o=e[e.length-1],a=t.length;!o||a!==o.end+1?e.push({start:a,end:a}):(o.end=a,o.end-o.start>e[n].end-e[n].start&&(n=e.length-1))}t.push(s)}if(e.length>0){var c=e[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(r,t){if(typeof r=="function"&&(t=r,r={}),r=r||{},"cores"in w&&!r.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 e=URL.createObjectURL(new Blob(["(",function(){self.addEventListener("message",function(o){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(o,a,c){if(a===0){var u=Math.floor(o.reduce(function(l,f){return l+f},0)/o.length);return w.cores=Math.max(1,u),URL.revokeObjectURL(e),t(null,w.cores)}i(c,function(l,f){o.push(s(c,f)),n(o,a-1,c)})}function i(o,a){for(var c=[],u=[],l=0;l<o;++l){var f=new Worker(e);f.addEventListener("message",function(d){if(u.push(d.data),u.length===o){for(var h=0;h<o;++h)c[h].terminate();a(null,u)}}),c.push(f)}for(var l=0;l<o;++l)c[l].postMessage(l)}function s(o,a){for(var c=[],u=0;u<o;++u)for(var l=a[u],f=c[u]=[],d=0;d<o;++d)if(u!==d){var h=a[d];(l.st>h.st&&l.st<h.et||h.st>l.st&&h.st<l.et)&&f.push(d)}return c.reduce(function(p,m){return Math.max(p,m.length)},0)}}});var Zo=I((w4,Up)=>{var ls=ut();ls.pki=ls.pki||{};var ol=Up.exports=ls.pki.oids=ls.oids=ls.oids||{};function R(r,t){ol[r]=t,ol[t]=r}function at(r,t){ol[r]=t}R("1.2.840.113549.1.1.1","rsaEncryption");R("1.2.840.113549.1.1.4","md5WithRSAEncryption");R("1.2.840.113549.1.1.5","sha1WithRSAEncryption");R("1.2.840.113549.1.1.7","RSAES-OAEP");R("1.2.840.113549.1.1.8","mgf1");R("1.2.840.113549.1.1.9","pSpecified");R("1.2.840.113549.1.1.10","RSASSA-PSS");R("1.2.840.113549.1.1.11","sha256WithRSAEncryption");R("1.2.840.113549.1.1.12","sha384WithRSAEncryption");R("1.2.840.113549.1.1.13","sha512WithRSAEncryption");R("1.3.101.112","EdDSA25519");R("1.2.840.10040.4.3","dsa-with-sha1");R("1.3.14.3.2.7","desCBC");R("1.3.14.3.2.26","sha1");R("1.3.14.3.2.29","sha1WithRSASignature");R("2.16.840.1.101.3.4.2.1","sha256");R("2.16.840.1.101.3.4.2.2","sha384");R("2.16.840.1.101.3.4.2.3","sha512");R("2.16.840.1.101.3.4.2.4","sha224");R("2.16.840.1.101.3.4.2.5","sha512-224");R("2.16.840.1.101.3.4.2.6","sha512-256");R("1.2.840.113549.2.2","md2");R("1.2.840.113549.2.5","md5");R("1.2.840.113549.1.7.1","data");R("1.2.840.113549.1.7.2","signedData");R("1.2.840.113549.1.7.3","envelopedData");R("1.2.840.113549.1.7.4","signedAndEnvelopedData");R("1.2.840.113549.1.7.5","digestedData");R("1.2.840.113549.1.7.6","encryptedData");R("1.2.840.113549.1.9.1","emailAddress");R("1.2.840.113549.1.9.2","unstructuredName");R("1.2.840.113549.1.9.3","contentType");R("1.2.840.113549.1.9.4","messageDigest");R("1.2.840.113549.1.9.5","signingTime");R("1.2.840.113549.1.9.6","counterSignature");R("1.2.840.113549.1.9.7","challengePassword");R("1.2.840.113549.1.9.8","unstructuredAddress");R("1.2.840.113549.1.9.14","extensionRequest");R("1.2.840.113549.1.9.20","friendlyName");R("1.2.840.113549.1.9.21","localKeyId");R("1.2.840.113549.1.9.22.1","x509Certificate");R("1.2.840.113549.1.12.10.1.1","keyBag");R("1.2.840.113549.1.12.10.1.2","pkcs8ShroudedKeyBag");R("1.2.840.113549.1.12.10.1.3","certBag");R("1.2.840.113549.1.12.10.1.4","crlBag");R("1.2.840.113549.1.12.10.1.5","secretBag");R("1.2.840.113549.1.12.10.1.6","safeContentsBag");R("1.2.840.113549.1.5.13","pkcs5PBES2");R("1.2.840.113549.1.5.12","pkcs5PBKDF2");R("1.2.840.113549.1.12.1.1","pbeWithSHAAnd128BitRC4");R("1.2.840.113549.1.12.1.2","pbeWithSHAAnd40BitRC4");R("1.2.840.113549.1.12.1.3","pbeWithSHAAnd3-KeyTripleDES-CBC");R("1.2.840.113549.1.12.1.4","pbeWithSHAAnd2-KeyTripleDES-CBC");R("1.2.840.113549.1.12.1.5","pbeWithSHAAnd128BitRC2-CBC");R("1.2.840.113549.1.12.1.6","pbewithSHAAnd40BitRC2-CBC");R("1.2.840.113549.2.7","hmacWithSHA1");R("1.2.840.113549.2.8","hmacWithSHA224");R("1.2.840.113549.2.9","hmacWithSHA256");R("1.2.840.113549.2.10","hmacWithSHA384");R("1.2.840.113549.2.11","hmacWithSHA512");R("1.2.840.113549.3.7","des-EDE3-CBC");R("2.16.840.1.101.3.4.1.2","aes128-CBC");R("2.16.840.1.101.3.4.1.22","aes192-CBC");R("2.16.840.1.101.3.4.1.42","aes256-CBC");R("2.5.4.3","commonName");R("2.5.4.4","surname");R("2.5.4.5","serialNumber");R("2.5.4.6","countryName");R("2.5.4.7","localityName");R("2.5.4.8","stateOrProvinceName");R("2.5.4.9","streetAddress");R("2.5.4.10","organizationName");R("2.5.4.11","organizationalUnitName");R("2.5.4.12","title");R("2.5.4.13","description");R("2.5.4.15","businessCategory");R("2.5.4.17","postalCode");R("2.5.4.42","givenName");R("1.3.6.1.4.1.311.60.2.1.2","jurisdictionOfIncorporationStateOrProvinceName");R("1.3.6.1.4.1.311.60.2.1.3","jurisdictionOfIncorporationCountryName");R("2.16.840.1.113730.1.1","nsCertType");R("2.16.840.1.113730.1.13","nsComment");at("2.5.29.1","authorityKeyIdentifier");at("2.5.29.2","keyAttributes");at("2.5.29.3","certificatePolicies");at("2.5.29.4","keyUsageRestriction");at("2.5.29.5","policyMapping");at("2.5.29.6","subtreesConstraint");at("2.5.29.7","subjectAltName");at("2.5.29.8","issuerAltName");at("2.5.29.9","subjectDirectoryAttributes");at("2.5.29.10","basicConstraints");at("2.5.29.11","nameConstraints");at("2.5.29.12","policyConstraints");at("2.5.29.13","basicConstraints");R("2.5.29.14","subjectKeyIdentifier");R("2.5.29.15","keyUsage");at("2.5.29.16","privateKeyUsagePeriod");R("2.5.29.17","subjectAltName");R("2.5.29.18","issuerAltName");R("2.5.29.19","basicConstraints");at("2.5.29.20","cRLNumber");at("2.5.29.21","cRLReason");at("2.5.29.22","expirationDate");at("2.5.29.23","instructionCode");at("2.5.29.24","invalidityDate");at("2.5.29.25","cRLDistributionPoints");at("2.5.29.26","issuingDistributionPoint");at("2.5.29.27","deltaCRLIndicator");at("2.5.29.28","issuingDistributionPoint");at("2.5.29.29","certificateIssuer");at("2.5.29.30","nameConstraints");R("2.5.29.31","cRLDistributionPoints");R("2.5.29.32","certificatePolicies");at("2.5.29.33","policyMappings");at("2.5.29.34","policyConstraints");R("2.5.29.35","authorityKeyIdentifier");at("2.5.29.36","policyConstraints");R("2.5.29.37","extKeyUsage");at("2.5.29.46","freshestCRL");at("2.5.29.54","inhibitAnyPolicy");R("1.3.6.1.4.1.11129.2.4.2","timestampList");R("1.3.6.1.5.5.7.1.1","authorityInfoAccess");R("1.3.6.1.5.5.7.3.1","serverAuth");R("1.3.6.1.5.5.7.3.2","clientAuth");R("1.3.6.1.5.5.7.3.3","codeSigning");R("1.3.6.1.5.5.7.3.4","emailProtection");R("1.3.6.1.5.5.7.3.8","timeStamping")});var hs=I((E4,Kp)=>{var Et=ut();Kt();Zo();var L=Kp.exports=Et.asn1=Et.asn1||{};L.Class={UNIVERSAL:0,APPLICATION:64,CONTEXT_SPECIFIC:128,PRIVATE:192};L.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};L.create=function(r,t,e,n,i){if(Et.util.isArray(n)){for(var s=[],o=0;o<n.length;++o)n[o]!==void 0&&s.push(n[o]);n=s}var a={tagClass:r,type:t,constructed:e,composed:e||Et.util.isArray(n),value:n};return i&&"bitStringContents"in i&&(a.bitStringContents=i.bitStringContents,a.original=L.copy(a)),a};L.copy=function(r,t){var e;if(Et.util.isArray(r)){e=[];for(var n=0;n<r.length;++n)e.push(L.copy(r[n],t));return e}return typeof r=="string"?r:(e={tagClass:r.tagClass,type:r.type,constructed:r.constructed,composed:r.composed,value:L.copy(r.value,t)},t&&!t.excludeBitStringContents&&(e.bitStringContents=r.bitStringContents),e)};L.equals=function(r,t,e){if(Et.util.isArray(r)){if(!Et.util.isArray(t)||r.length!==t.length)return!1;for(var n=0;n<r.length;++n)if(!L.equals(r[n],t[n]))return!1;return!0}if(typeof r!=typeof t)return!1;if(typeof r=="string")return r===t;var i=r.tagClass===t.tagClass&&r.type===t.type&&r.constructed===t.constructed&&r.composed===t.composed&&L.equals(r.value,t.value);return e&&e.includeBitStringContents&&(i=i&&r.bitStringContents===t.bitStringContents),i};L.getBerValueLength=function(r){var t=r.getByte();if(t!==128){var e,n=t&128;return n?e=r.getInt((t&127)<<3):e=t,e}};function fs(r,t,e){if(e>t){var n=new Error("Too few bytes to parse DER.");throw n.available=r.length(),n.remaining=t,n.requested=e,n}}var Gv=function(r,t){var e=r.getByte();if(t--,e!==128){var n,i=e&128;if(!i)n=e;else{var s=e&127;fs(r,t,s),n=r.getInt(s<<3)}if(n<0)throw new Error("Negative length: "+n);return n}};L.fromDer=function(r,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 r=="string"&&(r=Et.util.createBuffer(r));var e=r.length(),n=Jo(r,r.length(),0,t);if(t.parseAllBytes&&r.length()!==0){var i=new Error("Unparsed DER bytes remain after ASN.1 parsing.");throw i.byteCount=e,i.remaining=r.length(),i}return n};function Jo(r,t,e,n){var i;fs(r,t,2);var s=r.getByte();t--;var o=s&192,a=s&31;i=r.length();var c=Gv(r,t);if(t-=i-r.length(),c!==void 0&&c>t){if(n.strict){var u=new Error("Too few bytes to read ASN.1 value.");throw u.available=r.length(),u.remaining=t,u.requested=c,u}c=t}var l,f,d=(s&32)===32;if(d)if(l=[],c===void 0)for(;;){if(fs(r,t,2),r.bytes(2)===String.fromCharCode(0,0)){r.getBytes(2),t-=2;break}i=r.length(),l.push(Jo(r,t,e+1,n)),t-=i-r.length()}else for(;c>0;)i=r.length(),l.push(Jo(r,c,e+1,n)),t-=i-r.length(),c-=i-r.length();if(l===void 0&&o===L.Class.UNIVERSAL&&a===L.Type.BITSTRING&&(f=r.bytes(c)),l===void 0&&n.decodeBitStrings&&o===L.Class.UNIVERSAL&&a===L.Type.BITSTRING&&c>1){var h=r.read,p=t,m=0;if(a===L.Type.BITSTRING&&(fs(r,t,1),m=r.getByte(),t--),m===0)try{i=r.length();var y={strict:!0,decodeBitStrings:!0},g=Jo(r,t,e+1,y),E=i-r.length();t-=E,a==L.Type.BITSTRING&&E++;var b=g.tagClass;E===c&&(b===L.Class.UNIVERSAL||b===L.Class.CONTEXT_SPECIFIC)&&(l=[g])}catch{}l===void 0&&(r.read=h,t=p)}if(l===void 0){if(c===void 0){if(n.strict)throw new Error("Non-constructed ASN.1 object of indefinite length.");c=t}if(a===L.Type.BMPSTRING)for(l="";c>0;c-=2)fs(r,t,2),l+=String.fromCharCode(r.getInt16()),t-=2;else l=r.getBytes(c),t-=c}var O=f===void 0?null:{bitStringContents:f};return L.create(o,a,d,l,O)}L.toDer=function(r){var t=Et.util.createBuffer(),e=r.tagClass|r.type,n=Et.util.createBuffer(),i=!1;if("bitStringContents"in r&&(i=!0,r.original&&(i=L.equals(r,r.original))),i)n.putBytes(r.bitStringContents);else if(r.composed){r.constructed?e|=32:n.putByte(0);for(var s=0;s<r.value.length;++s)r.value[s]!==void 0&&n.putBuffer(L.toDer(r.value[s]))}else if(r.type===L.Type.BMPSTRING)for(var s=0;s<r.value.length;++s)n.putInt16(r.value.charCodeAt(s));else r.type===L.Type.INTEGER&&r.value.length>1&&(r.value.charCodeAt(0)===0&&!(r.value.charCodeAt(1)&128)||r.value.charCodeAt(0)===255&&(r.value.charCodeAt(1)&128)===128)?n.putBytes(r.value.substr(1)):n.putBytes(r.value);if(t.putByte(e),n.length()<=127)t.putByte(n.length()&127);else{var o=n.length(),a="";do a+=String.fromCharCode(o&255),o=o>>>8;while(o>0);t.putByte(a.length|128);for(var s=a.length-1;s>=0;--s)t.putByte(a.charCodeAt(s))}return t.putBuffer(n),t};L.oidToDer=function(r){var t=r.split("."),e=Et.util.createBuffer();e.putByte(40*parseInt(t[0],10)+parseInt(t[1],10));for(var n,i,s,o,a=2;a<t.length;++a){n=!0,i=[],s=parseInt(t[a],10);do o=s&127,s=s>>>7,n||(o|=128),i.push(o),n=!1;while(s>0);for(var c=i.length-1;c>=0;--c)e.putByte(i[c])}return e};L.derToOid=function(r){var t;typeof r=="string"&&(r=Et.util.createBuffer(r));var e=r.getByte();t=Math.floor(e/40)+"."+e%40;for(var n=0;r.length()>0;)e=r.getByte(),n=n<<7,e&128?n+=e&127:(t+="."+(n+e),n=0);return t};L.utcTimeToDate=function(r){var t=new Date,e=parseInt(r.substr(0,2),10);e=e>=50?1900+e:2e3+e;var n=parseInt(r.substr(2,2),10)-1,i=parseInt(r.substr(4,2),10),s=parseInt(r.substr(6,2),10),o=parseInt(r.substr(8,2),10),a=0;if(r.length>11){var c=r.charAt(10),u=10;c!=="+"&&c!=="-"&&(a=parseInt(r.substr(10,2),10),u+=2)}if(t.setUTCFullYear(e,n,i),t.setUTCHours(s,o,a,0),u&&(c=r.charAt(u),c==="+"||c==="-")){var l=parseInt(r.substr(u+1,2),10),f=parseInt(r.substr(u+4,2),10),d=l*60+f;d*=6e4,c==="+"?t.setTime(+t-d):t.setTime(+t+d)}return t};L.generalizedTimeToDate=function(r){var t=new Date,e=parseInt(r.substr(0,4),10),n=parseInt(r.substr(4,2),10)-1,i=parseInt(r.substr(6,2),10),s=parseInt(r.substr(8,2),10),o=parseInt(r.substr(10,2),10),a=parseInt(r.substr(12,2),10),c=0,u=0,l=!1;r.charAt(r.length-1)==="Z"&&(l=!0);var f=r.length-5,d=r.charAt(f);if(d==="+"||d==="-"){var h=parseInt(r.substr(f+1,2),10),p=parseInt(r.substr(f+4,2),10);u=h*60+p,u*=6e4,d==="+"&&(u*=-1),l=!0}return r.charAt(14)==="."&&(c=parseFloat(r.substr(14),10)*1e3),l?(t.setUTCFullYear(e,n,i),t.setUTCHours(s,o,a,c),t.setTime(+t+u)):(t.setFullYear(e,n,i),t.setHours(s,o,a,c)),t};L.dateToUtcTime=function(r){if(typeof r=="string")return r;var t="",e=[];e.push((""+r.getUTCFullYear()).substr(2)),e.push(""+(r.getUTCMonth()+1)),e.push(""+r.getUTCDate()),e.push(""+r.getUTCHours()),e.push(""+r.getUTCMinutes()),e.push(""+r.getUTCSeconds());for(var n=0;n<e.length;++n)e[n].length<2&&(t+="0"),t+=e[n];return t+="Z",t};L.dateToGeneralizedTime=function(r){if(typeof r=="string")return r;var t="",e=[];e.push(""+r.getUTCFullYear()),e.push(""+(r.getUTCMonth()+1)),e.push(""+r.getUTCDate()),e.push(""+r.getUTCHours()),e.push(""+r.getUTCMinutes()),e.push(""+r.getUTCSeconds());for(var n=0;n<e.length;++n)e[n].length<2&&(t+="0"),t+=e[n];return t+="Z",t};L.integerToDer=function(r){var t=Et.util.createBuffer();if(r>=-128&&r<128)return t.putSignedInt(r,8);if(r>=-32768&&r<32768)return t.putSignedInt(r,16);if(r>=-8388608&&r<8388608)return t.putSignedInt(r,24);if(r>=-2147483648&&r<2147483648)return t.putSignedInt(r,32);var e=new Error("Integer too large; max is 32-bits.");throw e.integer=r,e};L.derToInteger=function(r){typeof r=="string"&&(r=Et.util.createBuffer(r));var t=r.length()*8;if(t>32)throw new Error("Integer too large; max is 32-bits.");return r.getSignedInt(t)};L.validate=function(r,t,e,n){var i=!1;if((r.tagClass===t.tagClass||typeof t.tagClass>"u")&&(r.type===t.type||typeof t.type>"u"))if(r.constructed===t.constructed||typeof t.constructed>"u"){if(i=!0,t.value&&Et.util.isArray(t.value))for(var s=0,o=0;i&&o<t.value.length;++o)i=t.value[o].optional||!1,r.value[s]&&(i=L.validate(r.value[s],t.value[o],e,n),i?++s:t.value[o].optional&&(i=!0)),!i&&n&&n.push("["+t.name+'] Tag class "'+t.tagClass+'", type "'+t.type+'" expected value length "'+t.value.length+'", got "'+r.value.length+'"');if(i&&e&&(t.capture&&(e[t.capture]=r.value),t.captureAsn1&&(e[t.captureAsn1]=r),t.captureBitStringContents&&"bitStringContents"in r&&(e[t.captureBitStringContents]=r.bitStringContents),t.captureBitStringValue&&"bitStringContents"in r)){var a;if(r.bitStringContents.length<2)e[t.captureBitStringValue]="";else{var c=r.bitStringContents.charCodeAt(0);if(c!==0)throw new Error("captureBitStringValue only supported for zero unused bits");e[t.captureBitStringValue]=r.bitStringContents.slice(1)}}}else n&&n.push("["+t.name+'] Expected constructed "'+t.constructed+'", got "'+r.constructed+'"');else n&&(r.tagClass!==t.tagClass&&n.push("["+t.name+'] Expected tag class "'+t.tagClass+'", got "'+r.tagClass+'"'),r.type!==t.type&&n.push("["+t.name+'] Expected type "'+t.type+'", got "'+r.type+'"'));return i};var Fp=/[^\\u0000-\\u00ff]/;L.prettyPrint=function(r,t,e){var n="";t=t||0,e=e||2,t>0&&(n+=`
|
|
28
28
|
`);for(var i="",s=0;s<t*e;++s)i+=" ";switch(n+=i+"Tag: ",r.tagClass){case L.Class.UNIVERSAL:n+="Universal:";break;case L.Class.APPLICATION:n+="Application:";break;case L.Class.CONTEXT_SPECIFIC:n+="Context-Specific:";break;case L.Class.PRIVATE:n+="Private:";break}if(r.tagClass===L.Class.UNIVERSAL)switch(n+=r.type,r.type){case L.Type.NONE:n+=" (None)";break;case L.Type.BOOLEAN:n+=" (Boolean)";break;case L.Type.INTEGER:n+=" (Integer)";break;case L.Type.BITSTRING:n+=" (Bit string)";break;case L.Type.OCTETSTRING:n+=" (Octet string)";break;case L.Type.NULL:n+=" (Null)";break;case L.Type.OID:n+=" (Object Identifier)";break;case L.Type.ODESC:n+=" (Object Descriptor)";break;case L.Type.EXTERNAL:n+=" (External or Instance of)";break;case L.Type.REAL:n+=" (Real)";break;case L.Type.ENUMERATED:n+=" (Enumerated)";break;case L.Type.EMBEDDED:n+=" (Embedded PDV)";break;case L.Type.UTF8:n+=" (UTF8)";break;case L.Type.ROID:n+=" (Relative Object Identifier)";break;case L.Type.SEQUENCE:n+=" (Sequence)";break;case L.Type.SET:n+=" (Set)";break;case L.Type.PRINTABLESTRING:n+=" (Printable String)";break;case L.Type.IA5String:n+=" (IA5String (ASCII))";break;case L.Type.UTCTIME:n+=" (UTC time)";break;case L.Type.GENERALIZEDTIME:n+=" (Generalized time)";break;case L.Type.BMPSTRING:n+=" (BMP String)";break}else n+=r.type;if(n+=`
|
|
29
29
|
`,n+=i+"Constructed: "+r.constructed+`
|
|
30
|
-
`,r.composed){for(var o=0,a="",s=0;s<r.value.length;++s)r.value[s]!==void 0&&(o+=1,a+=L.prettyPrint(r.value[s],t+1,e),s+1<r.value.length&&(a+=","));n+=i+"Sub values: "+o+a}else{if(n+=i+"Value: ",r.type===L.Type.OID){var c=L.derToOid(r.value);n+=c,Et.pki&&Et.pki.oids&&c in Et.pki.oids&&(n+=" ("+Et.pki.oids[c]+") ")}if(r.type===L.Type.INTEGER)try{n+=L.derToInteger(r.value)}catch{n+="0x"+Et.util.bytesToHex(r.value)}else if(r.type===L.Type.BITSTRING){if(r.value.length>1?n+="0x"+Et.util.bytesToHex(r.value.slice(1)):n+="(none)",r.value.length>0){var u=r.value.charCodeAt(0);u==1?n+=" (1 unused bit shown)":u>1&&(n+=" ("+u+" unused bits shown)")}}else if(r.type===L.Type.OCTETSTRING)Fp.test(r.value)||(n+="("+r.value+") "),n+="0x"+Et.util.bytesToHex(r.value);else if(r.type===L.Type.UTF8)try{n+=Et.util.decodeUtf8(r.value)}catch(l){if(l.message==="URI malformed")n+="0x"+Et.util.bytesToHex(r.value)+" (malformed UTF8)";else throw l}else r.type===L.Type.PRINTABLESTRING||r.type===L.Type.IA5String?n+=r.value:Fp.test(r.value)?n+="0x"+Et.util.bytesToHex(r.value):r.value.length===0?n+="[null]":n+=r.value}return n}});var cl=I((x4,Vp)=>{var jt=ut();Kt();Vp.exports=jt.cipher=jt.cipher||{};jt.cipher.algorithms=jt.cipher.algorithms||{};jt.cipher.createCipher=function(r,t){var e=r;if(typeof e=="string"&&(e=jt.cipher.getAlgorithm(e),e&&(e=e())),!e)throw new Error("Unsupported algorithm: "+r);return new jt.cipher.BlockCipher({algorithm:e,key:t,decrypt:!1})};jt.cipher.createDecipher=function(r,t){var e=r;if(typeof e=="string"&&(e=jt.cipher.getAlgorithm(e),e&&(e=e())),!e)throw new Error("Unsupported algorithm: "+r);return new jt.cipher.BlockCipher({algorithm:e,key:t,decrypt:!0})};jt.cipher.registerAlgorithm=function(r,t){r=r.toUpperCase(),jt.cipher.algorithms[r]=t};jt.cipher.getAlgorithm=function(r){return r=r.toUpperCase(),r in jt.cipher.algorithms?jt.cipher.algorithms[r]:null};var al=jt.cipher.BlockCipher=function(r){this.algorithm=r.algorithm,this.mode=this.algorithm.mode,this.blockSize=this.mode.blockSize,this._finish=!1,this._input=null,this.output=null,this._op=r.decrypt?this.mode.decrypt:this.mode.encrypt,this._decrypt=r.decrypt,this.algorithm.initialize(r)};al.prototype.start=function(r){r=r||{};var t={};for(var e in r)t[e]=r[e];t.decrypt=this._decrypt,this._finish=!1,this._input=jt.util.createBuffer(),this.output=r.output||jt.util.createBuffer(),this.mode.start(t)};al.prototype.update=function(r){for(r&&this._input.putBuffer(r);!this._op.call(this.mode,this._input,this.output,this._finish)&&!this._finish;);this._input.compact()};al.prototype.finish=function(r){r&&(this.mode.name==="ECB"||this.mode.name==="CBC")&&(this.mode.pad=function(e){return r(this.blockSize,e,!1)},this.mode.unpad=function(e){return r(this.blockSize,e,!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 ll=I((v4,qp)=>{var te=ut();Kt();te.cipher=te.cipher||{};var W=qp.exports=te.cipher.modes=te.cipher.modes||{};W.ecb=function(r){r=r||{},this.name="ECB",this.cipher=r.cipher,this.blockSize=r.blockSize||16,this._ints=this.blockSize/4,this._inBlock=new Array(this._ints),this._outBlock=new Array(this._ints)};W.ecb.prototype.start=function(r){};W.ecb.prototype.encrypt=function(r,t,e){if(r.length()<this.blockSize&&!(e&&r.length()>0))return!0;for(var n=0;n<this._ints;++n)this._inBlock[n]=r.getInt32();this.cipher.encrypt(this._inBlock,this._outBlock);for(var n=0;n<this._ints;++n)t.putInt32(this._outBlock[n])};W.ecb.prototype.decrypt=function(r,t,e){if(r.length()<this.blockSize&&!(e&&r.length()>0))return!0;for(var n=0;n<this._ints;++n)this._inBlock[n]=r.getInt32();this.cipher.decrypt(this._inBlock,this._outBlock);for(var n=0;n<this._ints;++n)t.putInt32(this._outBlock[n])};W.ecb.prototype.pad=function(r,t){var e=r.length()===this.blockSize?this.blockSize:this.blockSize-r.length();return r.fillWithByte(e,e),!0};W.ecb.prototype.unpad=function(r,t){if(t.overflow>0)return!1;var e=r.length(),n=r.at(e-1);return n>this.blockSize<<2?!1:(r.truncate(n),!0)};W.cbc=function(r){r=r||{},this.name="CBC",this.cipher=r.cipher,this.blockSize=r.blockSize||16,this._ints=this.blockSize/4,this._inBlock=new Array(this._ints),this._outBlock=new Array(this._ints)};W.cbc.prototype.start=function(r){if(r.iv===null){if(!this._prev)throw new Error("Invalid IV parameter.");this._iv=this._prev.slice(0)}else if("iv"in r)this._iv=Jo(r.iv,this.blockSize),this._prev=this._iv.slice(0);else throw new Error("Invalid IV parameter.")};W.cbc.prototype.encrypt=function(r,t,e){if(r.length()<this.blockSize&&!(e&&r.length()>0))return!0;for(var n=0;n<this._ints;++n)this._inBlock[n]=this._prev[n]^r.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};W.cbc.prototype.decrypt=function(r,t,e){if(r.length()<this.blockSize&&!(e&&r.length()>0))return!0;for(var n=0;n<this._ints;++n)this._inBlock[n]=r.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)};W.cbc.prototype.pad=function(r,t){var e=r.length()===this.blockSize?this.blockSize:this.blockSize-r.length();return r.fillWithByte(e,e),!0};W.cbc.prototype.unpad=function(r,t){if(t.overflow>0)return!1;var e=r.length(),n=r.at(e-1);return n>this.blockSize<<2?!1:(r.truncate(n),!0)};W.cfb=function(r){r=r||{},this.name="CFB",this.cipher=r.cipher,this.blockSize=r.blockSize||16,this._ints=this.blockSize/4,this._inBlock=null,this._outBlock=new Array(this._ints),this._partialBlock=new Array(this._ints),this._partialOutput=te.util.createBuffer(),this._partialBytes=0};W.cfb.prototype.start=function(r){if(!("iv"in r))throw new Error("Invalid IV parameter.");this._iv=Jo(r.iv,this.blockSize),this._inBlock=this._iv.slice(0),this._partialBytes=0};W.cfb.prototype.encrypt=function(r,t,e){var n=r.length();if(n===0)return!0;if(this.cipher.encrypt(this._inBlock,this._outBlock),this._partialBytes===0&&n>=this.blockSize){for(var i=0;i<this._ints;++i)this._inBlock[i]=r.getInt32()^this._outBlock[i],t.putInt32(this._inBlock[i]);return}var s=(this.blockSize-n)%this.blockSize;s>0&&(s=this.blockSize-s),this._partialOutput.clear();for(var i=0;i<this._ints;++i)this._partialBlock[i]=r.getInt32()^this._outBlock[i],this._partialOutput.putInt32(this._partialBlock[i]);if(s>0)r.read-=this.blockSize;else for(var i=0;i<this._ints;++i)this._inBlock[i]=this._partialBlock[i];if(this._partialBytes>0&&this._partialOutput.getBytes(this._partialBytes),s>0&&!e)return t.putBytes(this._partialOutput.getBytes(s-this._partialBytes)),this._partialBytes=s,!0;t.putBytes(this._partialOutput.getBytes(n-this._partialBytes)),this._partialBytes=0};W.cfb.prototype.decrypt=function(r,t,e){var n=r.length();if(n===0)return!0;if(this.cipher.encrypt(this._inBlock,this._outBlock),this._partialBytes===0&&n>=this.blockSize){for(var i=0;i<this._ints;++i)this._inBlock[i]=r.getInt32(),t.putInt32(this._inBlock[i]^this._outBlock[i]);return}var s=(this.blockSize-n)%this.blockSize;s>0&&(s=this.blockSize-s),this._partialOutput.clear();for(var i=0;i<this._ints;++i)this._partialBlock[i]=r.getInt32(),this._partialOutput.putInt32(this._partialBlock[i]^this._outBlock[i]);if(s>0)r.read-=this.blockSize;else for(var i=0;i<this._ints;++i)this._inBlock[i]=this._partialBlock[i];if(this._partialBytes>0&&this._partialOutput.getBytes(this._partialBytes),s>0&&!e)return t.putBytes(this._partialOutput.getBytes(s-this._partialBytes)),this._partialBytes=s,!0;t.putBytes(this._partialOutput.getBytes(n-this._partialBytes)),this._partialBytes=0};W.ofb=function(r){r=r||{},this.name="OFB",this.cipher=r.cipher,this.blockSize=r.blockSize||16,this._ints=this.blockSize/4,this._inBlock=null,this._outBlock=new Array(this._ints),this._partialOutput=te.util.createBuffer(),this._partialBytes=0};W.ofb.prototype.start=function(r){if(!("iv"in r))throw new Error("Invalid IV parameter.");this._iv=Jo(r.iv,this.blockSize),this._inBlock=this._iv.slice(0),this._partialBytes=0};W.ofb.prototype.encrypt=function(r,t,e){var n=r.length();if(r.length()===0)return!0;if(this.cipher.encrypt(this._inBlock,this._outBlock),this._partialBytes===0&&n>=this.blockSize){for(var i=0;i<this._ints;++i)t.putInt32(r.getInt32()^this._outBlock[i]),this._inBlock[i]=this._outBlock[i];return}var s=(this.blockSize-n)%this.blockSize;s>0&&(s=this.blockSize-s),this._partialOutput.clear();for(var i=0;i<this._ints;++i)this._partialOutput.putInt32(r.getInt32()^this._outBlock[i]);if(s>0)r.read-=this.blockSize;else for(var i=0;i<this._ints;++i)this._inBlock[i]=this._outBlock[i];if(this._partialBytes>0&&this._partialOutput.getBytes(this._partialBytes),s>0&&!e)return t.putBytes(this._partialOutput.getBytes(s-this._partialBytes)),this._partialBytes=s,!0;t.putBytes(this._partialOutput.getBytes(n-this._partialBytes)),this._partialBytes=0};W.ofb.prototype.decrypt=W.ofb.prototype.encrypt;W.ctr=function(r){r=r||{},this.name="CTR",this.cipher=r.cipher,this.blockSize=r.blockSize||16,this._ints=this.blockSize/4,this._inBlock=null,this._outBlock=new Array(this._ints),this._partialOutput=te.util.createBuffer(),this._partialBytes=0};W.ctr.prototype.start=function(r){if(!("iv"in r))throw new Error("Invalid IV parameter.");this._iv=Jo(r.iv,this.blockSize),this._inBlock=this._iv.slice(0),this._partialBytes=0};W.ctr.prototype.encrypt=function(r,t,e){var n=r.length();if(n===0)return!0;if(this.cipher.encrypt(this._inBlock,this._outBlock),this._partialBytes===0&&n>=this.blockSize)for(var i=0;i<this._ints;++i)t.putInt32(r.getInt32()^this._outBlock[i]);else{var s=(this.blockSize-n)%this.blockSize;s>0&&(s=this.blockSize-s),this._partialOutput.clear();for(var i=0;i<this._ints;++i)this._partialOutput.putInt32(r.getInt32()^this._outBlock[i]);if(s>0&&(r.read-=this.blockSize),this._partialBytes>0&&this._partialOutput.getBytes(this._partialBytes),s>0&&!e)return t.putBytes(this._partialOutput.getBytes(s-this._partialBytes)),this._partialBytes=s,!0;t.putBytes(this._partialOutput.getBytes(n-this._partialBytes)),this._partialBytes=0}jo(this._inBlock)};W.ctr.prototype.decrypt=W.ctr.prototype.encrypt;W.gcm=function(r){r=r||{},this.name="GCM",this.cipher=r.cipher,this.blockSize=r.blockSize||16,this._ints=this.blockSize/4,this._inBlock=new Array(this._ints),this._outBlock=new Array(this._ints),this._partialOutput=te.util.createBuffer(),this._partialBytes=0,this._R=3774873600};W.gcm.prototype.start=function(r){if(!("iv"in r))throw new Error("Invalid IV parameter.");var t=te.util.createBuffer(r.iv);this._cipherLength=0;var e;if("additionalData"in r?e=te.util.createBuffer(r.additionalData):e=te.util.createBuffer(),"tagLength"in r?this._tagLength=r.tagLength:this._tagLength=128,this._tag=null,r.decrypt&&(this._tag=te.util.createBuffer(r.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(ul(n*8)))}this._inBlock=this._j0.slice(0),jo(this._inBlock),this._partialBytes=0,e=te.util.createBuffer(e),this._aDataLength=ul(e.length()*8);var i=e.length()%this.blockSize;for(i&&e.fillWithByte(0,this.blockSize-i),this._s=[0,0,0,0];e.length()>0;)this._s=this.ghash(this._hashSubkey,this._s,[e.getInt32(),e.getInt32(),e.getInt32(),e.getInt32()])};W.gcm.prototype.encrypt=function(r,t,e){var n=r.length();if(n===0)return!0;if(this.cipher.encrypt(this._inBlock,this._outBlock),this._partialBytes===0&&n>=this.blockSize){for(var i=0;i<this._ints;++i)t.putInt32(this._outBlock[i]^=r.getInt32());this._cipherLength+=this.blockSize}else{var s=(this.blockSize-n)%this.blockSize;s>0&&(s=this.blockSize-s),this._partialOutput.clear();for(var i=0;i<this._ints;++i)this._partialOutput.putInt32(r.getInt32()^this._outBlock[i]);if(s<=0||e){if(e){var o=n%this.blockSize;this._cipherLength+=o,this._partialOutput.truncate(this.blockSize-o)}else this._cipherLength+=this.blockSize;for(var i=0;i<this._ints;++i)this._outBlock[i]=this._partialOutput.getInt32();this._partialOutput.read-=this.blockSize}if(this._partialBytes>0&&this._partialOutput.getBytes(this._partialBytes),s>0&&!e)return r.read-=this.blockSize,t.putBytes(this._partialOutput.getBytes(s-this._partialBytes)),this._partialBytes=s,!0;t.putBytes(this._partialOutput.getBytes(n-this._partialBytes)),this._partialBytes=0}this._s=this.ghash(this._hashSubkey,this._s,this._outBlock),jo(this._inBlock)};W.gcm.prototype.decrypt=function(r,t,e){var n=r.length();if(n<this.blockSize&&!(e&&n>0))return!0;this.cipher.encrypt(this._inBlock,this._outBlock),jo(this._inBlock),this._hashBlock[0]=r.getInt32(),this._hashBlock[1]=r.getInt32(),this._hashBlock[2]=r.getInt32(),this._hashBlock[3]=r.getInt32(),this._s=this.ghash(this._hashSubkey,this._s,this._hashBlock);for(var i=0;i<this._ints;++i)t.putInt32(this._outBlock[i]^this._hashBlock[i]);n<this.blockSize?this._cipherLength+=n%this.blockSize:this._cipherLength+=this.blockSize};W.gcm.prototype.afterFinish=function(r,t){var e=!0;t.decrypt&&t.overflow&&r.truncate(this.blockSize-t.overflow),this.tag=te.util.createBuffer();var n=this._aDataLength.concat(ul(this._cipherLength*8));this._s=this.ghash(this._hashSubkey,this._s,n);var i=[];this.cipher.encrypt(this._j0,i);for(var s=0;s<this._ints;++s)this.tag.putInt32(this._s[s]^i[s]);return this.tag.truncate(this.tag.length()%(this._tagLength/8)),t.decrypt&&this.tag.bytes()!==this._tag&&(e=!1),e};W.gcm.prototype.multiply=function(r,t){for(var e=[0,0,0,0],n=t.slice(0),i=0;i<128;++i){var s=r[i/32|0]&1<<31-i%32;s&&(e[0]^=n[0],e[1]^=n[1],e[2]^=n[2],e[3]^=n[3]),this.pow(n,n)}return e};W.gcm.prototype.pow=function(r,t){for(var e=r[3]&1,n=3;n>0;--n)t[n]=r[n]>>>1|(r[n-1]&1)<<31;t[0]=r[0]>>>1,e&&(t[0]^=this._R)};W.gcm.prototype.tableMultiply=function(r){for(var t=[0,0,0,0],e=0;e<32;++e){var n=e/8|0,i=r[n]>>>(7-e%8)*4&15,s=this._m[e][i];t[0]^=s[0],t[1]^=s[1],t[2]^=s[2],t[3]^=s[3]}return t};W.gcm.prototype.ghash=function(r,t,e){return t[0]^=e[0],t[1]^=e[1],t[2]^=e[2],t[3]^=e[3],this.tableMultiply(t)};W.gcm.prototype.generateHashTable=function(r,t){for(var e=8/t,n=4*e,i=16*e,s=new Array(i),o=0;o<i;++o){var a=[0,0,0,0],c=o/n|0,u=(n-1-o%n)*t;a[c]=1<<t-1<<u,s[o]=this.generateSubHashTable(this.multiply(a,r),t)}return s};W.gcm.prototype.generateSubHashTable=function(r,t){var e=1<<t,n=e>>>1,i=new Array(e);i[n]=r.slice(0);for(var s=n>>>1;s>0;)this.pow(i[2*s],i[s]=[]),s>>=1;for(s=2;s<n;){for(var o=1;o<s;++o){var a=i[s],c=i[o];i[s+o]=[a[0]^c[0],a[1]^c[1],a[2]^c[2],a[3]^c[3]]}s*=2}for(i[0]=[0,0,0,0],s=n+1;s<e;++s){var u=i[s^n];i[s]=[r[0]^u[0],r[1]^u[1],r[2]^u[2],r[3]^u[3]]}return i};function Jo(r,t){if(typeof r=="string"&&(r=te.util.createBuffer(r)),te.util.isArray(r)&&r.length>4){var e=r;r=te.util.createBuffer();for(var n=0;n<e.length;++n)r.putByte(e[n])}if(r.length()<t)throw new Error("Invalid IV length; got "+r.length()+" bytes and expected "+t+" bytes.");if(!te.util.isArray(r)){for(var i=[],s=t/4,n=0;n<s;++n)i.push(r.getInt32());r=i}return r}function jo(r){r[r.length-1]=r[r.length-1]+1&4294967295}function ul(r){return[r/4294967296|0,r&4294967295]}});var ea=I((b4,Gp)=>{var gt=ut();cl();ll();Kt();Gp.exports=gt.aes=gt.aes||{};gt.aes.startEncrypting=function(r,t,e,n){var i=ta({key:r,output:e,decrypt:!1,mode:n});return i.start(t),i};gt.aes.createEncryptionCipher=function(r,t){return ta({key:r,output:null,decrypt:!1,mode:t})};gt.aes.startDecrypting=function(r,t,e,n){var i=ta({key:r,output:e,decrypt:!0,mode:n});return i.start(t),i};gt.aes.createDecryptionCipher=function(r,t){return ta({key:r,output:null,decrypt:!0,mode:t})};gt.aes.Algorithm=function(r,t){dl||zp();var e=this;e.name=r,e.mode=new t({blockSize:16,cipher:{encrypt:function(n,i){return hl(e._w,n,i,!1)},decrypt:function(n,i){return hl(e._w,n,i,!0)}}}),e._init=!1};gt.aes.Algorithm.prototype.initialize=function(r){if(!this._init){var t=r.key,e;if(typeof t=="string"&&(t.length===16||t.length===24||t.length===32))t=gt.util.createBuffer(t);else if(gt.util.isArray(t)&&(t.length===16||t.length===24||t.length===32)){e=t,t=gt.util.createBuffer();for(var n=0;n<e.length;++n)t.putByte(e[n])}if(!gt.util.isArray(t)){e=t,t=[];var i=e.length();if(i===16||i===24||i===32){i=i>>>2;for(var n=0;n<i;++n)t.push(e.getInt32())}}if(!gt.util.isArray(t)||!(t.length===4||t.length===6||t.length===8))throw new Error("Invalid key parameter.");var s=this.mode.name,o=["CFB","OFB","CTR","GCM"].indexOf(s)!==-1;this._w=Hp(t,r.decrypt&&!o),this._init=!0}};gt.aes._expandKey=function(r,t){return dl||zp(),Hp(r,t)};gt.aes._updateBlock=hl;Ai("AES-ECB",gt.cipher.modes.ecb);Ai("AES-CBC",gt.cipher.modes.cbc);Ai("AES-CFB",gt.cipher.modes.cfb);Ai("AES-OFB",gt.cipher.modes.ofb);Ai("AES-CTR",gt.cipher.modes.ctr);Ai("AES-GCM",gt.cipher.modes.gcm);function Ai(r,t){var e=function(){return new gt.aes.Algorithm(r,t)};gt.cipher.registerAlgorithm(r,e)}var dl=!1,Si=4,ae,fl,$p,Ln,Ke;function zp(){dl=!0,$p=[0,1,2,4,8,16,32,64,128,27,54];for(var r=new Array(256),t=0;t<128;++t)r[t]=t<<1,r[t+128]=t+128<<1^283;ae=new Array(256),fl=new Array(256),Ln=new Array(4),Ke=new Array(4);for(var t=0;t<4;++t)Ln[t]=new Array(256),Ke[t]=new Array(256);for(var e=0,n=0,i,s,o,a,c,u,l,t=0;t<256;++t){a=n^n<<1^n<<2^n<<3^n<<4,a=a>>8^a&255^99,ae[e]=a,fl[a]=e,c=r[a],i=r[e],s=r[i],o=r[s],u=c<<24^a<<16^a<<8^(a^c),l=(i^s^o)<<24^(e^o)<<16^(e^s^o)<<8^(e^i^o);for(var f=0;f<4;++f)Ln[f][e]=u,Ke[f][a]=l,u=u<<24|u>>>8,l=l<<24|l>>>8;e===0?e=n=1:(e=i^r[r[r[i^o]]],n^=r[r[n]])}}function Hp(r,t){for(var e=r.slice(0),n,i=1,s=e.length,o=s+6+1,a=Si*o,c=s;c<a;++c)n=e[c-1],c%s===0?(n=ae[n>>>16&255]<<24^ae[n>>>8&255]<<16^ae[n&255]<<8^ae[n>>>24]^$p[i]<<24,i++):s>6&&c%s===4&&(n=ae[n>>>24]<<24^ae[n>>>16&255]<<16^ae[n>>>8&255]<<8^ae[n&255]),e[c]=e[c-s]^n;if(t){var u,l=Ke[0],f=Ke[1],d=Ke[2],h=Ke[3],p=e.slice(0);a=e.length;for(var c=0,m=a-Si;c<a;c+=Si,m-=Si)if(c===0||c===a-Si)p[c]=e[m],p[c+1]=e[m+3],p[c+2]=e[m+2],p[c+3]=e[m+1];else for(var y=0;y<Si;++y)u=e[m+y],p[c+(3&-y)]=l[ae[u>>>24]]^f[ae[u>>>16&255]]^d[ae[u>>>8&255]]^h[ae[u&255]];e=p}return e}function hl(r,t,e,n){var i=r.length/4-1,s,o,a,c,u;n?(s=Ke[0],o=Ke[1],a=Ke[2],c=Ke[3],u=fl):(s=Ln[0],o=Ln[1],a=Ln[2],c=Ln[3],u=ae);var l,f,d,h,p,m,y;l=t[0]^r[0],f=t[n?3:1]^r[1],d=t[2]^r[2],h=t[n?1:3]^r[3];for(var g=3,E=1;E<i;++E)p=s[l>>>24]^o[f>>>16&255]^a[d>>>8&255]^c[h&255]^r[++g],m=s[f>>>24]^o[d>>>16&255]^a[h>>>8&255]^c[l&255]^r[++g],y=s[d>>>24]^o[h>>>16&255]^a[l>>>8&255]^c[f&255]^r[++g],h=s[h>>>24]^o[l>>>16&255]^a[f>>>8&255]^c[d&255]^r[++g],l=p,f=m,d=y;e[0]=u[l>>>24]<<24^u[f>>>16&255]<<16^u[d>>>8&255]<<8^u[h&255]^r[++g],e[n?3:1]=u[f>>>24]<<24^u[d>>>16&255]<<16^u[h>>>8&255]<<8^u[l&255]^r[++g],e[2]=u[d>>>24]<<24^u[h>>>16&255]<<16^u[l>>>8&255]<<8^u[f&255]^r[++g],e[n?1:3]=u[h>>>24]<<24^u[l>>>16&255]<<16^u[f>>>8&255]<<8^u[d&255]^r[++g]}function ta(r){r=r||{};var t=(r.mode||"CBC").toUpperCase(),e="AES-"+t,n;r.decrypt?n=gt.cipher.createDecipher(e,r.key):n=gt.cipher.createCipher(e,r.key);var i=n.start;return n.start=function(s,o){var a=null;o instanceof gt.util.ByteBuffer&&(a=o,o={}),o=o||{},o.output=a,o.iv=s,i.call(n,o)},n}});var Qp=I((_4,Wp)=>{var St=ut();cl();ll();Kt();Wp.exports=St.des=St.des||{};St.des.startEncrypting=function(r,t,e,n){var i=ra({key:r,output:e,decrypt:!1,mode:n||(t===null?"ECB":"CBC")});return i.start(t),i};St.des.createEncryptionCipher=function(r,t){return ra({key:r,output:null,decrypt:!1,mode:t})};St.des.startDecrypting=function(r,t,e,n){var i=ra({key:r,output:e,decrypt:!0,mode:n||(t===null?"ECB":"CBC")});return i.start(t),i};St.des.createDecryptionCipher=function(r,t){return ra({key:r,output:null,decrypt:!0,mode:t})};St.des.Algorithm=function(r,t){var e=this;e.name=r,e.mode=new t({blockSize:8,cipher:{encrypt:function(n,i){return Yp(e._keys,n,i,!1)},decrypt:function(n,i){return Yp(e._keys,n,i,!0)}}}),e._init=!1};St.des.Algorithm.prototype.initialize=function(r){if(!this._init){var t=St.util.createBuffer(r.key);if(this.name.indexOf("3DES")===0&&t.length()!==24)throw new Error("Invalid Triple-DES key size: "+t.length()*8);this._keys=e2(t),this._init=!0}};sr("DES-ECB",St.cipher.modes.ecb);sr("DES-CBC",St.cipher.modes.cbc);sr("DES-CFB",St.cipher.modes.cfb);sr("DES-OFB",St.cipher.modes.ofb);sr("DES-CTR",St.cipher.modes.ctr);sr("3DES-ECB",St.cipher.modes.ecb);sr("3DES-CBC",St.cipher.modes.cbc);sr("3DES-CFB",St.cipher.modes.cfb);sr("3DES-OFB",St.cipher.modes.ofb);sr("3DES-CTR",St.cipher.modes.ctr);function sr(r,t){var e=function(){return new St.des.Algorithm(r,t)};St.cipher.registerAlgorithm(r,e)}var Yv=[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],Wv=[-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],Qv=[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],Xv=[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],Zv=[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],Jv=[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],jv=[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],t2=[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 e2(r){for(var t=[0,4,536870912,536870916,65536,65540,536936448,536936452,512,516,536871424,536871428,66048,66052,536936960,536936964],e=[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],i=[0,2097152,134217728,136314880,8192,2105344,134225920,136323072,131072,2228224,134348800,136445952,139264,2236416,134356992,136454144],s=[0,262144,16,262160,0,262144,16,262160,4096,266240,4112,266256,4096,266240,4112,266256],o=[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],l=[0,268435456,8,268435464,0,268435456,8,268435464,1024,268436480,1032,268436488,1024,268436480,1032,268436488],f=[0,32,0,32,1048576,1048608,1048576,1048608,8192,8224,8192,8224,1056768,1056800,1056768,1056800],d=[0,16777216,512,16777728,2097152,18874368,2097664,18874880,67108864,83886080,67109376,83886592,69206016,85983232,69206528,85983744],h=[0,4096,134217728,134221824,524288,528384,134742016,134746112,16,4112,134217744,134221840,524304,528400,134742032,134746128],p=[0,4,256,260,0,4,256,260,1,5,257,261,1,5,257,261],m=r.length()>8?3:1,y=[],g=[0,0,1,1,1,1,1,1,0,1,1,1,1,1,1,0],E=0,b,O=0;O<m;O++){var B=r.getInt32(),D=r.getInt32();b=(B>>>4^D)&252645135,D^=b,B^=b<<4,b=(D>>>-16^B)&65535,B^=b,D^=b<<-16,b=(B>>>2^D)&858993459,D^=b,B^=b<<2,b=(D>>>-16^B)&65535,B^=b,D^=b<<-16,b=(B>>>1^D)&1431655765,D^=b,B^=b<<1,b=(D>>>8^B)&16711935,B^=b,D^=b<<8,b=(B>>>1^D)&1431655765,D^=b,B^=b<<1,b=B<<8|D>>>20&240,B=D<<24|D<<8&16711680|D>>>8&65280|D>>>24&240,D=b;for(var Q=0;Q<g.length;++Q){g[Q]?(B=B<<2|B>>>26,D=D<<2|D>>>26):(B=B<<1|B>>>27,D=D<<1|D>>>27),B&=-15,D&=-15;var Z=t[B>>>28]|e[B>>>24&15]|n[B>>>20&15]|i[B>>>16&15]|s[B>>>12&15]|o[B>>>8&15]|a[B>>>4&15],Wt=c[D>>>28]|u[D>>>24&15]|l[D>>>20&15]|f[D>>>16&15]|d[D>>>12&15]|h[D>>>8&15]|p[D>>>4&15];b=(Wt>>>16^Z)&65535,y[E++]=Z^b,y[E++]=Wt^b<<16}}return y}function Yp(r,t,e,n){var i=r.length===32?3:9,s;i===3?s=n?[30,-2,-2]:[0,32,2]:s=n?[94,62,-2,32,64,2,30,-2,-2]:[0,32,2,62,30,-2,64,96,2];var o,a=t[0],c=t[1];o=(a>>>4^c)&252645135,c^=o,a^=o<<4,o=(a>>>16^c)&65535,c^=o,a^=o<<16,o=(c>>>2^a)&858993459,a^=o,c^=o<<2,o=(c>>>8^a)&16711935,a^=o,c^=o<<8,o=(a>>>1^c)&1431655765,c^=o,a^=o<<1,a=a<<1|a>>>31,c=c<<1|c>>>31;for(var u=0;u<i;u+=3){for(var l=s[u+1],f=s[u+2],d=s[u];d!=l;d+=f){var h=c^r[d],p=(c>>>4|c<<28)^r[d+1];o=a,a=c,c=o^(Wv[h>>>24&63]|Xv[h>>>16&63]|Jv[h>>>8&63]|t2[h&63]|Yv[p>>>24&63]|Qv[p>>>16&63]|Zv[p>>>8&63]|jv[p&63])}o=a,a=c,c=o}a=a>>>1|a<<31,c=c>>>1|c<<31,o=(a>>>1^c)&1431655765,c^=o,a^=o<<1,o=(c>>>8^a)&16711935,a^=o,c^=o<<8,o=(c>>>2^a)&858993459,a^=o,c^=o<<2,o=(a>>>16^c)&65535,c^=o,a^=o<<16,o=(a>>>4^c)&252645135,c^=o,a^=o<<4,e[0]=a,e[1]=c}function ra(r){r=r||{};var t=(r.mode||"CBC").toUpperCase(),e="DES-"+t,n;r.decrypt?n=St.cipher.createDecipher(e,r.key):n=St.cipher.createCipher(e,r.key);var i=n.start;return n.start=function(s,o){var a=null;o instanceof St.util.ByteBuffer&&(a=o,o={}),o=o||{},o.output=a,o.iv=s,i.call(n,o)},n}});var Pn=I((S4,Xp)=>{var na=ut();Xp.exports=na.md=na.md||{};na.md.algorithms=na.md.algorithms||{}});var Jp=I((A4,Zp)=>{var Cr=ut();Pn();Kt();var r2=Zp.exports=Cr.hmac=Cr.hmac||{};r2.create=function(){var r=null,t=null,e=null,n=null,i={};return i.start=function(s,o){if(s!==null)if(typeof s=="string")if(s=s.toLowerCase(),s in Cr.md.algorithms)t=Cr.md.algorithms[s].create();else throw new Error('Unknown hash algorithm "'+s+'"');else t=s;if(o===null)o=r;else{if(typeof o=="string")o=Cr.util.createBuffer(o);else if(Cr.util.isArray(o)){var a=o;o=Cr.util.createBuffer();for(var c=0;c<a.length;++c)o.putByte(a[c])}var u=o.length();u>t.blockLength&&(t.start(),t.update(o.bytes()),o=t.digest()),e=Cr.util.createBuffer(),n=Cr.util.createBuffer(),u=o.length();for(var c=0;c<u;++c){var a=o.at(c);e.putByte(54^a),n.putByte(92^a)}if(u<t.blockLength)for(var a=t.blockLength-u,c=0;c<a;++c)e.putByte(54),n.putByte(92);r=o,e=e.bytes(),n=n.bytes()}t.start(),t.update(e)},i.update=function(s){t.update(s)},i.getMac=function(){var s=t.digest().bytes();return t.start(),t.update(n),t.update(s),t.digest()},i.digest=i.getMac,i}});var pl=I((R4,jp)=>{var ce=ut();Jp();Pn();Kt();var n2=ce.pkcs5=ce.pkcs5||{},Br;ce.util.isNodejs&&!ce.options.usePureJavaScript&&(Br=Tn());jp.exports=ce.pbkdf2=n2.pbkdf2=function(r,t,e,n,i,s){if(typeof i=="function"&&(s=i,i=null),ce.util.isNodejs&&!ce.options.usePureJavaScript&&Br.pbkdf2&&(i===null||typeof i!="object")&&(Br.pbkdf2Sync.length>4||!i||i==="sha1"))return typeof i!="string"&&(i="sha1"),r=Buffer.from(r,"binary"),t=Buffer.from(t,"binary"),s?Br.pbkdf2Sync.length===4?Br.pbkdf2(r,t,e,n,function(b,O){if(b)return s(b);s(null,O.toString("binary"))}):Br.pbkdf2(r,t,e,n,i,function(b,O){if(b)return s(b);s(null,O.toString("binary"))}):Br.pbkdf2Sync.length===4?Br.pbkdf2Sync(r,t,e,n).toString("binary"):Br.pbkdf2Sync(r,t,e,n,i).toString("binary");if((typeof i>"u"||i===null)&&(i="sha1"),typeof i=="string"){if(!(i in ce.md.algorithms))throw new Error("Unknown hash algorithm: "+i);i=ce.md[i].create()}var o=i.digestLength;if(n>4294967295*o){var a=new Error("Derived key is too long.");if(s)return s(a);throw a}var c=Math.ceil(n/o),u=n-(c-1)*o,l=ce.hmac.create();l.start(i,r);var f="",d,h,p;if(!s){for(var m=1;m<=c;++m){l.start(null,null),l.update(t),l.update(ce.util.int32ToBytes(m)),d=p=l.digest().getBytes();for(var y=2;y<=e;++y)l.start(null,null),l.update(p),h=l.digest().getBytes(),d=ce.util.xorBytes(d,h,o),p=h;f+=m<c?d:d.substr(0,u)}return f}var m=1,y;function g(){if(m>c)return s(null,f);l.start(null,null),l.update(t),l.update(ce.util.int32ToBytes(m)),d=p=l.digest().getBytes(),y=2,E()}function E(){if(y<=e)return l.start(null,null),l.update(p),h=l.digest().getBytes(),d=ce.util.xorBytes(d,h,o),p=h,++y,ce.util.setImmediate(E);f+=m<c?d:d.substr(0,u),++m,g()}g()}});var rm=I((I4,em)=>{var sa=ut();Kt();var tm=em.exports=sa.pem=sa.pem||{};tm.encode=function(r,t){t=t||{};var e="-----BEGIN "+r.type+`-----\r
|
|
31
|
-
`,n;if(r.procType&&(n={name:"Proc-Type",values:[String(r.procType.version),r.procType.type]},e+=
|
|
32
|
-
`),e+=
|
|
30
|
+
`,r.composed){for(var o=0,a="",s=0;s<r.value.length;++s)r.value[s]!==void 0&&(o+=1,a+=L.prettyPrint(r.value[s],t+1,e),s+1<r.value.length&&(a+=","));n+=i+"Sub values: "+o+a}else{if(n+=i+"Value: ",r.type===L.Type.OID){var c=L.derToOid(r.value);n+=c,Et.pki&&Et.pki.oids&&c in Et.pki.oids&&(n+=" ("+Et.pki.oids[c]+") ")}if(r.type===L.Type.INTEGER)try{n+=L.derToInteger(r.value)}catch{n+="0x"+Et.util.bytesToHex(r.value)}else if(r.type===L.Type.BITSTRING){if(r.value.length>1?n+="0x"+Et.util.bytesToHex(r.value.slice(1)):n+="(none)",r.value.length>0){var u=r.value.charCodeAt(0);u==1?n+=" (1 unused bit shown)":u>1&&(n+=" ("+u+" unused bits shown)")}}else if(r.type===L.Type.OCTETSTRING)Fp.test(r.value)||(n+="("+r.value+") "),n+="0x"+Et.util.bytesToHex(r.value);else if(r.type===L.Type.UTF8)try{n+=Et.util.decodeUtf8(r.value)}catch(l){if(l.message==="URI malformed")n+="0x"+Et.util.bytesToHex(r.value)+" (malformed UTF8)";else throw l}else r.type===L.Type.PRINTABLESTRING||r.type===L.Type.IA5String?n+=r.value:Fp.test(r.value)?n+="0x"+Et.util.bytesToHex(r.value):r.value.length===0?n+="[null]":n+=r.value}return n}});var cl=I((x4,Vp)=>{var jt=ut();Kt();Vp.exports=jt.cipher=jt.cipher||{};jt.cipher.algorithms=jt.cipher.algorithms||{};jt.cipher.createCipher=function(r,t){var e=r;if(typeof e=="string"&&(e=jt.cipher.getAlgorithm(e),e&&(e=e())),!e)throw new Error("Unsupported algorithm: "+r);return new jt.cipher.BlockCipher({algorithm:e,key:t,decrypt:!1})};jt.cipher.createDecipher=function(r,t){var e=r;if(typeof e=="string"&&(e=jt.cipher.getAlgorithm(e),e&&(e=e())),!e)throw new Error("Unsupported algorithm: "+r);return new jt.cipher.BlockCipher({algorithm:e,key:t,decrypt:!0})};jt.cipher.registerAlgorithm=function(r,t){r=r.toUpperCase(),jt.cipher.algorithms[r]=t};jt.cipher.getAlgorithm=function(r){return r=r.toUpperCase(),r in jt.cipher.algorithms?jt.cipher.algorithms[r]:null};var al=jt.cipher.BlockCipher=function(r){this.algorithm=r.algorithm,this.mode=this.algorithm.mode,this.blockSize=this.mode.blockSize,this._finish=!1,this._input=null,this.output=null,this._op=r.decrypt?this.mode.decrypt:this.mode.encrypt,this._decrypt=r.decrypt,this.algorithm.initialize(r)};al.prototype.start=function(r){r=r||{};var t={};for(var e in r)t[e]=r[e];t.decrypt=this._decrypt,this._finish=!1,this._input=jt.util.createBuffer(),this.output=r.output||jt.util.createBuffer(),this.mode.start(t)};al.prototype.update=function(r){for(r&&this._input.putBuffer(r);!this._op.call(this.mode,this._input,this.output,this._finish)&&!this._finish;);this._input.compact()};al.prototype.finish=function(r){r&&(this.mode.name==="ECB"||this.mode.name==="CBC")&&(this.mode.pad=function(e){return r(this.blockSize,e,!1)},this.mode.unpad=function(e){return r(this.blockSize,e,!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 ll=I((v4,qp)=>{var te=ut();Kt();te.cipher=te.cipher||{};var W=qp.exports=te.cipher.modes=te.cipher.modes||{};W.ecb=function(r){r=r||{},this.name="ECB",this.cipher=r.cipher,this.blockSize=r.blockSize||16,this._ints=this.blockSize/4,this._inBlock=new Array(this._ints),this._outBlock=new Array(this._ints)};W.ecb.prototype.start=function(r){};W.ecb.prototype.encrypt=function(r,t,e){if(r.length()<this.blockSize&&!(e&&r.length()>0))return!0;for(var n=0;n<this._ints;++n)this._inBlock[n]=r.getInt32();this.cipher.encrypt(this._inBlock,this._outBlock);for(var n=0;n<this._ints;++n)t.putInt32(this._outBlock[n])};W.ecb.prototype.decrypt=function(r,t,e){if(r.length()<this.blockSize&&!(e&&r.length()>0))return!0;for(var n=0;n<this._ints;++n)this._inBlock[n]=r.getInt32();this.cipher.decrypt(this._inBlock,this._outBlock);for(var n=0;n<this._ints;++n)t.putInt32(this._outBlock[n])};W.ecb.prototype.pad=function(r,t){var e=r.length()===this.blockSize?this.blockSize:this.blockSize-r.length();return r.fillWithByte(e,e),!0};W.ecb.prototype.unpad=function(r,t){if(t.overflow>0)return!1;var e=r.length(),n=r.at(e-1);return n>this.blockSize<<2?!1:(r.truncate(n),!0)};W.cbc=function(r){r=r||{},this.name="CBC",this.cipher=r.cipher,this.blockSize=r.blockSize||16,this._ints=this.blockSize/4,this._inBlock=new Array(this._ints),this._outBlock=new Array(this._ints)};W.cbc.prototype.start=function(r){if(r.iv===null){if(!this._prev)throw new Error("Invalid IV parameter.");this._iv=this._prev.slice(0)}else if("iv"in r)this._iv=jo(r.iv,this.blockSize),this._prev=this._iv.slice(0);else throw new Error("Invalid IV parameter.")};W.cbc.prototype.encrypt=function(r,t,e){if(r.length()<this.blockSize&&!(e&&r.length()>0))return!0;for(var n=0;n<this._ints;++n)this._inBlock[n]=this._prev[n]^r.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};W.cbc.prototype.decrypt=function(r,t,e){if(r.length()<this.blockSize&&!(e&&r.length()>0))return!0;for(var n=0;n<this._ints;++n)this._inBlock[n]=r.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)};W.cbc.prototype.pad=function(r,t){var e=r.length()===this.blockSize?this.blockSize:this.blockSize-r.length();return r.fillWithByte(e,e),!0};W.cbc.prototype.unpad=function(r,t){if(t.overflow>0)return!1;var e=r.length(),n=r.at(e-1);return n>this.blockSize<<2?!1:(r.truncate(n),!0)};W.cfb=function(r){r=r||{},this.name="CFB",this.cipher=r.cipher,this.blockSize=r.blockSize||16,this._ints=this.blockSize/4,this._inBlock=null,this._outBlock=new Array(this._ints),this._partialBlock=new Array(this._ints),this._partialOutput=te.util.createBuffer(),this._partialBytes=0};W.cfb.prototype.start=function(r){if(!("iv"in r))throw new Error("Invalid IV parameter.");this._iv=jo(r.iv,this.blockSize),this._inBlock=this._iv.slice(0),this._partialBytes=0};W.cfb.prototype.encrypt=function(r,t,e){var n=r.length();if(n===0)return!0;if(this.cipher.encrypt(this._inBlock,this._outBlock),this._partialBytes===0&&n>=this.blockSize){for(var i=0;i<this._ints;++i)this._inBlock[i]=r.getInt32()^this._outBlock[i],t.putInt32(this._inBlock[i]);return}var s=(this.blockSize-n)%this.blockSize;s>0&&(s=this.blockSize-s),this._partialOutput.clear();for(var i=0;i<this._ints;++i)this._partialBlock[i]=r.getInt32()^this._outBlock[i],this._partialOutput.putInt32(this._partialBlock[i]);if(s>0)r.read-=this.blockSize;else for(var i=0;i<this._ints;++i)this._inBlock[i]=this._partialBlock[i];if(this._partialBytes>0&&this._partialOutput.getBytes(this._partialBytes),s>0&&!e)return t.putBytes(this._partialOutput.getBytes(s-this._partialBytes)),this._partialBytes=s,!0;t.putBytes(this._partialOutput.getBytes(n-this._partialBytes)),this._partialBytes=0};W.cfb.prototype.decrypt=function(r,t,e){var n=r.length();if(n===0)return!0;if(this.cipher.encrypt(this._inBlock,this._outBlock),this._partialBytes===0&&n>=this.blockSize){for(var i=0;i<this._ints;++i)this._inBlock[i]=r.getInt32(),t.putInt32(this._inBlock[i]^this._outBlock[i]);return}var s=(this.blockSize-n)%this.blockSize;s>0&&(s=this.blockSize-s),this._partialOutput.clear();for(var i=0;i<this._ints;++i)this._partialBlock[i]=r.getInt32(),this._partialOutput.putInt32(this._partialBlock[i]^this._outBlock[i]);if(s>0)r.read-=this.blockSize;else for(var i=0;i<this._ints;++i)this._inBlock[i]=this._partialBlock[i];if(this._partialBytes>0&&this._partialOutput.getBytes(this._partialBytes),s>0&&!e)return t.putBytes(this._partialOutput.getBytes(s-this._partialBytes)),this._partialBytes=s,!0;t.putBytes(this._partialOutput.getBytes(n-this._partialBytes)),this._partialBytes=0};W.ofb=function(r){r=r||{},this.name="OFB",this.cipher=r.cipher,this.blockSize=r.blockSize||16,this._ints=this.blockSize/4,this._inBlock=null,this._outBlock=new Array(this._ints),this._partialOutput=te.util.createBuffer(),this._partialBytes=0};W.ofb.prototype.start=function(r){if(!("iv"in r))throw new Error("Invalid IV parameter.");this._iv=jo(r.iv,this.blockSize),this._inBlock=this._iv.slice(0),this._partialBytes=0};W.ofb.prototype.encrypt=function(r,t,e){var n=r.length();if(r.length()===0)return!0;if(this.cipher.encrypt(this._inBlock,this._outBlock),this._partialBytes===0&&n>=this.blockSize){for(var i=0;i<this._ints;++i)t.putInt32(r.getInt32()^this._outBlock[i]),this._inBlock[i]=this._outBlock[i];return}var s=(this.blockSize-n)%this.blockSize;s>0&&(s=this.blockSize-s),this._partialOutput.clear();for(var i=0;i<this._ints;++i)this._partialOutput.putInt32(r.getInt32()^this._outBlock[i]);if(s>0)r.read-=this.blockSize;else for(var i=0;i<this._ints;++i)this._inBlock[i]=this._outBlock[i];if(this._partialBytes>0&&this._partialOutput.getBytes(this._partialBytes),s>0&&!e)return t.putBytes(this._partialOutput.getBytes(s-this._partialBytes)),this._partialBytes=s,!0;t.putBytes(this._partialOutput.getBytes(n-this._partialBytes)),this._partialBytes=0};W.ofb.prototype.decrypt=W.ofb.prototype.encrypt;W.ctr=function(r){r=r||{},this.name="CTR",this.cipher=r.cipher,this.blockSize=r.blockSize||16,this._ints=this.blockSize/4,this._inBlock=null,this._outBlock=new Array(this._ints),this._partialOutput=te.util.createBuffer(),this._partialBytes=0};W.ctr.prototype.start=function(r){if(!("iv"in r))throw new Error("Invalid IV parameter.");this._iv=jo(r.iv,this.blockSize),this._inBlock=this._iv.slice(0),this._partialBytes=0};W.ctr.prototype.encrypt=function(r,t,e){var n=r.length();if(n===0)return!0;if(this.cipher.encrypt(this._inBlock,this._outBlock),this._partialBytes===0&&n>=this.blockSize)for(var i=0;i<this._ints;++i)t.putInt32(r.getInt32()^this._outBlock[i]);else{var s=(this.blockSize-n)%this.blockSize;s>0&&(s=this.blockSize-s),this._partialOutput.clear();for(var i=0;i<this._ints;++i)this._partialOutput.putInt32(r.getInt32()^this._outBlock[i]);if(s>0&&(r.read-=this.blockSize),this._partialBytes>0&&this._partialOutput.getBytes(this._partialBytes),s>0&&!e)return t.putBytes(this._partialOutput.getBytes(s-this._partialBytes)),this._partialBytes=s,!0;t.putBytes(this._partialOutput.getBytes(n-this._partialBytes)),this._partialBytes=0}ta(this._inBlock)};W.ctr.prototype.decrypt=W.ctr.prototype.encrypt;W.gcm=function(r){r=r||{},this.name="GCM",this.cipher=r.cipher,this.blockSize=r.blockSize||16,this._ints=this.blockSize/4,this._inBlock=new Array(this._ints),this._outBlock=new Array(this._ints),this._partialOutput=te.util.createBuffer(),this._partialBytes=0,this._R=3774873600};W.gcm.prototype.start=function(r){if(!("iv"in r))throw new Error("Invalid IV parameter.");var t=te.util.createBuffer(r.iv);this._cipherLength=0;var e;if("additionalData"in r?e=te.util.createBuffer(r.additionalData):e=te.util.createBuffer(),"tagLength"in r?this._tagLength=r.tagLength:this._tagLength=128,this._tag=null,r.decrypt&&(this._tag=te.util.createBuffer(r.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(ul(n*8)))}this._inBlock=this._j0.slice(0),ta(this._inBlock),this._partialBytes=0,e=te.util.createBuffer(e),this._aDataLength=ul(e.length()*8);var i=e.length()%this.blockSize;for(i&&e.fillWithByte(0,this.blockSize-i),this._s=[0,0,0,0];e.length()>0;)this._s=this.ghash(this._hashSubkey,this._s,[e.getInt32(),e.getInt32(),e.getInt32(),e.getInt32()])};W.gcm.prototype.encrypt=function(r,t,e){var n=r.length();if(n===0)return!0;if(this.cipher.encrypt(this._inBlock,this._outBlock),this._partialBytes===0&&n>=this.blockSize){for(var i=0;i<this._ints;++i)t.putInt32(this._outBlock[i]^=r.getInt32());this._cipherLength+=this.blockSize}else{var s=(this.blockSize-n)%this.blockSize;s>0&&(s=this.blockSize-s),this._partialOutput.clear();for(var i=0;i<this._ints;++i)this._partialOutput.putInt32(r.getInt32()^this._outBlock[i]);if(s<=0||e){if(e){var o=n%this.blockSize;this._cipherLength+=o,this._partialOutput.truncate(this.blockSize-o)}else this._cipherLength+=this.blockSize;for(var i=0;i<this._ints;++i)this._outBlock[i]=this._partialOutput.getInt32();this._partialOutput.read-=this.blockSize}if(this._partialBytes>0&&this._partialOutput.getBytes(this._partialBytes),s>0&&!e)return r.read-=this.blockSize,t.putBytes(this._partialOutput.getBytes(s-this._partialBytes)),this._partialBytes=s,!0;t.putBytes(this._partialOutput.getBytes(n-this._partialBytes)),this._partialBytes=0}this._s=this.ghash(this._hashSubkey,this._s,this._outBlock),ta(this._inBlock)};W.gcm.prototype.decrypt=function(r,t,e){var n=r.length();if(n<this.blockSize&&!(e&&n>0))return!0;this.cipher.encrypt(this._inBlock,this._outBlock),ta(this._inBlock),this._hashBlock[0]=r.getInt32(),this._hashBlock[1]=r.getInt32(),this._hashBlock[2]=r.getInt32(),this._hashBlock[3]=r.getInt32(),this._s=this.ghash(this._hashSubkey,this._s,this._hashBlock);for(var i=0;i<this._ints;++i)t.putInt32(this._outBlock[i]^this._hashBlock[i]);n<this.blockSize?this._cipherLength+=n%this.blockSize:this._cipherLength+=this.blockSize};W.gcm.prototype.afterFinish=function(r,t){var e=!0;t.decrypt&&t.overflow&&r.truncate(this.blockSize-t.overflow),this.tag=te.util.createBuffer();var n=this._aDataLength.concat(ul(this._cipherLength*8));this._s=this.ghash(this._hashSubkey,this._s,n);var i=[];this.cipher.encrypt(this._j0,i);for(var s=0;s<this._ints;++s)this.tag.putInt32(this._s[s]^i[s]);return this.tag.truncate(this.tag.length()%(this._tagLength/8)),t.decrypt&&this.tag.bytes()!==this._tag&&(e=!1),e};W.gcm.prototype.multiply=function(r,t){for(var e=[0,0,0,0],n=t.slice(0),i=0;i<128;++i){var s=r[i/32|0]&1<<31-i%32;s&&(e[0]^=n[0],e[1]^=n[1],e[2]^=n[2],e[3]^=n[3]),this.pow(n,n)}return e};W.gcm.prototype.pow=function(r,t){for(var e=r[3]&1,n=3;n>0;--n)t[n]=r[n]>>>1|(r[n-1]&1)<<31;t[0]=r[0]>>>1,e&&(t[0]^=this._R)};W.gcm.prototype.tableMultiply=function(r){for(var t=[0,0,0,0],e=0;e<32;++e){var n=e/8|0,i=r[n]>>>(7-e%8)*4&15,s=this._m[e][i];t[0]^=s[0],t[1]^=s[1],t[2]^=s[2],t[3]^=s[3]}return t};W.gcm.prototype.ghash=function(r,t,e){return t[0]^=e[0],t[1]^=e[1],t[2]^=e[2],t[3]^=e[3],this.tableMultiply(t)};W.gcm.prototype.generateHashTable=function(r,t){for(var e=8/t,n=4*e,i=16*e,s=new Array(i),o=0;o<i;++o){var a=[0,0,0,0],c=o/n|0,u=(n-1-o%n)*t;a[c]=1<<t-1<<u,s[o]=this.generateSubHashTable(this.multiply(a,r),t)}return s};W.gcm.prototype.generateSubHashTable=function(r,t){var e=1<<t,n=e>>>1,i=new Array(e);i[n]=r.slice(0);for(var s=n>>>1;s>0;)this.pow(i[2*s],i[s]=[]),s>>=1;for(s=2;s<n;){for(var o=1;o<s;++o){var a=i[s],c=i[o];i[s+o]=[a[0]^c[0],a[1]^c[1],a[2]^c[2],a[3]^c[3]]}s*=2}for(i[0]=[0,0,0,0],s=n+1;s<e;++s){var u=i[s^n];i[s]=[r[0]^u[0],r[1]^u[1],r[2]^u[2],r[3]^u[3]]}return i};function jo(r,t){if(typeof r=="string"&&(r=te.util.createBuffer(r)),te.util.isArray(r)&&r.length>4){var e=r;r=te.util.createBuffer();for(var n=0;n<e.length;++n)r.putByte(e[n])}if(r.length()<t)throw new Error("Invalid IV length; got "+r.length()+" bytes and expected "+t+" bytes.");if(!te.util.isArray(r)){for(var i=[],s=t/4,n=0;n<s;++n)i.push(r.getInt32());r=i}return r}function ta(r){r[r.length-1]=r[r.length-1]+1&4294967295}function ul(r){return[r/4294967296|0,r&4294967295]}});var ra=I((b4,Gp)=>{var gt=ut();cl();ll();Kt();Gp.exports=gt.aes=gt.aes||{};gt.aes.startEncrypting=function(r,t,e,n){var i=ea({key:r,output:e,decrypt:!1,mode:n});return i.start(t),i};gt.aes.createEncryptionCipher=function(r,t){return ea({key:r,output:null,decrypt:!1,mode:t})};gt.aes.startDecrypting=function(r,t,e,n){var i=ea({key:r,output:e,decrypt:!0,mode:n});return i.start(t),i};gt.aes.createDecryptionCipher=function(r,t){return ea({key:r,output:null,decrypt:!0,mode:t})};gt.aes.Algorithm=function(r,t){dl||zp();var e=this;e.name=r,e.mode=new t({blockSize:16,cipher:{encrypt:function(n,i){return hl(e._w,n,i,!1)},decrypt:function(n,i){return hl(e._w,n,i,!0)}}}),e._init=!1};gt.aes.Algorithm.prototype.initialize=function(r){if(!this._init){var t=r.key,e;if(typeof t=="string"&&(t.length===16||t.length===24||t.length===32))t=gt.util.createBuffer(t);else if(gt.util.isArray(t)&&(t.length===16||t.length===24||t.length===32)){e=t,t=gt.util.createBuffer();for(var n=0;n<e.length;++n)t.putByte(e[n])}if(!gt.util.isArray(t)){e=t,t=[];var i=e.length();if(i===16||i===24||i===32){i=i>>>2;for(var n=0;n<i;++n)t.push(e.getInt32())}}if(!gt.util.isArray(t)||!(t.length===4||t.length===6||t.length===8))throw new Error("Invalid key parameter.");var s=this.mode.name,o=["CFB","OFB","CTR","GCM"].indexOf(s)!==-1;this._w=Hp(t,r.decrypt&&!o),this._init=!0}};gt.aes._expandKey=function(r,t){return dl||zp(),Hp(r,t)};gt.aes._updateBlock=hl;Ai("AES-ECB",gt.cipher.modes.ecb);Ai("AES-CBC",gt.cipher.modes.cbc);Ai("AES-CFB",gt.cipher.modes.cfb);Ai("AES-OFB",gt.cipher.modes.ofb);Ai("AES-CTR",gt.cipher.modes.ctr);Ai("AES-GCM",gt.cipher.modes.gcm);function Ai(r,t){var e=function(){return new gt.aes.Algorithm(r,t)};gt.cipher.registerAlgorithm(r,e)}var dl=!1,Si=4,ae,fl,$p,Ln,Ke;function zp(){dl=!0,$p=[0,1,2,4,8,16,32,64,128,27,54];for(var r=new Array(256),t=0;t<128;++t)r[t]=t<<1,r[t+128]=t+128<<1^283;ae=new Array(256),fl=new Array(256),Ln=new Array(4),Ke=new Array(4);for(var t=0;t<4;++t)Ln[t]=new Array(256),Ke[t]=new Array(256);for(var e=0,n=0,i,s,o,a,c,u,l,t=0;t<256;++t){a=n^n<<1^n<<2^n<<3^n<<4,a=a>>8^a&255^99,ae[e]=a,fl[a]=e,c=r[a],i=r[e],s=r[i],o=r[s],u=c<<24^a<<16^a<<8^(a^c),l=(i^s^o)<<24^(e^o)<<16^(e^s^o)<<8^(e^i^o);for(var f=0;f<4;++f)Ln[f][e]=u,Ke[f][a]=l,u=u<<24|u>>>8,l=l<<24|l>>>8;e===0?e=n=1:(e=i^r[r[r[i^o]]],n^=r[r[n]])}}function Hp(r,t){for(var e=r.slice(0),n,i=1,s=e.length,o=s+6+1,a=Si*o,c=s;c<a;++c)n=e[c-1],c%s===0?(n=ae[n>>>16&255]<<24^ae[n>>>8&255]<<16^ae[n&255]<<8^ae[n>>>24]^$p[i]<<24,i++):s>6&&c%s===4&&(n=ae[n>>>24]<<24^ae[n>>>16&255]<<16^ae[n>>>8&255]<<8^ae[n&255]),e[c]=e[c-s]^n;if(t){var u,l=Ke[0],f=Ke[1],d=Ke[2],h=Ke[3],p=e.slice(0);a=e.length;for(var c=0,m=a-Si;c<a;c+=Si,m-=Si)if(c===0||c===a-Si)p[c]=e[m],p[c+1]=e[m+3],p[c+2]=e[m+2],p[c+3]=e[m+1];else for(var y=0;y<Si;++y)u=e[m+y],p[c+(3&-y)]=l[ae[u>>>24]]^f[ae[u>>>16&255]]^d[ae[u>>>8&255]]^h[ae[u&255]];e=p}return e}function hl(r,t,e,n){var i=r.length/4-1,s,o,a,c,u;n?(s=Ke[0],o=Ke[1],a=Ke[2],c=Ke[3],u=fl):(s=Ln[0],o=Ln[1],a=Ln[2],c=Ln[3],u=ae);var l,f,d,h,p,m,y;l=t[0]^r[0],f=t[n?3:1]^r[1],d=t[2]^r[2],h=t[n?1:3]^r[3];for(var g=3,E=1;E<i;++E)p=s[l>>>24]^o[f>>>16&255]^a[d>>>8&255]^c[h&255]^r[++g],m=s[f>>>24]^o[d>>>16&255]^a[h>>>8&255]^c[l&255]^r[++g],y=s[d>>>24]^o[h>>>16&255]^a[l>>>8&255]^c[f&255]^r[++g],h=s[h>>>24]^o[l>>>16&255]^a[f>>>8&255]^c[d&255]^r[++g],l=p,f=m,d=y;e[0]=u[l>>>24]<<24^u[f>>>16&255]<<16^u[d>>>8&255]<<8^u[h&255]^r[++g],e[n?3:1]=u[f>>>24]<<24^u[d>>>16&255]<<16^u[h>>>8&255]<<8^u[l&255]^r[++g],e[2]=u[d>>>24]<<24^u[h>>>16&255]<<16^u[l>>>8&255]<<8^u[f&255]^r[++g],e[n?1:3]=u[h>>>24]<<24^u[l>>>16&255]<<16^u[f>>>8&255]<<8^u[d&255]^r[++g]}function ea(r){r=r||{};var t=(r.mode||"CBC").toUpperCase(),e="AES-"+t,n;r.decrypt?n=gt.cipher.createDecipher(e,r.key):n=gt.cipher.createCipher(e,r.key);var i=n.start;return n.start=function(s,o){var a=null;o instanceof gt.util.ByteBuffer&&(a=o,o={}),o=o||{},o.output=a,o.iv=s,i.call(n,o)},n}});var Qp=I((_4,Wp)=>{var St=ut();cl();ll();Kt();Wp.exports=St.des=St.des||{};St.des.startEncrypting=function(r,t,e,n){var i=na({key:r,output:e,decrypt:!1,mode:n||(t===null?"ECB":"CBC")});return i.start(t),i};St.des.createEncryptionCipher=function(r,t){return na({key:r,output:null,decrypt:!1,mode:t})};St.des.startDecrypting=function(r,t,e,n){var i=na({key:r,output:e,decrypt:!0,mode:n||(t===null?"ECB":"CBC")});return i.start(t),i};St.des.createDecryptionCipher=function(r,t){return na({key:r,output:null,decrypt:!0,mode:t})};St.des.Algorithm=function(r,t){var e=this;e.name=r,e.mode=new t({blockSize:8,cipher:{encrypt:function(n,i){return Yp(e._keys,n,i,!1)},decrypt:function(n,i){return Yp(e._keys,n,i,!0)}}}),e._init=!1};St.des.Algorithm.prototype.initialize=function(r){if(!this._init){var t=St.util.createBuffer(r.key);if(this.name.indexOf("3DES")===0&&t.length()!==24)throw new Error("Invalid Triple-DES key size: "+t.length()*8);this._keys=e2(t),this._init=!0}};sr("DES-ECB",St.cipher.modes.ecb);sr("DES-CBC",St.cipher.modes.cbc);sr("DES-CFB",St.cipher.modes.cfb);sr("DES-OFB",St.cipher.modes.ofb);sr("DES-CTR",St.cipher.modes.ctr);sr("3DES-ECB",St.cipher.modes.ecb);sr("3DES-CBC",St.cipher.modes.cbc);sr("3DES-CFB",St.cipher.modes.cfb);sr("3DES-OFB",St.cipher.modes.ofb);sr("3DES-CTR",St.cipher.modes.ctr);function sr(r,t){var e=function(){return new St.des.Algorithm(r,t)};St.cipher.registerAlgorithm(r,e)}var Yv=[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],Wv=[-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],Qv=[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],Xv=[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],Zv=[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],Jv=[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],jv=[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],t2=[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 e2(r){for(var t=[0,4,536870912,536870916,65536,65540,536936448,536936452,512,516,536871424,536871428,66048,66052,536936960,536936964],e=[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],i=[0,2097152,134217728,136314880,8192,2105344,134225920,136323072,131072,2228224,134348800,136445952,139264,2236416,134356992,136454144],s=[0,262144,16,262160,0,262144,16,262160,4096,266240,4112,266256,4096,266240,4112,266256],o=[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],l=[0,268435456,8,268435464,0,268435456,8,268435464,1024,268436480,1032,268436488,1024,268436480,1032,268436488],f=[0,32,0,32,1048576,1048608,1048576,1048608,8192,8224,8192,8224,1056768,1056800,1056768,1056800],d=[0,16777216,512,16777728,2097152,18874368,2097664,18874880,67108864,83886080,67109376,83886592,69206016,85983232,69206528,85983744],h=[0,4096,134217728,134221824,524288,528384,134742016,134746112,16,4112,134217744,134221840,524304,528400,134742032,134746128],p=[0,4,256,260,0,4,256,260,1,5,257,261,1,5,257,261],m=r.length()>8?3:1,y=[],g=[0,0,1,1,1,1,1,1,0,1,1,1,1,1,1,0],E=0,b,O=0;O<m;O++){var B=r.getInt32(),D=r.getInt32();b=(B>>>4^D)&252645135,D^=b,B^=b<<4,b=(D>>>-16^B)&65535,B^=b,D^=b<<-16,b=(B>>>2^D)&858993459,D^=b,B^=b<<2,b=(D>>>-16^B)&65535,B^=b,D^=b<<-16,b=(B>>>1^D)&1431655765,D^=b,B^=b<<1,b=(D>>>8^B)&16711935,B^=b,D^=b<<8,b=(B>>>1^D)&1431655765,D^=b,B^=b<<1,b=B<<8|D>>>20&240,B=D<<24|D<<8&16711680|D>>>8&65280|D>>>24&240,D=b;for(var Q=0;Q<g.length;++Q){g[Q]?(B=B<<2|B>>>26,D=D<<2|D>>>26):(B=B<<1|B>>>27,D=D<<1|D>>>27),B&=-15,D&=-15;var Z=t[B>>>28]|e[B>>>24&15]|n[B>>>20&15]|i[B>>>16&15]|s[B>>>12&15]|o[B>>>8&15]|a[B>>>4&15],Wt=c[D>>>28]|u[D>>>24&15]|l[D>>>20&15]|f[D>>>16&15]|d[D>>>12&15]|h[D>>>8&15]|p[D>>>4&15];b=(Wt>>>16^Z)&65535,y[E++]=Z^b,y[E++]=Wt^b<<16}}return y}function Yp(r,t,e,n){var i=r.length===32?3:9,s;i===3?s=n?[30,-2,-2]:[0,32,2]:s=n?[94,62,-2,32,64,2,30,-2,-2]:[0,32,2,62,30,-2,64,96,2];var o,a=t[0],c=t[1];o=(a>>>4^c)&252645135,c^=o,a^=o<<4,o=(a>>>16^c)&65535,c^=o,a^=o<<16,o=(c>>>2^a)&858993459,a^=o,c^=o<<2,o=(c>>>8^a)&16711935,a^=o,c^=o<<8,o=(a>>>1^c)&1431655765,c^=o,a^=o<<1,a=a<<1|a>>>31,c=c<<1|c>>>31;for(var u=0;u<i;u+=3){for(var l=s[u+1],f=s[u+2],d=s[u];d!=l;d+=f){var h=c^r[d],p=(c>>>4|c<<28)^r[d+1];o=a,a=c,c=o^(Wv[h>>>24&63]|Xv[h>>>16&63]|Jv[h>>>8&63]|t2[h&63]|Yv[p>>>24&63]|Qv[p>>>16&63]|Zv[p>>>8&63]|jv[p&63])}o=a,a=c,c=o}a=a>>>1|a<<31,c=c>>>1|c<<31,o=(a>>>1^c)&1431655765,c^=o,a^=o<<1,o=(c>>>8^a)&16711935,a^=o,c^=o<<8,o=(c>>>2^a)&858993459,a^=o,c^=o<<2,o=(a>>>16^c)&65535,c^=o,a^=o<<16,o=(a>>>4^c)&252645135,c^=o,a^=o<<4,e[0]=a,e[1]=c}function na(r){r=r||{};var t=(r.mode||"CBC").toUpperCase(),e="DES-"+t,n;r.decrypt?n=St.cipher.createDecipher(e,r.key):n=St.cipher.createCipher(e,r.key);var i=n.start;return n.start=function(s,o){var a=null;o instanceof St.util.ByteBuffer&&(a=o,o={}),o=o||{},o.output=a,o.iv=s,i.call(n,o)},n}});var Pn=I((S4,Xp)=>{var ia=ut();Xp.exports=ia.md=ia.md||{};ia.md.algorithms=ia.md.algorithms||{}});var Jp=I((A4,Zp)=>{var Cr=ut();Pn();Kt();var r2=Zp.exports=Cr.hmac=Cr.hmac||{};r2.create=function(){var r=null,t=null,e=null,n=null,i={};return i.start=function(s,o){if(s!==null)if(typeof s=="string")if(s=s.toLowerCase(),s in Cr.md.algorithms)t=Cr.md.algorithms[s].create();else throw new Error('Unknown hash algorithm "'+s+'"');else t=s;if(o===null)o=r;else{if(typeof o=="string")o=Cr.util.createBuffer(o);else if(Cr.util.isArray(o)){var a=o;o=Cr.util.createBuffer();for(var c=0;c<a.length;++c)o.putByte(a[c])}var u=o.length();u>t.blockLength&&(t.start(),t.update(o.bytes()),o=t.digest()),e=Cr.util.createBuffer(),n=Cr.util.createBuffer(),u=o.length();for(var c=0;c<u;++c){var a=o.at(c);e.putByte(54^a),n.putByte(92^a)}if(u<t.blockLength)for(var a=t.blockLength-u,c=0;c<a;++c)e.putByte(54),n.putByte(92);r=o,e=e.bytes(),n=n.bytes()}t.start(),t.update(e)},i.update=function(s){t.update(s)},i.getMac=function(){var s=t.digest().bytes();return t.start(),t.update(n),t.update(s),t.digest()},i.digest=i.getMac,i}});var pl=I((R4,jp)=>{var ce=ut();Jp();Pn();Kt();var n2=ce.pkcs5=ce.pkcs5||{},Br;ce.util.isNodejs&&!ce.options.usePureJavaScript&&(Br=Tn());jp.exports=ce.pbkdf2=n2.pbkdf2=function(r,t,e,n,i,s){if(typeof i=="function"&&(s=i,i=null),ce.util.isNodejs&&!ce.options.usePureJavaScript&&Br.pbkdf2&&(i===null||typeof i!="object")&&(Br.pbkdf2Sync.length>4||!i||i==="sha1"))return typeof i!="string"&&(i="sha1"),r=Buffer.from(r,"binary"),t=Buffer.from(t,"binary"),s?Br.pbkdf2Sync.length===4?Br.pbkdf2(r,t,e,n,function(b,O){if(b)return s(b);s(null,O.toString("binary"))}):Br.pbkdf2(r,t,e,n,i,function(b,O){if(b)return s(b);s(null,O.toString("binary"))}):Br.pbkdf2Sync.length===4?Br.pbkdf2Sync(r,t,e,n).toString("binary"):Br.pbkdf2Sync(r,t,e,n,i).toString("binary");if((typeof i>"u"||i===null)&&(i="sha1"),typeof i=="string"){if(!(i in ce.md.algorithms))throw new Error("Unknown hash algorithm: "+i);i=ce.md[i].create()}var o=i.digestLength;if(n>4294967295*o){var a=new Error("Derived key is too long.");if(s)return s(a);throw a}var c=Math.ceil(n/o),u=n-(c-1)*o,l=ce.hmac.create();l.start(i,r);var f="",d,h,p;if(!s){for(var m=1;m<=c;++m){l.start(null,null),l.update(t),l.update(ce.util.int32ToBytes(m)),d=p=l.digest().getBytes();for(var y=2;y<=e;++y)l.start(null,null),l.update(p),h=l.digest().getBytes(),d=ce.util.xorBytes(d,h,o),p=h;f+=m<c?d:d.substr(0,u)}return f}var m=1,y;function g(){if(m>c)return s(null,f);l.start(null,null),l.update(t),l.update(ce.util.int32ToBytes(m)),d=p=l.digest().getBytes(),y=2,E()}function E(){if(y<=e)return l.start(null,null),l.update(p),h=l.digest().getBytes(),d=ce.util.xorBytes(d,h,o),p=h,++y,ce.util.setImmediate(E);f+=m<c?d:d.substr(0,u),++m,g()}g()}});var rm=I((I4,em)=>{var oa=ut();Kt();var tm=em.exports=oa.pem=oa.pem||{};tm.encode=function(r,t){t=t||{};var e="-----BEGIN "+r.type+`-----\r
|
|
31
|
+
`,n;if(r.procType&&(n={name:"Proc-Type",values:[String(r.procType.version),r.procType.type]},e+=sa(n)),r.contentDomain&&(n={name:"Content-Domain",values:[r.contentDomain]},e+=sa(n)),r.dekInfo&&(n={name:"DEK-Info",values:[r.dekInfo.algorithm]},r.dekInfo.parameters&&n.values.push(r.dekInfo.parameters),e+=sa(n)),r.headers)for(var i=0;i<r.headers.length;++i)e+=sa(r.headers[i]);return r.procType&&(e+=`\r
|
|
32
|
+
`),e+=oa.util.encode64(r.body,t.maxline||64)+`\r
|
|
33
33
|
`,e+="-----END "+r.type+`-----\r
|
|
34
|
-
`,e};tm.decode=function(r){for(var t=[],e=/\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^:]+)/,i=/\r?\n/,s;s=e.exec(r),!!s;){var o=s[1];o==="NEW CERTIFICATE REQUEST"&&(o="CERTIFICATE REQUEST");var a={type:o,procType:null,contentDomain:null,dekInfo:null,headers:[],body:
|
|
34
|
+
`,e};tm.decode=function(r){for(var t=[],e=/\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^:]+)/,i=/\r?\n/,s;s=e.exec(r),!!s;){var o=s[1];o==="NEW CERTIFICATE REQUEST"&&(o="CERTIFICATE REQUEST");var a={type:o,procType:null,contentDomain:null,dekInfo:null,headers:[],body:oa.util.decode64(s[3])};if(t.push(a),!!s[2]){for(var c=s[2].split(i),u=0;s&&u<c.length;){for(var l=c[u].replace(/\s+$/,""),f=u+1;f<c.length;++f){var d=c[f];if(!/\s/.test(d[0]))break;l+=d,u=f}if(s=l.match(n),s){for(var h={name:s[1],values:[]},p=s[2].split(","),m=0;m<p.length;++m)h.values.push(i2(p[m]));if(a.procType)if(!a.contentDomain&&h.name==="Content-Domain")a.contentDomain=p[0]||"";else if(!a.dekInfo&&h.name==="DEK-Info"){if(h.values.length===0)throw new Error('Invalid PEM formatted message. The "DEK-Info" header must have at least one subfield.');a.dekInfo={algorithm:p[0],parameters:p[1]||null}}else a.headers.push(h);else{if(h.name!=="Proc-Type")throw new Error('Invalid PEM formatted message. The first encapsulated header must be "Proc-Type".');if(h.values.length!==2)throw new Error('Invalid PEM formatted message. The "Proc-Type" header must have two subfields.');a.procType={version:p[0],type:p[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 sa(r){for(var t=r.name+": ",e=[],n=function(c,u){return" "+u},i=0;i<r.values.length;++i)e.push(r.values[i].replace(/^(\S+\r\n)/,n));t+=e.join(",")+`\r
|
|
35
35
|
`;for(var s=0,o=-1,i=0;i<t.length;++i,++s)if(s>65&&o!==-1){var a=t[o];a===","?(++o,t=t.substr(0,o)+`\r
|
|
36
36
|
`+t.substr(o)):t=t.substr(0,o)+`\r
|
|
37
|
-
`+a+t.substr(o+1),s=i-o-1,o=-1,++i}else(t[i]===" "||t[i]===" "||t[i]===",")&&(o=i);return t}function i2(r){return r.replace(/^\s+/,"")}});var cm=I((T4,am)=>{var or=ut();Pn();Kt();var im=am.exports=or.sha256=or.sha256||{};or.md.sha256=or.md.algorithms.sha256=im;im.create=function(){sm||s2();var r=null,t=or.util.createBuffer(),e=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 i=n.messageLengthSize/4,s=0;s<i;++s)n.fullMessageLength.push(0);return t=or.util.createBuffer(),r={h0:1779033703,h1:3144134277,h2:1013904242,h3:2773480762,h4:1359893119,h5:2600822924,h6:528734635,h7:1541459225},n},n.start(),n.update=function(i,s){s==="utf8"&&(i=or.util.encodeUtf8(i));var o=i.length;n.messageLength+=o,o=[o/4294967296>>>0,o>>>0];for(var a=n.fullMessageLength.length-1;a>=0;--a)n.fullMessageLength[a]+=o[1],o[1]=o[0]+(n.fullMessageLength[a]/4294967296>>>0),n.fullMessageLength[a]=n.fullMessageLength[a]>>>0,o[0]=o[1]/4294967296>>>0;return t.putBytes(i),nm(r,e,t),(t.read>2048||t.length()===0)&&t.compact(),n},n.digest=function(){var i=or.util.createBuffer();i.putBytes(t.bytes());var s=n.fullMessageLength[n.fullMessageLength.length-1]+n.messageLengthSize,o=s&n.blockLength-1;i.putBytes(ml.substr(0,n.blockLength-o));for(var a,c,u=n.fullMessageLength[0]*8,l=0;l<n.fullMessageLength.length-1;++l)a=n.fullMessageLength[l+1]*8,c=a/4294967296>>>0,u+=c,i.putInt32(u>>>0),u=a>>>0;i.putInt32(u);var f={h0:r.h0,h1:r.h1,h2:r.h2,h3:r.h3,h4:r.h4,h5:r.h5,h6:r.h6,h7:r.h7};nm(f,e,i);var d=or.util.createBuffer();return d.putInt32(f.h0),d.putInt32(f.h1),d.putInt32(f.h2),d.putInt32(f.h3),d.putInt32(f.h4),d.putInt32(f.h5),d.putInt32(f.h6),d.putInt32(f.h7),d},n};var ml=null,sm=!1,om=null;function s2(){ml=String.fromCharCode(128),ml+=or.util.fillString(String.fromCharCode(0),64),om=[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],sm=!0}function nm(r,t,e){for(var n,i,s,o,a,c,u,l,f,d,h,p,m,y,g,E=e.length();E>=64;){for(u=0;u<16;++u)t[u]=e.getInt32();for(;u<64;++u)n=t[u-2],n=(n>>>17|n<<15)^(n>>>19|n<<13)^n>>>10,i=t[u-15],i=(i>>>7|i<<25)^(i>>>18|i<<14)^i>>>3,t[u]=n+t[u-7]+i+t[u-16]|0;for(l=r.h0,f=r.h1,d=r.h2,h=r.h3,p=r.h4,m=r.h5,y=r.h6,g=r.h7,u=0;u<64;++u)o=(p>>>6|p<<26)^(p>>>11|p<<21)^(p>>>25|p<<7),a=y^p&(m^y),s=(l>>>2|l<<30)^(l>>>13|l<<19)^(l>>>22|l<<10),c=l&f|d&(l^f),n=g+o+a+om[u]+t[u],i=s+c,g=y,y=m,m=p,p=h+n>>>0,h=d,d=f,f=l,l=n+i>>>0;r.h0=r.h0+l|0,r.h1=r.h1+f|0,r.h2=r.h2+d|0,r.h3=r.h3+h|0,r.h4=r.h4+p|0,r.h5=r.h5+m|0,r.h6=r.h6+y|0,r.h7=r.h7+g|0,E-=64}}});var lm=I((C4,um)=>{var ar=ut();Kt();var oa=null;ar.util.isNodejs&&!ar.options.usePureJavaScript&&!process.versions["node-webkit"]&&(oa=Tn());var o2=um.exports=ar.prng=ar.prng||{};o2.create=function(r){for(var t={plugin:r,key:null,seed:null,time:null,reseeds:0,generated:0,keyBytes:""},e=r.md,n=new Array(32),i=0;i<32;++i)n[i]=e.create();t.pools=n,t.pool=0,t.generate=function(u,l){if(!l)return t.generateSync(u);var f=t.plugin.cipher,d=t.plugin.increment,h=t.plugin.formatKey,p=t.plugin.formatSeed,m=ar.util.createBuffer();t.key=null,y();function y(g){if(g)return l(g);if(m.length()>=u)return l(null,m.getBytes(u));if(t.generated>1048575&&(t.key=null),t.key===null)return ar.util.nextTick(function(){s(y)});var E=f(t.key,t.seed);t.generated+=E.length,m.putBytes(E),t.key=h(f(t.key,d(t.seed))),t.seed=p(f(t.key,t.seed)),ar.util.setImmediate(y)}},t.generateSync=function(u){var l=t.plugin.cipher,f=t.plugin.increment,d=t.plugin.formatKey,h=t.plugin.formatSeed;t.key=null;for(var p=ar.util.createBuffer();p.length()<u;){t.generated>1048575&&(t.key=null),t.key===null&&o();var m=l(t.key,t.seed);t.generated+=m.length,p.putBytes(m),t.key=d(l(t.key,f(t.seed))),t.seed=h(l(t.key,t.seed))}return p.getBytes(u)};function s(u){if(t.pools[0].messageLength>=32)return a(),u();var l=32-t.pools[0].messageLength<<5;t.seedFile(l,function(f,d){if(f)return u(f);t.collect(d),a(),u()})}function o(){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 l=1,f=0;f<32;++f)t.reseeds%l===0&&(u.update(t.pools[f].digest().getBytes()),t.pools[f].start()),l=l<<1;t.keyBytes=u.digest().getBytes(),u.start(),u.update(t.keyBytes);var d=u.digest().getBytes();t.key=t.plugin.formatKey(t.keyBytes),t.seed=t.plugin.formatSeed(d),t.generated=0}function c(u){var l=null,f=ar.util.globalScope,d=f.crypto||f.msCrypto;d&&d.getRandomValues&&(l=function(B){return d.getRandomValues(B)});var h=ar.util.createBuffer();if(l)for(;h.length()<u;){var p=Math.max(1,Math.min(u-h.length(),65536)/4),m=new Uint32Array(Math.floor(p));try{l(m);for(var y=0;y<m.length;++y)h.putInt32(m[y])}catch(B){if(!(typeof QuotaExceededError<"u"&&B instanceof QuotaExceededError))throw B}}if(h.length()<u)for(var g,E,b,O=Math.floor(Math.random()*65536);h.length()<u;){E=16807*(O&65535),g=16807*(O>>16),E+=(g&32767)<<16,E+=g>>15,E=(E&2147483647)+(E>>31),O=E&4294967295;for(var y=0;y<3;++y)b=O>>>(y<<3),b^=Math.floor(Math.random()*256),h.putByte(b&255)}return h.getBytes(u)}return oa?(t.seedFile=function(u,l){oa.randomBytes(u,function(f,d){if(f)return l(f);l(null,d.toString())})},t.seedFileSync=function(u){return oa.randomBytes(u).toString()}):(t.seedFile=function(u,l){try{l(null,c(u))}catch(f){l(f)}},t.seedFileSync=c),t.collect=function(u){for(var l=u.length,f=0;f<l;++f)t.pools[t.pool].update(u.substr(f,1)),t.pool=t.pool===31?0:t.pool+1},t.collectInt=function(u,l){for(var f="",d=0;d<l;d+=8)f+=String.fromCharCode(u>>d&255);t.collect(f)},t.registerWorker=function(u){if(u===self)t.seedFile=function(f,d){function h(p){var m=p.data;m.forge&&m.forge.prng&&(self.removeEventListener("message",h),d(m.forge.prng.err,m.forge.prng.bytes))}self.addEventListener("message",h),self.postMessage({forge:{prng:{needed:f}}})};else{var l=function(f){var d=f.data;d.forge&&d.forge.prng&&t.seedFile(d.forge.prng.needed,function(h,p){u.postMessage({forge:{prng:{err:h,bytes:p}}})})};u.addEventListener("message",l)}},t}});var ds=I((B4,yl)=>{var ee=ut();ea();cm();lm();Kt();(function(){if(ee.random&&ee.random.getBytes){yl.exports=ee.random;return}(function(r){var t={},e=new Array(4),n=ee.util.createBuffer();t.formatKey=function(f){var d=ee.util.createBuffer(f);return f=new Array(4),f[0]=d.getInt32(),f[1]=d.getInt32(),f[2]=d.getInt32(),f[3]=d.getInt32(),ee.aes._expandKey(f,!1)},t.formatSeed=function(f){var d=ee.util.createBuffer(f);return f=new Array(4),f[0]=d.getInt32(),f[1]=d.getInt32(),f[2]=d.getInt32(),f[3]=d.getInt32(),f},t.cipher=function(f,d){return ee.aes._updateBlock(f,d,e,!1),n.putInt32(e[0]),n.putInt32(e[1]),n.putInt32(e[2]),n.putInt32(e[3]),n.getBytes()},t.increment=function(f){return++f[3],f},t.md=ee.md.sha256;function i(){var f=ee.prng.create(t);return f.getBytes=function(d,h){return f.generate(d,h)},f.getBytesSync=function(d){return f.generate(d)},f}var s=i(),o=null,a=ee.util.globalScope,c=a.crypto||a.msCrypto;if(c&&c.getRandomValues&&(o=function(f){return c.getRandomValues(f)}),ee.options.usePureJavaScript||!ee.util.isNodejs&&!o){if(typeof window>"u"||window.document,s.collectInt(+new Date,32),typeof navigator<"u"){var u="";for(var l in navigator)try{typeof navigator[l]=="string"&&(u+=navigator[l])}catch{}s.collect(u),u=null}r&&(r().mousemove(function(f){s.collectInt(f.clientX,16),s.collectInt(f.clientY,16)}),r().keypress(function(f){s.collectInt(f.charCode,8)}))}if(!ee.random)ee.random=s;else for(var l in s)ee.random[l]=s[l];ee.random.createInstance=i,yl.exports=ee.random})(typeof jQuery<"u"?jQuery:null)})()});var pm=I((D4,dm)=>{var fe=ut();Kt();var gl=[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],fm=[1,2,3,5],a2=function(r,t){return r<<t&65535|(r&65535)>>16-t},c2=function(r,t){return(r&65535)>>t|r<<16-t&65535};dm.exports=fe.rc2=fe.rc2||{};fe.rc2.expandKey=function(r,t){typeof r=="string"&&(r=fe.util.createBuffer(r)),t=t||128;var e=r,n=r.length(),i=t,s=Math.ceil(i/8),o=255>>(i&7),a;for(a=n;a<128;a++)e.putByte(gl[e.at(a-1)+e.at(a-n)&255]);for(e.setAt(128-s,gl[e.at(128-s)&o]),a=127-s;a>=0;a--)e.setAt(a,gl[e.at(a+1)^e.at(a+s)]);return e};var hm=function(r,t,e){var n=!1,i=null,s=null,o=null,a,c,u,l,f=[];for(r=fe.rc2.expandKey(r,t),u=0;u<64;u++)f.push(r.getInt16Le());e?(a=function(p){for(u=0;u<4;u++)p[u]+=f[l]+(p[(u+3)%4]&p[(u+2)%4])+(~p[(u+3)%4]&p[(u+1)%4]),p[u]=a2(p[u],fm[u]),l++},c=function(p){for(u=0;u<4;u++)p[u]+=f[p[(u+3)%4]&63]}):(a=function(p){for(u=3;u>=0;u--)p[u]=c2(p[u],fm[u]),p[u]-=f[l]+(p[(u+3)%4]&p[(u+2)%4])+(~p[(u+3)%4]&p[(u+1)%4]),l--},c=function(p){for(u=3;u>=0;u--)p[u]-=f[p[(u+3)%4]&63]});var d=function(p){var m=[];for(u=0;u<4;u++){var y=i.getInt16Le();o!==null&&(e?y^=o.getInt16Le():o.putInt16Le(y)),m.push(y&65535)}l=e?0:63;for(var g=0;g<p.length;g++)for(var E=0;E<p[g][0];E++)p[g][1](m);for(u=0;u<4;u++)o!==null&&(e?o.putInt16Le(m[u]):m[u]^=o.getInt16Le()),s.putInt16Le(m[u])},h=null;return h={start:function(p,m){p&&typeof p=="string"&&(p=fe.util.createBuffer(p)),n=!1,i=fe.util.createBuffer(),s=m||new fe.util.createBuffer,o=p,h.output=s},update:function(p){for(n||i.putBuffer(p);i.length()>=8;)d([[5,a],[1,c],[6,a],[1,c],[5,a]])},finish:function(p){var m=!0;if(e)if(p)m=p(8,i,!e);else{var y=i.length()===8?8:8-i.length();i.fillWithByte(y,y)}if(m&&(n=!0,h.update()),!e&&(m=i.length()===0,m))if(p)m=p(8,s,!e);else{var g=s.length(),E=s.at(g-1);E>g?m=!1:s.truncate(E)}return m}},h};fe.rc2.startEncrypting=function(r,t,e){var n=fe.rc2.createEncryptionCipher(r,128);return n.start(t,e),n};fe.rc2.createEncryptionCipher=function(r,t){return hm(r,t,!0)};fe.rc2.startDecrypting=function(r,t,e){var n=fe.rc2.createDecryptionCipher(r,128);return n.start(t,e),n};fe.rc2.createDecryptionCipher=function(r,t){return hm(r,t,!1)}});var ua=I((L4,bm)=>{var wl=ut();bm.exports=wl.jsbn=wl.jsbn||{};var Dr,u2=0xdeadbeefcafe,mm=(u2&16777215)==15715070;function S(r,t,e){this.data=[],r!=null&&(typeof r=="number"?this.fromNumber(r,t,e):t==null&&typeof r!="string"?this.fromString(r,256):this.fromString(r,t))}wl.jsbn.BigInteger=S;function nt(){return new S(null)}function l2(r,t,e,n,i,s){for(;--s>=0;){var o=t*this.data[r++]+e.data[n]+i;i=Math.floor(o/67108864),e.data[n++]=o&67108863}return i}function f2(r,t,e,n,i,s){for(var o=t&32767,a=t>>15;--s>=0;){var c=this.data[r]&32767,u=this.data[r++]>>15,l=a*c+u*o;c=o*c+((l&32767)<<15)+e.data[n]+(i&1073741823),i=(c>>>30)+(l>>>15)+a*u+(i>>>30),e.data[n++]=c&1073741823}return i}function ym(r,t,e,n,i,s){for(var o=t&16383,a=t>>14;--s>=0;){var c=this.data[r]&16383,u=this.data[r++]>>14,l=a*c+u*o;c=o*c+((l&16383)<<14)+e.data[n]+i,i=(c>>28)+(l>>14)+a*u,e.data[n++]=c&268435455}return i}typeof navigator>"u"?(S.prototype.am=ym,Dr=28):mm&&navigator.appName=="Microsoft Internet Explorer"?(S.prototype.am=f2,Dr=30):mm&&navigator.appName!="Netscape"?(S.prototype.am=l2,Dr=26):(S.prototype.am=ym,Dr=28);S.prototype.DB=Dr;S.prototype.DM=(1<<Dr)-1;S.prototype.DV=1<<Dr;var El=52;S.prototype.FV=Math.pow(2,El);S.prototype.F1=El-Dr;S.prototype.F2=2*Dr-El;var h2="0123456789abcdefghijklmnopqrstuvwxyz",aa=new Array,Ri,Be;Ri="0".charCodeAt(0);for(Be=0;Be<=9;++Be)aa[Ri++]=Be;Ri="a".charCodeAt(0);for(Be=10;Be<36;++Be)aa[Ri++]=Be;Ri="A".charCodeAt(0);for(Be=10;Be<36;++Be)aa[Ri++]=Be;function gm(r){return h2.charAt(r)}function wm(r,t){var e=aa[r.charCodeAt(t)];return e??-1}function d2(r){for(var t=this.t-1;t>=0;--t)r.data[t]=this.data[t];r.t=this.t,r.s=this.s}function p2(r){this.t=1,this.s=r<0?-1:0,r>0?this.data[0]=r:r<-1?this.data[0]=r+this.DV:this.t=0}function Jr(r){var t=nt();return t.fromInt(r),t}function m2(r,t){var e;if(t==16)e=4;else if(t==8)e=3;else if(t==256)e=8;else if(t==2)e=1;else if(t==32)e=5;else if(t==4)e=2;else{this.fromRadix(r,t);return}this.t=0,this.s=0;for(var n=r.length,i=!1,s=0;--n>=0;){var o=e==8?r[n]&255:wm(r,n);if(o<0){r.charAt(n)=="-"&&(i=!0);continue}i=!1,s==0?this.data[this.t++]=o:s+e>this.DB?(this.data[this.t-1]|=(o&(1<<this.DB-s)-1)<<s,this.data[this.t++]=o>>this.DB-s):this.data[this.t-1]|=o<<s,s+=e,s>=this.DB&&(s-=this.DB)}e==8&&r[0]&128&&(this.s=-1,s>0&&(this.data[this.t-1]|=(1<<this.DB-s)-1<<s)),this.clamp(),i&&S.ZERO.subTo(this,this)}function y2(){for(var r=this.s&this.DM;this.t>0&&this.data[this.t-1]==r;)--this.t}function g2(r){if(this.s<0)return"-"+this.negate().toString(r);var t;if(r==16)t=4;else if(r==8)t=3;else if(r==2)t=1;else if(r==32)t=5;else if(r==4)t=2;else return this.toRadix(r);var e=(1<<t)-1,n,i=!1,s="",o=this.t,a=this.DB-o*this.DB%t;if(o-- >0)for(a<this.DB&&(n=this.data[o]>>a)>0&&(i=!0,s=gm(n));o>=0;)a<t?(n=(this.data[o]&(1<<a)-1)<<t-a,n|=this.data[--o]>>(a+=this.DB-t)):(n=this.data[o]>>(a-=t)&e,a<=0&&(a+=this.DB,--o)),n>0&&(i=!0),i&&(s+=gm(n));return i?s:"0"}function w2(){var r=nt();return S.ZERO.subTo(this,r),r}function E2(){return this.s<0?this.negate():this}function x2(r){var t=this.s-r.s;if(t!=0)return t;var e=this.t;if(t=e-r.t,t!=0)return this.s<0?-t:t;for(;--e>=0;)if((t=this.data[e]-r.data[e])!=0)return t;return 0}function ca(r){var t=1,e;return(e=r>>>16)!=0&&(r=e,t+=16),(e=r>>8)!=0&&(r=e,t+=8),(e=r>>4)!=0&&(r=e,t+=4),(e=r>>2)!=0&&(r=e,t+=2),(e=r>>1)!=0&&(r=e,t+=1),t}function v2(){return this.t<=0?0:this.DB*(this.t-1)+ca(this.data[this.t-1]^this.s&this.DM)}function b2(r,t){var e;for(e=this.t-1;e>=0;--e)t.data[e+r]=this.data[e];for(e=r-1;e>=0;--e)t.data[e]=0;t.t=this.t+r,t.s=this.s}function _2(r,t){for(var e=r;e<this.t;++e)t.data[e-r]=this.data[e];t.t=Math.max(this.t-r,0),t.s=this.s}function S2(r,t){var e=r%this.DB,n=this.DB-e,i=(1<<n)-1,s=Math.floor(r/this.DB),o=this.s<<e&this.DM,a;for(a=this.t-1;a>=0;--a)t.data[a+s+1]=this.data[a]>>n|o,o=(this.data[a]&i)<<e;for(a=s-1;a>=0;--a)t.data[a]=0;t.data[s]=o,t.t=this.t+s+1,t.s=this.s,t.clamp()}function A2(r,t){t.s=this.s;var e=Math.floor(r/this.DB);if(e>=this.t){t.t=0;return}var n=r%this.DB,i=this.DB-n,s=(1<<n)-1;t.data[0]=this.data[e]>>n;for(var o=e+1;o<this.t;++o)t.data[o-e-1]|=(this.data[o]&s)<<i,t.data[o-e]=this.data[o]>>n;n>0&&(t.data[this.t-e-1]|=(this.s&s)<<i),t.t=this.t-e,t.clamp()}function R2(r,t){for(var e=0,n=0,i=Math.min(r.t,this.t);e<i;)n+=this.data[e]-r.data[e],t.data[e++]=n&this.DM,n>>=this.DB;if(r.t<this.t){for(n-=r.s;e<this.t;)n+=this.data[e],t.data[e++]=n&this.DM,n>>=this.DB;n+=this.s}else{for(n+=this.s;e<r.t;)n-=r.data[e],t.data[e++]=n&this.DM,n>>=this.DB;n-=r.s}t.s=n<0?-1:0,n<-1?t.data[e++]=this.DV+n:n>0&&(t.data[e++]=n),t.t=e,t.clamp()}function I2(r,t){var e=this.abs(),n=r.abs(),i=e.t;for(t.t=i+n.t;--i>=0;)t.data[i]=0;for(i=0;i<n.t;++i)t.data[i+e.t]=e.am(0,n.data[i],t,i,0,e.t);t.s=0,t.clamp(),this.s!=r.s&&S.ZERO.subTo(t,t)}function T2(r){for(var t=this.abs(),e=r.t=2*t.t;--e>=0;)r.data[e]=0;for(e=0;e<t.t-1;++e){var n=t.am(e,t.data[e],r,2*e,0,1);(r.data[e+t.t]+=t.am(e+1,2*t.data[e],r,2*e+1,n,t.t-e-1))>=t.DV&&(r.data[e+t.t]-=t.DV,r.data[e+t.t+1]=1)}r.t>0&&(r.data[r.t-1]+=t.am(e,t.data[e],r,2*e,0,1)),r.s=0,r.clamp()}function C2(r,t,e){var n=r.abs();if(!(n.t<=0)){var i=this.abs();if(i.t<n.t){t?.fromInt(0),e!=null&&this.copyTo(e);return}e==null&&(e=nt());var s=nt(),o=this.s,a=r.s,c=this.DB-ca(n.data[n.t-1]);c>0?(n.lShiftTo(c,s),i.lShiftTo(c,e)):(n.copyTo(s),i.copyTo(e));var u=s.t,l=s.data[u-1];if(l!=0){var f=l*(1<<this.F1)+(u>1?s.data[u-2]>>this.F2:0),d=this.FV/f,h=(1<<this.F1)/f,p=1<<this.F2,m=e.t,y=m-u,g=t??nt();for(s.dlShiftTo(y,g),e.compareTo(g)>=0&&(e.data[e.t++]=1,e.subTo(g,e)),S.ONE.dlShiftTo(u,g),g.subTo(s,s);s.t<u;)s.data[s.t++]=0;for(;--y>=0;){var E=e.data[--m]==l?this.DM:Math.floor(e.data[m]*d+(e.data[m-1]+p)*h);if((e.data[m]+=s.am(0,E,e,y,0,u))<E)for(s.dlShiftTo(y,g),e.subTo(g,e);e.data[m]<--E;)e.subTo(g,e)}t!=null&&(e.drShiftTo(u,t),o!=a&&S.ZERO.subTo(t,t)),e.t=u,e.clamp(),c>0&&e.rShiftTo(c,e),o<0&&S.ZERO.subTo(e,e)}}}function B2(r){var t=nt();return this.abs().divRemTo(r,null,t),this.s<0&&t.compareTo(S.ZERO)>0&&r.subTo(t,t),t}function Nn(r){this.m=r}function D2(r){return r.s<0||r.compareTo(this.m)>=0?r.mod(this.m):r}function L2(r){return r}function P2(r){r.divRemTo(this.m,null,r)}function N2(r,t,e){r.multiplyTo(t,e),this.reduce(e)}function k2(r,t){r.squareTo(t),this.reduce(t)}Nn.prototype.convert=D2;Nn.prototype.revert=L2;Nn.prototype.reduce=P2;Nn.prototype.mulTo=N2;Nn.prototype.sqrTo=k2;function O2(){if(this.t<1)return 0;var r=this.data[0];if(!(r&1))return 0;var t=r&3;return t=t*(2-(r&15)*t)&15,t=t*(2-(r&255)*t)&255,t=t*(2-((r&65535)*t&65535))&65535,t=t*(2-r*t%this.DV)%this.DV,t>0?this.DV-t:-t}function kn(r){this.m=r,this.mp=r.invDigit(),this.mpl=this.mp&32767,this.mph=this.mp>>15,this.um=(1<<r.DB-15)-1,this.mt2=2*r.t}function M2(r){var t=nt();return r.abs().dlShiftTo(this.m.t,t),t.divRemTo(this.m,null,t),r.s<0&&t.compareTo(S.ZERO)>0&&this.m.subTo(t,t),t}function U2(r){var t=nt();return r.copyTo(t),this.reduce(t),t}function F2(r){for(;r.t<=this.mt2;)r.data[r.t++]=0;for(var t=0;t<this.m.t;++t){var e=r.data[t]&32767,n=e*this.mpl+((e*this.mph+(r.data[t]>>15)*this.mpl&this.um)<<15)&r.DM;for(e=t+this.m.t,r.data[e]+=this.m.am(0,n,r,t,0,this.m.t);r.data[e]>=r.DV;)r.data[e]-=r.DV,r.data[++e]++}r.clamp(),r.drShiftTo(this.m.t,r),r.compareTo(this.m)>=0&&r.subTo(this.m,r)}function K2(r,t){r.squareTo(t),this.reduce(t)}function V2(r,t,e){r.multiplyTo(t,e),this.reduce(e)}kn.prototype.convert=M2;kn.prototype.revert=U2;kn.prototype.reduce=F2;kn.prototype.mulTo=V2;kn.prototype.sqrTo=K2;function q2(){return(this.t>0?this.data[0]&1:this.s)==0}function $2(r,t){if(r>4294967295||r<1)return S.ONE;var e=nt(),n=nt(),i=t.convert(this),s=ca(r)-1;for(i.copyTo(e);--s>=0;)if(t.sqrTo(e,n),(r&1<<s)>0)t.mulTo(n,i,e);else{var o=e;e=n,n=o}return t.revert(e)}function z2(r,t){var e;return r<256||t.isEven()?e=new Nn(t):e=new kn(t),this.exp(r,e)}S.prototype.copyTo=d2;S.prototype.fromInt=p2;S.prototype.fromString=m2;S.prototype.clamp=y2;S.prototype.dlShiftTo=b2;S.prototype.drShiftTo=_2;S.prototype.lShiftTo=S2;S.prototype.rShiftTo=A2;S.prototype.subTo=R2;S.prototype.multiplyTo=I2;S.prototype.squareTo=T2;S.prototype.divRemTo=C2;S.prototype.invDigit=O2;S.prototype.isEven=q2;S.prototype.exp=$2;S.prototype.toString=g2;S.prototype.negate=w2;S.prototype.abs=E2;S.prototype.compareTo=x2;S.prototype.bitLength=v2;S.prototype.mod=B2;S.prototype.modPowInt=z2;S.ZERO=Jr(0);S.ONE=Jr(1);function H2(){var r=nt();return this.copyTo(r),r}function G2(){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 Y2(){return this.t==0?this.s:this.data[0]<<24>>24}function W2(){return this.t==0?this.s:this.data[0]<<16>>16}function Q2(r){return Math.floor(Math.LN2*this.DB/Math.log(r))}function X2(){return this.s<0?-1:this.t<=0||this.t==1&&this.data[0]<=0?0:1}function Z2(r){if(r==null&&(r=10),this.signum()==0||r<2||r>36)return"0";var t=this.chunkSize(r),e=Math.pow(r,t),n=Jr(e),i=nt(),s=nt(),o="";for(this.divRemTo(n,i,s);i.signum()>0;)o=(e+s.intValue()).toString(r).substr(1)+o,i.divRemTo(n,i,s);return s.intValue().toString(r)+o}function J2(r,t){this.fromInt(0),t==null&&(t=10);for(var e=this.chunkSize(t),n=Math.pow(t,e),i=!1,s=0,o=0,a=0;a<r.length;++a){var c=wm(r,a);if(c<0){r.charAt(a)=="-"&&this.signum()==0&&(i=!0);continue}o=t*o+c,++s>=e&&(this.dMultiply(n),this.dAddOffset(o,0),s=0,o=0)}s>0&&(this.dMultiply(Math.pow(t,s)),this.dAddOffset(o,0)),i&&S.ZERO.subTo(this,this)}function j2(r,t,e){if(typeof t=="number")if(r<2)this.fromInt(1);else for(this.fromNumber(r,e),this.testBit(r-1)||this.bitwiseTo(S.ONE.shiftLeft(r-1),xl,this),this.isEven()&&this.dAddOffset(1,0);!this.isProbablePrime(t);)this.dAddOffset(2,0),this.bitLength()>r&&this.subTo(S.ONE.shiftLeft(r-1),this);else{var n=new Array,i=r&7;n.length=(r>>3)+1,t.nextBytes(n),i>0?n[0]&=(1<<i)-1:n[0]=0,this.fromString(n,256)}}function tb(){var r=this.t,t=new Array;t[0]=this.s;var e=this.DB-r*this.DB%8,n,i=0;if(r-- >0)for(e<this.DB&&(n=this.data[r]>>e)!=(this.s&this.DM)>>e&&(t[i++]=n|this.s<<this.DB-e);r>=0;)e<8?(n=(this.data[r]&(1<<e)-1)<<8-e,n|=this.data[--r]>>(e+=this.DB-8)):(n=this.data[r]>>(e-=8)&255,e<=0&&(e+=this.DB,--r)),n&128&&(n|=-256),i==0&&(this.s&128)!=(n&128)&&++i,(i>0||n!=this.s)&&(t[i++]=n);return t}function eb(r){return this.compareTo(r)==0}function rb(r){return this.compareTo(r)<0?this:r}function nb(r){return this.compareTo(r)>0?this:r}function ib(r,t,e){var n,i,s=Math.min(r.t,this.t);for(n=0;n<s;++n)e.data[n]=t(this.data[n],r.data[n]);if(r.t<this.t){for(i=r.s&this.DM,n=s;n<this.t;++n)e.data[n]=t(this.data[n],i);e.t=this.t}else{for(i=this.s&this.DM,n=s;n<r.t;++n)e.data[n]=t(i,r.data[n]);e.t=r.t}e.s=t(this.s,r.s),e.clamp()}function sb(r,t){return r&t}function ob(r){var t=nt();return this.bitwiseTo(r,sb,t),t}function xl(r,t){return r|t}function ab(r){var t=nt();return this.bitwiseTo(r,xl,t),t}function Em(r,t){return r^t}function cb(r){var t=nt();return this.bitwiseTo(r,Em,t),t}function xm(r,t){return r&~t}function ub(r){var t=nt();return this.bitwiseTo(r,xm,t),t}function lb(){for(var r=nt(),t=0;t<this.t;++t)r.data[t]=this.DM&~this.data[t];return r.t=this.t,r.s=~this.s,r}function fb(r){var t=nt();return r<0?this.rShiftTo(-r,t):this.lShiftTo(r,t),t}function hb(r){var t=nt();return r<0?this.lShiftTo(-r,t):this.rShiftTo(r,t),t}function db(r){if(r==0)return-1;var t=0;return r&65535||(r>>=16,t+=16),r&255||(r>>=8,t+=8),r&15||(r>>=4,t+=4),r&3||(r>>=2,t+=2),r&1||++t,t}function pb(){for(var r=0;r<this.t;++r)if(this.data[r]!=0)return r*this.DB+db(this.data[r]);return this.s<0?this.t*this.DB:-1}function mb(r){for(var t=0;r!=0;)r&=r-1,++t;return t}function yb(){for(var r=0,t=this.s&this.DM,e=0;e<this.t;++e)r+=mb(this.data[e]^t);return r}function gb(r){var t=Math.floor(r/this.DB);return t>=this.t?this.s!=0:(this.data[t]&1<<r%this.DB)!=0}function wb(r,t){var e=S.ONE.shiftLeft(r);return this.bitwiseTo(e,t,e),e}function Eb(r){return this.changeBit(r,xl)}function xb(r){return this.changeBit(r,xm)}function vb(r){return this.changeBit(r,Em)}function bb(r,t){for(var e=0,n=0,i=Math.min(r.t,this.t);e<i;)n+=this.data[e]+r.data[e],t.data[e++]=n&this.DM,n>>=this.DB;if(r.t<this.t){for(n+=r.s;e<this.t;)n+=this.data[e],t.data[e++]=n&this.DM,n>>=this.DB;n+=this.s}else{for(n+=this.s;e<r.t;)n+=r.data[e],t.data[e++]=n&this.DM,n>>=this.DB;n+=r.s}t.s=n<0?-1:0,n>0?t.data[e++]=n:n<-1&&(t.data[e++]=this.DV+n),t.t=e,t.clamp()}function _b(r){var t=nt();return this.addTo(r,t),t}function Sb(r){var t=nt();return this.subTo(r,t),t}function Ab(r){var t=nt();return this.multiplyTo(r,t),t}function Rb(r){var t=nt();return this.divRemTo(r,t,null),t}function Ib(r){var t=nt();return this.divRemTo(r,null,t),t}function Tb(r){var t=nt(),e=nt();return this.divRemTo(r,t,e),new Array(t,e)}function Cb(r){this.data[this.t]=this.am(0,r-1,this,0,0,this.t),++this.t,this.clamp()}function Bb(r,t){if(r!=0){for(;this.t<=t;)this.data[this.t++]=0;for(this.data[t]+=r;this.data[t]>=this.DV;)this.data[t]-=this.DV,++t>=this.t&&(this.data[this.t++]=0),++this.data[t]}}function ps(){}function vm(r){return r}function Db(r,t,e){r.multiplyTo(t,e)}function Lb(r,t){r.squareTo(t)}ps.prototype.convert=vm;ps.prototype.revert=vm;ps.prototype.mulTo=Db;ps.prototype.sqrTo=Lb;function Pb(r){return this.exp(r,new ps)}function Nb(r,t,e){var n=Math.min(this.t+r.t,t);for(e.s=0,e.t=n;n>0;)e.data[--n]=0;var i;for(i=e.t-this.t;n<i;++n)e.data[n+this.t]=this.am(0,r.data[n],e,n,0,this.t);for(i=Math.min(r.t,t);n<i;++n)this.am(0,r.data[n],e,n,0,t-n);e.clamp()}function kb(r,t,e){--t;var n=e.t=this.t+r.t-t;for(e.s=0;--n>=0;)e.data[n]=0;for(n=Math.max(t-this.t,0);n<r.t;++n)e.data[this.t+n-t]=this.am(t-n,r.data[n],e,0,0,this.t+n-t);e.clamp(),e.drShiftTo(1,e)}function Ii(r){this.r2=nt(),this.q3=nt(),S.ONE.dlShiftTo(2*r.t,this.r2),this.mu=this.r2.divide(r),this.m=r}function Ob(r){if(r.s<0||r.t>2*this.m.t)return r.mod(this.m);if(r.compareTo(this.m)<0)return r;var t=nt();return r.copyTo(t),this.reduce(t),t}function Mb(r){return r}function Ub(r){for(r.drShiftTo(this.m.t-1,this.r2),r.t>this.m.t+1&&(r.t=this.m.t+1,r.clamp()),this.mu.multiplyUpperTo(this.r2,this.m.t+1,this.q3),this.m.multiplyLowerTo(this.q3,this.m.t+1,this.r2);r.compareTo(this.r2)<0;)r.dAddOffset(1,this.m.t+1);for(r.subTo(this.r2,r);r.compareTo(this.m)>=0;)r.subTo(this.m,r)}function Fb(r,t){r.squareTo(t),this.reduce(t)}function Kb(r,t,e){r.multiplyTo(t,e),this.reduce(e)}Ii.prototype.convert=Ob;Ii.prototype.revert=Mb;Ii.prototype.reduce=Ub;Ii.prototype.mulTo=Kb;Ii.prototype.sqrTo=Fb;function Vb(r,t){var e=r.bitLength(),n,i=Jr(1),s;if(e<=0)return i;e<18?n=1:e<48?n=3:e<144?n=4:e<768?n=5:n=6,e<8?s=new Nn(t):t.isEven()?s=new Ii(t):s=new kn(t);var o=new Array,a=3,c=n-1,u=(1<<n)-1;if(o[1]=s.convert(this),n>1){var l=nt();for(s.sqrTo(o[1],l);a<=u;)o[a]=nt(),s.mulTo(l,o[a-2],o[a]),a+=2}var f=r.t-1,d,h=!0,p=nt(),m;for(e=ca(r.data[f])-1;f>=0;){for(e>=c?d=r.data[f]>>e-c&u:(d=(r.data[f]&(1<<e+1)-1)<<c-e,f>0&&(d|=r.data[f-1]>>this.DB+e-c)),a=n;!(d&1);)d>>=1,--a;if((e-=a)<0&&(e+=this.DB,--f),h)o[d].copyTo(i),h=!1;else{for(;a>1;)s.sqrTo(i,p),s.sqrTo(p,i),a-=2;a>0?s.sqrTo(i,p):(m=i,i=p,p=m),s.mulTo(p,o[d],i)}for(;f>=0&&!(r.data[f]&1<<e);)s.sqrTo(i,p),m=i,i=p,p=m,--e<0&&(e=this.DB-1,--f)}return s.revert(i)}function qb(r){var t=this.s<0?this.negate():this.clone(),e=r.s<0?r.negate():r.clone();if(t.compareTo(e)<0){var n=t;t=e,e=n}var i=t.getLowestSetBit(),s=e.getLowestSetBit();if(s<0)return t;for(i<s&&(s=i),s>0&&(t.rShiftTo(s,t),e.rShiftTo(s,e));t.signum()>0;)(i=t.getLowestSetBit())>0&&t.rShiftTo(i,t),(i=e.getLowestSetBit())>0&&e.rShiftTo(i,e),t.compareTo(e)>=0?(t.subTo(e,t),t.rShiftTo(1,t)):(e.subTo(t,e),e.rShiftTo(1,e));return s>0&&e.lShiftTo(s,e),e}function $b(r){if(r<=0)return 0;var t=this.DV%r,e=this.s<0?r-1:0;if(this.t>0)if(t==0)e=this.data[0]%r;else for(var n=this.t-1;n>=0;--n)e=(t*e+this.data[n])%r;return e}function zb(r){var t=r.isEven();if(this.isEven()&&t||r.signum()==0)return S.ZERO;for(var e=r.clone(),n=this.clone(),i=Jr(1),s=Jr(0),o=Jr(0),a=Jr(1);e.signum()!=0;){for(;e.isEven();)e.rShiftTo(1,e),t?((!i.isEven()||!s.isEven())&&(i.addTo(this,i),s.subTo(r,s)),i.rShiftTo(1,i)):s.isEven()||s.subTo(r,s),s.rShiftTo(1,s);for(;n.isEven();)n.rShiftTo(1,n),t?((!o.isEven()||!a.isEven())&&(o.addTo(this,o),a.subTo(r,a)),o.rShiftTo(1,o)):a.isEven()||a.subTo(r,a),a.rShiftTo(1,a);e.compareTo(n)>=0?(e.subTo(n,e),t&&i.subTo(o,i),s.subTo(a,s)):(n.subTo(e,n),t&&o.subTo(i,o),a.subTo(s,a))}if(n.compareTo(S.ONE)!=0)return S.ZERO;if(a.compareTo(r)>=0)return a.subtract(r);if(a.signum()<0)a.addTo(r,a);else return a;return a.signum()<0?a.add(r):a}var Ve=[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],Hb=(1<<26)/Ve[Ve.length-1];function Gb(r){var t,e=this.abs();if(e.t==1&&e.data[0]<=Ve[Ve.length-1]){for(t=0;t<Ve.length;++t)if(e.data[0]==Ve[t])return!0;return!1}if(e.isEven())return!1;for(t=1;t<Ve.length;){for(var n=Ve[t],i=t+1;i<Ve.length&&n<Hb;)n*=Ve[i++];for(n=e.modInt(n);t<i;)if(n%Ve[t++]==0)return!1}return e.millerRabin(r)}function Yb(r){var t=this.subtract(S.ONE),e=t.getLowestSetBit();if(e<=0)return!1;for(var n=t.shiftRight(e),i=Wb(),s,o=0;o<r;++o){do s=new S(this.bitLength(),i);while(s.compareTo(S.ONE)<=0||s.compareTo(t)>=0);var a=s.modPow(n,this);if(a.compareTo(S.ONE)!=0&&a.compareTo(t)!=0){for(var c=1;c++<e&&a.compareTo(t)!=0;)if(a=a.modPowInt(2,this),a.compareTo(S.ONE)==0)return!1;if(a.compareTo(t)!=0)return!1}}return!0}function Wb(){return{nextBytes:function(r){for(var t=0;t<r.length;++t)r[t]=Math.floor(Math.random()*256)}}}S.prototype.chunkSize=Q2;S.prototype.toRadix=Z2;S.prototype.fromRadix=J2;S.prototype.fromNumber=j2;S.prototype.bitwiseTo=ib;S.prototype.changeBit=wb;S.prototype.addTo=bb;S.prototype.dMultiply=Cb;S.prototype.dAddOffset=Bb;S.prototype.multiplyLowerTo=Nb;S.prototype.multiplyUpperTo=kb;S.prototype.modInt=$b;S.prototype.millerRabin=Yb;S.prototype.clone=H2;S.prototype.intValue=G2;S.prototype.byteValue=Y2;S.prototype.shortValue=W2;S.prototype.signum=X2;S.prototype.toByteArray=tb;S.prototype.equals=eb;S.prototype.min=rb;S.prototype.max=nb;S.prototype.and=ob;S.prototype.or=ab;S.prototype.xor=cb;S.prototype.andNot=ub;S.prototype.not=lb;S.prototype.shiftLeft=fb;S.prototype.shiftRight=hb;S.prototype.getLowestSetBit=pb;S.prototype.bitCount=yb;S.prototype.testBit=gb;S.prototype.setBit=Eb;S.prototype.clearBit=xb;S.prototype.flipBit=vb;S.prototype.add=_b;S.prototype.subtract=Sb;S.prototype.multiply=Ab;S.prototype.divide=Rb;S.prototype.remainder=Ib;S.prototype.divideAndRemainder=Tb;S.prototype.modPow=Vb;S.prototype.modInverse=zb;S.prototype.pow=Pb;S.prototype.gcd=qb;S.prototype.isProbablePrime=Gb});var Im=I((P4,Rm)=>{var cr=ut();Pn();Kt();var Sm=Rm.exports=cr.sha1=cr.sha1||{};cr.md.sha1=cr.md.algorithms.sha1=Sm;Sm.create=function(){Am||Qb();var r=null,t=cr.util.createBuffer(),e=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 i=n.messageLengthSize/4,s=0;s<i;++s)n.fullMessageLength.push(0);return t=cr.util.createBuffer(),r={h0:1732584193,h1:4023233417,h2:2562383102,h3:271733878,h4:3285377520},n},n.start(),n.update=function(i,s){s==="utf8"&&(i=cr.util.encodeUtf8(i));var o=i.length;n.messageLength+=o,o=[o/4294967296>>>0,o>>>0];for(var a=n.fullMessageLength.length-1;a>=0;--a)n.fullMessageLength[a]+=o[1],o[1]=o[0]+(n.fullMessageLength[a]/4294967296>>>0),n.fullMessageLength[a]=n.fullMessageLength[a]>>>0,o[0]=o[1]/4294967296>>>0;return t.putBytes(i),_m(r,e,t),(t.read>2048||t.length()===0)&&t.compact(),n},n.digest=function(){var i=cr.util.createBuffer();i.putBytes(t.bytes());var s=n.fullMessageLength[n.fullMessageLength.length-1]+n.messageLengthSize,o=s&n.blockLength-1;i.putBytes(vl.substr(0,n.blockLength-o));for(var a,c,u=n.fullMessageLength[0]*8,l=0;l<n.fullMessageLength.length-1;++l)a=n.fullMessageLength[l+1]*8,c=a/4294967296>>>0,u+=c,i.putInt32(u>>>0),u=a>>>0;i.putInt32(u);var f={h0:r.h0,h1:r.h1,h2:r.h2,h3:r.h3,h4:r.h4};_m(f,e,i);var d=cr.util.createBuffer();return d.putInt32(f.h0),d.putInt32(f.h1),d.putInt32(f.h2),d.putInt32(f.h3),d.putInt32(f.h4),d},n};var vl=null,Am=!1;function Qb(){vl=String.fromCharCode(128),vl+=cr.util.fillString(String.fromCharCode(0),64),Am=!0}function _m(r,t,e){for(var n,i,s,o,a,c,u,l,f=e.length();f>=64;){for(i=r.h0,s=r.h1,o=r.h2,a=r.h3,c=r.h4,l=0;l<16;++l)n=e.getInt32(),t[l]=n,u=a^s&(o^a),n=(i<<5|i>>>27)+u+c+1518500249+n,c=a,a=o,o=(s<<30|s>>>2)>>>0,s=i,i=n;for(;l<20;++l)n=t[l-3]^t[l-8]^t[l-14]^t[l-16],n=n<<1|n>>>31,t[l]=n,u=a^s&(o^a),n=(i<<5|i>>>27)+u+c+1518500249+n,c=a,a=o,o=(s<<30|s>>>2)>>>0,s=i,i=n;for(;l<32;++l)n=t[l-3]^t[l-8]^t[l-14]^t[l-16],n=n<<1|n>>>31,t[l]=n,u=s^o^a,n=(i<<5|i>>>27)+u+c+1859775393+n,c=a,a=o,o=(s<<30|s>>>2)>>>0,s=i,i=n;for(;l<40;++l)n=t[l-6]^t[l-16]^t[l-28]^t[l-32],n=n<<2|n>>>30,t[l]=n,u=s^o^a,n=(i<<5|i>>>27)+u+c+1859775393+n,c=a,a=o,o=(s<<30|s>>>2)>>>0,s=i,i=n;for(;l<60;++l)n=t[l-6]^t[l-16]^t[l-28]^t[l-32],n=n<<2|n>>>30,t[l]=n,u=s&o|a&(s^o),n=(i<<5|i>>>27)+u+c+2400959708+n,c=a,a=o,o=(s<<30|s>>>2)>>>0,s=i,i=n;for(;l<80;++l)n=t[l-6]^t[l-16]^t[l-28]^t[l-32],n=n<<2|n>>>30,t[l]=n,u=s^o^a,n=(i<<5|i>>>27)+u+c+3395469782+n,c=a,a=o,o=(s<<30|s>>>2)>>>0,s=i,i=n;r.h0=r.h0+i|0,r.h1=r.h1+s|0,r.h2=r.h2+o|0,r.h3=r.h3+a|0,r.h4=r.h4+c|0,f-=64}}});var Bm=I((N4,Cm)=>{var ur=ut();Kt();ds();Im();var Tm=Cm.exports=ur.pkcs1=ur.pkcs1||{};Tm.encode_rsa_oaep=function(r,t,e){var n,i,s,o;typeof e=="string"?(n=e,i=arguments[3]||void 0,s=arguments[4]||void 0):e&&(n=e.label||void 0,i=e.seed||void 0,s=e.md||void 0,e.mgf1&&e.mgf1.md&&(o=e.mgf1.md)),s?s.start():s=ur.md.sha1.create(),o||(o=s);var a=Math.ceil(r.n.bitLength()/8),c=a-2*s.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=""),s.update(n,"raw");for(var l=s.digest(),f="",d=c-t.length,h=0;h<d;h++)f+="\0";var p=l.getBytes()+f+""+t;if(!i)i=ur.random.getBytes(s.digestLength);else if(i.length!==s.digestLength){var u=new Error("Invalid RSAES-OAEP seed. The seed length must match the digest length.");throw u.seedLength=i.length,u.digestLength=s.digestLength,u}var m=la(i,a-s.digestLength-1,o),y=ur.util.xorBytes(p,m,p.length),g=la(y,s.digestLength,o),E=ur.util.xorBytes(i,g,i.length);return"\0"+E+y};Tm.decode_rsa_oaep=function(r,t,e){var n,i,s;typeof e=="string"?(n=e,i=arguments[3]||void 0):e&&(n=e.label||void 0,i=e.md||void 0,e.mgf1&&e.mgf1.md&&(s=e.mgf1.md));var o=Math.ceil(r.n.bitLength()/8);if(t.length!==o){var y=new Error("RSAES-OAEP encoded message length is invalid.");throw y.length=t.length,y.expectedLength=o,y}if(i===void 0?i=ur.md.sha1.create():i.start(),s||(s=i),o<2*i.digestLength+2)throw new Error("RSAES-OAEP key is too short for the hash function.");n||(n=""),i.update(n,"raw");for(var a=i.digest().getBytes(),c=t.charAt(0),u=t.substring(1,i.digestLength+1),l=t.substring(1+i.digestLength),f=la(l,i.digestLength,s),d=ur.util.xorBytes(u,f,u.length),h=la(d,o-i.digestLength-1,s),p=ur.util.xorBytes(l,h,l.length),m=p.substring(0,i.digestLength),y=c!=="\0",g=0;g<i.digestLength;++g)y|=a.charAt(g)!==m.charAt(g);for(var E=1,b=i.digestLength,O=i.digestLength;O<p.length;O++){var B=p.charCodeAt(O),D=B&1^1,Q=E?65534:0;y|=B&Q,E=E&D,b+=E}if(y||p.charCodeAt(b)!==1)throw new Error("Invalid RSAES-OAEP padding.");return p.substring(b+1)};function la(r,t,e){e||(e=ur.md.sha1.create());for(var n="",i=Math.ceil(t/e.digestLength),s=0;s<i;++s){var o=String.fromCharCode(s>>24&255,s>>16&255,s>>8&255,s&255);e.start(),e.update(r+o),n+=e.digest().getBytes()}return n.substring(0,t)}});var Dm=I((k4,bl)=>{var jr=ut();Kt();ua();ds();(function(){if(jr.prime){bl.exports=jr.prime;return}var r=bl.exports=jr.prime=jr.prime||{},t=jr.jsbn.BigInteger,e=[6,4,2,4,2,4,6,2],n=new t(null);n.fromInt(30);var i=function(f,d){return f|d};r.generateProbablePrime=function(f,d,h){typeof d=="function"&&(h=d,d={}),d=d||{};var p=d.algorithm||"PRIMEINC";typeof p=="string"&&(p={name:p}),p.options=p.options||{};var m=d.prng||jr.random,y={nextBytes:function(g){for(var E=m.getBytesSync(g.length),b=0;b<g.length;++b)g[b]=E.charCodeAt(b)}};if(p.name==="PRIMEINC")return s(f,y,p.options,h);throw new Error("Invalid prime generation algorithm: "+p.name)};function s(f,d,h,p){return"workers"in h?c(f,d,h,p):o(f,d,h,p)}function o(f,d,h,p){var m=u(f,d),y=0,g=l(m.bitLength());"millerRabinTests"in h&&(g=h.millerRabinTests);var E=10;"maxBlockTime"in h&&(E=h.maxBlockTime),a(m,f,d,y,g,E,p)}function a(f,d,h,p,m,y,g){var E=+new Date;do{if(f.bitLength()>d&&(f=u(d,h)),f.isProbablePrime(m))return g(null,f);f.dAddOffset(e[p++%8],0)}while(y<0||+new Date-E<y);jr.util.setImmediate(function(){a(f,d,h,p,m,y,g)})}function c(f,d,h,p){if(typeof Worker>"u")return o(f,d,h,p);var m=u(f,d),y=h.workers,g=h.workLoad||100,E=g*30/8,b=h.workerScript||"forge/prime.worker.js";if(y===-1)return jr.util.estimateCores(function(B,D){B&&(D=2),y=D-1,O()});O();function O(){y=Math.max(1,y);for(var B=[],D=0;D<y;++D)B[D]=new Worker(b);for(var Q=y,D=0;D<y;++D)B[D].addEventListener("message",Wt);var Z=!1;function Wt(Oe){if(!Z){--Q;var pe=Oe.data;if(pe.found){for(var oe=0;oe<B.length;++oe)B[oe].terminate();return Z=!0,p(null,new t(pe.prime,16))}m.bitLength()>f&&(m=u(f,d));var jn=m.toString(16);Oe.target.postMessage({hex:jn,workLoad:g}),m.dAddOffset(E,0)}}}}function u(f,d){var h=new t(f,d),p=f-1;return h.testBit(p)||h.bitwiseTo(t.ONE.shiftLeft(p),i,h),h.dAddOffset(31-h.mod(n).byteValue(),0),h}function l(f){return f<=100?27:f<=150?18:f<=200?15:f<=250?12:f<=300?9:f<=350?8:f<=400?7:f<=500?6:f<=600?5:f<=800?4:f<=1250?3:2}})()});var ha=I((O4,Um)=>{var K=ut();hs();ua();Xo();Bm();Dm();ds();Kt();typeof j>"u"&&(j=K.jsbn.BigInteger);var j,_l=K.util.isNodejs?Tn():null,x=K.asn1,De=K.util;K.pki=K.pki||{};Um.exports=K.pki.rsa=K.rsa=K.rsa||{};var q=K.pki,Xb=[6,4,2,4,2,4,6,2],Zb={name:"PrivateKeyInfo",tagClass:x.Class.UNIVERSAL,type:x.Type.SEQUENCE,constructed:!0,value:[{name:"PrivateKeyInfo.version",tagClass:x.Class.UNIVERSAL,type:x.Type.INTEGER,constructed:!1,capture:"privateKeyVersion"},{name:"PrivateKeyInfo.privateKeyAlgorithm",tagClass:x.Class.UNIVERSAL,type:x.Type.SEQUENCE,constructed:!0,value:[{name:"AlgorithmIdentifier.algorithm",tagClass:x.Class.UNIVERSAL,type:x.Type.OID,constructed:!1,capture:"privateKeyOid"}]},{name:"PrivateKeyInfo",tagClass:x.Class.UNIVERSAL,type:x.Type.OCTETSTRING,constructed:!1,capture:"privateKey"}]},Jb={name:"RSAPrivateKey",tagClass:x.Class.UNIVERSAL,type:x.Type.SEQUENCE,constructed:!0,value:[{name:"RSAPrivateKey.version",tagClass:x.Class.UNIVERSAL,type:x.Type.INTEGER,constructed:!1,capture:"privateKeyVersion"},{name:"RSAPrivateKey.modulus",tagClass:x.Class.UNIVERSAL,type:x.Type.INTEGER,constructed:!1,capture:"privateKeyModulus"},{name:"RSAPrivateKey.publicExponent",tagClass:x.Class.UNIVERSAL,type:x.Type.INTEGER,constructed:!1,capture:"privateKeyPublicExponent"},{name:"RSAPrivateKey.privateExponent",tagClass:x.Class.UNIVERSAL,type:x.Type.INTEGER,constructed:!1,capture:"privateKeyPrivateExponent"},{name:"RSAPrivateKey.prime1",tagClass:x.Class.UNIVERSAL,type:x.Type.INTEGER,constructed:!1,capture:"privateKeyPrime1"},{name:"RSAPrivateKey.prime2",tagClass:x.Class.UNIVERSAL,type:x.Type.INTEGER,constructed:!1,capture:"privateKeyPrime2"},{name:"RSAPrivateKey.exponent1",tagClass:x.Class.UNIVERSAL,type:x.Type.INTEGER,constructed:!1,capture:"privateKeyExponent1"},{name:"RSAPrivateKey.exponent2",tagClass:x.Class.UNIVERSAL,type:x.Type.INTEGER,constructed:!1,capture:"privateKeyExponent2"},{name:"RSAPrivateKey.coefficient",tagClass:x.Class.UNIVERSAL,type:x.Type.INTEGER,constructed:!1,capture:"privateKeyCoefficient"}]},jb={name:"RSAPublicKey",tagClass:x.Class.UNIVERSAL,type:x.Type.SEQUENCE,constructed:!0,value:[{name:"RSAPublicKey.modulus",tagClass:x.Class.UNIVERSAL,type:x.Type.INTEGER,constructed:!1,capture:"publicKeyModulus"},{name:"RSAPublicKey.exponent",tagClass:x.Class.UNIVERSAL,type:x.Type.INTEGER,constructed:!1,capture:"publicKeyExponent"}]},t_=K.pki.rsa.publicKeyValidator={name:"SubjectPublicKeyInfo",tagClass:x.Class.UNIVERSAL,type:x.Type.SEQUENCE,constructed:!0,captureAsn1:"subjectPublicKeyInfo",value:[{name:"SubjectPublicKeyInfo.AlgorithmIdentifier",tagClass:x.Class.UNIVERSAL,type:x.Type.SEQUENCE,constructed:!0,value:[{name:"AlgorithmIdentifier.algorithm",tagClass:x.Class.UNIVERSAL,type:x.Type.OID,constructed:!1,capture:"publicKeyOid"}]},{name:"SubjectPublicKeyInfo.subjectPublicKey",tagClass:x.Class.UNIVERSAL,type:x.Type.BITSTRING,constructed:!1,value:[{name:"SubjectPublicKeyInfo.subjectPublicKey.RSAPublicKey",tagClass:x.Class.UNIVERSAL,type:x.Type.SEQUENCE,constructed:!0,optional:!0,captureAsn1:"rsaPublicKey"}]}]},e_={name:"DigestInfo",tagClass:x.Class.UNIVERSAL,type:x.Type.SEQUENCE,constructed:!0,value:[{name:"DigestInfo.DigestAlgorithm",tagClass:x.Class.UNIVERSAL,type:x.Type.SEQUENCE,constructed:!0,value:[{name:"DigestInfo.DigestAlgorithm.algorithmIdentifier",tagClass:x.Class.UNIVERSAL,type:x.Type.OID,constructed:!1,capture:"algorithmIdentifier"},{name:"DigestInfo.DigestAlgorithm.parameters",tagClass:x.Class.UNIVERSAL,type:x.Type.NULL,capture:"parameters",optional:!0,constructed:!1}]},{name:"DigestInfo.digest",tagClass:x.Class.UNIVERSAL,type:x.Type.OCTETSTRING,constructed:!1,capture:"digest"}]},r_=function(r){var t;if(r.algorithm in q.oids)t=q.oids[r.algorithm];else{var e=new Error("Unknown message digest algorithm.");throw e.algorithm=r.algorithm,e}var n=x.oidToDer(t).getBytes(),i=x.create(x.Class.UNIVERSAL,x.Type.SEQUENCE,!0,[]),s=x.create(x.Class.UNIVERSAL,x.Type.SEQUENCE,!0,[]);s.value.push(x.create(x.Class.UNIVERSAL,x.Type.OID,!1,n)),s.value.push(x.create(x.Class.UNIVERSAL,x.Type.NULL,!1,""));var o=x.create(x.Class.UNIVERSAL,x.Type.OCTETSTRING,!1,r.digest().getBytes());return i.value.push(s),i.value.push(o),x.toDer(i).getBytes()},Om=function(r,t,e){if(e)return r.modPow(t.e,t.n);if(!t.p||!t.q)return r.modPow(t.d,t.n);t.dP||(t.dP=t.d.mod(t.p.subtract(j.ONE))),t.dQ||(t.dQ=t.d.mod(t.q.subtract(j.ONE))),t.qInv||(t.qInv=t.q.modInverse(t.p));var n;do n=new j(K.util.bytesToHex(K.random.getBytes(t.n.bitLength()/8)),16);while(n.compareTo(t.n)>=0||!n.gcd(t.n).equals(j.ONE));r=r.multiply(n.modPow(t.e,t.n)).mod(t.n);for(var i=r.mod(t.p).modPow(t.dP,t.p),s=r.mod(t.q).modPow(t.dQ,t.q);i.compareTo(s)<0;)i=i.add(t.p);var o=i.subtract(s).multiply(t.qInv).mod(t.p).multiply(t.q).add(s);return o=o.multiply(n.modInverse(t.n)).mod(t.n),o};q.rsa.encrypt=function(r,t,e){var n=e,i,s=Math.ceil(t.n.bitLength()/8);e!==!1&&e!==!0?(n=e===2,i=Mm(r,t,e)):(i=K.util.createBuffer(),i.putBytes(r));for(var o=new j(i.toHex(),16),a=Om(o,t,n),c=a.toString(16),u=K.util.createBuffer(),l=s-Math.ceil(c.length/2);l>0;)u.putByte(0),--l;return u.putBytes(K.util.hexToBytes(c)),u.getBytes()};q.rsa.decrypt=function(r,t,e,n){var i=Math.ceil(t.n.bitLength()/8);if(r.length!==i){var s=new Error("Encrypted message length is invalid.");throw s.length=r.length,s.expected=i,s}var o=new j(K.util.createBuffer(r).toHex(),16);if(o.compareTo(t.n)>=0)throw new Error("Encrypted message is invalid.");for(var a=Om(o,t,e),c=a.toString(16),u=K.util.createBuffer(),l=i-Math.ceil(c.length/2);l>0;)u.putByte(0),--l;return u.putBytes(K.util.hexToBytes(c)),n!==!1?fa(u.getBytes(),t,e):u.getBytes()};q.rsa.createKeyPairGenerationState=function(r,t,e){typeof r=="string"&&(r=parseInt(r,10)),r=r||2048,e=e||{};var n=e.prng||K.random,i={nextBytes:function(a){for(var c=n.getBytesSync(a.length),u=0;u<a.length;++u)a[u]=c.charCodeAt(u)}},s=e.algorithm||"PRIMEINC",o;if(s==="PRIMEINC")o={algorithm:s,state:0,bits:r,rng:i,eInt:t||65537,e:new j(null),p:null,q:null,qBits:r>>1,pBits:r-(r>>1),pqState:0,num:null,keys:null},o.e.fromInt(o.eInt);else throw new Error("Invalid key generation algorithm: "+s);return o};q.rsa.stepKeyPairGenerationState=function(r,t){"algorithm"in r||(r.algorithm="PRIMEINC");var e=new j(null);e.fromInt(30);for(var n=0,i=function(f,d){return f|d},s=+new Date,o,a=0;r.keys===null&&(t<=0||a<t);){if(r.state===0){var c=r.p===null?r.pBits:r.qBits,u=c-1;r.pqState===0?(r.num=new j(c,r.rng),r.num.testBit(u)||r.num.bitwiseTo(j.ONE.shiftLeft(u),i,r.num),r.num.dAddOffset(31-r.num.mod(e).byteValue(),0),n=0,++r.pqState):r.pqState===1?r.num.bitLength()>c?r.pqState=0:r.num.isProbablePrime(i_(r.num.bitLength()))?++r.pqState:r.num.dAddOffset(Xb[n++%8],0):r.pqState===2?r.pqState=r.num.subtract(j.ONE).gcd(r.e).compareTo(j.ONE)===0?3:0:r.pqState===3&&(r.pqState=0,r.p===null?r.p=r.num:r.q=r.num,r.p!==null&&r.q!==null&&++r.state,r.num=null)}else if(r.state===1)r.p.compareTo(r.q)<0&&(r.num=r.p,r.p=r.q,r.q=r.num),++r.state;else if(r.state===2)r.p1=r.p.subtract(j.ONE),r.q1=r.q.subtract(j.ONE),r.phi=r.p1.multiply(r.q1),++r.state;else if(r.state===3)r.phi.gcd(r.e).compareTo(j.ONE)===0?++r.state:(r.p=null,r.q=null,r.state=0);else if(r.state===4)r.n=r.p.multiply(r.q),r.n.bitLength()===r.bits?++r.state:(r.q=null,r.state=0);else if(r.state===5){var l=r.e.modInverse(r.phi);r.keys={privateKey:q.rsa.setPrivateKey(r.n,r.e,l,r.p,r.q,l.mod(r.p1),l.mod(r.q1),r.q.modInverse(r.p)),publicKey:q.rsa.setPublicKey(r.n,r.e)}}o=+new Date,a+=o-s,s=o}return r.keys!==null};q.rsa.generateKeyPair=function(r,t,e,n){if(arguments.length===1?typeof r=="object"?(e=r,r=void 0):typeof r=="function"&&(n=r,r=void 0):arguments.length===2?typeof r=="number"?typeof t=="function"?(n=t,t=void 0):typeof t!="number"&&(e=t,t=void 0):(e=r,n=t,r=void 0,t=void 0):arguments.length===3&&(typeof t=="number"?typeof e=="function"&&(n=e,e=void 0):(n=e,e=t,t=void 0)),e=e||{},r===void 0&&(r=e.bits||2048),t===void 0&&(t=e.e||65537),!K.options.usePureJavaScript&&!e.prng&&r>=256&&r<=16384&&(t===65537||t===3)){if(n){if(Lm("generateKeyPair"))return _l.generateKeyPair("rsa",{modulusLength:r,publicExponent:t,publicKeyEncoding:{type:"spki",format:"pem"},privateKeyEncoding:{type:"pkcs8",format:"pem"}},function(a,c,u){if(a)return n(a);n(null,{privateKey:q.privateKeyFromPem(u),publicKey:q.publicKeyFromPem(c)})});if(Pm("generateKey")&&Pm("exportKey"))return De.globalScope.crypto.subtle.generateKey({name:"RSASSA-PKCS1-v1_5",modulusLength:r,publicExponent:km(t),hash:{name:"SHA-256"}},!0,["sign","verify"]).then(function(a){return De.globalScope.crypto.subtle.exportKey("pkcs8",a.privateKey)}).then(void 0,function(a){n(a)}).then(function(a){if(a){var c=q.privateKeyFromAsn1(x.fromDer(K.util.createBuffer(a)));n(null,{privateKey:c,publicKey:q.setRsaPublicKey(c.n,c.e)})}});if(Nm("generateKey")&&Nm("exportKey")){var i=De.globalScope.msCrypto.subtle.generateKey({name:"RSASSA-PKCS1-v1_5",modulusLength:r,publicExponent:km(t),hash:{name:"SHA-256"}},!0,["sign","verify"]);i.oncomplete=function(a){var c=a.target.result,u=De.globalScope.msCrypto.subtle.exportKey("pkcs8",c.privateKey);u.oncomplete=function(l){var f=l.target.result,d=q.privateKeyFromAsn1(x.fromDer(K.util.createBuffer(f)));n(null,{privateKey:d,publicKey:q.setRsaPublicKey(d.n,d.e)})},u.onerror=function(l){n(l)}},i.onerror=function(a){n(a)};return}}else if(Lm("generateKeyPairSync")){var s=_l.generateKeyPairSync("rsa",{modulusLength:r,publicExponent:t,publicKeyEncoding:{type:"spki",format:"pem"},privateKeyEncoding:{type:"pkcs8",format:"pem"}});return{privateKey:q.privateKeyFromPem(s.privateKey),publicKey:q.publicKeyFromPem(s.publicKey)}}}var o=q.rsa.createKeyPairGenerationState(r,t,e);if(!n)return q.rsa.stepKeyPairGenerationState(o,0),o.keys;n_(o,e,n)};q.setRsaPublicKey=q.rsa.setPublicKey=function(r,t){var e={n:r,e:t};return e.encrypt=function(n,i,s){if(typeof i=="string"?i=i.toUpperCase():i===void 0&&(i="RSAES-PKCS1-V1_5"),i==="RSAES-PKCS1-V1_5")i={encode:function(a,c,u){return Mm(a,c,2).getBytes()}};else if(i==="RSA-OAEP"||i==="RSAES-OAEP")i={encode:function(a,c){return K.pkcs1.encode_rsa_oaep(c,a,s)}};else if(["RAW","NONE","NULL",null].indexOf(i)!==-1)i={encode:function(a){return a}};else if(typeof i=="string")throw new Error('Unsupported encryption scheme: "'+i+'".');var o=i.encode(n,e,!0);return q.rsa.encrypt(o,e,!0)},e.verify=function(n,i,s,o){typeof s=="string"?s=s.toUpperCase():s===void 0&&(s="RSASSA-PKCS1-V1_5"),o===void 0&&(o={_parseAllDigestBytes:!0}),"_parseAllDigestBytes"in o||(o._parseAllDigestBytes=!0),s==="RSASSA-PKCS1-V1_5"?s={verify:function(c,u){u=fa(u,e,!0);var l=x.fromDer(u,{parseAllBytes:o._parseAllDigestBytes}),f={},d=[];if(!x.validate(l,e_,f,d)){var h=new Error("ASN.1 object does not contain a valid RSASSA-PKCS1-v1_5 DigestInfo value.");throw h.errors=d,h}var p=x.derToOid(f.algorithmIdentifier);if(!(p===K.oids.md2||p===K.oids.md5||p===K.oids.sha1||p===K.oids.sha224||p===K.oids.sha256||p===K.oids.sha384||p===K.oids.sha512||p===K.oids["sha512-224"]||p===K.oids["sha512-256"])){var h=new Error("Unknown RSASSA-PKCS1-v1_5 DigestAlgorithm identifier.");throw h.oid=p,h}if((p===K.oids.md2||p===K.oids.md5)&&!("parameters"in f))throw new Error("ASN.1 object does not contain a valid RSASSA-PKCS1-v1_5 DigestInfo value. Missing algorithm identifer NULL parameters.");return c===f.digest}}:(s==="NONE"||s==="NULL"||s===null)&&(s={verify:function(c,u){return u=fa(u,e,!0),c===u}});var a=q.rsa.decrypt(i,e,!0,!1);return s.verify(n,a,e.n.bitLength())},e};q.setRsaPrivateKey=q.rsa.setPrivateKey=function(r,t,e,n,i,s,o,a){var c={n:r,e:t,d:e,p:n,q:i,dP:s,dQ:o,qInv:a};return c.decrypt=function(u,l,f){typeof l=="string"?l=l.toUpperCase():l===void 0&&(l="RSAES-PKCS1-V1_5");var d=q.rsa.decrypt(u,c,!1,!1);if(l==="RSAES-PKCS1-V1_5")l={decode:fa};else if(l==="RSA-OAEP"||l==="RSAES-OAEP")l={decode:function(h,p){return K.pkcs1.decode_rsa_oaep(p,h,f)}};else if(["RAW","NONE","NULL",null].indexOf(l)!==-1)l={decode:function(h){return h}};else throw new Error('Unsupported encryption scheme: "'+l+'".');return l.decode(d,c,!1)},c.sign=function(u,l){var f=!1;typeof l=="string"&&(l=l.toUpperCase()),l===void 0||l==="RSASSA-PKCS1-V1_5"?(l={encode:r_},f=1):(l==="NONE"||l==="NULL"||l===null)&&(l={encode:function(){return u}},f=1);var d=l.encode(u,c.n.bitLength());return q.rsa.encrypt(d,c,f)},c};q.wrapRsaPrivateKey=function(r){return x.create(x.Class.UNIVERSAL,x.Type.SEQUENCE,!0,[x.create(x.Class.UNIVERSAL,x.Type.INTEGER,!1,x.integerToDer(0).getBytes()),x.create(x.Class.UNIVERSAL,x.Type.SEQUENCE,!0,[x.create(x.Class.UNIVERSAL,x.Type.OID,!1,x.oidToDer(q.oids.rsaEncryption).getBytes()),x.create(x.Class.UNIVERSAL,x.Type.NULL,!1,"")]),x.create(x.Class.UNIVERSAL,x.Type.OCTETSTRING,!1,x.toDer(r).getBytes())])};q.privateKeyFromAsn1=function(r){var t={},e=[];if(x.validate(r,Zb,t,e)&&(r=x.fromDer(K.util.createBuffer(t.privateKey))),t={},e=[],!x.validate(r,Jb,t,e)){var n=new Error("Cannot read private key. ASN.1 object does not contain an RSAPrivateKey.");throw n.errors=e,n}var i,s,o,a,c,u,l,f;return i=K.util.createBuffer(t.privateKeyModulus).toHex(),s=K.util.createBuffer(t.privateKeyPublicExponent).toHex(),o=K.util.createBuffer(t.privateKeyPrivateExponent).toHex(),a=K.util.createBuffer(t.privateKeyPrime1).toHex(),c=K.util.createBuffer(t.privateKeyPrime2).toHex(),u=K.util.createBuffer(t.privateKeyExponent1).toHex(),l=K.util.createBuffer(t.privateKeyExponent2).toHex(),f=K.util.createBuffer(t.privateKeyCoefficient).toHex(),q.setRsaPrivateKey(new j(i,16),new j(s,16),new j(o,16),new j(a,16),new j(c,16),new j(u,16),new j(l,16),new j(f,16))};q.privateKeyToAsn1=q.privateKeyToRSAPrivateKey=function(r){return x.create(x.Class.UNIVERSAL,x.Type.SEQUENCE,!0,[x.create(x.Class.UNIVERSAL,x.Type.INTEGER,!1,x.integerToDer(0).getBytes()),x.create(x.Class.UNIVERSAL,x.Type.INTEGER,!1,lr(r.n)),x.create(x.Class.UNIVERSAL,x.Type.INTEGER,!1,lr(r.e)),x.create(x.Class.UNIVERSAL,x.Type.INTEGER,!1,lr(r.d)),x.create(x.Class.UNIVERSAL,x.Type.INTEGER,!1,lr(r.p)),x.create(x.Class.UNIVERSAL,x.Type.INTEGER,!1,lr(r.q)),x.create(x.Class.UNIVERSAL,x.Type.INTEGER,!1,lr(r.dP)),x.create(x.Class.UNIVERSAL,x.Type.INTEGER,!1,lr(r.dQ)),x.create(x.Class.UNIVERSAL,x.Type.INTEGER,!1,lr(r.qInv))])};q.publicKeyFromAsn1=function(r){var t={},e=[];if(x.validate(r,t_,t,e)){var n=x.derToOid(t.publicKeyOid);if(n!==q.oids.rsaEncryption){var i=new Error("Cannot read public key. Unknown OID.");throw i.oid=n,i}r=t.rsaPublicKey}if(e=[],!x.validate(r,jb,t,e)){var i=new Error("Cannot read public key. ASN.1 object does not contain an RSAPublicKey.");throw i.errors=e,i}var s=K.util.createBuffer(t.publicKeyModulus).toHex(),o=K.util.createBuffer(t.publicKeyExponent).toHex();return q.setRsaPublicKey(new j(s,16),new j(o,16))};q.publicKeyToAsn1=q.publicKeyToSubjectPublicKeyInfo=function(r){return x.create(x.Class.UNIVERSAL,x.Type.SEQUENCE,!0,[x.create(x.Class.UNIVERSAL,x.Type.SEQUENCE,!0,[x.create(x.Class.UNIVERSAL,x.Type.OID,!1,x.oidToDer(q.oids.rsaEncryption).getBytes()),x.create(x.Class.UNIVERSAL,x.Type.NULL,!1,"")]),x.create(x.Class.UNIVERSAL,x.Type.BITSTRING,!1,[q.publicKeyToRSAPublicKey(r)])])};q.publicKeyToRSAPublicKey=function(r){return x.create(x.Class.UNIVERSAL,x.Type.SEQUENCE,!0,[x.create(x.Class.UNIVERSAL,x.Type.INTEGER,!1,lr(r.n)),x.create(x.Class.UNIVERSAL,x.Type.INTEGER,!1,lr(r.e))])};function Mm(r,t,e){var n=K.util.createBuffer(),i=Math.ceil(t.n.bitLength()/8);if(r.length>i-11){var s=new Error("Message is too long for PKCS#1 v1.5 padding.");throw s.length=r.length,s.max=i-11,s}n.putByte(0),n.putByte(e);var o=i-3-r.length,a;if(e===0||e===1){a=e===0?0:255;for(var c=0;c<o;++c)n.putByte(a)}else for(;o>0;){for(var u=0,l=K.random.getBytes(o),c=0;c<o;++c)a=l.charCodeAt(c),a===0?++u:n.putByte(a);o=u}return n.putByte(0),n.putBytes(r),n}function fa(r,t,e,n){var i=Math.ceil(t.n.bitLength()/8),s=K.util.createBuffer(r),o=s.getByte(),a=s.getByte();if(o!==0||e&&a!==0&&a!==1||!e&&a!=2||e&&a===0&&typeof n>"u")throw new Error("Encryption block is invalid.");var c=0;if(a===0){c=i-3-n;for(var u=0;u<c;++u)if(s.getByte()!==0)throw new Error("Encryption block is invalid.")}else if(a===1)for(c=0;s.length()>1;){if(s.getByte()!==255){--s.read;break}++c}else if(a===2)for(c=0;s.length()>1;){if(s.getByte()===0){--s.read;break}++c}var l=s.getByte();if(l!==0||c!==i-3-s.length())throw new Error("Encryption block is invalid.");return s.getBytes()}function n_(r,t,e){typeof t=="function"&&(e=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),i();function i(){s(r.pBits,function(a,c){if(a)return e(a);if(r.p=c,r.q!==null)return o(a,r.q);s(r.qBits,o)})}function s(a,c){K.prime.generateProbablePrime(a,n,c)}function o(a,c){if(a)return e(a);if(r.q=c,r.p.compareTo(r.q)<0){var u=r.p;r.p=r.q,r.q=u}if(r.p.subtract(j.ONE).gcd(r.e).compareTo(j.ONE)!==0){r.p=null,i();return}if(r.q.subtract(j.ONE).gcd(r.e).compareTo(j.ONE)!==0){r.q=null,s(r.qBits,o);return}if(r.p1=r.p.subtract(j.ONE),r.q1=r.q.subtract(j.ONE),r.phi=r.p1.multiply(r.q1),r.phi.gcd(r.e).compareTo(j.ONE)!==0){r.p=r.q=null,i();return}if(r.n=r.p.multiply(r.q),r.n.bitLength()!==r.bits){r.q=null,s(r.qBits,o);return}var l=r.e.modInverse(r.phi);r.keys={privateKey:q.rsa.setPrivateKey(r.n,r.e,l,r.p,r.q,l.mod(r.p1),l.mod(r.q1),r.q.modInverse(r.p)),publicKey:q.rsa.setPublicKey(r.n,r.e)},e(null,r.keys)}}function lr(r){var t=r.toString(16);t[0]>="8"&&(t="00"+t);var e=K.util.hexToBytes(t);return e.length>1&&(e.charCodeAt(0)===0&&!(e.charCodeAt(1)&128)||e.charCodeAt(0)===255&&(e.charCodeAt(1)&128)===128)?e.substr(1):e}function i_(r){return r<=100?27:r<=150?18:r<=200?15:r<=250?12:r<=300?9:r<=350?8:r<=400?7:r<=500?6:r<=600?5:r<=800?4:r<=1250?3:2}function Lm(r){return K.util.isNodejs&&typeof _l[r]=="function"}function Pm(r){return typeof De.globalScope<"u"&&typeof De.globalScope.crypto=="object"&&typeof De.globalScope.crypto.subtle=="object"&&typeof De.globalScope.crypto.subtle[r]=="function"}function Nm(r){return typeof De.globalScope<"u"&&typeof De.globalScope.msCrypto=="object"&&typeof De.globalScope.msCrypto.subtle=="object"&&typeof De.globalScope.msCrypto.subtle[r]=="function"}function km(r){for(var t=K.util.hexToBytes(r.toString(16)),e=new Uint8Array(t.length),n=0;n<t.length;++n)e[n]=t.charCodeAt(n);return e}});var zm=I((M4,$m)=>{var P=ut();ea();hs();Qp();Pn();Xo();pl();rm();ds();pm();ha();Kt();typeof Fm>"u"&&(Fm=P.jsbn.BigInteger);var Fm,v=P.asn1,H=P.pki=P.pki||{};$m.exports=H.pbe=P.pbe=P.pbe||{};var On=H.oids,s_={name:"EncryptedPrivateKeyInfo",tagClass:v.Class.UNIVERSAL,type:v.Type.SEQUENCE,constructed:!0,value:[{name:"EncryptedPrivateKeyInfo.encryptionAlgorithm",tagClass:v.Class.UNIVERSAL,type:v.Type.SEQUENCE,constructed:!0,value:[{name:"AlgorithmIdentifier.algorithm",tagClass:v.Class.UNIVERSAL,type:v.Type.OID,constructed:!1,capture:"encryptionOid"},{name:"AlgorithmIdentifier.parameters",tagClass:v.Class.UNIVERSAL,type:v.Type.SEQUENCE,constructed:!0,captureAsn1:"encryptionParams"}]},{name:"EncryptedPrivateKeyInfo.encryptedData",tagClass:v.Class.UNIVERSAL,type:v.Type.OCTETSTRING,constructed:!1,capture:"encryptedData"}]},o_={name:"PBES2Algorithms",tagClass:v.Class.UNIVERSAL,type:v.Type.SEQUENCE,constructed:!0,value:[{name:"PBES2Algorithms.keyDerivationFunc",tagClass:v.Class.UNIVERSAL,type:v.Type.SEQUENCE,constructed:!0,value:[{name:"PBES2Algorithms.keyDerivationFunc.oid",tagClass:v.Class.UNIVERSAL,type:v.Type.OID,constructed:!1,capture:"kdfOid"},{name:"PBES2Algorithms.params",tagClass:v.Class.UNIVERSAL,type:v.Type.SEQUENCE,constructed:!0,value:[{name:"PBES2Algorithms.params.salt",tagClass:v.Class.UNIVERSAL,type:v.Type.OCTETSTRING,constructed:!1,capture:"kdfSalt"},{name:"PBES2Algorithms.params.iterationCount",tagClass:v.Class.UNIVERSAL,type:v.Type.INTEGER,constructed:!1,capture:"kdfIterationCount"},{name:"PBES2Algorithms.params.keyLength",tagClass:v.Class.UNIVERSAL,type:v.Type.INTEGER,constructed:!1,optional:!0,capture:"keyLength"},{name:"PBES2Algorithms.params.prf",tagClass:v.Class.UNIVERSAL,type:v.Type.SEQUENCE,constructed:!0,optional:!0,value:[{name:"PBES2Algorithms.params.prf.algorithm",tagClass:v.Class.UNIVERSAL,type:v.Type.OID,constructed:!1,capture:"prfOid"}]}]}]},{name:"PBES2Algorithms.encryptionScheme",tagClass:v.Class.UNIVERSAL,type:v.Type.SEQUENCE,constructed:!0,value:[{name:"PBES2Algorithms.encryptionScheme.oid",tagClass:v.Class.UNIVERSAL,type:v.Type.OID,constructed:!1,capture:"encOid"},{name:"PBES2Algorithms.encryptionScheme.iv",tagClass:v.Class.UNIVERSAL,type:v.Type.OCTETSTRING,constructed:!1,capture:"encIv"}]}]},a_={name:"pkcs-12PbeParams",tagClass:v.Class.UNIVERSAL,type:v.Type.SEQUENCE,constructed:!0,value:[{name:"pkcs-12PbeParams.salt",tagClass:v.Class.UNIVERSAL,type:v.Type.OCTETSTRING,constructed:!1,capture:"salt"},{name:"pkcs-12PbeParams.iterations",tagClass:v.Class.UNIVERSAL,type:v.Type.INTEGER,constructed:!1,capture:"iterations"}]};H.encryptPrivateKeyInfo=function(r,t,e){e=e||{},e.saltSize=e.saltSize||8,e.count=e.count||2048,e.algorithm=e.algorithm||"aes128",e.prfAlgorithm=e.prfAlgorithm||"sha1";var n=P.random.getBytesSync(e.saltSize),i=e.count,s=v.integerToDer(i),o,a,c;if(e.algorithm.indexOf("aes")===0||e.algorithm==="des"){var u,l,f;switch(e.algorithm){case"aes128":o=16,u=16,l=On["aes128-CBC"],f=P.aes.createEncryptionCipher;break;case"aes192":o=24,u=16,l=On["aes192-CBC"],f=P.aes.createEncryptionCipher;break;case"aes256":o=32,u=16,l=On["aes256-CBC"],f=P.aes.createEncryptionCipher;break;case"des":o=8,u=8,l=On.desCBC,f=P.des.createEncryptionCipher;break;default:var d=new Error("Cannot encrypt private key. Unknown encryption algorithm.");throw d.algorithm=e.algorithm,d}var h="hmacWith"+e.prfAlgorithm.toUpperCase(),p=qm(h),m=P.pkcs5.pbkdf2(t,n,i,o,p),y=P.random.getBytesSync(u),g=f(m);g.start(y),g.update(v.toDer(r)),g.finish(),c=g.output.getBytes();var E=c_(n,s,o,h);a=v.create(v.Class.UNIVERSAL,v.Type.SEQUENCE,!0,[v.create(v.Class.UNIVERSAL,v.Type.OID,!1,v.oidToDer(On.pkcs5PBES2).getBytes()),v.create(v.Class.UNIVERSAL,v.Type.SEQUENCE,!0,[v.create(v.Class.UNIVERSAL,v.Type.SEQUENCE,!0,[v.create(v.Class.UNIVERSAL,v.Type.OID,!1,v.oidToDer(On.pkcs5PBKDF2).getBytes()),E]),v.create(v.Class.UNIVERSAL,v.Type.SEQUENCE,!0,[v.create(v.Class.UNIVERSAL,v.Type.OID,!1,v.oidToDer(l).getBytes()),v.create(v.Class.UNIVERSAL,v.Type.OCTETSTRING,!1,y)])])])}else if(e.algorithm==="3des"){o=24;var b=new P.util.ByteBuffer(n),m=H.pbe.generatePkcs12Key(t,b,1,i,o),y=H.pbe.generatePkcs12Key(t,b,2,i,o),g=P.des.createEncryptionCipher(m);g.start(y),g.update(v.toDer(r)),g.finish(),c=g.output.getBytes(),a=v.create(v.Class.UNIVERSAL,v.Type.SEQUENCE,!0,[v.create(v.Class.UNIVERSAL,v.Type.OID,!1,v.oidToDer(On["pbeWithSHAAnd3-KeyTripleDES-CBC"]).getBytes()),v.create(v.Class.UNIVERSAL,v.Type.SEQUENCE,!0,[v.create(v.Class.UNIVERSAL,v.Type.OCTETSTRING,!1,n),v.create(v.Class.UNIVERSAL,v.Type.INTEGER,!1,s.getBytes())])])}else{var d=new Error("Cannot encrypt private key. Unknown encryption algorithm.");throw d.algorithm=e.algorithm,d}var O=v.create(v.Class.UNIVERSAL,v.Type.SEQUENCE,!0,[a,v.create(v.Class.UNIVERSAL,v.Type.OCTETSTRING,!1,c)]);return O};H.decryptPrivateKeyInfo=function(r,t){var e=null,n={},i=[];if(!v.validate(r,s_,n,i)){var s=new Error("Cannot read encrypted private key. ASN.1 object is not a supported EncryptedPrivateKeyInfo.");throw s.errors=i,s}var o=v.derToOid(n.encryptionOid),a=H.pbe.getCipher(o,n.encryptionParams,t),c=P.util.createBuffer(n.encryptedData);return a.update(c),a.finish()&&(e=v.fromDer(a.output)),e};H.encryptedPrivateKeyToPem=function(r,t){var e={type:"ENCRYPTED PRIVATE KEY",body:v.toDer(r).getBytes()};return P.pem.encode(e,{maxline:t})};H.encryptedPrivateKeyFromPem=function(r){var t=P.pem.decode(r)[0];if(t.type!=="ENCRYPTED PRIVATE KEY"){var e=new Error('Could not convert encrypted private key from PEM; PEM header type is "ENCRYPTED PRIVATE KEY".');throw e.headerType=t.type,e}if(t.procType&&t.procType.type==="ENCRYPTED")throw new Error("Could not convert encrypted private key from PEM; PEM is encrypted.");return v.fromDer(t.body)};H.encryptRsaPrivateKey=function(r,t,e){if(e=e||{},!e.legacy){var n=H.wrapRsaPrivateKey(H.privateKeyToAsn1(r));return n=H.encryptPrivateKeyInfo(n,t,e),H.encryptedPrivateKeyToPem(n)}var i,s,o,a;switch(e.algorithm){case"aes128":i="AES-128-CBC",o=16,s=P.random.getBytesSync(16),a=P.aes.createEncryptionCipher;break;case"aes192":i="AES-192-CBC",o=24,s=P.random.getBytesSync(16),a=P.aes.createEncryptionCipher;break;case"aes256":i="AES-256-CBC",o=32,s=P.random.getBytesSync(16),a=P.aes.createEncryptionCipher;break;case"3des":i="DES-EDE3-CBC",o=24,s=P.random.getBytesSync(8),a=P.des.createEncryptionCipher;break;case"des":i="DES-CBC",o=8,s=P.random.getBytesSync(8),a=P.des.createEncryptionCipher;break;default:var c=new Error('Could not encrypt RSA private key; unsupported encryption algorithm "'+e.algorithm+'".');throw c.algorithm=e.algorithm,c}var u=P.pbe.opensslDeriveBytes(t,s.substr(0,8),o),l=a(u);l.start(s),l.update(v.toDer(H.privateKeyToAsn1(r))),l.finish();var f={type:"RSA PRIVATE KEY",procType:{version:"4",type:"ENCRYPTED"},dekInfo:{algorithm:i,parameters:P.util.bytesToHex(s).toUpperCase()},body:l.output.getBytes()};return P.pem.encode(f)};H.decryptRsaPrivateKey=function(r,t){var e=null,n=P.pem.decode(r)[0];if(n.type!=="ENCRYPTED PRIVATE KEY"&&n.type!=="PRIVATE KEY"&&n.type!=="RSA PRIVATE KEY"){var i=new Error('Could not convert private key from PEM; PEM header type is not "ENCRYPTED PRIVATE KEY", "PRIVATE KEY", or "RSA PRIVATE KEY".');throw i.headerType=i,i}if(n.procType&&n.procType.type==="ENCRYPTED"){var s,o;switch(n.dekInfo.algorithm){case"DES-CBC":s=8,o=P.des.createDecryptionCipher;break;case"DES-EDE3-CBC":s=24,o=P.des.createDecryptionCipher;break;case"AES-128-CBC":s=16,o=P.aes.createDecryptionCipher;break;case"AES-192-CBC":s=24,o=P.aes.createDecryptionCipher;break;case"AES-256-CBC":s=32,o=P.aes.createDecryptionCipher;break;case"RC2-40-CBC":s=5,o=function(f){return P.rc2.createDecryptionCipher(f,40)};break;case"RC2-64-CBC":s=8,o=function(f){return P.rc2.createDecryptionCipher(f,64)};break;case"RC2-128-CBC":s=16,o=function(f){return P.rc2.createDecryptionCipher(f,128)};break;default:var i=new Error('Could not decrypt private key; unsupported encryption algorithm "'+n.dekInfo.algorithm+'".');throw i.algorithm=n.dekInfo.algorithm,i}var a=P.util.hexToBytes(n.dekInfo.parameters),c=P.pbe.opensslDeriveBytes(t,a.substr(0,8),s),u=o(c);if(u.start(a),u.update(P.util.createBuffer(n.body)),u.finish())e=u.output.getBytes();else return e}else e=n.body;return n.type==="ENCRYPTED PRIVATE KEY"?e=H.decryptPrivateKeyInfo(v.fromDer(e),t):e=v.fromDer(e),e!==null&&(e=H.privateKeyFromAsn1(e)),e};H.pbe.generatePkcs12Key=function(r,t,e,n,i,s){var o,a;if(typeof s>"u"||s===null){if(!("sha1"in P.md))throw new Error('"sha1" hash algorithm unavailable.');s=P.md.sha1.create()}var c=s.digestLength,u=s.blockLength,l=new P.util.ByteBuffer,f=new P.util.ByteBuffer;if(r!=null){for(a=0;a<r.length;a++)f.putInt16(r.charCodeAt(a));f.putInt16(0)}var d=f.length(),h=t.length(),p=new P.util.ByteBuffer;p.fillWithByte(e,u);var m=u*Math.ceil(h/u),y=new P.util.ByteBuffer;for(a=0;a<m;a++)y.putByte(t.at(a%h));var g=u*Math.ceil(d/u),E=new P.util.ByteBuffer;for(a=0;a<g;a++)E.putByte(f.at(a%d));var b=y;b.putBuffer(E);for(var O=Math.ceil(i/c),B=1;B<=O;B++){var D=new P.util.ByteBuffer;D.putBytes(p.bytes()),D.putBytes(b.bytes());for(var Q=0;Q<n;Q++)s.start(),s.update(D.getBytes()),D=s.digest();var Z=new P.util.ByteBuffer;for(a=0;a<u;a++)Z.putByte(D.at(a%c));var Wt=Math.ceil(h/u)+Math.ceil(d/u),Oe=new P.util.ByteBuffer;for(o=0;o<Wt;o++){var pe=new P.util.ByteBuffer(b.getBytes(u)),oe=511;for(a=Z.length()-1;a>=0;a--)oe=oe>>8,oe+=Z.at(a)+pe.at(a),pe.setAt(a,oe&255);Oe.putBuffer(pe)}b=Oe,l.putBuffer(D)}return l.truncate(l.length()-i),l};H.pbe.getCipher=function(r,t,e){switch(r){case H.oids.pkcs5PBES2:return H.pbe.getCipherForPBES2(r,t,e);case H.oids["pbeWithSHAAnd3-KeyTripleDES-CBC"]:case H.oids["pbewithSHAAnd40BitRC2-CBC"]:return H.pbe.getCipherForPKCS12PBE(r,t,e);default:var n=new Error("Cannot read encrypted PBE data block. Unsupported OID.");throw n.oid=r,n.supportedOids=["pkcs5PBES2","pbeWithSHAAnd3-KeyTripleDES-CBC","pbewithSHAAnd40BitRC2-CBC"],n}};H.pbe.getCipherForPBES2=function(r,t,e){var n={},i=[];if(!v.validate(t,o_,n,i)){var s=new Error("Cannot read password-based-encryption algorithm parameters. ASN.1 object is not a supported EncryptedPrivateKeyInfo.");throw s.errors=i,s}if(r=v.derToOid(n.kdfOid),r!==H.oids.pkcs5PBKDF2){var s=new Error("Cannot read encrypted private key. Unsupported key derivation function OID.");throw s.oid=r,s.supportedOids=["pkcs5PBKDF2"],s}if(r=v.derToOid(n.encOid),r!==H.oids["aes128-CBC"]&&r!==H.oids["aes192-CBC"]&&r!==H.oids["aes256-CBC"]&&r!==H.oids["des-EDE3-CBC"]&&r!==H.oids.desCBC){var s=new Error("Cannot read encrypted private key. Unsupported encryption scheme OID.");throw s.oid=r,s.supportedOids=["aes128-CBC","aes192-CBC","aes256-CBC","des-EDE3-CBC","desCBC"],s}var o=n.kdfSalt,a=P.util.createBuffer(n.kdfIterationCount);a=a.getInt(a.length()<<3);var c,u;switch(H.oids[r]){case"aes128-CBC":c=16,u=P.aes.createDecryptionCipher;break;case"aes192-CBC":c=24,u=P.aes.createDecryptionCipher;break;case"aes256-CBC":c=32,u=P.aes.createDecryptionCipher;break;case"des-EDE3-CBC":c=24,u=P.des.createDecryptionCipher;break;case"desCBC":c=8,u=P.des.createDecryptionCipher;break}var l=Vm(n.prfOid),f=P.pkcs5.pbkdf2(e,o,a,c,l),d=n.encIv,h=u(f);return h.start(d),h};H.pbe.getCipherForPKCS12PBE=function(r,t,e){var n={},i=[];if(!v.validate(t,a_,n,i)){var s=new Error("Cannot read password-based-encryption algorithm parameters. ASN.1 object is not a supported EncryptedPrivateKeyInfo.");throw s.errors=i,s}var o=P.util.createBuffer(n.salt),a=P.util.createBuffer(n.iterations);a=a.getInt(a.length()<<3);var c,u,l;switch(r){case H.oids["pbeWithSHAAnd3-KeyTripleDES-CBC"]:c=24,u=8,l=P.des.startDecrypting;break;case H.oids["pbewithSHAAnd40BitRC2-CBC"]:c=5,u=8,l=function(m,y){var g=P.rc2.createDecryptionCipher(m,40);return g.start(y,null),g};break;default:var s=new Error("Cannot read PKCS #12 PBE data block. Unsupported OID.");throw s.oid=r,s}var f=Vm(n.prfOid),d=H.pbe.generatePkcs12Key(e,o,1,a,c,f);f.start();var h=H.pbe.generatePkcs12Key(e,o,2,a,u,f);return l(d,h)};H.pbe.opensslDeriveBytes=function(r,t,e,n){if(typeof n>"u"||n===null){if(!("md5"in P.md))throw new Error('"md5" hash algorithm unavailable.');n=P.md.md5.create()}t===null&&(t="");for(var i=[Km(n,r+t)],s=16,o=1;s<e;++o,s+=16)i.push(Km(n,i[o-1]+r+t));return i.join("").substr(0,e)};function Km(r,t){return r.start().update(t).digest().getBytes()}function Vm(r){var t;if(!r)t="hmacWithSHA1";else if(t=H.oids[v.derToOid(r)],!t){var e=new Error("Unsupported PRF OID.");throw e.oid=r,e.supported=["hmacWithSHA1","hmacWithSHA224","hmacWithSHA256","hmacWithSHA384","hmacWithSHA512"],e}return qm(t)}function qm(r){var t=P.md;switch(r){case"hmacWithSHA224":t=P.md.sha512;case"hmacWithSHA1":case"hmacWithSHA256":case"hmacWithSHA384":case"hmacWithSHA512":r=r.substr(8).toLowerCase();break;default:var e=new Error("Unsupported PRF algorithm.");throw e.algorithm=r,e.supported=["hmacWithSHA1","hmacWithSHA224","hmacWithSHA256","hmacWithSHA384","hmacWithSHA512"],e}if(!t||!(r in t))throw new Error("Unknown hash algorithm: "+r);return t[r].create()}function c_(r,t,e,n){var i=v.create(v.Class.UNIVERSAL,v.Type.SEQUENCE,!0,[v.create(v.Class.UNIVERSAL,v.Type.OCTETSTRING,!1,r),v.create(v.Class.UNIVERSAL,v.Type.INTEGER,!1,t.getBytes())]);return n!=="hmacWithSHA1"&&i.value.push(v.create(v.Class.UNIVERSAL,v.Type.INTEGER,!1,P.util.hexToBytes(e.toString(16))),v.create(v.Class.UNIVERSAL,v.Type.SEQUENCE,!0,[v.create(v.Class.UNIVERSAL,v.Type.OID,!1,v.oidToDer(H.oids[n]).getBytes()),v.create(v.Class.UNIVERSAL,v.Type.NULL,!1,"")])),i}});var ty=I((y8,jm)=>{var xt=ut();Pn();Kt();var ms=jm.exports=xt.sha512=xt.sha512||{};xt.md.sha512=xt.md.algorithms.sha512=ms;var Zm=xt.sha384=xt.sha512.sha384=xt.sha512.sha384||{};Zm.create=function(){return ms.create("SHA-384")};xt.md.sha384=xt.md.algorithms.sha384=Zm;xt.sha512.sha256=xt.sha512.sha256||{create:function(){return ms.create("SHA-512/256")}};xt.md["sha512/256"]=xt.md.algorithms["sha512/256"]=xt.sha512.sha256;xt.sha512.sha224=xt.sha512.sha224||{create:function(){return ms.create("SHA-512/224")}};xt.md["sha512/224"]=xt.md.algorithms["sha512/224"]=xt.sha512.sha224;ms.create=function(r){if(Jm||f_(),typeof r>"u"&&(r="SHA-512"),!(r in Mn))throw new Error("Invalid SHA-512 algorithm: "+r);for(var t=Mn[r],e=null,n=xt.util.createBuffer(),i=new Array(80),s=0;s<80;++s)i[s]=new Array(2);var o=64;switch(r){case"SHA-384":o=48;break;case"SHA-512/256":o=32;break;case"SHA-512/224":o=28;break}var a={algorithm:r.replace("-","").toLowerCase(),blockLength:128,digestLength:o,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=xt.util.createBuffer(),e=new Array(t.length);for(var u=0;u<t.length;++u)e[u]=t[u].slice(0);return a},a.start(),a.update=function(c,u){u==="utf8"&&(c=xt.util.encodeUtf8(c));var l=c.length;a.messageLength+=l,l=[l/4294967296>>>0,l>>>0];for(var f=a.fullMessageLength.length-1;f>=0;--f)a.fullMessageLength[f]+=l[1],l[1]=l[0]+(a.fullMessageLength[f]/4294967296>>>0),a.fullMessageLength[f]=a.fullMessageLength[f]>>>0,l[0]=l[1]/4294967296>>>0;return n.putBytes(c),Xm(e,i,n),(n.read>2048||n.length()===0)&&n.compact(),a},a.digest=function(){var c=xt.util.createBuffer();c.putBytes(n.bytes());var u=a.fullMessageLength[a.fullMessageLength.length-1]+a.messageLengthSize,l=u&a.blockLength-1;c.putBytes(Sl.substr(0,a.blockLength-l));for(var f,d,h=a.fullMessageLength[0]*8,p=0;p<a.fullMessageLength.length-1;++p)f=a.fullMessageLength[p+1]*8,d=f/4294967296>>>0,h+=d,c.putInt32(h>>>0),h=f>>>0;c.putInt32(h);for(var m=new Array(e.length),p=0;p<e.length;++p)m[p]=e[p].slice(0);Xm(m,i,c);var y=xt.util.createBuffer(),g;r==="SHA-512"?g=m.length:r==="SHA-384"?g=m.length-2:g=m.length-4;for(var p=0;p<g;++p)y.putInt32(m[p][0]),(p!==g-1||r!=="SHA-512/224")&&y.putInt32(m[p][1]);return y},a};var Sl=null,Jm=!1,Al=null,Mn=null;function f_(){Sl=String.fromCharCode(128),Sl+=xt.util.fillString(String.fromCharCode(0),128),Al=[[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]],Mn={},Mn["SHA-512"]=[[1779033703,4089235720],[3144134277,2227873595],[1013904242,4271175723],[2773480762,1595750129],[1359893119,2917565137],[2600822924,725511199],[528734635,4215389547],[1541459225,327033209]],Mn["SHA-384"]=[[3418070365,3238371032],[1654270250,914150663],[2438529370,812702999],[355462360,4144912697],[1731405415,4290775857],[2394180231,1750603025],[3675008525,1694076839],[1203062813,3204075428]],Mn["SHA-512/256"]=[[573645204,4230739756],[2673172387,3360449730],[596883563,1867755857],[2520282905,1497426621],[2519219938,2827943907],[3193839141,1401305490],[721525244,746961066],[246885852,2177182882]],Mn["SHA-512/224"]=[[2352822216,424955298],[1944164710,2312950998],[502970286,855612546],[1738396948,1479516111],[258812777,2077511080],[2011393907,79989058],[1067287976,1780299464],[286451373,2446758561]],Jm=!0}function Xm(r,t,e){for(var n,i,s,o,a,c,u,l,f,d,h,p,m,y,g,E,b,O,B,D,Q,Z,Wt,Oe,pe,oe,jn,io,qt,le,V,Sc,Ac,Rc,Ic,Yf=e.length();Yf>=128;){for(qt=0;qt<16;++qt)t[qt][0]=e.getInt32()>>>0,t[qt][1]=e.getInt32()>>>0;for(;qt<80;++qt)Sc=t[qt-2],le=Sc[0],V=Sc[1],n=((le>>>19|V<<13)^(V>>>29|le<<3)^le>>>6)>>>0,i=((le<<13|V>>>19)^(V<<3|le>>>29)^(le<<26|V>>>6))>>>0,Rc=t[qt-15],le=Rc[0],V=Rc[1],s=((le>>>1|V<<31)^(le>>>8|V<<24)^le>>>7)>>>0,o=((le<<31|V>>>1)^(le<<24|V>>>8)^(le<<25|V>>>7))>>>0,Ac=t[qt-7],Ic=t[qt-16],V=i+Ac[1]+o+Ic[1],t[qt][0]=n+Ac[0]+s+Ic[0]+(V/4294967296>>>0)>>>0,t[qt][1]=V>>>0;for(m=r[0][0],y=r[0][1],g=r[1][0],E=r[1][1],b=r[2][0],O=r[2][1],B=r[3][0],D=r[3][1],Q=r[4][0],Z=r[4][1],Wt=r[5][0],Oe=r[5][1],pe=r[6][0],oe=r[6][1],jn=r[7][0],io=r[7][1],qt=0;qt<80;++qt)u=((Q>>>14|Z<<18)^(Q>>>18|Z<<14)^(Z>>>9|Q<<23))>>>0,l=((Q<<18|Z>>>14)^(Q<<14|Z>>>18)^(Z<<23|Q>>>9))>>>0,f=(pe^Q&(Wt^pe))>>>0,d=(oe^Z&(Oe^oe))>>>0,a=((m>>>28|y<<4)^(y>>>2|m<<30)^(y>>>7|m<<25))>>>0,c=((m<<4|y>>>28)^(y<<30|m>>>2)^(y<<25|m>>>7))>>>0,h=(m&g|b&(m^g))>>>0,p=(y&E|O&(y^E))>>>0,V=io+l+d+Al[qt][1]+t[qt][1],n=jn+u+f+Al[qt][0]+t[qt][0]+(V/4294967296>>>0)>>>0,i=V>>>0,V=c+p,s=a+h+(V/4294967296>>>0)>>>0,o=V>>>0,jn=pe,io=oe,pe=Wt,oe=Oe,Wt=Q,Oe=Z,V=D+i,Q=B+n+(V/4294967296>>>0)>>>0,Z=V>>>0,B=b,D=O,b=g,O=E,g=m,E=y,V=i+o,m=n+s+(V/4294967296>>>0)>>>0,y=V>>>0;V=r[0][1]+y,r[0][0]=r[0][0]+m+(V/4294967296>>>0)>>>0,r[0][1]=V>>>0,V=r[1][1]+E,r[1][0]=r[1][0]+g+(V/4294967296>>>0)>>>0,r[1][1]=V>>>0,V=r[2][1]+O,r[2][0]=r[2][0]+b+(V/4294967296>>>0)>>>0,r[2][1]=V>>>0,V=r[3][1]+D,r[3][0]=r[3][0]+B+(V/4294967296>>>0)>>>0,r[3][1]=V>>>0,V=r[4][1]+Z,r[4][0]=r[4][0]+Q+(V/4294967296>>>0)>>>0,r[4][1]=V>>>0,V=r[5][1]+Oe,r[5][0]=r[5][0]+Wt+(V/4294967296>>>0)>>>0,r[5][1]=V>>>0,V=r[6][1]+oe,r[6][0]=r[6][0]+pe+(V/4294967296>>>0)>>>0,r[6][1]=V>>>0,V=r[7][1]+io,r[7][0]=r[7][0]+jn+(V/4294967296>>>0)>>>0,r[7][1]=V>>>0,Yf-=128}}});var Og=I((DL,kg)=>{function OS(){return!!(typeof window<"u"&&typeof window.process=="object"&&window.process.type==="renderer"||typeof process<"u"&&typeof process.versions=="object"&&process.versions.electron||typeof navigator=="object"&&typeof navigator.userAgent=="string"&&navigator.userAgent.indexOf("Electron")>=0)}kg.exports=OS});var $g=I(Gs=>{(function(){var r,t,e,n,i,s,o,a;a=function(c){var u,l,f,d;return u=(c&255<<24)>>>24,l=(c&255<<16)>>>16,f=(c&255<<8)>>>8,d=c&255,[u,l,f,d].join(".")},o=function(c){var u,l,f,d,h,p;for(u=[],f=d=0;d<=3&&c.length!==0;f=++d){if(f>0){if(c[0]!==".")throw new Error("Invalid IP");c=c.substring(1)}p=t(c),h=p[0],l=p[1],c=c.substring(l),u.push(h)}if(c.length!==0)throw new Error("Invalid IP");switch(u.length){case 1:if(u[0]>4294967295)throw new Error("Invalid IP");return u[0]>>>0;case 2:if(u[0]>255||u[1]>16777215)throw new Error("Invalid IP");return(u[0]<<24|u[1])>>>0;case 3:if(u[0]>255||u[1]>255||u[2]>65535)throw new Error("Invalid IP");return(u[0]<<24|u[1]<<16|u[2])>>>0;case 4:if(u[0]>255||u[1]>255||u[2]>255||u[3]>255)throw new Error("Invalid IP");return(u[0]<<24|u[1]<<16|u[2]<<8|u[3])>>>0;default:throw new Error("Invalid IP")}},e=function(c){return c.charCodeAt(0)},n=e("0"),s=e("a"),i=e("A"),t=function(c){var u,l,f,d,h;for(d=0,u=10,l="9",f=0,c.length>1&&c[f]==="0"&&(c[f+1]==="x"||c[f+1]==="X"?(f+=2,u=16):"0"<=c[f+1]&&c[f+1]<="9"&&(f++,u=8,l="7")),h=f;f<c.length;){if("0"<=c[f]&&c[f]<=l)d=d*u+(e(c[f])-n)>>>0;else if(u===16)if("a"<=c[f]&&c[f]<="f")d=d*u+(10+e(c[f])-s)>>>0;else if("A"<=c[f]&&c[f]<="F")d=d*u+(10+e(c[f])-i)>>>0;else break;else break;if(d>4294967295)throw new Error("too large");f++}if(f===h)throw new Error("empty octet");return[d,f]},r=function(){function c(u,l){var f,d,h,p;if(typeof u!="string")throw new Error("Missing `net' parameter");if(l||(p=u.split("/",2),u=p[0],l=p[1]),l||(l=32),typeof l=="string"&&l.indexOf(".")>-1){try{this.maskLong=o(l)}catch(m){throw f=m,new Error("Invalid mask: "+l)}for(d=h=32;h>=0;d=--h)if(this.maskLong===4294967295<<32-d>>>0){this.bitmask=d;break}}else if(l||l===0)this.bitmask=parseInt(l,10),this.maskLong=0,this.bitmask>0&&(this.maskLong=4294967295<<32-this.bitmask>>>0);else throw new Error("Invalid mask: empty");try{this.netLong=(o(u)&this.maskLong)>>>0}catch(m){throw f=m,new Error("Invalid net address: "+u)}if(!(this.bitmask<=32))throw new Error("Invalid mask for ip4: "+l);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):(o(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 l,f,d;for(d=o(this.first),f=o(this.last),l=0;d<=f;)u(a(d),d,l),l++,d++},c.prototype.toString=function(){return this.base+"/"+this.bitmask},c}(),Gs.ip2long=o,Gs.long2ip=a,Gs.Netmask=r}).call(Gs)});var Yg=I((Gg,$a)=>{(function(r){"use strict";let t="(0?\\d+|0x[a-f0-9]+)",e={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"),i=new RegExp("^0x[a-f0-9]+$","i"),s="%[0-9a-z]{1,}",o="(?:[0-9a-f]+::?)+",a={zoneIndex:new RegExp(s,"i"),native:new RegExp(`^(::)?(${o})?([0-9a-f]+)?(::)?(${s})?$`,"i"),deprecatedTransitional:new RegExp(`^(?:::)(${t}\\.${t}\\.${t}\\.${t}(${s})?)$`,"i"),transitional:new RegExp(`^((?:${o})|(?:::)(?:${o})?)${t}\\.${t}\\.${t}\\.${t}(${s})?$`,"i")};function c(h,p){if(h.indexOf("::")!==h.lastIndexOf("::"))return null;let m=0,y=-1,g=(h.match(a.zoneIndex)||[])[0],E,b;for(g&&(g=g.substring(1),h=h.replace(/%.+$/,""));(y=h.indexOf(":",y+1))>=0;)m++;if(h.substr(0,2)==="::"&&m--,h.substr(-2,2)==="::"&&m--,m>p)return null;for(b=p-m,E=":";b--;)E+="0:";return h=h.replace("::",E),h[0]===":"&&(h=h.slice(1)),h[h.length-1]===":"&&(h=h.slice(0,-1)),p=function(){let O=h.split(":"),B=[];for(let D=0;D<O.length;D++)B.push(parseInt(O[D],16));return B}(),{parts:p,zoneId:g}}function u(h,p,m,y){if(h.length!==p.length)throw new Error("ipaddr: cannot match CIDR for objects with different lengths");let g=0,E;for(;y>0;){if(E=m-y,E<0&&(E=0),h[g]>>E!==p[g]>>E)return!1;y-=m,g+=1}return!0}function l(h){if(i.test(h))return parseInt(h,16);if(h[0]==="0"&&!isNaN(parseInt(h[1],10))){if(n.test(h))return parseInt(h,8);throw new Error(`ipaddr: cannot parse ${h} as octal`)}return parseInt(h,10)}function f(h,p){for(;h.length<p;)h=`0${h}`;return h}let d={};d.IPv4=function(){function h(p){if(p.length!==4)throw new Error("ipaddr: ipv4 octet count should be 4");let m,y;for(m=0;m<p.length;m++)if(y=p[m],!(0<=y&&y<=255))throw new Error("ipaddr: ipv4 octet should fit in 8 bits");this.octets=p}return h.prototype.SpecialRanges={unspecified:[[new h([0,0,0,0]),8]],broadcast:[[new h([255,255,255,255]),32]],multicast:[[new h([224,0,0,0]),4]],linkLocal:[[new h([169,254,0,0]),16]],loopback:[[new h([127,0,0,0]),8]],carrierGradeNat:[[new h([100,64,0,0]),10]],private:[[new h([10,0,0,0]),8],[new h([172,16,0,0]),12],[new h([192,168,0,0]),16]],reserved:[[new h([192,0,0,0]),24],[new h([192,0,2,0]),24],[new h([192,88,99,0]),24],[new h([198,51,100,0]),24],[new h([203,0,113,0]),24],[new h([240,0,0,0]),4]]},h.prototype.kind=function(){return"ipv4"},h.prototype.match=function(p,m){let y;if(m===void 0&&(y=p,p=y[0],m=y[1]),p.kind()!=="ipv4")throw new Error("ipaddr: cannot match ipv4 address with non-ipv4 one");return u(this.octets,p.octets,8,m)},h.prototype.prefixLengthFromSubnetMask=function(){let p=0,m=!1,y={0:8,128:7,192:6,224:5,240:4,248:3,252:2,254:1,255:0},g,E,b;for(g=3;g>=0;g-=1)if(E=this.octets[g],E in y){if(b=y[E],m&&b!==0)return null;b!==8&&(m=!0),p+=b}else return null;return 32-p},h.prototype.range=function(){return d.subnetMatch(this,this.SpecialRanges)},h.prototype.toByteArray=function(){return this.octets.slice(0)},h.prototype.toIPv4MappedAddress=function(){return d.IPv6.parse(`::ffff:${this.toString()}`)},h.prototype.toNormalizedString=function(){return this.toString()},h.prototype.toString=function(){return this.octets.join(".")},h}(),d.IPv4.broadcastAddressFromCIDR=function(h){try{let p=this.parseCIDR(h),m=p[0].toByteArray(),y=this.subnetMaskFromPrefixLength(p[1]).toByteArray(),g=[],E=0;for(;E<4;)g.push(parseInt(m[E],10)|parseInt(y[E],10)^255),E++;return new this(g)}catch{throw new Error("ipaddr: the address does not have IPv4 CIDR format")}},d.IPv4.isIPv4=function(h){return this.parser(h)!==null},d.IPv4.isValid=function(h){try{return new this(this.parser(h)),!0}catch{return!1}},d.IPv4.isValidFourPartDecimal=function(h){return!!(d.IPv4.isValid(h)&&h.match(/^(0|[1-9]\d*)(\.(0|[1-9]\d*)){3}$/))},d.IPv4.networkAddressFromCIDR=function(h){let p,m,y,g,E;try{for(p=this.parseCIDR(h),y=p[0].toByteArray(),E=this.subnetMaskFromPrefixLength(p[1]).toByteArray(),g=[],m=0;m<4;)g.push(parseInt(y[m],10)&parseInt(E[m],10)),m++;return new this(g)}catch{throw new Error("ipaddr: the address does not have IPv4 CIDR format")}},d.IPv4.parse=function(h){let p=this.parser(h);if(p===null)throw new Error("ipaddr: string is not formatted like an IPv4 Address");return new this(p)},d.IPv4.parseCIDR=function(h){let p;if(p=h.match(/^(.+)\/(\d+)$/)){let m=parseInt(p[2]);if(m>=0&&m<=32){let y=[this.parse(p[1]),m];return Object.defineProperty(y,"toString",{value:function(){return this.join("/")}}),y}}throw new Error("ipaddr: string is not formatted like an IPv4 CIDR range")},d.IPv4.parser=function(h){let p,m,y;if(p=h.match(e.fourOctet))return function(){let g=p.slice(1,6),E=[];for(let b=0;b<g.length;b++)m=g[b],E.push(l(m));return E}();if(p=h.match(e.longValue)){if(y=l(p[1]),y>4294967295||y<0)throw new Error("ipaddr: address outside defined range");return function(){let g=[],E;for(E=0;E<=24;E+=8)g.push(y>>E&255);return g}().reverse()}else return(p=h.match(e.twoOctet))?function(){let g=p.slice(1,4),E=[];if(y=l(g[1]),y>16777215||y<0)throw new Error("ipaddr: address outside defined range");return E.push(l(g[0])),E.push(y>>16&255),E.push(y>>8&255),E.push(y&255),E}():(p=h.match(e.threeOctet))?function(){let g=p.slice(1,5),E=[];if(y=l(g[2]),y>65535||y<0)throw new Error("ipaddr: address outside defined range");return E.push(l(g[0])),E.push(l(g[1])),E.push(y>>8&255),E.push(y&255),E}():null},d.IPv4.subnetMaskFromPrefixLength=function(h){if(h=parseInt(h),h<0||h>32)throw new Error("ipaddr: invalid IPv4 prefix length");let p=[0,0,0,0],m=0,y=Math.floor(h/8);for(;m<y;)p[m]=255,m++;return y<4&&(p[y]=Math.pow(2,h%8)-1<<8-h%8),new this(p)},d.IPv6=function(){function h(p,m){let y,g;if(p.length===16)for(this.parts=[],y=0;y<=14;y+=2)this.parts.push(p[y]<<8|p[y+1]);else if(p.length===8)this.parts=p;else throw new Error("ipaddr: ipv6 part count should be 8 or 16");for(y=0;y<this.parts.length;y++)if(g=this.parts[y],!(0<=g&&g<=65535))throw new Error("ipaddr: ipv6 part should fit in 16 bits");m&&(this.zoneId=m)}return h.prototype.SpecialRanges={unspecified:[new h([0,0,0,0,0,0,0,0]),128],linkLocal:[new h([65152,0,0,0,0,0,0,0]),10],multicast:[new h([65280,0,0,0,0,0,0,0]),8],loopback:[new h([0,0,0,0,0,0,0,1]),128],uniqueLocal:[new h([64512,0,0,0,0,0,0,0]),7],ipv4Mapped:[new h([0,0,0,0,0,65535,0,0]),96],rfc6145:[new h([0,0,0,0,65535,0,0,0]),96],rfc6052:[new h([100,65435,0,0,0,0,0,0]),96],"6to4":[new h([8194,0,0,0,0,0,0,0]),16],teredo:[new h([8193,0,0,0,0,0,0,0]),32],reserved:[[new h([8193,3512,0,0,0,0,0,0]),32]]},h.prototype.isIPv4MappedAddress=function(){return this.range()==="ipv4Mapped"},h.prototype.kind=function(){return"ipv6"},h.prototype.match=function(p,m){let y;if(m===void 0&&(y=p,p=y[0],m=y[1]),p.kind()!=="ipv6")throw new Error("ipaddr: cannot match ipv6 address with non-ipv6 one");return u(this.parts,p.parts,16,m)},h.prototype.prefixLengthFromSubnetMask=function(){let p=0,m=!1,y={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},g,E;for(let b=7;b>=0;b-=1)if(g=this.parts[b],g in y){if(E=y[g],m&&E!==0)return null;E!==16&&(m=!0),p+=E}else return null;return 128-p},h.prototype.range=function(){return d.subnetMatch(this,this.SpecialRanges)},h.prototype.toByteArray=function(){let p,m=[],y=this.parts;for(let g=0;g<y.length;g++)p=y[g],m.push(p>>8),m.push(p&255);return m},h.prototype.toFixedLengthString=function(){let p=function(){let y=[];for(let g=0;g<this.parts.length;g++)y.push(f(this.parts[g].toString(16),4));return y}.call(this).join(":"),m="";return this.zoneId&&(m=`%${this.zoneId}`),p+m},h.prototype.toIPv4Address=function(){if(!this.isIPv4MappedAddress())throw new Error("ipaddr: trying to convert a generic ipv6 address to ipv4");let p=this.parts.slice(-2),m=p[0],y=p[1];return new d.IPv4([m>>8,m&255,y>>8,y&255])},h.prototype.toNormalizedString=function(){let p=function(){let y=[];for(let g=0;g<this.parts.length;g++)y.push(this.parts[g].toString(16));return y}.call(this).join(":"),m="";return this.zoneId&&(m=`%${this.zoneId}`),p+m},h.prototype.toRFC5952String=function(){let p=/((^|:)(0(:|$)){2,})/g,m=this.toNormalizedString(),y=0,g=-1,E;for(;E=p.exec(m);)E[0].length>g&&(y=E.index,g=E[0].length);return g<0?m:`${m.substring(0,y)}::${m.substring(y+g)}`},h.prototype.toString=function(){return this.toNormalizedString().replace(/((^|:)(0(:|$))+)/,"::")},h}(),d.IPv6.broadcastAddressFromCIDR=function(h){try{let p=this.parseCIDR(h),m=p[0].toByteArray(),y=this.subnetMaskFromPrefixLength(p[1]).toByteArray(),g=[],E=0;for(;E<16;)g.push(parseInt(m[E],10)|parseInt(y[E],10)^255),E++;return new this(g)}catch(p){throw new Error(`ipaddr: the address does not have IPv6 CIDR format (${p})`)}},d.IPv6.isIPv6=function(h){return this.parser(h)!==null},d.IPv6.isValid=function(h){if(typeof h=="string"&&h.indexOf(":")===-1)return!1;try{let p=this.parser(h);return new this(p.parts,p.zoneId),!0}catch{return!1}},d.IPv6.networkAddressFromCIDR=function(h){let p,m,y,g,E;try{for(p=this.parseCIDR(h),y=p[0].toByteArray(),E=this.subnetMaskFromPrefixLength(p[1]).toByteArray(),g=[],m=0;m<16;)g.push(parseInt(y[m],10)&parseInt(E[m],10)),m++;return new this(g)}catch(b){throw new Error(`ipaddr: the address does not have IPv6 CIDR format (${b})`)}},d.IPv6.parse=function(h){let p=this.parser(h);if(p.parts===null)throw new Error("ipaddr: string is not formatted like an IPv6 Address");return new this(p.parts,p.zoneId)},d.IPv6.parseCIDR=function(h){let p,m,y;if((m=h.match(/^(.+)\/(\d+)$/))&&(p=parseInt(m[2]),p>=0&&p<=128))return y=[this.parse(m[1]),p],Object.defineProperty(y,"toString",{value:function(){return this.join("/")}}),y;throw new Error("ipaddr: string is not formatted like an IPv6 CIDR range")},d.IPv6.parser=function(h){let p,m,y,g,E,b;if(y=h.match(a.deprecatedTransitional))return this.parser(`::ffff:${y[1]}`);if(a.native.test(h))return c(h,8);if((y=h.match(a.transitional))&&(b=y[6]||"",p=c(y[1].slice(0,-1)+b,6),p.parts)){for(E=[parseInt(y[2]),parseInt(y[3]),parseInt(y[4]),parseInt(y[5])],m=0;m<E.length;m++)if(g=E[m],!(0<=g&&g<=255))return null;return p.parts.push(E[0]<<8|E[1]),p.parts.push(E[2]<<8|E[3]),{parts:p.parts,zoneId:p.zoneId}}return null},d.IPv6.subnetMaskFromPrefixLength=function(h){if(h=parseInt(h),h<0||h>128)throw new Error("ipaddr: invalid IPv6 prefix length");let p=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],m=0,y=Math.floor(h/8);for(;m<y;)p[m]=255,m++;return y<16&&(p[y]=Math.pow(2,h%8)-1<<8-h%8),new this(p)},d.fromByteArray=function(h){let p=h.length;if(p===4)return new d.IPv4(h);if(p===16)return new d.IPv6(h);throw new Error("ipaddr: the binary input is neither an IPv6 nor IPv4 address")},d.isValid=function(h){return d.IPv6.isValid(h)||d.IPv4.isValid(h)},d.parse=function(h){if(d.IPv6.isValid(h))return d.IPv6.parse(h);if(d.IPv4.isValid(h))return d.IPv4.parse(h);throw new Error("ipaddr: the address has neither IPv6 nor IPv4 format")},d.parseCIDR=function(h){try{return d.IPv6.parseCIDR(h)}catch{try{return d.IPv4.parseCIDR(h)}catch{throw new Error("ipaddr: the address has neither IPv6 nor IPv4 CIDR format")}}},d.process=function(h){let p=this.parse(h);return p.kind()==="ipv6"&&p.isIPv4MappedAddress()?p.toIPv4Address():p},d.subnetMatch=function(h,p,m){let y,g,E,b;m==null&&(m="unicast");for(g in p)if(Object.prototype.hasOwnProperty.call(p,g)){for(E=p[g],E[0]&&!(E[0]instanceof Array)&&(E=[E]),y=0;y<E.length;y++)if(b=E[y],h.kind()===b[0].kind()&&h.match.apply(h,b))return g}return m},typeof $a<"u"&&$a.exports?$a.exports=d:r.ipaddr=d})(Gg)});var iw=I((kP,mf)=>{"use strict";var WS=Object.prototype.hasOwnProperty,ue="~";function Ws(){}Object.create&&(Ws.prototype=Object.create(null),new Ws().__proto__||(ue=!1));function QS(r,t,e){this.fn=r,this.context=t,this.once=e||!1}function nw(r,t,e,n,i){if(typeof e!="function")throw new TypeError("The listener must be a function");var s=new QS(e,n||r,i),o=ue?ue+t:t;return r._events[o]?r._events[o].fn?r._events[o]=[r._events[o],s]:r._events[o].push(s):(r._events[o]=s,r._eventsCount++),r}function nc(r,t){--r._eventsCount===0?r._events=new Ws:delete r._events[t]}function se(){this._events=new Ws,this._eventsCount=0}se.prototype.eventNames=function(){var t=[],e,n;if(this._eventsCount===0)return t;for(n in e=this._events)WS.call(e,n)&&t.push(ue?n.slice(1):n);return Object.getOwnPropertySymbols?t.concat(Object.getOwnPropertySymbols(e)):t};se.prototype.listeners=function(t){var e=ue?ue+t:t,n=this._events[e];if(!n)return[];if(n.fn)return[n.fn];for(var i=0,s=n.length,o=new Array(s);i<s;i++)o[i]=n[i].fn;return o};se.prototype.listenerCount=function(t){var e=ue?ue+t:t,n=this._events[e];return n?n.fn?1:n.length:0};se.prototype.emit=function(t,e,n,i,s,o){var a=ue?ue+t:t;if(!this._events[a])return!1;var c=this._events[a],u=arguments.length,l,f;if(c.fn){switch(c.once&&this.removeListener(t,c.fn,void 0,!0),u){case 1:return c.fn.call(c.context),!0;case 2:return c.fn.call(c.context,e),!0;case 3:return c.fn.call(c.context,e,n),!0;case 4:return c.fn.call(c.context,e,n,i),!0;case 5:return c.fn.call(c.context,e,n,i,s),!0;case 6:return c.fn.call(c.context,e,n,i,s,o),!0}for(f=1,l=new Array(u-1);f<u;f++)l[f-1]=arguments[f];c.fn.apply(c.context,l)}else{var d=c.length,h;for(f=0;f<d;f++)switch(c[f].once&&this.removeListener(t,c[f].fn,void 0,!0),u){case 1:c[f].fn.call(c[f].context);break;case 2:c[f].fn.call(c[f].context,e);break;case 3:c[f].fn.call(c[f].context,e,n);break;case 4:c[f].fn.call(c[f].context,e,n,i);break;default:if(!l)for(h=1,l=new Array(u-1);h<u;h++)l[h-1]=arguments[h];c[f].fn.apply(c[f].context,l)}}return!0};se.prototype.on=function(t,e,n){return nw(this,t,e,n,!1)};se.prototype.once=function(t,e,n){return nw(this,t,e,n,!0)};se.prototype.removeListener=function(t,e,n,i){var s=ue?ue+t:t;if(!this._events[s])return this;if(!e)return nc(this,s),this;var o=this._events[s];if(o.fn)o.fn===e&&(!i||o.once)&&(!n||o.context===n)&&nc(this,s);else{for(var a=0,c=[],u=o.length;a<u;a++)(o[a].fn!==e||i&&!o[a].once||n&&o[a].context!==n)&&c.push(o[a]);c.length?this._events[s]=c.length===1?c[0]:c:nc(this,s)}return this};se.prototype.removeAllListeners=function(t){var e;return t?(e=ue?ue+t:t,this._events[e]&&nc(this,e)):(this._events=new Ws,this._eventsCount=0),this};se.prototype.off=se.prototype.removeListener;se.prototype.addListener=se.prototype.on;se.prefixed=ue;se.EventEmitter=se;typeof mf<"u"&&(mf.exports=se)});var Sw=I((IN,_w)=>{"use strict";_w.exports=bw;var jS=Tc(),yn=bw.prototype,tA=new Date%1e9;function eA(){return(Math.random()*1e9>>>0)+tA++}function bw(r){r=r||{},this.id=r.id||eA(),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 t,e,n=this.items.length;n--;)t=this.items[n],e=new Date(t.expires)-new Date,this._lookup[t.key]=t,e>0?this.expire(t.key,e):e<=0&&this.delete(t.key)}yn.has=function(r){return r in this._lookup};yn.get=function(r){if(!this.has(r))return null;var t=this._lookup[r];return t.refresh&&this.expire(r,t.refresh),this.items.splice(this.items.indexOf(t),1),this.items.push(t),t.value};yn.meta=function(r){if(!this.has(r))return null;var t=this._lookup[r];return"meta"in t?t.meta:null};yn.set=function(r,t,e){var n=this._lookup[r],i=this._lookup[r]={key:r,value:t};return this.lastModified=new Date,n?(clearTimeout(n.timeout),this.items.splice(this.items.indexOf(n),1,i)):(this.size>=this.max&&this.delete(this.items[0].key),this.items.push(i),this.size++),e&&("ttl"in e&&this.expire(r,e.ttl),"meta"in e&&(i.meta=e.meta),e.refresh&&(i.refresh=e.ttl)),this};yn.delete=function(r){var t=this._lookup[r];return t?(this.lastModified=new Date,this.items.splice(this.items.indexOf(t),1),clearTimeout(t.timeout),delete this._lookup[r],this.size--,this):!1};yn.expire=function(r,t){var e=t||0,n=this._lookup[r];if(!n)return this;if(typeof e=="string"&&(e=jS(t)),typeof e!="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),e),n.expires=Number(new Date)+e,this};yn.clear=function(){for(var r=this.items.length;r--;)this.delete(this.items[r].key);return this};yn.toJSON=function(){for(var r=new Array(this.items.length),t,e=r.length;e--;)t=this.items[e],r[e]={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:r}}});var $f=I((fk,qf)=>{function Nw(r){let t=new globalThis.AbortController;function e(){t.abort();for(let n of r)!n||!n.removeEventListener||n.removeEventListener("abort",e)}for(let n of r)if(!(!n||!n.addEventListener)){if(n.aborted){e();break}n.addEventListener("abort",e)}return t.signal}qf.exports=Nw;qf.exports.anySignal=Nw});var Ow=I((dk,kw)=>{kw.exports=class{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}peek(){return this.buffer[this.btm]}isEmpty(){return this.buffer[this.btm]===void 0}}});var Fw=I((mk,Uw)=>{var Mw=Ow();Uw.exports=class{constructor(t){this.hwm=t||16,this.head=new Mw(this.hwm),this.tail=this.head}push(t){if(!this.head.push(t)){let e=this.head;this.head=e.next=new Mw(2*this.head.buffer.length),this.head.push(t)}}shift(){let t=this.tail.shift();if(t===void 0&&this.tail.next){let e=this.tail.next;return this.tail.next=null,this.tail=e,this.tail.shift()}return t}peek(){return this.tail.peek()}isEmpty(){return this.head.isEmpty()}}});var Vw=I((yk,Kw)=>{"use strict";var cA=()=>{let r={};return r.promise=new Promise((t,e)=>{r.resolve=t,r.reject=e}),r};Kw.exports=cA});var Hw=I((wk,zw)=>{var qw=Fw(),$w=Vw();zw.exports=class{constructor(){this._buffer=new qw,this._waitingConsumers=new qw}push(t){let{promise:e,resolve:n}=$w();return this._buffer.push({chunk:t,resolve:n}),this._consume(),e}_consume(){for(;!this._waitingConsumers.isEmpty()&&!this._buffer.isEmpty();){let t=this._waitingConsumers.shift(),e=this._buffer.shift();t.resolve(e.chunk),e.resolve()}}shift(){let{promise:t,resolve:e}=$w();return this._waitingConsumers.push({resolve:e}),this._consume(),t}isEmpty(){return this._buffer.isEmpty()}}});var hA={};ne(hA,{createLibp2p:()=>fA});var Ze=C(Cc(),1);var Nc={};ne(Nc,{base58btc:()=>Ot,base58flickr:()=>b1});function g1(r,t){if(r.length>=255)throw new TypeError("Alphabet too long");for(var e=new Uint8Array(256),n=0;n<e.length;n++)e[n]=255;for(var i=0;i<r.length;i++){var s=r.charAt(i),o=s.charCodeAt(0);if(e[o]!==255)throw new TypeError(s+" is ambiguous");e[o]=i}var a=r.length,c=r.charAt(0),u=Math.log(a)/Math.log(256),l=Math.log(256)/Math.log(a);function f(p){if(p instanceof Uint8Array||(ArrayBuffer.isView(p)?p=new Uint8Array(p.buffer,p.byteOffset,p.byteLength):Array.isArray(p)&&(p=Uint8Array.from(p))),!(p instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(p.length===0)return"";for(var m=0,y=0,g=0,E=p.length;g!==E&&p[g]===0;)g++,m++;for(var b=(E-g)*l+1>>>0,O=new Uint8Array(b);g!==E;){for(var B=p[g],D=0,Q=b-1;(B!==0||D<y)&&Q!==-1;Q--,D++)B+=256*O[Q]>>>0,O[Q]=B%a>>>0,B=B/a>>>0;if(B!==0)throw new Error("Non-zero carry");y=D,g++}for(var Z=b-y;Z!==b&&O[Z]===0;)Z++;for(var Wt=c.repeat(m);Z<b;++Z)Wt+=r.charAt(O[Z]);return Wt}function d(p){if(typeof p!="string")throw new TypeError("Expected String");if(p.length===0)return new Uint8Array;var m=0;if(p[m]!==" "){for(var y=0,g=0;p[m]===c;)y++,m++;for(var E=(p.length-m)*u+1>>>0,b=new Uint8Array(E);p[m];){var O=e[p.charCodeAt(m)];if(O===255)return;for(var B=0,D=E-1;(O!==0||B<g)&&D!==-1;D--,B++)O+=a*b[D]>>>0,b[D]=O%256>>>0,O=O/256>>>0;if(O!==0)throw new Error("Non-zero carry");g=B,m++}if(p[m]!==" "){for(var Q=E-g;Q!==E&&b[Q]===0;)Q++;for(var Z=new Uint8Array(y+(E-Q)),Wt=y;Q!==E;)Z[Wt++]=b[Q++];return Z}}}function h(p){var m=d(p);if(m)return m;throw new Error(`Non-${t} character`)}return{encode:f,decodeUnsafe:d,decode:h}}var w1=g1,E1=w1,Jf=E1;var gA=new Uint8Array(0);var jf=(r,t)=>{if(r===t)return!0;if(r.byteLength!==t.byteLength)return!1;for(let e=0;e<r.byteLength;e++)if(r[e]!==t[e])return!1;return!0},wr=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 th=r=>new TextEncoder().encode(r),eh=r=>new TextDecoder().decode(r);var Bc=class{constructor(t,e,n){this.name=t,this.prefix=e,this.baseEncode=n}encode(t){if(t instanceof Uint8Array)return`${this.prefix}${this.baseEncode(t)}`;throw Error("Unknown type, must be binary type")}},Dc=class{constructor(t,e,n){if(this.name=t,this.prefix=e,e.codePointAt(0)===void 0)throw new Error("Invalid prefix character");this.prefixCodePoint=e.codePointAt(0),this.baseDecode=n}decode(t){if(typeof t=="string"){if(t.codePointAt(0)!==this.prefixCodePoint)throw Error(`Unable to decode multibase string ${JSON.stringify(t)}, ${this.name} decoder only supports inputs prefixed with ${this.prefix}`);return this.baseDecode(t.slice(this.prefix.length))}else throw Error("Can only multibase decode strings")}or(t){return nh(this,t)}},Lc=class{constructor(t){this.decoders=t}or(t){return nh(this,t)}decode(t){let e=t[0],n=this.decoders[e];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`)}},nh=(r,t)=>new Lc({...r.decoders||{[r.prefix]:r},...t.decoders||{[t.prefix]:t}}),Pc=class{constructor(t,e,n,i){this.name=t,this.prefix=e,this.baseEncode=n,this.baseDecode=i,this.encoder=new Bc(t,e,n),this.decoder=new Dc(t,e,i)}encode(t){return this.encoder.encode(t)}decode(t){return this.decoder.decode(t)}},ni=({name:r,prefix:t,encode:e,decode:n})=>new Pc(r,t,e,n),Vr=({prefix:r,name:t,alphabet:e})=>{let{encode:n,decode:i}=Jf(e,t);return ni({prefix:r,name:t,encode:n,decode:s=>wr(i(s))})},x1=(r,t,e,n)=>{let i={};for(let l=0;l<t.length;++l)i[t[l]]=l;let s=r.length;for(;r[s-1]==="=";)--s;let o=new Uint8Array(s*e/8|0),a=0,c=0,u=0;for(let l=0;l<s;++l){let f=i[r[l]];if(f===void 0)throw new SyntaxError(`Non-${n} character`);c=c<<e|f,a+=e,a>=8&&(a-=8,o[u++]=255&c>>a)}if(a>=e||255&c<<8-a)throw new SyntaxError("Unexpected end of data");return o},v1=(r,t,e)=>{let n=t[t.length-1]==="=",i=(1<<e)-1,s="",o=0,a=0;for(let c=0;c<r.length;++c)for(a=a<<8|r[c],o+=8;o>e;)o-=e,s+=t[i&a>>o];if(o&&(s+=t[i&a<<e-o]),n)for(;s.length*e&7;)s+="=";return s},Bt=({name:r,prefix:t,bitsPerChar:e,alphabet:n})=>ni({prefix:t,name:r,encode(i){return v1(i,n,e)},decode(i){return x1(i,n,e,r)}});var Ot=Vr({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),b1=Vr({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var kc={};ne(kc,{base32:()=>ye,base32hex:()=>R1,base32hexpad:()=>T1,base32hexpadupper:()=>C1,base32hexupper:()=>I1,base32pad:()=>S1,base32padupper:()=>A1,base32upper:()=>_1,base32z:()=>B1});var ye=Bt({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),_1=Bt({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),S1=Bt({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),A1=Bt({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),R1=Bt({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),I1=Bt({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),T1=Bt({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),C1=Bt({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),B1=Bt({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var Oc={};ne(Oc,{base64:()=>wn,base64pad:()=>D1,base64url:()=>L1,base64urlpad:()=>P1});var wn=Bt({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),D1=Bt({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),L1=Bt({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),P1=Bt({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});Ze.default.formatters.b=r=>r==null?"undefined":Ot.baseEncode(r);Ze.default.formatters.t=r=>r==null?"undefined":ye.baseEncode(r);Ze.default.formatters.m=r=>r==null?"undefined":wn.baseEncode(r);Ze.default.formatters.p=r=>r==null?"undefined":r.toString();Ze.default.formatters.c=r=>r==null?"undefined":r.toString();Ze.default.formatters.k=r=>r==null?"undefined":r.toString();function U(r){return Object.assign((0,Ze.default)(r),{error:(0,Ze.default)(`${r}:error`),trace:(0,Ze.default)(`${r}:trace`)})}var En=function(r,t,e,n){if(e==="a"&&!n)throw new TypeError("Private accessor was defined without a getter");if(typeof t=="function"?r!==t||!n:!t.has(r))throw new TypeError("Cannot read private member from an object whose class did not declare it");return e==="m"?n:e==="a"?n.call(r):n?n.value:t.get(r)},Er,Dt=class extends EventTarget{constructor(){super(...arguments),Er.set(this,new Map)}listenerCount(t){let e=En(this,Er,"f").get(t);return e==null?0:e.length}addEventListener(t,e,n){super.addEventListener(t,e,n);let i=En(this,Er,"f").get(t);i==null&&(i=[],En(this,Er,"f").set(t,i)),i.push({callback:e,once:(n!==!0&&n!==!1&&n?.once)??!1})}removeEventListener(t,e,n){super.removeEventListener(t.toString(),e??null,n);let i=En(this,Er,"f").get(t);i!=null&&(i=i.filter(({callback:s})=>s!==e),En(this,Er,"f").set(t,i))}dispatchEvent(t){let e=super.dispatchEvent(t),n=En(this,Er,"f").get(t.type);return n==null||(n=n.filter(({once:i})=>!i),En(this,Er,"f").set(t.type,n)),e}safeDispatchEvent(t,e){return this.dispatchEvent(new $(t,e))}};Er=new WeakMap;var Mc=class extends Event{constructor(t,e){super(t,e),this.detail=e?.detail}},$=globalThis.CustomEvent??Mc;function xr(r){return r!=null&&typeof r.start=="function"&&typeof r.stop=="function"}var co=class{index=0;input="";new(t){return this.index=0,this.input=t,this}readAtomically(t){let e=this.index,n=t();return n===void 0&&(this.index=e),n}parseWith(t){let e=t();if(this.index===this.input.length)return e}peekChar(){if(!(this.index>=this.input.length))return this.input[this.index]}readChar(){if(!(this.index>=this.input.length))return this.input[this.index++]}readGivenChar(t){return this.readAtomically(()=>{let e=this.readChar();if(e===t)return e})}readSeparator(t,e,n){return this.readAtomically(()=>{if(!(e>0&&this.readGivenChar(t)===void 0))return n()})}readNumber(t,e,n,i){return this.readAtomically(()=>{let s=0,o=0,a=this.peekChar();if(a===void 0)return;let c=a==="0",u=2**(8*i)-1;for(;;){let l=this.readAtomically(()=>{let f=this.readChar();if(f===void 0)return;let d=Number.parseInt(f,t);if(!Number.isNaN(d))return d});if(l===void 0)break;if(s*=t,s+=l,s>u||(o+=1,e!==void 0&&o>e))return}if(o!==0)return!n&&c&&o>1?void 0:s})}readIPv4Addr(){return this.readAtomically(()=>{let t=new Uint8Array(4);for(let e=0;e<t.length;e++){let n=this.readSeparator(".",e,()=>this.readNumber(10,3,!1,1));if(n===void 0)return;t[e]=n}return t})}readIPv6Addr(){let t=e=>{for(let n=0;n<e.length/2;n++){let i=n*2;if(n<e.length-3){let o=this.readSeparator(":",n,()=>this.readIPv4Addr());if(o!==void 0)return e[i]=o[0],e[i+1]=o[1],e[i+2]=o[2],e[i+3]=o[3],[i+4,!0]}let s=this.readSeparator(":",n,()=>this.readNumber(16,4,!0,2));if(s===void 0)return[i,!1];e[i]=s>>8,e[i+1]=s&255}return[e.length,!1]};return this.readAtomically(()=>{let e=new Uint8Array(16),[n,i]=t(e);if(n===16)return e;if(i||this.readGivenChar(":")===void 0||this.readGivenChar(":")===void 0)return;let s=new Uint8Array(14),o=16-(n+2),[a]=t(s.subarray(0,o));return e.set(s.subarray(0,a),16-a),e})}readIPAddr(){return this.readIPv4Addr()??this.readIPv6Addr()}};var ih=45,N1=15,ii=new co;function sh(r){if(!(r.length>N1))return ii.new(r).parseWith(()=>ii.readIPv4Addr())}function oh(r){if(!(r.length>ih))return ii.new(r).parseWith(()=>ii.readIPv6Addr())}function ah(r){if(!(r.length>ih))return ii.new(r).parseWith(()=>ii.readIPAddr())}function ch(r){return!!sh(r)}function uh(r){return!!oh(r)}function si(r){return!!ah(r)}var Uc={};ne(Uc,{identity:()=>k1});var k1=ni({prefix:"\0",name:"identity",encode:r=>eh(r),decode:r=>th(r)});var Fc={};ne(Fc,{base2:()=>O1});var O1=Bt({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var Kc={};ne(Kc,{base8:()=>M1});var M1=Bt({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var Vc={};ne(Vc,{base10:()=>U1});var U1=Vr({prefix:"9",name:"base10",alphabet:"0123456789"});var qc={};ne(qc,{base16:()=>F1,base16upper:()=>K1});var F1=Bt({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),K1=Bt({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var $c={};ne($c,{base36:()=>V1,base36upper:()=>q1});var V1=Vr({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),q1=Vr({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var zc={};ne(zc,{base256emoji:()=>Y1});var lh=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}"),$1=lh.reduce((r,t,e)=>(r[e]=t,r),[]),z1=lh.reduce((r,t,e)=>(r[t.codePointAt(0)]=e,r),[]);function H1(r){return r.reduce((t,e)=>(t+=$1[e],t),"")}function G1(r){let t=[];for(let e of r){let n=z1[e.codePointAt(0)];if(n===void 0)throw new Error(`Non-base256emoji character: ${e}`);t.push(n)}return new Uint8Array(t)}var Y1=ni({prefix:"\u{1F680}",name:"base256emoji",encode:H1,decode:G1});var Wc={};ne(Wc,{sha256:()=>ie,sha512:()=>hE});var W1=dh,fh=128,Q1=127,X1=~Q1,Z1=Math.pow(2,31);function dh(r,t,e){t=t||[],e=e||0;for(var n=e;r>=Z1;)t[e++]=r&255|fh,r/=128;for(;r&X1;)t[e++]=r&255|fh,r>>>=7;return t[e]=r|0,dh.bytes=e-n+1,t}var J1=Hc,j1=128,hh=127;function Hc(r,n){var e=0,n=n||0,i=0,s=n,o,a=r.length;do{if(s>=a)throw Hc.bytes=0,new RangeError("Could not decode varint");o=r[s++],e+=i<28?(o&hh)<<i:(o&hh)*Math.pow(2,i),i+=7}while(o>=j1);return Hc.bytes=s-n,e}var tE=Math.pow(2,7),eE=Math.pow(2,14),rE=Math.pow(2,21),nE=Math.pow(2,28),iE=Math.pow(2,35),sE=Math.pow(2,42),oE=Math.pow(2,49),aE=Math.pow(2,56),cE=Math.pow(2,63),uE=function(r){return r<tE?1:r<eE?2:r<rE?3:r<nE?4:r<iE?5:r<sE?6:r<oE?7:r<aE?8:r<cE?9:10},lE={encode:W1,decode:J1,encodingLength:uE},fE=lE,Gi=fE;var Yi=(r,t=0)=>[Gi.decode(r,t),Gi.decode.bytes],oi=(r,t,e=0)=>(Gi.encode(r,t,e),t),ai=r=>Gi.encodingLength(r);var Je=(r,t)=>{let e=t.byteLength,n=ai(r),i=n+ai(e),s=new Uint8Array(i+e);return oi(r,s,0),oi(e,s,n),s.set(t,i),new ci(r,e,t,s)},xn=r=>{let t=wr(r),[e,n]=Yi(t),[i,s]=Yi(t.subarray(n)),o=t.subarray(n+s);if(o.byteLength!==i)throw new Error("Incorrect length");return new ci(e,i,o,t)},ph=(r,t)=>{if(r===t)return!0;{let e=t;return r.code===e.code&&r.size===e.size&&e.bytes instanceof Uint8Array&&jf(r.bytes,e.bytes)}},ci=class{constructor(t,e,n,i){this.code=t,this.size=e,this.digest=n,this.bytes=i}};var Yc=({name:r,code:t,encode:e})=>new Gc(r,t,e),Gc=class{constructor(t,e,n){this.name=t,this.code=e,this.encode=n}digest(t){if(t instanceof Uint8Array){let e=this.encode(t);return e instanceof Uint8Array?Je(this.code,e):e.then(n=>Je(this.code,n))}else throw Error("Unknown type, must be binary type")}};var yh=r=>async t=>new Uint8Array(await crypto.subtle.digest(r,t)),ie=Yc({name:"sha2-256",code:18,encode:yh("SHA-256")}),hE=Yc({name:"sha2-512",code:19,encode:yh("SHA-512")});var Qc={};ne(Qc,{identity:()=>qr});var gh=0,dE="identity",wh=wr,pE=r=>Je(gh,wh(r)),qr={code:gh,name:dE,encode:wh,digest:pE};var QA=new TextEncoder,XA=new TextDecoder;var Eh=(r,t)=>{let{bytes:e,version:n}=r;switch(n){case 0:return wE(e,Xc(r),t||Ot.encoder);default:return EE(e,Xc(r),t||ye.encoder)}};var xh=new WeakMap,Xc=r=>{let t=xh.get(r);if(t==null){let e=new Map;return xh.set(r,e),e}return t},pt=class{constructor(t,e,n,i){this.code=e,this.version=t,this.multihash=n,this.bytes=i,this["/"]=i}get asCID(){return this}get byteOffset(){return this.bytes.byteOffset}get byteLength(){return this.bytes.byteLength}toV0(){switch(this.version){case 0:return this;case 1:{let{code:t,multihash:e}=this;if(t!==Wi)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(e.code!==xE)throw new Error("Cannot convert non sha2-256 multihash CID to CIDv0");return pt.createV0(e)}default:throw Error(`Can not convert CID version ${this.version} to version 0. This is a bug please report`)}}toV1(){switch(this.version){case 0:{let{code:t,digest:e}=this.multihash,n=Je(t,e);return pt.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 pt.equals(this,t)}static equals(t,e){let n=e;return n&&t.code===n.code&&t.version===n.version&&ph(t.multihash,n.multihash)}toString(t){return Eh(this,t)}toJSON(){return{"/":Eh(this)}}link(){return this}get[Symbol.toStringTag](){return"CID"}[Symbol.for("nodejs.util.inspect.custom")](){return`CID(${this.toString()})`}static asCID(t){if(t==null)return null;let e=t;if(e instanceof pt)return e;if(e["/"]!=null&&e["/"]===e.bytes||e.asCID===e){let{version:n,code:i,multihash:s,bytes:o}=e;return new pt(n,i,s,o||vh(n,i,s.bytes))}else if(e[vE]===!0){let{version:n,multihash:i,code:s}=e,o=xn(i);return pt.create(n,s,o)}else return null}static create(t,e,n){if(typeof e!="number")throw new Error("String codecs are no longer supported");if(!(n.bytes instanceof Uint8Array))throw new Error("Invalid digest");switch(t){case 0:{if(e!==Wi)throw new Error(`Version 0 CID must use dag-pb (code: ${Wi}) block encoding`);return new pt(t,e,n,n.bytes)}case 1:{let i=vh(t,e,n.bytes);return new pt(t,e,n,i)}default:throw new Error("Invalid version")}}static createV0(t){return pt.create(0,Wi,t)}static createV1(t,e){return pt.create(1,t,e)}static decode(t){let[e,n]=pt.decodeFirst(t);if(n.length)throw new Error("Incorrect length");return e}static decodeFirst(t){let e=pt.inspectBytes(t),n=e.size-e.multihashSize,i=wr(t.subarray(n,n+e.multihashSize));if(i.byteLength!==e.multihashSize)throw new Error("Incorrect length");let s=i.subarray(e.multihashSize-e.digestSize),o=new ci(e.multihashCode,e.digestSize,s,i);return[e.version===0?pt.createV0(o):pt.createV1(e.codec,o),t.subarray(e.size)]}static inspectBytes(t){let e=0,n=()=>{let[f,d]=Yi(t.subarray(e));return e+=d,f},i=n(),s=Wi;if(i===18?(i=0,e=0):s=n(),i!==0&&i!==1)throw new RangeError(`Invalid CID version ${i}`);let o=e,a=n(),c=n(),u=e+c,l=u-o;return{version:i,codec:s,multihashCode:a,digestSize:c,multihashSize:l,size:u}}static parse(t,e){let[n,i]=gE(t,e),s=pt.decode(i);if(s.version===0&&t[0]!=="Q")throw Error("Version 0 CID string must not include multibase prefix");return Xc(s).set(n,t),s}},gE=(r,t)=>{switch(r[0]){case"Q":{let e=t||Ot;return[Ot.prefix,e.decode(`${Ot.prefix}${r}`)]}case Ot.prefix:{let e=t||Ot;return[Ot.prefix,e.decode(r)]}case ye.prefix:{let e=t||ye;return[ye.prefix,e.decode(r)]}default:{if(t==null)throw Error("To parse non base32 or base58btc encoded CID multibase decoder must be provided");return[r[0],t.decode(r)]}}},wE=(r,t,e)=>{let{prefix:n}=e;if(n!==Ot.prefix)throw Error(`Cannot string encode V0 in ${e.name} encoding`);let i=t.get(n);if(i==null){let s=e.encode(r).slice(1);return t.set(n,s),s}else return i},EE=(r,t,e)=>{let{prefix:n}=e,i=t.get(n);if(i==null){let s=e.encode(r);return t.set(n,s),s}else return i},Wi=112,xE=18,vh=(r,t,e)=>{let n=ai(r),i=n+ai(t),s=new Uint8Array(i+e.byteLength);return oi(r,s,0),oi(t,s,n),s.set(e,i),s},vE=Symbol.for("@ipld/js-cid/CID");var $r={...Uc,...Fc,...Kc,...Vc,...qc,...kc,...$c,...Nc,...Oc,...zc},oR={...Wc,...Qc};function bn(r){return globalThis.Buffer!=null?new Uint8Array(r.buffer,r.byteOffset,r.byteLength):r}function vr(r=0){return globalThis.Buffer?.alloc!=null?bn(globalThis.Buffer.alloc(r)):new Uint8Array(r)}function br(r=0){return globalThis.Buffer?.allocUnsafe!=null?bn(globalThis.Buffer.allocUnsafe(r)):new Uint8Array(r)}function _h(r,t,e,n){return{name:r,prefix:t,encoder:{name:r,prefix:t,encode:e},decoder:{decode:n}}}var bh=_h("utf8","u",r=>"u"+new TextDecoder("utf8").decode(r),r=>new TextEncoder().encode(r.substring(1))),Zc=_h("ascii","a",r=>{let t="a";for(let e=0;e<r.length;e++)t+=String.fromCharCode(r[e]);return t},r=>{r=r.substring(1);let t=br(r.length);for(let e=0;e<r.length;e++)t[e]=r.charCodeAt(e);return t}),bE={utf8:bh,"utf-8":bh,hex:$r.base16,latin1:Zc,ascii:Zc,binary:Zc,...$r},lo=bE;function z(r,t="utf8"){let e=lo[t];if(e==null)throw new Error(`Unsupported encoding "${t}"`);return(t==="utf8"||t==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?globalThis.Buffer.from(r.buffer,r.byteOffset,r.byteLength).toString("utf8"):e.encoder.encode(r).substring(1)}var Sh=ch,_E=uh,Jc=function(r){let t=0;if(r=r.toString().trim(),Sh(r)){let e=new Uint8Array(t+4);return r.split(/\./g).forEach(n=>{e[t++]=parseInt(n,10)&255}),e}if(_E(r)){let e=r.split(":",8),n;for(n=0;n<e.length;n++){let s=Sh(e[n]),o;s&&(o=Jc(e[n]),e[n]=z(o.slice(0,2),"base16")),o!=null&&++n<8&&e.splice(n,0,z(o.slice(2,4),"base16"))}if(e[0]==="")for(;e.length<8;)e.unshift("0");else if(e[e.length-1]==="")for(;e.length<8;)e.push("0");else if(e.length<8){for(n=0;n<e.length&&e[n]!=="";n++);let s=[n,1];for(n=9-e.length;n>0;n--)s.push("0");e.splice.apply(e,s)}let i=new Uint8Array(t+16);for(n=0;n<e.length;n++){let s=parseInt(e[n],16);i[t++]=s>>8&255,i[t++]=s&255}return i}throw new Error("invalid ip address")},Ah=function(r,t=0,e){t=~~t,e=e??r.length-t;let n=new DataView(r.buffer);if(e===4){let i=[];for(let s=0;s<e;s++)i.push(r[t+s]);return i.join(".")}if(e===16){let i=[];for(let s=0;s<e;s+=2)i.push(n.getUint16(t+s).toString(16));return i.join(":").replace(/(^|:)0(:0)*:0(:|$)/,"$1::$3").replace(/:{3,4}/,"::")}return""};var Qi={},jc={},AE=[[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"]];AE.forEach(r=>{let t=RE(...r);jc[t.code]=t,Qi[t.name]=t});function RE(r,t,e,n,i){return{code:r,size:t,name:e,resolvable:!!n,path:!!i}}function ct(r){if(typeof r=="number"){if(jc[r]!=null)return jc[r];throw new Error(`no protocol with code: ${r}`)}else if(typeof r=="string"){if(Qi[r]!=null)return Qi[r];throw new Error(`no protocol with name: ${r}`)}throw new Error(`invalid protocol id type: ${typeof r}`)}var je=C(fo(),1);function F(r,t="utf8"){let e=lo[t];if(e==null)throw new Error(`Unsupported encoding "${t}"`);return(t==="utf8"||t==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?bn(globalThis.Buffer.from(r,"utf-8")):e.decoder.decode(`${e.prefix}${r}`)}function Mt(r,t){t==null&&(t=r.reduce((i,s)=>i+s.length,0));let e=br(t),n=0;for(let i of r)e.set(i,n),n+=i.length;return bn(e)}function Fh(r,t){switch(ct(r).code){case 4:case 41:return VE(t);case 42:return Mh(t);case 6:case 273:case 33:case 132:return Vh(t).toString();case 53:case 54:case 55:case 56:case 400:case 449:case 777:return Mh(t);case 421:return HE(t);case 444:return Uh(t);case 445:return Uh(t);case 466:return zE(t);default:return z(t,"base16")}}function Kh(r,t){switch(ct(r).code){case 4:return kh(t);case 41:return kh(t);case 42:return Oh(t);case 6:case 273:case 33:case 132:return nu(parseInt(t,10));case 53:case 54:case 55:case 56:case 400:case 449:case 777:return Oh(t);case 421:return qE(t);case 444:return GE(t);case 445:return YE(t);case 466:return $E(t);default:return F(t,"base16")}}var ru=Object.values($r).map(r=>r.decoder),KE=function(){let r=ru[0].or(ru[1]);return ru.slice(2).forEach(t=>r=r.or(t)),r}();function kh(r){if(!si(r))throw new Error("invalid ip address");return Jc(r)}function VE(r){let t=Ah(r,0,r.length);if(t==null)throw new Error("ipBuff is required");if(!si(t))throw new Error("invalid ip address");return t}function nu(r){let t=new ArrayBuffer(2);return new DataView(t).setUint16(0,r),new Uint8Array(t)}function Vh(r){return new DataView(r.buffer).getUint16(r.byteOffset)}function Oh(r){let t=F(r),e=Uint8Array.from(je.default.encode(t.length));return Mt([e,t],e.length+t.length)}function Mh(r){let t=je.default.decode(r);if(r=r.slice(je.default.decode.bytes),r.length!==t)throw new Error("inconsistent lengths");return z(r)}function qE(r){let t;r[0]==="Q"||r[0]==="1"?t=xn(Ot.decode(`z${r}`)).bytes:t=pt.parse(r).multihash.bytes;let e=Uint8Array.from(je.default.encode(t.length));return Mt([e,t],e.length+t.length)}function $E(r){let t=KE.decode(r),e=Uint8Array.from(je.default.encode(t.length));return Mt([e,t],e.length+t.length)}function zE(r){let t=je.default.decode(r),e=r.slice(je.default.decode.bytes);if(e.length!==t)throw new Error("inconsistent lengths");return"u"+z(e,"base64url")}function HE(r){let t=je.default.decode(r),e=r.slice(je.default.decode.bytes);if(e.length!==t)throw new Error("inconsistent lengths");return z(e,"base58btc")}function GE(r){let t=r.split(":");if(t.length!==2)throw new Error(`failed to parse onion addr: ["'${t.join('", "')}'"]' does not contain a port number`);if(t[0].length!==16)throw new Error(`failed to parse onion addr: ${t[0]} not a Tor onion address.`);let e=ye.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 i=nu(n);return Mt([e,i],e.length+i.length)}function YE(r){let t=r.split(":");if(t.length!==2)throw new Error(`failed to parse onion addr: ["'${t.join('", "')}'"]' does not contain a port number`);if(t[0].length!==56)throw new Error(`failed to parse onion addr: ${t[0]} not a Tor onion3 address.`);let e=ye.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 i=nu(n);return Mt([e,i],e.length+i.length)}function Uh(r){let t=r.slice(0,r.length-2),e=r.slice(r.length-2),n=z(t,"base32"),i=Vh(e);return`${n}:${i}`}var ui=C(fo(),1);function WE(r){let t=[],e=r.split("/").slice(1);if(e.length===1&&e[0]==="")return[];for(let n=0;n<e.length;n++){let i=e[n],s=ct(i);if(s.size===0){t.push([i]);continue}if(n++,n>=e.length)throw $h("invalid address: "+r);if(s.path===!0){t.push([i,cu(e.slice(n).join("/"))]);break}t.push([i,e[n]])}return t}function QE(r){let t=[];return r.map(e=>{let n=mo(e);return t.push(n.name),e.length>1&&e[1]!=null&&t.push(e[1]),null}),cu(t.join("/"))}function XE(r){return r.map(t=>{Array.isArray(t)||(t=[t]);let e=mo(t);return t.length>1?[e.code,Kh(e.code,t[1])]:[e.code]})}function iu(r){return r.map(t=>{let e=mo(t);return t[1]!=null?[e.code,Fh(e.code,t[1])]:[e.code]})}function su(r){return po(Mt(r.map(t=>{let e=mo(t),n=Uint8Array.from(ui.default.encode(e.code));return t.length>1&&t[1]!=null&&(n=Mt([n,t[1]])),n})))}function ou(r,t){return r.size>0?r.size/8:r.size===0?0:ui.default.decode(t)+(ui.default.decode.bytes??0)}function ho(r){let t=[],e=0;for(;e<r.length;){let n=ui.default.decode(r,e),i=ui.default.decode.bytes??0,s=ct(n),o=ou(s,r.slice(e+i));if(o===0){t.push([n]),e+=i;continue}let a=r.slice(e+i,e+i+o);if(e+=o+i,e>r.length)throw $h("Invalid address Uint8Array: "+z(r,"base16"));t.push([n,a])}return t}function au(r){let t=ho(r),e=iu(t);return QE(e)}function ZE(r){r=cu(r);let t=WE(r),e=XE(t);return su(e)}function qh(r){return ZE(r)}function po(r){let t=JE(r);if(t!=null)throw t;return Uint8Array.from(r)}function JE(r){try{ho(r)}catch(t){return t}}function cu(r){return"/"+r.trim().split("/").filter(t=>t).join("/")}function $h(r){return new Error("Error parsing address: "+r)}function mo(r){return ct(r[0])}var lu=C(fo(),1);var Yh=C(lt(),1);function mt(r,t){if(r===t)return!0;if(r.byteLength!==t.byteLength)return!1;for(let e=0;e<r.byteLength;e++)if(r[e]!==t[e])return!1;return!0}var li=function(r,t,e,n){if(e==="a"&&!n)throw new TypeError("Private accessor was defined without a getter");if(typeof t=="function"?r!==t||!n:!t.has(r))throw new TypeError("Cannot read private member from an object whose class did not declare it");return e==="m"?n:e==="a"?n.call(r):n?n.value:t.get(r)},uu=function(r,t,e,n,i){if(n==="m")throw new TypeError("Private method is not writable");if(n==="a"&&!i)throw new TypeError("Private accessor was defined without a setter");if(typeof t=="function"?r!==t||!i:!t.has(r))throw new TypeError("Cannot write private member to an object whose class did not declare it");return n==="a"?i.call(r,e):i?i.value=e:t.set(r,e),e},Xi,Zi,Ji,Gh,ex=Symbol.for("nodejs.util.inspect.custom"),rx=[ct("dns").code,ct("dns4").code,ct("dns6").code,ct("dnsaddr").code],fu=new Map,Wh=Symbol.for("@multiformats/js-multiaddr/multiaddr");function Qh(r,t){if(r==null)throw new Error("requires node address object");if(t==null)throw new Error("requires transport protocol");let e,n=r.address;switch(r.family){case 4:e="ip4";break;case 6:if(e="ip6",n.includes("%")){let i=n.split("%");if(i.length!==2)throw Error("Multiple ip6 zones in multiaddr");n=i[0],e=`/ip6zone/${i[1]}/ip6`}break;default:throw Error("Invalid addr family, should be 4 or 6.")}return new tr("/"+[e,n,t,r.port].join("/"))}function ge(r){return!!r?.[Wh]}var tr=class{constructor(t){if(Xi.set(this,void 0),Zi.set(this,void 0),Ji.set(this,void 0),this[Gh]=!0,t==null&&(t=""),t instanceof Uint8Array)this.bytes=po(t);else if(typeof t=="string"){if(t.length>0&&t.charAt(0)!=="/")throw new Error(`multiaddr "${t}" must start with a "/"`);this.bytes=qh(t)}else if(ge(t))this.bytes=po(t.bytes);else throw new Error("addr must be a string, Buffer, or another Multiaddr")}toString(){return li(this,Xi,"f")==null&&uu(this,Xi,au(this.bytes),"f"),li(this,Xi,"f")}toJSON(){return this.toString()}toOptions(){let t,e,n,i,s="",o=ct("tcp"),a=ct("udp"),c=ct("ip4"),u=ct("ip6"),l=ct("dns6"),f=ct("ip6zone");for(let[h,p]of this.stringTuples())h===f.code&&(s=`%${p??""}`),rx.includes(h)&&(e=o.name,i=443,n=`${p??""}${s}`,t=h===l.code?6:4),(h===o.code||h===a.code)&&(e=ct(h).name,i=parseInt(p??"")),(h===c.code||h===u.code)&&(e=ct(h).name,n=`${p??""}${s}`,t=h===u.code?6:4);if(t==null||e==null||n==null||i==null)throw new Error('multiaddr must have a valid format: "/{ip4, ip6, dns4, dns6, dnsaddr}/{address}/{tcp, udp}/{port}".');return{family:t,host:n,transport:e,port:i}}protos(){return this.protoCodes().map(t=>Object.assign({},ct(t)))}protoCodes(){let t=[],e=this.bytes,n=0;for(;n<e.length;){let i=lu.default.decode(e,n),s=lu.default.decode.bytes??0,o=ct(i),a=ou(o,e.slice(n+s));n+=a+s,t.push(i)}return t}protoNames(){return this.protos().map(t=>t.name)}tuples(){return li(this,Zi,"f")==null&&uu(this,Zi,ho(this.bytes),"f"),li(this,Zi,"f")}stringTuples(){return li(this,Ji,"f")==null&&uu(this,Ji,iu(this.tuples()),"f"),li(this,Ji,"f")}encapsulate(t){return t=new tr(t),new tr(this.toString()+t.toString())}decapsulate(t){let e=t.toString(),n=this.toString(),i=n.lastIndexOf(e);if(i<0)throw new Error(`Address ${this.toString()} does not contain subaddress: ${t.toString()}`);return new tr(n.slice(0,i))}decapsulateCode(t){let e=this.tuples();for(let n=e.length-1;n>=0;n--)if(e[n][0]===t)return new tr(su(e.slice(0,n)));return this}getPeerId(){try{let e=this.stringTuples().filter(n=>n[0]===Qi.ipfs.code).pop();if(e?.[1]!=null){let n=e[1];return n[0]==="Q"||n[0]==="1"?z(Ot.decode(`z${n}`),"base58btc"):z(pt.parse(n).multihash.bytes,"base58btc")}return null}catch{return null}}getPath(){let t=null;try{t=this.stringTuples().filter(e=>ct(e[0]).path===!0)[0][1],t==null&&(t=null)}catch{t=null}return t}equals(t){return mt(this.bytes,t.bytes)}async resolve(t){let e=this.protos().find(s=>s.resolvable);if(e==null)return[this];let n=fu.get(e.name);if(n==null)throw(0,Yh.default)(new Error(`no available resolver for ${e.name}`),"ERR_NO_AVAILABLE_RESOLVER");return(await n(this,t)).map(s=>new tr(s))}nodeAddress(){let t=this.toOptions();if(t.transport!=="tcp"&&t.transport!=="udp")throw new Error(`multiaddr must have a valid format - no protocol with name: "${t.transport}". Must have a valid transport protocol: "{tcp, udp}"`);return{family:t.family,address:t.host,port:t.port}}isThinWaistAddress(t){let e=(t??this).protos();return!(e.length!==2||e[0].code!==4&&e[0].code!==41||e[1].code!==6&&e[1].code!==273)}[(Xi=new WeakMap,Zi=new WeakMap,Ji=new WeakMap,Gh=Wh,ex)](){return`Multiaddr(${au(this.bytes)})`}};function Lt(r){return new tr(r)}async function hu(r){let t=[];for await(let e of r)t.push(e);return t}var du=(r,t)=>async function*(){yield*(await hu(r)).sort(t)}();async function Me(r){for await(let t of r);}async function*Re(r,t){for await(let e of r)await t(e)&&(yield e)}async function*yo(r,t){let e=0;if(!(t<1)){for await(let n of r)if(yield n,e++,e===t)return}}var go=class{open(){return Promise.reject(new Error(".open is not implemented"))}close(){return Promise.reject(new Error(".close is not implemented"))}put(t,e,n){return Promise.reject(new Error(".put is not implemented"))}get(t,e){return Promise.reject(new Error(".get is not implemented"))}has(t,e){return Promise.reject(new Error(".has is not implemented"))}delete(t,e){return Promise.reject(new Error(".delete is not implemented"))}async*putMany(t,e={}){for await(let{key:n,value:i}of t)await this.put(n,i,e),yield{key:n,value:i}}async*getMany(t,e={}){for await(let n of t)yield this.get(n,e)}async*deleteMany(t,e={}){for await(let n of t)await this.delete(n,e),yield n}batch(){let t=[],e=[];return{put(n,i){t.push({key:n,value:i})},delete(n){e.push(n)},commit:async n=>{await Me(this.putMany(t,n)),t=[],await Me(this.deleteMany(e,n)),e=[]}}}async*_all(t,e){throw new Error("._all is not implemented")}async*_allKeys(t,e){throw new Error("._allKeys is not implemented")}query(t,e){let n=this._all(t,e);if(t.prefix!=null&&(n=Re(n,i=>i.key.toString().startsWith(t.prefix))),Array.isArray(t.filters)&&(n=t.filters.reduce((i,s)=>Re(i,s),n)),Array.isArray(t.orders)&&(n=t.orders.reduce((i,s)=>du(i,s),n)),t.offset!=null){let i=0;n=Re(n,()=>i++>=t.offset)}return t.limit!=null&&(n=yo(n,t.limit)),n}queryKeys(t,e){let n=this._allKeys(t,e);if(t.prefix!=null&&(n=Re(n,i=>i.toString().startsWith(t.prefix))),Array.isArray(t.filters)&&(n=t.filters.reduce((i,s)=>Re(i,s),n)),Array.isArray(t.orders)&&(n=t.orders.reduce((i,s)=>du(i,s),n)),t.offset!=null){let i=0;n=Re(n,()=>i++>=t.offset)}return t.limit!=null&&(n=yo(n,t.limit)),n}};var wo=(r=21)=>crypto.getRandomValues(new Uint8Array(r)).reduce((t,e)=>(e&=63,e<36?t+=e.toString(36):e<62?t+=(e-26).toString(36).toUpperCase():e>62?t+="-":t+="_",t),"");var _r="/",Xh=new TextEncoder().encode(_r),Eo=Xh[0],Pt=class{constructor(t,e){if(typeof t=="string")this._buf=F(t);else if(t instanceof Uint8Array)this._buf=t;else throw new Error("Invalid key, should be String of Uint8Array");if(e==null&&(e=!0),e&&this.clean(),this._buf.byteLength===0||this._buf[0]!==Eo)throw new Error("Invalid key")}toString(t="utf8"){return z(this._buf,t)}uint8Array(){return this._buf}get[Symbol.toStringTag](){return`Key(${this.toString()})`}static withNamespaces(t){return new Pt(t.join(_r))}static random(){return new Pt(wo().replace(/-/g,""))}static asKey(t){return t instanceof Uint8Array||typeof t=="string"?new Pt(t):typeof t.uint8Array=="function"?new Pt(t.uint8Array()):null}clean(){if((this._buf==null||this._buf.byteLength===0)&&(this._buf=Xh),this._buf[0]!==Eo){let t=new Uint8Array(this._buf.byteLength+1);t.fill(Eo,0,1),t.set(this._buf,1),this._buf=t}for(;this._buf.byteLength>1&&this._buf[this._buf.byteLength-1]===Eo;)this._buf=this._buf.subarray(0,-1)}less(t){let e=this.list(),n=t.list();for(let i=0;i<e.length;i++){if(n.length<i+1)return!1;let s=e[i],o=n[i];if(s<o)return!0;if(s>o)return!1}return e.length<n.length}reverse(){return Pt.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 nx(this.baseNamespace())}name(){return ix(this.baseNamespace())}instance(t){return new Pt(this.toString()+":"+t)}path(){let t=this.parent().toString();return t.endsWith(_r)||(t+=_r),t+=this.type(),new Pt(t)}parent(){let t=this.list();return t.length===1?new Pt(_r):new Pt(t.slice(0,-1).join(_r))}child(t){return this.toString()===_r?t:t.toString()===_r?this:new Pt(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 Pt.withNamespaces([...this.namespaces(),...sx(t.map(e=>e.namespaces()))])}};function nx(r){let t=r.split(":");return t.length<2?"":t.slice(0,-1).join(":")}function ix(r){let t=r.split(":");return t[t.length-1]}function sx(r){return[].concat(...r)}var Zh=C(lt(),1);function Jh(r){return r=r||new Error("Not Found"),(0,Zh.default)(r,"ERR_NOT_FOUND")}var xo=class extends go{constructor(){super(),this.data={}}open(){return Promise.resolve()}close(){return Promise.resolve()}async put(t,e){this.data[t.toString()]=e}async get(t){if(!await this.has(t))throw Jh();return this.data[t.toString()]}async has(t){return this.data[t.toString()]!==void 0}async delete(t){delete this.data[t.toString()]}async*_all(){yield*Object.entries(this.data).map(([t,e])=>({key:new Pt(t),value:e}))}async*_allKeys(){yield*Object.entries(this.data).map(([t])=>new Pt(t))}};var es=C(lt(),1);var Y;(function(r){r.NOT_STARTED_YET="The libp2p node is not started yet",r.DHT_DISABLED="DHT is not available",r.PUBSUB_DISABLED="PubSub is not available",r.CONN_ENCRYPTION_REQUIRED="At least one connection encryption module is required",r.ERR_TRANSPORTS_REQUIRED="At least one transport module is required",r.ERR_PROTECTOR_REQUIRED="Private network is enforced, but no protector was provided",r.NOT_FOUND="Not found"})(Y||(Y={}));var _;(function(r){r.DHT_DISABLED="ERR_DHT_DISABLED",r.ERR_PUBSUB_DISABLED="ERR_PUBSUB_DISABLED",r.PUBSUB_NOT_STARTED="ERR_PUBSUB_NOT_STARTED",r.DHT_NOT_STARTED="ERR_DHT_NOT_STARTED",r.CONN_ENCRYPTION_REQUIRED="ERR_CONN_ENCRYPTION_REQUIRED",r.ERR_TRANSPORTS_REQUIRED="ERR_TRANSPORTS_REQUIRED",r.ERR_PROTECTOR_REQUIRED="ERR_PROTECTOR_REQUIRED",r.ERR_PEER_DIAL_INTERCEPTED="ERR_PEER_DIAL_INTERCEPTED",r.ERR_CONNECTION_INTERCEPTED="ERR_CONNECTION_INTERCEPTED",r.ERR_INVALID_PROTOCOLS_FOR_STREAM="ERR_INVALID_PROTOCOLS_FOR_STREAM",r.ERR_CONNECTION_ENDED="ERR_CONNECTION_ENDED",r.ERR_CONNECTION_FAILED="ERR_CONNECTION_FAILED",r.ERR_NODE_NOT_STARTED="ERR_NODE_NOT_STARTED",r.ERR_ALREADY_ABORTED="ERR_ALREADY_ABORTED",r.ERR_TOO_MANY_ADDRESSES="ERR_TOO_MANY_ADDRESSES",r.ERR_NO_VALID_ADDRESSES="ERR_NO_VALID_ADDRESSES",r.ERR_RELAYED_DIAL="ERR_RELAYED_DIAL",r.ERR_DIALED_SELF="ERR_DIALED_SELF",r.ERR_DISCOVERED_SELF="ERR_DISCOVERED_SELF",r.ERR_DUPLICATE_TRANSPORT="ERR_DUPLICATE_TRANSPORT",r.ERR_ENCRYPTION_FAILED="ERR_ENCRYPTION_FAILED",r.ERR_HOP_REQUEST_FAILED="ERR_HOP_REQUEST_FAILED",r.ERR_INVALID_KEY="ERR_INVALID_KEY",r.ERR_INVALID_MESSAGE="ERR_INVALID_MESSAGE",r.ERR_INVALID_PARAMETERS="ERR_INVALID_PARAMETERS",r.ERR_INVALID_PEER="ERR_INVALID_PEER",r.ERR_MUXER_UNAVAILABLE="ERR_MUXER_UNAVAILABLE",r.ERR_NOT_FOUND="ERR_NOT_FOUND",r.ERR_TIMEOUT="ERR_TIMEOUT",r.ERR_TRANSPORT_UNAVAILABLE="ERR_TRANSPORT_UNAVAILABLE",r.ERR_TRANSPORT_DIAL_FAILED="ERR_TRANSPORT_DIAL_FAILED",r.ERR_UNSUPPORTED_PROTOCOL="ERR_UNSUPPORTED_PROTOCOL",r.ERR_PROTOCOL_HANDLER_ALREADY_REGISTERED="ERR_PROTOCOL_HANDLER_ALREADY_REGISTERED",r.ERR_INVALID_MULTIADDR="ERR_INVALID_MULTIADDR",r.ERR_SIGNATURE_NOT_VALID="ERR_SIGNATURE_NOT_VALID",r.ERR_FIND_SELF="ERR_FIND_SELF",r.ERR_NO_ROUTERS_AVAILABLE="ERR_NO_ROUTERS_AVAILABLE",r.ERR_CONNECTION_NOT_MULTIPLEXED="ERR_CONNECTION_NOT_MULTIPLEXED",r.ERR_NO_DIAL_TOKENS="ERR_NO_DIAL_TOKENS",r.ERR_KEYCHAIN_REQUIRED="ERR_KEYCHAIN_REQUIRED",r.ERR_INVALID_CMS="ERR_INVALID_CMS",r.ERR_MISSING_KEYS="ERR_MISSING_KEYS",r.ERR_NO_KEY="ERR_NO_KEY",r.ERR_INVALID_KEY_NAME="ERR_INVALID_KEY_NAME",r.ERR_INVALID_KEY_TYPE="ERR_INVALID_KEY_TYPE",r.ERR_KEY_ALREADY_EXISTS="ERR_KEY_ALREADY_EXISTS",r.ERR_INVALID_KEY_SIZE="ERR_INVALID_KEY_SIZE",r.ERR_KEY_NOT_FOUND="ERR_KEY_NOT_FOUND",r.ERR_OLD_KEY_NAME_INVALID="ERR_OLD_KEY_NAME_INVALID",r.ERR_NEW_KEY_NAME_INVALID="ERR_NEW_KEY_NAME_INVALID",r.ERR_PASSWORD_REQUIRED="ERR_PASSWORD_REQUIRED",r.ERR_PEM_REQUIRED="ERR_PEM_REQUIRED",r.ERR_CANNOT_READ_KEY="ERR_CANNOT_READ_KEY",r.ERR_MISSING_PRIVATE_KEY="ERR_MISSING_PRIVATE_KEY",r.ERR_MISSING_PUBLIC_KEY="ERR_MISSING_PUBLIC_KEY",r.ERR_INVALID_OLD_PASS_TYPE="ERR_INVALID_OLD_PASS_TYPE",r.ERR_INVALID_NEW_PASS_TYPE="ERR_INVALID_NEW_PASS_TYPE",r.ERR_INVALID_PASS_LENGTH="ERR_INVALID_PASS_LENGTH",r.ERR_NOT_IMPLEMENTED="ERR_NOT_IMPLEMENTED",r.ERR_WRONG_PING_ACK="ERR_WRONG_PING_ACK",r.ERR_INVALID_RECORD="ERR_INVALID_RECORD",r.ERR_ALREADY_SUCCEEDED="ERR_ALREADY_SUCCEEDED",r.ERR_NO_HANDLER_FOR_PROTOCOL="ERR_NO_HANDLER_FOR_PROTOCOL",r.ERR_TOO_MANY_OUTBOUND_PROTOCOL_STREAMS="ERR_TOO_MANY_OUTBOUND_PROTOCOL_STREAMS",r.ERR_TOO_MANY_INBOUND_PROTOCOL_STREAMS="ERR_TOO_MANY_INBOUND_PROTOCOL_STREAMS",r.ERR_CONNECTION_DENIED="ERR_CONNECTION_DENIED",r.ERR_TRANSFER_LIMIT_EXCEEDED="ERR_TRANSFER_LIMIT_EXCEEDED"})(_||(_={}));var jh=C(lt(),1);async function*pu(r,t){for await(let e of r)yield t(e)}async function*ji(r,t){yield*pu(r,async e=>(await t.addressBook.add(e.id,e.multiaddrs),e))}function vo(r){let t=new Set;return Re(r,e=>t.has(e.id.toString())?!1:(t.add(e.id.toString()),!0))}async function*bo(r,t=1){let e=0;for await(let n of r)e++,yield n;if(e<t)throw(0,jh.default)(new Error("not found"),"NOT_FOUND")}var E0=C(zr(),1);var So=class{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}},fi=class{constructor(t={}){this.hwm=t.splitLimit??16,this.head=new So(this.hwm),this.tail=this.head,this.size=0}calculateSize(t){return t?.byteLength!=null?t.byteLength:1}push(t){if(t?.value!=null&&(this.size+=this.calculateSize(t.value)),!this.head.push(t)){let e=this.head;this.head=e.next=new So(2*this.head.buffer.length),this.head.push(t)}}shift(){let t=this.tail.shift();if(t===void 0&&this.tail.next!=null){let e=this.tail.next;this.tail.next=null,this.tail=e,t=this.tail.shift()}return t?.value!=null&&(this.size-=this.calculateSize(t.value)),t}isEmpty(){return this.head.isEmpty()}};function _n(r={}){return ux(e=>{let n=e.shift();if(n==null)return{done:!0};if(n.error!=null)throw n.error;return{done:n.done===!0,value:n.value}},r)}function ux(r,t){t=t??{};let e=t.onEnd,n=new fi,i,s,o,a=async()=>n.isEmpty()?o?{done:!0}:await new Promise((m,y)=>{s=g=>{s=null,n.push(g);try{m(r(n))}catch(E){y(E)}return i}}):r(n),c=m=>s!=null?s(m):(n.push(m),i),u=m=>(n=new fi,s!=null?s({error:m}):(n.push({error:m}),i)),l=m=>{if(o)return i;if(t?.objectMode!==!0&&m?.byteLength==null)throw new Error("objectMode was not true but tried to push non-Uint8Array value");return c({done:!1,value:m})},f=m=>o?i:(o=!0,m!=null?u(m):c({done:!0})),d=()=>(n=new fi,f(),{done:!0}),h=m=>(f(m),{done:!0});if(i={[Symbol.asyncIterator](){return this},next:a,return:d,throw:h,push:l,end:f,get readableLength(){return n.size}},e==null)return i;let p=i;return i={[Symbol.asyncIterator](){return this},next(){return p.next()},throw(m){return p.throw(m),e!=null&&(e(m),e=void 0),{done:!0}},return(){return p.return(),e!=null&&(e(),e=void 0),{done:!0}},push:l,end(m){return p.end(m),e!=null&&(e(m),e=void 0),i},get readableLength(){return p.readableLength}},i}async function*Sr(...r){let t=_n({objectMode:!0});Promise.resolve().then(async()=>{try{await Promise.all(r.map(async e=>{for await(let n of e)t.push(n)})),t.end()}catch(e){t.end(e)}}),yield*t}var lx=(...r)=>{let t;for(;r.length>0;)t=r.shift()(t);return t},s0=r=>r!=null&&(typeof r[Symbol.asyncIterator]=="function"||typeof r[Symbol.iterator]=="function"||typeof r.next=="function"),gu=r=>r!=null&&typeof r.sink=="function"&&s0(r.source),fx=r=>t=>{let e=r.sink(t);if(e.then!=null){let n=_n({objectMode:!0});return e.then(()=>{n.end()},s=>{n.end(s)}),Sr(n,async function*(){yield*r.source,n.end()}())}return r.source};function Zt(r,...t){if(gu(r)){let n=r;r=()=>n.source}else if(s0(r)){let n=r;r=()=>n}let e=[r,...t];if(e.length>1&&gu(e[e.length-1])&&(e[e.length-1]=e[e.length-1].sink),e.length>2)for(let n=1;n<e.length-1;n++)gu(e[n])&&(e[n]=fx(e[n]));return lx(...e)}async function we(r){for await(let t of r)return t}var To=C(a0(),1),x0=C(Ar(),1),w0=U("libp2p:peer-routing"),Io=class{constructor(t,e){this.components=t,this.routers=e.routers??[],this.refreshManagerInit=e.refreshManager??{},this.started=!1,this._findClosestPeersTask=this._findClosestPeersTask.bind(this)}isStarted(){return this.started}async start(){this.started||this.routers.length===0||this.timeoutId!=null||this.refreshManagerInit.enabled===!1||(this.timeoutId=(0,To.setDelayedInterval)(this._findClosestPeersTask,this.refreshManagerInit.interval,this.refreshManagerInit.bootDelay),this.started=!0)}async _findClosestPeersTask(){if(this.abortController==null)try{this.abortController=new E0.TimeoutController(this.refreshManagerInit.timeout??1e4);try{(0,x0.setMaxListeners)?.(1/0,this.abortController.signal)}catch{}await Me(this.getClosestPeers(this.components.peerId.toBytes(),{signal:this.abortController.signal}))}catch(t){w0.error(t)}finally{this.abortController?.clear(),this.abortController=void 0}}async stop(){(0,To.clearDelayedInterval)(this.timeoutId),this.abortController?.abort(),this.started=!1}async findPeer(t,e){if(this.routers.length===0)throw(0,es.default)(new Error("No peer routers available"),_.ERR_NO_ROUTERS_AVAILABLE);if(t.toString()===this.components.peerId.toString())throw(0,es.default)(new Error("Should not try to find self"),_.ERR_FIND_SELF);let n=await Zt(Sr(...this.routers.map(i=>async function*(){try{yield await i.findPeer(t,e)}catch(s){w0.error(s)}}())),i=>Re(i,Boolean),i=>ji(i,this.components.peerStore),async i=>await we(i));if(n!=null)return n;throw(0,es.default)(new Error(Y.NOT_FOUND),_.ERR_NOT_FOUND)}async*getClosestPeers(t,e){if(this.routers.length===0)throw(0,es.default)(new Error("No peer routers available"),_.ERR_NO_ROUTERS_AVAILABLE);yield*Zt(Sr(...this.routers.map(n=>n.getClosestPeers(t,e))),n=>ji(n,this.components.peerStore),n=>vo(n),n=>bo(n))}};var Hr=C(lt(),1);var Co=class{constructor(t,e){this.routers=e.routers??[],this.started=!1,this.components=t}isStarted(){return this.started}async start(){this.started=!0}async stop(){this.started=!1}async*findProviders(t,e={}){if(this.routers.length===0)throw(0,Hr.default)(new Error("No content this.routers available"),_.ERR_NO_ROUTERS_AVAILABLE);yield*Zt(Sr(...this.routers.map(n=>n.findProviders(t,e))),n=>ji(n,this.components.peerStore),n=>vo(n),n=>bo(n))}async provide(t,e={}){if(this.routers.length===0)throw(0,Hr.default)(new Error("No content routers available"),_.ERR_NO_ROUTERS_AVAILABLE);await Promise.all(this.routers.map(async n=>{await n.provide(t,e)}))}async put(t,e,n){if(!this.isStarted())throw(0,Hr.default)(new Error(Y.NOT_STARTED_YET),_.DHT_NOT_STARTED);let i=this.components.dht;i!=null&&await Me(i.put(t,e,n))}async get(t,e){if(!this.isStarted())throw(0,Hr.default)(new Error(Y.NOT_STARTED_YET),_.DHT_NOT_STARTED);let n=this.components.dht;if(n!=null){for await(let i of n.get(t,e))if(i.name==="VALUE")return i.value}throw(0,Hr.default)(new Error(Y.NOT_FOUND),_.ERR_NOT_FOUND)}async*getMany(t,e,n){if(!this.isStarted())throw(0,Hr.default)(new Error(Y.NOT_STARTED_YET),_.DHT_NOT_STARTED);if(e==null||e===0)return;let i=0,s=this.components.dht;if(s!=null){for await(let o of s.get(t,n))if(o.name==="VALUE"&&(yield{from:o.from,val:o.value},i++,i===e))break}if(i===0)throw(0,Hr.default)(new Error(Y.NOT_FOUND),_.ERR_NOT_FOUND)}};var T=class extends Error{constructor(t,e,n){super(t),this.code=e,this.name=n?.name??"CodeError",this.props=n??{}}};var Eu=Symbol.for("@libp2p/peer-id");function Sn(r){return r!=null&&!!r[Eu]}var bx=Symbol.for("nodejs.util.inspect.custom"),v0=Object.values($r).map(r=>r.decoder).reduce((r,t)=>r.or(t),$r.identity.decoder),b0=114,xu=36,vu=37,rs=class{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()})`}get[Eu](){return!0}toString(){return this.string==null&&(this.string=Ot.encode(this.multihash.bytes).slice(1)),this.string}toCID(){return pt.createV1(b0,this.multihash)}toBytes(){return this.multihash.bytes}toJSON(){return this.toString()}equals(t){if(t instanceof Uint8Array)return mt(this.multihash.bytes,t);if(typeof t=="string")return st(t).equals(this);if(t?.multihash?.bytes!=null)return mt(this.multihash.bytes,t.multihash.bytes);throw new Error("not valid Id")}[bx](){return`PeerId(${this.toString()})`}},An=class extends rs{constructor(t){super({...t,type:"RSA"}),this.type="RSA",this.publicKey=t.publicKey}},Rn=class extends rs{constructor(t){super({...t,type:"Ed25519"}),this.type="Ed25519",this.publicKey=t.multihash.digest}},In=class extends rs{constructor(t){super({...t,type:"secp256k1"}),this.type="secp256k1",this.publicKey=t.multihash.digest}};function Ut(r){if(r.type==="RSA")return new An(r);if(r.type==="Ed25519")return new Rn(r);if(r.type==="secp256k1")return new In(r);throw new T("Not a PeerId","ERR_INVALID_PARAMETERS")}function st(r,t){if(t=t??v0,r.charAt(0)==="1"||r.charAt(0)==="Q"){let e=xn(Ot.decode(`z${r}`));return r.startsWith("12D")?new Rn({multihash:e}):r.startsWith("16U")?new In({multihash:e}):new An({multihash:e})}return pi(v0.decode(r))}function pi(r){try{let t=xn(r);if(t.code===qr.code){if(t.digest.length===xu)return new Rn({multihash:t});if(t.digest.length===vu)return new In({multihash:t})}if(t.code===ie.code)return new An({multihash:t})}catch{return _x(pt.decode(r))}throw new Error("Supplied PeerID CID is invalid")}function _x(r){if(r==null||r.multihash==null||r.version==null||r.version===1&&r.code!==b0)throw new Error("Supplied PeerID CID is invalid");let t=r.multihash;if(t.code===ie.code)return new An({multihash:r.multihash});if(t.code===qr.code){if(t.digest.length===xu)return new Rn({multihash:r.multihash});if(t.digest.length===vu)return new In({multihash:r.multihash})}throw new Error("Supplied PeerID CID is invalid")}async function Gr(r,t){return r.length===xu?new Rn({multihash:Je(qr.code,r),privateKey:t}):r.length===vu?new In({multihash:Je(qr.code,r),privateKey:t}):new An({multihash:await ie.digest(r),publicKey:r,privateKey:t})}var Sx=r=>r,Bo=class extends Dt{constructor(t,e){super();let{listen:n=[],announce:i=[]}=e;this.components=t,this.listen=n.map(s=>s.toString()),this.announce=new Set(i.map(s=>s.toString())),this.observed=new Set,this.announceFilter=e.announceFilter??Sx}getListenAddrs(){return Array.from(this.listen).map(t=>Lt(t))}getAnnounceAddrs(){return Array.from(this.announce).map(t=>Lt(t))}getObservedAddrs(){return Array.from(this.observed).map(t=>Lt(t))}confirmObservedAddr(t){}removeObservedAddr(t){}addObservedAddr(t){let e=Lt(t),n=e.getPeerId();n!=null&&st(n).equals(this.components.peerId)&&(e=e.decapsulate(Lt(`/p2p/${this.components.peerId.toString()}`)));let i=e.toString();this.observed.has(i)||(this.observed.add(i),this.dispatchEvent(new $("change:addresses")))}getAddresses(){let t=this.getAnnounceAddrs().map(n=>n.toString());t.length===0&&(t=this.components.transportManager.getAddrs().map(n=>n.toString())),t=t.concat(this.getObservedAddrs().map(n=>n.toString()));let e=new Set(t);return this.announceFilter(Array.from(e).map(n=>Lt(n))).map(n=>n.protos().pop()?.path===!0||n.getPeerId()===this.components.peerId.toString()?n:n.encapsulate(`/p2p/${this.components.peerId.toString()}`))}};var Fo=C(lt(),1);var D0=C(B0(),1),Ie=D0.default;var L0=U("libp2p:connection-manager:latency-monitor:visibility-change-emitter"),Po=class extends Dt{constructor(){super(),this.hidden="hidden",this.visibilityChange="visibilityChange",globalThis.document!=null&&(this._initializeVisibilityVarNames(),this._addVisibilityChangeListener())}_initializeVisibilityVarNames(){let t="hidden",e="visibilitychange";typeof globalThis.document.hidden<"u"?(t="hidden",e="visibilitychange"):typeof globalThis.document.mozHidden<"u"?(t="mozHidden",e="mozvisibilitychange"):typeof globalThis.document.msHidden<"u"?(t="msHidden",e="msvisibilitychange"):typeof globalThis.document.webkitHidden<"u"&&(t="webkitHidden",e="webkitvisibilitychange"),this.hidden=t,this.visibilityChange=e}_addVisibilityChangeListener(){typeof globalThis.document.addEventListener>"u"||typeof document[this.hidden]>"u"?L0("Checking page visibility requires a browser that supports the Page Visibility API."):globalThis.document.addEventListener(this.visibilityChange,this._handleVisibilityChange.bind(this),!1)}isVisible(){if(!(this.hidden===void 0||document[this.hidden]===void 0))return document[this.hidden]==null}_handleVisibilityChange(){let t=globalThis.document[this.hidden]===!1;L0(t?"Page Visible":"Page Hidden"),this.dispatchEvent(new $("visibilityChange",{detail:t}))}};var Rr=U("libp2p:connection-manager:latency-monitor"),No=class extends Dt{constructor(t={}){super();let{latencyCheckIntervalMs:e,dataEmitIntervalMs:n,asyncTestFn:i,latencyRandomPercentage:s}=t;this.latencyCheckIntervalMs=e??500,this.latencyRandomPercentage=s??10,this.latencyCheckMultiply=2*(this.latencyRandomPercentage/100)*this.latencyCheckIntervalMs,this.latencyCheckSubtract=this.latencyCheckMultiply/2,this.dataEmitIntervalMs=n===null||n===0?void 0:n??5*1e3,Rr("latencyCheckIntervalMs: %s dataEmitIntervalMs: %s",this.latencyCheckIntervalMs,this.dataEmitIntervalMs),this.dataEmitIntervalMs!=null?Rr("Expecting ~%s events per summary",this.latencyCheckIntervalMs/this.dataEmitIntervalMs):Rr("Not emitting summaries"),this.asyncTestFn=i,globalThis.process?.hrtime!=null?(Rr("Using process.hrtime for timing"),this.now=globalThis.process.hrtime,this.getDeltaMS=o=>{let a=this.now(o);return a[0]*1e3+a[1]/1e6}):typeof window<"u"&&window.performance?.now!=null?(Rr("Using performance.now for timing"),this.now=window.performance.now.bind(window.performance),this.getDeltaMS=o=>Math.round(this.now()-o)):(Rr("Using Date.now for timing"),this.now=Date.now,this.getDeltaMS=o=>this.now()-o),this.latencyData=this.initLatencyData()}start(){Bx()&&(this.visibilityChangeEmitter=new Po,this.visibilityChangeEmitter.addEventListener("visibilityChange",t=>{let{detail:e}=t;e?this._startTimers():(this._emitSummary(),this._stopTimers())})),this.visibilityChangeEmitter?.isVisible()===!0&&this._startTimers()}stop(){this._stopTimers()}_startTimers(){this.checkLatencyID==null&&(this.checkLatency(),this.dataEmitIntervalMs!=null&&(this.emitIntervalID=setInterval(()=>{this._emitSummary()},this.dataEmitIntervalMs),typeof this.emitIntervalID.unref=="function"&&this.emitIntervalID.unref()))}_stopTimers(){this.checkLatencyID!=null&&(clearTimeout(this.checkLatencyID),this.checkLatencyID=void 0),this.emitIntervalID!=null&&(clearInterval(this.emitIntervalID),this.emitIntervalID=void 0)}_emitSummary(){let t=this.getSummary();t.events>0&&this.dispatchEvent(new $("data",{detail:t}))}getSummary(){let t={events:this.latencyData.events,minMs:this.latencyData.minMs,maxMs:this.latencyData.maxMs,avgMs:this.latencyData.events>0?this.latencyData.totalMs/this.latencyData.events:Number.POSITIVE_INFINITY,lengthMs:this.getDeltaMS(this.latencyData.startTime)};return this.latencyData=this.initLatencyData(),Rr.trace("Summary: %O",t),t}checkLatency(){let t=Math.random()*this.latencyCheckMultiply-this.latencyCheckSubtract,e={deltaOffset:Math.ceil(this.latencyCheckIntervalMs+t),startTime:this.now()},n=()=>{if(this.checkLatencyID==null)return;let i=this.getDeltaMS(e.startTime)-e.deltaOffset;this.checkLatency(),this.latencyData.events++,this.latencyData.minMs=Math.min(this.latencyData.minMs,i),this.latencyData.maxMs=Math.max(this.latencyData.maxMs,i),this.latencyData.totalMs+=i,Rr.trace("MS: %s Data: %O",i,this.latencyData)};Rr.trace("localData: %O",e),this.checkLatencyID=setTimeout(()=>{this.asyncTestFn!=null?(e.deltaOffset=0,e.startTime=this.now(),this.asyncTestFn(n)):(e.deltaOffset-=1,n())},e.deltaOffset),typeof this.checkLatencyID.unref=="function"&&this.checkLatencyID.unref()}initLatencyData(){return{startTime:this.now(),minMs:Number.POSITIVE_INFINITY,maxMs:Number.NEGATIVE_INFINITY,events:0,totalMs:0}}};function Bx(){return typeof globalThis.window<"u"}var Ko=C(Ar(),1);var ko="OPEN",_u="CLOSING",Oo="CLOSED";function Ir(r,t){let e={[Symbol.iterator]:()=>e,next:()=>{let n=r.next(),i=n.value;return n.done===!0||i==null?{done:!0,value:void 0}:{done:!1,value:t(i)}}};return e}var ns=class{constructor(t){if(this.map=new Map,t!=null)for(let[e,n]of t.entries())this.map.set(e.toString(),n)}[Symbol.iterator](){return this.entries()}clear(){this.map.clear()}delete(t){this.map.delete(t.toString())}entries(){return Ir(this.map.entries(),t=>[st(t[0]),t[1]])}forEach(t){this.map.forEach((e,n)=>{t(e,st(n),this)})}get(t){return this.map.get(t.toString())}has(t){return this.map.has(t.toString())}set(t,e){this.map.set(t.toString(),e)}keys(){return Ir(this.map.keys(),t=>st(t))}values(){return this.map.values()}get size(){return this.map.size}};var Tr=class{constructor(t){if(this.set=new Set,t!=null)for(let e of t)this.set.add(e.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 Ir(this.set.entries(),t=>{let e=st(t[0]);return[e,e]})}forEach(t){this.set.forEach(e=>{let n=st(e);t(n,n,this)})}has(t){return this.set.has(t.toString())}values(){return Ir(this.set.values(),t=>st(t))}intersection(t){let e=new Tr;for(let n of t)this.has(n)&&e.add(n);return e}difference(t){let e=new Tr;for(let n of this)t.has(n)||e.add(n);return e}union(t){let e=new Tr;for(let n of t)e.add(n);for(let n of this)e.add(n);return e}};var gi=class{constructor(t){if(this.list=[],t!=null)for(let e of t)this.list.push(e.toString())}[Symbol.iterator](){return Ir(this.list.entries(),t=>st(t[1]))}concat(t){let e=new gi(this);for(let n of t)e.push(n);return e}entries(){return Ir(this.list.entries(),t=>[t[0],st(t[1])])}every(t){return this.list.every((e,n)=>t(st(e),n,this))}filter(t){let e=new gi;return this.list.forEach((n,i)=>{let s=st(n);t(s,i,this)&&e.push(s)}),e}find(t){let e=this.list.find((n,i)=>t(st(n),i,this));if(e!=null)return st(e)}findIndex(t){return this.list.findIndex((e,n)=>t(st(e),n,this))}forEach(t){this.list.forEach((e,n)=>{t(st(e),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 st(t)}push(...t){for(let e of t)this.list.push(e.toString())}shift(){let t=this.list.shift();if(t!=null)return st(t)}unshift(...t){let e=this.list.length;for(let n=t.length-1;n>-1;n--)e=this.list.unshift(t[n].toString());return e}get length(){return this.list.length}};var Mu=C(zr(),1);var P0="keep-alive";var Bd=C(Td(),1);var Cd=C(lt(),1);function Uo(r){if(Sn(r))return{peerId:r};if(ge(r)){let t=r.getPeerId();return{multiaddr:r,peerId:t==null?void 0:st(t)}}throw(0,Cd.default)(new Error(`${r} is not a PeerId or a Multiaddr`),_.ERR_INVALID_MULTIADDR)}var $t=U("libp2p:connection-manager"),dv={maxConnections:1/0,minConnections:0,maxEventLoopDelay:1/0,pollInterval:2e3,autoDialInterval:1e4,inboundConnectionThreshold:5,maxIncomingPendingConnections:10},pv=6e4,Vo=class extends Dt{constructor(t,e){if(super(),this.opts=Ie.call({ignoreUndefined:!0},dv,e),this.opts.maxConnections<this.opts.minConnections)throw(0,Fo.default)(new Error("Connection Manager maxConnections must be greater than minConnections"),_.ERR_INVALID_PARAMETERS);$t("options: %o",this.opts),this.components=t,this.connections=new Map,this.started=!1,e.maxEventLoopDelay!=null&&e.maxEventLoopDelay>0&&e.maxEventLoopDelay!==1/0&&(this.latencyMonitor=new No({latencyCheckIntervalMs:e.pollInterval,dataEmitIntervalMs:e.pollInterval}));try{(0,Ko.setMaxListeners)?.(1/0,this)}catch{}this.onConnect=this.onConnect.bind(this),this.onDisconnect=this.onDisconnect.bind(this),this.startupReconnectTimeout=e.startupReconnectTimeout??pv,this.dialTimeout=e.dialTimeout??3e4,this.allow=(e.allow??[]).map(n=>Lt(n)),this.deny=(e.deny??[]).map(n=>Lt(n)),this.inboundConnectionRateLimiter=new Bd.RateLimiterMemory({points:this.opts.inboundConnectionThreshold,duration:1}),this.incomingPendingConnections=0}isStarted(){return this.started}async start(){this.components.metrics?.registerMetricGroup("libp2p_connection_manager_connections",{calculate:()=>{let t={inbound:0,outbound:0};for(let e of this.connections.values())for(let n of e)n.stat.direction==="inbound"?t.inbound++:t.outbound++;return t}}),this.components.metrics?.registerMetricGroup("libp2p_protocol_streams_total",{label:"protocol",calculate:()=>{let t={};for(let e of this.connections.values())for(let n of e)for(let i of n.streams){let s=`${i.stat.direction} ${i.stat.protocol??"unnegotiated"}`;t[s]=(t[s]??0)+1}return t}}),this.components.metrics?.registerMetricGroup("libp2p_connection_manager_protocol_streams_per_connection_90th_percentile",{label:"protocol",calculate:()=>{let t={};for(let n of this.connections.values())for(let i of n){let s={};for(let o of i.streams){let a=`${o.stat.direction} ${o.stat.protocol??"unnegotiated"}`;s[a]=(s[a]??0)+1}for(let[o,a]of Object.entries(s))t[o]=t[o]??[],t[o].push(a)}let e={};for(let[n,i]of Object.entries(t)){i=i.sort((o,a)=>o-a);let s=Math.floor(i.length*.9);e[n]=i[s]}return e}}),this.latencyMonitor?.start(),this._onLatencyMeasure=this._onLatencyMeasure.bind(this),this.latencyMonitor?.addEventListener("data",this._onLatencyMeasure),this.started=!0,$t("started")}async afterStart(){this.components.upgrader.addEventListener("connection",this.onConnect),this.components.upgrader.addEventListener("connectionEnd",this.onDisconnect),Promise.resolve().then(async()=>{let t=[];for(let e of await this.components.peerStore.all())(await this.components.peerStore.getTags(e.id)).filter(s=>s.name===P0).length>0&&t.push(e.id);this.connectOnStartupController?.clear(),this.connectOnStartupController=new Mu.TimeoutController(this.startupReconnectTimeout);try{(0,Ko.setMaxListeners)?.(1/0,this.connectOnStartupController.signal)}catch{}await Promise.all(t.map(async e=>{await this.openConnection(e,{signal:this.connectOnStartupController?.signal}).catch(n=>{$t.error(n)})}))}).catch(t=>{$t.error(t)}).finally(()=>{this.connectOnStartupController?.clear()})}async beforeStop(){this.connectOnStartupController?.abort(),this.components.upgrader.removeEventListener("connection",this.onConnect),this.components.upgrader.removeEventListener("connectionEnd",this.onDisconnect)}async stop(){this.latencyMonitor?.removeEventListener("data",this._onLatencyMeasure),this.latencyMonitor?.stop(),this.started=!1,await this._close(),$t("stopped")}async _close(){let t=[];for(let e of this.connections.values())for(let n of e)t.push((async()=>{try{await n.close()}catch(i){$t.error(i)}})());$t("closing %d connections",t.length),await Promise.all(t),this.connections.clear()}onConnect(t){this._onConnect(t).catch(e=>{$t.error(e)})}async _onConnect(t){let{detail:e}=t;if(!this.started){await e.close();return}let n=e.remotePeer,i=n.toString(),s=this.connections.get(i);s!=null?s.push(e):this.connections.set(i,[e]),n.publicKey!=null&&await this.components.peerStore.keyBook.set(n,n.publicKey);let o=this.getConnections().length,a=o-this.opts.maxConnections;await this._checkMaxLimit("maxConnections",o,a),this.dispatchEvent(new $("peer:connect",{detail:e}))}onDisconnect(t){let{detail:e}=t;if(!this.started)return;let n=e.remotePeer.toString(),i=this.connections.get(n);i!=null&&i.length>1?(i=i.filter(s=>s.id!==e.id),this.connections.set(n,i)):i!=null&&(this.connections.delete(n),this.dispatchEvent(new $("peer:disconnect",{detail:e})))}getConnections(t){if(t!=null)return this.connections.get(t.toString())??[];let e=[];for(let n of this.connections.values())e=e.concat(n);return e}getConnectionsMap(){return this.connections}async openConnection(t,e={}){let{peerId:n,multiaddr:i}=Uo(t);if(n==null&&i==null)throw(0,Fo.default)(new TypeError("Can only open connections to PeerIds or Multiaddrs"),_.ERR_INVALID_PARAMETERS);if(n!=null){$t("dial to",n);let o=this.getConnections(n);if(o.length>0)return $t("had an existing connection to %p",n),o[0]}let s;if(e?.signal==null){s=new Mu.TimeoutController(this.dialTimeout),e.signal=s.signal;try{(0,Ko.setMaxListeners)?.(1/0,s.signal)}catch{}}try{let o=await this.components.dialer.dial(t,e),a=this.connections.get(o.remotePeer.toString());a==null&&(a=[],this.connections.set(o.remotePeer.toString(),a));let c=!1;for(let u of a)u.id===o.id&&(c=!0);return c||a.push(o),o}finally{s?.clear()}}async closeConnections(t){let e=this.connections.get(t.toString())??[];await Promise.all(e.map(async n=>{await n.close()}))}getAll(t){if(!Sn(t))throw(0,Fo.default)(new Error("peerId must be an instance of peer-id"),_.ERR_INVALID_PARAMETERS);let e=t.toString(),n=this.connections.get(e);return n!=null?n.filter(i=>i.stat.status===ko):[]}_onLatencyMeasure(t){let{detail:e}=t;this._checkMaxLimit("maxEventLoopDelay",e.avgMs,1).catch(n=>{$t.error(n)})}async _checkMaxLimit(t,e,n=1){let i=this.opts[t];if(i==null){$t.trace("limit %s was not set so it cannot be applied",t);return}$t.trace("checking limit of %s. current value: %d of %d",t,e,i),e>i&&($t("%s: limit exceeded: %p, %d/%d, pruning %d connection(s)",this.components.peerId,t,e,i,n),await this._pruneConnections(n))}async _pruneConnections(t){let e=this.getConnections(),n=new ns;for(let o of e){let a=o.remotePeer;if(n.has(a))continue;let c=await this.components.peerStore.getTags(a);n.set(a,c.reduce((u,l)=>u+l.value,0))}let i=e.sort((o,a)=>{let c=n.get(o.remotePeer)??0,u=n.get(a.remotePeer)??0;if(c>u)return 1;if(c<u)return-1;let l=o.stat.timeline.open,f=a.stat.timeline.open;return l<f?1:l>f?-1:0}),s=[];for(let o of i)if($t("too many connections open - closing a connection to %p",o.remotePeer),s.push(o),s.length===t)break;await Promise.all(s.map(async o=>{try{await o.close()}catch(a){$t.error(a)}this.onDisconnect(new $("connectionEnd",{detail:o}))}))}async acceptIncomingConnection(t){if(this.deny.some(i=>t.remoteAddr.toString().startsWith(i.toString())))return $t("connection from %s refused - connection remote address was in deny list",t.remoteAddr),!1;if(this.allow.some(i=>t.remoteAddr.toString().startsWith(i.toString())))return this.incomingPendingConnections++,!0;if(this.incomingPendingConnections===this.opts.maxIncomingPendingConnections)return $t("connection from %s refused - incomingPendingConnections exceeded by peer %s",t.remoteAddr),!1;if(t.remoteAddr.isThinWaistAddress()){let i=t.remoteAddr.nodeAddress().address;try{await this.inboundConnectionRateLimiter.consume(i,1)}catch{return $t("connection from %s refused - inboundConnectionThreshold exceeded by host %s",i,t.remoteAddr),!1}}return this.getConnections().length<this.opts.maxConnections?(this.incomingPendingConnections++,!0):($t("connection from %s refused - maxConnections exceeded",t.remoteAddr),!1)}afterUpgradeInbound(){this.incomingPendingConnections--}};var Uu=C(yu(),1),Yr=U("libp2p:connection-manager:auto-dialler"),mv={enabled:!0,minConnections:0,autoDialInterval:1e4},qo=class{constructor(t,e){this.components=t,this.options=Ie.call({ignoreUndefined:!0},mv,e),this.running=!1,this._autoDial=this._autoDial.bind(this),Yr("options: %j",this.options)}isStarted(){return this.running}async start(){if(!this.options.enabled){Yr("not enabled");return}this.running=!0,this._autoDial().catch(t=>{Yr.error("could start autodial",t)}),Yr("started")}async stop(){if(!this.options.enabled){Yr("not enabled");return}this.running=!1,this.autoDialTimeout!=null&&this.autoDialTimeout.clear(),Yr("stopped")}async _autoDial(){this.autoDialTimeout!=null&&this.autoDialTimeout.clear();let t=this.options.minConnections;if(this.components.connectionManager.getConnections().length>=t){this.autoDialTimeout=(0,Uu.default)(this._autoDial,this.options.autoDialInterval);return}let e=await this.components.peerStore.all();e=e.filter(n=>!(n.id.equals(this.components.peerId)||n.addresses.length===0)),e=e.sort(()=>Math.random()>.5?1:-1),e=e.sort((n,i)=>i.protocols.length>n.protocols.length||i.id.publicKey!=null&&n.id.publicKey==null?1:-1);for(let n=0;this.running&&n<e.length&&this.components.connectionManager.getConnections().length<t;n++){if(!this.running)return;let i=e[n];if(this.components.connectionManager.getConnections(i.id).length===0){Yr("connecting to a peerStore stored peer %p",i.id);try{await this.components.connectionManager.openConnection(i.id)}catch(s){Yr.error("could not connect to peerStore stored peer",s)}}}this.running&&(this.autoDialTimeout=(0,Uu.default)(this._autoDial,this.options.autoDialInterval))}};var Zy=C(Fd(),1);var J;(function(r){r.ERR_INVALID_PARAMETERS="ERR_INVALID_PARAMETERS",r.ERR_INVALID_KEY_NAME="ERR_INVALID_KEY_NAME",r.ERR_INVALID_KEY_TYPE="ERR_INVALID_KEY_TYPE",r.ERR_KEY_ALREADY_EXISTS="ERR_KEY_ALREADY_EXISTS",r.ERR_INVALID_KEY_SIZE="ERR_INVALID_KEY_SIZE",r.ERR_KEY_NOT_FOUND="ERR_KEY_NOT_FOUND",r.ERR_OLD_KEY_NAME_INVALID="ERR_OLD_KEY_NAME_INVALID",r.ERR_NEW_KEY_NAME_INVALID="ERR_NEW_KEY_NAME_INVALID",r.ERR_PASSWORD_REQUIRED="ERR_PASSWORD_REQUIRED",r.ERR_PEM_REQUIRED="ERR_PEM_REQUIRED",r.ERR_CANNOT_READ_KEY="ERR_CANNOT_READ_KEY",r.ERR_MISSING_PRIVATE_KEY="ERR_MISSING_PRIVATE_KEY",r.ERR_INVALID_OLD_PASS_TYPE="ERR_INVALID_OLD_PASS_TYPE",r.ERR_INVALID_NEW_PASS_TYPE="ERR_INVALID_NEW_PASS_TYPE",r.ERR_INVALID_PASS_LENGTH="ERR_INVALID_PASS_LENGTH"})(J||(J={}));var Zu=C($u(),1),Rp=C(wp(),1),Ip=C(Bn(),1),Ju=C(Xu(),1),Tp=C(Ap(),1);function Ov(){Ip.default._configure(),Zu.default._configure(Rp.default),Ju.default._configure(Tp.default)}Ov();var Cp=["uint64","int64","sint64","fixed64","sfixed64"];function Mv(r){for(let t of Cp){if(r[t]==null)continue;let e=r[t];r[t]=function(){return BigInt(e.call(this).toString())}}return r}function ju(r){return Mv(new Zu.default(r))}function Uv(r){for(let t of Cp){if(r[t]==null)continue;let e=r[t];r[t]=function(n){return e.call(this,n.toString())}}return r}function tl(){return Uv(Ju.default.create())}function Rt(r,t){let e=ju(r instanceof Uint8Array?r:r.subarray());return t.decode(e)}function It(r,t){let e=tl();return t.encode(r,e,{lengthDelimited:!1}),e.finish()}var _i;(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"})(_i||(_i={}));function Yo(r,t,e,n){return{name:r,type:t,encode:e,decode:n}}function cs(r){function t(i){if(r[i.toString()]==null)throw new Error("Invalid enum value");return r[i]}let e=function(s,o){let a=t(s);o.int32(a)},n=function(s){let o=s.int32();return t(o)};return Yo("enum",_i.VARINT,e,n)}function Tt(r,t){return Yo("message",_i.LENGTH_DELIMITED,r,t)}var _t;(function(r){r.RSA="RSA",r.Ed25519="Ed25519",r.Secp256k1="Secp256k1"})(_t||(_t={}));var el;(function(r){r[r.RSA=0]="RSA",r[r.Ed25519=1]="Ed25519",r[r.Secp256k1=2]="Secp256k1"})(el||(el={}));(function(r){r.codec=()=>cs(el)})(_t||(_t={}));var nr;(function(r){let t;r.codec=()=>(t==null&&(t=Tt((e,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),e.Type!=null&&(n.uint32(8),_t.codec().encode(e.Type,n)),e.Data!=null&&(n.uint32(18),n.bytes(e.Data)),i.lengthDelimited!==!1&&n.ldelim()},(e,n)=>{let i={},s=n==null?e.len:e.pos+n;for(;e.pos<s;){let o=e.uint32();switch(o>>>3){case 1:i.Type=_t.codec().decode(e);break;case 2:i.Data=e.bytes();break;default:e.skipType(o&7);break}}return i})),t),r.encode=e=>It(e,r.codec()),r.decode=e=>Rt(e,r.codec())})(nr||(nr={}));var ir;(function(r){let t;r.codec=()=>(t==null&&(t=Tt((e,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),e.Type!=null&&(n.uint32(8),_t.codec().encode(e.Type,n)),e.Data!=null&&(n.uint32(18),n.bytes(e.Data)),i.lengthDelimited!==!1&&n.ldelim()},(e,n)=>{let i={},s=n==null?e.len:e.pos+n;for(;e.pos<s;){let o=e.uint32();switch(o>>>3){case 1:i.Type=_t.codec().decode(e);break;case 2:i.Data=e.bytes();break;default:e.skipType(o&7);break}}return i})),t),r.encode=e=>It(e,r.codec()),r.decode=e=>Rt(e,r.codec())})(ir||(ir={}));var sB=C(hs(),1),oB=C(zm(),1),Ra=C(ut(),1);var he={get(r=globalThis){let t=r.crypto;if(t==null||t.subtle==null)throw Object.assign(new Error("Missing Web Crypto API. The most likely cause of this error is that this page is being accessed from an insecure context (i.e. not HTTPS). For more information and possible resolutions see https://github.com/libp2p/js-libp2p-crypto/blob/master/README.md#web-crypto-api"),{code:"ERR_MISSING_WEB_CRYPTO"});return t}};var W4=C(Kt(),1),Q4=C(ua(),1),Gm=C(ut(),1);function qe(r,t){let e=Uint8Array.from(r.abs().toByteArray());if(e=e[0]===0?e.subarray(1):e,t!=null){if(e.length>t)throw new Error("byte array longer than desired length");e=Mt([new Uint8Array(t-e.length),e])}return z(e,"base64url")}function xe(r){let t=Ym(r);return new Gm.default.jsbn.BigInteger(z(t,"base16"),16)}function Ym(r,t){let e=F(r,"base64urlpad");if(t!=null){if(e.length>t)throw new Error("byte array longer than desired length");e=Mt([new Uint8Array(t-e.length),e])}return e}var u_={"P-256":256,"P-384":384,"P-521":521},l_=Object.keys(u_),o8=l_.join(" / ");function da(r){let t=r?.algorithm??"AES-GCM",e=r?.keyLength??16,n=r?.nonceLength??12,i=r?.digest??"SHA-256",s=r?.saltLength??16,o=r?.iterations??32767,a=he.get();e*=8;async function c(f,d){let h=a.getRandomValues(new Uint8Array(s)),p=a.getRandomValues(new Uint8Array(n)),m={name:t,iv:p};typeof d=="string"&&(d=F(d));let y={name:"PBKDF2",salt:h,iterations:o,hash:{name:i}},g=await a.subtle.importKey("raw",d,{name:"PBKDF2"},!1,["deriveKey","deriveBits"]),E=await a.subtle.deriveKey(y,g,{name:t,length:e},!0,["encrypt"]),b=await a.subtle.encrypt(m,E,f);return Mt([h,m.iv,new Uint8Array(b)])}async function u(f,d){let h=f.subarray(0,s),p=f.subarray(s,s+n),m=f.subarray(s+n),y={name:t,iv:p};typeof d=="string"&&(d=F(d));let g={name:"PBKDF2",salt:h,iterations:o,hash:{name:i}},E=await a.subtle.importKey("raw",d,{name:"PBKDF2"},!1,["deriveKey","deriveBits"]),b=await a.subtle.deriveKey(g,E,{name:t,length:e},!0,["decrypt"]),O=await a.subtle.decrypt(y,b,m);return new Uint8Array(O)}return{encrypt:c,decrypt:u}}async function Qm(r,t){let e=wn.decode(r);return await da().decrypt(e,t)}var Nl={};ne(Nl,{RsaPrivateKey:()=>ki,RsaPublicKey:()=>vs,fromJwk:()=>k_,generateKeyPair:()=>O_,unmarshalRsaPrivateKey:()=>P_,unmarshalRsaPublicKey:()=>N_});var V8=C(ty(),1),xs=C(ut(),1);var h_=C(Tn(),1);var tt=BigInt(0),vt=BigInt(1),en=BigInt(2),gs=BigInt(3),ey=BigInt(8),Nt=Object.freeze({a:tt,b:BigInt(7),P:BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"),n:BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),h:vt,Gx:BigInt("55066263022277343669578718895168534326250603453777594175500187360389116729240"),Gy:BigInt("32670510020758816978083085130507043184471273380659243275938904335757337482424"),beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee")}),ry=(r,t)=>(r+t/en)/t,pa={beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee"),splitScalar(r){let{n:t}=Nt,e=BigInt("0x3086d221a7d46bcde86c90e49284eb15"),n=-vt*BigInt("0xe4437ed6010e88286f547fa90abfe4c3"),i=BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"),s=e,o=BigInt("0x100000000000000000000000000000000"),a=ry(s*r,t),c=ry(-n*r,t),u=N(r-a*e-c*i,t),l=N(-a*n-c*s,t),f=u>o,d=l>o;if(f&&(u=t-u),d&&(l=t-l),u>o||l>o)throw new Error("splitScalarEndo: Endomorphism failed, k="+r);return{k1neg:f,k1:u,k2neg:d,k2:l}}},$e=32,Bi=32,d_=32,ny=$e+1,iy=2*$e+1;function sy(r){let{a:t,b:e}=Nt,n=N(r*r),i=N(n*r);return N(i+t*r+e)}var ma=Nt.a===tt,wa=class extends Error{constructor(t){super(t)}};function oy(r){if(!(r instanceof it))throw new TypeError("JacobianPoint expected")}var it=class{constructor(t,e,n){this.x=t,this.y=e,this.z=n}static fromAffine(t){if(!(t instanceof ot))throw new TypeError("JacobianPoint#fromAffine: expected Point");return t.equals(ot.ZERO)?it.ZERO:new it(t.x,t.y,vt)}static toAffineBatch(t){let e=w_(t.map(n=>n.z));return t.map((n,i)=>n.toAffine(e[i]))}static normalizeZ(t){return it.toAffineBatch(t).map(it.fromAffine)}equals(t){oy(t);let{x:e,y:n,z:i}=this,{x:s,y:o,z:a}=t,c=N(i*i),u=N(a*a),l=N(e*u),f=N(s*c),d=N(N(n*a)*u),h=N(N(o*i)*c);return l===f&&d===h}negate(){return new it(this.x,N(-this.y),this.z)}double(){let{x:t,y:e,z:n}=this,i=N(t*t),s=N(e*e),o=N(s*s),a=t+s,c=N(en*(N(a*a)-i-o)),u=N(gs*i),l=N(u*u),f=N(l-en*c),d=N(u*(c-f)-ey*o),h=N(en*e*n);return new it(f,d,h)}add(t){oy(t);let{x:e,y:n,z:i}=this,{x:s,y:o,z:a}=t;if(s===tt||o===tt)return this;if(e===tt||n===tt)return t;let c=N(i*i),u=N(a*a),l=N(e*u),f=N(s*c),d=N(N(n*a)*u),h=N(N(o*i)*c),p=N(f-l),m=N(h-d);if(p===tt)return m===tt?this.double():it.ZERO;let y=N(p*p),g=N(p*y),E=N(l*y),b=N(m*m-g-en*E),O=N(m*(E-b)-d*g),B=N(i*a*p);return new it(b,O,B)}subtract(t){return this.add(t.negate())}multiplyUnsafe(t){let e=it.ZERO;if(typeof t=="bigint"&&t===tt)return e;let n=uy(t);if(n===vt)return this;if(!ma){let f=e,d=this;for(;n>tt;)n&vt&&(f=f.add(d)),d=d.double(),n>>=vt;return f}let{k1neg:i,k1:s,k2neg:o,k2:a}=pa.splitScalar(n),c=e,u=e,l=this;for(;s>tt||a>tt;)s&vt&&(c=c.add(l)),a&vt&&(u=u.add(l)),l=l.double(),s>>=vt,a>>=vt;return i&&(c=c.negate()),o&&(u=u.negate()),u=new it(N(u.x*pa.beta),u.y,u.z),c.add(u)}precomputeWindow(t){let e=ma?128/t+1:256/t+1,n=[],i=this,s=i;for(let o=0;o<e;o++){s=i,n.push(s);for(let a=1;a<2**(t-1);a++)s=s.add(i),n.push(s);i=s.double()}return n}wNAF(t,e){!e&&this.equals(it.BASE)&&(e=ot.BASE);let n=e&&e._WINDOW_SIZE||1;if(256%n)throw new Error("Point#wNAF: Invalid precomputation window, must be power of 2");let i=e&&Il.get(e);i||(i=this.precomputeWindow(n),e&&n!==1&&(i=it.normalizeZ(i),Il.set(e,i)));let s=it.ZERO,o=it.BASE,a=1+(ma?128/n:256/n),c=2**(n-1),u=BigInt(2**n-1),l=2**n,f=BigInt(n);for(let d=0;d<a;d++){let h=d*c,p=Number(t&u);t>>=f,p>c&&(p-=l,t+=vt);let m=h,y=h+Math.abs(p)-1,g=d%2!==0,E=p<0;p===0?o=o.add(ya(g,i[m])):s=s.add(ya(E,i[y]))}return{p:s,f:o}}multiply(t,e){let n=uy(t),i,s;if(ma){let{k1neg:o,k1:a,k2neg:c,k2:u}=pa.splitScalar(n),{p:l,f}=this.wNAF(a,e),{p:d,f:h}=this.wNAF(u,e);l=ya(o,l),d=ya(c,d),d=new it(N(d.x*pa.beta),d.y,d.z),i=l.add(d),s=f.add(h)}else{let{p:o,f:a}=this.wNAF(n,e);i=o,s=a}return it.normalizeZ([i,s])[0]}toAffine(t){let{x:e,y:n,z:i}=this,s=this.equals(it.ZERO);t==null&&(t=s?ey:Pi(i));let o=t,a=N(o*o),c=N(a*o),u=N(e*a),l=N(n*c),f=N(i*o);if(s)return ot.ZERO;if(f!==vt)throw new Error("invZ was invalid");return new ot(u,l)}};it.BASE=new it(Nt.Gx,Nt.Gy,vt);it.ZERO=new it(tt,vt,tt);function ya(r,t){let e=t.negate();return r?e:t}var Il=new WeakMap,ot=class{constructor(t,e){this.x=t,this.y=e}_setWindowSize(t){this._WINDOW_SIZE=t,Il.delete(this)}hasEvenY(){return this.y%en===tt}static fromCompressedHex(t){let e=t.length===32,n=rn(e?t:t.subarray(1));if(!Rl(n))throw new Error("Point is not on curve");let i=sy(n),s=g_(i),o=(s&vt)===vt;e?o&&(s=N(-s)):(t[0]&1)===1!==o&&(s=N(-s));let a=new ot(n,s);return a.assertValidity(),a}static fromUncompressedHex(t){let e=rn(t.subarray(1,$e+1)),n=rn(t.subarray($e+1,$e*2+1)),i=new ot(e,n);return i.assertValidity(),i}static fromHex(t){let e=Li(t),n=e.length,i=e[0];if(n===$e)return this.fromCompressedHex(e);if(n===ny&&(i===2||i===3))return this.fromCompressedHex(e);if(n===iy&&i===4)return this.fromUncompressedHex(e);throw new Error(`Point.fromHex: received invalid point. Expected 32-${ny} compressed bytes or ${iy} uncompressed bytes, not ${n}`)}static fromPrivateKey(t){return ot.BASE.multiply(xa(t))}static fromSignature(t,e,n){let{r:i,s}=ly(e);if(![0,1,2,3].includes(n))throw new Error("Cannot recover: invalid recovery bit");let o=Bl(Li(t)),{n:a}=Nt,c=n===2||n===3?i+a:i,u=Pi(c,a),l=N(-o*u,a),f=N(s*u,a),d=n&1?"03":"02",h=ot.fromHex(d+Ti(c)),p=ot.BASE.multiplyAndAddUnsafe(h,l,f);if(!p)throw new Error("Cannot recover signature: point at infinify");return p.assertValidity(),p}toRawBytes(t=!1){return Un(this.toHex(t))}toHex(t=!1){let e=Ti(this.x);return t?`${this.hasEvenY()?"02":"03"}${e}`:`04${e}${Ti(this.y)}`}toHexX(){return this.toHex(!0).slice(2)}toRawX(){return this.toRawBytes(!0).slice(1)}assertValidity(){let t="Point is not on elliptic curve",{x:e,y:n}=this;if(!Rl(e)||!Rl(n))throw new Error(t);let i=N(n*n),s=sy(e);if(N(i-s)!==tt)throw new Error(t)}equals(t){return this.x===t.x&&this.y===t.y}negate(){return new ot(this.x,N(-this.y))}double(){return it.fromAffine(this).double().toAffine()}add(t){return it.fromAffine(this).add(it.fromAffine(t)).toAffine()}subtract(t){return this.add(t.negate())}multiply(t){return it.fromAffine(this).multiply(t,this).toAffine()}multiplyAndAddUnsafe(t,e,n){let i=it.fromAffine(this),s=e===tt||e===vt||this!==ot.BASE?i.multiplyUnsafe(e):i.multiply(e),o=it.fromAffine(t).multiplyUnsafe(n),a=s.add(o);return a.equals(it.ZERO)?void 0:a.toAffine()}};ot.BASE=new ot(Nt.Gx,Nt.Gy);ot.ZERO=new ot(tt,tt);function ay(r){return Number.parseInt(r[0],16)>=8?"00"+r:r}function cy(r){if(r.length<2||r[0]!==2)throw new Error(`Invalid signature integer tag: ${Di(r)}`);let t=r[1],e=r.subarray(2,t+2);if(!t||e.length!==t)throw new Error("Invalid signature integer: wrong length");if(e[0]===0&&e[1]<=127)throw new Error("Invalid signature integer: trailing length");return{data:rn(e),left:r.subarray(t+2)}}function p_(r){if(r.length<2||r[0]!=48)throw new Error(`Invalid signature tag: ${Di(r)}`);if(r[1]!==r.length-2)throw new Error("Invalid signature: incorrect length");let{data:t,left:e}=cy(r.subarray(2)),{data:n,left:i}=cy(e);if(i.length)throw new Error(`Invalid signature: left bytes after parsing: ${Di(i)}`);return{r:t,s:n}}var fr=class{constructor(t,e){this.r=t,this.s=e,this.assertValidity()}static fromCompact(t){let e=t instanceof Uint8Array,n="Signature.fromCompact";if(typeof t!="string"&&!e)throw new TypeError(`${n}: Expected string or Uint8Array`);let i=e?Di(t):t;if(i.length!==128)throw new Error(`${n}: Expected 64-byte hex`);return new fr(Ea(i.slice(0,64)),Ea(i.slice(64,128)))}static fromDER(t){let e=t instanceof Uint8Array;if(typeof t!="string"&&!e)throw new TypeError("Signature.fromDER: Expected string or Uint8Array");let{r:n,s:i}=p_(e?t:Un(t));return new fr(n,i)}static fromHex(t){return this.fromDER(t)}assertValidity(){let{r:t,s:e}=this;if(!Es(t))throw new Error("Invalid Signature: r must be 0 < r < n");if(!Es(e))throw new Error("Invalid Signature: s must be 0 < s < n")}hasHighS(){let t=Nt.n>>vt;return this.s>t}normalizeS(){return this.hasHighS()?new fr(this.r,N(-this.s,Nt.n)):this}toDERRawBytes(){return Un(this.toDERHex())}toDERHex(){let t=ay(ys(this.s)),e=ay(ys(this.r)),n=t.length/2,i=e.length/2,s=ys(n),o=ys(i);return`30${ys(i+n+4)}02${o}${e}02${s}${t}`}toRawBytes(){return this.toDERRawBytes()}toHex(){return this.toDERHex()}toCompactRawBytes(){return Un(this.toCompactHex())}toCompactHex(){return Ti(this.r)+Ti(this.s)}};function tn(...r){if(!r.every(n=>n instanceof Uint8Array))throw new Error("Uint8Array list expected");if(r.length===1)return r[0];let t=r.reduce((n,i)=>n+i.length,0),e=new Uint8Array(t);for(let n=0,i=0;n<r.length;n++){let s=r[n];e.set(s,i),i+=s.length}return e}var m_=Array.from({length:256},(r,t)=>t.toString(16).padStart(2,"0"));function Di(r){if(!(r instanceof Uint8Array))throw new Error("Expected Uint8Array");let t="";for(let e=0;e<r.length;e++)t+=m_[r[e]];return t}var y_=BigInt("0x10000000000000000000000000000000000000000000000000000000000000000");function Ti(r){if(typeof r!="bigint")throw new Error("Expected bigint");if(!(tt<=r&&r<y_))throw new Error("Expected number 0 <= n < 2^256");return r.toString(16).padStart(64,"0")}function Tl(r){let t=Un(Ti(r));if(t.length!==32)throw new Error("Error: expected 32 bytes");return t}function ys(r){let t=r.toString(16);return t.length&1?`0${t}`:t}function Ea(r){if(typeof r!="string")throw new TypeError("hexToNumber: expected string, got "+typeof r);return BigInt(`0x${r}`)}function Un(r){if(typeof r!="string")throw new TypeError("hexToBytes: expected string, got "+typeof r);if(r.length%2)throw new Error("hexToBytes: received invalid unpadded hex"+r.length);let t=new Uint8Array(r.length/2);for(let e=0;e<t.length;e++){let n=e*2,i=r.slice(n,n+2),s=Number.parseInt(i,16);if(Number.isNaN(s)||s<0)throw new Error("Invalid byte sequence");t[e]=s}return t}function rn(r){return Ea(Di(r))}function Li(r){return r instanceof Uint8Array?Uint8Array.from(r):Un(r)}function uy(r){if(typeof r=="number"&&Number.isSafeInteger(r)&&r>0)return BigInt(r);if(typeof r=="bigint"&&Es(r))return r;throw new TypeError("Expected valid private scalar: 0 < scalar < curve.n")}function N(r,t=Nt.P){let e=r%t;return e>=tt?e:t+e}function Le(r,t){let{P:e}=Nt,n=r;for(;t-- >tt;)n*=n,n%=e;return n}function g_(r){let{P:t}=Nt,e=BigInt(6),n=BigInt(11),i=BigInt(22),s=BigInt(23),o=BigInt(44),a=BigInt(88),c=r*r*r%t,u=c*c*r%t,l=Le(u,gs)*u%t,f=Le(l,gs)*u%t,d=Le(f,en)*c%t,h=Le(d,n)*d%t,p=Le(h,i)*h%t,m=Le(p,o)*p%t,y=Le(m,a)*m%t,g=Le(y,o)*p%t,E=Le(g,gs)*u%t,b=Le(E,s)*h%t,O=Le(b,e)*c%t,B=Le(O,en);if(B*B%t!==r)throw new Error("Cannot find square root");return B}function Pi(r,t=Nt.P){if(r===tt||t<=tt)throw new Error(`invert: expected positive integers, got n=${r} mod=${t}`);let e=N(r,t),n=t,i=tt,s=vt,o=vt,a=tt;for(;e!==tt;){let u=n/e,l=n%e,f=i-o*u,d=s-a*u;n=e,e=l,i=o,s=a,o=f,a=d}if(n!==vt)throw new Error("invert: does not exist");return N(i,t)}function w_(r,t=Nt.P){let e=new Array(r.length),n=r.reduce((s,o,a)=>o===tt?s:(e[a]=s,N(s*o,t)),vt),i=Pi(n,t);return r.reduceRight((s,o,a)=>o===tt?s:(e[a]=N(s*e[a],t),N(s*o,t)),i),e}function E_(r){let t=r.length*8-Bi*8,e=rn(r);return t>0?e>>BigInt(t):e}function Bl(r,t=!1){let e=E_(r);if(t)return e;let{n}=Nt;return e>=n?e-n:e}var Ci,ws,Cl=class{constructor(t,e){if(this.hashLen=t,this.qByteLen=e,typeof t!="number"||t<2)throw new Error("hashLen must be a number");if(typeof e!="number"||e<2)throw new Error("qByteLen must be a number");this.v=new Uint8Array(t).fill(1),this.k=new Uint8Array(t).fill(0),this.counter=0}hmac(...t){return ze.hmacSha256(this.k,...t)}hmacSync(...t){return ws(this.k,...t)}checkSync(){if(typeof ws!="function")throw new wa("hmacSha256Sync needs to be set")}incr(){if(this.counter>=1e3)throw new Error("Tried 1,000 k values for sign(), all were invalid");this.counter+=1}async reseed(t=new Uint8Array){this.k=await this.hmac(this.v,Uint8Array.from([0]),t),this.v=await this.hmac(this.v),t.length!==0&&(this.k=await this.hmac(this.v,Uint8Array.from([1]),t),this.v=await this.hmac(this.v))}reseedSync(t=new Uint8Array){this.checkSync(),this.k=this.hmacSync(this.v,Uint8Array.from([0]),t),this.v=this.hmacSync(this.v),t.length!==0&&(this.k=this.hmacSync(this.v,Uint8Array.from([1]),t),this.v=this.hmacSync(this.v))}async generate(){this.incr();let t=0,e=[];for(;t<this.qByteLen;){this.v=await this.hmac(this.v);let n=this.v.slice();e.push(n),t+=this.v.length}return tn(...e)}generateSync(){this.checkSync(),this.incr();let t=0,e=[];for(;t<this.qByteLen;){this.v=this.hmacSync(this.v);let n=this.v.slice();e.push(n),t+=this.v.length}return tn(...e)}};function Es(r){return tt<r&&r<Nt.n}function Rl(r){return tt<r&&r<Nt.P}function x_(r,t,e,n=!0){let{n:i}=Nt,s=Bl(r,!0);if(!Es(s))return;let o=Pi(s,i),a=ot.BASE.multiply(s),c=N(a.x,i);if(c===tt)return;let u=N(o*N(t+e*c,i),i);if(u===tt)return;let l=new fr(c,u),f=(a.x===l.r?0:2)|Number(a.y&vt);return n&&l.hasHighS()&&(l=l.normalizeS(),f^=1),{sig:l,recovery:f}}function xa(r){let t;if(typeof r=="bigint")t=r;else if(typeof r=="number"&&Number.isSafeInteger(r)&&r>0)t=BigInt(r);else if(typeof r=="string"){if(r.length!==2*Bi)throw new Error("Expected 32 bytes of private key");t=Ea(r)}else if(r instanceof Uint8Array){if(r.length!==Bi)throw new Error("Expected 32 bytes of private key");t=rn(r)}else throw new TypeError("Expected valid private key");if(!Es(t))throw new Error("Expected private key: 0 < key < n");return t}function v_(r){return r instanceof ot?(r.assertValidity(),r):ot.fromHex(r)}function ly(r){if(r instanceof fr)return r.assertValidity(),r;try{return fr.fromDER(r)}catch{return fr.fromCompact(r)}}function Dl(r,t=!1){return ot.fromPrivateKey(r).toRawBytes(t)}function fy(r){let t=r.length>$e?r.slice(0,$e):r;return rn(t)}function b_(r){let t=fy(r),e=N(t,Nt.n);return hy(e<tt?t:e)}function hy(r){return Tl(r)}function __(r,t,e){if(r==null)throw new Error(`sign: expected valid message hash, not "${r}"`);let n=Li(r),i=xa(t),s=[hy(i),b_(n)];if(e!=null){e===!0&&(e=ze.randomBytes($e));let c=Li(e);if(c.length!==$e)throw new Error(`sign: Expected ${$e} bytes of extra data`);s.push(c)}let o=tn(...s),a=fy(n);return{seed:o,m:a,d:i}}function S_(r,t){let{sig:e,recovery:n}=r,{der:i,recovered:s}=Object.assign({canonical:!0,der:!0},t),o=i?e.toDERRawBytes():e.toCompactRawBytes();return s?[o,n]:o}async function dy(r,t,e={}){let{seed:n,m:i,d:s}=__(r,t,e.extraEntropy),o=new Cl(d_,Bi);await o.reseed(n);let a;for(;!(a=x_(await o.generate(),i,s,e.canonical));)await o.reseed();return S_(a,e)}var A_={strict:!0};function py(r,t,e,n=A_){let i;try{i=ly(r),t=Li(t)}catch{return!1}let{r:s,s:o}=i;if(n.strict&&i.hasHighS())return!1;let a=Bl(t),c;try{c=v_(e)}catch{return!1}let{n:u}=Nt,l=Pi(o,u),f=N(a*l,u),d=N(s*l,u),h=ot.BASE.multiplyAndAddUnsafe(c,f,d);return h?N(h.x,u)===s:!1}ot.BASE._setWindowSize(8);var ve={node:h_,web:typeof self=="object"&&"crypto"in self?self.crypto:void 0};var ga={},ze={bytesToHex:Di,hexToBytes:Un,concatBytes:tn,mod:N,invert:Pi,isValidPrivateKey(r){try{return xa(r),!0}catch{return!1}},_bigintTo32Bytes:Tl,_normalizePrivateKey:xa,hashToPrivateKey:r=>{r=Li(r);let t=Bi+8;if(r.length<t||r.length>1024)throw new Error("Expected valid bytes of private key as per FIPS 186");let e=N(rn(r),Nt.n-vt)+vt;return Tl(e)},randomBytes:(r=32)=>{if(ve.web)return ve.web.getRandomValues(new Uint8Array(r));if(ve.node){let{randomBytes:t}=ve.node;return Uint8Array.from(t(r))}else throw new Error("The environment doesn't have randomBytes function")},randomPrivateKey:()=>ze.hashToPrivateKey(ze.randomBytes(Bi+8)),precompute(r=8,t=ot.BASE){let e=t===ot.BASE?t:new ot(t.x,t.y);return e._setWindowSize(r),e.multiply(gs),e},sha256:async(...r)=>{if(ve.web){let t=await ve.web.subtle.digest("SHA-256",tn(...r));return new Uint8Array(t)}else if(ve.node){let{createHash:t}=ve.node,e=t("sha256");return r.forEach(n=>e.update(n)),Uint8Array.from(e.digest())}else throw new Error("The environment doesn't have sha256 function")},hmacSha256:async(r,...t)=>{if(ve.web){let e=await ve.web.subtle.importKey("raw",r,{name:"HMAC",hash:{name:"SHA-256"}},!1,["sign"]),n=tn(...t),i=await ve.web.subtle.sign("HMAC",e,n);return new Uint8Array(i)}else if(ve.node){let{createHmac:e}=ve.node,n=e("sha256",r);return t.forEach(i=>n.update(i)),Uint8Array.from(n.digest())}else throw new Error("The environment doesn't have hmac-sha256 function")},sha256Sync:void 0,hmacSha256Sync:void 0,taggedHash:async(r,...t)=>{let e=ga[r];if(e===void 0){let n=await ze.sha256(Uint8Array.from(r,i=>i.charCodeAt(0)));e=tn(n,n),ga[r]=e}return ze.sha256(e,...t)},taggedHashSync:(r,...t)=>{if(typeof Ci!="function")throw new wa("sha256Sync is undefined, you need to set it");let e=ga[r];if(e===void 0){let n=Ci(Uint8Array.from(r,i=>i.charCodeAt(0)));e=tn(n,n),ga[r]=e}return Ci(e,...t)},_JacobianPoint:it};Object.defineProperties(ze,{sha256Sync:{configurable:!1,get(){return Ci},set(r){Ci||(Ci=r)}},hmacSha256Sync:{configurable:!1,get(){return ws},set(r){ws||(ws=r)}}});function Lr(r){if(isNaN(r)||r<=0)throw new T("random bytes length must be a Number bigger than 0","ERR_INVALID_LENGTH");return ze.randomBytes(r)}var Fn={};ne(Fn,{jwkToPkcs1:()=>T_,jwkToPkix:()=>B_,pkcs1ToJwk:()=>I_,pkixToJwk:()=>C_});var x8=C(hs(),1),v8=C(ha(),1),Pr=C(ut(),1);function I_(r){let t=Pr.default.asn1.fromDer(z(r,"ascii")),e=Pr.default.pki.privateKeyFromAsn1(t);return{kty:"RSA",n:qe(e.n),e:qe(e.e),d:qe(e.d),p:qe(e.p),q:qe(e.q),dp:qe(e.dP),dq:qe(e.dQ),qi:qe(e.qInv),alg:"RS256"}}function T_(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 T("JWK was missing components","ERR_INVALID_PARAMETERS");let t=Pr.default.pki.privateKeyToAsn1({n:xe(r.n),e:xe(r.e),d:xe(r.d),p:xe(r.p),q:xe(r.q),dP:xe(r.dp),dQ:xe(r.dq),qInv:xe(r.qi)});return F(Pr.default.asn1.toDer(t).getBytes(),"ascii")}function C_(r){let t=Pr.default.asn1.fromDer(z(r,"ascii")),e=Pr.default.pki.publicKeyFromAsn1(t);return{kty:"RSA",n:qe(e.n),e:qe(e.e)}}function B_(r){if(r.n==null||r.e==null)throw new T("JWK was missing components","ERR_INVALID_PARAMETERS");let t=Pr.default.pki.publicKeyToAsn1({n:xe(r.n),e:xe(r.e)});return F(Pr.default.asn1.toDer(t).getBytes(),"ascii")}var R8=C(ha(),1),Ll=C(ut(),1);function my(r,t){return t.map(e=>xe(r[e]))}function yy(r){return Ll.default.pki.setRsaPrivateKey(...my(r,["n","e","d","p","q","dp","dq","qi"]))}function gy(r){return Ll.default.pki.setRsaPublicKey(...my(r,["n","e"]))}async function wy(r){let t=await he.get().subtle.generateKey({name:"RSASSA-PKCS1-v1_5",modulusLength:r,publicExponent:new Uint8Array([1,0,1]),hash:{name:"SHA-256"}},!0,["sign","verify"]),e=await vy(t);return{privateKey:e[0],publicKey:e[1]}}async function Pl(r){let e=[await he.get().subtle.importKey("jwk",r,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!0,["sign"]),await D_(r)],n=await vy({privateKey:e[0],publicKey:e[1]});return{privateKey:n[0],publicKey:n[1]}}async function Ey(r,t){let e=await he.get().subtle.importKey("jwk",r,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!1,["sign"]),n=await he.get().subtle.sign({name:"RSASSA-PKCS1-v1_5"},e,Uint8Array.from(t));return new Uint8Array(n,0,n.byteLength)}async function xy(r,t,e){let n=await he.get().subtle.importKey("jwk",r,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!1,["verify"]);return await he.get().subtle.verify({name:"RSASSA-PKCS1-v1_5"},n,t,e)}async function vy(r){if(r.privateKey==null||r.publicKey==null)throw new T("Private and public key are required","ERR_INVALID_PARAMETERS");return await Promise.all([he.get().subtle.exportKey("jwk",r.privateKey),he.get().subtle.exportKey("jwk",r.publicKey)])}async function D_(r){return await he.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 by(r,t,e,n){let i=t?gy(r):yy(r),s=z(Uint8Array.from(e),"ascii"),o=n(s,i);return F(o,"ascii")}function _y(r,t){return by(r,!0,t,(e,n)=>n.encrypt(e))}function Sy(r,t){return by(r,!1,t,(e,n)=>n.decrypt(e))}async function Ni(r,t){let n=await da().encrypt(r,t);return wn.encode(n)}var vs=class{constructor(t){this._key=t}async verify(t,e){return await xy(this._key,e,t)}marshal(){return Fn.jwkToPkix(this._key)}get bytes(){return nr.encode({Type:_t.RSA,Data:this.marshal()}).subarray()}encrypt(t){return _y(this._key,t)}equals(t){return mt(this.bytes,t.bytes)}async hash(){let{bytes:t}=await ie.digest(this.bytes);return t}},ki=class{constructor(t,e){this._key=t,this._publicKey=e}genSecret(){return Lr(16)}async sign(t){return await Ey(this._key,t)}get public(){if(this._publicKey==null)throw new T("public key not provided","ERR_PUBKEY_NOT_PROVIDED");return new vs(this._publicKey)}decrypt(t){return Sy(this._key,t)}marshal(){return Fn.jwkToPkcs1(this._key)}get bytes(){return ir.encode({Type:_t.RSA,Data:this.marshal()}).subarray()}equals(t){return mt(this.bytes,t.bytes)}async hash(){let{bytes:t}=await ie.digest(this.bytes);return t}async id(){let t=await this.public.hash();return z(t,"base58btc")}async export(t,e="pkcs-8"){if(e==="pkcs-8"){let n=new xs.default.util.ByteBuffer(this.marshal()),i=xs.default.asn1.fromDer(n),s=xs.default.pki.privateKeyFromAsn1(i),o={algorithm:"aes256",count:1e4,saltSize:128/8,prfAlgorithm:"sha512"};return xs.default.pki.encryptRsaPrivateKey(s,t,o)}else{if(e==="libp2p-key")return await Ni(this.bytes,t);throw new T(`export format '${e}' is not supported`,"ERR_INVALID_EXPORT_FORMAT")}}};async function P_(r){let t=Fn.pkcs1ToJwk(r),e=await Pl(t);return new ki(e.privateKey,e.publicKey)}function N_(r){let t=Fn.pkixToJwk(r);return new vs(t)}async function k_(r){let t=await Pl(r);return new ki(t.privateKey,t.publicKey)}async function O_(r){let t=await wy(r);return new ki(t.privateKey,t.publicKey)}var $l={};ne($l,{Ed25519PrivateKey:()=>Vn,Ed25519PublicKey:()=>Rs,generateKeyPair:()=>nS,generateKeyPairFromSeed:()=>Fy,unmarshalEd25519PrivateKey:()=>eS,unmarshalEd25519PublicKey:()=>rS});var M_=C(Tn(),1);var re=BigInt(0),et=BigInt(1),on=BigInt(2),U_=BigInt(8),Ay=BigInt("7237005577332262213973186563042994240857116359379907606001950938285454250989"),bt=Object.freeze({a:BigInt(-1),d:BigInt("37095705934669439343138083508754565189542113879843219016388785533085940283555"),P:BigInt("57896044618658097711785492504343953926634992332820282019728792003956564819949"),l:Ay,n:Ay,h:BigInt(8),Gx:BigInt("15112221349535400772501151409588531511454012693041857206046113283949847762202"),Gy:BigInt("46316835694926478169428394003475163141307993866256225615783033603165251855960")});var By=BigInt("0x10000000000000000000000000000000000000000000000000000000000000000"),bs=BigInt("19681161376707505956807079304988542015446066515923890162744021073123829784752"),$8=BigInt("6853475219497561581579357271197624642482790079785650197046958215289687604742"),F_=BigInt("25063068953384623474111414158702152701244531502492656460079210482610430750235"),K_=BigInt("54469307008909316920995813868745141605393597292927456921205312896311721017578"),V_=BigInt("1159843021668779879193775521855586647937357759715417654439879720876111806838"),q_=BigInt("40440834346308536858101042469323190826248399146238708352240133220865137265952"),X=class{constructor(t,e,n,i){this.x=t,this.y=e,this.z=n,this.t=i}static fromAffine(t){if(!(t instanceof At))throw new TypeError("ExtendedPoint#fromAffine: expected Point");return t.equals(At.ZERO)?X.ZERO:new X(t.x,t.y,et,A(t.x*t.y))}static toAffineBatch(t){let e=H_(t.map(n=>n.z));return t.map((n,i)=>n.toAffine(e[i]))}static normalizeZ(t){return this.toAffineBatch(t).map(this.fromAffine)}equals(t){Iy(t);let{x:e,y:n,z:i}=this,{x:s,y:o,z:a}=t,c=A(e*a),u=A(s*i),l=A(n*a),f=A(o*i);return c===u&&l===f}negate(){return new X(A(-this.x),this.y,this.z,A(-this.t))}double(){let{x:t,y:e,z:n}=this,{a:i}=bt,s=A(t*t),o=A(e*e),a=A(on*A(n*n)),c=A(i*s),u=t+e,l=A(A(u*u)-s-o),f=c+o,d=f-a,h=c-o,p=A(l*d),m=A(f*h),y=A(l*h),g=A(d*f);return new X(p,m,g,y)}add(t){Iy(t);let{x:e,y:n,z:i,t:s}=this,{x:o,y:a,z:c,t:u}=t,l=A((n-e)*(a+o)),f=A((n+e)*(a-o)),d=A(f-l);if(d===re)return this.double();let h=A(i*on*u),p=A(s*on*c),m=p+h,y=f+l,g=p-h,E=A(m*d),b=A(y*g),O=A(m*g),B=A(d*y);return new X(E,b,B,O)}subtract(t){return this.add(t.negate())}precomputeWindow(t){let e=1+256/t,n=[],i=this,s=i;for(let o=0;o<e;o++){s=i,n.push(s);for(let a=1;a<2**(t-1);a++)s=s.add(i),n.push(s);i=s.double()}return n}wNAF(t,e){!e&&this.equals(X.BASE)&&(e=At.BASE);let n=e&&e._WINDOW_SIZE||1;if(256%n)throw new Error("Point#wNAF: Invalid precomputation window, must be power of 2");let i=e&&Fl.get(e);i||(i=this.precomputeWindow(n),e&&n!==1&&(i=X.normalizeZ(i),Fl.set(e,i)));let s=X.ZERO,o=X.BASE,a=1+256/n,c=2**(n-1),u=BigInt(2**n-1),l=2**n,f=BigInt(n);for(let d=0;d<a;d++){let h=d*c,p=Number(t&u);t>>=f,p>c&&(p-=l,t+=et);let m=h,y=h+Math.abs(p)-1,g=d%2!==0,E=p<0;p===0?o=o.add(Ry(g,i[m])):s=s.add(Ry(E,i[y]))}return X.normalizeZ([s,o])[0]}multiply(t,e){return this.wNAF(ba(t,bt.l),e)}multiplyUnsafe(t){let e=ba(t,bt.l,!1),n=X.BASE,i=X.ZERO;if(e===re)return i;if(this.equals(i)||e===et)return this;if(this.equals(n))return this.wNAF(e);let s=i,o=this;for(;e>re;)e&et&&(s=s.add(o)),o=o.double(),e>>=et;return s}isSmallOrder(){return this.multiplyUnsafe(bt.h).equals(X.ZERO)}isTorsionFree(){let t=this.multiplyUnsafe(bt.l/on).double();return bt.l%on&&(t=t.add(this)),t.equals(X.ZERO)}toAffine(t){let{x:e,y:n,z:i}=this,s=this.equals(X.ZERO);t==null&&(t=s?U_:_a(i));let o=A(e*t),a=A(n*t),c=A(i*t);if(s)return At.ZERO;if(c!==et)throw new Error("invZ was invalid");return new At(o,a)}fromRistrettoBytes(){Ol()}toRistrettoBytes(){Ol()}fromRistrettoHash(){Ol()}};X.BASE=new X(bt.Gx,bt.Gy,et,A(bt.Gx*bt.Gy));X.ZERO=new X(re,et,et,re);function Ry(r,t){let e=t.negate();return r?e:t}function Iy(r){if(!(r instanceof X))throw new TypeError("ExtendedPoint expected")}function kl(r){if(!(r instanceof de))throw new TypeError("RistrettoPoint expected")}function Ol(){throw new Error("Legacy method: switch to RistrettoPoint")}var de=class{constructor(t){this.ep=t}static calcElligatorRistrettoMap(t){let{d:e}=bt,n=A(bs*t*t),i=A((n+et)*V_),s=BigInt(-1),o=A((s-e*n)*A(n+e)),{isValid:a,value:c}=Vl(i,o),u=A(c*t);sn(u)||(u=A(-u)),a||(c=u),a||(s=n);let l=A(s*(n-et)*q_-o),f=c*c,d=A((c+c)*o),h=A(l*F_),p=A(et-f),m=A(et+f);return new X(A(d*m),A(p*h),A(h*m),A(d*p))}static hashToCurve(t){t=an(t,64);let e=Ml(t.slice(0,32)),n=this.calcElligatorRistrettoMap(e),i=Ml(t.slice(32,64)),s=this.calcElligatorRistrettoMap(i);return new de(n.add(s))}static fromHex(t){t=an(t,32);let{a:e,d:n}=bt,i="RistrettoPoint.fromHex: the hex is not valid encoding of RistrettoPoint",s=Ml(t);if(!Y_(_s(s),t)||sn(s))throw new Error(i);let o=A(s*s),a=A(et+e*o),c=A(et-e*o),u=A(a*a),l=A(c*c),f=A(e*n*u-l),{isValid:d,value:h}=Cy(A(f*l)),p=A(h*c),m=A(h*p*f),y=A((s+s)*p);sn(y)&&(y=A(-y));let g=A(a*m),E=A(y*g);if(!d||sn(E)||g===re)throw new Error(i);return new de(new X(y,g,et,E))}toRawBytes(){let{x:t,y:e,z:n,t:i}=this.ep,s=A(A(n+e)*A(n-e)),o=A(t*e),a=A(o*o),{value:c}=Cy(A(s*a)),u=A(c*s),l=A(c*o),f=A(u*l*i),d;if(sn(i*f)){let p=A(e*bs),m=A(t*bs);t=p,e=m,d=A(u*K_)}else d=l;sn(t*f)&&(e=A(-e));let h=A((n-e)*d);return sn(h)&&(h=A(-h)),_s(h)}toHex(){return Ss(this.toRawBytes())}toString(){return this.toHex()}equals(t){kl(t);let e=this.ep,n=t.ep,i=A(e.x*n.y)===A(e.y*n.x),s=A(e.y*n.y)===A(e.x*n.x);return i||s}add(t){return kl(t),new de(this.ep.add(t.ep))}subtract(t){return kl(t),new de(this.ep.subtract(t.ep))}multiply(t){return new de(this.ep.multiply(t))}multiplyUnsafe(t){return new de(this.ep.multiplyUnsafe(t))}};de.BASE=new de(X.BASE);de.ZERO=new de(X.ZERO);var Fl=new WeakMap,At=class{constructor(t,e){this.x=t,this.y=e}_setWindowSize(t){this._WINDOW_SIZE=t,Fl.delete(this)}static fromHex(t,e=!0){let{d:n,P:i}=bt;t=an(t,32);let s=t.slice();s[31]=t[31]&-129;let o=As(s);if(e&&o>=i)throw new Error("Expected 0 < hex < P");if(!e&&o>=By)throw new Error("Expected 0 < hex < 2**256");let a=A(o*o),c=A(a-et),u=A(n*a+et),{isValid:l,value:f}=Vl(c,u);if(!l)throw new Error("Point.fromHex: invalid y coordinate");let d=(f&et)===et;return(t[31]&128)!==0!==d&&(f=A(-f)),new At(f,o)}static async fromPrivateKey(t){return(await Sa(t)).point}toRawBytes(){let t=_s(this.y);return t[31]|=this.x&et?128:0,t}toHex(){return Ss(this.toRawBytes())}toX25519(){let{y:t}=this,e=A((et+t)*_a(et-t));return _s(e)}isTorsionFree(){return X.fromAffine(this).isTorsionFree()}equals(t){return this.x===t.x&&this.y===t.y}negate(){return new At(A(-this.x),this.y)}add(t){return X.fromAffine(this).add(X.fromAffine(t)).toAffine()}subtract(t){return this.add(t.negate())}multiply(t){return X.fromAffine(this).multiply(t,this).toAffine()}};At.BASE=new At(bt.Gx,bt.Gy);At.ZERO=new At(re,et);var Kn=class{constructor(t,e){this.r=t,this.s=e,this.assertValidity()}static fromHex(t){let e=an(t,64),n=At.fromHex(e.slice(0,32),!1),i=As(e.slice(32,64));return new Kn(n,i)}assertValidity(){let{r:t,s:e}=this;if(!(t instanceof At))throw new Error("Expected Point instance");return ba(e,bt.l,!1),this}toRawBytes(){let t=new Uint8Array(64);return t.set(this.r.toRawBytes()),t.set(_s(this.s),32),t}toHex(){return Ss(this.toRawBytes())}};function Ty(...r){if(!r.every(n=>n instanceof Uint8Array))throw new Error("Expected Uint8Array list");if(r.length===1)return r[0];let t=r.reduce((n,i)=>n+i.length,0),e=new Uint8Array(t);for(let n=0,i=0;n<r.length;n++){let s=r[n];e.set(s,i),i+=s.length}return e}var $_=Array.from({length:256},(r,t)=>t.toString(16).padStart(2,"0"));function Ss(r){if(!(r instanceof Uint8Array))throw new Error("Uint8Array expected");let t="";for(let e=0;e<r.length;e++)t+=$_[r[e]];return t}function Kl(r){if(typeof r!="string")throw new TypeError("hexToBytes: expected string, got "+typeof r);if(r.length%2)throw new Error("hexToBytes: received invalid unpadded hex");let t=new Uint8Array(r.length/2);for(let e=0;e<t.length;e++){let n=e*2,i=r.slice(n,n+2),s=Number.parseInt(i,16);if(Number.isNaN(s)||s<0)throw new Error("Invalid byte sequence");t[e]=s}return t}function Dy(r){let e=r.toString(16).padStart(64,"0");return Kl(e)}function _s(r){return Dy(r).reverse()}function sn(r){return(A(r)&et)===et}function As(r){if(!(r instanceof Uint8Array))throw new Error("Expected Uint8Array");return BigInt("0x"+Ss(Uint8Array.from(r).reverse()))}var z_=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");function Ml(r){return A(As(r)&z_)}function A(r,t=bt.P){let e=r%t;return e>=re?e:t+e}function _a(r,t=bt.P){if(r===re||t<=re)throw new Error(`invert: expected positive integers, got n=${r} mod=${t}`);let e=A(r,t),n=t,i=re,s=et,o=et,a=re;for(;e!==re;){let u=n/e,l=n%e,f=i-o*u,d=s-a*u;n=e,e=l,i=o,s=a,o=f,a=d}if(n!==et)throw new Error("invert: does not exist");return A(i,t)}function H_(r,t=bt.P){let e=new Array(r.length),n=r.reduce((s,o,a)=>o===re?s:(e[a]=s,A(s*o,t)),et),i=_a(n,t);return r.reduceRight((s,o,a)=>o===re?s:(e[a]=A(s*e[a],t),A(s*o,t)),i),e}function hr(r,t){let{P:e}=bt,n=r;for(;t-- >re;)n*=n,n%=e;return n}function G_(r){let{P:t}=bt,e=BigInt(5),n=BigInt(10),i=BigInt(20),s=BigInt(40),o=BigInt(80),c=r*r%t*r%t,u=hr(c,on)*c%t,l=hr(u,et)*r%t,f=hr(l,e)*l%t,d=hr(f,n)*f%t,h=hr(d,i)*d%t,p=hr(h,s)*h%t,m=hr(p,o)*p%t,y=hr(m,o)*p%t,g=hr(y,n)*f%t;return{pow_p_5_8:hr(g,on)*r%t,b2:c}}function Vl(r,t){let e=A(t*t*t),n=A(e*e*t),i=G_(r*n).pow_p_5_8,s=A(r*e*i),o=A(t*s*s),a=s,c=A(s*bs),u=o===r,l=o===A(-r),f=o===A(-r*bs);return u&&(s=a),(l||f)&&(s=c),sn(s)&&(s=A(-s)),{isValid:u||l,value:s}}function Cy(r){return Vl(et,r)}function va(r){return A(As(r),bt.l)}function Y_(r,t){if(r.length!==t.length)return!1;for(let e=0;e<r.length;e++)if(r[e]!==t[e])return!1;return!0}function an(r,t){let e=r instanceof Uint8Array?Uint8Array.from(r):Kl(r);if(typeof t=="number"&&e.length!==t)throw new Error(`Expected ${t} bytes`);return e}function ba(r,t,e=!0){if(!t)throw new TypeError("Specify max value");if(typeof r=="number"&&Number.isSafeInteger(r)&&(r=BigInt(r)),typeof r=="bigint"&&r<t){if(e){if(re<r)return r}else if(re<=r)return r}throw new TypeError("Expected valid scalar: 0 < scalar < max")}function W_(r){return r[0]&=248,r[31]&=127,r[31]|=64,r}function Q_(r){if(r=typeof r=="bigint"||typeof r=="number"?Dy(ba(r,By)):an(r),r.length!==32)throw new Error("Expected 32 bytes");return r}function X_(r){let t=W_(r.slice(0,32)),e=r.slice(32,64),n=va(t),i=At.BASE.multiply(n),s=i.toRawBytes();return{head:t,prefix:e,scalar:n,point:i,pointBytes:s}}var Ul;async function Sa(r){return X_(await cn.sha512(Q_(r)))}async function ql(r){return(await Sa(r)).pointBytes}async function Ly(r,t){r=an(r);let{prefix:e,scalar:n,pointBytes:i}=await Sa(t),s=va(await cn.sha512(e,r)),o=At.BASE.multiply(s),a=va(await cn.sha512(o.toRawBytes(),i,r)),c=A(s+a*n,bt.l);return new Kn(o,c).toRawBytes()}function Z_(r,t,e){t=an(t),e instanceof At||(e=At.fromHex(e,!1));let{r:n,s:i}=r instanceof Kn?r.assertValidity():Kn.fromHex(r),s=X.BASE.multiplyUnsafe(i);return{r:n,s:i,SB:s,pub:e,msg:t}}function J_(r,t,e,n){let i=va(n),s=X.fromAffine(r).multiplyUnsafe(i);return X.fromAffine(t).add(s).subtract(e).multiplyUnsafe(bt.h).equals(X.ZERO)}async function Py(r,t,e){let{r:n,SB:i,msg:s,pub:o}=Z_(r,t,e),a=await cn.sha512(n.toRawBytes(),o.toRawBytes(),s);return J_(o,n,i,a)}At.BASE._setWindowSize(8);var nn={node:M_,web:typeof self=="object"&&"crypto"in self?self.crypto:void 0},cn={bytesToHex:Ss,hexToBytes:Kl,concatBytes:Ty,getExtendedPublicKey:Sa,mod:A,invert:_a,TORSION_SUBGROUP:["0100000000000000000000000000000000000000000000000000000000000000","c7176a703d4dd84fba3c0b760d10670f2a2053fa2c39ccc64ec7fd7792ac037a","0000000000000000000000000000000000000000000000000000000000000080","26e8958fc2b227b045c3f489f2ef98f0d5dfac05d3c63339b13802886d53fc05","ecffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f","26e8958fc2b227b045c3f489f2ef98f0d5dfac05d3c63339b13802886d53fc85","0000000000000000000000000000000000000000000000000000000000000000","c7176a703d4dd84fba3c0b760d10670f2a2053fa2c39ccc64ec7fd7792ac03fa"],hashToPrivateScalar:r=>{if(r=an(r),r.length<40||r.length>1024)throw new Error("Expected 40-1024 bytes of private key as per FIPS 186");return A(As(r),bt.l-et)+et},randomBytes:(r=32)=>{if(nn.web)return nn.web.getRandomValues(new Uint8Array(r));if(nn.node){let{randomBytes:t}=nn.node;return new Uint8Array(t(r).buffer)}else throw new Error("The environment doesn't have randomBytes function")},randomPrivateKey:()=>cn.randomBytes(32),sha512:async(...r)=>{let t=Ty(...r);if(nn.web){let e=await nn.web.subtle.digest("SHA-512",t.buffer);return new Uint8Array(e)}else{if(nn.node)return Uint8Array.from(nn.node.createHash("sha512").update(t).digest());throw new Error("The environment doesn't have sha512 function")}},precompute(r=8,t=At.BASE){let e=t.equals(At.BASE)?t:new At(t.x,t.y);return e._setWindowSize(r),e.multiply(on),e},sha512Sync:void 0};Object.defineProperties(cn,{sha512Sync:{configurable:!1,get(){return Ul},set(r){Ul||(Ul=r)}}});var Oi=32,Nr=64,Aa=32;async function Ny(){let r=cn.randomPrivateKey(),t=await ql(r);return{privateKey:Uy(r,t),publicKey:t}}async function ky(r){if(r.length!==Aa)throw new TypeError('"seed" must be 32 bytes in length.');if(!(r instanceof Uint8Array))throw new TypeError('"seed" must be a node.js Buffer, or Uint8Array.');let t=r,e=await ql(t);return{privateKey:Uy(t,e),publicKey:e}}async function Oy(r,t){let e=r.subarray(0,Aa);return await Ly(t,e)}async function My(r,t,e){return await Py(t,e,r)}function Uy(r,t){let e=new Uint8Array(Nr);for(let n=0;n<Aa;n++)e[n]=r[n],e[Aa+n]=t[n];return e}var Rs=class{constructor(t){this._key=Mi(t,Oi)}async verify(t,e){return await My(this._key,e,t)}marshal(){return this._key}get bytes(){return nr.encode({Type:_t.Ed25519,Data:this.marshal()}).subarray()}equals(t){return mt(this.bytes,t.bytes)}async hash(){let{bytes:t}=await ie.digest(this.bytes);return t}},Vn=class{constructor(t,e){this._key=Mi(t,Nr),this._publicKey=Mi(e,Oi)}async sign(t){return await Oy(this._key,t)}get public(){return new Rs(this._publicKey)}marshal(){return this._key}get bytes(){return ir.encode({Type:_t.Ed25519,Data:this.marshal()}).subarray()}equals(t){return mt(this.bytes,t.bytes)}async hash(){let{bytes:t}=await ie.digest(this.bytes);return t}async id(){let t=qr.digest(this.public.bytes);return Ot.encode(t.bytes).substring(1)}async export(t,e="libp2p-key"){if(e==="libp2p-key")return await Ni(this.bytes,t);throw new T(`export format '${e}' is not supported`,"ERR_INVALID_EXPORT_FORMAT")}};function eS(r){if(r.length>Nr){r=Mi(r,Nr+Oi);let n=r.subarray(0,Nr),i=r.subarray(Nr,r.length);return new Vn(n,i)}r=Mi(r,Nr);let t=r.subarray(0,Nr),e=r.subarray(Oi);return new Vn(t,e)}function rS(r){return r=Mi(r,Oi),new Rs(r)}async function nS(){let{privateKey:r,publicKey:t}=await Ny();return new Vn(r,t)}async function Fy(r){let{privateKey:t,publicKey:e}=await ky(r);return new Vn(t,e)}function Mi(r,t){if(r=Uint8Array.from(r??[]),r.length!==t)throw new T(`Key must be a Uint8Array of length ${t}, got ${r.length}`,"ERR_INVALID_KEY_TYPE");return r}var Hl={};ne(Hl,{Secp256k1PrivateKey:()=>Ts,Secp256k1PublicKey:()=>Is,generateKeyPair:()=>aS,unmarshalSecp256k1PrivateKey:()=>sS,unmarshalSecp256k1PublicKey:()=>oS});function Ky(){return ze.randomPrivateKey()}async function Vy(r,t){let{digest:e}=await ie.digest(t);try{return await dy(e,r)}catch(n){throw new T(String(n),"ERR_INVALID_INPUT")}}async function qy(r,t,e){try{let{digest:n}=await ie.digest(e);return py(t,n,r)}catch(n){throw new T(String(n),"ERR_INVALID_INPUT")}}function $y(r){return ot.fromHex(r).toRawBytes(!0)}function zy(r){try{Dl(r,!0)}catch(t){throw new T(String(t),"ERR_INVALID_PRIVATE_KEY")}}function zl(r){try{ot.fromHex(r)}catch(t){throw new T(String(t),"ERR_INVALID_PUBLIC_KEY")}}function Hy(r){try{return Dl(r,!0)}catch(t){throw new T(String(t),"ERR_INVALID_PRIVATE_KEY")}}var Is=class{constructor(t){zl(t),this._key=t}async verify(t,e){return await qy(this._key,e,t)}marshal(){return $y(this._key)}get bytes(){return nr.encode({Type:_t.Secp256k1,Data:this.marshal()}).subarray()}equals(t){return mt(this.bytes,t.bytes)}async hash(){let{bytes:t}=await ie.digest(this.bytes);return t}},Ts=class{constructor(t,e){this._key=t,this._publicKey=e??Hy(t),zy(this._key),zl(this._publicKey)}async sign(t){return await Vy(this._key,t)}get public(){return new Is(this._publicKey)}marshal(){return this._key}get bytes(){return ir.encode({Type:_t.Secp256k1,Data:this.marshal()}).subarray()}equals(t){return mt(this.bytes,t.bytes)}async hash(){let{bytes:t}=await ie.digest(this.bytes);return t}async id(){let t=await this.public.hash();return z(t,"base58btc")}async export(t,e="libp2p-key"){if(e==="libp2p-key")return await Ni(this.bytes,t);throw new T(`export format '${e}' is not supported`,"ERR_INVALID_EXPORT_FORMAT")}};function sS(r){return new Ts(r)}function oS(r){return new Is(r)}async function aS(){let r=Ky();return new Ts(r)}var kr={rsa:Nl,ed25519:$l,secp256k1:Hl};function Gl(r){let t=Object.keys(kr).join(" / ");return new T(`invalid or unsupported key type ${r}. Must be ${t}`,"ERR_UNSUPPORTED_KEY_TYPE")}function Yl(r){if(r=r.toLowerCase(),r==="rsa"||r==="ed25519"||r==="secp256k1")return kr[r];throw Gl(r)}async function Ia(r,t){return await Yl(r).generateKeyPair(t??2048)}function Cs(r){let t=nr.decode(r),e=t.Data??new Uint8Array;switch(t.Type){case _t.RSA:return kr.rsa.unmarshalRsaPublicKey(e);case _t.Ed25519:return kr.ed25519.unmarshalEd25519PublicKey(e);case _t.Secp256k1:return kr.secp256k1.unmarshalSecp256k1PublicKey(e);default:throw Gl(t.Type??"RSA")}}function Gy(r,t){return t=(t??"rsa").toLowerCase(),Yl(t),r.bytes}async function Ui(r){let t=ir.decode(r),e=t.Data??new Uint8Array;switch(t.Type){case _t.RSA:return await kr.rsa.unmarshalRsaPrivateKey(e);case _t.Ed25519:return kr.ed25519.unmarshalEd25519PrivateKey(e);case _t.Secp256k1:return kr.secp256k1.unmarshalSecp256k1PrivateKey(e);default:throw Gl(t.Type??"RSA")}}function Yy(r,t){return t=(t??"rsa").toLowerCase(),Yl(t),r.bytes}async function Bs(r,t){try{let i=await Qm(r,t);return await Ui(i)}catch{}let e=Ra.default.pki.decryptRsaPrivateKey(r,t);if(e===null)throw new T("Cannot read the key, most likely the password is wrong or not a RSA key","ERR_CANNOT_DECRYPT_PEM");let n=Ra.default.asn1.toDer(Ra.default.pki.privateKeyToAsn1(e));return n=F(n.getBytes(),"ascii"),await kr.rsa.unmarshalRsaPrivateKey(n)}var hB=C(ea(),1),uS=C(ut(),1);var Qy=C(pl(),1),Xy=C(Kt(),1);var Wy={sha1:"sha1","sha2-256":"sha256","sha2-512":"sha512"};function Ds(r,t,e,n,i){if(i!=="sha1"&&i!=="sha2-256"&&i!=="sha2-512"){let a=Object.keys(Wy).join(" / ");throw new T(`Hash '${i}' is unknown or not supported. Must be ${a}`,"ERR_UNSUPPORTED_HASH_TYPE")}let s=Wy[i],o=(0,Qy.default)(r,t,e,n,s);return Xy.default.encode64(o,null)}var Ta=U("libp2p:keychain"),hS="/pkcs8/",Jy="/info/",qn=new WeakMap,$n={minKeyLength:112/8,minSaltLength:128/8,minIterationCount:1e3},Wl={dek:{keyLength:512/8,iterationCount:1e4,salt:"you should override this value with a crypto secure random number",hash:"sha2-512"}};function Or(r){return r==null||typeof r!="string"?!1:r===(0,Zy.default)(r.trim())&&r.length>0}async function ht(){let e=Math.random()*800+200;await new Promise(n=>setTimeout(n,e))}function dr(r){return new Pt(hS+r)}function un(r){return new Pt(Jy+r)}var zn=class{constructor(t,e){if(this.components=t,this.init=Ie(Wl,e),this.init.pass!=null&&this.init.pass?.length<20)throw new Error("pass must be least 20 characters");if(this.init.dek?.keyLength!=null&&this.init.dek.keyLength<$n.minKeyLength)throw new Error(`dek.keyLength must be least ${$n.minKeyLength} bytes`);if(this.init.dek?.salt?.length!=null&&this.init.dek.salt.length<$n.minSaltLength)throw new Error(`dek.saltLength must be least ${$n.minSaltLength} bytes`);if(this.init.dek?.iterationCount!=null&&this.init.dek.iterationCount<$n.minIterationCount)throw new Error(`dek.iterationCount must be least ${$n.minIterationCount}`);let n=this.init.pass!=null&&this.init.dek?.salt!=null?Ds(this.init.pass,this.init.dek?.salt,this.init.dek?.iterationCount,this.init.dek?.keyLength,this.init.dek?.hash):"";qn.set(this,{dek:n})}static generateOptions(){let t=Object.assign({},Wl),e=Math.ceil($n.minSaltLength/3)*3;return t.dek.salt=z(Lr(e),"base64"),t}static get options(){return Wl}async createKey(t,e,n=2048){if(!Or(t)||t==="self")throw await ht(),new T("Invalid key name",J.ERR_INVALID_KEY_NAME);if(typeof e!="string")throw await ht(),new T("Invalid key type",J.ERR_INVALID_KEY_TYPE);let i=dr(t);if(await this.components.datastore.has(i))throw await ht(),new T("Key name already exists",J.ERR_KEY_ALREADY_EXISTS);switch(e.toLowerCase()){case"rsa":if(!Number.isSafeInteger(n)||n<2048)throw await ht(),new T("Invalid RSA key size",J.ERR_INVALID_KEY_SIZE);break;default:break}let o;try{let a=await Ia(e,n),c=await a.id(),u=qn.get(this);if(u==null)throw new T("dek missing",J.ERR_INVALID_PARAMETERS);let l=u.dek,f=await a.export(l);o={name:t,id:c};let d=this.components.datastore.batch();d.put(i,F(f)),d.put(un(t),F(JSON.stringify(o))),await d.commit()}catch(a){throw await ht(),a}return o}async listKeys(){let t={prefix:Jy},e=[];for await(let n of this.components.datastore.query(t))e.push(JSON.parse(z(n.value)));return e}async findKeyById(t){try{let n=(await this.listKeys()).find(i=>i.id===t);if(n==null)throw new T(`Key with id '${t}' does not exist.`,J.ERR_KEY_NOT_FOUND);return n}catch(e){throw await ht(),e}}async findKeyByName(t){if(!Or(t))throw await ht(),new T(`Invalid key name '${t}'`,J.ERR_INVALID_KEY_NAME);let e=un(t);try{let n=await this.components.datastore.get(e);return JSON.parse(z(n))}catch(n){throw await ht(),Ta.error(n),new T(`Key '${t}' does not exist.`,J.ERR_KEY_NOT_FOUND)}}async removeKey(t){if(!Or(t)||t==="self")throw await ht(),new T(`Invalid key name '${t}'`,J.ERR_INVALID_KEY_NAME);let e=dr(t),n=await this.findKeyByName(t),i=this.components.datastore.batch();return i.delete(e),i.delete(un(t)),await i.commit(),n}async renameKey(t,e){if(!Or(t)||t==="self")throw await ht(),new T(`Invalid old key name '${t}'`,J.ERR_OLD_KEY_NAME_INVALID);if(!Or(e)||e==="self")throw await ht(),new T(`Invalid new key name '${e}'`,J.ERR_NEW_KEY_NAME_INVALID);let n=dr(t),i=dr(e),s=un(t),o=un(e);if(await this.components.datastore.has(i))throw await ht(),new T(`Key '${e}' already exists`,J.ERR_KEY_ALREADY_EXISTS);try{let c=await this.components.datastore.get(n),u=await this.components.datastore.get(s),l=JSON.parse(z(u));l.name=e;let f=this.components.datastore.batch();return f.put(i,c),f.put(o,F(JSON.stringify(l))),f.delete(n),f.delete(s),await f.commit(),l}catch(c){throw await ht(),c}}async exportKey(t,e){if(!Or(t))throw await ht(),new T(`Invalid key name '${t}'`,J.ERR_INVALID_KEY_NAME);if(e==null)throw await ht(),new T("Password is required",J.ERR_PASSWORD_REQUIRED);let n=dr(t);try{let i=await this.components.datastore.get(n),s=z(i),o=qn.get(this);if(o==null)throw new T("dek missing",J.ERR_INVALID_PARAMETERS);let a=o.dek;return await(await Bs(s,a)).export(e)}catch(i){throw await ht(),i}}async exportPeerId(t){let e="temporary-password",n=await this.exportKey(t,e),i=await Bs(n,e);return await Gr(i.public.bytes,i.bytes)}async importKey(t,e,n){if(!Or(t)||t==="self")throw await ht(),new T(`Invalid key name '${t}'`,J.ERR_INVALID_KEY_NAME);if(e==null)throw await ht(),new T("PEM encoded key is required",J.ERR_PEM_REQUIRED);let i=dr(t);if(await this.components.datastore.has(i))throw await ht(),new T(`Key '${t}' already exists`,J.ERR_KEY_ALREADY_EXISTS);let o;try{o=await Bs(e,n)}catch{throw await ht(),new T("Cannot read the key, most likely the password is wrong",J.ERR_CANNOT_READ_KEY)}let a;try{a=await o.id();let l=qn.get(this);if(l==null)throw new T("dek missing",J.ERR_INVALID_PARAMETERS);let f=l.dek;e=await o.export(f)}catch(l){throw await ht(),l}let c={name:t,id:a},u=this.components.datastore.batch();return u.put(i,F(e)),u.put(un(t),F(JSON.stringify(c))),await u.commit(),c}async importPeer(t,e){try{if(!Or(t))throw new T(`Invalid key name '${t}'`,J.ERR_INVALID_KEY_NAME);if(e==null)throw new T("PeerId is required",J.ERR_MISSING_PRIVATE_KEY);if(e.privateKey==null)throw new T("PeerId.privKey is required",J.ERR_MISSING_PRIVATE_KEY);let n=await Ui(e.privateKey),i=dr(t);if(await this.components.datastore.has(i))throw await ht(),new T(`Key '${t}' already exists`,J.ERR_KEY_ALREADY_EXISTS);let o=qn.get(this);if(o==null)throw new T("dek missing",J.ERR_INVALID_PARAMETERS);let a=o.dek,c=await n.export(a),u={name:t,id:e.toString()},l=this.components.datastore.batch();return l.put(i,F(c)),l.put(un(t),F(JSON.stringify(u))),await l.commit(),u}catch(n){throw await ht(),n}}async getPrivateKey(t){if(!Or(t))throw await ht(),new T(`Invalid key name '${t}'`,J.ERR_INVALID_KEY_NAME);try{let e=dr(t),n=await this.components.datastore.get(e);return z(n)}catch(e){throw await ht(),Ta.error(e),new T(`Key '${t}' does not exist.`,J.ERR_KEY_NOT_FOUND)}}async rotateKeychainPass(t,e){if(typeof t!="string")throw await ht(),new T(`Invalid old pass type '${typeof t}'`,J.ERR_INVALID_OLD_PASS_TYPE);if(typeof e!="string")throw await ht(),new T(`Invalid new pass type '${typeof e}'`,J.ERR_INVALID_NEW_PASS_TYPE);if(e.length<20)throw await ht(),new T(`Invalid pass length ${e.length}`,J.ERR_INVALID_PASS_LENGTH);Ta("recreating keychain");let n=qn.get(this);if(n==null)throw new T("dek missing",J.ERR_INVALID_PARAMETERS);let i=n.dek;this.init.pass=e;let s=e!=null&&this.init.dek?.salt!=null?Ds(e,this.init.dek.salt,this.init.dek?.iterationCount,this.init.dek?.keyLength,this.init.dek?.hash):"";qn.set(this,{dek:s});let o=await this.listKeys();for(let a of o){let c=await this.components.datastore.get(dr(a.name)),u=z(c),l=await Bs(u,i),f=s.toString(),d=await l.export(f),h=this.components.datastore.batch(),p={name:a.name,id:a.id};h.put(dr(a.name),F(d)),h.put(un(a.name),F(JSON.stringify(p))),await h.commit()}Ta("keychain reconstructed")}};var Fi=C(lt(),1);var MB=Symbol.for("@libp2p/transport");var ln;(function(r){r[r.FATAL_ALL=0]="FATAL_ALL",r[r.NO_FATAL=1]="NO_FATAL"})(ln||(ln={}));var Ql=class extends Map{constructor(t){super();let{name:e,metrics:n}=t;this.metric=n.registerMetric(e),this.updateComponentMetric()}set(t,e){return super.set(t,e),this.updateComponentMetric(),this}delete(t){let e=super.delete(t);return this.updateComponentMetric(),e}clear(){super.clear(),this.updateComponentMetric()}updateComponentMetric(){this.metric.update(this.size)}};function Ls(r){let{name:t,metrics:e}=r,n;return e!=null?n=new Ql({name:t,metrics:e}):n=new Map,n}var Hn=U("libp2p:transports"),Ca=class extends Dt{constructor(t,e={}){super(),this.components=t,this.started=!1,this.transports=new Map,this.listeners=Ls({name:"libp2p_transport_manager_listeners",metrics:this.components.metrics}),this.faultTolerance=e.faultTolerance??ln.FATAL_ALL}add(t){let e=t[Symbol.toStringTag];if(e==null)throw(0,Fi.default)(new Error("Transport must have a valid tag"),_.ERR_INVALID_KEY);if(this.transports.has(e))throw(0,Fi.default)(new Error(`There is already a transport with the tag ${e}`),_.ERR_DUPLICATE_TRANSPORT);Hn("adding transport %s",e),this.transports.set(e,t),this.listeners.has(e)||this.listeners.set(e,[])}isStarted(){return this.started}async start(){let t=this.components.addressManager.getListenAddrs();await this.listen(t),this.started=!0}async stop(){let t=[];for(let[e,n]of this.listeners)for(Hn("closing listeners for %s",e);n.length>0;){let i=n.pop();i!=null&&t.push(i.close())}await Promise.all(t),Hn("all listeners closed");for(let e of this.listeners.keys())this.listeners.set(e,[]);this.started=!1}async dial(t,e){let n=this.transportForMultiaddr(t);if(n==null)throw(0,Fi.default)(new Error(`No transport available for address ${String(t)}`),_.ERR_TRANSPORT_UNAVAILABLE);try{return await n.dial(t,{...e,upgrader:this.components.upgrader})}catch(i){throw i.code==null&&(i.code=_.ERR_TRANSPORT_DIAL_FAILED),i}}getAddrs(){let t=[];for(let e of this.listeners.values())for(let n of e)t=[...t,...n.getAddrs()];return t}getTransports(){return Array.of(...this.transports.values())}transportForMultiaddr(t){for(let e of this.transports.values())if(e.filter([t]).length>0)return e}async listen(t){if(t==null||t.length===0){Hn("no addresses were provided for listening, this node is dial only");return}let e=[];for(let[n,i]of this.transports.entries()){let s=i.filter(t),o=[];for(let u of s){Hn("creating listener for %s on %s",n,u);let l=i.createListener({upgrader:this.components.upgrader}),f=this.listeners.get(n);f==null&&(f=[],this.listeners.set(n,f)),f.push(l),l.addEventListener("listening",()=>{this.dispatchEvent(new $("listener:listening",{detail:l}))}),l.addEventListener("close",()=>{this.dispatchEvent(new $("listener:close",{detail:l}))}),o.push(l.listen(u))}if(o.length===0){e.push(n);continue}if((await Promise.allSettled(o)).find(u=>u.status==="fulfilled")==null&&this.faultTolerance!==ln.NO_FATAL)throw(0,Fi.default)(new Error(`Transport (${n}) could not listen on any available address`),_.ERR_NO_VALID_ADDRESSES)}if(e.length===this.transports.size){let n=`no valid addresses were provided for transports [${e.join(", ")}]`;if(this.faultTolerance===ln.FATAL_ALL)throw(0,Fi.default)(new Error(n),_.ERR_NO_VALID_ADDRESSES);Hn(`libp2p in dial mode only: ${n}`)}}async remove(t){Hn("removing %s",t);for(let e of this.listeners.get(t)??[])await e.close();this.transports.delete(t),this.listeners.delete(t)}async removeAll(){let t=[];for(let e of this.transports.keys())t.push(this.remove(e));await Promise.all(t)}};var Qt=C(lt(),1);var Mr="/multistream/1.0.0";var ag=C(lt(),1);var tg=Symbol.for("@achingbrain/uint8arraylist");function jy(r,t){if(t==null||t<0)throw new RangeError("index is out of bounds");let e=0;for(let n of r){let i=e+n.byteLength;if(t<i)return{buf:n,index:t-e};e=i}throw new RangeError("index is out of bounds")}function Ba(r){return!!r?.[tg]}var kt=class{constructor(...t){Object.defineProperty(this,tg,{value:!0}),this.bufs=[],this.length=0,t.length>0&&this.appendAll(t)}*[Symbol.iterator](){yield*this.bufs}get byteLength(){return this.length}append(...t){this.appendAll(t)}appendAll(t){let e=0;for(let n of t)if(n instanceof Uint8Array)e+=n.byteLength,this.bufs.push(n);else if(Ba(n))e+=n.byteLength,this.bufs.push(...n.bufs);else throw new Error("Could not append value, must be an Uint8Array or a Uint8ArrayList");this.length+=e}prepend(...t){this.prependAll(t)}prependAll(t){let e=0;for(let n of t.reverse())if(n instanceof Uint8Array)e+=n.byteLength,this.bufs.unshift(n);else if(Ba(n))e+=n.byteLength,this.bufs.unshift(...n.bufs);else throw new Error("Could not prepend value, must be an Uint8Array or a Uint8ArrayList");this.length+=e}get(t){let e=jy(this.bufs,t);return e.buf[e.index]}set(t,e){let n=jy(this.bufs,t);n.buf[n.index]=e}write(t,e=0){if(t instanceof Uint8Array)for(let n=0;n<t.length;n++)this.set(e+n,t[n]);else if(Ba(t))for(let n=0;n<t.length;n++)this.set(e+n,t.get(n));else throw new Error("Could not write value, must be an Uint8Array or a Uint8ArrayList")}consume(t){if(t=Math.trunc(t),!(Number.isNaN(t)||t<=0)){if(t===this.byteLength){this.bufs=[],this.length=0;return}for(;this.bufs.length>0;)if(t>=this.bufs[0].byteLength)t-=this.bufs[0].byteLength,this.length-=this.bufs[0].byteLength,this.bufs.shift();else{this.bufs[0]=this.bufs[0].subarray(t),this.length-=t;break}}}slice(t,e){let{bufs:n,length:i}=this._subList(t,e);return Mt(n,i)}subarray(t,e){let{bufs:n,length:i}=this._subList(t,e);return n.length===1?n[0]:Mt(n,i)}sublist(t,e){let{bufs:n,length:i}=this._subList(t,e),s=new kt;return s.length=i,s.bufs=n,s}_subList(t,e){if(t=t??0,e=e??this.length,t<0&&(t=this.length+t),e<0&&(e=this.length+e),t<0||e>this.length)throw new RangeError("index is out of bounds");if(t===e)return{bufs:[],length:0};if(t===0&&e===this.length)return{bufs:[...this.bufs],length:this.length};let n=[],i=0;for(let s=0;s<this.bufs.length;s++){let o=this.bufs[s],a=i,c=a+o.byteLength;if(i=c,t>=c)continue;let u=t>=a&&t<c,l=e>a&&e<=c;if(u&&l){if(t===a&&e===c){n.push(o);break}let f=t-a;n.push(o.subarray(f,f+(e-t)));break}if(u){if(t===0){n.push(o);continue}n.push(o.subarray(t-a));continue}if(l){if(e===c){n.push(o);break}n.push(o.subarray(0,e-a));break}n.push(o)}return{bufs:n,length:e-t}}indexOf(t,e=0){if(!Ba(t)&&!(t instanceof Uint8Array))throw new TypeError('The "value" argument must be a Uint8ArrayList or Uint8Array');let n=t instanceof Uint8Array?t:t.subarray();if(e=Number(e??0),isNaN(e)&&(e=0),e<0&&(e=this.length+e),e<0&&(e=0),t.length===0)return e>this.length?this.length:e;let i=n.byteLength;if(i===0)throw new TypeError("search must be at least 1 byte long");let s=256,o=new Int32Array(s);for(let f=0;f<s;f++)o[f]=-1;for(let f=0;f<i;f++)o[n[f]]=f;let a=o,c=this.byteLength-n.byteLength,u=n.byteLength-1,l;for(let f=e;f<=c;f+=l){l=0;for(let d=u;d>=0;d--){let h=this.get(f+d);if(n[d]!==h){l=Math.max(1,d-a[h]);break}}if(l===0)return f}return-1}getInt8(t){let e=this.subarray(t,t+1);return new DataView(e.buffer,e.byteOffset,e.byteLength).getInt8(0)}setInt8(t,e){let n=br(1);new DataView(n.buffer,n.byteOffset,n.byteLength).setInt8(0,e),this.write(n,t)}getInt16(t,e){let n=this.subarray(t,t+2);return new DataView(n.buffer,n.byteOffset,n.byteLength).getInt16(0,e)}setInt16(t,e,n){let i=vr(2);new DataView(i.buffer,i.byteOffset,i.byteLength).setInt16(0,e,n),this.write(i,t)}getInt32(t,e){let n=this.subarray(t,t+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getInt32(0,e)}setInt32(t,e,n){let i=vr(4);new DataView(i.buffer,i.byteOffset,i.byteLength).setInt32(0,e,n),this.write(i,t)}getBigInt64(t,e){let n=this.subarray(t,t+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getBigInt64(0,e)}setBigInt64(t,e,n){let i=vr(8);new DataView(i.buffer,i.byteOffset,i.byteLength).setBigInt64(0,e,n),this.write(i,t)}getUint8(t){let e=this.subarray(t,t+1);return new DataView(e.buffer,e.byteOffset,e.byteLength).getUint8(0)}setUint8(t,e){let n=br(1);new DataView(n.buffer,n.byteOffset,n.byteLength).setUint8(0,e),this.write(n,t)}getUint16(t,e){let n=this.subarray(t,t+2);return new DataView(n.buffer,n.byteOffset,n.byteLength).getUint16(0,e)}setUint16(t,e,n){let i=vr(2);new DataView(i.buffer,i.byteOffset,i.byteLength).setUint16(0,e,n),this.write(i,t)}getUint32(t,e){let n=this.subarray(t,t+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getUint32(0,e)}setUint32(t,e,n){let i=vr(4);new DataView(i.buffer,i.byteOffset,i.byteLength).setUint32(0,e,n),this.write(i,t)}getBigUint64(t,e){let n=this.subarray(t,t+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getBigUint64(0,e)}setBigUint64(t,e,n){let i=vr(8);new DataView(i.buffer,i.byteOffset,i.byteLength).setBigUint64(0,e,n),this.write(i,t)}getFloat32(t,e){let n=this.subarray(t,t+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getFloat32(0,e)}setFloat32(t,e,n){let i=vr(4);new DataView(i.buffer,i.byteOffset,i.byteLength).setFloat32(0,e,n),this.write(i,t)}getFloat64(t,e){let n=this.subarray(t,t+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getFloat64(0,e)}setFloat64(t,e,n){let i=vr(8);new DataView(i.buffer,i.byteOffset,i.byteLength).setFloat64(0,e,n),this.write(i,t)}equals(t){if(t==null||!(t instanceof kt)||t.bufs.length!==this.bufs.length)return!1;for(let e=0;e<this.bufs.length;e++)if(!mt(this.bufs[e],t.bufs[e]))return!1;return!0}static fromUint8Arrays(t,e){let n=new kt;return n.bufs=t,e==null&&(e=t.reduce((i,s)=>i+s.byteLength,0)),n.length=e,n}};function Da(r){return r instanceof Uint8Array?{get(t){return r[t]},set(t,e){r[t]=e}}:{get(t){return r.get(t)},set(t,e){r.set(t,e)}}}var eg=4294967296,be=class{constructor(t=0,e=0){this.hi=t,this.lo=e}toBigInt(t){if(t===!0)return BigInt(this.lo>>>0)+(BigInt(this.hi>>>0)<<32n);if(this.hi>>>31){let e=~this.lo+1>>>0,n=~this.hi>>>0;return e===0&&(n=n+1>>>0),-(BigInt(e)+(BigInt(n)<<32n))}return BigInt(this.lo>>>0)+(BigInt(this.hi>>>0)<<32n)}toNumber(t){return Number(this.toBigInt(t))}zzDecode(){let t=-(this.lo&1),e=((this.lo>>>1|this.hi<<31)^t)>>>0,n=(this.hi>>>1^t)>>>0;return new be(n,e)}zzEncode(){let t=this.hi>>31,e=((this.hi<<1|this.lo>>>31)^t)>>>0,n=(this.lo<<1^t)>>>0;return new be(e,n)}toBytes(t,e=0){let n=Da(t);for(;this.hi>0;)n.set(e++,this.lo&127|128),this.lo=(this.lo>>>7|this.hi<<25)>>>0,this.hi>>>=7;for(;this.lo>127;)n.set(e++,this.lo&127|128),this.lo=this.lo>>>7;n.set(e++,this.lo)}static fromBigInt(t){if(t===0n)return new be;let e=t<0;e&&(t=-t);let n=Number(t>>32n)|0,i=Number(t-(BigInt(n)<<32n))|0;return e&&(n=~n>>>0,i=~i>>>0,++i>eg&&(i=0,++n>eg&&(n=0))),new be(n,i)}static fromNumber(t){if(t===0)return new be;let e=t<0;e&&(t=-t);let n=t>>>0,i=(t-n)/4294967296>>>0;return e&&(i=~i>>>0,n=~n>>>0,++n>4294967295&&(n=0,++i>4294967295&&(i=0))),new be(i,n)}static fromBytes(t,e=0){let n=Da(t),i=new be,s=0;if(t.length-e>4){for(;s<4;++s)if(i.lo=(i.lo|(n.get(e)&127)<<s*7)>>>0,n.get(e++)<128)return i;if(i.lo=(i.lo|(n.get(e)&127)<<28)>>>0,i.hi=(i.hi|(n.get(e)&127)>>4)>>>0,n.get(e++)<128)return i;s=0}else for(;s<4;++s){if(e>=t.length)throw RangeError(`index out of range: ${e} > ${t.length}`);if(i.lo=(i.lo|(n.get(e)&127)<<s*7)>>>0,n.get(e++)<128)return i}if(t.length-e>4){for(;s<5;++s)if(i.hi=(i.hi|(n.get(e)&127)<<s*7+3)>>>0,n.get(e++)<128)return i}else if(e<t.byteLength)for(;s<5;++s){if(e>=t.length)throw RangeError(`index out of range: ${e} > ${t.length}`);if(i.hi=(i.hi|(n.get(e)&127)<<s*7+3)>>>0,n.get(e++)<128)return i}throw RangeError("invalid varint encoding")}};var dS=Math.pow(2,7),pS=Math.pow(2,14),mS=Math.pow(2,21),yS=Math.pow(2,28),gS=Math.pow(2,35),wS=Math.pow(2,42),ES=Math.pow(2,49),xS=Math.pow(2,56),vS=Math.pow(2,63),He={encodingLength(r){return r<dS?1:r<pS?2:r<mS?3:r<yS?4:r<gS?5:r<wS?6:r<ES?7:r<xS?8:r<vS?9:10},encode(r,t,e=0){if(Number.MAX_SAFE_INTEGER!=null&&r>Number.MAX_SAFE_INTEGER)throw new RangeError("Could not encode varint");return t==null&&(t=br(He.encodingLength(r))),be.fromNumber(r).toBytes(t,e),t},decode(r,t=0){return be.fromBytes(r,t).toNumber(!0)}};function rg(r){return globalThis?.Buffer?.allocUnsafe!=null?globalThis.Buffer.allocUnsafe(r):new Uint8Array(r)}var La=r=>{let t=He.encodingLength(r),e=rg(t);return He.encode(r,e),La.bytes=t,e};La.bytes=0;function pr(r){r=r??{};let t=r.lengthEncoder??La;return async function*(n){for await(let i of n){let s=t(i.byteLength);s instanceof Uint8Array?yield s:yield*s,i instanceof Uint8Array?yield i:yield*i}}}pr.single=(r,t)=>{t=t??{};let e=t.lengthEncoder??La;return new kt(e(r.byteLength),r)};var Ps=C(lt(),1),bS=8,_S=1024*1024*4,Gn;(function(r){r[r.LENGTH=0]="LENGTH",r[r.DATA=1]="DATA"})(Gn||(Gn={}));var Xl=r=>{let t=He.decode(r);return Xl.bytes=He.encodingLength(t),t};Xl.bytes=0;function Ge(r){return async function*(e){let n=new kt,i=Gn.LENGTH,s=-1,o=r?.lengthDecoder??Xl,a=r?.maxLengthLength??bS,c=r?.maxDataLength??_S;for await(let u of e)for(n.append(u);n.byteLength>0;){if(i===Gn.LENGTH)try{if(s=o(n),s<0)throw(0,Ps.default)(new Error("invalid message length"),"ERR_INVALID_MSG_LENGTH");if(s>c)throw(0,Ps.default)(new Error("message length too long"),"ERR_MSG_DATA_TOO_LONG");let l=o.bytes;n.consume(l),r?.onLength!=null&&r.onLength(s),i=Gn.DATA}catch(l){if(l instanceof RangeError){if(n.byteLength>a)throw(0,Ps.default)(new Error("message length length too long"),"ERR_MSG_LENGTH_TOO_LONG");break}throw l}if(i===Gn.DATA){if(n.byteLength<s)break;let l=n.sublist(0,s);n.consume(s),r?.onData!=null&&r.onData(l),yield l,i=Gn.LENGTH}}if(n.byteLength>0)throw(0,Ps.default)(new Error("unexpected end of input"),"ERR_UNEXPECTED_EOF")}}Ge.fromReader=(r,t)=>{let e=1,n=async function*(){for(;;)try{let{done:s,value:o}=await r.next(e);if(s===!0)return;o!=null&&(yield o)}catch(s){if(s.code==="ERR_UNDER_READ")return{done:!0,value:null};throw s}finally{e=1}}();return Ge({...t??{},onLength:s=>{e=s}})(n)};var Jl=C(lt(),1);var Ns=class extends Error{constructor(t,e){super(t??"The operation was aborted"),this.type="aborted",this.code=e??"ABORT_ERR"}};function ng(r){if(r!=null){if(typeof r[Symbol.iterator]=="function")return r[Symbol.iterator]();if(typeof r[Symbol.asyncIterator]=="function")return r[Symbol.asyncIterator]();if(typeof r.next=="function")return r}throw new Error("argument is not an iterator or iterable")}function Pa(r,t,e){let n=e??{},i=ng(r);async function*s(){let o,a=()=>{o?.()};for(t.addEventListener("abort",a);;){let c;try{if(t.aborted){let{abortMessage:l,abortCode:f}=n;throw new Ns(l,f)}let u=new Promise((l,f)=>{o=()=>{let{abortMessage:d,abortCode:h}=n;f(new Ns(d,h))}});c=await Promise.race([u,i.next()]),o=null}catch(u){t.removeEventListener("abort",a);let l=u.type==="aborted"&&t.aborted;if(l&&n.onAbort!=null&&await n.onAbort(r),typeof i.return=="function")try{let f=i.return();f instanceof Promise&&f.catch(d=>{n.onReturnError!=null&&n.onReturnError(d)})}catch(f){n.onReturnError!=null&&n.onReturnError(f)}if(l&&n.returnOnAbort===!0)return;throw u}if(c.done===!0)break;yield c.value}t.removeEventListener("abort",a)}return s()}function SS(r,t,e){return n=>r(Pa(n,t,e))}function Ye(r,t,e){return{sink:SS(r.sink,t,{...e,onAbort:void 0}),source:Pa(r.source,t,e)}}var RS=U("libp2p:mss"),ig=F(`
|
|
38
|
-
`);function ks(r){let t=new kt(r,ig);return pr.single(t)}function Yn(r,t,e={}){let n=ks(t);e.writeBytes===!0?r.push(n.subarray()):r.push(n)}function sg(r,t,e={}){let n=new kt;for(let i of t)n.append(ks(i));e.writeBytes===!0?r.push(n.subarray()):r.push(n)}async function IS(r,t){let e=1,n={[Symbol.asyncIterator]:()=>n,next:async()=>await r.next(e)},i=n;t?.signal!=null&&(i=Pa(n,t.signal));let o=await Zt(i,Ge({onLength:a=>{e=a},maxDataLength:1024}),async a=>await we(a));if(o==null||o.length===0)throw(0,Jl.default)(new Error("no buffer returned"),"ERR_INVALID_MULTISTREAM_SELECT_MESSAGE");if(o.get(o.byteLength-1)!==ig[0])throw RS.error("Invalid mss message - missing newline - %s",o.subarray()),(0,Jl.default)(new Error("missing newline"),"ERR_INVALID_MULTISTREAM_SELECT_MESSAGE");return o.sublist(0,-1)}async function Ki(r,t){let e=await IS(r,t);return z(e.subarray())}function jl(r){let t=async function*(){let e=yield,n=new kt;for await(let i of r){if(e==null){n.append(i),e=yield n,n=new kt;continue}for(n.append(i);n.length>=e;){let s=n.sublist(0,e);if(n.consume(e),e=yield s,e==null){n.length>0&&(e=yield n,n=new kt);break}}}if(e!=null)throw Object.assign(new Error(`stream ended before ${e} bytes became available`),{code:"ERR_UNDER_READ",buffer:n})}();return t.next(),t}function tf(){let r={};return r.promise=new Promise((t,e)=>{r.resolve=t,r.reject=e}),r}function Na(r){let t=_n(),e=jl(r.source),n=tf(),i,s=r.sink(async function*(){yield*t,yield*await n.promise}());return s.catch(a=>{i=a}),{reader:e,writer:t,stream:{sink:async a=>i!=null?await Promise.reject(i):(n.resolve(a),await s),source:e},rest:()=>t.end(),write:t.push,read:async()=>{let a=await e.next();if(a.value!=null)return a.value}}}var Os=U("libp2p:mss:select");async function Ms(r,t,e={}){t=Array.isArray(t)?[...t]:[t];let{reader:n,writer:i,rest:s,stream:o}=Na(r),a=t.shift();if(a==null)throw new Error("At least one protocol must be specified");Os('select: write ["%s", "%s"]',Mr,a);let c=F(Mr),u=F(a);sg(i,[c,u],e);let l=await Ki(n,e);if(Os('select: read "%s"',l),l===Mr&&(l=await Ki(n,e),Os('select: read "%s"',l)),l===a)return s(),{stream:o,protocol:a};for(let f of t){Os('select: write "%s"',f),Yn(i,F(f),e);let d=await Ki(n,e);if(Os('select: read "%s" for "%s"',d,f),d===f)return s(),{stream:o,protocol:f}}throw s(),(0,ag.default)(new Error("protocol selection failed"),"ERR_UNSUPPORTED_PROTOCOL")}var Us=U("libp2p:mss:handle");async function Fs(r,t,e){t=Array.isArray(t)?t:[t];let{writer:n,reader:i,rest:s,stream:o}=Na(r);for(;;){let a=await Ki(i,e);if(Us('read "%s"',a),a===Mr){Us('respond with "%s" for "%s"',Mr,a),Yn(n,F(Mr),e);continue}if(t.includes(a))return Yn(n,F(a),e),Us('respond with "%s" for "%s"',a,a),s(),{stream:o,protocol:a};if(a==="ls"){Yn(n,new kt(...t.map(c=>ks(F(c)))),e),Us('respond with "%s" for %s',t,a);continue}Yn(n,F("na"),e),Us('respond with "na" for "%s"',a)}}var ef=C(lt(),1);var cg=Symbol.for("@libp2p/connection");var CS=U("libp2p:connection"),rf=class{constructor(t){let{remoteAddr:e,remotePeer:n,newStream:i,close:s,getStreams:o,stat:a}=t;this.id=`${parseInt(String(Math.random()*1e9)).toString(36)}${Date.now()}`,this.remoteAddr=e,this.remotePeer=n,this.stat={...a,status:ko},this._newStream=i,this._close=s,this._getStreams=o,this.tags=[],this._closing=!1}get[Symbol.toStringTag](){return"Connection"}get[cg](){return!0}get streams(){return this._getStreams()}async newStream(t,e){if(this.stat.status===_u)throw(0,ef.default)(new Error("the connection is being closed"),"ERR_CONNECTION_BEING_CLOSED");if(this.stat.status===Oo)throw(0,ef.default)(new Error("the connection is closed"),"ERR_CONNECTION_CLOSED");Array.isArray(t)||(t=[t]);let n=await this._newStream(t,e);return n.stat.direction="outbound",n}addStream(t){t.stat.direction="inbound"}removeStream(t){}async close(){if(!(this.stat.status===Oo||this._closing)){this.stat.status=_u;try{this.streams.forEach(t=>{t.close()})}catch(t){CS.error(t)}this._closing=!0,await this._close(),this._closing=!1,this.stat.timeline.close=Date.now(),this.stat.status=Oo}}};function ug(r){return new rf(r)}var ka=C(lt(),1);var BS=Symbol.for("@libp2p/topology");function lg(r){return r!=null&&!!r[BS]}var nf=U("libp2p:registrar"),sf=32,of=64,Oa=class{constructor(t){this.topologies=new Map,this.handlers=new Map,this.components=t,this._onDisconnect=this._onDisconnect.bind(this),this._onProtocolChange=this._onProtocolChange.bind(this),this._onConnect=this._onConnect.bind(this),this.components.connectionManager.addEventListener("peer:disconnect",this._onDisconnect),this.components.connectionManager.addEventListener("peer:connect",this._onConnect),this.components.peerStore.addEventListener("change:protocols",this._onProtocolChange)}getProtocols(){return Array.from(new Set([...this.topologies.keys(),...this.handlers.keys()])).sort()}getHandler(t){let e=this.handlers.get(t);if(e==null)throw(0,ka.default)(new Error(`No handler registered for protocol ${t}`),_.ERR_NO_HANDLER_FOR_PROTOCOL);return e}getTopologies(t){let e=this.topologies.get(t);return e==null?[]:[...e.values()]}async handle(t,e,n){if(this.handlers.has(t))throw(0,ka.default)(new Error(`Handler already registered for protocol ${t}`),_.ERR_PROTOCOL_HANDLER_ALREADY_REGISTERED);let i=Ie.bind({ignoreUndefined:!0})({maxInboundStreams:sf,maxOutboundStreams:of},n);this.handlers.set(t,{handler:e,options:i}),await this.components.peerStore.protoBook.add(this.components.peerId,[t])}async unhandle(t){let e=Array.isArray(t)?t:[t];e.forEach(n=>{this.handlers.delete(n)}),await this.components.peerStore.protoBook.remove(this.components.peerId,e)}async register(t,e){if(!lg(e))throw nf.error("topology must be an instance of interfaces/topology"),(0,ka.default)(new Error("topology must be an instance of interfaces/topology"),_.ERR_INVALID_PARAMETERS);let n=`${(Math.random()*1e9).toString(36)}${Date.now()}`,i=this.topologies.get(t);return i==null&&(i=new Map,this.topologies.set(t,i)),i.set(n,e),await e.setRegistrar(this),n}unregister(t){for(let[e,n]of this.topologies.entries())n.has(t)&&(n.delete(t),n.size===0&&this.topologies.delete(e))}_onDisconnect(t){let e=t.detail;this.components.peerStore.protoBook.get(e.remotePeer).then(n=>{for(let i of n){let s=this.topologies.get(i);if(s!=null)for(let o of s.values())o.onDisconnect(e.remotePeer)}}).catch(n=>{nf.error(n)})}_onConnect(t){let e=t.detail;this.components.peerStore.protoBook.get(e.remotePeer).then(n=>{for(let i of n){let s=this.topologies.get(i);if(s!=null)for(let o of s.values())o.onConnect(e.remotePeer,e)}}).catch(n=>{nf.error(n)})}_onProtocolChange(t){let{peerId:e,protocols:n,oldProtocols:i}=t.detail,s=i.filter(a=>!n.includes(a)),o=n.filter(a=>!i.includes(a));for(let a of s){let c=this.topologies.get(a);if(c!=null)for(let u of c.values())u.onDisconnect(e)}for(let a of o){let c=this.topologies.get(a);if(c!=null)for(let u of c.values()){let l=this.components.connectionManager.getConnections(e)[0];l!=null&&u.onConnect(e,l)}}}};var af=C(zr(),1);var cf=C(Ar(),1),wt=U("libp2p:upgrader");function DS(r,t){try{let{options:e}=t.getHandler(r);return e.maxInboundStreams}catch(e){if(e.code!==_.ERR_NO_HANDLER_FOR_PROTOCOL)throw e}return sf}function LS(r,t){try{let{options:e}=t.getHandler(r);return e.maxOutboundStreams}catch(e){if(e.code!==_.ERR_NO_HANDLER_FOR_PROTOCOL)throw e}return of}function fg(r,t,e){let n=0;return e.streams.forEach(i=>{i.stat.direction===t&&i.stat.protocol===r&&n++}),n}var Ma=class extends Dt{constructor(t,e){super(),this.components=t,this.connectionEncryption=new Map,e.connectionEncryption.forEach(n=>{this.connectionEncryption.set(n.protocol,n)}),this.muxers=new Map,e.muxers.forEach(n=>{this.muxers.set(n.protocol,n)}),this.inboundUpgradeTimeout=e.inboundUpgradeTimeout}async upgradeInbound(t,e){if(!await this.components.connectionManager.acceptIncomingConnection(t))throw(0,Qt.default)(new Error("connection denied"),_.ERR_CONNECTION_DENIED);let i,s,o,a,c,u=new af.TimeoutController(this.inboundUpgradeTimeout);try{(0,cf.setMaxListeners)?.(1/0,u.signal)}catch{}try{let l=Ye(t,u.signal);if(t.source=l.source,t.sink=l.sink,await this.components.connectionGater.denyInboundConnection?.(t)===!0)throw(0,Qt.default)(new Error("The multiaddr connection is blocked by gater.acceptConnection"),_.ERR_CONNECTION_INTERCEPTED);this.components.metrics?.trackMultiaddrConnection(t),wt("starting the inbound connection upgrade");let f=t;if(e?.skipProtection!==!0){let d=this.components.connectionProtector;d!=null&&(wt("protecting the inbound connection"),f=await d.protect(t))}try{if(i=f,e?.skipEncryption!==!0){if({conn:i,remotePeer:s,protocol:c}=await this._encryptInbound(f),await this.components.connectionGater.denyInboundEncryptedConnection?.(s,{...f,...i})===!0)throw(0,Qt.default)(new Error("The multiaddr connection is blocked by gater.acceptEncryptedConnection"),_.ERR_CONNECTION_INTERCEPTED)}else{let d=t.remoteAddr.getPeerId();if(d==null)throw(0,Qt.default)(new Error("inbound connection that skipped encryption must have a peer id"),_.ERR_INVALID_MULTIADDR);let h=st(d);c="native",s=h}if(o=i,e?.muxerFactory!=null)a=e.muxerFactory;else if(this.muxers.size>0){let d=await this._multiplexInbound({...f,...i},this.muxers);a=d.muxerFactory,o=d.stream}}catch(d){throw wt.error("Failed to upgrade inbound connection",d),d}if(await this.components.connectionGater.denyInboundUpgradedConnection?.(s,{...f,...i})===!0)throw(0,Qt.default)(new Error("The multiaddr connection is blocked by gater.acceptEncryptedConnection"),_.ERR_CONNECTION_INTERCEPTED);return wt("Successfully upgraded inbound connection"),this._createConnection({cryptoProtocol:c,direction:"inbound",maConn:t,upgradedConn:o,muxerFactory:a,remotePeer:s})}finally{this.components.connectionManager.afterUpgradeInbound(),u.clear()}}async upgradeOutbound(t,e){let n=t.remoteAddr.getPeerId(),i;if(n!=null&&(i=st(n),await this.components.connectionGater.denyOutboundConnection?.(i,t)===!0))throw(0,Qt.default)(new Error("The multiaddr connection is blocked by connectionGater.denyOutboundConnection"),_.ERR_CONNECTION_INTERCEPTED);let s,o,a,c,u;this.components.metrics?.trackMultiaddrConnection(t),wt("Starting the outbound connection upgrade");let l=t;if(e?.skipProtection!==!0){let f=this.components.connectionProtector;f!=null&&(l=await f.protect(t))}try{if(s=l,e?.skipEncryption!==!0){if({conn:s,remotePeer:o,protocol:c}=await this._encryptOutbound(l,i),await this.components.connectionGater.denyOutboundEncryptedConnection?.(o,{...l,...s})===!0)throw(0,Qt.default)(new Error("The multiaddr connection is blocked by gater.acceptEncryptedConnection"),_.ERR_CONNECTION_INTERCEPTED)}else{if(i==null)throw(0,Qt.default)(new Error("Encryption was skipped but no peer id was passed"),_.ERR_INVALID_PEER);c="native",o=i}if(a=s,e?.muxerFactory!=null)u=e.muxerFactory;else if(this.muxers.size>0){let f=await this._multiplexOutbound({...l,...s},this.muxers);u=f.muxerFactory,a=f.stream}}catch(f){throw wt.error("Failed to upgrade outbound connection",f),await t.close(f),f}if(await this.components.connectionGater.denyOutboundUpgradedConnection?.(o,{...l,...s})===!0)throw(0,Qt.default)(new Error("The multiaddr connection is blocked by gater.acceptEncryptedConnection"),_.ERR_CONNECTION_INTERCEPTED);return wt("Successfully upgraded outbound connection"),this._createConnection({cryptoProtocol:c,direction:"outbound",maConn:t,upgradedConn:a,muxerFactory:u,remotePeer:o})}_createConnection(t){let{cryptoProtocol:e,direction:n,maConn:i,upgradedConn:s,remotePeer:o,muxerFactory:a}=t,c,u,l;a!=null&&(c=a.createStreamMuxer({direction:n,onIncomingStream:h=>{l!=null&&Promise.resolve().then(async()=>{let p=this.components.registrar.getProtocols(),{stream:m,protocol:y}=await Fs(h,p);if(wt("%s: incoming stream opened on %s",n,y),l==null)return;let g=DS(y,this.components.registrar);if(fg(y,"inbound",l)===g){h.abort((0,Qt.default)(new Error(`Too many inbound protocol streams for protocol "${y}" - limit ${g}`),_.ERR_TOO_MANY_INBOUND_PROTOCOL_STREAMS));return}h.source=m.source,h.sink=m.sink,h.stat.protocol=y,this.components.peerStore.protoBook.add(o,[y]).catch(b=>{wt.error(b)}),l.addStream(h),this.components.metrics?.trackProtocolStream(h,l),this._onStream({connection:l,stream:h,protocol:y})}).catch(p=>{wt.error(p),h.stat.timeline.close==null&&h.close()})},onStreamEnd:h=>{l?.removeStream(h.id)}}),u=async(h,p={})=>{if(c==null)throw(0,Qt.default)(new Error("Stream is not multiplexed"),_.ERR_MUXER_UNAVAILABLE);wt("%s: starting new stream on %s",n,h);let m=await c.newStream(),y;try{if(p.signal==null){wt("No abort signal was passed while trying to negotiate protocols %s falling back to default timeout",h),y=new af.TimeoutController(3e4),p.signal=y.signal;try{(0,cf.setMaxListeners)?.(1/0,y.signal)}catch{}}let{stream:g,protocol:E}=await Ms(m,h,p),b=LS(E,this.components.registrar);if(fg(E,"outbound",l)===b){let B=(0,Qt.default)(new Error(`Too many outbound protocol streams for protocol "${E}" - limit ${b}`),_.ERR_TOO_MANY_OUTBOUND_PROTOCOL_STREAMS);throw m.abort(B),B}return this.components.peerStore.protoBook.add(o,[E]).catch(B=>{wt.error(B)}),m.source=g.source,m.sink=g.sink,m.stat.protocol=E,this.components.metrics?.trackProtocolStream(m,l),m}catch(g){throw wt.error("could not create new stream",g),m.stat.timeline.close==null&&m.close(),g.code!=null?g:(0,Qt.default)(g,_.ERR_UNSUPPORTED_PROTOCOL)}finally{y?.clear()}},Promise.all([c.sink(s.source),s.sink(c.source)]).catch(h=>{wt.error(h)}));let f=i.timeline;i.timeline=new Proxy(f,{set:(...h)=>(l!=null&&h[1]==="close"&&h[2]!=null&&f.close==null&&(async()=>{try{l.stat.status==="OPEN"&&await l.close()}catch(p){wt.error(p)}finally{this.dispatchEvent(new $("connectionEnd",{detail:l}))}})().catch(p=>{wt.error(p)}),Reflect.set(...h))}),i.timeline.upgraded=Date.now();let d=()=>{throw(0,Qt.default)(new Error("connection is not multiplexed"),_.ERR_CONNECTION_NOT_MULTIPLEXED)};return l=ug({remoteAddr:i.remoteAddr,remotePeer:o,stat:{status:"OPEN",direction:n,timeline:i.timeline,multiplexer:c?.protocol,encryption:e},newStream:u??d,getStreams:()=>c!=null?c.streams:d(),close:async()=>{await i.close(),c?.close()}}),this.dispatchEvent(new $("connection",{detail:l})),l}_onStream(t){let{connection:e,stream:n,protocol:i}=t,{handler:s}=this.components.registrar.getHandler(i);s({connection:e,stream:n})}async _encryptInbound(t){let e=Array.from(this.connectionEncryption.keys());wt("handling inbound crypto protocol selection",e);try{let{stream:n,protocol:i}=await Fs(t,e,{writeBytes:!0}),s=this.connectionEncryption.get(i);if(s==null)throw new Error(`no crypto module found for ${i}`);return wt("encrypting inbound connection..."),{...await s.secureInbound(this.components.peerId,n),protocol:i}}catch(n){throw(0,Qt.default)(n,_.ERR_ENCRYPTION_FAILED)}}async _encryptOutbound(t,e){let n=Array.from(this.connectionEncryption.keys());wt("selecting outbound crypto protocol",n);try{let{stream:i,protocol:s}=await Ms(t,n,{writeBytes:!0}),o=this.connectionEncryption.get(s);if(o==null)throw new Error(`no crypto module found for ${s}`);return wt("encrypting outbound connection to %p",e),{...await o.secureOutbound(this.components.peerId,i,e),protocol:s}}catch(i){throw(0,Qt.default)(i,_.ERR_ENCRYPTION_FAILED)}}async _multiplexOutbound(t,e){let n=Array.from(e.keys());wt("outbound selecting muxer %s",n);try{let{stream:i,protocol:s}=await Ms(t,n,{writeBytes:!0});wt("%s selected as muxer protocol",s);let o=e.get(s);return{stream:i,muxerFactory:o}}catch(i){throw wt.error("error multiplexing outbound stream",i),(0,Qt.default)(i,_.ERR_MUXER_UNAVAILABLE)}}async _multiplexInbound(t,e){let n=Array.from(e.keys());wt("inbound handling muxers %s",n);try{let{stream:i,protocol:s}=await Fs(t,n,{writeBytes:!0}),o=e.get(s);return{stream:i,muxerFactory:o}}catch(i){throw wt.error("error multiplexing inbound stream",i),(0,Qt.default)(i,_.ERR_MUXER_UNAVAILABLE)}}};var Qn=C(lt(),1);var Wn;(function(r){let t;r.codec=()=>(t==null&&(t=Tt((e,n,i={})=>{if(i.lengthDelimited!==!1&&n.fork(),e.protocolVersion!=null&&(n.uint32(42),n.string(e.protocolVersion)),e.agentVersion!=null&&(n.uint32(50),n.string(e.agentVersion)),e.publicKey!=null&&(n.uint32(10),n.bytes(e.publicKey)),e.listenAddrs!=null)for(let s of e.listenAddrs)n.uint32(18),n.bytes(s);if(e.observedAddr!=null&&(n.uint32(34),n.bytes(e.observedAddr)),e.protocols!=null)for(let s of e.protocols)n.uint32(26),n.string(s);e.signedPeerRecord!=null&&(n.uint32(66),n.bytes(e.signedPeerRecord)),i.lengthDelimited!==!1&&n.ldelim()},(e,n)=>{let i={listenAddrs:[],protocols:[]},s=n==null?e.len:e.pos+n;for(;e.pos<s;){let o=e.uint32();switch(o>>>3){case 5:i.protocolVersion=e.string();break;case 6:i.agentVersion=e.string();break;case 1:i.publicKey=e.bytes();break;case 2:i.listenAddrs.push(e.bytes());break;case 4:i.observedAddr=e.bytes();break;case 3:i.protocols.push(e.string());break;case 8:i.signedPeerRecord=e.bytes();break;default:e.skipType(o&7);break}}return i})),t),r.encode=e=>It(e,r.codec()),r.decode=e=>Rt(e,r.codec())})(Wn||(Wn={}));var hg={ERR_SIGNATURE_NOT_VALID:"ERR_SIGNATURE_NOT_VALID"};var Ks;(function(r){let t;r.codec=()=>(t==null&&(t=Tt((e,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),e.publicKey!=null&&e.publicKey.byteLength>0&&(n.uint32(10),n.bytes(e.publicKey)),e.payloadType!=null&&e.payloadType.byteLength>0&&(n.uint32(18),n.bytes(e.payloadType)),e.payload!=null&&e.payload.byteLength>0&&(n.uint32(26),n.bytes(e.payload)),e.signature!=null&&e.signature.byteLength>0&&(n.uint32(42),n.bytes(e.signature)),i.lengthDelimited!==!1&&n.ldelim()},(e,n)=>{let i={publicKey:new Uint8Array(0),payloadType:new Uint8Array(0),payload:new Uint8Array(0),signature:new Uint8Array(0)},s=n==null?e.len:e.pos+n;for(;e.pos<s;){let o=e.uint32();switch(o>>>3){case 1:i.publicKey=e.bytes();break;case 2:i.payloadType=e.bytes();break;case 3:i.payload=e.bytes();break;case 5:i.signature=e.bytes();break;default:e.skipType(o&7);break}}return i})),t),r.encode=e=>It(e,r.codec()),r.decode=e=>Rt(e,r.codec())})(Ks||(Ks={}));var PS,Xt=class{constructor(t){let{peerId:e,payloadType:n,payload:i,signature:s}=t;this.peerId=e,this.payloadType=n,this.payload=i,this.signature=s}marshal(){if(this.peerId.publicKey==null)throw new Error("Missing public key");return this.marshaled==null&&(this.marshaled=Ks.encode({publicKey:this.peerId.publicKey,payloadType:this.payloadType,payload:this.payload.subarray(),signature:this.signature})),this.marshaled}equals(t){return mt(this.marshal(),t.marshal())}async validate(t){let e=dg(t,this.payloadType,this.payload);if(this.peerId.publicKey==null)throw new Error("Missing public key");return await Cs(this.peerId.publicKey).verify(e.subarray(),this.signature)}};PS=Xt;Xt.createFromProtobuf=async r=>{let t=Ks.decode(r),e=await Gr(t.publicKey);return new Xt({peerId:e,payloadType:t.payloadType,payload:t.payload,signature:t.signature})};Xt.seal=async(r,t)=>{if(t.privateKey==null)throw new Error("Missing private key");let e=r.domain,n=r.codec,i=r.marshal(),s=dg(e,n,i),a=await(await Ui(t.privateKey)).sign(s.subarray());return new Xt({peerId:t,payloadType:n,payload:i,signature:a})};Xt.openAndCertify=async(r,t)=>{let e=await Xt.createFromProtobuf(r);if(!await e.validate(t))throw new T("envelope signature is not valid for the given domain",hg.ERR_SIGNATURE_NOT_VALID);return e};var dg=(r,t,e)=>{let n=F(r),i=He.encode(n.byteLength),s=He.encode(t.length),o=He.encode(e.length);return new kt(i,n,s,t,o,e)};function pg(r,t){let e=(n,i)=>n.toString().localeCompare(i.toString());return r.length!==t.length?!1:(t.sort(e),r.sort(e).every((n,i)=>t[i].equals(n)))}var Vs;(function(r){let t;(function(n){let i;n.codec=()=>(i==null&&(i=Tt((s,o,a={})=>{a.lengthDelimited!==!1&&o.fork(),s.multiaddr!=null&&s.multiaddr.byteLength>0&&(o.uint32(10),o.bytes(s.multiaddr)),a.lengthDelimited!==!1&&o.ldelim()},(s,o)=>{let a={multiaddr:new Uint8Array(0)},c=o==null?s.len:s.pos+o;for(;s.pos<c;){let u=s.uint32();switch(u>>>3){case 1:a.multiaddr=s.bytes();break;default:s.skipType(u&7);break}}return a})),i),n.encode=s=>It(s,n.codec()),n.decode=s=>Rt(s,n.codec())})(t=r.AddressInfo||(r.AddressInfo={}));let e;r.codec=()=>(e==null&&(e=Tt((n,i,s={})=>{if(s.lengthDelimited!==!1&&i.fork(),n.peerId!=null&&n.peerId.byteLength>0&&(i.uint32(10),i.bytes(n.peerId)),n.seq!=null&&n.seq!==0n&&(i.uint32(16),i.uint64(n.seq)),n.addresses!=null)for(let o of n.addresses)i.uint32(26),r.AddressInfo.codec().encode(o,i);s.lengthDelimited!==!1&&i.ldelim()},(n,i)=>{let s={peerId:new Uint8Array(0),seq:0n,addresses:[]},o=i==null?n.len:n.pos+i;for(;n.pos<o;){let a=n.uint32();switch(a>>>3){case 1:s.peerId=n.bytes();break;case 2:s.seq=n.uint64();break;case 3:s.addresses.push(r.AddressInfo.codec().decode(n,n.uint32()));break;default:n.skipType(a&7);break}}return s})),e),r.encode=n=>It(n,r.codec()),r.decode=n=>Rt(n,r.codec())})(Vs||(Vs={}));var mg="libp2p-peer-record",yg=Uint8Array.from([3,1]);var zt=class{constructor(t){this.domain=zt.DOMAIN,this.codec=zt.CODEC;let{peerId:e,multiaddrs:n,seqNumber:i}=t;this.peerId=e,this.multiaddrs=n??[],this.seqNumber=i??BigInt(Date.now())}marshal(){return this.marshaled==null&&(this.marshaled=Vs.encode({peerId:this.peerId.toBytes(),seq:BigInt(this.seqNumber),addresses:this.multiaddrs.map(t=>({multiaddr:t.bytes}))})),this.marshaled}equals(t){return!(!(t instanceof zt)||!this.peerId.equals(t.peerId)||this.seqNumber!==t.seqNumber||!pg(this.multiaddrs,t.multiaddrs))}};zt.createFromProtobuf=r=>{let t=Vs.decode(r),e=pi(t.peerId),n=(t.addresses??[]).map(s=>Lt(s.multiaddr)),i=t.seq;return new zt({peerId:e,multiaddrs:n,seqNumber:i})};zt.DOMAIN=mg;zt.CODEC=yg;var Ua="0.0.0",gg="libp2p";var uf=`js-libp2p/${Ua}`;var wg="0.1.0",Eg="id",xg="id/push",vg="1.0.0",bg="1.0.0";var qs=C(zr(),1);var $s=C(Ar(),1),yt=U("libp2p:identify"),_g=1024*8,Vi=class{constructor(t,e){this.components=t,this.started=!1,this.init=e,this.identifyProtocolStr=`/${e.protocolPrefix}/${Eg}/${vg}`,this.identifyPushProtocolStr=`/${e.protocolPrefix}/${xg}/${bg}`,this.host={protocolVersion:`${e.protocolPrefix}/${wg}`,...e.host},this.components.connectionManager.addEventListener("peer:connect",n=>{let i=n.detail;this.identify(i).catch(yt.error)}),this.components.peerStore.addEventListener("change:multiaddrs",n=>{let{peerId:i}=n.detail;this.components.peerId.equals(i)&&this.pushToPeerStore().catch(s=>{yt.error(s)})}),this.components.peerStore.addEventListener("change:protocols",n=>{let{peerId:i}=n.detail;this.components.peerId.equals(i)&&this.pushToPeerStore().catch(s=>{yt.error(s)})})}isStarted(){return this.started}async start(){this.started||(await this.components.peerStore.metadataBook.setValue(this.components.peerId,"AgentVersion",F(this.host.agentVersion)),await this.components.peerStore.metadataBook.setValue(this.components.peerId,"ProtocolVersion",F(this.host.protocolVersion)),await this.components.registrar.handle(this.identifyProtocolStr,t=>{this._handleIdentify(t).catch(e=>{yt.error(e)})},{maxInboundStreams:this.init.maxInboundStreams,maxOutboundStreams:this.init.maxOutboundStreams}),await this.components.registrar.handle(this.identifyPushProtocolStr,t=>{this._handlePush(t).catch(e=>{yt.error(e)})},{maxInboundStreams:this.init.maxPushIncomingStreams,maxOutboundStreams:this.init.maxPushOutgoingStreams}),this.started=!0)}async stop(){await this.components.registrar.unhandle(this.identifyProtocolStr),await this.components.registrar.unhandle(this.identifyPushProtocolStr),this.started=!1}async push(t){let e=await this.components.peerStore.addressBook.getRawEnvelope(this.components.peerId),n=this.components.addressManager.getAddresses().map(o=>o.bytes),i=await this.components.peerStore.protoBook.get(this.components.peerId),s=t.map(async o=>{let a,c=new qs.TimeoutController(this.init.timeout);try{(0,$s.setMaxListeners)?.(1/0,c.signal)}catch{}try{a=await o.newStream([this.identifyPushProtocolStr],{signal:c.signal}),await Ye(a,c.signal).sink(Zt([Wn.encode({listenAddrs:n,signedPeerRecord:e,protocols:i})],pr()))}catch(u){yt.error("could not push identify update to peer",u)}finally{a?.close(),c.clear()}});await Promise.all(s)}async pushToPeerStore(){if(!this.isStarted())return;let t=[];for(let e of this.components.connectionManager.getConnections()){let n=e.remotePeer;(await this.components.peerStore.get(n)).protocols.includes(this.identifyPushProtocolStr)&&t.push(e)}await this.push(t)}async _identify(t,e={}){let n,i=e.signal,s;if(i==null){n=new qs.TimeoutController(this.init.timeout),i=n.signal;try{(0,$s.setMaxListeners)?.(1/0,n.signal)}catch{}}try{s=await t.newStream([this.identifyProtocolStr],{signal:i});let o=Ye(s,i),a=await Zt([],o,Ge({maxDataLength:this.init.maxIdentifyMessageSize??_g}),async c=>await we(c));if(a==null)throw(0,Qn.default)(new Error("No data could be retrieved"),_.ERR_CONNECTION_ENDED);try{return Wn.decode(a)}catch(c){throw(0,Qn.default)(c,_.ERR_INVALID_MESSAGE)}}finally{n?.clear(),s?.close()}}async identify(t,e={}){let n=await this._identify(t,e),{publicKey:i,listenAddrs:s,protocols:o,observedAddr:a,signedPeerRecord:c,agentVersion:u,protocolVersion:l}=n;if(i==null)throw(0,Qn.default)(new Error("public key was missing from identify message"),_.ERR_MISSING_PUBLIC_KEY);let f=await Gr(i);if(!t.remotePeer.equals(f))throw(0,Qn.default)(new Error("identified peer does not match the expected peer"),_.ERR_INVALID_PEER);if(this.components.peerId.equals(f))throw(0,Qn.default)(new Error("identified peer is our own peer id?"),_.ERR_INVALID_PEER);let d=Vi.getCleanMultiaddr(a);if(c!=null){yt("received signed peer record from %p",f);try{let h=await Xt.openAndCertify(c,zt.DOMAIN);if(!h.peerId.equals(f))throw(0,Qn.default)(new Error("identified peer does not match the expected peer"),_.ERR_INVALID_PEER);if(await this.components.peerStore.addressBook.consumePeerRecord(h)){await this.components.peerStore.protoBook.set(f,o),u!=null&&await this.components.peerStore.metadataBook.setValue(f,"AgentVersion",F(u)),l!=null&&await this.components.peerStore.metadataBook.setValue(f,"ProtocolVersion",F(l)),yt("identify completed for peer %p and protocols %o",f,o);return}}catch(h){yt("received invalid envelope, discard it and fallback to listenAddrs is available",h)}}else yt("no signed peer record received from %p",f);yt("falling back to legacy addresses from %p",f);try{await this.components.peerStore.addressBook.set(f,s.map(h=>Lt(h)))}catch(h){yt.error("received invalid addrs",h)}await this.components.peerStore.protoBook.set(f,o),u!=null&&await this.components.peerStore.metadataBook.setValue(f,"AgentVersion",F(u)),l!=null&&await this.components.peerStore.metadataBook.setValue(f,"ProtocolVersion",F(l)),yt("identify completed for peer %p and protocols %o",f,o),yt("received observed address of %s",d?.toString())}async _handleIdentify(t){let{connection:e,stream:n}=t,i=new qs.TimeoutController(this.init.timeout);try{(0,$s.setMaxListeners)?.(1/0,i.signal)}catch{}try{let s=this.components.peerId.publicKey??new Uint8Array(0),o=await this.components.peerStore.get(this.components.peerId),a=this.components.addressManager.getAddresses().map(d=>d.decapsulateCode(ct("p2p").code)),c=o.peerRecordEnvelope;if(a.length>0&&c==null){let d=new zt({peerId:this.components.peerId,multiaddrs:a}),h=await Xt.seal(d,this.components.peerId);await this.components.peerStore.addressBook.consumePeerRecord(h),c=h.marshal().subarray()}let u=Wn.encode({protocolVersion:this.host.protocolVersion,agentVersion:this.host.agentVersion,publicKey:s,listenAddrs:a.map(d=>d.bytes),signedPeerRecord:c,observedAddr:e.remoteAddr.bytes,protocols:o.protocols}),l=Ye(n,i.signal),f=Zt([u],pr());await l.sink(f)}catch(s){yt.error("could not respond to identify request",s)}finally{n.close(),i.clear()}}async _handlePush(t){let{connection:e,stream:n}=t,i=new qs.TimeoutController(this.init.timeout);try{(0,$s.setMaxListeners)?.(1/0,i.signal)}catch{}let s;try{let a=Ye(n,i.signal),c=await Zt([],a,Ge({maxDataLength:this.init.maxIdentifyMessageSize??_g}),async u=>await we(u));c!=null&&(s=Wn.decode(c))}catch(a){yt.error("received invalid message",a);return}finally{n.close(),i.clear()}if(s==null){yt.error("received invalid message");return}let o=e.remotePeer;if(this.components.peerId.equals(o)){yt("received push from ourselves?");return}if(yt("received push from %p",o),s.signedPeerRecord!=null){yt("received signedPeerRecord in push");try{let a=await Xt.openAndCertify(s.signedPeerRecord,zt.DOMAIN);if(await this.components.peerStore.addressBook.consumePeerRecord(a)){yt("consumed signedPeerRecord sent in push"),await this.components.peerStore.protoBook.set(o,s.protocols);return}else yt("failed to consume signedPeerRecord sent in push")}catch(a){yt("received invalid envelope, discard it and fallback to listenAddrs is available",a)}}else yt("did not receive signedPeerRecord in push");try{await this.components.peerStore.addressBook.set(o,s.listenAddrs.map(a=>Lt(a)))}catch(a){yt.error("received invalid addrs",a)}try{await this.components.peerStore.protoBook.set(o,s.protocols)}catch(a){yt.error("received invalid protocols",a)}yt("handled push from %p",o)}static getCleanMultiaddr(t){if(t!=null&&t.length>0)try{return Lt(t)}catch{}}};var qi=C(lt(),1);var zs;(function(r){let t;r.codec=()=>(t==null&&(t=Tt((e,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),e.identifier!=null&&e.identifier!==""&&(n.uint32(10),n.string(e.identifier)),i.lengthDelimited!==!1&&n.ldelim()},(e,n)=>{let i={identifier:""},s=n==null?e.len:e.pos+n;for(;e.pos<s;){let o=e.uint32();switch(o>>>3){case 1:i.identifier=e.string();break;default:e.skipType(o&7);break}}return i})),t),r.encode=e=>It(e,r.codec()),r.decode=e=>Rt(e,r.codec())})(zs||(zs={}));var We;(function(r){let t;(function(i){i.OK="OK",i.NOT_FOUND="NOT_FOUND",i.ERROR="ERROR"})(t=r.StatusCode||(r.StatusCode={}));let e;(function(i){i[i.OK=0]="OK",i[i.NOT_FOUND=1]="NOT_FOUND",i[i.ERROR=2]="ERROR"})(e||(e={})),function(i){i.codec=()=>cs(e)}(t=r.StatusCode||(r.StatusCode={}));let n;r.codec=()=>(n==null&&(n=Tt((i,s,o={})=>{o.lengthDelimited!==!1&&s.fork(),i.status!=null&&e[i.status]!==0&&(s.uint32(8),r.StatusCode.codec().encode(i.status,s)),i.data!=null&&i.data.byteLength>0&&(s.uint32(18),s.bytes(i.data)),o.lengthDelimited!==!1&&s.ldelim()},(i,s)=>{let o={status:t.OK,data:new Uint8Array(0)},a=s==null?i.len:i.pos+s;for(;i.pos<a;){let c=i.uint32();switch(c>>>3){case 1:o.status=r.StatusCode.codec().decode(i);break;case 2:o.data=i.bytes();break;default:i.skipType(c&7);break}}return o})),n),r.encode=i=>It(i,r.codec()),r.decode=i=>Rt(i,r.codec())})(We||(We={}));var Sg="0.0.1",Ag="fetch";var Rg=C(zr(),1),Ig=C(Ar(),1);var Pe=U("libp2p:fetch"),Fa=class{constructor(t,e){this.started=!1,this.components=t,this.protocol=`/${e.protocolPrefix??"libp2p"}/${Ag}/${Sg}`,this.lookupFunctions=new Map,this.handleMessage=this.handleMessage.bind(this),this.init=e}async start(){await this.components.registrar.handle(this.protocol,t=>{this.handleMessage(t).catch(e=>{Pe.error(e)}).finally(()=>{t.stream.close()})},{maxInboundStreams:this.init.maxInboundStreams,maxOutboundStreams:this.init.maxOutboundStreams}),this.started=!0}async stop(){await this.components.registrar.unhandle(this.protocol),this.started=!1}isStarted(){return this.started}async fetch(t,e,n={}){Pe("dialing %s to %p",this.protocol,t);let i=await this.components.connectionManager.openConnection(t,n),s,o=n.signal,a;if(o==null){Pe("using default timeout of %d ms",this.init.timeout),s=new Rg.TimeoutController(this.init.timeout),o=s.signal;try{(0,Ig.setMaxListeners)?.(1/0,s.signal)}catch{}}try{a=await i.newStream(this.protocol,{signal:o});let c=Ye(a,o);return Pe("fetch %s",e),await Zt([zs.encode({identifier:e})],pr(),c,Ge(),async function(l){let f=await we(l);if(f==null)throw(0,qi.default)(new Error("No data received"),_.ERR_INVALID_MESSAGE);let d=We.decode(f);switch(d.status){case We.StatusCode.OK:return Pe("received status for %s ok",e),d.data;case We.StatusCode.NOT_FOUND:return Pe("received status for %s not found",e),null;case We.StatusCode.ERROR:{Pe("received status for %s error",e);let h=z(d.data);throw(0,qi.default)(new Error("Error in fetch protocol response: "+h),_.ERR_INVALID_PARAMETERS)}default:throw Pe("received status for %s unknown",e),(0,qi.default)(new Error("Unknown response status"),_.ERR_INVALID_MESSAGE)}})??null}finally{s?.clear(),a?.close()}}async handleMessage(t){let{stream:e}=t,n=this;await Zt(e,Ge(),async function*(i){let s=await we(i);if(s==null)throw(0,qi.default)(new Error("No data received"),_.ERR_INVALID_MESSAGE);let o=zs.decode(s),a,c=n._getLookupFunction(o.identifier);if(c!=null){Pe("look up data with identifier %s",o.identifier);let u=await c(o.identifier);u!=null?(Pe("sending status for %s ok",o.identifier),a={status:We.StatusCode.OK,data:u}):(Pe("sending status for %s not found",o.identifier),a={status:We.StatusCode.NOT_FOUND,data:new Uint8Array(0)})}else{Pe("sending status for %s error",o.identifier);let u=F(`No lookup function registered for key: ${o.identifier}`);a={status:We.StatusCode.ERROR,data:u}}yield We.encode(a)},pr(),e)}_getLookupFunction(t){for(let e of this.lookupFunctions.keys())if(t.startsWith(e))return this.lookupFunctions.get(e)}registerLookupFunction(t,e){if(this.lookupFunctions.has(t))throw(0,qi.default)(new Error("Fetch protocol handler for key prefix '"+t+"' already registered"),_.ERR_KEY_ALREADY_EXISTS);this.lookupFunctions.set(t,e)}unregisterLookupFunction(t,e){e!=null&&this.lookupFunctions.get(t)!==e||this.lookupFunctions.delete(t)}};var Dg=C(lt(),1);var Tg="1.0.0",Cg="ping";var Lg=C(zr(),1),Pg=C(Ar(),1),Bg=U("libp2p:ping"),Ka=class{constructor(t,e){this.components=t,this.started=!1,this.protocol=`/${e.protocolPrefix}/${Cg}/${Tg}`,this.init=e}async start(){await this.components.registrar.handle(this.protocol,this.handleMessage,{maxInboundStreams:this.init.maxInboundStreams,maxOutboundStreams:this.init.maxOutboundStreams}),this.started=!0}async stop(){await this.components.registrar.unhandle(this.protocol),this.started=!1}isStarted(){return this.started}handleMessage(t){let{stream:e}=t;Zt(e,e).catch(n=>{Bg.error(n)})}async ping(t,e={}){Bg("dialing %s to %p",this.protocol,t);let n=Date.now(),i=Lr(32),s=await this.components.connectionManager.openConnection(t,e),o,a=e.signal,c;if(a==null){o=new Lg.TimeoutController(this.init.timeout),a=o.signal;try{(0,Pg.setMaxListeners)?.(1/0,o.signal)}catch{}}try{c=await s.newStream([this.protocol],{signal:a});let u=Ye(c,a),l=await Zt([i],u,async d=>await we(d)),f=Date.now();if(l==null||!mt(i,l.subarray()))throw(0,Dg.default)(new Error("Received wrong ping ack"),_.ERR_WRONG_PING_ACK);return f-n}finally{o?.clear(),c?.close()}}};async function Ng(){throw new Error("Not supported in browsers")}var Mg=C(Og(),1),lf=typeof window=="object"&&typeof document=="object"&&document.nodeType===9,Va=(0,Mg.default)(),Hs=lf&&!Va,Ug=Va&&!lf,Fg=Va&&lf,Kg=typeof globalThis.process<"u"&&typeof globalThis.process.release<"u"&&globalThis.process.release.name==="node"&&!Va,Vg=typeof importScripts=="function"&&typeof self<"u"&&typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope,LL=typeof globalThis.process<"u"&&typeof globalThis.process.env<"u"&&globalThis.process.env["NODE"+(()=>"_")()+"ENV"]==="test",qg=typeof navigator<"u"&&navigator.product==="ReactNative";var Qg=C($g(),1);var zg="[a-fA-F\\d:]",fn=r=>r&&r.includeBoundaries?`(?:(?<=\\s|^)(?=${zg})|(?<=${zg})(?=\\s|$))`:"",Qe="(?: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}",Ht="[a-fA-F\\d]{1,4}",qa=`
|
|
37
|
+
`+a+t.substr(o+1),s=i-o-1,o=-1,++i}else(t[i]===" "||t[i]===" "||t[i]===",")&&(o=i);return t}function i2(r){return r.replace(/^\s+/,"")}});var cm=I((T4,am)=>{var or=ut();Pn();Kt();var im=am.exports=or.sha256=or.sha256||{};or.md.sha256=or.md.algorithms.sha256=im;im.create=function(){sm||s2();var r=null,t=or.util.createBuffer(),e=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 i=n.messageLengthSize/4,s=0;s<i;++s)n.fullMessageLength.push(0);return t=or.util.createBuffer(),r={h0:1779033703,h1:3144134277,h2:1013904242,h3:2773480762,h4:1359893119,h5:2600822924,h6:528734635,h7:1541459225},n},n.start(),n.update=function(i,s){s==="utf8"&&(i=or.util.encodeUtf8(i));var o=i.length;n.messageLength+=o,o=[o/4294967296>>>0,o>>>0];for(var a=n.fullMessageLength.length-1;a>=0;--a)n.fullMessageLength[a]+=o[1],o[1]=o[0]+(n.fullMessageLength[a]/4294967296>>>0),n.fullMessageLength[a]=n.fullMessageLength[a]>>>0,o[0]=o[1]/4294967296>>>0;return t.putBytes(i),nm(r,e,t),(t.read>2048||t.length()===0)&&t.compact(),n},n.digest=function(){var i=or.util.createBuffer();i.putBytes(t.bytes());var s=n.fullMessageLength[n.fullMessageLength.length-1]+n.messageLengthSize,o=s&n.blockLength-1;i.putBytes(ml.substr(0,n.blockLength-o));for(var a,c,u=n.fullMessageLength[0]*8,l=0;l<n.fullMessageLength.length-1;++l)a=n.fullMessageLength[l+1]*8,c=a/4294967296>>>0,u+=c,i.putInt32(u>>>0),u=a>>>0;i.putInt32(u);var f={h0:r.h0,h1:r.h1,h2:r.h2,h3:r.h3,h4:r.h4,h5:r.h5,h6:r.h6,h7:r.h7};nm(f,e,i);var d=or.util.createBuffer();return d.putInt32(f.h0),d.putInt32(f.h1),d.putInt32(f.h2),d.putInt32(f.h3),d.putInt32(f.h4),d.putInt32(f.h5),d.putInt32(f.h6),d.putInt32(f.h7),d},n};var ml=null,sm=!1,om=null;function s2(){ml=String.fromCharCode(128),ml+=or.util.fillString(String.fromCharCode(0),64),om=[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],sm=!0}function nm(r,t,e){for(var n,i,s,o,a,c,u,l,f,d,h,p,m,y,g,E=e.length();E>=64;){for(u=0;u<16;++u)t[u]=e.getInt32();for(;u<64;++u)n=t[u-2],n=(n>>>17|n<<15)^(n>>>19|n<<13)^n>>>10,i=t[u-15],i=(i>>>7|i<<25)^(i>>>18|i<<14)^i>>>3,t[u]=n+t[u-7]+i+t[u-16]|0;for(l=r.h0,f=r.h1,d=r.h2,h=r.h3,p=r.h4,m=r.h5,y=r.h6,g=r.h7,u=0;u<64;++u)o=(p>>>6|p<<26)^(p>>>11|p<<21)^(p>>>25|p<<7),a=y^p&(m^y),s=(l>>>2|l<<30)^(l>>>13|l<<19)^(l>>>22|l<<10),c=l&f|d&(l^f),n=g+o+a+om[u]+t[u],i=s+c,g=y,y=m,m=p,p=h+n>>>0,h=d,d=f,f=l,l=n+i>>>0;r.h0=r.h0+l|0,r.h1=r.h1+f|0,r.h2=r.h2+d|0,r.h3=r.h3+h|0,r.h4=r.h4+p|0,r.h5=r.h5+m|0,r.h6=r.h6+y|0,r.h7=r.h7+g|0,E-=64}}});var lm=I((C4,um)=>{var ar=ut();Kt();var aa=null;ar.util.isNodejs&&!ar.options.usePureJavaScript&&!process.versions["node-webkit"]&&(aa=Tn());var o2=um.exports=ar.prng=ar.prng||{};o2.create=function(r){for(var t={plugin:r,key:null,seed:null,time:null,reseeds:0,generated:0,keyBytes:""},e=r.md,n=new Array(32),i=0;i<32;++i)n[i]=e.create();t.pools=n,t.pool=0,t.generate=function(u,l){if(!l)return t.generateSync(u);var f=t.plugin.cipher,d=t.plugin.increment,h=t.plugin.formatKey,p=t.plugin.formatSeed,m=ar.util.createBuffer();t.key=null,y();function y(g){if(g)return l(g);if(m.length()>=u)return l(null,m.getBytes(u));if(t.generated>1048575&&(t.key=null),t.key===null)return ar.util.nextTick(function(){s(y)});var E=f(t.key,t.seed);t.generated+=E.length,m.putBytes(E),t.key=h(f(t.key,d(t.seed))),t.seed=p(f(t.key,t.seed)),ar.util.setImmediate(y)}},t.generateSync=function(u){var l=t.plugin.cipher,f=t.plugin.increment,d=t.plugin.formatKey,h=t.plugin.formatSeed;t.key=null;for(var p=ar.util.createBuffer();p.length()<u;){t.generated>1048575&&(t.key=null),t.key===null&&o();var m=l(t.key,t.seed);t.generated+=m.length,p.putBytes(m),t.key=d(l(t.key,f(t.seed))),t.seed=h(l(t.key,t.seed))}return p.getBytes(u)};function s(u){if(t.pools[0].messageLength>=32)return a(),u();var l=32-t.pools[0].messageLength<<5;t.seedFile(l,function(f,d){if(f)return u(f);t.collect(d),a(),u()})}function o(){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 l=1,f=0;f<32;++f)t.reseeds%l===0&&(u.update(t.pools[f].digest().getBytes()),t.pools[f].start()),l=l<<1;t.keyBytes=u.digest().getBytes(),u.start(),u.update(t.keyBytes);var d=u.digest().getBytes();t.key=t.plugin.formatKey(t.keyBytes),t.seed=t.plugin.formatSeed(d),t.generated=0}function c(u){var l=null,f=ar.util.globalScope,d=f.crypto||f.msCrypto;d&&d.getRandomValues&&(l=function(B){return d.getRandomValues(B)});var h=ar.util.createBuffer();if(l)for(;h.length()<u;){var p=Math.max(1,Math.min(u-h.length(),65536)/4),m=new Uint32Array(Math.floor(p));try{l(m);for(var y=0;y<m.length;++y)h.putInt32(m[y])}catch(B){if(!(typeof QuotaExceededError<"u"&&B instanceof QuotaExceededError))throw B}}if(h.length()<u)for(var g,E,b,O=Math.floor(Math.random()*65536);h.length()<u;){E=16807*(O&65535),g=16807*(O>>16),E+=(g&32767)<<16,E+=g>>15,E=(E&2147483647)+(E>>31),O=E&4294967295;for(var y=0;y<3;++y)b=O>>>(y<<3),b^=Math.floor(Math.random()*256),h.putByte(b&255)}return h.getBytes(u)}return aa?(t.seedFile=function(u,l){aa.randomBytes(u,function(f,d){if(f)return l(f);l(null,d.toString())})},t.seedFileSync=function(u){return aa.randomBytes(u).toString()}):(t.seedFile=function(u,l){try{l(null,c(u))}catch(f){l(f)}},t.seedFileSync=c),t.collect=function(u){for(var l=u.length,f=0;f<l;++f)t.pools[t.pool].update(u.substr(f,1)),t.pool=t.pool===31?0:t.pool+1},t.collectInt=function(u,l){for(var f="",d=0;d<l;d+=8)f+=String.fromCharCode(u>>d&255);t.collect(f)},t.registerWorker=function(u){if(u===self)t.seedFile=function(f,d){function h(p){var m=p.data;m.forge&&m.forge.prng&&(self.removeEventListener("message",h),d(m.forge.prng.err,m.forge.prng.bytes))}self.addEventListener("message",h),self.postMessage({forge:{prng:{needed:f}}})};else{var l=function(f){var d=f.data;d.forge&&d.forge.prng&&t.seedFile(d.forge.prng.needed,function(h,p){u.postMessage({forge:{prng:{err:h,bytes:p}}})})};u.addEventListener("message",l)}},t}});var ds=I((B4,yl)=>{var ee=ut();ra();cm();lm();Kt();(function(){if(ee.random&&ee.random.getBytes){yl.exports=ee.random;return}(function(r){var t={},e=new Array(4),n=ee.util.createBuffer();t.formatKey=function(f){var d=ee.util.createBuffer(f);return f=new Array(4),f[0]=d.getInt32(),f[1]=d.getInt32(),f[2]=d.getInt32(),f[3]=d.getInt32(),ee.aes._expandKey(f,!1)},t.formatSeed=function(f){var d=ee.util.createBuffer(f);return f=new Array(4),f[0]=d.getInt32(),f[1]=d.getInt32(),f[2]=d.getInt32(),f[3]=d.getInt32(),f},t.cipher=function(f,d){return ee.aes._updateBlock(f,d,e,!1),n.putInt32(e[0]),n.putInt32(e[1]),n.putInt32(e[2]),n.putInt32(e[3]),n.getBytes()},t.increment=function(f){return++f[3],f},t.md=ee.md.sha256;function i(){var f=ee.prng.create(t);return f.getBytes=function(d,h){return f.generate(d,h)},f.getBytesSync=function(d){return f.generate(d)},f}var s=i(),o=null,a=ee.util.globalScope,c=a.crypto||a.msCrypto;if(c&&c.getRandomValues&&(o=function(f){return c.getRandomValues(f)}),ee.options.usePureJavaScript||!ee.util.isNodejs&&!o){if(typeof window>"u"||window.document,s.collectInt(+new Date,32),typeof navigator<"u"){var u="";for(var l in navigator)try{typeof navigator[l]=="string"&&(u+=navigator[l])}catch{}s.collect(u),u=null}r&&(r().mousemove(function(f){s.collectInt(f.clientX,16),s.collectInt(f.clientY,16)}),r().keypress(function(f){s.collectInt(f.charCode,8)}))}if(!ee.random)ee.random=s;else for(var l in s)ee.random[l]=s[l];ee.random.createInstance=i,yl.exports=ee.random})(typeof jQuery<"u"?jQuery:null)})()});var pm=I((D4,dm)=>{var fe=ut();Kt();var gl=[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],fm=[1,2,3,5],a2=function(r,t){return r<<t&65535|(r&65535)>>16-t},c2=function(r,t){return(r&65535)>>t|r<<16-t&65535};dm.exports=fe.rc2=fe.rc2||{};fe.rc2.expandKey=function(r,t){typeof r=="string"&&(r=fe.util.createBuffer(r)),t=t||128;var e=r,n=r.length(),i=t,s=Math.ceil(i/8),o=255>>(i&7),a;for(a=n;a<128;a++)e.putByte(gl[e.at(a-1)+e.at(a-n)&255]);for(e.setAt(128-s,gl[e.at(128-s)&o]),a=127-s;a>=0;a--)e.setAt(a,gl[e.at(a+1)^e.at(a+s)]);return e};var hm=function(r,t,e){var n=!1,i=null,s=null,o=null,a,c,u,l,f=[];for(r=fe.rc2.expandKey(r,t),u=0;u<64;u++)f.push(r.getInt16Le());e?(a=function(p){for(u=0;u<4;u++)p[u]+=f[l]+(p[(u+3)%4]&p[(u+2)%4])+(~p[(u+3)%4]&p[(u+1)%4]),p[u]=a2(p[u],fm[u]),l++},c=function(p){for(u=0;u<4;u++)p[u]+=f[p[(u+3)%4]&63]}):(a=function(p){for(u=3;u>=0;u--)p[u]=c2(p[u],fm[u]),p[u]-=f[l]+(p[(u+3)%4]&p[(u+2)%4])+(~p[(u+3)%4]&p[(u+1)%4]),l--},c=function(p){for(u=3;u>=0;u--)p[u]-=f[p[(u+3)%4]&63]});var d=function(p){var m=[];for(u=0;u<4;u++){var y=i.getInt16Le();o!==null&&(e?y^=o.getInt16Le():o.putInt16Le(y)),m.push(y&65535)}l=e?0:63;for(var g=0;g<p.length;g++)for(var E=0;E<p[g][0];E++)p[g][1](m);for(u=0;u<4;u++)o!==null&&(e?o.putInt16Le(m[u]):m[u]^=o.getInt16Le()),s.putInt16Le(m[u])},h=null;return h={start:function(p,m){p&&typeof p=="string"&&(p=fe.util.createBuffer(p)),n=!1,i=fe.util.createBuffer(),s=m||new fe.util.createBuffer,o=p,h.output=s},update:function(p){for(n||i.putBuffer(p);i.length()>=8;)d([[5,a],[1,c],[6,a],[1,c],[5,a]])},finish:function(p){var m=!0;if(e)if(p)m=p(8,i,!e);else{var y=i.length()===8?8:8-i.length();i.fillWithByte(y,y)}if(m&&(n=!0,h.update()),!e&&(m=i.length()===0,m))if(p)m=p(8,s,!e);else{var g=s.length(),E=s.at(g-1);E>g?m=!1:s.truncate(E)}return m}},h};fe.rc2.startEncrypting=function(r,t,e){var n=fe.rc2.createEncryptionCipher(r,128);return n.start(t,e),n};fe.rc2.createEncryptionCipher=function(r,t){return hm(r,t,!0)};fe.rc2.startDecrypting=function(r,t,e){var n=fe.rc2.createDecryptionCipher(r,128);return n.start(t,e),n};fe.rc2.createDecryptionCipher=function(r,t){return hm(r,t,!1)}});var la=I((L4,bm)=>{var wl=ut();bm.exports=wl.jsbn=wl.jsbn||{};var Dr,u2=0xdeadbeefcafe,mm=(u2&16777215)==15715070;function S(r,t,e){this.data=[],r!=null&&(typeof r=="number"?this.fromNumber(r,t,e):t==null&&typeof r!="string"?this.fromString(r,256):this.fromString(r,t))}wl.jsbn.BigInteger=S;function nt(){return new S(null)}function l2(r,t,e,n,i,s){for(;--s>=0;){var o=t*this.data[r++]+e.data[n]+i;i=Math.floor(o/67108864),e.data[n++]=o&67108863}return i}function f2(r,t,e,n,i,s){for(var o=t&32767,a=t>>15;--s>=0;){var c=this.data[r]&32767,u=this.data[r++]>>15,l=a*c+u*o;c=o*c+((l&32767)<<15)+e.data[n]+(i&1073741823),i=(c>>>30)+(l>>>15)+a*u+(i>>>30),e.data[n++]=c&1073741823}return i}function ym(r,t,e,n,i,s){for(var o=t&16383,a=t>>14;--s>=0;){var c=this.data[r]&16383,u=this.data[r++]>>14,l=a*c+u*o;c=o*c+((l&16383)<<14)+e.data[n]+i,i=(c>>28)+(l>>14)+a*u,e.data[n++]=c&268435455}return i}typeof navigator>"u"?(S.prototype.am=ym,Dr=28):mm&&navigator.appName=="Microsoft Internet Explorer"?(S.prototype.am=f2,Dr=30):mm&&navigator.appName!="Netscape"?(S.prototype.am=l2,Dr=26):(S.prototype.am=ym,Dr=28);S.prototype.DB=Dr;S.prototype.DM=(1<<Dr)-1;S.prototype.DV=1<<Dr;var El=52;S.prototype.FV=Math.pow(2,El);S.prototype.F1=El-Dr;S.prototype.F2=2*Dr-El;var h2="0123456789abcdefghijklmnopqrstuvwxyz",ca=new Array,Ri,Be;Ri="0".charCodeAt(0);for(Be=0;Be<=9;++Be)ca[Ri++]=Be;Ri="a".charCodeAt(0);for(Be=10;Be<36;++Be)ca[Ri++]=Be;Ri="A".charCodeAt(0);for(Be=10;Be<36;++Be)ca[Ri++]=Be;function gm(r){return h2.charAt(r)}function wm(r,t){var e=ca[r.charCodeAt(t)];return e??-1}function d2(r){for(var t=this.t-1;t>=0;--t)r.data[t]=this.data[t];r.t=this.t,r.s=this.s}function p2(r){this.t=1,this.s=r<0?-1:0,r>0?this.data[0]=r:r<-1?this.data[0]=r+this.DV:this.t=0}function Jr(r){var t=nt();return t.fromInt(r),t}function m2(r,t){var e;if(t==16)e=4;else if(t==8)e=3;else if(t==256)e=8;else if(t==2)e=1;else if(t==32)e=5;else if(t==4)e=2;else{this.fromRadix(r,t);return}this.t=0,this.s=0;for(var n=r.length,i=!1,s=0;--n>=0;){var o=e==8?r[n]&255:wm(r,n);if(o<0){r.charAt(n)=="-"&&(i=!0);continue}i=!1,s==0?this.data[this.t++]=o:s+e>this.DB?(this.data[this.t-1]|=(o&(1<<this.DB-s)-1)<<s,this.data[this.t++]=o>>this.DB-s):this.data[this.t-1]|=o<<s,s+=e,s>=this.DB&&(s-=this.DB)}e==8&&r[0]&128&&(this.s=-1,s>0&&(this.data[this.t-1]|=(1<<this.DB-s)-1<<s)),this.clamp(),i&&S.ZERO.subTo(this,this)}function y2(){for(var r=this.s&this.DM;this.t>0&&this.data[this.t-1]==r;)--this.t}function g2(r){if(this.s<0)return"-"+this.negate().toString(r);var t;if(r==16)t=4;else if(r==8)t=3;else if(r==2)t=1;else if(r==32)t=5;else if(r==4)t=2;else return this.toRadix(r);var e=(1<<t)-1,n,i=!1,s="",o=this.t,a=this.DB-o*this.DB%t;if(o-- >0)for(a<this.DB&&(n=this.data[o]>>a)>0&&(i=!0,s=gm(n));o>=0;)a<t?(n=(this.data[o]&(1<<a)-1)<<t-a,n|=this.data[--o]>>(a+=this.DB-t)):(n=this.data[o]>>(a-=t)&e,a<=0&&(a+=this.DB,--o)),n>0&&(i=!0),i&&(s+=gm(n));return i?s:"0"}function w2(){var r=nt();return S.ZERO.subTo(this,r),r}function E2(){return this.s<0?this.negate():this}function x2(r){var t=this.s-r.s;if(t!=0)return t;var e=this.t;if(t=e-r.t,t!=0)return this.s<0?-t:t;for(;--e>=0;)if((t=this.data[e]-r.data[e])!=0)return t;return 0}function ua(r){var t=1,e;return(e=r>>>16)!=0&&(r=e,t+=16),(e=r>>8)!=0&&(r=e,t+=8),(e=r>>4)!=0&&(r=e,t+=4),(e=r>>2)!=0&&(r=e,t+=2),(e=r>>1)!=0&&(r=e,t+=1),t}function v2(){return this.t<=0?0:this.DB*(this.t-1)+ua(this.data[this.t-1]^this.s&this.DM)}function b2(r,t){var e;for(e=this.t-1;e>=0;--e)t.data[e+r]=this.data[e];for(e=r-1;e>=0;--e)t.data[e]=0;t.t=this.t+r,t.s=this.s}function _2(r,t){for(var e=r;e<this.t;++e)t.data[e-r]=this.data[e];t.t=Math.max(this.t-r,0),t.s=this.s}function S2(r,t){var e=r%this.DB,n=this.DB-e,i=(1<<n)-1,s=Math.floor(r/this.DB),o=this.s<<e&this.DM,a;for(a=this.t-1;a>=0;--a)t.data[a+s+1]=this.data[a]>>n|o,o=(this.data[a]&i)<<e;for(a=s-1;a>=0;--a)t.data[a]=0;t.data[s]=o,t.t=this.t+s+1,t.s=this.s,t.clamp()}function A2(r,t){t.s=this.s;var e=Math.floor(r/this.DB);if(e>=this.t){t.t=0;return}var n=r%this.DB,i=this.DB-n,s=(1<<n)-1;t.data[0]=this.data[e]>>n;for(var o=e+1;o<this.t;++o)t.data[o-e-1]|=(this.data[o]&s)<<i,t.data[o-e]=this.data[o]>>n;n>0&&(t.data[this.t-e-1]|=(this.s&s)<<i),t.t=this.t-e,t.clamp()}function R2(r,t){for(var e=0,n=0,i=Math.min(r.t,this.t);e<i;)n+=this.data[e]-r.data[e],t.data[e++]=n&this.DM,n>>=this.DB;if(r.t<this.t){for(n-=r.s;e<this.t;)n+=this.data[e],t.data[e++]=n&this.DM,n>>=this.DB;n+=this.s}else{for(n+=this.s;e<r.t;)n-=r.data[e],t.data[e++]=n&this.DM,n>>=this.DB;n-=r.s}t.s=n<0?-1:0,n<-1?t.data[e++]=this.DV+n:n>0&&(t.data[e++]=n),t.t=e,t.clamp()}function I2(r,t){var e=this.abs(),n=r.abs(),i=e.t;for(t.t=i+n.t;--i>=0;)t.data[i]=0;for(i=0;i<n.t;++i)t.data[i+e.t]=e.am(0,n.data[i],t,i,0,e.t);t.s=0,t.clamp(),this.s!=r.s&&S.ZERO.subTo(t,t)}function T2(r){for(var t=this.abs(),e=r.t=2*t.t;--e>=0;)r.data[e]=0;for(e=0;e<t.t-1;++e){var n=t.am(e,t.data[e],r,2*e,0,1);(r.data[e+t.t]+=t.am(e+1,2*t.data[e],r,2*e+1,n,t.t-e-1))>=t.DV&&(r.data[e+t.t]-=t.DV,r.data[e+t.t+1]=1)}r.t>0&&(r.data[r.t-1]+=t.am(e,t.data[e],r,2*e,0,1)),r.s=0,r.clamp()}function C2(r,t,e){var n=r.abs();if(!(n.t<=0)){var i=this.abs();if(i.t<n.t){t?.fromInt(0),e!=null&&this.copyTo(e);return}e==null&&(e=nt());var s=nt(),o=this.s,a=r.s,c=this.DB-ua(n.data[n.t-1]);c>0?(n.lShiftTo(c,s),i.lShiftTo(c,e)):(n.copyTo(s),i.copyTo(e));var u=s.t,l=s.data[u-1];if(l!=0){var f=l*(1<<this.F1)+(u>1?s.data[u-2]>>this.F2:0),d=this.FV/f,h=(1<<this.F1)/f,p=1<<this.F2,m=e.t,y=m-u,g=t??nt();for(s.dlShiftTo(y,g),e.compareTo(g)>=0&&(e.data[e.t++]=1,e.subTo(g,e)),S.ONE.dlShiftTo(u,g),g.subTo(s,s);s.t<u;)s.data[s.t++]=0;for(;--y>=0;){var E=e.data[--m]==l?this.DM:Math.floor(e.data[m]*d+(e.data[m-1]+p)*h);if((e.data[m]+=s.am(0,E,e,y,0,u))<E)for(s.dlShiftTo(y,g),e.subTo(g,e);e.data[m]<--E;)e.subTo(g,e)}t!=null&&(e.drShiftTo(u,t),o!=a&&S.ZERO.subTo(t,t)),e.t=u,e.clamp(),c>0&&e.rShiftTo(c,e),o<0&&S.ZERO.subTo(e,e)}}}function B2(r){var t=nt();return this.abs().divRemTo(r,null,t),this.s<0&&t.compareTo(S.ZERO)>0&&r.subTo(t,t),t}function Nn(r){this.m=r}function D2(r){return r.s<0||r.compareTo(this.m)>=0?r.mod(this.m):r}function L2(r){return r}function P2(r){r.divRemTo(this.m,null,r)}function N2(r,t,e){r.multiplyTo(t,e),this.reduce(e)}function k2(r,t){r.squareTo(t),this.reduce(t)}Nn.prototype.convert=D2;Nn.prototype.revert=L2;Nn.prototype.reduce=P2;Nn.prototype.mulTo=N2;Nn.prototype.sqrTo=k2;function O2(){if(this.t<1)return 0;var r=this.data[0];if(!(r&1))return 0;var t=r&3;return t=t*(2-(r&15)*t)&15,t=t*(2-(r&255)*t)&255,t=t*(2-((r&65535)*t&65535))&65535,t=t*(2-r*t%this.DV)%this.DV,t>0?this.DV-t:-t}function kn(r){this.m=r,this.mp=r.invDigit(),this.mpl=this.mp&32767,this.mph=this.mp>>15,this.um=(1<<r.DB-15)-1,this.mt2=2*r.t}function M2(r){var t=nt();return r.abs().dlShiftTo(this.m.t,t),t.divRemTo(this.m,null,t),r.s<0&&t.compareTo(S.ZERO)>0&&this.m.subTo(t,t),t}function U2(r){var t=nt();return r.copyTo(t),this.reduce(t),t}function F2(r){for(;r.t<=this.mt2;)r.data[r.t++]=0;for(var t=0;t<this.m.t;++t){var e=r.data[t]&32767,n=e*this.mpl+((e*this.mph+(r.data[t]>>15)*this.mpl&this.um)<<15)&r.DM;for(e=t+this.m.t,r.data[e]+=this.m.am(0,n,r,t,0,this.m.t);r.data[e]>=r.DV;)r.data[e]-=r.DV,r.data[++e]++}r.clamp(),r.drShiftTo(this.m.t,r),r.compareTo(this.m)>=0&&r.subTo(this.m,r)}function K2(r,t){r.squareTo(t),this.reduce(t)}function V2(r,t,e){r.multiplyTo(t,e),this.reduce(e)}kn.prototype.convert=M2;kn.prototype.revert=U2;kn.prototype.reduce=F2;kn.prototype.mulTo=V2;kn.prototype.sqrTo=K2;function q2(){return(this.t>0?this.data[0]&1:this.s)==0}function $2(r,t){if(r>4294967295||r<1)return S.ONE;var e=nt(),n=nt(),i=t.convert(this),s=ua(r)-1;for(i.copyTo(e);--s>=0;)if(t.sqrTo(e,n),(r&1<<s)>0)t.mulTo(n,i,e);else{var o=e;e=n,n=o}return t.revert(e)}function z2(r,t){var e;return r<256||t.isEven()?e=new Nn(t):e=new kn(t),this.exp(r,e)}S.prototype.copyTo=d2;S.prototype.fromInt=p2;S.prototype.fromString=m2;S.prototype.clamp=y2;S.prototype.dlShiftTo=b2;S.prototype.drShiftTo=_2;S.prototype.lShiftTo=S2;S.prototype.rShiftTo=A2;S.prototype.subTo=R2;S.prototype.multiplyTo=I2;S.prototype.squareTo=T2;S.prototype.divRemTo=C2;S.prototype.invDigit=O2;S.prototype.isEven=q2;S.prototype.exp=$2;S.prototype.toString=g2;S.prototype.negate=w2;S.prototype.abs=E2;S.prototype.compareTo=x2;S.prototype.bitLength=v2;S.prototype.mod=B2;S.prototype.modPowInt=z2;S.ZERO=Jr(0);S.ONE=Jr(1);function H2(){var r=nt();return this.copyTo(r),r}function G2(){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 Y2(){return this.t==0?this.s:this.data[0]<<24>>24}function W2(){return this.t==0?this.s:this.data[0]<<16>>16}function Q2(r){return Math.floor(Math.LN2*this.DB/Math.log(r))}function X2(){return this.s<0?-1:this.t<=0||this.t==1&&this.data[0]<=0?0:1}function Z2(r){if(r==null&&(r=10),this.signum()==0||r<2||r>36)return"0";var t=this.chunkSize(r),e=Math.pow(r,t),n=Jr(e),i=nt(),s=nt(),o="";for(this.divRemTo(n,i,s);i.signum()>0;)o=(e+s.intValue()).toString(r).substr(1)+o,i.divRemTo(n,i,s);return s.intValue().toString(r)+o}function J2(r,t){this.fromInt(0),t==null&&(t=10);for(var e=this.chunkSize(t),n=Math.pow(t,e),i=!1,s=0,o=0,a=0;a<r.length;++a){var c=wm(r,a);if(c<0){r.charAt(a)=="-"&&this.signum()==0&&(i=!0);continue}o=t*o+c,++s>=e&&(this.dMultiply(n),this.dAddOffset(o,0),s=0,o=0)}s>0&&(this.dMultiply(Math.pow(t,s)),this.dAddOffset(o,0)),i&&S.ZERO.subTo(this,this)}function j2(r,t,e){if(typeof t=="number")if(r<2)this.fromInt(1);else for(this.fromNumber(r,e),this.testBit(r-1)||this.bitwiseTo(S.ONE.shiftLeft(r-1),xl,this),this.isEven()&&this.dAddOffset(1,0);!this.isProbablePrime(t);)this.dAddOffset(2,0),this.bitLength()>r&&this.subTo(S.ONE.shiftLeft(r-1),this);else{var n=new Array,i=r&7;n.length=(r>>3)+1,t.nextBytes(n),i>0?n[0]&=(1<<i)-1:n[0]=0,this.fromString(n,256)}}function tb(){var r=this.t,t=new Array;t[0]=this.s;var e=this.DB-r*this.DB%8,n,i=0;if(r-- >0)for(e<this.DB&&(n=this.data[r]>>e)!=(this.s&this.DM)>>e&&(t[i++]=n|this.s<<this.DB-e);r>=0;)e<8?(n=(this.data[r]&(1<<e)-1)<<8-e,n|=this.data[--r]>>(e+=this.DB-8)):(n=this.data[r]>>(e-=8)&255,e<=0&&(e+=this.DB,--r)),n&128&&(n|=-256),i==0&&(this.s&128)!=(n&128)&&++i,(i>0||n!=this.s)&&(t[i++]=n);return t}function eb(r){return this.compareTo(r)==0}function rb(r){return this.compareTo(r)<0?this:r}function nb(r){return this.compareTo(r)>0?this:r}function ib(r,t,e){var n,i,s=Math.min(r.t,this.t);for(n=0;n<s;++n)e.data[n]=t(this.data[n],r.data[n]);if(r.t<this.t){for(i=r.s&this.DM,n=s;n<this.t;++n)e.data[n]=t(this.data[n],i);e.t=this.t}else{for(i=this.s&this.DM,n=s;n<r.t;++n)e.data[n]=t(i,r.data[n]);e.t=r.t}e.s=t(this.s,r.s),e.clamp()}function sb(r,t){return r&t}function ob(r){var t=nt();return this.bitwiseTo(r,sb,t),t}function xl(r,t){return r|t}function ab(r){var t=nt();return this.bitwiseTo(r,xl,t),t}function Em(r,t){return r^t}function cb(r){var t=nt();return this.bitwiseTo(r,Em,t),t}function xm(r,t){return r&~t}function ub(r){var t=nt();return this.bitwiseTo(r,xm,t),t}function lb(){for(var r=nt(),t=0;t<this.t;++t)r.data[t]=this.DM&~this.data[t];return r.t=this.t,r.s=~this.s,r}function fb(r){var t=nt();return r<0?this.rShiftTo(-r,t):this.lShiftTo(r,t),t}function hb(r){var t=nt();return r<0?this.lShiftTo(-r,t):this.rShiftTo(r,t),t}function db(r){if(r==0)return-1;var t=0;return r&65535||(r>>=16,t+=16),r&255||(r>>=8,t+=8),r&15||(r>>=4,t+=4),r&3||(r>>=2,t+=2),r&1||++t,t}function pb(){for(var r=0;r<this.t;++r)if(this.data[r]!=0)return r*this.DB+db(this.data[r]);return this.s<0?this.t*this.DB:-1}function mb(r){for(var t=0;r!=0;)r&=r-1,++t;return t}function yb(){for(var r=0,t=this.s&this.DM,e=0;e<this.t;++e)r+=mb(this.data[e]^t);return r}function gb(r){var t=Math.floor(r/this.DB);return t>=this.t?this.s!=0:(this.data[t]&1<<r%this.DB)!=0}function wb(r,t){var e=S.ONE.shiftLeft(r);return this.bitwiseTo(e,t,e),e}function Eb(r){return this.changeBit(r,xl)}function xb(r){return this.changeBit(r,xm)}function vb(r){return this.changeBit(r,Em)}function bb(r,t){for(var e=0,n=0,i=Math.min(r.t,this.t);e<i;)n+=this.data[e]+r.data[e],t.data[e++]=n&this.DM,n>>=this.DB;if(r.t<this.t){for(n+=r.s;e<this.t;)n+=this.data[e],t.data[e++]=n&this.DM,n>>=this.DB;n+=this.s}else{for(n+=this.s;e<r.t;)n+=r.data[e],t.data[e++]=n&this.DM,n>>=this.DB;n+=r.s}t.s=n<0?-1:0,n>0?t.data[e++]=n:n<-1&&(t.data[e++]=this.DV+n),t.t=e,t.clamp()}function _b(r){var t=nt();return this.addTo(r,t),t}function Sb(r){var t=nt();return this.subTo(r,t),t}function Ab(r){var t=nt();return this.multiplyTo(r,t),t}function Rb(r){var t=nt();return this.divRemTo(r,t,null),t}function Ib(r){var t=nt();return this.divRemTo(r,null,t),t}function Tb(r){var t=nt(),e=nt();return this.divRemTo(r,t,e),new Array(t,e)}function Cb(r){this.data[this.t]=this.am(0,r-1,this,0,0,this.t),++this.t,this.clamp()}function Bb(r,t){if(r!=0){for(;this.t<=t;)this.data[this.t++]=0;for(this.data[t]+=r;this.data[t]>=this.DV;)this.data[t]-=this.DV,++t>=this.t&&(this.data[this.t++]=0),++this.data[t]}}function ps(){}function vm(r){return r}function Db(r,t,e){r.multiplyTo(t,e)}function Lb(r,t){r.squareTo(t)}ps.prototype.convert=vm;ps.prototype.revert=vm;ps.prototype.mulTo=Db;ps.prototype.sqrTo=Lb;function Pb(r){return this.exp(r,new ps)}function Nb(r,t,e){var n=Math.min(this.t+r.t,t);for(e.s=0,e.t=n;n>0;)e.data[--n]=0;var i;for(i=e.t-this.t;n<i;++n)e.data[n+this.t]=this.am(0,r.data[n],e,n,0,this.t);for(i=Math.min(r.t,t);n<i;++n)this.am(0,r.data[n],e,n,0,t-n);e.clamp()}function kb(r,t,e){--t;var n=e.t=this.t+r.t-t;for(e.s=0;--n>=0;)e.data[n]=0;for(n=Math.max(t-this.t,0);n<r.t;++n)e.data[this.t+n-t]=this.am(t-n,r.data[n],e,0,0,this.t+n-t);e.clamp(),e.drShiftTo(1,e)}function Ii(r){this.r2=nt(),this.q3=nt(),S.ONE.dlShiftTo(2*r.t,this.r2),this.mu=this.r2.divide(r),this.m=r}function Ob(r){if(r.s<0||r.t>2*this.m.t)return r.mod(this.m);if(r.compareTo(this.m)<0)return r;var t=nt();return r.copyTo(t),this.reduce(t),t}function Mb(r){return r}function Ub(r){for(r.drShiftTo(this.m.t-1,this.r2),r.t>this.m.t+1&&(r.t=this.m.t+1,r.clamp()),this.mu.multiplyUpperTo(this.r2,this.m.t+1,this.q3),this.m.multiplyLowerTo(this.q3,this.m.t+1,this.r2);r.compareTo(this.r2)<0;)r.dAddOffset(1,this.m.t+1);for(r.subTo(this.r2,r);r.compareTo(this.m)>=0;)r.subTo(this.m,r)}function Fb(r,t){r.squareTo(t),this.reduce(t)}function Kb(r,t,e){r.multiplyTo(t,e),this.reduce(e)}Ii.prototype.convert=Ob;Ii.prototype.revert=Mb;Ii.prototype.reduce=Ub;Ii.prototype.mulTo=Kb;Ii.prototype.sqrTo=Fb;function Vb(r,t){var e=r.bitLength(),n,i=Jr(1),s;if(e<=0)return i;e<18?n=1:e<48?n=3:e<144?n=4:e<768?n=5:n=6,e<8?s=new Nn(t):t.isEven()?s=new Ii(t):s=new kn(t);var o=new Array,a=3,c=n-1,u=(1<<n)-1;if(o[1]=s.convert(this),n>1){var l=nt();for(s.sqrTo(o[1],l);a<=u;)o[a]=nt(),s.mulTo(l,o[a-2],o[a]),a+=2}var f=r.t-1,d,h=!0,p=nt(),m;for(e=ua(r.data[f])-1;f>=0;){for(e>=c?d=r.data[f]>>e-c&u:(d=(r.data[f]&(1<<e+1)-1)<<c-e,f>0&&(d|=r.data[f-1]>>this.DB+e-c)),a=n;!(d&1);)d>>=1,--a;if((e-=a)<0&&(e+=this.DB,--f),h)o[d].copyTo(i),h=!1;else{for(;a>1;)s.sqrTo(i,p),s.sqrTo(p,i),a-=2;a>0?s.sqrTo(i,p):(m=i,i=p,p=m),s.mulTo(p,o[d],i)}for(;f>=0&&!(r.data[f]&1<<e);)s.sqrTo(i,p),m=i,i=p,p=m,--e<0&&(e=this.DB-1,--f)}return s.revert(i)}function qb(r){var t=this.s<0?this.negate():this.clone(),e=r.s<0?r.negate():r.clone();if(t.compareTo(e)<0){var n=t;t=e,e=n}var i=t.getLowestSetBit(),s=e.getLowestSetBit();if(s<0)return t;for(i<s&&(s=i),s>0&&(t.rShiftTo(s,t),e.rShiftTo(s,e));t.signum()>0;)(i=t.getLowestSetBit())>0&&t.rShiftTo(i,t),(i=e.getLowestSetBit())>0&&e.rShiftTo(i,e),t.compareTo(e)>=0?(t.subTo(e,t),t.rShiftTo(1,t)):(e.subTo(t,e),e.rShiftTo(1,e));return s>0&&e.lShiftTo(s,e),e}function $b(r){if(r<=0)return 0;var t=this.DV%r,e=this.s<0?r-1:0;if(this.t>0)if(t==0)e=this.data[0]%r;else for(var n=this.t-1;n>=0;--n)e=(t*e+this.data[n])%r;return e}function zb(r){var t=r.isEven();if(this.isEven()&&t||r.signum()==0)return S.ZERO;for(var e=r.clone(),n=this.clone(),i=Jr(1),s=Jr(0),o=Jr(0),a=Jr(1);e.signum()!=0;){for(;e.isEven();)e.rShiftTo(1,e),t?((!i.isEven()||!s.isEven())&&(i.addTo(this,i),s.subTo(r,s)),i.rShiftTo(1,i)):s.isEven()||s.subTo(r,s),s.rShiftTo(1,s);for(;n.isEven();)n.rShiftTo(1,n),t?((!o.isEven()||!a.isEven())&&(o.addTo(this,o),a.subTo(r,a)),o.rShiftTo(1,o)):a.isEven()||a.subTo(r,a),a.rShiftTo(1,a);e.compareTo(n)>=0?(e.subTo(n,e),t&&i.subTo(o,i),s.subTo(a,s)):(n.subTo(e,n),t&&o.subTo(i,o),a.subTo(s,a))}if(n.compareTo(S.ONE)!=0)return S.ZERO;if(a.compareTo(r)>=0)return a.subtract(r);if(a.signum()<0)a.addTo(r,a);else return a;return a.signum()<0?a.add(r):a}var Ve=[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],Hb=(1<<26)/Ve[Ve.length-1];function Gb(r){var t,e=this.abs();if(e.t==1&&e.data[0]<=Ve[Ve.length-1]){for(t=0;t<Ve.length;++t)if(e.data[0]==Ve[t])return!0;return!1}if(e.isEven())return!1;for(t=1;t<Ve.length;){for(var n=Ve[t],i=t+1;i<Ve.length&&n<Hb;)n*=Ve[i++];for(n=e.modInt(n);t<i;)if(n%Ve[t++]==0)return!1}return e.millerRabin(r)}function Yb(r){var t=this.subtract(S.ONE),e=t.getLowestSetBit();if(e<=0)return!1;for(var n=t.shiftRight(e),i=Wb(),s,o=0;o<r;++o){do s=new S(this.bitLength(),i);while(s.compareTo(S.ONE)<=0||s.compareTo(t)>=0);var a=s.modPow(n,this);if(a.compareTo(S.ONE)!=0&&a.compareTo(t)!=0){for(var c=1;c++<e&&a.compareTo(t)!=0;)if(a=a.modPowInt(2,this),a.compareTo(S.ONE)==0)return!1;if(a.compareTo(t)!=0)return!1}}return!0}function Wb(){return{nextBytes:function(r){for(var t=0;t<r.length;++t)r[t]=Math.floor(Math.random()*256)}}}S.prototype.chunkSize=Q2;S.prototype.toRadix=Z2;S.prototype.fromRadix=J2;S.prototype.fromNumber=j2;S.prototype.bitwiseTo=ib;S.prototype.changeBit=wb;S.prototype.addTo=bb;S.prototype.dMultiply=Cb;S.prototype.dAddOffset=Bb;S.prototype.multiplyLowerTo=Nb;S.prototype.multiplyUpperTo=kb;S.prototype.modInt=$b;S.prototype.millerRabin=Yb;S.prototype.clone=H2;S.prototype.intValue=G2;S.prototype.byteValue=Y2;S.prototype.shortValue=W2;S.prototype.signum=X2;S.prototype.toByteArray=tb;S.prototype.equals=eb;S.prototype.min=rb;S.prototype.max=nb;S.prototype.and=ob;S.prototype.or=ab;S.prototype.xor=cb;S.prototype.andNot=ub;S.prototype.not=lb;S.prototype.shiftLeft=fb;S.prototype.shiftRight=hb;S.prototype.getLowestSetBit=pb;S.prototype.bitCount=yb;S.prototype.testBit=gb;S.prototype.setBit=Eb;S.prototype.clearBit=xb;S.prototype.flipBit=vb;S.prototype.add=_b;S.prototype.subtract=Sb;S.prototype.multiply=Ab;S.prototype.divide=Rb;S.prototype.remainder=Ib;S.prototype.divideAndRemainder=Tb;S.prototype.modPow=Vb;S.prototype.modInverse=zb;S.prototype.pow=Pb;S.prototype.gcd=qb;S.prototype.isProbablePrime=Gb});var Im=I((P4,Rm)=>{var cr=ut();Pn();Kt();var Sm=Rm.exports=cr.sha1=cr.sha1||{};cr.md.sha1=cr.md.algorithms.sha1=Sm;Sm.create=function(){Am||Qb();var r=null,t=cr.util.createBuffer(),e=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 i=n.messageLengthSize/4,s=0;s<i;++s)n.fullMessageLength.push(0);return t=cr.util.createBuffer(),r={h0:1732584193,h1:4023233417,h2:2562383102,h3:271733878,h4:3285377520},n},n.start(),n.update=function(i,s){s==="utf8"&&(i=cr.util.encodeUtf8(i));var o=i.length;n.messageLength+=o,o=[o/4294967296>>>0,o>>>0];for(var a=n.fullMessageLength.length-1;a>=0;--a)n.fullMessageLength[a]+=o[1],o[1]=o[0]+(n.fullMessageLength[a]/4294967296>>>0),n.fullMessageLength[a]=n.fullMessageLength[a]>>>0,o[0]=o[1]/4294967296>>>0;return t.putBytes(i),_m(r,e,t),(t.read>2048||t.length()===0)&&t.compact(),n},n.digest=function(){var i=cr.util.createBuffer();i.putBytes(t.bytes());var s=n.fullMessageLength[n.fullMessageLength.length-1]+n.messageLengthSize,o=s&n.blockLength-1;i.putBytes(vl.substr(0,n.blockLength-o));for(var a,c,u=n.fullMessageLength[0]*8,l=0;l<n.fullMessageLength.length-1;++l)a=n.fullMessageLength[l+1]*8,c=a/4294967296>>>0,u+=c,i.putInt32(u>>>0),u=a>>>0;i.putInt32(u);var f={h0:r.h0,h1:r.h1,h2:r.h2,h3:r.h3,h4:r.h4};_m(f,e,i);var d=cr.util.createBuffer();return d.putInt32(f.h0),d.putInt32(f.h1),d.putInt32(f.h2),d.putInt32(f.h3),d.putInt32(f.h4),d},n};var vl=null,Am=!1;function Qb(){vl=String.fromCharCode(128),vl+=cr.util.fillString(String.fromCharCode(0),64),Am=!0}function _m(r,t,e){for(var n,i,s,o,a,c,u,l,f=e.length();f>=64;){for(i=r.h0,s=r.h1,o=r.h2,a=r.h3,c=r.h4,l=0;l<16;++l)n=e.getInt32(),t[l]=n,u=a^s&(o^a),n=(i<<5|i>>>27)+u+c+1518500249+n,c=a,a=o,o=(s<<30|s>>>2)>>>0,s=i,i=n;for(;l<20;++l)n=t[l-3]^t[l-8]^t[l-14]^t[l-16],n=n<<1|n>>>31,t[l]=n,u=a^s&(o^a),n=(i<<5|i>>>27)+u+c+1518500249+n,c=a,a=o,o=(s<<30|s>>>2)>>>0,s=i,i=n;for(;l<32;++l)n=t[l-3]^t[l-8]^t[l-14]^t[l-16],n=n<<1|n>>>31,t[l]=n,u=s^o^a,n=(i<<5|i>>>27)+u+c+1859775393+n,c=a,a=o,o=(s<<30|s>>>2)>>>0,s=i,i=n;for(;l<40;++l)n=t[l-6]^t[l-16]^t[l-28]^t[l-32],n=n<<2|n>>>30,t[l]=n,u=s^o^a,n=(i<<5|i>>>27)+u+c+1859775393+n,c=a,a=o,o=(s<<30|s>>>2)>>>0,s=i,i=n;for(;l<60;++l)n=t[l-6]^t[l-16]^t[l-28]^t[l-32],n=n<<2|n>>>30,t[l]=n,u=s&o|a&(s^o),n=(i<<5|i>>>27)+u+c+2400959708+n,c=a,a=o,o=(s<<30|s>>>2)>>>0,s=i,i=n;for(;l<80;++l)n=t[l-6]^t[l-16]^t[l-28]^t[l-32],n=n<<2|n>>>30,t[l]=n,u=s^o^a,n=(i<<5|i>>>27)+u+c+3395469782+n,c=a,a=o,o=(s<<30|s>>>2)>>>0,s=i,i=n;r.h0=r.h0+i|0,r.h1=r.h1+s|0,r.h2=r.h2+o|0,r.h3=r.h3+a|0,r.h4=r.h4+c|0,f-=64}}});var Bm=I((N4,Cm)=>{var ur=ut();Kt();ds();Im();var Tm=Cm.exports=ur.pkcs1=ur.pkcs1||{};Tm.encode_rsa_oaep=function(r,t,e){var n,i,s,o;typeof e=="string"?(n=e,i=arguments[3]||void 0,s=arguments[4]||void 0):e&&(n=e.label||void 0,i=e.seed||void 0,s=e.md||void 0,e.mgf1&&e.mgf1.md&&(o=e.mgf1.md)),s?s.start():s=ur.md.sha1.create(),o||(o=s);var a=Math.ceil(r.n.bitLength()/8),c=a-2*s.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=""),s.update(n,"raw");for(var l=s.digest(),f="",d=c-t.length,h=0;h<d;h++)f+="\0";var p=l.getBytes()+f+""+t;if(!i)i=ur.random.getBytes(s.digestLength);else if(i.length!==s.digestLength){var u=new Error("Invalid RSAES-OAEP seed. The seed length must match the digest length.");throw u.seedLength=i.length,u.digestLength=s.digestLength,u}var m=fa(i,a-s.digestLength-1,o),y=ur.util.xorBytes(p,m,p.length),g=fa(y,s.digestLength,o),E=ur.util.xorBytes(i,g,i.length);return"\0"+E+y};Tm.decode_rsa_oaep=function(r,t,e){var n,i,s;typeof e=="string"?(n=e,i=arguments[3]||void 0):e&&(n=e.label||void 0,i=e.md||void 0,e.mgf1&&e.mgf1.md&&(s=e.mgf1.md));var o=Math.ceil(r.n.bitLength()/8);if(t.length!==o){var y=new Error("RSAES-OAEP encoded message length is invalid.");throw y.length=t.length,y.expectedLength=o,y}if(i===void 0?i=ur.md.sha1.create():i.start(),s||(s=i),o<2*i.digestLength+2)throw new Error("RSAES-OAEP key is too short for the hash function.");n||(n=""),i.update(n,"raw");for(var a=i.digest().getBytes(),c=t.charAt(0),u=t.substring(1,i.digestLength+1),l=t.substring(1+i.digestLength),f=fa(l,i.digestLength,s),d=ur.util.xorBytes(u,f,u.length),h=fa(d,o-i.digestLength-1,s),p=ur.util.xorBytes(l,h,l.length),m=p.substring(0,i.digestLength),y=c!=="\0",g=0;g<i.digestLength;++g)y|=a.charAt(g)!==m.charAt(g);for(var E=1,b=i.digestLength,O=i.digestLength;O<p.length;O++){var B=p.charCodeAt(O),D=B&1^1,Q=E?65534:0;y|=B&Q,E=E&D,b+=E}if(y||p.charCodeAt(b)!==1)throw new Error("Invalid RSAES-OAEP padding.");return p.substring(b+1)};function fa(r,t,e){e||(e=ur.md.sha1.create());for(var n="",i=Math.ceil(t/e.digestLength),s=0;s<i;++s){var o=String.fromCharCode(s>>24&255,s>>16&255,s>>8&255,s&255);e.start(),e.update(r+o),n+=e.digest().getBytes()}return n.substring(0,t)}});var Dm=I((k4,bl)=>{var jr=ut();Kt();la();ds();(function(){if(jr.prime){bl.exports=jr.prime;return}var r=bl.exports=jr.prime=jr.prime||{},t=jr.jsbn.BigInteger,e=[6,4,2,4,2,4,6,2],n=new t(null);n.fromInt(30);var i=function(f,d){return f|d};r.generateProbablePrime=function(f,d,h){typeof d=="function"&&(h=d,d={}),d=d||{};var p=d.algorithm||"PRIMEINC";typeof p=="string"&&(p={name:p}),p.options=p.options||{};var m=d.prng||jr.random,y={nextBytes:function(g){for(var E=m.getBytesSync(g.length),b=0;b<g.length;++b)g[b]=E.charCodeAt(b)}};if(p.name==="PRIMEINC")return s(f,y,p.options,h);throw new Error("Invalid prime generation algorithm: "+p.name)};function s(f,d,h,p){return"workers"in h?c(f,d,h,p):o(f,d,h,p)}function o(f,d,h,p){var m=u(f,d),y=0,g=l(m.bitLength());"millerRabinTests"in h&&(g=h.millerRabinTests);var E=10;"maxBlockTime"in h&&(E=h.maxBlockTime),a(m,f,d,y,g,E,p)}function a(f,d,h,p,m,y,g){var E=+new Date;do{if(f.bitLength()>d&&(f=u(d,h)),f.isProbablePrime(m))return g(null,f);f.dAddOffset(e[p++%8],0)}while(y<0||+new Date-E<y);jr.util.setImmediate(function(){a(f,d,h,p,m,y,g)})}function c(f,d,h,p){if(typeof Worker>"u")return o(f,d,h,p);var m=u(f,d),y=h.workers,g=h.workLoad||100,E=g*30/8,b=h.workerScript||"forge/prime.worker.js";if(y===-1)return jr.util.estimateCores(function(B,D){B&&(D=2),y=D-1,O()});O();function O(){y=Math.max(1,y);for(var B=[],D=0;D<y;++D)B[D]=new Worker(b);for(var Q=y,D=0;D<y;++D)B[D].addEventListener("message",Wt);var Z=!1;function Wt(Oe){if(!Z){--Q;var pe=Oe.data;if(pe.found){for(var oe=0;oe<B.length;++oe)B[oe].terminate();return Z=!0,p(null,new t(pe.prime,16))}m.bitLength()>f&&(m=u(f,d));var jn=m.toString(16);Oe.target.postMessage({hex:jn,workLoad:g}),m.dAddOffset(E,0)}}}}function u(f,d){var h=new t(f,d),p=f-1;return h.testBit(p)||h.bitwiseTo(t.ONE.shiftLeft(p),i,h),h.dAddOffset(31-h.mod(n).byteValue(),0),h}function l(f){return f<=100?27:f<=150?18:f<=200?15:f<=250?12:f<=300?9:f<=350?8:f<=400?7:f<=500?6:f<=600?5:f<=800?4:f<=1250?3:2}})()});var da=I((O4,Um)=>{var K=ut();hs();la();Zo();Bm();Dm();ds();Kt();typeof j>"u"&&(j=K.jsbn.BigInteger);var j,_l=K.util.isNodejs?Tn():null,x=K.asn1,De=K.util;K.pki=K.pki||{};Um.exports=K.pki.rsa=K.rsa=K.rsa||{};var q=K.pki,Xb=[6,4,2,4,2,4,6,2],Zb={name:"PrivateKeyInfo",tagClass:x.Class.UNIVERSAL,type:x.Type.SEQUENCE,constructed:!0,value:[{name:"PrivateKeyInfo.version",tagClass:x.Class.UNIVERSAL,type:x.Type.INTEGER,constructed:!1,capture:"privateKeyVersion"},{name:"PrivateKeyInfo.privateKeyAlgorithm",tagClass:x.Class.UNIVERSAL,type:x.Type.SEQUENCE,constructed:!0,value:[{name:"AlgorithmIdentifier.algorithm",tagClass:x.Class.UNIVERSAL,type:x.Type.OID,constructed:!1,capture:"privateKeyOid"}]},{name:"PrivateKeyInfo",tagClass:x.Class.UNIVERSAL,type:x.Type.OCTETSTRING,constructed:!1,capture:"privateKey"}]},Jb={name:"RSAPrivateKey",tagClass:x.Class.UNIVERSAL,type:x.Type.SEQUENCE,constructed:!0,value:[{name:"RSAPrivateKey.version",tagClass:x.Class.UNIVERSAL,type:x.Type.INTEGER,constructed:!1,capture:"privateKeyVersion"},{name:"RSAPrivateKey.modulus",tagClass:x.Class.UNIVERSAL,type:x.Type.INTEGER,constructed:!1,capture:"privateKeyModulus"},{name:"RSAPrivateKey.publicExponent",tagClass:x.Class.UNIVERSAL,type:x.Type.INTEGER,constructed:!1,capture:"privateKeyPublicExponent"},{name:"RSAPrivateKey.privateExponent",tagClass:x.Class.UNIVERSAL,type:x.Type.INTEGER,constructed:!1,capture:"privateKeyPrivateExponent"},{name:"RSAPrivateKey.prime1",tagClass:x.Class.UNIVERSAL,type:x.Type.INTEGER,constructed:!1,capture:"privateKeyPrime1"},{name:"RSAPrivateKey.prime2",tagClass:x.Class.UNIVERSAL,type:x.Type.INTEGER,constructed:!1,capture:"privateKeyPrime2"},{name:"RSAPrivateKey.exponent1",tagClass:x.Class.UNIVERSAL,type:x.Type.INTEGER,constructed:!1,capture:"privateKeyExponent1"},{name:"RSAPrivateKey.exponent2",tagClass:x.Class.UNIVERSAL,type:x.Type.INTEGER,constructed:!1,capture:"privateKeyExponent2"},{name:"RSAPrivateKey.coefficient",tagClass:x.Class.UNIVERSAL,type:x.Type.INTEGER,constructed:!1,capture:"privateKeyCoefficient"}]},jb={name:"RSAPublicKey",tagClass:x.Class.UNIVERSAL,type:x.Type.SEQUENCE,constructed:!0,value:[{name:"RSAPublicKey.modulus",tagClass:x.Class.UNIVERSAL,type:x.Type.INTEGER,constructed:!1,capture:"publicKeyModulus"},{name:"RSAPublicKey.exponent",tagClass:x.Class.UNIVERSAL,type:x.Type.INTEGER,constructed:!1,capture:"publicKeyExponent"}]},t_=K.pki.rsa.publicKeyValidator={name:"SubjectPublicKeyInfo",tagClass:x.Class.UNIVERSAL,type:x.Type.SEQUENCE,constructed:!0,captureAsn1:"subjectPublicKeyInfo",value:[{name:"SubjectPublicKeyInfo.AlgorithmIdentifier",tagClass:x.Class.UNIVERSAL,type:x.Type.SEQUENCE,constructed:!0,value:[{name:"AlgorithmIdentifier.algorithm",tagClass:x.Class.UNIVERSAL,type:x.Type.OID,constructed:!1,capture:"publicKeyOid"}]},{name:"SubjectPublicKeyInfo.subjectPublicKey",tagClass:x.Class.UNIVERSAL,type:x.Type.BITSTRING,constructed:!1,value:[{name:"SubjectPublicKeyInfo.subjectPublicKey.RSAPublicKey",tagClass:x.Class.UNIVERSAL,type:x.Type.SEQUENCE,constructed:!0,optional:!0,captureAsn1:"rsaPublicKey"}]}]},e_={name:"DigestInfo",tagClass:x.Class.UNIVERSAL,type:x.Type.SEQUENCE,constructed:!0,value:[{name:"DigestInfo.DigestAlgorithm",tagClass:x.Class.UNIVERSAL,type:x.Type.SEQUENCE,constructed:!0,value:[{name:"DigestInfo.DigestAlgorithm.algorithmIdentifier",tagClass:x.Class.UNIVERSAL,type:x.Type.OID,constructed:!1,capture:"algorithmIdentifier"},{name:"DigestInfo.DigestAlgorithm.parameters",tagClass:x.Class.UNIVERSAL,type:x.Type.NULL,capture:"parameters",optional:!0,constructed:!1}]},{name:"DigestInfo.digest",tagClass:x.Class.UNIVERSAL,type:x.Type.OCTETSTRING,constructed:!1,capture:"digest"}]},r_=function(r){var t;if(r.algorithm in q.oids)t=q.oids[r.algorithm];else{var e=new Error("Unknown message digest algorithm.");throw e.algorithm=r.algorithm,e}var n=x.oidToDer(t).getBytes(),i=x.create(x.Class.UNIVERSAL,x.Type.SEQUENCE,!0,[]),s=x.create(x.Class.UNIVERSAL,x.Type.SEQUENCE,!0,[]);s.value.push(x.create(x.Class.UNIVERSAL,x.Type.OID,!1,n)),s.value.push(x.create(x.Class.UNIVERSAL,x.Type.NULL,!1,""));var o=x.create(x.Class.UNIVERSAL,x.Type.OCTETSTRING,!1,r.digest().getBytes());return i.value.push(s),i.value.push(o),x.toDer(i).getBytes()},Om=function(r,t,e){if(e)return r.modPow(t.e,t.n);if(!t.p||!t.q)return r.modPow(t.d,t.n);t.dP||(t.dP=t.d.mod(t.p.subtract(j.ONE))),t.dQ||(t.dQ=t.d.mod(t.q.subtract(j.ONE))),t.qInv||(t.qInv=t.q.modInverse(t.p));var n;do n=new j(K.util.bytesToHex(K.random.getBytes(t.n.bitLength()/8)),16);while(n.compareTo(t.n)>=0||!n.gcd(t.n).equals(j.ONE));r=r.multiply(n.modPow(t.e,t.n)).mod(t.n);for(var i=r.mod(t.p).modPow(t.dP,t.p),s=r.mod(t.q).modPow(t.dQ,t.q);i.compareTo(s)<0;)i=i.add(t.p);var o=i.subtract(s).multiply(t.qInv).mod(t.p).multiply(t.q).add(s);return o=o.multiply(n.modInverse(t.n)).mod(t.n),o};q.rsa.encrypt=function(r,t,e){var n=e,i,s=Math.ceil(t.n.bitLength()/8);e!==!1&&e!==!0?(n=e===2,i=Mm(r,t,e)):(i=K.util.createBuffer(),i.putBytes(r));for(var o=new j(i.toHex(),16),a=Om(o,t,n),c=a.toString(16),u=K.util.createBuffer(),l=s-Math.ceil(c.length/2);l>0;)u.putByte(0),--l;return u.putBytes(K.util.hexToBytes(c)),u.getBytes()};q.rsa.decrypt=function(r,t,e,n){var i=Math.ceil(t.n.bitLength()/8);if(r.length!==i){var s=new Error("Encrypted message length is invalid.");throw s.length=r.length,s.expected=i,s}var o=new j(K.util.createBuffer(r).toHex(),16);if(o.compareTo(t.n)>=0)throw new Error("Encrypted message is invalid.");for(var a=Om(o,t,e),c=a.toString(16),u=K.util.createBuffer(),l=i-Math.ceil(c.length/2);l>0;)u.putByte(0),--l;return u.putBytes(K.util.hexToBytes(c)),n!==!1?ha(u.getBytes(),t,e):u.getBytes()};q.rsa.createKeyPairGenerationState=function(r,t,e){typeof r=="string"&&(r=parseInt(r,10)),r=r||2048,e=e||{};var n=e.prng||K.random,i={nextBytes:function(a){for(var c=n.getBytesSync(a.length),u=0;u<a.length;++u)a[u]=c.charCodeAt(u)}},s=e.algorithm||"PRIMEINC",o;if(s==="PRIMEINC")o={algorithm:s,state:0,bits:r,rng:i,eInt:t||65537,e:new j(null),p:null,q:null,qBits:r>>1,pBits:r-(r>>1),pqState:0,num:null,keys:null},o.e.fromInt(o.eInt);else throw new Error("Invalid key generation algorithm: "+s);return o};q.rsa.stepKeyPairGenerationState=function(r,t){"algorithm"in r||(r.algorithm="PRIMEINC");var e=new j(null);e.fromInt(30);for(var n=0,i=function(f,d){return f|d},s=+new Date,o,a=0;r.keys===null&&(t<=0||a<t);){if(r.state===0){var c=r.p===null?r.pBits:r.qBits,u=c-1;r.pqState===0?(r.num=new j(c,r.rng),r.num.testBit(u)||r.num.bitwiseTo(j.ONE.shiftLeft(u),i,r.num),r.num.dAddOffset(31-r.num.mod(e).byteValue(),0),n=0,++r.pqState):r.pqState===1?r.num.bitLength()>c?r.pqState=0:r.num.isProbablePrime(i_(r.num.bitLength()))?++r.pqState:r.num.dAddOffset(Xb[n++%8],0):r.pqState===2?r.pqState=r.num.subtract(j.ONE).gcd(r.e).compareTo(j.ONE)===0?3:0:r.pqState===3&&(r.pqState=0,r.p===null?r.p=r.num:r.q=r.num,r.p!==null&&r.q!==null&&++r.state,r.num=null)}else if(r.state===1)r.p.compareTo(r.q)<0&&(r.num=r.p,r.p=r.q,r.q=r.num),++r.state;else if(r.state===2)r.p1=r.p.subtract(j.ONE),r.q1=r.q.subtract(j.ONE),r.phi=r.p1.multiply(r.q1),++r.state;else if(r.state===3)r.phi.gcd(r.e).compareTo(j.ONE)===0?++r.state:(r.p=null,r.q=null,r.state=0);else if(r.state===4)r.n=r.p.multiply(r.q),r.n.bitLength()===r.bits?++r.state:(r.q=null,r.state=0);else if(r.state===5){var l=r.e.modInverse(r.phi);r.keys={privateKey:q.rsa.setPrivateKey(r.n,r.e,l,r.p,r.q,l.mod(r.p1),l.mod(r.q1),r.q.modInverse(r.p)),publicKey:q.rsa.setPublicKey(r.n,r.e)}}o=+new Date,a+=o-s,s=o}return r.keys!==null};q.rsa.generateKeyPair=function(r,t,e,n){if(arguments.length===1?typeof r=="object"?(e=r,r=void 0):typeof r=="function"&&(n=r,r=void 0):arguments.length===2?typeof r=="number"?typeof t=="function"?(n=t,t=void 0):typeof t!="number"&&(e=t,t=void 0):(e=r,n=t,r=void 0,t=void 0):arguments.length===3&&(typeof t=="number"?typeof e=="function"&&(n=e,e=void 0):(n=e,e=t,t=void 0)),e=e||{},r===void 0&&(r=e.bits||2048),t===void 0&&(t=e.e||65537),!K.options.usePureJavaScript&&!e.prng&&r>=256&&r<=16384&&(t===65537||t===3)){if(n){if(Lm("generateKeyPair"))return _l.generateKeyPair("rsa",{modulusLength:r,publicExponent:t,publicKeyEncoding:{type:"spki",format:"pem"},privateKeyEncoding:{type:"pkcs8",format:"pem"}},function(a,c,u){if(a)return n(a);n(null,{privateKey:q.privateKeyFromPem(u),publicKey:q.publicKeyFromPem(c)})});if(Pm("generateKey")&&Pm("exportKey"))return De.globalScope.crypto.subtle.generateKey({name:"RSASSA-PKCS1-v1_5",modulusLength:r,publicExponent:km(t),hash:{name:"SHA-256"}},!0,["sign","verify"]).then(function(a){return De.globalScope.crypto.subtle.exportKey("pkcs8",a.privateKey)}).then(void 0,function(a){n(a)}).then(function(a){if(a){var c=q.privateKeyFromAsn1(x.fromDer(K.util.createBuffer(a)));n(null,{privateKey:c,publicKey:q.setRsaPublicKey(c.n,c.e)})}});if(Nm("generateKey")&&Nm("exportKey")){var i=De.globalScope.msCrypto.subtle.generateKey({name:"RSASSA-PKCS1-v1_5",modulusLength:r,publicExponent:km(t),hash:{name:"SHA-256"}},!0,["sign","verify"]);i.oncomplete=function(a){var c=a.target.result,u=De.globalScope.msCrypto.subtle.exportKey("pkcs8",c.privateKey);u.oncomplete=function(l){var f=l.target.result,d=q.privateKeyFromAsn1(x.fromDer(K.util.createBuffer(f)));n(null,{privateKey:d,publicKey:q.setRsaPublicKey(d.n,d.e)})},u.onerror=function(l){n(l)}},i.onerror=function(a){n(a)};return}}else if(Lm("generateKeyPairSync")){var s=_l.generateKeyPairSync("rsa",{modulusLength:r,publicExponent:t,publicKeyEncoding:{type:"spki",format:"pem"},privateKeyEncoding:{type:"pkcs8",format:"pem"}});return{privateKey:q.privateKeyFromPem(s.privateKey),publicKey:q.publicKeyFromPem(s.publicKey)}}}var o=q.rsa.createKeyPairGenerationState(r,t,e);if(!n)return q.rsa.stepKeyPairGenerationState(o,0),o.keys;n_(o,e,n)};q.setRsaPublicKey=q.rsa.setPublicKey=function(r,t){var e={n:r,e:t};return e.encrypt=function(n,i,s){if(typeof i=="string"?i=i.toUpperCase():i===void 0&&(i="RSAES-PKCS1-V1_5"),i==="RSAES-PKCS1-V1_5")i={encode:function(a,c,u){return Mm(a,c,2).getBytes()}};else if(i==="RSA-OAEP"||i==="RSAES-OAEP")i={encode:function(a,c){return K.pkcs1.encode_rsa_oaep(c,a,s)}};else if(["RAW","NONE","NULL",null].indexOf(i)!==-1)i={encode:function(a){return a}};else if(typeof i=="string")throw new Error('Unsupported encryption scheme: "'+i+'".');var o=i.encode(n,e,!0);return q.rsa.encrypt(o,e,!0)},e.verify=function(n,i,s,o){typeof s=="string"?s=s.toUpperCase():s===void 0&&(s="RSASSA-PKCS1-V1_5"),o===void 0&&(o={_parseAllDigestBytes:!0}),"_parseAllDigestBytes"in o||(o._parseAllDigestBytes=!0),s==="RSASSA-PKCS1-V1_5"?s={verify:function(c,u){u=ha(u,e,!0);var l=x.fromDer(u,{parseAllBytes:o._parseAllDigestBytes}),f={},d=[];if(!x.validate(l,e_,f,d)){var h=new Error("ASN.1 object does not contain a valid RSASSA-PKCS1-v1_5 DigestInfo value.");throw h.errors=d,h}var p=x.derToOid(f.algorithmIdentifier);if(!(p===K.oids.md2||p===K.oids.md5||p===K.oids.sha1||p===K.oids.sha224||p===K.oids.sha256||p===K.oids.sha384||p===K.oids.sha512||p===K.oids["sha512-224"]||p===K.oids["sha512-256"])){var h=new Error("Unknown RSASSA-PKCS1-v1_5 DigestAlgorithm identifier.");throw h.oid=p,h}if((p===K.oids.md2||p===K.oids.md5)&&!("parameters"in f))throw new Error("ASN.1 object does not contain a valid RSASSA-PKCS1-v1_5 DigestInfo value. Missing algorithm identifer NULL parameters.");return c===f.digest}}:(s==="NONE"||s==="NULL"||s===null)&&(s={verify:function(c,u){return u=ha(u,e,!0),c===u}});var a=q.rsa.decrypt(i,e,!0,!1);return s.verify(n,a,e.n.bitLength())},e};q.setRsaPrivateKey=q.rsa.setPrivateKey=function(r,t,e,n,i,s,o,a){var c={n:r,e:t,d:e,p:n,q:i,dP:s,dQ:o,qInv:a};return c.decrypt=function(u,l,f){typeof l=="string"?l=l.toUpperCase():l===void 0&&(l="RSAES-PKCS1-V1_5");var d=q.rsa.decrypt(u,c,!1,!1);if(l==="RSAES-PKCS1-V1_5")l={decode:ha};else if(l==="RSA-OAEP"||l==="RSAES-OAEP")l={decode:function(h,p){return K.pkcs1.decode_rsa_oaep(p,h,f)}};else if(["RAW","NONE","NULL",null].indexOf(l)!==-1)l={decode:function(h){return h}};else throw new Error('Unsupported encryption scheme: "'+l+'".');return l.decode(d,c,!1)},c.sign=function(u,l){var f=!1;typeof l=="string"&&(l=l.toUpperCase()),l===void 0||l==="RSASSA-PKCS1-V1_5"?(l={encode:r_},f=1):(l==="NONE"||l==="NULL"||l===null)&&(l={encode:function(){return u}},f=1);var d=l.encode(u,c.n.bitLength());return q.rsa.encrypt(d,c,f)},c};q.wrapRsaPrivateKey=function(r){return x.create(x.Class.UNIVERSAL,x.Type.SEQUENCE,!0,[x.create(x.Class.UNIVERSAL,x.Type.INTEGER,!1,x.integerToDer(0).getBytes()),x.create(x.Class.UNIVERSAL,x.Type.SEQUENCE,!0,[x.create(x.Class.UNIVERSAL,x.Type.OID,!1,x.oidToDer(q.oids.rsaEncryption).getBytes()),x.create(x.Class.UNIVERSAL,x.Type.NULL,!1,"")]),x.create(x.Class.UNIVERSAL,x.Type.OCTETSTRING,!1,x.toDer(r).getBytes())])};q.privateKeyFromAsn1=function(r){var t={},e=[];if(x.validate(r,Zb,t,e)&&(r=x.fromDer(K.util.createBuffer(t.privateKey))),t={},e=[],!x.validate(r,Jb,t,e)){var n=new Error("Cannot read private key. ASN.1 object does not contain an RSAPrivateKey.");throw n.errors=e,n}var i,s,o,a,c,u,l,f;return i=K.util.createBuffer(t.privateKeyModulus).toHex(),s=K.util.createBuffer(t.privateKeyPublicExponent).toHex(),o=K.util.createBuffer(t.privateKeyPrivateExponent).toHex(),a=K.util.createBuffer(t.privateKeyPrime1).toHex(),c=K.util.createBuffer(t.privateKeyPrime2).toHex(),u=K.util.createBuffer(t.privateKeyExponent1).toHex(),l=K.util.createBuffer(t.privateKeyExponent2).toHex(),f=K.util.createBuffer(t.privateKeyCoefficient).toHex(),q.setRsaPrivateKey(new j(i,16),new j(s,16),new j(o,16),new j(a,16),new j(c,16),new j(u,16),new j(l,16),new j(f,16))};q.privateKeyToAsn1=q.privateKeyToRSAPrivateKey=function(r){return x.create(x.Class.UNIVERSAL,x.Type.SEQUENCE,!0,[x.create(x.Class.UNIVERSAL,x.Type.INTEGER,!1,x.integerToDer(0).getBytes()),x.create(x.Class.UNIVERSAL,x.Type.INTEGER,!1,lr(r.n)),x.create(x.Class.UNIVERSAL,x.Type.INTEGER,!1,lr(r.e)),x.create(x.Class.UNIVERSAL,x.Type.INTEGER,!1,lr(r.d)),x.create(x.Class.UNIVERSAL,x.Type.INTEGER,!1,lr(r.p)),x.create(x.Class.UNIVERSAL,x.Type.INTEGER,!1,lr(r.q)),x.create(x.Class.UNIVERSAL,x.Type.INTEGER,!1,lr(r.dP)),x.create(x.Class.UNIVERSAL,x.Type.INTEGER,!1,lr(r.dQ)),x.create(x.Class.UNIVERSAL,x.Type.INTEGER,!1,lr(r.qInv))])};q.publicKeyFromAsn1=function(r){var t={},e=[];if(x.validate(r,t_,t,e)){var n=x.derToOid(t.publicKeyOid);if(n!==q.oids.rsaEncryption){var i=new Error("Cannot read public key. Unknown OID.");throw i.oid=n,i}r=t.rsaPublicKey}if(e=[],!x.validate(r,jb,t,e)){var i=new Error("Cannot read public key. ASN.1 object does not contain an RSAPublicKey.");throw i.errors=e,i}var s=K.util.createBuffer(t.publicKeyModulus).toHex(),o=K.util.createBuffer(t.publicKeyExponent).toHex();return q.setRsaPublicKey(new j(s,16),new j(o,16))};q.publicKeyToAsn1=q.publicKeyToSubjectPublicKeyInfo=function(r){return x.create(x.Class.UNIVERSAL,x.Type.SEQUENCE,!0,[x.create(x.Class.UNIVERSAL,x.Type.SEQUENCE,!0,[x.create(x.Class.UNIVERSAL,x.Type.OID,!1,x.oidToDer(q.oids.rsaEncryption).getBytes()),x.create(x.Class.UNIVERSAL,x.Type.NULL,!1,"")]),x.create(x.Class.UNIVERSAL,x.Type.BITSTRING,!1,[q.publicKeyToRSAPublicKey(r)])])};q.publicKeyToRSAPublicKey=function(r){return x.create(x.Class.UNIVERSAL,x.Type.SEQUENCE,!0,[x.create(x.Class.UNIVERSAL,x.Type.INTEGER,!1,lr(r.n)),x.create(x.Class.UNIVERSAL,x.Type.INTEGER,!1,lr(r.e))])};function Mm(r,t,e){var n=K.util.createBuffer(),i=Math.ceil(t.n.bitLength()/8);if(r.length>i-11){var s=new Error("Message is too long for PKCS#1 v1.5 padding.");throw s.length=r.length,s.max=i-11,s}n.putByte(0),n.putByte(e);var o=i-3-r.length,a;if(e===0||e===1){a=e===0?0:255;for(var c=0;c<o;++c)n.putByte(a)}else for(;o>0;){for(var u=0,l=K.random.getBytes(o),c=0;c<o;++c)a=l.charCodeAt(c),a===0?++u:n.putByte(a);o=u}return n.putByte(0),n.putBytes(r),n}function ha(r,t,e,n){var i=Math.ceil(t.n.bitLength()/8),s=K.util.createBuffer(r),o=s.getByte(),a=s.getByte();if(o!==0||e&&a!==0&&a!==1||!e&&a!=2||e&&a===0&&typeof n>"u")throw new Error("Encryption block is invalid.");var c=0;if(a===0){c=i-3-n;for(var u=0;u<c;++u)if(s.getByte()!==0)throw new Error("Encryption block is invalid.")}else if(a===1)for(c=0;s.length()>1;){if(s.getByte()!==255){--s.read;break}++c}else if(a===2)for(c=0;s.length()>1;){if(s.getByte()===0){--s.read;break}++c}var l=s.getByte();if(l!==0||c!==i-3-s.length())throw new Error("Encryption block is invalid.");return s.getBytes()}function n_(r,t,e){typeof t=="function"&&(e=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),i();function i(){s(r.pBits,function(a,c){if(a)return e(a);if(r.p=c,r.q!==null)return o(a,r.q);s(r.qBits,o)})}function s(a,c){K.prime.generateProbablePrime(a,n,c)}function o(a,c){if(a)return e(a);if(r.q=c,r.p.compareTo(r.q)<0){var u=r.p;r.p=r.q,r.q=u}if(r.p.subtract(j.ONE).gcd(r.e).compareTo(j.ONE)!==0){r.p=null,i();return}if(r.q.subtract(j.ONE).gcd(r.e).compareTo(j.ONE)!==0){r.q=null,s(r.qBits,o);return}if(r.p1=r.p.subtract(j.ONE),r.q1=r.q.subtract(j.ONE),r.phi=r.p1.multiply(r.q1),r.phi.gcd(r.e).compareTo(j.ONE)!==0){r.p=r.q=null,i();return}if(r.n=r.p.multiply(r.q),r.n.bitLength()!==r.bits){r.q=null,s(r.qBits,o);return}var l=r.e.modInverse(r.phi);r.keys={privateKey:q.rsa.setPrivateKey(r.n,r.e,l,r.p,r.q,l.mod(r.p1),l.mod(r.q1),r.q.modInverse(r.p)),publicKey:q.rsa.setPublicKey(r.n,r.e)},e(null,r.keys)}}function lr(r){var t=r.toString(16);t[0]>="8"&&(t="00"+t);var e=K.util.hexToBytes(t);return e.length>1&&(e.charCodeAt(0)===0&&!(e.charCodeAt(1)&128)||e.charCodeAt(0)===255&&(e.charCodeAt(1)&128)===128)?e.substr(1):e}function i_(r){return r<=100?27:r<=150?18:r<=200?15:r<=250?12:r<=300?9:r<=350?8:r<=400?7:r<=500?6:r<=600?5:r<=800?4:r<=1250?3:2}function Lm(r){return K.util.isNodejs&&typeof _l[r]=="function"}function Pm(r){return typeof De.globalScope<"u"&&typeof De.globalScope.crypto=="object"&&typeof De.globalScope.crypto.subtle=="object"&&typeof De.globalScope.crypto.subtle[r]=="function"}function Nm(r){return typeof De.globalScope<"u"&&typeof De.globalScope.msCrypto=="object"&&typeof De.globalScope.msCrypto.subtle=="object"&&typeof De.globalScope.msCrypto.subtle[r]=="function"}function km(r){for(var t=K.util.hexToBytes(r.toString(16)),e=new Uint8Array(t.length),n=0;n<t.length;++n)e[n]=t.charCodeAt(n);return e}});var zm=I((M4,$m)=>{var P=ut();ra();hs();Qp();Pn();Zo();pl();rm();ds();pm();da();Kt();typeof Fm>"u"&&(Fm=P.jsbn.BigInteger);var Fm,v=P.asn1,H=P.pki=P.pki||{};$m.exports=H.pbe=P.pbe=P.pbe||{};var On=H.oids,s_={name:"EncryptedPrivateKeyInfo",tagClass:v.Class.UNIVERSAL,type:v.Type.SEQUENCE,constructed:!0,value:[{name:"EncryptedPrivateKeyInfo.encryptionAlgorithm",tagClass:v.Class.UNIVERSAL,type:v.Type.SEQUENCE,constructed:!0,value:[{name:"AlgorithmIdentifier.algorithm",tagClass:v.Class.UNIVERSAL,type:v.Type.OID,constructed:!1,capture:"encryptionOid"},{name:"AlgorithmIdentifier.parameters",tagClass:v.Class.UNIVERSAL,type:v.Type.SEQUENCE,constructed:!0,captureAsn1:"encryptionParams"}]},{name:"EncryptedPrivateKeyInfo.encryptedData",tagClass:v.Class.UNIVERSAL,type:v.Type.OCTETSTRING,constructed:!1,capture:"encryptedData"}]},o_={name:"PBES2Algorithms",tagClass:v.Class.UNIVERSAL,type:v.Type.SEQUENCE,constructed:!0,value:[{name:"PBES2Algorithms.keyDerivationFunc",tagClass:v.Class.UNIVERSAL,type:v.Type.SEQUENCE,constructed:!0,value:[{name:"PBES2Algorithms.keyDerivationFunc.oid",tagClass:v.Class.UNIVERSAL,type:v.Type.OID,constructed:!1,capture:"kdfOid"},{name:"PBES2Algorithms.params",tagClass:v.Class.UNIVERSAL,type:v.Type.SEQUENCE,constructed:!0,value:[{name:"PBES2Algorithms.params.salt",tagClass:v.Class.UNIVERSAL,type:v.Type.OCTETSTRING,constructed:!1,capture:"kdfSalt"},{name:"PBES2Algorithms.params.iterationCount",tagClass:v.Class.UNIVERSAL,type:v.Type.INTEGER,constructed:!1,capture:"kdfIterationCount"},{name:"PBES2Algorithms.params.keyLength",tagClass:v.Class.UNIVERSAL,type:v.Type.INTEGER,constructed:!1,optional:!0,capture:"keyLength"},{name:"PBES2Algorithms.params.prf",tagClass:v.Class.UNIVERSAL,type:v.Type.SEQUENCE,constructed:!0,optional:!0,value:[{name:"PBES2Algorithms.params.prf.algorithm",tagClass:v.Class.UNIVERSAL,type:v.Type.OID,constructed:!1,capture:"prfOid"}]}]}]},{name:"PBES2Algorithms.encryptionScheme",tagClass:v.Class.UNIVERSAL,type:v.Type.SEQUENCE,constructed:!0,value:[{name:"PBES2Algorithms.encryptionScheme.oid",tagClass:v.Class.UNIVERSAL,type:v.Type.OID,constructed:!1,capture:"encOid"},{name:"PBES2Algorithms.encryptionScheme.iv",tagClass:v.Class.UNIVERSAL,type:v.Type.OCTETSTRING,constructed:!1,capture:"encIv"}]}]},a_={name:"pkcs-12PbeParams",tagClass:v.Class.UNIVERSAL,type:v.Type.SEQUENCE,constructed:!0,value:[{name:"pkcs-12PbeParams.salt",tagClass:v.Class.UNIVERSAL,type:v.Type.OCTETSTRING,constructed:!1,capture:"salt"},{name:"pkcs-12PbeParams.iterations",tagClass:v.Class.UNIVERSAL,type:v.Type.INTEGER,constructed:!1,capture:"iterations"}]};H.encryptPrivateKeyInfo=function(r,t,e){e=e||{},e.saltSize=e.saltSize||8,e.count=e.count||2048,e.algorithm=e.algorithm||"aes128",e.prfAlgorithm=e.prfAlgorithm||"sha1";var n=P.random.getBytesSync(e.saltSize),i=e.count,s=v.integerToDer(i),o,a,c;if(e.algorithm.indexOf("aes")===0||e.algorithm==="des"){var u,l,f;switch(e.algorithm){case"aes128":o=16,u=16,l=On["aes128-CBC"],f=P.aes.createEncryptionCipher;break;case"aes192":o=24,u=16,l=On["aes192-CBC"],f=P.aes.createEncryptionCipher;break;case"aes256":o=32,u=16,l=On["aes256-CBC"],f=P.aes.createEncryptionCipher;break;case"des":o=8,u=8,l=On.desCBC,f=P.des.createEncryptionCipher;break;default:var d=new Error("Cannot encrypt private key. Unknown encryption algorithm.");throw d.algorithm=e.algorithm,d}var h="hmacWith"+e.prfAlgorithm.toUpperCase(),p=qm(h),m=P.pkcs5.pbkdf2(t,n,i,o,p),y=P.random.getBytesSync(u),g=f(m);g.start(y),g.update(v.toDer(r)),g.finish(),c=g.output.getBytes();var E=c_(n,s,o,h);a=v.create(v.Class.UNIVERSAL,v.Type.SEQUENCE,!0,[v.create(v.Class.UNIVERSAL,v.Type.OID,!1,v.oidToDer(On.pkcs5PBES2).getBytes()),v.create(v.Class.UNIVERSAL,v.Type.SEQUENCE,!0,[v.create(v.Class.UNIVERSAL,v.Type.SEQUENCE,!0,[v.create(v.Class.UNIVERSAL,v.Type.OID,!1,v.oidToDer(On.pkcs5PBKDF2).getBytes()),E]),v.create(v.Class.UNIVERSAL,v.Type.SEQUENCE,!0,[v.create(v.Class.UNIVERSAL,v.Type.OID,!1,v.oidToDer(l).getBytes()),v.create(v.Class.UNIVERSAL,v.Type.OCTETSTRING,!1,y)])])])}else if(e.algorithm==="3des"){o=24;var b=new P.util.ByteBuffer(n),m=H.pbe.generatePkcs12Key(t,b,1,i,o),y=H.pbe.generatePkcs12Key(t,b,2,i,o),g=P.des.createEncryptionCipher(m);g.start(y),g.update(v.toDer(r)),g.finish(),c=g.output.getBytes(),a=v.create(v.Class.UNIVERSAL,v.Type.SEQUENCE,!0,[v.create(v.Class.UNIVERSAL,v.Type.OID,!1,v.oidToDer(On["pbeWithSHAAnd3-KeyTripleDES-CBC"]).getBytes()),v.create(v.Class.UNIVERSAL,v.Type.SEQUENCE,!0,[v.create(v.Class.UNIVERSAL,v.Type.OCTETSTRING,!1,n),v.create(v.Class.UNIVERSAL,v.Type.INTEGER,!1,s.getBytes())])])}else{var d=new Error("Cannot encrypt private key. Unknown encryption algorithm.");throw d.algorithm=e.algorithm,d}var O=v.create(v.Class.UNIVERSAL,v.Type.SEQUENCE,!0,[a,v.create(v.Class.UNIVERSAL,v.Type.OCTETSTRING,!1,c)]);return O};H.decryptPrivateKeyInfo=function(r,t){var e=null,n={},i=[];if(!v.validate(r,s_,n,i)){var s=new Error("Cannot read encrypted private key. ASN.1 object is not a supported EncryptedPrivateKeyInfo.");throw s.errors=i,s}var o=v.derToOid(n.encryptionOid),a=H.pbe.getCipher(o,n.encryptionParams,t),c=P.util.createBuffer(n.encryptedData);return a.update(c),a.finish()&&(e=v.fromDer(a.output)),e};H.encryptedPrivateKeyToPem=function(r,t){var e={type:"ENCRYPTED PRIVATE KEY",body:v.toDer(r).getBytes()};return P.pem.encode(e,{maxline:t})};H.encryptedPrivateKeyFromPem=function(r){var t=P.pem.decode(r)[0];if(t.type!=="ENCRYPTED PRIVATE KEY"){var e=new Error('Could not convert encrypted private key from PEM; PEM header type is "ENCRYPTED PRIVATE KEY".');throw e.headerType=t.type,e}if(t.procType&&t.procType.type==="ENCRYPTED")throw new Error("Could not convert encrypted private key from PEM; PEM is encrypted.");return v.fromDer(t.body)};H.encryptRsaPrivateKey=function(r,t,e){if(e=e||{},!e.legacy){var n=H.wrapRsaPrivateKey(H.privateKeyToAsn1(r));return n=H.encryptPrivateKeyInfo(n,t,e),H.encryptedPrivateKeyToPem(n)}var i,s,o,a;switch(e.algorithm){case"aes128":i="AES-128-CBC",o=16,s=P.random.getBytesSync(16),a=P.aes.createEncryptionCipher;break;case"aes192":i="AES-192-CBC",o=24,s=P.random.getBytesSync(16),a=P.aes.createEncryptionCipher;break;case"aes256":i="AES-256-CBC",o=32,s=P.random.getBytesSync(16),a=P.aes.createEncryptionCipher;break;case"3des":i="DES-EDE3-CBC",o=24,s=P.random.getBytesSync(8),a=P.des.createEncryptionCipher;break;case"des":i="DES-CBC",o=8,s=P.random.getBytesSync(8),a=P.des.createEncryptionCipher;break;default:var c=new Error('Could not encrypt RSA private key; unsupported encryption algorithm "'+e.algorithm+'".');throw c.algorithm=e.algorithm,c}var u=P.pbe.opensslDeriveBytes(t,s.substr(0,8),o),l=a(u);l.start(s),l.update(v.toDer(H.privateKeyToAsn1(r))),l.finish();var f={type:"RSA PRIVATE KEY",procType:{version:"4",type:"ENCRYPTED"},dekInfo:{algorithm:i,parameters:P.util.bytesToHex(s).toUpperCase()},body:l.output.getBytes()};return P.pem.encode(f)};H.decryptRsaPrivateKey=function(r,t){var e=null,n=P.pem.decode(r)[0];if(n.type!=="ENCRYPTED PRIVATE KEY"&&n.type!=="PRIVATE KEY"&&n.type!=="RSA PRIVATE KEY"){var i=new Error('Could not convert private key from PEM; PEM header type is not "ENCRYPTED PRIVATE KEY", "PRIVATE KEY", or "RSA PRIVATE KEY".');throw i.headerType=i,i}if(n.procType&&n.procType.type==="ENCRYPTED"){var s,o;switch(n.dekInfo.algorithm){case"DES-CBC":s=8,o=P.des.createDecryptionCipher;break;case"DES-EDE3-CBC":s=24,o=P.des.createDecryptionCipher;break;case"AES-128-CBC":s=16,o=P.aes.createDecryptionCipher;break;case"AES-192-CBC":s=24,o=P.aes.createDecryptionCipher;break;case"AES-256-CBC":s=32,o=P.aes.createDecryptionCipher;break;case"RC2-40-CBC":s=5,o=function(f){return P.rc2.createDecryptionCipher(f,40)};break;case"RC2-64-CBC":s=8,o=function(f){return P.rc2.createDecryptionCipher(f,64)};break;case"RC2-128-CBC":s=16,o=function(f){return P.rc2.createDecryptionCipher(f,128)};break;default:var i=new Error('Could not decrypt private key; unsupported encryption algorithm "'+n.dekInfo.algorithm+'".');throw i.algorithm=n.dekInfo.algorithm,i}var a=P.util.hexToBytes(n.dekInfo.parameters),c=P.pbe.opensslDeriveBytes(t,a.substr(0,8),s),u=o(c);if(u.start(a),u.update(P.util.createBuffer(n.body)),u.finish())e=u.output.getBytes();else return e}else e=n.body;return n.type==="ENCRYPTED PRIVATE KEY"?e=H.decryptPrivateKeyInfo(v.fromDer(e),t):e=v.fromDer(e),e!==null&&(e=H.privateKeyFromAsn1(e)),e};H.pbe.generatePkcs12Key=function(r,t,e,n,i,s){var o,a;if(typeof s>"u"||s===null){if(!("sha1"in P.md))throw new Error('"sha1" hash algorithm unavailable.');s=P.md.sha1.create()}var c=s.digestLength,u=s.blockLength,l=new P.util.ByteBuffer,f=new P.util.ByteBuffer;if(r!=null){for(a=0;a<r.length;a++)f.putInt16(r.charCodeAt(a));f.putInt16(0)}var d=f.length(),h=t.length(),p=new P.util.ByteBuffer;p.fillWithByte(e,u);var m=u*Math.ceil(h/u),y=new P.util.ByteBuffer;for(a=0;a<m;a++)y.putByte(t.at(a%h));var g=u*Math.ceil(d/u),E=new P.util.ByteBuffer;for(a=0;a<g;a++)E.putByte(f.at(a%d));var b=y;b.putBuffer(E);for(var O=Math.ceil(i/c),B=1;B<=O;B++){var D=new P.util.ByteBuffer;D.putBytes(p.bytes()),D.putBytes(b.bytes());for(var Q=0;Q<n;Q++)s.start(),s.update(D.getBytes()),D=s.digest();var Z=new P.util.ByteBuffer;for(a=0;a<u;a++)Z.putByte(D.at(a%c));var Wt=Math.ceil(h/u)+Math.ceil(d/u),Oe=new P.util.ByteBuffer;for(o=0;o<Wt;o++){var pe=new P.util.ByteBuffer(b.getBytes(u)),oe=511;for(a=Z.length()-1;a>=0;a--)oe=oe>>8,oe+=Z.at(a)+pe.at(a),pe.setAt(a,oe&255);Oe.putBuffer(pe)}b=Oe,l.putBuffer(D)}return l.truncate(l.length()-i),l};H.pbe.getCipher=function(r,t,e){switch(r){case H.oids.pkcs5PBES2:return H.pbe.getCipherForPBES2(r,t,e);case H.oids["pbeWithSHAAnd3-KeyTripleDES-CBC"]:case H.oids["pbewithSHAAnd40BitRC2-CBC"]:return H.pbe.getCipherForPKCS12PBE(r,t,e);default:var n=new Error("Cannot read encrypted PBE data block. Unsupported OID.");throw n.oid=r,n.supportedOids=["pkcs5PBES2","pbeWithSHAAnd3-KeyTripleDES-CBC","pbewithSHAAnd40BitRC2-CBC"],n}};H.pbe.getCipherForPBES2=function(r,t,e){var n={},i=[];if(!v.validate(t,o_,n,i)){var s=new Error("Cannot read password-based-encryption algorithm parameters. ASN.1 object is not a supported EncryptedPrivateKeyInfo.");throw s.errors=i,s}if(r=v.derToOid(n.kdfOid),r!==H.oids.pkcs5PBKDF2){var s=new Error("Cannot read encrypted private key. Unsupported key derivation function OID.");throw s.oid=r,s.supportedOids=["pkcs5PBKDF2"],s}if(r=v.derToOid(n.encOid),r!==H.oids["aes128-CBC"]&&r!==H.oids["aes192-CBC"]&&r!==H.oids["aes256-CBC"]&&r!==H.oids["des-EDE3-CBC"]&&r!==H.oids.desCBC){var s=new Error("Cannot read encrypted private key. Unsupported encryption scheme OID.");throw s.oid=r,s.supportedOids=["aes128-CBC","aes192-CBC","aes256-CBC","des-EDE3-CBC","desCBC"],s}var o=n.kdfSalt,a=P.util.createBuffer(n.kdfIterationCount);a=a.getInt(a.length()<<3);var c,u;switch(H.oids[r]){case"aes128-CBC":c=16,u=P.aes.createDecryptionCipher;break;case"aes192-CBC":c=24,u=P.aes.createDecryptionCipher;break;case"aes256-CBC":c=32,u=P.aes.createDecryptionCipher;break;case"des-EDE3-CBC":c=24,u=P.des.createDecryptionCipher;break;case"desCBC":c=8,u=P.des.createDecryptionCipher;break}var l=Vm(n.prfOid),f=P.pkcs5.pbkdf2(e,o,a,c,l),d=n.encIv,h=u(f);return h.start(d),h};H.pbe.getCipherForPKCS12PBE=function(r,t,e){var n={},i=[];if(!v.validate(t,a_,n,i)){var s=new Error("Cannot read password-based-encryption algorithm parameters. ASN.1 object is not a supported EncryptedPrivateKeyInfo.");throw s.errors=i,s}var o=P.util.createBuffer(n.salt),a=P.util.createBuffer(n.iterations);a=a.getInt(a.length()<<3);var c,u,l;switch(r){case H.oids["pbeWithSHAAnd3-KeyTripleDES-CBC"]:c=24,u=8,l=P.des.startDecrypting;break;case H.oids["pbewithSHAAnd40BitRC2-CBC"]:c=5,u=8,l=function(m,y){var g=P.rc2.createDecryptionCipher(m,40);return g.start(y,null),g};break;default:var s=new Error("Cannot read PKCS #12 PBE data block. Unsupported OID.");throw s.oid=r,s}var f=Vm(n.prfOid),d=H.pbe.generatePkcs12Key(e,o,1,a,c,f);f.start();var h=H.pbe.generatePkcs12Key(e,o,2,a,u,f);return l(d,h)};H.pbe.opensslDeriveBytes=function(r,t,e,n){if(typeof n>"u"||n===null){if(!("md5"in P.md))throw new Error('"md5" hash algorithm unavailable.');n=P.md.md5.create()}t===null&&(t="");for(var i=[Km(n,r+t)],s=16,o=1;s<e;++o,s+=16)i.push(Km(n,i[o-1]+r+t));return i.join("").substr(0,e)};function Km(r,t){return r.start().update(t).digest().getBytes()}function Vm(r){var t;if(!r)t="hmacWithSHA1";else if(t=H.oids[v.derToOid(r)],!t){var e=new Error("Unsupported PRF OID.");throw e.oid=r,e.supported=["hmacWithSHA1","hmacWithSHA224","hmacWithSHA256","hmacWithSHA384","hmacWithSHA512"],e}return qm(t)}function qm(r){var t=P.md;switch(r){case"hmacWithSHA224":t=P.md.sha512;case"hmacWithSHA1":case"hmacWithSHA256":case"hmacWithSHA384":case"hmacWithSHA512":r=r.substr(8).toLowerCase();break;default:var e=new Error("Unsupported PRF algorithm.");throw e.algorithm=r,e.supported=["hmacWithSHA1","hmacWithSHA224","hmacWithSHA256","hmacWithSHA384","hmacWithSHA512"],e}if(!t||!(r in t))throw new Error("Unknown hash algorithm: "+r);return t[r].create()}function c_(r,t,e,n){var i=v.create(v.Class.UNIVERSAL,v.Type.SEQUENCE,!0,[v.create(v.Class.UNIVERSAL,v.Type.OCTETSTRING,!1,r),v.create(v.Class.UNIVERSAL,v.Type.INTEGER,!1,t.getBytes())]);return n!=="hmacWithSHA1"&&i.value.push(v.create(v.Class.UNIVERSAL,v.Type.INTEGER,!1,P.util.hexToBytes(e.toString(16))),v.create(v.Class.UNIVERSAL,v.Type.SEQUENCE,!0,[v.create(v.Class.UNIVERSAL,v.Type.OID,!1,v.oidToDer(H.oids[n]).getBytes()),v.create(v.Class.UNIVERSAL,v.Type.NULL,!1,"")])),i}});var ty=I((y8,jm)=>{var xt=ut();Pn();Kt();var ms=jm.exports=xt.sha512=xt.sha512||{};xt.md.sha512=xt.md.algorithms.sha512=ms;var Zm=xt.sha384=xt.sha512.sha384=xt.sha512.sha384||{};Zm.create=function(){return ms.create("SHA-384")};xt.md.sha384=xt.md.algorithms.sha384=Zm;xt.sha512.sha256=xt.sha512.sha256||{create:function(){return ms.create("SHA-512/256")}};xt.md["sha512/256"]=xt.md.algorithms["sha512/256"]=xt.sha512.sha256;xt.sha512.sha224=xt.sha512.sha224||{create:function(){return ms.create("SHA-512/224")}};xt.md["sha512/224"]=xt.md.algorithms["sha512/224"]=xt.sha512.sha224;ms.create=function(r){if(Jm||f_(),typeof r>"u"&&(r="SHA-512"),!(r in Mn))throw new Error("Invalid SHA-512 algorithm: "+r);for(var t=Mn[r],e=null,n=xt.util.createBuffer(),i=new Array(80),s=0;s<80;++s)i[s]=new Array(2);var o=64;switch(r){case"SHA-384":o=48;break;case"SHA-512/256":o=32;break;case"SHA-512/224":o=28;break}var a={algorithm:r.replace("-","").toLowerCase(),blockLength:128,digestLength:o,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=xt.util.createBuffer(),e=new Array(t.length);for(var u=0;u<t.length;++u)e[u]=t[u].slice(0);return a},a.start(),a.update=function(c,u){u==="utf8"&&(c=xt.util.encodeUtf8(c));var l=c.length;a.messageLength+=l,l=[l/4294967296>>>0,l>>>0];for(var f=a.fullMessageLength.length-1;f>=0;--f)a.fullMessageLength[f]+=l[1],l[1]=l[0]+(a.fullMessageLength[f]/4294967296>>>0),a.fullMessageLength[f]=a.fullMessageLength[f]>>>0,l[0]=l[1]/4294967296>>>0;return n.putBytes(c),Xm(e,i,n),(n.read>2048||n.length()===0)&&n.compact(),a},a.digest=function(){var c=xt.util.createBuffer();c.putBytes(n.bytes());var u=a.fullMessageLength[a.fullMessageLength.length-1]+a.messageLengthSize,l=u&a.blockLength-1;c.putBytes(Sl.substr(0,a.blockLength-l));for(var f,d,h=a.fullMessageLength[0]*8,p=0;p<a.fullMessageLength.length-1;++p)f=a.fullMessageLength[p+1]*8,d=f/4294967296>>>0,h+=d,c.putInt32(h>>>0),h=f>>>0;c.putInt32(h);for(var m=new Array(e.length),p=0;p<e.length;++p)m[p]=e[p].slice(0);Xm(m,i,c);var y=xt.util.createBuffer(),g;r==="SHA-512"?g=m.length:r==="SHA-384"?g=m.length-2:g=m.length-4;for(var p=0;p<g;++p)y.putInt32(m[p][0]),(p!==g-1||r!=="SHA-512/224")&&y.putInt32(m[p][1]);return y},a};var Sl=null,Jm=!1,Al=null,Mn=null;function f_(){Sl=String.fromCharCode(128),Sl+=xt.util.fillString(String.fromCharCode(0),128),Al=[[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]],Mn={},Mn["SHA-512"]=[[1779033703,4089235720],[3144134277,2227873595],[1013904242,4271175723],[2773480762,1595750129],[1359893119,2917565137],[2600822924,725511199],[528734635,4215389547],[1541459225,327033209]],Mn["SHA-384"]=[[3418070365,3238371032],[1654270250,914150663],[2438529370,812702999],[355462360,4144912697],[1731405415,4290775857],[2394180231,1750603025],[3675008525,1694076839],[1203062813,3204075428]],Mn["SHA-512/256"]=[[573645204,4230739756],[2673172387,3360449730],[596883563,1867755857],[2520282905,1497426621],[2519219938,2827943907],[3193839141,1401305490],[721525244,746961066],[246885852,2177182882]],Mn["SHA-512/224"]=[[2352822216,424955298],[1944164710,2312950998],[502970286,855612546],[1738396948,1479516111],[258812777,2077511080],[2011393907,79989058],[1067287976,1780299464],[286451373,2446758561]],Jm=!0}function Xm(r,t,e){for(var n,i,s,o,a,c,u,l,f,d,h,p,m,y,g,E,b,O,B,D,Q,Z,Wt,Oe,pe,oe,jn,io,qt,le,V,Ac,Rc,Ic,Tc,Yf=e.length();Yf>=128;){for(qt=0;qt<16;++qt)t[qt][0]=e.getInt32()>>>0,t[qt][1]=e.getInt32()>>>0;for(;qt<80;++qt)Ac=t[qt-2],le=Ac[0],V=Ac[1],n=((le>>>19|V<<13)^(V>>>29|le<<3)^le>>>6)>>>0,i=((le<<13|V>>>19)^(V<<3|le>>>29)^(le<<26|V>>>6))>>>0,Ic=t[qt-15],le=Ic[0],V=Ic[1],s=((le>>>1|V<<31)^(le>>>8|V<<24)^le>>>7)>>>0,o=((le<<31|V>>>1)^(le<<24|V>>>8)^(le<<25|V>>>7))>>>0,Rc=t[qt-7],Tc=t[qt-16],V=i+Rc[1]+o+Tc[1],t[qt][0]=n+Rc[0]+s+Tc[0]+(V/4294967296>>>0)>>>0,t[qt][1]=V>>>0;for(m=r[0][0],y=r[0][1],g=r[1][0],E=r[1][1],b=r[2][0],O=r[2][1],B=r[3][0],D=r[3][1],Q=r[4][0],Z=r[4][1],Wt=r[5][0],Oe=r[5][1],pe=r[6][0],oe=r[6][1],jn=r[7][0],io=r[7][1],qt=0;qt<80;++qt)u=((Q>>>14|Z<<18)^(Q>>>18|Z<<14)^(Z>>>9|Q<<23))>>>0,l=((Q<<18|Z>>>14)^(Q<<14|Z>>>18)^(Z<<23|Q>>>9))>>>0,f=(pe^Q&(Wt^pe))>>>0,d=(oe^Z&(Oe^oe))>>>0,a=((m>>>28|y<<4)^(y>>>2|m<<30)^(y>>>7|m<<25))>>>0,c=((m<<4|y>>>28)^(y<<30|m>>>2)^(y<<25|m>>>7))>>>0,h=(m&g|b&(m^g))>>>0,p=(y&E|O&(y^E))>>>0,V=io+l+d+Al[qt][1]+t[qt][1],n=jn+u+f+Al[qt][0]+t[qt][0]+(V/4294967296>>>0)>>>0,i=V>>>0,V=c+p,s=a+h+(V/4294967296>>>0)>>>0,o=V>>>0,jn=pe,io=oe,pe=Wt,oe=Oe,Wt=Q,Oe=Z,V=D+i,Q=B+n+(V/4294967296>>>0)>>>0,Z=V>>>0,B=b,D=O,b=g,O=E,g=m,E=y,V=i+o,m=n+s+(V/4294967296>>>0)>>>0,y=V>>>0;V=r[0][1]+y,r[0][0]=r[0][0]+m+(V/4294967296>>>0)>>>0,r[0][1]=V>>>0,V=r[1][1]+E,r[1][0]=r[1][0]+g+(V/4294967296>>>0)>>>0,r[1][1]=V>>>0,V=r[2][1]+O,r[2][0]=r[2][0]+b+(V/4294967296>>>0)>>>0,r[2][1]=V>>>0,V=r[3][1]+D,r[3][0]=r[3][0]+B+(V/4294967296>>>0)>>>0,r[3][1]=V>>>0,V=r[4][1]+Z,r[4][0]=r[4][0]+Q+(V/4294967296>>>0)>>>0,r[4][1]=V>>>0,V=r[5][1]+Oe,r[5][0]=r[5][0]+Wt+(V/4294967296>>>0)>>>0,r[5][1]=V>>>0,V=r[6][1]+oe,r[6][0]=r[6][0]+pe+(V/4294967296>>>0)>>>0,r[6][1]=V>>>0,V=r[7][1]+io,r[7][0]=r[7][0]+jn+(V/4294967296>>>0)>>>0,r[7][1]=V>>>0,Yf-=128}}});var Og=I((DL,kg)=>{function OS(){return!!(typeof window<"u"&&typeof window.process=="object"&&window.process.type==="renderer"||typeof process<"u"&&typeof process.versions=="object"&&process.versions.electron||typeof navigator=="object"&&typeof navigator.userAgent=="string"&&navigator.userAgent.indexOf("Electron")>=0)}kg.exports=OS});var $g=I(Gs=>{(function(){var r,t,e,n,i,s,o,a;a=function(c){var u,l,f,d;return u=(c&255<<24)>>>24,l=(c&255<<16)>>>16,f=(c&255<<8)>>>8,d=c&255,[u,l,f,d].join(".")},o=function(c){var u,l,f,d,h,p;for(u=[],f=d=0;d<=3&&c.length!==0;f=++d){if(f>0){if(c[0]!==".")throw new Error("Invalid IP");c=c.substring(1)}p=t(c),h=p[0],l=p[1],c=c.substring(l),u.push(h)}if(c.length!==0)throw new Error("Invalid IP");switch(u.length){case 1:if(u[0]>4294967295)throw new Error("Invalid IP");return u[0]>>>0;case 2:if(u[0]>255||u[1]>16777215)throw new Error("Invalid IP");return(u[0]<<24|u[1])>>>0;case 3:if(u[0]>255||u[1]>255||u[2]>65535)throw new Error("Invalid IP");return(u[0]<<24|u[1]<<16|u[2])>>>0;case 4:if(u[0]>255||u[1]>255||u[2]>255||u[3]>255)throw new Error("Invalid IP");return(u[0]<<24|u[1]<<16|u[2]<<8|u[3])>>>0;default:throw new Error("Invalid IP")}},e=function(c){return c.charCodeAt(0)},n=e("0"),s=e("a"),i=e("A"),t=function(c){var u,l,f,d,h;for(d=0,u=10,l="9",f=0,c.length>1&&c[f]==="0"&&(c[f+1]==="x"||c[f+1]==="X"?(f+=2,u=16):"0"<=c[f+1]&&c[f+1]<="9"&&(f++,u=8,l="7")),h=f;f<c.length;){if("0"<=c[f]&&c[f]<=l)d=d*u+(e(c[f])-n)>>>0;else if(u===16)if("a"<=c[f]&&c[f]<="f")d=d*u+(10+e(c[f])-s)>>>0;else if("A"<=c[f]&&c[f]<="F")d=d*u+(10+e(c[f])-i)>>>0;else break;else break;if(d>4294967295)throw new Error("too large");f++}if(f===h)throw new Error("empty octet");return[d,f]},r=function(){function c(u,l){var f,d,h,p;if(typeof u!="string")throw new Error("Missing `net' parameter");if(l||(p=u.split("/",2),u=p[0],l=p[1]),l||(l=32),typeof l=="string"&&l.indexOf(".")>-1){try{this.maskLong=o(l)}catch(m){throw f=m,new Error("Invalid mask: "+l)}for(d=h=32;h>=0;d=--h)if(this.maskLong===4294967295<<32-d>>>0){this.bitmask=d;break}}else if(l||l===0)this.bitmask=parseInt(l,10),this.maskLong=0,this.bitmask>0&&(this.maskLong=4294967295<<32-this.bitmask>>>0);else throw new Error("Invalid mask: empty");try{this.netLong=(o(u)&this.maskLong)>>>0}catch(m){throw f=m,new Error("Invalid net address: "+u)}if(!(this.bitmask<=32))throw new Error("Invalid mask for ip4: "+l);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):(o(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 l,f,d;for(d=o(this.first),f=o(this.last),l=0;d<=f;)u(a(d),d,l),l++,d++},c.prototype.toString=function(){return this.base+"/"+this.bitmask},c}(),Gs.ip2long=o,Gs.long2ip=a,Gs.Netmask=r}).call(Gs)});var Yg=I((Gg,za)=>{(function(r){"use strict";let t="(0?\\d+|0x[a-f0-9]+)",e={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"),i=new RegExp("^0x[a-f0-9]+$","i"),s="%[0-9a-z]{1,}",o="(?:[0-9a-f]+::?)+",a={zoneIndex:new RegExp(s,"i"),native:new RegExp(`^(::)?(${o})?([0-9a-f]+)?(::)?(${s})?$`,"i"),deprecatedTransitional:new RegExp(`^(?:::)(${t}\\.${t}\\.${t}\\.${t}(${s})?)$`,"i"),transitional:new RegExp(`^((?:${o})|(?:::)(?:${o})?)${t}\\.${t}\\.${t}\\.${t}(${s})?$`,"i")};function c(h,p){if(h.indexOf("::")!==h.lastIndexOf("::"))return null;let m=0,y=-1,g=(h.match(a.zoneIndex)||[])[0],E,b;for(g&&(g=g.substring(1),h=h.replace(/%.+$/,""));(y=h.indexOf(":",y+1))>=0;)m++;if(h.substr(0,2)==="::"&&m--,h.substr(-2,2)==="::"&&m--,m>p)return null;for(b=p-m,E=":";b--;)E+="0:";return h=h.replace("::",E),h[0]===":"&&(h=h.slice(1)),h[h.length-1]===":"&&(h=h.slice(0,-1)),p=function(){let O=h.split(":"),B=[];for(let D=0;D<O.length;D++)B.push(parseInt(O[D],16));return B}(),{parts:p,zoneId:g}}function u(h,p,m,y){if(h.length!==p.length)throw new Error("ipaddr: cannot match CIDR for objects with different lengths");let g=0,E;for(;y>0;){if(E=m-y,E<0&&(E=0),h[g]>>E!==p[g]>>E)return!1;y-=m,g+=1}return!0}function l(h){if(i.test(h))return parseInt(h,16);if(h[0]==="0"&&!isNaN(parseInt(h[1],10))){if(n.test(h))return parseInt(h,8);throw new Error(`ipaddr: cannot parse ${h} as octal`)}return parseInt(h,10)}function f(h,p){for(;h.length<p;)h=`0${h}`;return h}let d={};d.IPv4=function(){function h(p){if(p.length!==4)throw new Error("ipaddr: ipv4 octet count should be 4");let m,y;for(m=0;m<p.length;m++)if(y=p[m],!(0<=y&&y<=255))throw new Error("ipaddr: ipv4 octet should fit in 8 bits");this.octets=p}return h.prototype.SpecialRanges={unspecified:[[new h([0,0,0,0]),8]],broadcast:[[new h([255,255,255,255]),32]],multicast:[[new h([224,0,0,0]),4]],linkLocal:[[new h([169,254,0,0]),16]],loopback:[[new h([127,0,0,0]),8]],carrierGradeNat:[[new h([100,64,0,0]),10]],private:[[new h([10,0,0,0]),8],[new h([172,16,0,0]),12],[new h([192,168,0,0]),16]],reserved:[[new h([192,0,0,0]),24],[new h([192,0,2,0]),24],[new h([192,88,99,0]),24],[new h([198,51,100,0]),24],[new h([203,0,113,0]),24],[new h([240,0,0,0]),4]]},h.prototype.kind=function(){return"ipv4"},h.prototype.match=function(p,m){let y;if(m===void 0&&(y=p,p=y[0],m=y[1]),p.kind()!=="ipv4")throw new Error("ipaddr: cannot match ipv4 address with non-ipv4 one");return u(this.octets,p.octets,8,m)},h.prototype.prefixLengthFromSubnetMask=function(){let p=0,m=!1,y={0:8,128:7,192:6,224:5,240:4,248:3,252:2,254:1,255:0},g,E,b;for(g=3;g>=0;g-=1)if(E=this.octets[g],E in y){if(b=y[E],m&&b!==0)return null;b!==8&&(m=!0),p+=b}else return null;return 32-p},h.prototype.range=function(){return d.subnetMatch(this,this.SpecialRanges)},h.prototype.toByteArray=function(){return this.octets.slice(0)},h.prototype.toIPv4MappedAddress=function(){return d.IPv6.parse(`::ffff:${this.toString()}`)},h.prototype.toNormalizedString=function(){return this.toString()},h.prototype.toString=function(){return this.octets.join(".")},h}(),d.IPv4.broadcastAddressFromCIDR=function(h){try{let p=this.parseCIDR(h),m=p[0].toByteArray(),y=this.subnetMaskFromPrefixLength(p[1]).toByteArray(),g=[],E=0;for(;E<4;)g.push(parseInt(m[E],10)|parseInt(y[E],10)^255),E++;return new this(g)}catch{throw new Error("ipaddr: the address does not have IPv4 CIDR format")}},d.IPv4.isIPv4=function(h){return this.parser(h)!==null},d.IPv4.isValid=function(h){try{return new this(this.parser(h)),!0}catch{return!1}},d.IPv4.isValidFourPartDecimal=function(h){return!!(d.IPv4.isValid(h)&&h.match(/^(0|[1-9]\d*)(\.(0|[1-9]\d*)){3}$/))},d.IPv4.networkAddressFromCIDR=function(h){let p,m,y,g,E;try{for(p=this.parseCIDR(h),y=p[0].toByteArray(),E=this.subnetMaskFromPrefixLength(p[1]).toByteArray(),g=[],m=0;m<4;)g.push(parseInt(y[m],10)&parseInt(E[m],10)),m++;return new this(g)}catch{throw new Error("ipaddr: the address does not have IPv4 CIDR format")}},d.IPv4.parse=function(h){let p=this.parser(h);if(p===null)throw new Error("ipaddr: string is not formatted like an IPv4 Address");return new this(p)},d.IPv4.parseCIDR=function(h){let p;if(p=h.match(/^(.+)\/(\d+)$/)){let m=parseInt(p[2]);if(m>=0&&m<=32){let y=[this.parse(p[1]),m];return Object.defineProperty(y,"toString",{value:function(){return this.join("/")}}),y}}throw new Error("ipaddr: string is not formatted like an IPv4 CIDR range")},d.IPv4.parser=function(h){let p,m,y;if(p=h.match(e.fourOctet))return function(){let g=p.slice(1,6),E=[];for(let b=0;b<g.length;b++)m=g[b],E.push(l(m));return E}();if(p=h.match(e.longValue)){if(y=l(p[1]),y>4294967295||y<0)throw new Error("ipaddr: address outside defined range");return function(){let g=[],E;for(E=0;E<=24;E+=8)g.push(y>>E&255);return g}().reverse()}else return(p=h.match(e.twoOctet))?function(){let g=p.slice(1,4),E=[];if(y=l(g[1]),y>16777215||y<0)throw new Error("ipaddr: address outside defined range");return E.push(l(g[0])),E.push(y>>16&255),E.push(y>>8&255),E.push(y&255),E}():(p=h.match(e.threeOctet))?function(){let g=p.slice(1,5),E=[];if(y=l(g[2]),y>65535||y<0)throw new Error("ipaddr: address outside defined range");return E.push(l(g[0])),E.push(l(g[1])),E.push(y>>8&255),E.push(y&255),E}():null},d.IPv4.subnetMaskFromPrefixLength=function(h){if(h=parseInt(h),h<0||h>32)throw new Error("ipaddr: invalid IPv4 prefix length");let p=[0,0,0,0],m=0,y=Math.floor(h/8);for(;m<y;)p[m]=255,m++;return y<4&&(p[y]=Math.pow(2,h%8)-1<<8-h%8),new this(p)},d.IPv6=function(){function h(p,m){let y,g;if(p.length===16)for(this.parts=[],y=0;y<=14;y+=2)this.parts.push(p[y]<<8|p[y+1]);else if(p.length===8)this.parts=p;else throw new Error("ipaddr: ipv6 part count should be 8 or 16");for(y=0;y<this.parts.length;y++)if(g=this.parts[y],!(0<=g&&g<=65535))throw new Error("ipaddr: ipv6 part should fit in 16 bits");m&&(this.zoneId=m)}return h.prototype.SpecialRanges={unspecified:[new h([0,0,0,0,0,0,0,0]),128],linkLocal:[new h([65152,0,0,0,0,0,0,0]),10],multicast:[new h([65280,0,0,0,0,0,0,0]),8],loopback:[new h([0,0,0,0,0,0,0,1]),128],uniqueLocal:[new h([64512,0,0,0,0,0,0,0]),7],ipv4Mapped:[new h([0,0,0,0,0,65535,0,0]),96],rfc6145:[new h([0,0,0,0,65535,0,0,0]),96],rfc6052:[new h([100,65435,0,0,0,0,0,0]),96],"6to4":[new h([8194,0,0,0,0,0,0,0]),16],teredo:[new h([8193,0,0,0,0,0,0,0]),32],reserved:[[new h([8193,3512,0,0,0,0,0,0]),32]]},h.prototype.isIPv4MappedAddress=function(){return this.range()==="ipv4Mapped"},h.prototype.kind=function(){return"ipv6"},h.prototype.match=function(p,m){let y;if(m===void 0&&(y=p,p=y[0],m=y[1]),p.kind()!=="ipv6")throw new Error("ipaddr: cannot match ipv6 address with non-ipv6 one");return u(this.parts,p.parts,16,m)},h.prototype.prefixLengthFromSubnetMask=function(){let p=0,m=!1,y={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},g,E;for(let b=7;b>=0;b-=1)if(g=this.parts[b],g in y){if(E=y[g],m&&E!==0)return null;E!==16&&(m=!0),p+=E}else return null;return 128-p},h.prototype.range=function(){return d.subnetMatch(this,this.SpecialRanges)},h.prototype.toByteArray=function(){let p,m=[],y=this.parts;for(let g=0;g<y.length;g++)p=y[g],m.push(p>>8),m.push(p&255);return m},h.prototype.toFixedLengthString=function(){let p=function(){let y=[];for(let g=0;g<this.parts.length;g++)y.push(f(this.parts[g].toString(16),4));return y}.call(this).join(":"),m="";return this.zoneId&&(m=`%${this.zoneId}`),p+m},h.prototype.toIPv4Address=function(){if(!this.isIPv4MappedAddress())throw new Error("ipaddr: trying to convert a generic ipv6 address to ipv4");let p=this.parts.slice(-2),m=p[0],y=p[1];return new d.IPv4([m>>8,m&255,y>>8,y&255])},h.prototype.toNormalizedString=function(){let p=function(){let y=[];for(let g=0;g<this.parts.length;g++)y.push(this.parts[g].toString(16));return y}.call(this).join(":"),m="";return this.zoneId&&(m=`%${this.zoneId}`),p+m},h.prototype.toRFC5952String=function(){let p=/((^|:)(0(:|$)){2,})/g,m=this.toNormalizedString(),y=0,g=-1,E;for(;E=p.exec(m);)E[0].length>g&&(y=E.index,g=E[0].length);return g<0?m:`${m.substring(0,y)}::${m.substring(y+g)}`},h.prototype.toString=function(){return this.toNormalizedString().replace(/((^|:)(0(:|$))+)/,"::")},h}(),d.IPv6.broadcastAddressFromCIDR=function(h){try{let p=this.parseCIDR(h),m=p[0].toByteArray(),y=this.subnetMaskFromPrefixLength(p[1]).toByteArray(),g=[],E=0;for(;E<16;)g.push(parseInt(m[E],10)|parseInt(y[E],10)^255),E++;return new this(g)}catch(p){throw new Error(`ipaddr: the address does not have IPv6 CIDR format (${p})`)}},d.IPv6.isIPv6=function(h){return this.parser(h)!==null},d.IPv6.isValid=function(h){if(typeof h=="string"&&h.indexOf(":")===-1)return!1;try{let p=this.parser(h);return new this(p.parts,p.zoneId),!0}catch{return!1}},d.IPv6.networkAddressFromCIDR=function(h){let p,m,y,g,E;try{for(p=this.parseCIDR(h),y=p[0].toByteArray(),E=this.subnetMaskFromPrefixLength(p[1]).toByteArray(),g=[],m=0;m<16;)g.push(parseInt(y[m],10)&parseInt(E[m],10)),m++;return new this(g)}catch(b){throw new Error(`ipaddr: the address does not have IPv6 CIDR format (${b})`)}},d.IPv6.parse=function(h){let p=this.parser(h);if(p.parts===null)throw new Error("ipaddr: string is not formatted like an IPv6 Address");return new this(p.parts,p.zoneId)},d.IPv6.parseCIDR=function(h){let p,m,y;if((m=h.match(/^(.+)\/(\d+)$/))&&(p=parseInt(m[2]),p>=0&&p<=128))return y=[this.parse(m[1]),p],Object.defineProperty(y,"toString",{value:function(){return this.join("/")}}),y;throw new Error("ipaddr: string is not formatted like an IPv6 CIDR range")},d.IPv6.parser=function(h){let p,m,y,g,E,b;if(y=h.match(a.deprecatedTransitional))return this.parser(`::ffff:${y[1]}`);if(a.native.test(h))return c(h,8);if((y=h.match(a.transitional))&&(b=y[6]||"",p=c(y[1].slice(0,-1)+b,6),p.parts)){for(E=[parseInt(y[2]),parseInt(y[3]),parseInt(y[4]),parseInt(y[5])],m=0;m<E.length;m++)if(g=E[m],!(0<=g&&g<=255))return null;return p.parts.push(E[0]<<8|E[1]),p.parts.push(E[2]<<8|E[3]),{parts:p.parts,zoneId:p.zoneId}}return null},d.IPv6.subnetMaskFromPrefixLength=function(h){if(h=parseInt(h),h<0||h>128)throw new Error("ipaddr: invalid IPv6 prefix length");let p=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],m=0,y=Math.floor(h/8);for(;m<y;)p[m]=255,m++;return y<16&&(p[y]=Math.pow(2,h%8)-1<<8-h%8),new this(p)},d.fromByteArray=function(h){let p=h.length;if(p===4)return new d.IPv4(h);if(p===16)return new d.IPv6(h);throw new Error("ipaddr: the binary input is neither an IPv6 nor IPv4 address")},d.isValid=function(h){return d.IPv6.isValid(h)||d.IPv4.isValid(h)},d.parse=function(h){if(d.IPv6.isValid(h))return d.IPv6.parse(h);if(d.IPv4.isValid(h))return d.IPv4.parse(h);throw new Error("ipaddr: the address has neither IPv6 nor IPv4 format")},d.parseCIDR=function(h){try{return d.IPv6.parseCIDR(h)}catch{try{return d.IPv4.parseCIDR(h)}catch{throw new Error("ipaddr: the address has neither IPv6 nor IPv4 CIDR format")}}},d.process=function(h){let p=this.parse(h);return p.kind()==="ipv6"&&p.isIPv4MappedAddress()?p.toIPv4Address():p},d.subnetMatch=function(h,p,m){let y,g,E,b;m==null&&(m="unicast");for(g in p)if(Object.prototype.hasOwnProperty.call(p,g)){for(E=p[g],E[0]&&!(E[0]instanceof Array)&&(E=[E]),y=0;y<E.length;y++)if(b=E[y],h.kind()===b[0].kind()&&h.match.apply(h,b))return g}return m},typeof za<"u"&&za.exports?za.exports=d:r.ipaddr=d})(Gg)});var iw=I((kP,mf)=>{"use strict";var WS=Object.prototype.hasOwnProperty,ue="~";function Ws(){}Object.create&&(Ws.prototype=Object.create(null),new Ws().__proto__||(ue=!1));function QS(r,t,e){this.fn=r,this.context=t,this.once=e||!1}function nw(r,t,e,n,i){if(typeof e!="function")throw new TypeError("The listener must be a function");var s=new QS(e,n||r,i),o=ue?ue+t:t;return r._events[o]?r._events[o].fn?r._events[o]=[r._events[o],s]:r._events[o].push(s):(r._events[o]=s,r._eventsCount++),r}function ic(r,t){--r._eventsCount===0?r._events=new Ws:delete r._events[t]}function se(){this._events=new Ws,this._eventsCount=0}se.prototype.eventNames=function(){var t=[],e,n;if(this._eventsCount===0)return t;for(n in e=this._events)WS.call(e,n)&&t.push(ue?n.slice(1):n);return Object.getOwnPropertySymbols?t.concat(Object.getOwnPropertySymbols(e)):t};se.prototype.listeners=function(t){var e=ue?ue+t:t,n=this._events[e];if(!n)return[];if(n.fn)return[n.fn];for(var i=0,s=n.length,o=new Array(s);i<s;i++)o[i]=n[i].fn;return o};se.prototype.listenerCount=function(t){var e=ue?ue+t:t,n=this._events[e];return n?n.fn?1:n.length:0};se.prototype.emit=function(t,e,n,i,s,o){var a=ue?ue+t:t;if(!this._events[a])return!1;var c=this._events[a],u=arguments.length,l,f;if(c.fn){switch(c.once&&this.removeListener(t,c.fn,void 0,!0),u){case 1:return c.fn.call(c.context),!0;case 2:return c.fn.call(c.context,e),!0;case 3:return c.fn.call(c.context,e,n),!0;case 4:return c.fn.call(c.context,e,n,i),!0;case 5:return c.fn.call(c.context,e,n,i,s),!0;case 6:return c.fn.call(c.context,e,n,i,s,o),!0}for(f=1,l=new Array(u-1);f<u;f++)l[f-1]=arguments[f];c.fn.apply(c.context,l)}else{var d=c.length,h;for(f=0;f<d;f++)switch(c[f].once&&this.removeListener(t,c[f].fn,void 0,!0),u){case 1:c[f].fn.call(c[f].context);break;case 2:c[f].fn.call(c[f].context,e);break;case 3:c[f].fn.call(c[f].context,e,n);break;case 4:c[f].fn.call(c[f].context,e,n,i);break;default:if(!l)for(h=1,l=new Array(u-1);h<u;h++)l[h-1]=arguments[h];c[f].fn.apply(c[f].context,l)}}return!0};se.prototype.on=function(t,e,n){return nw(this,t,e,n,!1)};se.prototype.once=function(t,e,n){return nw(this,t,e,n,!0)};se.prototype.removeListener=function(t,e,n,i){var s=ue?ue+t:t;if(!this._events[s])return this;if(!e)return ic(this,s),this;var o=this._events[s];if(o.fn)o.fn===e&&(!i||o.once)&&(!n||o.context===n)&&ic(this,s);else{for(var a=0,c=[],u=o.length;a<u;a++)(o[a].fn!==e||i&&!o[a].once||n&&o[a].context!==n)&&c.push(o[a]);c.length?this._events[s]=c.length===1?c[0]:c:ic(this,s)}return this};se.prototype.removeAllListeners=function(t){var e;return t?(e=ue?ue+t:t,this._events[e]&&ic(this,e)):(this._events=new Ws,this._eventsCount=0),this};se.prototype.off=se.prototype.removeListener;se.prototype.addListener=se.prototype.on;se.prefixed=ue;se.EventEmitter=se;typeof mf<"u"&&(mf.exports=se)});var Sw=I((IN,_w)=>{"use strict";_w.exports=bw;var jS=Cc(),yn=bw.prototype,tA=new Date%1e9;function eA(){return(Math.random()*1e9>>>0)+tA++}function bw(r){r=r||{},this.id=r.id||eA(),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 t,e,n=this.items.length;n--;)t=this.items[n],e=new Date(t.expires)-new Date,this._lookup[t.key]=t,e>0?this.expire(t.key,e):e<=0&&this.delete(t.key)}yn.has=function(r){return r in this._lookup};yn.get=function(r){if(!this.has(r))return null;var t=this._lookup[r];return t.refresh&&this.expire(r,t.refresh),this.items.splice(this.items.indexOf(t),1),this.items.push(t),t.value};yn.meta=function(r){if(!this.has(r))return null;var t=this._lookup[r];return"meta"in t?t.meta:null};yn.set=function(r,t,e){var n=this._lookup[r],i=this._lookup[r]={key:r,value:t};return this.lastModified=new Date,n?(clearTimeout(n.timeout),this.items.splice(this.items.indexOf(n),1,i)):(this.size>=this.max&&this.delete(this.items[0].key),this.items.push(i),this.size++),e&&("ttl"in e&&this.expire(r,e.ttl),"meta"in e&&(i.meta=e.meta),e.refresh&&(i.refresh=e.ttl)),this};yn.delete=function(r){var t=this._lookup[r];return t?(this.lastModified=new Date,this.items.splice(this.items.indexOf(t),1),clearTimeout(t.timeout),delete this._lookup[r],this.size--,this):!1};yn.expire=function(r,t){var e=t||0,n=this._lookup[r];if(!n)return this;if(typeof e=="string"&&(e=jS(t)),typeof e!="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),e),n.expires=Number(new Date)+e,this};yn.clear=function(){for(var r=this.items.length;r--;)this.delete(this.items[r].key);return this};yn.toJSON=function(){for(var r=new Array(this.items.length),t,e=r.length;e--;)t=this.items[e],r[e]={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:r}}});var $f=I((fk,qf)=>{function Nw(r){let t=new globalThis.AbortController;function e(){t.abort();for(let n of r)!n||!n.removeEventListener||n.removeEventListener("abort",e)}for(let n of r)if(!(!n||!n.addEventListener)){if(n.aborted){e();break}n.addEventListener("abort",e)}return t.signal}qf.exports=Nw;qf.exports.anySignal=Nw});var Ow=I((dk,kw)=>{kw.exports=class{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}peek(){return this.buffer[this.btm]}isEmpty(){return this.buffer[this.btm]===void 0}}});var Fw=I((mk,Uw)=>{var Mw=Ow();Uw.exports=class{constructor(t){this.hwm=t||16,this.head=new Mw(this.hwm),this.tail=this.head}push(t){if(!this.head.push(t)){let e=this.head;this.head=e.next=new Mw(2*this.head.buffer.length),this.head.push(t)}}shift(){let t=this.tail.shift();if(t===void 0&&this.tail.next){let e=this.tail.next;return this.tail.next=null,this.tail=e,this.tail.shift()}return t}peek(){return this.tail.peek()}isEmpty(){return this.head.isEmpty()}}});var Vw=I((yk,Kw)=>{"use strict";var cA=()=>{let r={};return r.promise=new Promise((t,e)=>{r.resolve=t,r.reject=e}),r};Kw.exports=cA});var Hw=I((wk,zw)=>{var qw=Fw(),$w=Vw();zw.exports=class{constructor(){this._buffer=new qw,this._waitingConsumers=new qw}push(t){let{promise:e,resolve:n}=$w();return this._buffer.push({chunk:t,resolve:n}),this._consume(),e}_consume(){for(;!this._waitingConsumers.isEmpty()&&!this._buffer.isEmpty();){let t=this._waitingConsumers.shift(),e=this._buffer.shift();t.resolve(e.chunk),e.resolve()}}shift(){let{promise:t,resolve:e}=$w();return this._waitingConsumers.push({resolve:e}),this._consume(),t}isEmpty(){return this._buffer.isEmpty()}}});var hA={};ne(hA,{createLibp2p:()=>fA});var Ze=C(Bc(),1);var kc={};ne(kc,{base58btc:()=>Ot,base58flickr:()=>b1});function g1(r,t){if(r.length>=255)throw new TypeError("Alphabet too long");for(var e=new Uint8Array(256),n=0;n<e.length;n++)e[n]=255;for(var i=0;i<r.length;i++){var s=r.charAt(i),o=s.charCodeAt(0);if(e[o]!==255)throw new TypeError(s+" is ambiguous");e[o]=i}var a=r.length,c=r.charAt(0),u=Math.log(a)/Math.log(256),l=Math.log(256)/Math.log(a);function f(p){if(p instanceof Uint8Array||(ArrayBuffer.isView(p)?p=new Uint8Array(p.buffer,p.byteOffset,p.byteLength):Array.isArray(p)&&(p=Uint8Array.from(p))),!(p instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(p.length===0)return"";for(var m=0,y=0,g=0,E=p.length;g!==E&&p[g]===0;)g++,m++;for(var b=(E-g)*l+1>>>0,O=new Uint8Array(b);g!==E;){for(var B=p[g],D=0,Q=b-1;(B!==0||D<y)&&Q!==-1;Q--,D++)B+=256*O[Q]>>>0,O[Q]=B%a>>>0,B=B/a>>>0;if(B!==0)throw new Error("Non-zero carry");y=D,g++}for(var Z=b-y;Z!==b&&O[Z]===0;)Z++;for(var Wt=c.repeat(m);Z<b;++Z)Wt+=r.charAt(O[Z]);return Wt}function d(p){if(typeof p!="string")throw new TypeError("Expected String");if(p.length===0)return new Uint8Array;var m=0;if(p[m]!==" "){for(var y=0,g=0;p[m]===c;)y++,m++;for(var E=(p.length-m)*u+1>>>0,b=new Uint8Array(E);p[m];){var O=e[p.charCodeAt(m)];if(O===255)return;for(var B=0,D=E-1;(O!==0||B<g)&&D!==-1;D--,B++)O+=a*b[D]>>>0,b[D]=O%256>>>0,O=O/256>>>0;if(O!==0)throw new Error("Non-zero carry");g=B,m++}if(p[m]!==" "){for(var Q=E-g;Q!==E&&b[Q]===0;)Q++;for(var Z=new Uint8Array(y+(E-Q)),Wt=y;Q!==E;)Z[Wt++]=b[Q++];return Z}}}function h(p){var m=d(p);if(m)return m;throw new Error(`Non-${t} character`)}return{encode:f,decodeUnsafe:d,decode:h}}var w1=g1,E1=w1,Jf=E1;var gA=new Uint8Array(0);var jf=(r,t)=>{if(r===t)return!0;if(r.byteLength!==t.byteLength)return!1;for(let e=0;e<r.byteLength;e++)if(r[e]!==t[e])return!1;return!0},wr=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 th=r=>new TextEncoder().encode(r),eh=r=>new TextDecoder().decode(r);var Dc=class{constructor(t,e,n){this.name=t,this.prefix=e,this.baseEncode=n}encode(t){if(t instanceof Uint8Array)return`${this.prefix}${this.baseEncode(t)}`;throw Error("Unknown type, must be binary type")}},Lc=class{constructor(t,e,n){if(this.name=t,this.prefix=e,e.codePointAt(0)===void 0)throw new Error("Invalid prefix character");this.prefixCodePoint=e.codePointAt(0),this.baseDecode=n}decode(t){if(typeof t=="string"){if(t.codePointAt(0)!==this.prefixCodePoint)throw Error(`Unable to decode multibase string ${JSON.stringify(t)}, ${this.name} decoder only supports inputs prefixed with ${this.prefix}`);return this.baseDecode(t.slice(this.prefix.length))}else throw Error("Can only multibase decode strings")}or(t){return nh(this,t)}},Pc=class{constructor(t){this.decoders=t}or(t){return nh(this,t)}decode(t){let e=t[0],n=this.decoders[e];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`)}},nh=(r,t)=>new Pc({...r.decoders||{[r.prefix]:r},...t.decoders||{[t.prefix]:t}}),Nc=class{constructor(t,e,n,i){this.name=t,this.prefix=e,this.baseEncode=n,this.baseDecode=i,this.encoder=new Dc(t,e,n),this.decoder=new Lc(t,e,i)}encode(t){return this.encoder.encode(t)}decode(t){return this.decoder.decode(t)}},ni=({name:r,prefix:t,encode:e,decode:n})=>new Nc(r,t,e,n),Vr=({prefix:r,name:t,alphabet:e})=>{let{encode:n,decode:i}=Jf(e,t);return ni({prefix:r,name:t,encode:n,decode:s=>wr(i(s))})},x1=(r,t,e,n)=>{let i={};for(let l=0;l<t.length;++l)i[t[l]]=l;let s=r.length;for(;r[s-1]==="=";)--s;let o=new Uint8Array(s*e/8|0),a=0,c=0,u=0;for(let l=0;l<s;++l){let f=i[r[l]];if(f===void 0)throw new SyntaxError(`Non-${n} character`);c=c<<e|f,a+=e,a>=8&&(a-=8,o[u++]=255&c>>a)}if(a>=e||255&c<<8-a)throw new SyntaxError("Unexpected end of data");return o},v1=(r,t,e)=>{let n=t[t.length-1]==="=",i=(1<<e)-1,s="",o=0,a=0;for(let c=0;c<r.length;++c)for(a=a<<8|r[c],o+=8;o>e;)o-=e,s+=t[i&a>>o];if(o&&(s+=t[i&a<<e-o]),n)for(;s.length*e&7;)s+="=";return s},Bt=({name:r,prefix:t,bitsPerChar:e,alphabet:n})=>ni({prefix:t,name:r,encode(i){return v1(i,n,e)},decode(i){return x1(i,n,e,r)}});var Ot=Vr({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),b1=Vr({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var Oc={};ne(Oc,{base32:()=>ye,base32hex:()=>R1,base32hexpad:()=>T1,base32hexpadupper:()=>C1,base32hexupper:()=>I1,base32pad:()=>S1,base32padupper:()=>A1,base32upper:()=>_1,base32z:()=>B1});var ye=Bt({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),_1=Bt({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),S1=Bt({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),A1=Bt({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),R1=Bt({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),I1=Bt({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),T1=Bt({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),C1=Bt({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),B1=Bt({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var Mc={};ne(Mc,{base64:()=>wn,base64pad:()=>D1,base64url:()=>L1,base64urlpad:()=>P1});var wn=Bt({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),D1=Bt({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),L1=Bt({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),P1=Bt({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});Ze.default.formatters.b=r=>r==null?"undefined":Ot.baseEncode(r);Ze.default.formatters.t=r=>r==null?"undefined":ye.baseEncode(r);Ze.default.formatters.m=r=>r==null?"undefined":wn.baseEncode(r);Ze.default.formatters.p=r=>r==null?"undefined":r.toString();Ze.default.formatters.c=r=>r==null?"undefined":r.toString();Ze.default.formatters.k=r=>r==null?"undefined":r.toString();function U(r){return Object.assign((0,Ze.default)(r),{error:(0,Ze.default)(`${r}:error`),trace:(0,Ze.default)(`${r}:trace`)})}var En=function(r,t,e,n){if(e==="a"&&!n)throw new TypeError("Private accessor was defined without a getter");if(typeof t=="function"?r!==t||!n:!t.has(r))throw new TypeError("Cannot read private member from an object whose class did not declare it");return e==="m"?n:e==="a"?n.call(r):n?n.value:t.get(r)},Er,Dt=class extends EventTarget{constructor(){super(...arguments),Er.set(this,new Map)}listenerCount(t){let e=En(this,Er,"f").get(t);return e==null?0:e.length}addEventListener(t,e,n){super.addEventListener(t,e,n);let i=En(this,Er,"f").get(t);i==null&&(i=[],En(this,Er,"f").set(t,i)),i.push({callback:e,once:(n!==!0&&n!==!1&&n?.once)??!1})}removeEventListener(t,e,n){super.removeEventListener(t.toString(),e??null,n);let i=En(this,Er,"f").get(t);i!=null&&(i=i.filter(({callback:s})=>s!==e),En(this,Er,"f").set(t,i))}dispatchEvent(t){let e=super.dispatchEvent(t),n=En(this,Er,"f").get(t.type);return n==null||(n=n.filter(({once:i})=>!i),En(this,Er,"f").set(t.type,n)),e}safeDispatchEvent(t,e){return this.dispatchEvent(new $(t,e))}};Er=new WeakMap;var Uc=class extends Event{constructor(t,e){super(t,e),this.detail=e?.detail}},$=globalThis.CustomEvent??Uc;function xr(r){return r!=null&&typeof r.start=="function"&&typeof r.stop=="function"}var co=class{index=0;input="";new(t){return this.index=0,this.input=t,this}readAtomically(t){let e=this.index,n=t();return n===void 0&&(this.index=e),n}parseWith(t){let e=t();if(this.index===this.input.length)return e}peekChar(){if(!(this.index>=this.input.length))return this.input[this.index]}readChar(){if(!(this.index>=this.input.length))return this.input[this.index++]}readGivenChar(t){return this.readAtomically(()=>{let e=this.readChar();if(e===t)return e})}readSeparator(t,e,n){return this.readAtomically(()=>{if(!(e>0&&this.readGivenChar(t)===void 0))return n()})}readNumber(t,e,n,i){return this.readAtomically(()=>{let s=0,o=0,a=this.peekChar();if(a===void 0)return;let c=a==="0",u=2**(8*i)-1;for(;;){let l=this.readAtomically(()=>{let f=this.readChar();if(f===void 0)return;let d=Number.parseInt(f,t);if(!Number.isNaN(d))return d});if(l===void 0)break;if(s*=t,s+=l,s>u||(o+=1,e!==void 0&&o>e))return}if(o!==0)return!n&&c&&o>1?void 0:s})}readIPv4Addr(){return this.readAtomically(()=>{let t=new Uint8Array(4);for(let e=0;e<t.length;e++){let n=this.readSeparator(".",e,()=>this.readNumber(10,3,!1,1));if(n===void 0)return;t[e]=n}return t})}readIPv6Addr(){let t=e=>{for(let n=0;n<e.length/2;n++){let i=n*2;if(n<e.length-3){let o=this.readSeparator(":",n,()=>this.readIPv4Addr());if(o!==void 0)return e[i]=o[0],e[i+1]=o[1],e[i+2]=o[2],e[i+3]=o[3],[i+4,!0]}let s=this.readSeparator(":",n,()=>this.readNumber(16,4,!0,2));if(s===void 0)return[i,!1];e[i]=s>>8,e[i+1]=s&255}return[e.length,!1]};return this.readAtomically(()=>{let e=new Uint8Array(16),[n,i]=t(e);if(n===16)return e;if(i||this.readGivenChar(":")===void 0||this.readGivenChar(":")===void 0)return;let s=new Uint8Array(14),o=16-(n+2),[a]=t(s.subarray(0,o));return e.set(s.subarray(0,a),16-a),e})}readIPAddr(){return this.readIPv4Addr()??this.readIPv6Addr()}};var ih=45,N1=15,ii=new co;function sh(r){if(!(r.length>N1))return ii.new(r).parseWith(()=>ii.readIPv4Addr())}function oh(r){if(!(r.length>ih))return ii.new(r).parseWith(()=>ii.readIPv6Addr())}function ah(r){if(!(r.length>ih))return ii.new(r).parseWith(()=>ii.readIPAddr())}function ch(r){return!!sh(r)}function uh(r){return!!oh(r)}function si(r){return!!ah(r)}var Fc={};ne(Fc,{identity:()=>k1});var k1=ni({prefix:"\0",name:"identity",encode:r=>eh(r),decode:r=>th(r)});var Kc={};ne(Kc,{base2:()=>O1});var O1=Bt({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var Vc={};ne(Vc,{base8:()=>M1});var M1=Bt({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var qc={};ne(qc,{base10:()=>U1});var U1=Vr({prefix:"9",name:"base10",alphabet:"0123456789"});var $c={};ne($c,{base16:()=>F1,base16upper:()=>K1});var F1=Bt({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),K1=Bt({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var zc={};ne(zc,{base36:()=>V1,base36upper:()=>q1});var V1=Vr({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),q1=Vr({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var Hc={};ne(Hc,{base256emoji:()=>Y1});var lh=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}"),$1=lh.reduce((r,t,e)=>(r[e]=t,r),[]),z1=lh.reduce((r,t,e)=>(r[t.codePointAt(0)]=e,r),[]);function H1(r){return r.reduce((t,e)=>(t+=$1[e],t),"")}function G1(r){let t=[];for(let e of r){let n=z1[e.codePointAt(0)];if(n===void 0)throw new Error(`Non-base256emoji character: ${e}`);t.push(n)}return new Uint8Array(t)}var Y1=ni({prefix:"\u{1F680}",name:"base256emoji",encode:H1,decode:G1});var Qc={};ne(Qc,{sha256:()=>ie,sha512:()=>hE});var W1=dh,fh=128,Q1=127,X1=~Q1,Z1=Math.pow(2,31);function dh(r,t,e){t=t||[],e=e||0;for(var n=e;r>=Z1;)t[e++]=r&255|fh,r/=128;for(;r&X1;)t[e++]=r&255|fh,r>>>=7;return t[e]=r|0,dh.bytes=e-n+1,t}var J1=Gc,j1=128,hh=127;function Gc(r,n){var e=0,n=n||0,i=0,s=n,o,a=r.length;do{if(s>=a)throw Gc.bytes=0,new RangeError("Could not decode varint");o=r[s++],e+=i<28?(o&hh)<<i:(o&hh)*Math.pow(2,i),i+=7}while(o>=j1);return Gc.bytes=s-n,e}var tE=Math.pow(2,7),eE=Math.pow(2,14),rE=Math.pow(2,21),nE=Math.pow(2,28),iE=Math.pow(2,35),sE=Math.pow(2,42),oE=Math.pow(2,49),aE=Math.pow(2,56),cE=Math.pow(2,63),uE=function(r){return r<tE?1:r<eE?2:r<rE?3:r<nE?4:r<iE?5:r<sE?6:r<oE?7:r<aE?8:r<cE?9:10},lE={encode:W1,decode:J1,encodingLength:uE},fE=lE,Gi=fE;var Yi=(r,t=0)=>[Gi.decode(r,t),Gi.decode.bytes],oi=(r,t,e=0)=>(Gi.encode(r,t,e),t),ai=r=>Gi.encodingLength(r);var Je=(r,t)=>{let e=t.byteLength,n=ai(r),i=n+ai(e),s=new Uint8Array(i+e);return oi(r,s,0),oi(e,s,n),s.set(t,i),new ci(r,e,t,s)},xn=r=>{let t=wr(r),[e,n]=Yi(t),[i,s]=Yi(t.subarray(n)),o=t.subarray(n+s);if(o.byteLength!==i)throw new Error("Incorrect length");return new ci(e,i,o,t)},ph=(r,t)=>{if(r===t)return!0;{let e=t;return r.code===e.code&&r.size===e.size&&e.bytes instanceof Uint8Array&&jf(r.bytes,e.bytes)}},ci=class{constructor(t,e,n,i){this.code=t,this.size=e,this.digest=n,this.bytes=i}};var Wc=({name:r,code:t,encode:e})=>new Yc(r,t,e),Yc=class{constructor(t,e,n){this.name=t,this.code=e,this.encode=n}digest(t){if(t instanceof Uint8Array){let e=this.encode(t);return e instanceof Uint8Array?Je(this.code,e):e.then(n=>Je(this.code,n))}else throw Error("Unknown type, must be binary type")}};var yh=r=>async t=>new Uint8Array(await crypto.subtle.digest(r,t)),ie=Wc({name:"sha2-256",code:18,encode:yh("SHA-256")}),hE=Wc({name:"sha2-512",code:19,encode:yh("SHA-512")});var Xc={};ne(Xc,{identity:()=>qr});var gh=0,dE="identity",wh=wr,pE=r=>Je(gh,wh(r)),qr={code:gh,name:dE,encode:wh,digest:pE};var QA=new TextEncoder,XA=new TextDecoder;var Eh=(r,t)=>{let{bytes:e,version:n}=r;switch(n){case 0:return wE(e,Zc(r),t||Ot.encoder);default:return EE(e,Zc(r),t||ye.encoder)}};var xh=new WeakMap,Zc=r=>{let t=xh.get(r);if(t==null){let e=new Map;return xh.set(r,e),e}return t},pt=class{constructor(t,e,n,i){this.code=e,this.version=t,this.multihash=n,this.bytes=i,this["/"]=i}get asCID(){return this}get byteOffset(){return this.bytes.byteOffset}get byteLength(){return this.bytes.byteLength}toV0(){switch(this.version){case 0:return this;case 1:{let{code:t,multihash:e}=this;if(t!==Wi)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(e.code!==xE)throw new Error("Cannot convert non sha2-256 multihash CID to CIDv0");return pt.createV0(e)}default:throw Error(`Can not convert CID version ${this.version} to version 0. This is a bug please report`)}}toV1(){switch(this.version){case 0:{let{code:t,digest:e}=this.multihash,n=Je(t,e);return pt.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 pt.equals(this,t)}static equals(t,e){let n=e;return n&&t.code===n.code&&t.version===n.version&&ph(t.multihash,n.multihash)}toString(t){return Eh(this,t)}toJSON(){return{"/":Eh(this)}}link(){return this}get[Symbol.toStringTag](){return"CID"}[Symbol.for("nodejs.util.inspect.custom")](){return`CID(${this.toString()})`}static asCID(t){if(t==null)return null;let e=t;if(e instanceof pt)return e;if(e["/"]!=null&&e["/"]===e.bytes||e.asCID===e){let{version:n,code:i,multihash:s,bytes:o}=e;return new pt(n,i,s,o||vh(n,i,s.bytes))}else if(e[vE]===!0){let{version:n,multihash:i,code:s}=e,o=xn(i);return pt.create(n,s,o)}else return null}static create(t,e,n){if(typeof e!="number")throw new Error("String codecs are no longer supported");if(!(n.bytes instanceof Uint8Array))throw new Error("Invalid digest");switch(t){case 0:{if(e!==Wi)throw new Error(`Version 0 CID must use dag-pb (code: ${Wi}) block encoding`);return new pt(t,e,n,n.bytes)}case 1:{let i=vh(t,e,n.bytes);return new pt(t,e,n,i)}default:throw new Error("Invalid version")}}static createV0(t){return pt.create(0,Wi,t)}static createV1(t,e){return pt.create(1,t,e)}static decode(t){let[e,n]=pt.decodeFirst(t);if(n.length)throw new Error("Incorrect length");return e}static decodeFirst(t){let e=pt.inspectBytes(t),n=e.size-e.multihashSize,i=wr(t.subarray(n,n+e.multihashSize));if(i.byteLength!==e.multihashSize)throw new Error("Incorrect length");let s=i.subarray(e.multihashSize-e.digestSize),o=new ci(e.multihashCode,e.digestSize,s,i);return[e.version===0?pt.createV0(o):pt.createV1(e.codec,o),t.subarray(e.size)]}static inspectBytes(t){let e=0,n=()=>{let[f,d]=Yi(t.subarray(e));return e+=d,f},i=n(),s=Wi;if(i===18?(i=0,e=0):s=n(),i!==0&&i!==1)throw new RangeError(`Invalid CID version ${i}`);let o=e,a=n(),c=n(),u=e+c,l=u-o;return{version:i,codec:s,multihashCode:a,digestSize:c,multihashSize:l,size:u}}static parse(t,e){let[n,i]=gE(t,e),s=pt.decode(i);if(s.version===0&&t[0]!=="Q")throw Error("Version 0 CID string must not include multibase prefix");return Zc(s).set(n,t),s}},gE=(r,t)=>{switch(r[0]){case"Q":{let e=t||Ot;return[Ot.prefix,e.decode(`${Ot.prefix}${r}`)]}case Ot.prefix:{let e=t||Ot;return[Ot.prefix,e.decode(r)]}case ye.prefix:{let e=t||ye;return[ye.prefix,e.decode(r)]}default:{if(t==null)throw Error("To parse non base32 or base58btc encoded CID multibase decoder must be provided");return[r[0],t.decode(r)]}}},wE=(r,t,e)=>{let{prefix:n}=e;if(n!==Ot.prefix)throw Error(`Cannot string encode V0 in ${e.name} encoding`);let i=t.get(n);if(i==null){let s=e.encode(r).slice(1);return t.set(n,s),s}else return i},EE=(r,t,e)=>{let{prefix:n}=e,i=t.get(n);if(i==null){let s=e.encode(r);return t.set(n,s),s}else return i},Wi=112,xE=18,vh=(r,t,e)=>{let n=ai(r),i=n+ai(t),s=new Uint8Array(i+e.byteLength);return oi(r,s,0),oi(t,s,n),s.set(e,i),s},vE=Symbol.for("@ipld/js-cid/CID");var $r={...Fc,...Kc,...Vc,...qc,...$c,...Oc,...zc,...kc,...Mc,...Hc},oR={...Qc,...Xc};function bn(r){return globalThis.Buffer!=null?new Uint8Array(r.buffer,r.byteOffset,r.byteLength):r}function vr(r=0){return globalThis.Buffer?.alloc!=null?bn(globalThis.Buffer.alloc(r)):new Uint8Array(r)}function br(r=0){return globalThis.Buffer?.allocUnsafe!=null?bn(globalThis.Buffer.allocUnsafe(r)):new Uint8Array(r)}function _h(r,t,e,n){return{name:r,prefix:t,encoder:{name:r,prefix:t,encode:e},decoder:{decode:n}}}var bh=_h("utf8","u",r=>"u"+new TextDecoder("utf8").decode(r),r=>new TextEncoder().encode(r.substring(1))),Jc=_h("ascii","a",r=>{let t="a";for(let e=0;e<r.length;e++)t+=String.fromCharCode(r[e]);return t},r=>{r=r.substring(1);let t=br(r.length);for(let e=0;e<r.length;e++)t[e]=r.charCodeAt(e);return t}),bE={utf8:bh,"utf-8":bh,hex:$r.base16,latin1:Jc,ascii:Jc,binary:Jc,...$r},lo=bE;function z(r,t="utf8"){let e=lo[t];if(e==null)throw new Error(`Unsupported encoding "${t}"`);return(t==="utf8"||t==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?globalThis.Buffer.from(r.buffer,r.byteOffset,r.byteLength).toString("utf8"):e.encoder.encode(r).substring(1)}var Sh=ch,_E=uh,jc=function(r){let t=0;if(r=r.toString().trim(),Sh(r)){let e=new Uint8Array(t+4);return r.split(/\./g).forEach(n=>{e[t++]=parseInt(n,10)&255}),e}if(_E(r)){let e=r.split(":",8),n;for(n=0;n<e.length;n++){let s=Sh(e[n]),o;s&&(o=jc(e[n]),e[n]=z(o.slice(0,2),"base16")),o!=null&&++n<8&&e.splice(n,0,z(o.slice(2,4),"base16"))}if(e[0]==="")for(;e.length<8;)e.unshift("0");else if(e[e.length-1]==="")for(;e.length<8;)e.push("0");else if(e.length<8){for(n=0;n<e.length&&e[n]!=="";n++);let s=[n,1];for(n=9-e.length;n>0;n--)s.push("0");e.splice.apply(e,s)}let i=new Uint8Array(t+16);for(n=0;n<e.length;n++){let s=parseInt(e[n],16);i[t++]=s>>8&255,i[t++]=s&255}return i}throw new Error("invalid ip address")},Ah=function(r,t=0,e){t=~~t,e=e??r.length-t;let n=new DataView(r.buffer);if(e===4){let i=[];for(let s=0;s<e;s++)i.push(r[t+s]);return i.join(".")}if(e===16){let i=[];for(let s=0;s<e;s+=2)i.push(n.getUint16(t+s).toString(16));return i.join(":").replace(/(^|:)0(:0)*:0(:|$)/,"$1::$3").replace(/:{3,4}/,"::")}return""};var Qi={},tu={},AE=[[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"]];AE.forEach(r=>{let t=RE(...r);tu[t.code]=t,Qi[t.name]=t});function RE(r,t,e,n,i){return{code:r,size:t,name:e,resolvable:!!n,path:!!i}}function ct(r){if(typeof r=="number"){if(tu[r]!=null)return tu[r];throw new Error(`no protocol with code: ${r}`)}else if(typeof r=="string"){if(Qi[r]!=null)return Qi[r];throw new Error(`no protocol with name: ${r}`)}throw new Error(`invalid protocol id type: ${typeof r}`)}var je=C(fo(),1);function F(r,t="utf8"){let e=lo[t];if(e==null)throw new Error(`Unsupported encoding "${t}"`);return(t==="utf8"||t==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?bn(globalThis.Buffer.from(r,"utf-8")):e.decoder.decode(`${e.prefix}${r}`)}function Mt(r,t){t==null&&(t=r.reduce((i,s)=>i+s.length,0));let e=br(t),n=0;for(let i of r)e.set(i,n),n+=i.length;return bn(e)}function Fh(r,t){switch(ct(r).code){case 4:case 41:return VE(t);case 42:return Mh(t);case 6:case 273:case 33:case 132:return Vh(t).toString();case 53:case 54:case 55:case 56:case 400:case 449:case 777:return Mh(t);case 421:return HE(t);case 444:return Uh(t);case 445:return Uh(t);case 466:return zE(t);default:return z(t,"base16")}}function Kh(r,t){switch(ct(r).code){case 4:return kh(t);case 41:return kh(t);case 42:return Oh(t);case 6:case 273:case 33:case 132:return iu(parseInt(t,10));case 53:case 54:case 55:case 56:case 400:case 449:case 777:return Oh(t);case 421:return qE(t);case 444:return GE(t);case 445:return YE(t);case 466:return $E(t);default:return F(t,"base16")}}var nu=Object.values($r).map(r=>r.decoder),KE=function(){let r=nu[0].or(nu[1]);return nu.slice(2).forEach(t=>r=r.or(t)),r}();function kh(r){if(!si(r))throw new Error("invalid ip address");return jc(r)}function VE(r){let t=Ah(r,0,r.length);if(t==null)throw new Error("ipBuff is required");if(!si(t))throw new Error("invalid ip address");return t}function iu(r){let t=new ArrayBuffer(2);return new DataView(t).setUint16(0,r),new Uint8Array(t)}function Vh(r){return new DataView(r.buffer).getUint16(r.byteOffset)}function Oh(r){let t=F(r),e=Uint8Array.from(je.default.encode(t.length));return Mt([e,t],e.length+t.length)}function Mh(r){let t=je.default.decode(r);if(r=r.slice(je.default.decode.bytes),r.length!==t)throw new Error("inconsistent lengths");return z(r)}function qE(r){let t;r[0]==="Q"||r[0]==="1"?t=xn(Ot.decode(`z${r}`)).bytes:t=pt.parse(r).multihash.bytes;let e=Uint8Array.from(je.default.encode(t.length));return Mt([e,t],e.length+t.length)}function $E(r){let t=KE.decode(r),e=Uint8Array.from(je.default.encode(t.length));return Mt([e,t],e.length+t.length)}function zE(r){let t=je.default.decode(r),e=r.slice(je.default.decode.bytes);if(e.length!==t)throw new Error("inconsistent lengths");return"u"+z(e,"base64url")}function HE(r){let t=je.default.decode(r),e=r.slice(je.default.decode.bytes);if(e.length!==t)throw new Error("inconsistent lengths");return z(e,"base58btc")}function GE(r){let t=r.split(":");if(t.length!==2)throw new Error(`failed to parse onion addr: ["'${t.join('", "')}'"]' does not contain a port number`);if(t[0].length!==16)throw new Error(`failed to parse onion addr: ${t[0]} not a Tor onion address.`);let e=ye.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 i=iu(n);return Mt([e,i],e.length+i.length)}function YE(r){let t=r.split(":");if(t.length!==2)throw new Error(`failed to parse onion addr: ["'${t.join('", "')}'"]' does not contain a port number`);if(t[0].length!==56)throw new Error(`failed to parse onion addr: ${t[0]} not a Tor onion3 address.`);let e=ye.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 i=iu(n);return Mt([e,i],e.length+i.length)}function Uh(r){let t=r.slice(0,r.length-2),e=r.slice(r.length-2),n=z(t,"base32"),i=Vh(e);return`${n}:${i}`}var ui=C(fo(),1);function WE(r){let t=[],e=r.split("/").slice(1);if(e.length===1&&e[0]==="")return[];for(let n=0;n<e.length;n++){let i=e[n],s=ct(i);if(s.size===0){t.push([i]);continue}if(n++,n>=e.length)throw $h("invalid address: "+r);if(s.path===!0){t.push([i,uu(e.slice(n).join("/"))]);break}t.push([i,e[n]])}return t}function QE(r){let t=[];return r.map(e=>{let n=mo(e);return t.push(n.name),e.length>1&&e[1]!=null&&t.push(e[1]),null}),uu(t.join("/"))}function XE(r){return r.map(t=>{Array.isArray(t)||(t=[t]);let e=mo(t);return t.length>1?[e.code,Kh(e.code,t[1])]:[e.code]})}function su(r){return r.map(t=>{let e=mo(t);return t[1]!=null?[e.code,Fh(e.code,t[1])]:[e.code]})}function ou(r){return po(Mt(r.map(t=>{let e=mo(t),n=Uint8Array.from(ui.default.encode(e.code));return t.length>1&&t[1]!=null&&(n=Mt([n,t[1]])),n})))}function au(r,t){return r.size>0?r.size/8:r.size===0?0:ui.default.decode(t)+(ui.default.decode.bytes??0)}function ho(r){let t=[],e=0;for(;e<r.length;){let n=ui.default.decode(r,e),i=ui.default.decode.bytes??0,s=ct(n),o=au(s,r.slice(e+i));if(o===0){t.push([n]),e+=i;continue}let a=r.slice(e+i,e+i+o);if(e+=o+i,e>r.length)throw $h("Invalid address Uint8Array: "+z(r,"base16"));t.push([n,a])}return t}function cu(r){let t=ho(r),e=su(t);return QE(e)}function ZE(r){r=uu(r);let t=WE(r),e=XE(t);return ou(e)}function qh(r){return ZE(r)}function po(r){let t=JE(r);if(t!=null)throw t;return Uint8Array.from(r)}function JE(r){try{ho(r)}catch(t){return t}}function uu(r){return"/"+r.trim().split("/").filter(t=>t).join("/")}function $h(r){return new Error("Error parsing address: "+r)}function mo(r){return ct(r[0])}var fu=C(fo(),1);var Yh=C(lt(),1);function mt(r,t){if(r===t)return!0;if(r.byteLength!==t.byteLength)return!1;for(let e=0;e<r.byteLength;e++)if(r[e]!==t[e])return!1;return!0}var li=function(r,t,e,n){if(e==="a"&&!n)throw new TypeError("Private accessor was defined without a getter");if(typeof t=="function"?r!==t||!n:!t.has(r))throw new TypeError("Cannot read private member from an object whose class did not declare it");return e==="m"?n:e==="a"?n.call(r):n?n.value:t.get(r)},lu=function(r,t,e,n,i){if(n==="m")throw new TypeError("Private method is not writable");if(n==="a"&&!i)throw new TypeError("Private accessor was defined without a setter");if(typeof t=="function"?r!==t||!i:!t.has(r))throw new TypeError("Cannot write private member to an object whose class did not declare it");return n==="a"?i.call(r,e):i?i.value=e:t.set(r,e),e},Xi,Zi,Ji,Gh,ex=Symbol.for("nodejs.util.inspect.custom"),rx=[ct("dns").code,ct("dns4").code,ct("dns6").code,ct("dnsaddr").code],hu=new Map,Wh=Symbol.for("@multiformats/js-multiaddr/multiaddr");function Qh(r,t){if(r==null)throw new Error("requires node address object");if(t==null)throw new Error("requires transport protocol");let e,n=r.address;switch(r.family){case 4:e="ip4";break;case 6:if(e="ip6",n.includes("%")){let i=n.split("%");if(i.length!==2)throw Error("Multiple ip6 zones in multiaddr");n=i[0],e=`/ip6zone/${i[1]}/ip6`}break;default:throw Error("Invalid addr family, should be 4 or 6.")}return new tr("/"+[e,n,t,r.port].join("/"))}function ge(r){return!!r?.[Wh]}var tr=class{constructor(t){if(Xi.set(this,void 0),Zi.set(this,void 0),Ji.set(this,void 0),this[Gh]=!0,t==null&&(t=""),t instanceof Uint8Array)this.bytes=po(t);else if(typeof t=="string"){if(t.length>0&&t.charAt(0)!=="/")throw new Error(`multiaddr "${t}" must start with a "/"`);this.bytes=qh(t)}else if(ge(t))this.bytes=po(t.bytes);else throw new Error("addr must be a string, Buffer, or another Multiaddr")}toString(){return li(this,Xi,"f")==null&&lu(this,Xi,cu(this.bytes),"f"),li(this,Xi,"f")}toJSON(){return this.toString()}toOptions(){let t,e,n,i,s="",o=ct("tcp"),a=ct("udp"),c=ct("ip4"),u=ct("ip6"),l=ct("dns6"),f=ct("ip6zone");for(let[h,p]of this.stringTuples())h===f.code&&(s=`%${p??""}`),rx.includes(h)&&(e=o.name,i=443,n=`${p??""}${s}`,t=h===l.code?6:4),(h===o.code||h===a.code)&&(e=ct(h).name,i=parseInt(p??"")),(h===c.code||h===u.code)&&(e=ct(h).name,n=`${p??""}${s}`,t=h===u.code?6:4);if(t==null||e==null||n==null||i==null)throw new Error('multiaddr must have a valid format: "/{ip4, ip6, dns4, dns6, dnsaddr}/{address}/{tcp, udp}/{port}".');return{family:t,host:n,transport:e,port:i}}protos(){return this.protoCodes().map(t=>Object.assign({},ct(t)))}protoCodes(){let t=[],e=this.bytes,n=0;for(;n<e.length;){let i=fu.default.decode(e,n),s=fu.default.decode.bytes??0,o=ct(i),a=au(o,e.slice(n+s));n+=a+s,t.push(i)}return t}protoNames(){return this.protos().map(t=>t.name)}tuples(){return li(this,Zi,"f")==null&&lu(this,Zi,ho(this.bytes),"f"),li(this,Zi,"f")}stringTuples(){return li(this,Ji,"f")==null&&lu(this,Ji,su(this.tuples()),"f"),li(this,Ji,"f")}encapsulate(t){return t=new tr(t),new tr(this.toString()+t.toString())}decapsulate(t){let e=t.toString(),n=this.toString(),i=n.lastIndexOf(e);if(i<0)throw new Error(`Address ${this.toString()} does not contain subaddress: ${t.toString()}`);return new tr(n.slice(0,i))}decapsulateCode(t){let e=this.tuples();for(let n=e.length-1;n>=0;n--)if(e[n][0]===t)return new tr(ou(e.slice(0,n)));return this}getPeerId(){try{let e=this.stringTuples().filter(n=>n[0]===Qi.ipfs.code).pop();if(e?.[1]!=null){let n=e[1];return n[0]==="Q"||n[0]==="1"?z(Ot.decode(`z${n}`),"base58btc"):z(pt.parse(n).multihash.bytes,"base58btc")}return null}catch{return null}}getPath(){let t=null;try{t=this.stringTuples().filter(e=>ct(e[0]).path===!0)[0][1],t==null&&(t=null)}catch{t=null}return t}equals(t){return mt(this.bytes,t.bytes)}async resolve(t){let e=this.protos().find(s=>s.resolvable);if(e==null)return[this];let n=hu.get(e.name);if(n==null)throw(0,Yh.default)(new Error(`no available resolver for ${e.name}`),"ERR_NO_AVAILABLE_RESOLVER");return(await n(this,t)).map(s=>new tr(s))}nodeAddress(){let t=this.toOptions();if(t.transport!=="tcp"&&t.transport!=="udp")throw new Error(`multiaddr must have a valid format - no protocol with name: "${t.transport}". Must have a valid transport protocol: "{tcp, udp}"`);return{family:t.family,address:t.host,port:t.port}}isThinWaistAddress(t){let e=(t??this).protos();return!(e.length!==2||e[0].code!==4&&e[0].code!==41||e[1].code!==6&&e[1].code!==273)}[(Xi=new WeakMap,Zi=new WeakMap,Ji=new WeakMap,Gh=Wh,ex)](){return`Multiaddr(${cu(this.bytes)})`}};function Lt(r){return new tr(r)}async function du(r){let t=[];for await(let e of r)t.push(e);return t}async function*yo(r,t){yield*(await du(r)).sort(t)}async function Me(r){for await(let t of r);}async function*Re(r,t){for await(let e of r)await t(e)&&(yield e)}async function*go(r,t){let e=0;if(!(t<1)){for await(let n of r)if(yield n,e++,e===t)return}}var wo=class{async open(){}async close(){}async put(t,e,n){await Promise.reject(new Error(".put is not implemented"))}async get(t,e){return await Promise.reject(new Error(".get is not implemented"))}async has(t,e){return await Promise.reject(new Error(".has is not implemented"))}async delete(t,e){await Promise.reject(new Error(".delete is not implemented"))}async*putMany(t,e={}){for await(let{key:n,value:i}of t)await this.put(n,i,e),yield{key:n,value:i}}async*getMany(t,e={}){for await(let n of t)yield this.get(n,e)}async*deleteMany(t,e={}){for await(let n of t)await this.delete(n,e),yield n}batch(){let t=[],e=[];return{put(n,i){t.push({key:n,value:i})},delete(n){e.push(n)},commit:async n=>{await Me(this.putMany(t,n)),t=[],await Me(this.deleteMany(e,n)),e=[]}}}async*_all(t,e){throw new Error("._all is not implemented")}async*_allKeys(t,e){throw new Error("._allKeys is not implemented")}query(t,e){let n=this._all(t,e);if(t.prefix!=null){let i=t.prefix;n=Re(n,s=>s.key.toString().startsWith(i))}if(Array.isArray(t.filters)&&(n=t.filters.reduce((i,s)=>Re(i,s),n)),Array.isArray(t.orders)&&(n=t.orders.reduce((i,s)=>yo(i,s),n)),t.offset!=null){let i=0,s=t.offset;n=Re(n,()=>i++>=s)}return t.limit!=null&&(n=go(n,t.limit)),n}queryKeys(t,e){let n=this._allKeys(t,e);if(t.prefix!=null){let i=t.prefix;n=Re(n,s=>s.toString().startsWith(i))}if(Array.isArray(t.filters)&&(n=t.filters.reduce((i,s)=>Re(i,s),n)),Array.isArray(t.orders)&&(n=t.orders.reduce((i,s)=>yo(i,s),n)),t.offset!=null){let i=t.offset,s=0;n=Re(n,()=>s++>=i)}return t.limit!=null&&(n=go(n,t.limit)),n}};var Eo=(r=21)=>crypto.getRandomValues(new Uint8Array(r)).reduce((t,e)=>(e&=63,e<36?t+=e.toString(36):e<62?t+=(e-26).toString(36).toUpperCase():e>62?t+="-":t+="_",t),"");var _r="/",Xh=new TextEncoder().encode(_r),xo=Xh[0],Pt=class{constructor(t,e){if(typeof t=="string")this._buf=F(t);else if(t instanceof Uint8Array)this._buf=t;else throw new Error("Invalid key, should be String of Uint8Array");if(e==null&&(e=!0),e&&this.clean(),this._buf.byteLength===0||this._buf[0]!==xo)throw new Error("Invalid key")}toString(t="utf8"){return z(this._buf,t)}uint8Array(){return this._buf}get[Symbol.toStringTag](){return`Key(${this.toString()})`}static withNamespaces(t){return new Pt(t.join(_r))}static random(){return new Pt(Eo().replace(/-/g,""))}static asKey(t){return t instanceof Uint8Array||typeof t=="string"?new Pt(t):typeof t.uint8Array=="function"?new Pt(t.uint8Array()):null}clean(){if((this._buf==null||this._buf.byteLength===0)&&(this._buf=Xh),this._buf[0]!==xo){let t=new Uint8Array(this._buf.byteLength+1);t.fill(xo,0,1),t.set(this._buf,1),this._buf=t}for(;this._buf.byteLength>1&&this._buf[this._buf.byteLength-1]===xo;)this._buf=this._buf.subarray(0,-1)}less(t){let e=this.list(),n=t.list();for(let i=0;i<e.length;i++){if(n.length<i+1)return!1;let s=e[i],o=n[i];if(s<o)return!0;if(s>o)return!1}return e.length<n.length}reverse(){return Pt.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 nx(this.baseNamespace())}name(){return ix(this.baseNamespace())}instance(t){return new Pt(this.toString()+":"+t)}path(){let t=this.parent().toString();return t.endsWith(_r)||(t+=_r),t+=this.type(),new Pt(t)}parent(){let t=this.list();return t.length===1?new Pt(_r):new Pt(t.slice(0,-1).join(_r))}child(t){return this.toString()===_r?t:t.toString()===_r?this:new Pt(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 Pt.withNamespaces([...this.namespaces(),...sx(t.map(e=>e.namespaces()))])}};function nx(r){let t=r.split(":");return t.length<2?"":t.slice(0,-1).join(":")}function ix(r){let t=r.split(":");return t[t.length-1]}function sx(r){return[].concat(...r)}var Zh=C(lt(),1);function Jh(r){return r=r??new Error("Not Found"),(0,Zh.default)(r,"ERR_NOT_FOUND")}var vo=class extends wo{constructor(){super(),this.data=new Map}async put(t,e){this.data.set(t.toString(),e)}async get(t){let e=this.data.get(t.toString());if(e==null)throw Jh();return e}async has(t){return this.data.has(t.toString())}async delete(t){this.data.delete(t.toString())}async*_all(){for(let[t,e]of this.data.entries())yield{key:new Pt(t),value:e}}async*_allKeys(){for(let t of this.data.keys())yield new Pt(t)}};var es=C(lt(),1);var Y;(function(r){r.NOT_STARTED_YET="The libp2p node is not started yet",r.DHT_DISABLED="DHT is not available",r.PUBSUB_DISABLED="PubSub is not available",r.CONN_ENCRYPTION_REQUIRED="At least one connection encryption module is required",r.ERR_TRANSPORTS_REQUIRED="At least one transport module is required",r.ERR_PROTECTOR_REQUIRED="Private network is enforced, but no protector was provided",r.NOT_FOUND="Not found"})(Y||(Y={}));var _;(function(r){r.DHT_DISABLED="ERR_DHT_DISABLED",r.ERR_PUBSUB_DISABLED="ERR_PUBSUB_DISABLED",r.PUBSUB_NOT_STARTED="ERR_PUBSUB_NOT_STARTED",r.DHT_NOT_STARTED="ERR_DHT_NOT_STARTED",r.CONN_ENCRYPTION_REQUIRED="ERR_CONN_ENCRYPTION_REQUIRED",r.ERR_TRANSPORTS_REQUIRED="ERR_TRANSPORTS_REQUIRED",r.ERR_PROTECTOR_REQUIRED="ERR_PROTECTOR_REQUIRED",r.ERR_PEER_DIAL_INTERCEPTED="ERR_PEER_DIAL_INTERCEPTED",r.ERR_CONNECTION_INTERCEPTED="ERR_CONNECTION_INTERCEPTED",r.ERR_INVALID_PROTOCOLS_FOR_STREAM="ERR_INVALID_PROTOCOLS_FOR_STREAM",r.ERR_CONNECTION_ENDED="ERR_CONNECTION_ENDED",r.ERR_CONNECTION_FAILED="ERR_CONNECTION_FAILED",r.ERR_NODE_NOT_STARTED="ERR_NODE_NOT_STARTED",r.ERR_ALREADY_ABORTED="ERR_ALREADY_ABORTED",r.ERR_TOO_MANY_ADDRESSES="ERR_TOO_MANY_ADDRESSES",r.ERR_NO_VALID_ADDRESSES="ERR_NO_VALID_ADDRESSES",r.ERR_RELAYED_DIAL="ERR_RELAYED_DIAL",r.ERR_DIALED_SELF="ERR_DIALED_SELF",r.ERR_DISCOVERED_SELF="ERR_DISCOVERED_SELF",r.ERR_DUPLICATE_TRANSPORT="ERR_DUPLICATE_TRANSPORT",r.ERR_ENCRYPTION_FAILED="ERR_ENCRYPTION_FAILED",r.ERR_HOP_REQUEST_FAILED="ERR_HOP_REQUEST_FAILED",r.ERR_INVALID_KEY="ERR_INVALID_KEY",r.ERR_INVALID_MESSAGE="ERR_INVALID_MESSAGE",r.ERR_INVALID_PARAMETERS="ERR_INVALID_PARAMETERS",r.ERR_INVALID_PEER="ERR_INVALID_PEER",r.ERR_MUXER_UNAVAILABLE="ERR_MUXER_UNAVAILABLE",r.ERR_NOT_FOUND="ERR_NOT_FOUND",r.ERR_TIMEOUT="ERR_TIMEOUT",r.ERR_TRANSPORT_UNAVAILABLE="ERR_TRANSPORT_UNAVAILABLE",r.ERR_TRANSPORT_DIAL_FAILED="ERR_TRANSPORT_DIAL_FAILED",r.ERR_UNSUPPORTED_PROTOCOL="ERR_UNSUPPORTED_PROTOCOL",r.ERR_PROTOCOL_HANDLER_ALREADY_REGISTERED="ERR_PROTOCOL_HANDLER_ALREADY_REGISTERED",r.ERR_INVALID_MULTIADDR="ERR_INVALID_MULTIADDR",r.ERR_SIGNATURE_NOT_VALID="ERR_SIGNATURE_NOT_VALID",r.ERR_FIND_SELF="ERR_FIND_SELF",r.ERR_NO_ROUTERS_AVAILABLE="ERR_NO_ROUTERS_AVAILABLE",r.ERR_CONNECTION_NOT_MULTIPLEXED="ERR_CONNECTION_NOT_MULTIPLEXED",r.ERR_NO_DIAL_TOKENS="ERR_NO_DIAL_TOKENS",r.ERR_KEYCHAIN_REQUIRED="ERR_KEYCHAIN_REQUIRED",r.ERR_INVALID_CMS="ERR_INVALID_CMS",r.ERR_MISSING_KEYS="ERR_MISSING_KEYS",r.ERR_NO_KEY="ERR_NO_KEY",r.ERR_INVALID_KEY_NAME="ERR_INVALID_KEY_NAME",r.ERR_INVALID_KEY_TYPE="ERR_INVALID_KEY_TYPE",r.ERR_KEY_ALREADY_EXISTS="ERR_KEY_ALREADY_EXISTS",r.ERR_INVALID_KEY_SIZE="ERR_INVALID_KEY_SIZE",r.ERR_KEY_NOT_FOUND="ERR_KEY_NOT_FOUND",r.ERR_OLD_KEY_NAME_INVALID="ERR_OLD_KEY_NAME_INVALID",r.ERR_NEW_KEY_NAME_INVALID="ERR_NEW_KEY_NAME_INVALID",r.ERR_PASSWORD_REQUIRED="ERR_PASSWORD_REQUIRED",r.ERR_PEM_REQUIRED="ERR_PEM_REQUIRED",r.ERR_CANNOT_READ_KEY="ERR_CANNOT_READ_KEY",r.ERR_MISSING_PRIVATE_KEY="ERR_MISSING_PRIVATE_KEY",r.ERR_MISSING_PUBLIC_KEY="ERR_MISSING_PUBLIC_KEY",r.ERR_INVALID_OLD_PASS_TYPE="ERR_INVALID_OLD_PASS_TYPE",r.ERR_INVALID_NEW_PASS_TYPE="ERR_INVALID_NEW_PASS_TYPE",r.ERR_INVALID_PASS_LENGTH="ERR_INVALID_PASS_LENGTH",r.ERR_NOT_IMPLEMENTED="ERR_NOT_IMPLEMENTED",r.ERR_WRONG_PING_ACK="ERR_WRONG_PING_ACK",r.ERR_INVALID_RECORD="ERR_INVALID_RECORD",r.ERR_ALREADY_SUCCEEDED="ERR_ALREADY_SUCCEEDED",r.ERR_NO_HANDLER_FOR_PROTOCOL="ERR_NO_HANDLER_FOR_PROTOCOL",r.ERR_TOO_MANY_OUTBOUND_PROTOCOL_STREAMS="ERR_TOO_MANY_OUTBOUND_PROTOCOL_STREAMS",r.ERR_TOO_MANY_INBOUND_PROTOCOL_STREAMS="ERR_TOO_MANY_INBOUND_PROTOCOL_STREAMS",r.ERR_CONNECTION_DENIED="ERR_CONNECTION_DENIED",r.ERR_TRANSFER_LIMIT_EXCEEDED="ERR_TRANSFER_LIMIT_EXCEEDED"})(_||(_={}));var jh=C(lt(),1);async function*pu(r,t){for await(let e of r)yield t(e)}async function*ji(r,t){yield*pu(r,async e=>(await t.addressBook.add(e.id,e.multiaddrs),e))}function bo(r){let t=new Set;return Re(r,e=>t.has(e.id.toString())?!1:(t.add(e.id.toString()),!0))}async function*_o(r,t=1){let e=0;for await(let n of r)e++,yield n;if(e<t)throw(0,jh.default)(new Error("not found"),"NOT_FOUND")}var E0=C(zr(),1);var Ao=class{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}},fi=class{constructor(t={}){this.hwm=t.splitLimit??16,this.head=new Ao(this.hwm),this.tail=this.head,this.size=0}calculateSize(t){return t?.byteLength!=null?t.byteLength:1}push(t){if(t?.value!=null&&(this.size+=this.calculateSize(t.value)),!this.head.push(t)){let e=this.head;this.head=e.next=new Ao(2*this.head.buffer.length),this.head.push(t)}}shift(){let t=this.tail.shift();if(t===void 0&&this.tail.next!=null){let e=this.tail.next;this.tail.next=null,this.tail=e,t=this.tail.shift()}return t?.value!=null&&(this.size-=this.calculateSize(t.value)),t}isEmpty(){return this.head.isEmpty()}};function _n(r={}){return ux(e=>{let n=e.shift();if(n==null)return{done:!0};if(n.error!=null)throw n.error;return{done:n.done===!0,value:n.value}},r)}function ux(r,t){t=t??{};let e=t.onEnd,n=new fi,i,s,o,a=async()=>n.isEmpty()?o?{done:!0}:await new Promise((m,y)=>{s=g=>{s=null,n.push(g);try{m(r(n))}catch(E){y(E)}return i}}):r(n),c=m=>s!=null?s(m):(n.push(m),i),u=m=>(n=new fi,s!=null?s({error:m}):(n.push({error:m}),i)),l=m=>{if(o)return i;if(t?.objectMode!==!0&&m?.byteLength==null)throw new Error("objectMode was not true but tried to push non-Uint8Array value");return c({done:!1,value:m})},f=m=>o?i:(o=!0,m!=null?u(m):c({done:!0})),d=()=>(n=new fi,f(),{done:!0}),h=m=>(f(m),{done:!0});if(i={[Symbol.asyncIterator](){return this},next:a,return:d,throw:h,push:l,end:f,get readableLength(){return n.size}},e==null)return i;let p=i;return i={[Symbol.asyncIterator](){return this},next(){return p.next()},throw(m){return p.throw(m),e!=null&&(e(m),e=void 0),{done:!0}},return(){return p.return(),e!=null&&(e(),e=void 0),{done:!0}},push:l,end(m){return p.end(m),e!=null&&(e(m),e=void 0),i},get readableLength(){return p.readableLength}},i}async function*Sr(...r){let t=_n({objectMode:!0});Promise.resolve().then(async()=>{try{await Promise.all(r.map(async e=>{for await(let n of e)t.push(n)})),t.end()}catch(e){t.end(e)}}),yield*t}var lx=(...r)=>{let t;for(;r.length>0;)t=r.shift()(t);return t},s0=r=>r!=null&&(typeof r[Symbol.asyncIterator]=="function"||typeof r[Symbol.iterator]=="function"||typeof r.next=="function"),gu=r=>r!=null&&typeof r.sink=="function"&&s0(r.source),fx=r=>t=>{let e=r.sink(t);if(e.then!=null){let n=_n({objectMode:!0});return e.then(()=>{n.end()},s=>{n.end(s)}),Sr(n,async function*(){yield*r.source,n.end()}())}return r.source};function Zt(r,...t){if(gu(r)){let n=r;r=()=>n.source}else if(s0(r)){let n=r;r=()=>n}let e=[r,...t];if(e.length>1&&gu(e[e.length-1])&&(e[e.length-1]=e[e.length-1].sink),e.length>2)for(let n=1;n<e.length-1;n++)gu(e[n])&&(e[n]=fx(e[n]));return lx(...e)}async function we(r){for await(let t of r)return t}var Co=C(a0(),1),x0=C(Ar(),1),w0=U("libp2p:peer-routing"),To=class{constructor(t,e){this.components=t,this.routers=e.routers??[],this.refreshManagerInit=e.refreshManager??{},this.started=!1,this._findClosestPeersTask=this._findClosestPeersTask.bind(this)}isStarted(){return this.started}async start(){this.started||this.routers.length===0||this.timeoutId!=null||this.refreshManagerInit.enabled===!1||(this.timeoutId=(0,Co.setDelayedInterval)(this._findClosestPeersTask,this.refreshManagerInit.interval,this.refreshManagerInit.bootDelay),this.started=!0)}async _findClosestPeersTask(){if(this.abortController==null)try{this.abortController=new E0.TimeoutController(this.refreshManagerInit.timeout??1e4);try{(0,x0.setMaxListeners)?.(1/0,this.abortController.signal)}catch{}await Me(this.getClosestPeers(this.components.peerId.toBytes(),{signal:this.abortController.signal}))}catch(t){w0.error(t)}finally{this.abortController?.clear(),this.abortController=void 0}}async stop(){(0,Co.clearDelayedInterval)(this.timeoutId),this.abortController?.abort(),this.started=!1}async findPeer(t,e){if(this.routers.length===0)throw(0,es.default)(new Error("No peer routers available"),_.ERR_NO_ROUTERS_AVAILABLE);if(t.toString()===this.components.peerId.toString())throw(0,es.default)(new Error("Should not try to find self"),_.ERR_FIND_SELF);let n=await Zt(Sr(...this.routers.map(i=>async function*(){try{yield await i.findPeer(t,e)}catch(s){w0.error(s)}}())),i=>Re(i,Boolean),i=>ji(i,this.components.peerStore),async i=>await we(i));if(n!=null)return n;throw(0,es.default)(new Error(Y.NOT_FOUND),_.ERR_NOT_FOUND)}async*getClosestPeers(t,e){if(this.routers.length===0)throw(0,es.default)(new Error("No peer routers available"),_.ERR_NO_ROUTERS_AVAILABLE);yield*Zt(Sr(...this.routers.map(n=>n.getClosestPeers(t,e))),n=>ji(n,this.components.peerStore),n=>bo(n),n=>_o(n))}};var Hr=C(lt(),1);var Bo=class{constructor(t,e){this.routers=e.routers??[],this.started=!1,this.components=t}isStarted(){return this.started}async start(){this.started=!0}async stop(){this.started=!1}async*findProviders(t,e={}){if(this.routers.length===0)throw(0,Hr.default)(new Error("No content this.routers available"),_.ERR_NO_ROUTERS_AVAILABLE);yield*Zt(Sr(...this.routers.map(n=>n.findProviders(t,e))),n=>ji(n,this.components.peerStore),n=>bo(n),n=>_o(n))}async provide(t,e={}){if(this.routers.length===0)throw(0,Hr.default)(new Error("No content routers available"),_.ERR_NO_ROUTERS_AVAILABLE);await Promise.all(this.routers.map(async n=>{await n.provide(t,e)}))}async put(t,e,n){if(!this.isStarted())throw(0,Hr.default)(new Error(Y.NOT_STARTED_YET),_.DHT_NOT_STARTED);let i=this.components.dht;i!=null&&await Me(i.put(t,e,n))}async get(t,e){if(!this.isStarted())throw(0,Hr.default)(new Error(Y.NOT_STARTED_YET),_.DHT_NOT_STARTED);let n=this.components.dht;if(n!=null){for await(let i of n.get(t,e))if(i.name==="VALUE")return i.value}throw(0,Hr.default)(new Error(Y.NOT_FOUND),_.ERR_NOT_FOUND)}async*getMany(t,e,n){if(!this.isStarted())throw(0,Hr.default)(new Error(Y.NOT_STARTED_YET),_.DHT_NOT_STARTED);if(e==null||e===0)return;let i=0,s=this.components.dht;if(s!=null){for await(let o of s.get(t,n))if(o.name==="VALUE"&&(yield{from:o.from,val:o.value},i++,i===e))break}if(i===0)throw(0,Hr.default)(new Error(Y.NOT_FOUND),_.ERR_NOT_FOUND)}};var T=class extends Error{constructor(t,e,n){super(t),this.code=e,this.name=n?.name??"CodeError",this.props=n??{}}};var Eu=Symbol.for("@libp2p/peer-id");function Sn(r){return r!=null&&!!r[Eu]}var bx=Symbol.for("nodejs.util.inspect.custom"),v0=Object.values($r).map(r=>r.decoder).reduce((r,t)=>r.or(t),$r.identity.decoder),b0=114,xu=36,vu=37,rs=class{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()})`}get[Eu](){return!0}toString(){return this.string==null&&(this.string=Ot.encode(this.multihash.bytes).slice(1)),this.string}toCID(){return pt.createV1(b0,this.multihash)}toBytes(){return this.multihash.bytes}toJSON(){return this.toString()}equals(t){if(t instanceof Uint8Array)return mt(this.multihash.bytes,t);if(typeof t=="string")return st(t).equals(this);if(t?.multihash?.bytes!=null)return mt(this.multihash.bytes,t.multihash.bytes);throw new Error("not valid Id")}[bx](){return`PeerId(${this.toString()})`}},An=class extends rs{constructor(t){super({...t,type:"RSA"}),this.type="RSA",this.publicKey=t.publicKey}},Rn=class extends rs{constructor(t){super({...t,type:"Ed25519"}),this.type="Ed25519",this.publicKey=t.multihash.digest}},In=class extends rs{constructor(t){super({...t,type:"secp256k1"}),this.type="secp256k1",this.publicKey=t.multihash.digest}};function Ut(r){if(r.type==="RSA")return new An(r);if(r.type==="Ed25519")return new Rn(r);if(r.type==="secp256k1")return new In(r);throw new T("Not a PeerId","ERR_INVALID_PARAMETERS")}function st(r,t){if(t=t??v0,r.charAt(0)==="1"||r.charAt(0)==="Q"){let e=xn(Ot.decode(`z${r}`));return r.startsWith("12D")?new Rn({multihash:e}):r.startsWith("16U")?new In({multihash:e}):new An({multihash:e})}return pi(v0.decode(r))}function pi(r){try{let t=xn(r);if(t.code===qr.code){if(t.digest.length===xu)return new Rn({multihash:t});if(t.digest.length===vu)return new In({multihash:t})}if(t.code===ie.code)return new An({multihash:t})}catch{return _x(pt.decode(r))}throw new Error("Supplied PeerID CID is invalid")}function _x(r){if(r==null||r.multihash==null||r.version==null||r.version===1&&r.code!==b0)throw new Error("Supplied PeerID CID is invalid");let t=r.multihash;if(t.code===ie.code)return new An({multihash:r.multihash});if(t.code===qr.code){if(t.digest.length===xu)return new Rn({multihash:r.multihash});if(t.digest.length===vu)return new In({multihash:r.multihash})}throw new Error("Supplied PeerID CID is invalid")}async function Gr(r,t){return r.length===xu?new Rn({multihash:Je(qr.code,r),privateKey:t}):r.length===vu?new In({multihash:Je(qr.code,r),privateKey:t}):new An({multihash:await ie.digest(r),publicKey:r,privateKey:t})}var Sx=r=>r,Do=class extends Dt{constructor(t,e){super();let{listen:n=[],announce:i=[]}=e;this.components=t,this.listen=n.map(s=>s.toString()),this.announce=new Set(i.map(s=>s.toString())),this.observed=new Set,this.announceFilter=e.announceFilter??Sx}getListenAddrs(){return Array.from(this.listen).map(t=>Lt(t))}getAnnounceAddrs(){return Array.from(this.announce).map(t=>Lt(t))}getObservedAddrs(){return Array.from(this.observed).map(t=>Lt(t))}confirmObservedAddr(t){}removeObservedAddr(t){}addObservedAddr(t){let e=Lt(t),n=e.getPeerId();n!=null&&st(n).equals(this.components.peerId)&&(e=e.decapsulate(Lt(`/p2p/${this.components.peerId.toString()}`)));let i=e.toString();this.observed.has(i)||(this.observed.add(i),this.dispatchEvent(new $("change:addresses")))}getAddresses(){let t=this.getAnnounceAddrs().map(n=>n.toString());t.length===0&&(t=this.components.transportManager.getAddrs().map(n=>n.toString())),t=t.concat(this.getObservedAddrs().map(n=>n.toString()));let e=new Set(t);return this.announceFilter(Array.from(e).map(n=>Lt(n))).map(n=>n.protos().pop()?.path===!0||n.getPeerId()===this.components.peerId.toString()?n:n.encapsulate(`/p2p/${this.components.peerId.toString()}`))}};var Ko=C(lt(),1);var D0=C(B0(),1),Ie=D0.default;var L0=U("libp2p:connection-manager:latency-monitor:visibility-change-emitter"),No=class extends Dt{constructor(){super(),this.hidden="hidden",this.visibilityChange="visibilityChange",globalThis.document!=null&&(this._initializeVisibilityVarNames(),this._addVisibilityChangeListener())}_initializeVisibilityVarNames(){let t="hidden",e="visibilitychange";typeof globalThis.document.hidden<"u"?(t="hidden",e="visibilitychange"):typeof globalThis.document.mozHidden<"u"?(t="mozHidden",e="mozvisibilitychange"):typeof globalThis.document.msHidden<"u"?(t="msHidden",e="msvisibilitychange"):typeof globalThis.document.webkitHidden<"u"&&(t="webkitHidden",e="webkitvisibilitychange"),this.hidden=t,this.visibilityChange=e}_addVisibilityChangeListener(){typeof globalThis.document.addEventListener>"u"||typeof document[this.hidden]>"u"?L0("Checking page visibility requires a browser that supports the Page Visibility API."):globalThis.document.addEventListener(this.visibilityChange,this._handleVisibilityChange.bind(this),!1)}isVisible(){if(!(this.hidden===void 0||document[this.hidden]===void 0))return document[this.hidden]==null}_handleVisibilityChange(){let t=globalThis.document[this.hidden]===!1;L0(t?"Page Visible":"Page Hidden"),this.dispatchEvent(new $("visibilityChange",{detail:t}))}};var Rr=U("libp2p:connection-manager:latency-monitor"),ko=class extends Dt{constructor(t={}){super();let{latencyCheckIntervalMs:e,dataEmitIntervalMs:n,asyncTestFn:i,latencyRandomPercentage:s}=t;this.latencyCheckIntervalMs=e??500,this.latencyRandomPercentage=s??10,this.latencyCheckMultiply=2*(this.latencyRandomPercentage/100)*this.latencyCheckIntervalMs,this.latencyCheckSubtract=this.latencyCheckMultiply/2,this.dataEmitIntervalMs=n===null||n===0?void 0:n??5*1e3,Rr("latencyCheckIntervalMs: %s dataEmitIntervalMs: %s",this.latencyCheckIntervalMs,this.dataEmitIntervalMs),this.dataEmitIntervalMs!=null?Rr("Expecting ~%s events per summary",this.latencyCheckIntervalMs/this.dataEmitIntervalMs):Rr("Not emitting summaries"),this.asyncTestFn=i,globalThis.process?.hrtime!=null?(Rr("Using process.hrtime for timing"),this.now=globalThis.process.hrtime,this.getDeltaMS=o=>{let a=this.now(o);return a[0]*1e3+a[1]/1e6}):typeof window<"u"&&window.performance?.now!=null?(Rr("Using performance.now for timing"),this.now=window.performance.now.bind(window.performance),this.getDeltaMS=o=>Math.round(this.now()-o)):(Rr("Using Date.now for timing"),this.now=Date.now,this.getDeltaMS=o=>this.now()-o),this.latencyData=this.initLatencyData()}start(){Bx()&&(this.visibilityChangeEmitter=new No,this.visibilityChangeEmitter.addEventListener("visibilityChange",t=>{let{detail:e}=t;e?this._startTimers():(this._emitSummary(),this._stopTimers())})),this.visibilityChangeEmitter?.isVisible()===!0&&this._startTimers()}stop(){this._stopTimers()}_startTimers(){this.checkLatencyID==null&&(this.checkLatency(),this.dataEmitIntervalMs!=null&&(this.emitIntervalID=setInterval(()=>{this._emitSummary()},this.dataEmitIntervalMs),typeof this.emitIntervalID.unref=="function"&&this.emitIntervalID.unref()))}_stopTimers(){this.checkLatencyID!=null&&(clearTimeout(this.checkLatencyID),this.checkLatencyID=void 0),this.emitIntervalID!=null&&(clearInterval(this.emitIntervalID),this.emitIntervalID=void 0)}_emitSummary(){let t=this.getSummary();t.events>0&&this.dispatchEvent(new $("data",{detail:t}))}getSummary(){let t={events:this.latencyData.events,minMs:this.latencyData.minMs,maxMs:this.latencyData.maxMs,avgMs:this.latencyData.events>0?this.latencyData.totalMs/this.latencyData.events:Number.POSITIVE_INFINITY,lengthMs:this.getDeltaMS(this.latencyData.startTime)};return this.latencyData=this.initLatencyData(),Rr.trace("Summary: %O",t),t}checkLatency(){let t=Math.random()*this.latencyCheckMultiply-this.latencyCheckSubtract,e={deltaOffset:Math.ceil(this.latencyCheckIntervalMs+t),startTime:this.now()},n=()=>{if(this.checkLatencyID==null)return;let i=this.getDeltaMS(e.startTime)-e.deltaOffset;this.checkLatency(),this.latencyData.events++,this.latencyData.minMs=Math.min(this.latencyData.minMs,i),this.latencyData.maxMs=Math.max(this.latencyData.maxMs,i),this.latencyData.totalMs+=i,Rr.trace("MS: %s Data: %O",i,this.latencyData)};Rr.trace("localData: %O",e),this.checkLatencyID=setTimeout(()=>{this.asyncTestFn!=null?(e.deltaOffset=0,e.startTime=this.now(),this.asyncTestFn(n)):(e.deltaOffset-=1,n())},e.deltaOffset),typeof this.checkLatencyID.unref=="function"&&this.checkLatencyID.unref()}initLatencyData(){return{startTime:this.now(),minMs:Number.POSITIVE_INFINITY,maxMs:Number.NEGATIVE_INFINITY,events:0,totalMs:0}}};function Bx(){return typeof globalThis.window<"u"}var Vo=C(Ar(),1);var Oo="OPEN",_u="CLOSING",Mo="CLOSED";function Ir(r,t){let e={[Symbol.iterator]:()=>e,next:()=>{let n=r.next(),i=n.value;return n.done===!0||i==null?{done:!0,value:void 0}:{done:!1,value:t(i)}}};return e}var ns=class{constructor(t){if(this.map=new Map,t!=null)for(let[e,n]of t.entries())this.map.set(e.toString(),n)}[Symbol.iterator](){return this.entries()}clear(){this.map.clear()}delete(t){this.map.delete(t.toString())}entries(){return Ir(this.map.entries(),t=>[st(t[0]),t[1]])}forEach(t){this.map.forEach((e,n)=>{t(e,st(n),this)})}get(t){return this.map.get(t.toString())}has(t){return this.map.has(t.toString())}set(t,e){this.map.set(t.toString(),e)}keys(){return Ir(this.map.keys(),t=>st(t))}values(){return this.map.values()}get size(){return this.map.size}};var Tr=class{constructor(t){if(this.set=new Set,t!=null)for(let e of t)this.set.add(e.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 Ir(this.set.entries(),t=>{let e=st(t[0]);return[e,e]})}forEach(t){this.set.forEach(e=>{let n=st(e);t(n,n,this)})}has(t){return this.set.has(t.toString())}values(){return Ir(this.set.values(),t=>st(t))}intersection(t){let e=new Tr;for(let n of t)this.has(n)&&e.add(n);return e}difference(t){let e=new Tr;for(let n of this)t.has(n)||e.add(n);return e}union(t){let e=new Tr;for(let n of t)e.add(n);for(let n of this)e.add(n);return e}};var gi=class{constructor(t){if(this.list=[],t!=null)for(let e of t)this.list.push(e.toString())}[Symbol.iterator](){return Ir(this.list.entries(),t=>st(t[1]))}concat(t){let e=new gi(this);for(let n of t)e.push(n);return e}entries(){return Ir(this.list.entries(),t=>[t[0],st(t[1])])}every(t){return this.list.every((e,n)=>t(st(e),n,this))}filter(t){let e=new gi;return this.list.forEach((n,i)=>{let s=st(n);t(s,i,this)&&e.push(s)}),e}find(t){let e=this.list.find((n,i)=>t(st(n),i,this));if(e!=null)return st(e)}findIndex(t){return this.list.findIndex((e,n)=>t(st(e),n,this))}forEach(t){this.list.forEach((e,n)=>{t(st(e),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 st(t)}push(...t){for(let e of t)this.list.push(e.toString())}shift(){let t=this.list.shift();if(t!=null)return st(t)}unshift(...t){let e=this.list.length;for(let n=t.length-1;n>-1;n--)e=this.list.unshift(t[n].toString());return e}get length(){return this.list.length}};var Mu=C(zr(),1);var P0="keep-alive";var Bd=C(Td(),1);var Cd=C(lt(),1);function Fo(r){if(Sn(r))return{peerId:r};if(ge(r)){let t=r.getPeerId();return{multiaddr:r,peerId:t==null?void 0:st(t)}}throw(0,Cd.default)(new Error(`${r} is not a PeerId or a Multiaddr`),_.ERR_INVALID_MULTIADDR)}var $t=U("libp2p:connection-manager"),dv={maxConnections:1/0,minConnections:0,maxEventLoopDelay:1/0,pollInterval:2e3,autoDialInterval:1e4,inboundConnectionThreshold:5,maxIncomingPendingConnections:10},pv=6e4,qo=class extends Dt{constructor(t,e){if(super(),this.opts=Ie.call({ignoreUndefined:!0},dv,e),this.opts.maxConnections<this.opts.minConnections)throw(0,Ko.default)(new Error("Connection Manager maxConnections must be greater than minConnections"),_.ERR_INVALID_PARAMETERS);$t("options: %o",this.opts),this.components=t,this.connections=new Map,this.started=!1,e.maxEventLoopDelay!=null&&e.maxEventLoopDelay>0&&e.maxEventLoopDelay!==1/0&&(this.latencyMonitor=new ko({latencyCheckIntervalMs:e.pollInterval,dataEmitIntervalMs:e.pollInterval}));try{(0,Vo.setMaxListeners)?.(1/0,this)}catch{}this.onConnect=this.onConnect.bind(this),this.onDisconnect=this.onDisconnect.bind(this),this.startupReconnectTimeout=e.startupReconnectTimeout??pv,this.dialTimeout=e.dialTimeout??3e4,this.allow=(e.allow??[]).map(n=>Lt(n)),this.deny=(e.deny??[]).map(n=>Lt(n)),this.inboundConnectionRateLimiter=new Bd.RateLimiterMemory({points:this.opts.inboundConnectionThreshold,duration:1}),this.incomingPendingConnections=0}isStarted(){return this.started}async start(){this.components.metrics?.registerMetricGroup("libp2p_connection_manager_connections",{calculate:()=>{let t={inbound:0,outbound:0};for(let e of this.connections.values())for(let n of e)n.stat.direction==="inbound"?t.inbound++:t.outbound++;return t}}),this.components.metrics?.registerMetricGroup("libp2p_protocol_streams_total",{label:"protocol",calculate:()=>{let t={};for(let e of this.connections.values())for(let n of e)for(let i of n.streams){let s=`${i.stat.direction} ${i.stat.protocol??"unnegotiated"}`;t[s]=(t[s]??0)+1}return t}}),this.components.metrics?.registerMetricGroup("libp2p_connection_manager_protocol_streams_per_connection_90th_percentile",{label:"protocol",calculate:()=>{let t={};for(let n of this.connections.values())for(let i of n){let s={};for(let o of i.streams){let a=`${o.stat.direction} ${o.stat.protocol??"unnegotiated"}`;s[a]=(s[a]??0)+1}for(let[o,a]of Object.entries(s))t[o]=t[o]??[],t[o].push(a)}let e={};for(let[n,i]of Object.entries(t)){i=i.sort((o,a)=>o-a);let s=Math.floor(i.length*.9);e[n]=i[s]}return e}}),this.latencyMonitor?.start(),this._onLatencyMeasure=this._onLatencyMeasure.bind(this),this.latencyMonitor?.addEventListener("data",this._onLatencyMeasure),this.started=!0,$t("started")}async afterStart(){this.components.upgrader.addEventListener("connection",this.onConnect),this.components.upgrader.addEventListener("connectionEnd",this.onDisconnect),Promise.resolve().then(async()=>{let t=[];for(let e of await this.components.peerStore.all())(await this.components.peerStore.getTags(e.id)).filter(s=>s.name===P0).length>0&&t.push(e.id);this.connectOnStartupController?.clear(),this.connectOnStartupController=new Mu.TimeoutController(this.startupReconnectTimeout);try{(0,Vo.setMaxListeners)?.(1/0,this.connectOnStartupController.signal)}catch{}await Promise.all(t.map(async e=>{await this.openConnection(e,{signal:this.connectOnStartupController?.signal}).catch(n=>{$t.error(n)})}))}).catch(t=>{$t.error(t)}).finally(()=>{this.connectOnStartupController?.clear()})}async beforeStop(){this.connectOnStartupController?.abort(),this.components.upgrader.removeEventListener("connection",this.onConnect),this.components.upgrader.removeEventListener("connectionEnd",this.onDisconnect)}async stop(){this.latencyMonitor?.removeEventListener("data",this._onLatencyMeasure),this.latencyMonitor?.stop(),this.started=!1,await this._close(),$t("stopped")}async _close(){let t=[];for(let e of this.connections.values())for(let n of e)t.push((async()=>{try{await n.close()}catch(i){$t.error(i)}})());$t("closing %d connections",t.length),await Promise.all(t),this.connections.clear()}onConnect(t){this._onConnect(t).catch(e=>{$t.error(e)})}async _onConnect(t){let{detail:e}=t;if(!this.started){await e.close();return}let n=e.remotePeer,i=n.toString(),s=this.connections.get(i);s!=null?s.push(e):this.connections.set(i,[e]),n.publicKey!=null&&await this.components.peerStore.keyBook.set(n,n.publicKey);let o=this.getConnections().length,a=o-this.opts.maxConnections;await this._checkMaxLimit("maxConnections",o,a),this.dispatchEvent(new $("peer:connect",{detail:e}))}onDisconnect(t){let{detail:e}=t;if(!this.started)return;let n=e.remotePeer.toString(),i=this.connections.get(n);i!=null&&i.length>1?(i=i.filter(s=>s.id!==e.id),this.connections.set(n,i)):i!=null&&(this.connections.delete(n),this.dispatchEvent(new $("peer:disconnect",{detail:e})))}getConnections(t){if(t!=null)return this.connections.get(t.toString())??[];let e=[];for(let n of this.connections.values())e=e.concat(n);return e}getConnectionsMap(){return this.connections}async openConnection(t,e={}){let{peerId:n,multiaddr:i}=Fo(t);if(n==null&&i==null)throw(0,Ko.default)(new TypeError("Can only open connections to PeerIds or Multiaddrs"),_.ERR_INVALID_PARAMETERS);if(n!=null){$t("dial to",n);let o=this.getConnections(n);if(o.length>0)return $t("had an existing connection to %p",n),o[0]}let s;if(e?.signal==null){s=new Mu.TimeoutController(this.dialTimeout),e.signal=s.signal;try{(0,Vo.setMaxListeners)?.(1/0,s.signal)}catch{}}try{let o=await this.components.dialer.dial(t,e),a=this.connections.get(o.remotePeer.toString());a==null&&(a=[],this.connections.set(o.remotePeer.toString(),a));let c=!1;for(let u of a)u.id===o.id&&(c=!0);return c||a.push(o),o}finally{s?.clear()}}async closeConnections(t){let e=this.connections.get(t.toString())??[];await Promise.all(e.map(async n=>{await n.close()}))}getAll(t){if(!Sn(t))throw(0,Ko.default)(new Error("peerId must be an instance of peer-id"),_.ERR_INVALID_PARAMETERS);let e=t.toString(),n=this.connections.get(e);return n!=null?n.filter(i=>i.stat.status===Oo):[]}_onLatencyMeasure(t){let{detail:e}=t;this._checkMaxLimit("maxEventLoopDelay",e.avgMs,1).catch(n=>{$t.error(n)})}async _checkMaxLimit(t,e,n=1){let i=this.opts[t];if(i==null){$t.trace("limit %s was not set so it cannot be applied",t);return}$t.trace("checking limit of %s. current value: %d of %d",t,e,i),e>i&&($t("%s: limit exceeded: %p, %d/%d, pruning %d connection(s)",this.components.peerId,t,e,i,n),await this._pruneConnections(n))}async _pruneConnections(t){let e=this.getConnections(),n=new ns;for(let o of e){let a=o.remotePeer;if(n.has(a))continue;let c=await this.components.peerStore.getTags(a);n.set(a,c.reduce((u,l)=>u+l.value,0))}let i=e.sort((o,a)=>{let c=n.get(o.remotePeer)??0,u=n.get(a.remotePeer)??0;if(c>u)return 1;if(c<u)return-1;let l=o.stat.timeline.open,f=a.stat.timeline.open;return l<f?1:l>f?-1:0}),s=[];for(let o of i)if($t("too many connections open - closing a connection to %p",o.remotePeer),s.push(o),s.length===t)break;await Promise.all(s.map(async o=>{try{await o.close()}catch(a){$t.error(a)}this.onDisconnect(new $("connectionEnd",{detail:o}))}))}async acceptIncomingConnection(t){if(this.deny.some(i=>t.remoteAddr.toString().startsWith(i.toString())))return $t("connection from %s refused - connection remote address was in deny list",t.remoteAddr),!1;if(this.allow.some(i=>t.remoteAddr.toString().startsWith(i.toString())))return this.incomingPendingConnections++,!0;if(this.incomingPendingConnections===this.opts.maxIncomingPendingConnections)return $t("connection from %s refused - incomingPendingConnections exceeded by peer %s",t.remoteAddr),!1;if(t.remoteAddr.isThinWaistAddress()){let i=t.remoteAddr.nodeAddress().address;try{await this.inboundConnectionRateLimiter.consume(i,1)}catch{return $t("connection from %s refused - inboundConnectionThreshold exceeded by host %s",i,t.remoteAddr),!1}}return this.getConnections().length<this.opts.maxConnections?(this.incomingPendingConnections++,!0):($t("connection from %s refused - maxConnections exceeded",t.remoteAddr),!1)}afterUpgradeInbound(){this.incomingPendingConnections--}};var Uu=C(yu(),1),Yr=U("libp2p:connection-manager:auto-dialler"),mv={enabled:!0,minConnections:0,autoDialInterval:1e4},$o=class{constructor(t,e){this.components=t,this.options=Ie.call({ignoreUndefined:!0},mv,e),this.running=!1,this._autoDial=this._autoDial.bind(this),Yr("options: %j",this.options)}isStarted(){return this.running}async start(){if(!this.options.enabled){Yr("not enabled");return}this.running=!0,this._autoDial().catch(t=>{Yr.error("could start autodial",t)}),Yr("started")}async stop(){if(!this.options.enabled){Yr("not enabled");return}this.running=!1,this.autoDialTimeout!=null&&this.autoDialTimeout.clear(),Yr("stopped")}async _autoDial(){this.autoDialTimeout!=null&&this.autoDialTimeout.clear();let t=this.options.minConnections;if(this.components.connectionManager.getConnections().length>=t){this.autoDialTimeout=(0,Uu.default)(this._autoDial,this.options.autoDialInterval);return}let e=await this.components.peerStore.all();e=e.filter(n=>!(n.id.equals(this.components.peerId)||n.addresses.length===0)),e=e.sort(()=>Math.random()>.5?1:-1),e=e.sort((n,i)=>i.protocols.length>n.protocols.length||i.id.publicKey!=null&&n.id.publicKey==null?1:-1);for(let n=0;this.running&&n<e.length&&this.components.connectionManager.getConnections().length<t;n++){if(!this.running)return;let i=e[n];if(this.components.connectionManager.getConnections(i.id).length===0){Yr("connecting to a peerStore stored peer %p",i.id);try{await this.components.connectionManager.openConnection(i.id)}catch(s){Yr.error("could not connect to peerStore stored peer",s)}}}this.running&&(this.autoDialTimeout=(0,Uu.default)(this._autoDial,this.options.autoDialInterval))}};var Zy=C(Fd(),1);var J;(function(r){r.ERR_INVALID_PARAMETERS="ERR_INVALID_PARAMETERS",r.ERR_INVALID_KEY_NAME="ERR_INVALID_KEY_NAME",r.ERR_INVALID_KEY_TYPE="ERR_INVALID_KEY_TYPE",r.ERR_KEY_ALREADY_EXISTS="ERR_KEY_ALREADY_EXISTS",r.ERR_INVALID_KEY_SIZE="ERR_INVALID_KEY_SIZE",r.ERR_KEY_NOT_FOUND="ERR_KEY_NOT_FOUND",r.ERR_OLD_KEY_NAME_INVALID="ERR_OLD_KEY_NAME_INVALID",r.ERR_NEW_KEY_NAME_INVALID="ERR_NEW_KEY_NAME_INVALID",r.ERR_PASSWORD_REQUIRED="ERR_PASSWORD_REQUIRED",r.ERR_PEM_REQUIRED="ERR_PEM_REQUIRED",r.ERR_CANNOT_READ_KEY="ERR_CANNOT_READ_KEY",r.ERR_MISSING_PRIVATE_KEY="ERR_MISSING_PRIVATE_KEY",r.ERR_INVALID_OLD_PASS_TYPE="ERR_INVALID_OLD_PASS_TYPE",r.ERR_INVALID_NEW_PASS_TYPE="ERR_INVALID_NEW_PASS_TYPE",r.ERR_INVALID_PASS_LENGTH="ERR_INVALID_PASS_LENGTH"})(J||(J={}));var Zu=C($u(),1),Rp=C(wp(),1),Ip=C(Bn(),1),Ju=C(Xu(),1),Tp=C(Ap(),1);function Ov(){Ip.default._configure(),Zu.default._configure(Rp.default),Ju.default._configure(Tp.default)}Ov();var Cp=["uint64","int64","sint64","fixed64","sfixed64"];function Mv(r){for(let t of Cp){if(r[t]==null)continue;let e=r[t];r[t]=function(){return BigInt(e.call(this).toString())}}return r}function ju(r){return Mv(new Zu.default(r))}function Uv(r){for(let t of Cp){if(r[t]==null)continue;let e=r[t];r[t]=function(n){return e.call(this,n.toString())}}return r}function tl(){return Uv(Ju.default.create())}function Rt(r,t){let e=ju(r instanceof Uint8Array?r:r.subarray());return t.decode(e)}function It(r,t){let e=tl();return t.encode(r,e,{lengthDelimited:!1}),e.finish()}var _i;(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"})(_i||(_i={}));function Wo(r,t,e,n){return{name:r,type:t,encode:e,decode:n}}function cs(r){function t(i){if(r[i.toString()]==null)throw new Error("Invalid enum value");return r[i]}let e=function(s,o){let a=t(s);o.int32(a)},n=function(s){let o=s.int32();return t(o)};return Wo("enum",_i.VARINT,e,n)}function Tt(r,t){return Wo("message",_i.LENGTH_DELIMITED,r,t)}var _t;(function(r){r.RSA="RSA",r.Ed25519="Ed25519",r.Secp256k1="Secp256k1"})(_t||(_t={}));var el;(function(r){r[r.RSA=0]="RSA",r[r.Ed25519=1]="Ed25519",r[r.Secp256k1=2]="Secp256k1"})(el||(el={}));(function(r){r.codec=()=>cs(el)})(_t||(_t={}));var nr;(function(r){let t;r.codec=()=>(t==null&&(t=Tt((e,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),e.Type!=null&&(n.uint32(8),_t.codec().encode(e.Type,n)),e.Data!=null&&(n.uint32(18),n.bytes(e.Data)),i.lengthDelimited!==!1&&n.ldelim()},(e,n)=>{let i={},s=n==null?e.len:e.pos+n;for(;e.pos<s;){let o=e.uint32();switch(o>>>3){case 1:i.Type=_t.codec().decode(e);break;case 2:i.Data=e.bytes();break;default:e.skipType(o&7);break}}return i})),t),r.encode=e=>It(e,r.codec()),r.decode=e=>Rt(e,r.codec())})(nr||(nr={}));var ir;(function(r){let t;r.codec=()=>(t==null&&(t=Tt((e,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),e.Type!=null&&(n.uint32(8),_t.codec().encode(e.Type,n)),e.Data!=null&&(n.uint32(18),n.bytes(e.Data)),i.lengthDelimited!==!1&&n.ldelim()},(e,n)=>{let i={},s=n==null?e.len:e.pos+n;for(;e.pos<s;){let o=e.uint32();switch(o>>>3){case 1:i.Type=_t.codec().decode(e);break;case 2:i.Data=e.bytes();break;default:e.skipType(o&7);break}}return i})),t),r.encode=e=>It(e,r.codec()),r.decode=e=>Rt(e,r.codec())})(ir||(ir={}));var sB=C(hs(),1),oB=C(zm(),1),Ia=C(ut(),1);var he={get(r=globalThis){let t=r.crypto;if(t==null||t.subtle==null)throw Object.assign(new Error("Missing Web Crypto API. The most likely cause of this error is that this page is being accessed from an insecure context (i.e. not HTTPS). For more information and possible resolutions see https://github.com/libp2p/js-libp2p-crypto/blob/master/README.md#web-crypto-api"),{code:"ERR_MISSING_WEB_CRYPTO"});return t}};var W4=C(Kt(),1),Q4=C(la(),1),Gm=C(ut(),1);function qe(r,t){let e=Uint8Array.from(r.abs().toByteArray());if(e=e[0]===0?e.subarray(1):e,t!=null){if(e.length>t)throw new Error("byte array longer than desired length");e=Mt([new Uint8Array(t-e.length),e])}return z(e,"base64url")}function xe(r){let t=Ym(r);return new Gm.default.jsbn.BigInteger(z(t,"base16"),16)}function Ym(r,t){let e=F(r,"base64urlpad");if(t!=null){if(e.length>t)throw new Error("byte array longer than desired length");e=Mt([new Uint8Array(t-e.length),e])}return e}var u_={"P-256":256,"P-384":384,"P-521":521},l_=Object.keys(u_),o8=l_.join(" / ");function pa(r){let t=r?.algorithm??"AES-GCM",e=r?.keyLength??16,n=r?.nonceLength??12,i=r?.digest??"SHA-256",s=r?.saltLength??16,o=r?.iterations??32767,a=he.get();e*=8;async function c(f,d){let h=a.getRandomValues(new Uint8Array(s)),p=a.getRandomValues(new Uint8Array(n)),m={name:t,iv:p};typeof d=="string"&&(d=F(d));let y={name:"PBKDF2",salt:h,iterations:o,hash:{name:i}},g=await a.subtle.importKey("raw",d,{name:"PBKDF2"},!1,["deriveKey","deriveBits"]),E=await a.subtle.deriveKey(y,g,{name:t,length:e},!0,["encrypt"]),b=await a.subtle.encrypt(m,E,f);return Mt([h,m.iv,new Uint8Array(b)])}async function u(f,d){let h=f.subarray(0,s),p=f.subarray(s,s+n),m=f.subarray(s+n),y={name:t,iv:p};typeof d=="string"&&(d=F(d));let g={name:"PBKDF2",salt:h,iterations:o,hash:{name:i}},E=await a.subtle.importKey("raw",d,{name:"PBKDF2"},!1,["deriveKey","deriveBits"]),b=await a.subtle.deriveKey(g,E,{name:t,length:e},!0,["decrypt"]),O=await a.subtle.decrypt(y,b,m);return new Uint8Array(O)}return{encrypt:c,decrypt:u}}async function Qm(r,t){let e=wn.decode(r);return await pa().decrypt(e,t)}var Nl={};ne(Nl,{RsaPrivateKey:()=>ki,RsaPublicKey:()=>vs,fromJwk:()=>k_,generateKeyPair:()=>O_,unmarshalRsaPrivateKey:()=>P_,unmarshalRsaPublicKey:()=>N_});var V8=C(ty(),1),xs=C(ut(),1);var h_=C(Tn(),1);var tt=BigInt(0),vt=BigInt(1),en=BigInt(2),gs=BigInt(3),ey=BigInt(8),Nt=Object.freeze({a:tt,b:BigInt(7),P:BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"),n:BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),h:vt,Gx:BigInt("55066263022277343669578718895168534326250603453777594175500187360389116729240"),Gy:BigInt("32670510020758816978083085130507043184471273380659243275938904335757337482424"),beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee")}),ry=(r,t)=>(r+t/en)/t,ma={beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee"),splitScalar(r){let{n:t}=Nt,e=BigInt("0x3086d221a7d46bcde86c90e49284eb15"),n=-vt*BigInt("0xe4437ed6010e88286f547fa90abfe4c3"),i=BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"),s=e,o=BigInt("0x100000000000000000000000000000000"),a=ry(s*r,t),c=ry(-n*r,t),u=N(r-a*e-c*i,t),l=N(-a*n-c*s,t),f=u>o,d=l>o;if(f&&(u=t-u),d&&(l=t-l),u>o||l>o)throw new Error("splitScalarEndo: Endomorphism failed, k="+r);return{k1neg:f,k1:u,k2neg:d,k2:l}}},$e=32,Bi=32,d_=32,ny=$e+1,iy=2*$e+1;function sy(r){let{a:t,b:e}=Nt,n=N(r*r),i=N(n*r);return N(i+t*r+e)}var ya=Nt.a===tt,Ea=class extends Error{constructor(t){super(t)}};function oy(r){if(!(r instanceof it))throw new TypeError("JacobianPoint expected")}var it=class{constructor(t,e,n){this.x=t,this.y=e,this.z=n}static fromAffine(t){if(!(t instanceof ot))throw new TypeError("JacobianPoint#fromAffine: expected Point");return t.equals(ot.ZERO)?it.ZERO:new it(t.x,t.y,vt)}static toAffineBatch(t){let e=w_(t.map(n=>n.z));return t.map((n,i)=>n.toAffine(e[i]))}static normalizeZ(t){return it.toAffineBatch(t).map(it.fromAffine)}equals(t){oy(t);let{x:e,y:n,z:i}=this,{x:s,y:o,z:a}=t,c=N(i*i),u=N(a*a),l=N(e*u),f=N(s*c),d=N(N(n*a)*u),h=N(N(o*i)*c);return l===f&&d===h}negate(){return new it(this.x,N(-this.y),this.z)}double(){let{x:t,y:e,z:n}=this,i=N(t*t),s=N(e*e),o=N(s*s),a=t+s,c=N(en*(N(a*a)-i-o)),u=N(gs*i),l=N(u*u),f=N(l-en*c),d=N(u*(c-f)-ey*o),h=N(en*e*n);return new it(f,d,h)}add(t){oy(t);let{x:e,y:n,z:i}=this,{x:s,y:o,z:a}=t;if(s===tt||o===tt)return this;if(e===tt||n===tt)return t;let c=N(i*i),u=N(a*a),l=N(e*u),f=N(s*c),d=N(N(n*a)*u),h=N(N(o*i)*c),p=N(f-l),m=N(h-d);if(p===tt)return m===tt?this.double():it.ZERO;let y=N(p*p),g=N(p*y),E=N(l*y),b=N(m*m-g-en*E),O=N(m*(E-b)-d*g),B=N(i*a*p);return new it(b,O,B)}subtract(t){return this.add(t.negate())}multiplyUnsafe(t){let e=it.ZERO;if(typeof t=="bigint"&&t===tt)return e;let n=uy(t);if(n===vt)return this;if(!ya){let f=e,d=this;for(;n>tt;)n&vt&&(f=f.add(d)),d=d.double(),n>>=vt;return f}let{k1neg:i,k1:s,k2neg:o,k2:a}=ma.splitScalar(n),c=e,u=e,l=this;for(;s>tt||a>tt;)s&vt&&(c=c.add(l)),a&vt&&(u=u.add(l)),l=l.double(),s>>=vt,a>>=vt;return i&&(c=c.negate()),o&&(u=u.negate()),u=new it(N(u.x*ma.beta),u.y,u.z),c.add(u)}precomputeWindow(t){let e=ya?128/t+1:256/t+1,n=[],i=this,s=i;for(let o=0;o<e;o++){s=i,n.push(s);for(let a=1;a<2**(t-1);a++)s=s.add(i),n.push(s);i=s.double()}return n}wNAF(t,e){!e&&this.equals(it.BASE)&&(e=ot.BASE);let n=e&&e._WINDOW_SIZE||1;if(256%n)throw new Error("Point#wNAF: Invalid precomputation window, must be power of 2");let i=e&&Il.get(e);i||(i=this.precomputeWindow(n),e&&n!==1&&(i=it.normalizeZ(i),Il.set(e,i)));let s=it.ZERO,o=it.BASE,a=1+(ya?128/n:256/n),c=2**(n-1),u=BigInt(2**n-1),l=2**n,f=BigInt(n);for(let d=0;d<a;d++){let h=d*c,p=Number(t&u);t>>=f,p>c&&(p-=l,t+=vt);let m=h,y=h+Math.abs(p)-1,g=d%2!==0,E=p<0;p===0?o=o.add(ga(g,i[m])):s=s.add(ga(E,i[y]))}return{p:s,f:o}}multiply(t,e){let n=uy(t),i,s;if(ya){let{k1neg:o,k1:a,k2neg:c,k2:u}=ma.splitScalar(n),{p:l,f}=this.wNAF(a,e),{p:d,f:h}=this.wNAF(u,e);l=ga(o,l),d=ga(c,d),d=new it(N(d.x*ma.beta),d.y,d.z),i=l.add(d),s=f.add(h)}else{let{p:o,f:a}=this.wNAF(n,e);i=o,s=a}return it.normalizeZ([i,s])[0]}toAffine(t){let{x:e,y:n,z:i}=this,s=this.equals(it.ZERO);t==null&&(t=s?ey:Pi(i));let o=t,a=N(o*o),c=N(a*o),u=N(e*a),l=N(n*c),f=N(i*o);if(s)return ot.ZERO;if(f!==vt)throw new Error("invZ was invalid");return new ot(u,l)}};it.BASE=new it(Nt.Gx,Nt.Gy,vt);it.ZERO=new it(tt,vt,tt);function ga(r,t){let e=t.negate();return r?e:t}var Il=new WeakMap,ot=class{constructor(t,e){this.x=t,this.y=e}_setWindowSize(t){this._WINDOW_SIZE=t,Il.delete(this)}hasEvenY(){return this.y%en===tt}static fromCompressedHex(t){let e=t.length===32,n=rn(e?t:t.subarray(1));if(!Rl(n))throw new Error("Point is not on curve");let i=sy(n),s=g_(i),o=(s&vt)===vt;e?o&&(s=N(-s)):(t[0]&1)===1!==o&&(s=N(-s));let a=new ot(n,s);return a.assertValidity(),a}static fromUncompressedHex(t){let e=rn(t.subarray(1,$e+1)),n=rn(t.subarray($e+1,$e*2+1)),i=new ot(e,n);return i.assertValidity(),i}static fromHex(t){let e=Li(t),n=e.length,i=e[0];if(n===$e)return this.fromCompressedHex(e);if(n===ny&&(i===2||i===3))return this.fromCompressedHex(e);if(n===iy&&i===4)return this.fromUncompressedHex(e);throw new Error(`Point.fromHex: received invalid point. Expected 32-${ny} compressed bytes or ${iy} uncompressed bytes, not ${n}`)}static fromPrivateKey(t){return ot.BASE.multiply(va(t))}static fromSignature(t,e,n){let{r:i,s}=ly(e);if(![0,1,2,3].includes(n))throw new Error("Cannot recover: invalid recovery bit");let o=Bl(Li(t)),{n:a}=Nt,c=n===2||n===3?i+a:i,u=Pi(c,a),l=N(-o*u,a),f=N(s*u,a),d=n&1?"03":"02",h=ot.fromHex(d+Ti(c)),p=ot.BASE.multiplyAndAddUnsafe(h,l,f);if(!p)throw new Error("Cannot recover signature: point at infinify");return p.assertValidity(),p}toRawBytes(t=!1){return Un(this.toHex(t))}toHex(t=!1){let e=Ti(this.x);return t?`${this.hasEvenY()?"02":"03"}${e}`:`04${e}${Ti(this.y)}`}toHexX(){return this.toHex(!0).slice(2)}toRawX(){return this.toRawBytes(!0).slice(1)}assertValidity(){let t="Point is not on elliptic curve",{x:e,y:n}=this;if(!Rl(e)||!Rl(n))throw new Error(t);let i=N(n*n),s=sy(e);if(N(i-s)!==tt)throw new Error(t)}equals(t){return this.x===t.x&&this.y===t.y}negate(){return new ot(this.x,N(-this.y))}double(){return it.fromAffine(this).double().toAffine()}add(t){return it.fromAffine(this).add(it.fromAffine(t)).toAffine()}subtract(t){return this.add(t.negate())}multiply(t){return it.fromAffine(this).multiply(t,this).toAffine()}multiplyAndAddUnsafe(t,e,n){let i=it.fromAffine(this),s=e===tt||e===vt||this!==ot.BASE?i.multiplyUnsafe(e):i.multiply(e),o=it.fromAffine(t).multiplyUnsafe(n),a=s.add(o);return a.equals(it.ZERO)?void 0:a.toAffine()}};ot.BASE=new ot(Nt.Gx,Nt.Gy);ot.ZERO=new ot(tt,tt);function ay(r){return Number.parseInt(r[0],16)>=8?"00"+r:r}function cy(r){if(r.length<2||r[0]!==2)throw new Error(`Invalid signature integer tag: ${Di(r)}`);let t=r[1],e=r.subarray(2,t+2);if(!t||e.length!==t)throw new Error("Invalid signature integer: wrong length");if(e[0]===0&&e[1]<=127)throw new Error("Invalid signature integer: trailing length");return{data:rn(e),left:r.subarray(t+2)}}function p_(r){if(r.length<2||r[0]!=48)throw new Error(`Invalid signature tag: ${Di(r)}`);if(r[1]!==r.length-2)throw new Error("Invalid signature: incorrect length");let{data:t,left:e}=cy(r.subarray(2)),{data:n,left:i}=cy(e);if(i.length)throw new Error(`Invalid signature: left bytes after parsing: ${Di(i)}`);return{r:t,s:n}}var fr=class{constructor(t,e){this.r=t,this.s=e,this.assertValidity()}static fromCompact(t){let e=t instanceof Uint8Array,n="Signature.fromCompact";if(typeof t!="string"&&!e)throw new TypeError(`${n}: Expected string or Uint8Array`);let i=e?Di(t):t;if(i.length!==128)throw new Error(`${n}: Expected 64-byte hex`);return new fr(xa(i.slice(0,64)),xa(i.slice(64,128)))}static fromDER(t){let e=t instanceof Uint8Array;if(typeof t!="string"&&!e)throw new TypeError("Signature.fromDER: Expected string or Uint8Array");let{r:n,s:i}=p_(e?t:Un(t));return new fr(n,i)}static fromHex(t){return this.fromDER(t)}assertValidity(){let{r:t,s:e}=this;if(!Es(t))throw new Error("Invalid Signature: r must be 0 < r < n");if(!Es(e))throw new Error("Invalid Signature: s must be 0 < s < n")}hasHighS(){let t=Nt.n>>vt;return this.s>t}normalizeS(){return this.hasHighS()?new fr(this.r,N(-this.s,Nt.n)):this}toDERRawBytes(){return Un(this.toDERHex())}toDERHex(){let t=ay(ys(this.s)),e=ay(ys(this.r)),n=t.length/2,i=e.length/2,s=ys(n),o=ys(i);return`30${ys(i+n+4)}02${o}${e}02${s}${t}`}toRawBytes(){return this.toDERRawBytes()}toHex(){return this.toDERHex()}toCompactRawBytes(){return Un(this.toCompactHex())}toCompactHex(){return Ti(this.r)+Ti(this.s)}};function tn(...r){if(!r.every(n=>n instanceof Uint8Array))throw new Error("Uint8Array list expected");if(r.length===1)return r[0];let t=r.reduce((n,i)=>n+i.length,0),e=new Uint8Array(t);for(let n=0,i=0;n<r.length;n++){let s=r[n];e.set(s,i),i+=s.length}return e}var m_=Array.from({length:256},(r,t)=>t.toString(16).padStart(2,"0"));function Di(r){if(!(r instanceof Uint8Array))throw new Error("Expected Uint8Array");let t="";for(let e=0;e<r.length;e++)t+=m_[r[e]];return t}var y_=BigInt("0x10000000000000000000000000000000000000000000000000000000000000000");function Ti(r){if(typeof r!="bigint")throw new Error("Expected bigint");if(!(tt<=r&&r<y_))throw new Error("Expected number 0 <= n < 2^256");return r.toString(16).padStart(64,"0")}function Tl(r){let t=Un(Ti(r));if(t.length!==32)throw new Error("Error: expected 32 bytes");return t}function ys(r){let t=r.toString(16);return t.length&1?`0${t}`:t}function xa(r){if(typeof r!="string")throw new TypeError("hexToNumber: expected string, got "+typeof r);return BigInt(`0x${r}`)}function Un(r){if(typeof r!="string")throw new TypeError("hexToBytes: expected string, got "+typeof r);if(r.length%2)throw new Error("hexToBytes: received invalid unpadded hex"+r.length);let t=new Uint8Array(r.length/2);for(let e=0;e<t.length;e++){let n=e*2,i=r.slice(n,n+2),s=Number.parseInt(i,16);if(Number.isNaN(s)||s<0)throw new Error("Invalid byte sequence");t[e]=s}return t}function rn(r){return xa(Di(r))}function Li(r){return r instanceof Uint8Array?Uint8Array.from(r):Un(r)}function uy(r){if(typeof r=="number"&&Number.isSafeInteger(r)&&r>0)return BigInt(r);if(typeof r=="bigint"&&Es(r))return r;throw new TypeError("Expected valid private scalar: 0 < scalar < curve.n")}function N(r,t=Nt.P){let e=r%t;return e>=tt?e:t+e}function Le(r,t){let{P:e}=Nt,n=r;for(;t-- >tt;)n*=n,n%=e;return n}function g_(r){let{P:t}=Nt,e=BigInt(6),n=BigInt(11),i=BigInt(22),s=BigInt(23),o=BigInt(44),a=BigInt(88),c=r*r*r%t,u=c*c*r%t,l=Le(u,gs)*u%t,f=Le(l,gs)*u%t,d=Le(f,en)*c%t,h=Le(d,n)*d%t,p=Le(h,i)*h%t,m=Le(p,o)*p%t,y=Le(m,a)*m%t,g=Le(y,o)*p%t,E=Le(g,gs)*u%t,b=Le(E,s)*h%t,O=Le(b,e)*c%t,B=Le(O,en);if(B*B%t!==r)throw new Error("Cannot find square root");return B}function Pi(r,t=Nt.P){if(r===tt||t<=tt)throw new Error(`invert: expected positive integers, got n=${r} mod=${t}`);let e=N(r,t),n=t,i=tt,s=vt,o=vt,a=tt;for(;e!==tt;){let u=n/e,l=n%e,f=i-o*u,d=s-a*u;n=e,e=l,i=o,s=a,o=f,a=d}if(n!==vt)throw new Error("invert: does not exist");return N(i,t)}function w_(r,t=Nt.P){let e=new Array(r.length),n=r.reduce((s,o,a)=>o===tt?s:(e[a]=s,N(s*o,t)),vt),i=Pi(n,t);return r.reduceRight((s,o,a)=>o===tt?s:(e[a]=N(s*e[a],t),N(s*o,t)),i),e}function E_(r){let t=r.length*8-Bi*8,e=rn(r);return t>0?e>>BigInt(t):e}function Bl(r,t=!1){let e=E_(r);if(t)return e;let{n}=Nt;return e>=n?e-n:e}var Ci,ws,Cl=class{constructor(t,e){if(this.hashLen=t,this.qByteLen=e,typeof t!="number"||t<2)throw new Error("hashLen must be a number");if(typeof e!="number"||e<2)throw new Error("qByteLen must be a number");this.v=new Uint8Array(t).fill(1),this.k=new Uint8Array(t).fill(0),this.counter=0}hmac(...t){return ze.hmacSha256(this.k,...t)}hmacSync(...t){return ws(this.k,...t)}checkSync(){if(typeof ws!="function")throw new Ea("hmacSha256Sync needs to be set")}incr(){if(this.counter>=1e3)throw new Error("Tried 1,000 k values for sign(), all were invalid");this.counter+=1}async reseed(t=new Uint8Array){this.k=await this.hmac(this.v,Uint8Array.from([0]),t),this.v=await this.hmac(this.v),t.length!==0&&(this.k=await this.hmac(this.v,Uint8Array.from([1]),t),this.v=await this.hmac(this.v))}reseedSync(t=new Uint8Array){this.checkSync(),this.k=this.hmacSync(this.v,Uint8Array.from([0]),t),this.v=this.hmacSync(this.v),t.length!==0&&(this.k=this.hmacSync(this.v,Uint8Array.from([1]),t),this.v=this.hmacSync(this.v))}async generate(){this.incr();let t=0,e=[];for(;t<this.qByteLen;){this.v=await this.hmac(this.v);let n=this.v.slice();e.push(n),t+=this.v.length}return tn(...e)}generateSync(){this.checkSync(),this.incr();let t=0,e=[];for(;t<this.qByteLen;){this.v=this.hmacSync(this.v);let n=this.v.slice();e.push(n),t+=this.v.length}return tn(...e)}};function Es(r){return tt<r&&r<Nt.n}function Rl(r){return tt<r&&r<Nt.P}function x_(r,t,e,n=!0){let{n:i}=Nt,s=Bl(r,!0);if(!Es(s))return;let o=Pi(s,i),a=ot.BASE.multiply(s),c=N(a.x,i);if(c===tt)return;let u=N(o*N(t+e*c,i),i);if(u===tt)return;let l=new fr(c,u),f=(a.x===l.r?0:2)|Number(a.y&vt);return n&&l.hasHighS()&&(l=l.normalizeS(),f^=1),{sig:l,recovery:f}}function va(r){let t;if(typeof r=="bigint")t=r;else if(typeof r=="number"&&Number.isSafeInteger(r)&&r>0)t=BigInt(r);else if(typeof r=="string"){if(r.length!==2*Bi)throw new Error("Expected 32 bytes of private key");t=xa(r)}else if(r instanceof Uint8Array){if(r.length!==Bi)throw new Error("Expected 32 bytes of private key");t=rn(r)}else throw new TypeError("Expected valid private key");if(!Es(t))throw new Error("Expected private key: 0 < key < n");return t}function v_(r){return r instanceof ot?(r.assertValidity(),r):ot.fromHex(r)}function ly(r){if(r instanceof fr)return r.assertValidity(),r;try{return fr.fromDER(r)}catch{return fr.fromCompact(r)}}function Dl(r,t=!1){return ot.fromPrivateKey(r).toRawBytes(t)}function fy(r){let t=r.length>$e?r.slice(0,$e):r;return rn(t)}function b_(r){let t=fy(r),e=N(t,Nt.n);return hy(e<tt?t:e)}function hy(r){return Tl(r)}function __(r,t,e){if(r==null)throw new Error(`sign: expected valid message hash, not "${r}"`);let n=Li(r),i=va(t),s=[hy(i),b_(n)];if(e!=null){e===!0&&(e=ze.randomBytes($e));let c=Li(e);if(c.length!==$e)throw new Error(`sign: Expected ${$e} bytes of extra data`);s.push(c)}let o=tn(...s),a=fy(n);return{seed:o,m:a,d:i}}function S_(r,t){let{sig:e,recovery:n}=r,{der:i,recovered:s}=Object.assign({canonical:!0,der:!0},t),o=i?e.toDERRawBytes():e.toCompactRawBytes();return s?[o,n]:o}async function dy(r,t,e={}){let{seed:n,m:i,d:s}=__(r,t,e.extraEntropy),o=new Cl(d_,Bi);await o.reseed(n);let a;for(;!(a=x_(await o.generate(),i,s,e.canonical));)await o.reseed();return S_(a,e)}var A_={strict:!0};function py(r,t,e,n=A_){let i;try{i=ly(r),t=Li(t)}catch{return!1}let{r:s,s:o}=i;if(n.strict&&i.hasHighS())return!1;let a=Bl(t),c;try{c=v_(e)}catch{return!1}let{n:u}=Nt,l=Pi(o,u),f=N(a*l,u),d=N(s*l,u),h=ot.BASE.multiplyAndAddUnsafe(c,f,d);return h?N(h.x,u)===s:!1}ot.BASE._setWindowSize(8);var ve={node:h_,web:typeof self=="object"&&"crypto"in self?self.crypto:void 0};var wa={},ze={bytesToHex:Di,hexToBytes:Un,concatBytes:tn,mod:N,invert:Pi,isValidPrivateKey(r){try{return va(r),!0}catch{return!1}},_bigintTo32Bytes:Tl,_normalizePrivateKey:va,hashToPrivateKey:r=>{r=Li(r);let t=Bi+8;if(r.length<t||r.length>1024)throw new Error("Expected valid bytes of private key as per FIPS 186");let e=N(rn(r),Nt.n-vt)+vt;return Tl(e)},randomBytes:(r=32)=>{if(ve.web)return ve.web.getRandomValues(new Uint8Array(r));if(ve.node){let{randomBytes:t}=ve.node;return Uint8Array.from(t(r))}else throw new Error("The environment doesn't have randomBytes function")},randomPrivateKey:()=>ze.hashToPrivateKey(ze.randomBytes(Bi+8)),precompute(r=8,t=ot.BASE){let e=t===ot.BASE?t:new ot(t.x,t.y);return e._setWindowSize(r),e.multiply(gs),e},sha256:async(...r)=>{if(ve.web){let t=await ve.web.subtle.digest("SHA-256",tn(...r));return new Uint8Array(t)}else if(ve.node){let{createHash:t}=ve.node,e=t("sha256");return r.forEach(n=>e.update(n)),Uint8Array.from(e.digest())}else throw new Error("The environment doesn't have sha256 function")},hmacSha256:async(r,...t)=>{if(ve.web){let e=await ve.web.subtle.importKey("raw",r,{name:"HMAC",hash:{name:"SHA-256"}},!1,["sign"]),n=tn(...t),i=await ve.web.subtle.sign("HMAC",e,n);return new Uint8Array(i)}else if(ve.node){let{createHmac:e}=ve.node,n=e("sha256",r);return t.forEach(i=>n.update(i)),Uint8Array.from(n.digest())}else throw new Error("The environment doesn't have hmac-sha256 function")},sha256Sync:void 0,hmacSha256Sync:void 0,taggedHash:async(r,...t)=>{let e=wa[r];if(e===void 0){let n=await ze.sha256(Uint8Array.from(r,i=>i.charCodeAt(0)));e=tn(n,n),wa[r]=e}return ze.sha256(e,...t)},taggedHashSync:(r,...t)=>{if(typeof Ci!="function")throw new Ea("sha256Sync is undefined, you need to set it");let e=wa[r];if(e===void 0){let n=Ci(Uint8Array.from(r,i=>i.charCodeAt(0)));e=tn(n,n),wa[r]=e}return Ci(e,...t)},_JacobianPoint:it};Object.defineProperties(ze,{sha256Sync:{configurable:!1,get(){return Ci},set(r){Ci||(Ci=r)}},hmacSha256Sync:{configurable:!1,get(){return ws},set(r){ws||(ws=r)}}});function Lr(r){if(isNaN(r)||r<=0)throw new T("random bytes length must be a Number bigger than 0","ERR_INVALID_LENGTH");return ze.randomBytes(r)}var Fn={};ne(Fn,{jwkToPkcs1:()=>T_,jwkToPkix:()=>B_,pkcs1ToJwk:()=>I_,pkixToJwk:()=>C_});var x8=C(hs(),1),v8=C(da(),1),Pr=C(ut(),1);function I_(r){let t=Pr.default.asn1.fromDer(z(r,"ascii")),e=Pr.default.pki.privateKeyFromAsn1(t);return{kty:"RSA",n:qe(e.n),e:qe(e.e),d:qe(e.d),p:qe(e.p),q:qe(e.q),dp:qe(e.dP),dq:qe(e.dQ),qi:qe(e.qInv),alg:"RS256"}}function T_(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 T("JWK was missing components","ERR_INVALID_PARAMETERS");let t=Pr.default.pki.privateKeyToAsn1({n:xe(r.n),e:xe(r.e),d:xe(r.d),p:xe(r.p),q:xe(r.q),dP:xe(r.dp),dQ:xe(r.dq),qInv:xe(r.qi)});return F(Pr.default.asn1.toDer(t).getBytes(),"ascii")}function C_(r){let t=Pr.default.asn1.fromDer(z(r,"ascii")),e=Pr.default.pki.publicKeyFromAsn1(t);return{kty:"RSA",n:qe(e.n),e:qe(e.e)}}function B_(r){if(r.n==null||r.e==null)throw new T("JWK was missing components","ERR_INVALID_PARAMETERS");let t=Pr.default.pki.publicKeyToAsn1({n:xe(r.n),e:xe(r.e)});return F(Pr.default.asn1.toDer(t).getBytes(),"ascii")}var R8=C(da(),1),Ll=C(ut(),1);function my(r,t){return t.map(e=>xe(r[e]))}function yy(r){return Ll.default.pki.setRsaPrivateKey(...my(r,["n","e","d","p","q","dp","dq","qi"]))}function gy(r){return Ll.default.pki.setRsaPublicKey(...my(r,["n","e"]))}async function wy(r){let t=await he.get().subtle.generateKey({name:"RSASSA-PKCS1-v1_5",modulusLength:r,publicExponent:new Uint8Array([1,0,1]),hash:{name:"SHA-256"}},!0,["sign","verify"]),e=await vy(t);return{privateKey:e[0],publicKey:e[1]}}async function Pl(r){let e=[await he.get().subtle.importKey("jwk",r,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!0,["sign"]),await D_(r)],n=await vy({privateKey:e[0],publicKey:e[1]});return{privateKey:n[0],publicKey:n[1]}}async function Ey(r,t){let e=await he.get().subtle.importKey("jwk",r,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!1,["sign"]),n=await he.get().subtle.sign({name:"RSASSA-PKCS1-v1_5"},e,Uint8Array.from(t));return new Uint8Array(n,0,n.byteLength)}async function xy(r,t,e){let n=await he.get().subtle.importKey("jwk",r,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!1,["verify"]);return await he.get().subtle.verify({name:"RSASSA-PKCS1-v1_5"},n,t,e)}async function vy(r){if(r.privateKey==null||r.publicKey==null)throw new T("Private and public key are required","ERR_INVALID_PARAMETERS");return await Promise.all([he.get().subtle.exportKey("jwk",r.privateKey),he.get().subtle.exportKey("jwk",r.publicKey)])}async function D_(r){return await he.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 by(r,t,e,n){let i=t?gy(r):yy(r),s=z(Uint8Array.from(e),"ascii"),o=n(s,i);return F(o,"ascii")}function _y(r,t){return by(r,!0,t,(e,n)=>n.encrypt(e))}function Sy(r,t){return by(r,!1,t,(e,n)=>n.decrypt(e))}async function Ni(r,t){let n=await pa().encrypt(r,t);return wn.encode(n)}var vs=class{constructor(t){this._key=t}async verify(t,e){return await xy(this._key,e,t)}marshal(){return Fn.jwkToPkix(this._key)}get bytes(){return nr.encode({Type:_t.RSA,Data:this.marshal()}).subarray()}encrypt(t){return _y(this._key,t)}equals(t){return mt(this.bytes,t.bytes)}async hash(){let{bytes:t}=await ie.digest(this.bytes);return t}},ki=class{constructor(t,e){this._key=t,this._publicKey=e}genSecret(){return Lr(16)}async sign(t){return await Ey(this._key,t)}get public(){if(this._publicKey==null)throw new T("public key not provided","ERR_PUBKEY_NOT_PROVIDED");return new vs(this._publicKey)}decrypt(t){return Sy(this._key,t)}marshal(){return Fn.jwkToPkcs1(this._key)}get bytes(){return ir.encode({Type:_t.RSA,Data:this.marshal()}).subarray()}equals(t){return mt(this.bytes,t.bytes)}async hash(){let{bytes:t}=await ie.digest(this.bytes);return t}async id(){let t=await this.public.hash();return z(t,"base58btc")}async export(t,e="pkcs-8"){if(e==="pkcs-8"){let n=new xs.default.util.ByteBuffer(this.marshal()),i=xs.default.asn1.fromDer(n),s=xs.default.pki.privateKeyFromAsn1(i),o={algorithm:"aes256",count:1e4,saltSize:128/8,prfAlgorithm:"sha512"};return xs.default.pki.encryptRsaPrivateKey(s,t,o)}else{if(e==="libp2p-key")return await Ni(this.bytes,t);throw new T(`export format '${e}' is not supported`,"ERR_INVALID_EXPORT_FORMAT")}}};async function P_(r){let t=Fn.pkcs1ToJwk(r),e=await Pl(t);return new ki(e.privateKey,e.publicKey)}function N_(r){let t=Fn.pkixToJwk(r);return new vs(t)}async function k_(r){let t=await Pl(r);return new ki(t.privateKey,t.publicKey)}async function O_(r){let t=await wy(r);return new ki(t.privateKey,t.publicKey)}var $l={};ne($l,{Ed25519PrivateKey:()=>Vn,Ed25519PublicKey:()=>Rs,generateKeyPair:()=>nS,generateKeyPairFromSeed:()=>Fy,unmarshalEd25519PrivateKey:()=>eS,unmarshalEd25519PublicKey:()=>rS});var M_=C(Tn(),1);var re=BigInt(0),et=BigInt(1),on=BigInt(2),U_=BigInt(8),Ay=BigInt("7237005577332262213973186563042994240857116359379907606001950938285454250989"),bt=Object.freeze({a:BigInt(-1),d:BigInt("37095705934669439343138083508754565189542113879843219016388785533085940283555"),P:BigInt("57896044618658097711785492504343953926634992332820282019728792003956564819949"),l:Ay,n:Ay,h:BigInt(8),Gx:BigInt("15112221349535400772501151409588531511454012693041857206046113283949847762202"),Gy:BigInt("46316835694926478169428394003475163141307993866256225615783033603165251855960")});var By=BigInt("0x10000000000000000000000000000000000000000000000000000000000000000"),bs=BigInt("19681161376707505956807079304988542015446066515923890162744021073123829784752"),$8=BigInt("6853475219497561581579357271197624642482790079785650197046958215289687604742"),F_=BigInt("25063068953384623474111414158702152701244531502492656460079210482610430750235"),K_=BigInt("54469307008909316920995813868745141605393597292927456921205312896311721017578"),V_=BigInt("1159843021668779879193775521855586647937357759715417654439879720876111806838"),q_=BigInt("40440834346308536858101042469323190826248399146238708352240133220865137265952"),X=class{constructor(t,e,n,i){this.x=t,this.y=e,this.z=n,this.t=i}static fromAffine(t){if(!(t instanceof At))throw new TypeError("ExtendedPoint#fromAffine: expected Point");return t.equals(At.ZERO)?X.ZERO:new X(t.x,t.y,et,A(t.x*t.y))}static toAffineBatch(t){let e=H_(t.map(n=>n.z));return t.map((n,i)=>n.toAffine(e[i]))}static normalizeZ(t){return this.toAffineBatch(t).map(this.fromAffine)}equals(t){Iy(t);let{x:e,y:n,z:i}=this,{x:s,y:o,z:a}=t,c=A(e*a),u=A(s*i),l=A(n*a),f=A(o*i);return c===u&&l===f}negate(){return new X(A(-this.x),this.y,this.z,A(-this.t))}double(){let{x:t,y:e,z:n}=this,{a:i}=bt,s=A(t*t),o=A(e*e),a=A(on*A(n*n)),c=A(i*s),u=t+e,l=A(A(u*u)-s-o),f=c+o,d=f-a,h=c-o,p=A(l*d),m=A(f*h),y=A(l*h),g=A(d*f);return new X(p,m,g,y)}add(t){Iy(t);let{x:e,y:n,z:i,t:s}=this,{x:o,y:a,z:c,t:u}=t,l=A((n-e)*(a+o)),f=A((n+e)*(a-o)),d=A(f-l);if(d===re)return this.double();let h=A(i*on*u),p=A(s*on*c),m=p+h,y=f+l,g=p-h,E=A(m*d),b=A(y*g),O=A(m*g),B=A(d*y);return new X(E,b,B,O)}subtract(t){return this.add(t.negate())}precomputeWindow(t){let e=1+256/t,n=[],i=this,s=i;for(let o=0;o<e;o++){s=i,n.push(s);for(let a=1;a<2**(t-1);a++)s=s.add(i),n.push(s);i=s.double()}return n}wNAF(t,e){!e&&this.equals(X.BASE)&&(e=At.BASE);let n=e&&e._WINDOW_SIZE||1;if(256%n)throw new Error("Point#wNAF: Invalid precomputation window, must be power of 2");let i=e&&Fl.get(e);i||(i=this.precomputeWindow(n),e&&n!==1&&(i=X.normalizeZ(i),Fl.set(e,i)));let s=X.ZERO,o=X.BASE,a=1+256/n,c=2**(n-1),u=BigInt(2**n-1),l=2**n,f=BigInt(n);for(let d=0;d<a;d++){let h=d*c,p=Number(t&u);t>>=f,p>c&&(p-=l,t+=et);let m=h,y=h+Math.abs(p)-1,g=d%2!==0,E=p<0;p===0?o=o.add(Ry(g,i[m])):s=s.add(Ry(E,i[y]))}return X.normalizeZ([s,o])[0]}multiply(t,e){return this.wNAF(_a(t,bt.l),e)}multiplyUnsafe(t){let e=_a(t,bt.l,!1),n=X.BASE,i=X.ZERO;if(e===re)return i;if(this.equals(i)||e===et)return this;if(this.equals(n))return this.wNAF(e);let s=i,o=this;for(;e>re;)e&et&&(s=s.add(o)),o=o.double(),e>>=et;return s}isSmallOrder(){return this.multiplyUnsafe(bt.h).equals(X.ZERO)}isTorsionFree(){let t=this.multiplyUnsafe(bt.l/on).double();return bt.l%on&&(t=t.add(this)),t.equals(X.ZERO)}toAffine(t){let{x:e,y:n,z:i}=this,s=this.equals(X.ZERO);t==null&&(t=s?U_:Sa(i));let o=A(e*t),a=A(n*t),c=A(i*t);if(s)return At.ZERO;if(c!==et)throw new Error("invZ was invalid");return new At(o,a)}fromRistrettoBytes(){Ol()}toRistrettoBytes(){Ol()}fromRistrettoHash(){Ol()}};X.BASE=new X(bt.Gx,bt.Gy,et,A(bt.Gx*bt.Gy));X.ZERO=new X(re,et,et,re);function Ry(r,t){let e=t.negate();return r?e:t}function Iy(r){if(!(r instanceof X))throw new TypeError("ExtendedPoint expected")}function kl(r){if(!(r instanceof de))throw new TypeError("RistrettoPoint expected")}function Ol(){throw new Error("Legacy method: switch to RistrettoPoint")}var de=class{constructor(t){this.ep=t}static calcElligatorRistrettoMap(t){let{d:e}=bt,n=A(bs*t*t),i=A((n+et)*V_),s=BigInt(-1),o=A((s-e*n)*A(n+e)),{isValid:a,value:c}=Vl(i,o),u=A(c*t);sn(u)||(u=A(-u)),a||(c=u),a||(s=n);let l=A(s*(n-et)*q_-o),f=c*c,d=A((c+c)*o),h=A(l*F_),p=A(et-f),m=A(et+f);return new X(A(d*m),A(p*h),A(h*m),A(d*p))}static hashToCurve(t){t=an(t,64);let e=Ml(t.slice(0,32)),n=this.calcElligatorRistrettoMap(e),i=Ml(t.slice(32,64)),s=this.calcElligatorRistrettoMap(i);return new de(n.add(s))}static fromHex(t){t=an(t,32);let{a:e,d:n}=bt,i="RistrettoPoint.fromHex: the hex is not valid encoding of RistrettoPoint",s=Ml(t);if(!Y_(_s(s),t)||sn(s))throw new Error(i);let o=A(s*s),a=A(et+e*o),c=A(et-e*o),u=A(a*a),l=A(c*c),f=A(e*n*u-l),{isValid:d,value:h}=Cy(A(f*l)),p=A(h*c),m=A(h*p*f),y=A((s+s)*p);sn(y)&&(y=A(-y));let g=A(a*m),E=A(y*g);if(!d||sn(E)||g===re)throw new Error(i);return new de(new X(y,g,et,E))}toRawBytes(){let{x:t,y:e,z:n,t:i}=this.ep,s=A(A(n+e)*A(n-e)),o=A(t*e),a=A(o*o),{value:c}=Cy(A(s*a)),u=A(c*s),l=A(c*o),f=A(u*l*i),d;if(sn(i*f)){let p=A(e*bs),m=A(t*bs);t=p,e=m,d=A(u*K_)}else d=l;sn(t*f)&&(e=A(-e));let h=A((n-e)*d);return sn(h)&&(h=A(-h)),_s(h)}toHex(){return Ss(this.toRawBytes())}toString(){return this.toHex()}equals(t){kl(t);let e=this.ep,n=t.ep,i=A(e.x*n.y)===A(e.y*n.x),s=A(e.y*n.y)===A(e.x*n.x);return i||s}add(t){return kl(t),new de(this.ep.add(t.ep))}subtract(t){return kl(t),new de(this.ep.subtract(t.ep))}multiply(t){return new de(this.ep.multiply(t))}multiplyUnsafe(t){return new de(this.ep.multiplyUnsafe(t))}};de.BASE=new de(X.BASE);de.ZERO=new de(X.ZERO);var Fl=new WeakMap,At=class{constructor(t,e){this.x=t,this.y=e}_setWindowSize(t){this._WINDOW_SIZE=t,Fl.delete(this)}static fromHex(t,e=!0){let{d:n,P:i}=bt;t=an(t,32);let s=t.slice();s[31]=t[31]&-129;let o=As(s);if(e&&o>=i)throw new Error("Expected 0 < hex < P");if(!e&&o>=By)throw new Error("Expected 0 < hex < 2**256");let a=A(o*o),c=A(a-et),u=A(n*a+et),{isValid:l,value:f}=Vl(c,u);if(!l)throw new Error("Point.fromHex: invalid y coordinate");let d=(f&et)===et;return(t[31]&128)!==0!==d&&(f=A(-f)),new At(f,o)}static async fromPrivateKey(t){return(await Aa(t)).point}toRawBytes(){let t=_s(this.y);return t[31]|=this.x&et?128:0,t}toHex(){return Ss(this.toRawBytes())}toX25519(){let{y:t}=this,e=A((et+t)*Sa(et-t));return _s(e)}isTorsionFree(){return X.fromAffine(this).isTorsionFree()}equals(t){return this.x===t.x&&this.y===t.y}negate(){return new At(A(-this.x),this.y)}add(t){return X.fromAffine(this).add(X.fromAffine(t)).toAffine()}subtract(t){return this.add(t.negate())}multiply(t){return X.fromAffine(this).multiply(t,this).toAffine()}};At.BASE=new At(bt.Gx,bt.Gy);At.ZERO=new At(re,et);var Kn=class{constructor(t,e){this.r=t,this.s=e,this.assertValidity()}static fromHex(t){let e=an(t,64),n=At.fromHex(e.slice(0,32),!1),i=As(e.slice(32,64));return new Kn(n,i)}assertValidity(){let{r:t,s:e}=this;if(!(t instanceof At))throw new Error("Expected Point instance");return _a(e,bt.l,!1),this}toRawBytes(){let t=new Uint8Array(64);return t.set(this.r.toRawBytes()),t.set(_s(this.s),32),t}toHex(){return Ss(this.toRawBytes())}};function Ty(...r){if(!r.every(n=>n instanceof Uint8Array))throw new Error("Expected Uint8Array list");if(r.length===1)return r[0];let t=r.reduce((n,i)=>n+i.length,0),e=new Uint8Array(t);for(let n=0,i=0;n<r.length;n++){let s=r[n];e.set(s,i),i+=s.length}return e}var $_=Array.from({length:256},(r,t)=>t.toString(16).padStart(2,"0"));function Ss(r){if(!(r instanceof Uint8Array))throw new Error("Uint8Array expected");let t="";for(let e=0;e<r.length;e++)t+=$_[r[e]];return t}function Kl(r){if(typeof r!="string")throw new TypeError("hexToBytes: expected string, got "+typeof r);if(r.length%2)throw new Error("hexToBytes: received invalid unpadded hex");let t=new Uint8Array(r.length/2);for(let e=0;e<t.length;e++){let n=e*2,i=r.slice(n,n+2),s=Number.parseInt(i,16);if(Number.isNaN(s)||s<0)throw new Error("Invalid byte sequence");t[e]=s}return t}function Dy(r){let e=r.toString(16).padStart(64,"0");return Kl(e)}function _s(r){return Dy(r).reverse()}function sn(r){return(A(r)&et)===et}function As(r){if(!(r instanceof Uint8Array))throw new Error("Expected Uint8Array");return BigInt("0x"+Ss(Uint8Array.from(r).reverse()))}var z_=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");function Ml(r){return A(As(r)&z_)}function A(r,t=bt.P){let e=r%t;return e>=re?e:t+e}function Sa(r,t=bt.P){if(r===re||t<=re)throw new Error(`invert: expected positive integers, got n=${r} mod=${t}`);let e=A(r,t),n=t,i=re,s=et,o=et,a=re;for(;e!==re;){let u=n/e,l=n%e,f=i-o*u,d=s-a*u;n=e,e=l,i=o,s=a,o=f,a=d}if(n!==et)throw new Error("invert: does not exist");return A(i,t)}function H_(r,t=bt.P){let e=new Array(r.length),n=r.reduce((s,o,a)=>o===re?s:(e[a]=s,A(s*o,t)),et),i=Sa(n,t);return r.reduceRight((s,o,a)=>o===re?s:(e[a]=A(s*e[a],t),A(s*o,t)),i),e}function hr(r,t){let{P:e}=bt,n=r;for(;t-- >re;)n*=n,n%=e;return n}function G_(r){let{P:t}=bt,e=BigInt(5),n=BigInt(10),i=BigInt(20),s=BigInt(40),o=BigInt(80),c=r*r%t*r%t,u=hr(c,on)*c%t,l=hr(u,et)*r%t,f=hr(l,e)*l%t,d=hr(f,n)*f%t,h=hr(d,i)*d%t,p=hr(h,s)*h%t,m=hr(p,o)*p%t,y=hr(m,o)*p%t,g=hr(y,n)*f%t;return{pow_p_5_8:hr(g,on)*r%t,b2:c}}function Vl(r,t){let e=A(t*t*t),n=A(e*e*t),i=G_(r*n).pow_p_5_8,s=A(r*e*i),o=A(t*s*s),a=s,c=A(s*bs),u=o===r,l=o===A(-r),f=o===A(-r*bs);return u&&(s=a),(l||f)&&(s=c),sn(s)&&(s=A(-s)),{isValid:u||l,value:s}}function Cy(r){return Vl(et,r)}function ba(r){return A(As(r),bt.l)}function Y_(r,t){if(r.length!==t.length)return!1;for(let e=0;e<r.length;e++)if(r[e]!==t[e])return!1;return!0}function an(r,t){let e=r instanceof Uint8Array?Uint8Array.from(r):Kl(r);if(typeof t=="number"&&e.length!==t)throw new Error(`Expected ${t} bytes`);return e}function _a(r,t,e=!0){if(!t)throw new TypeError("Specify max value");if(typeof r=="number"&&Number.isSafeInteger(r)&&(r=BigInt(r)),typeof r=="bigint"&&r<t){if(e){if(re<r)return r}else if(re<=r)return r}throw new TypeError("Expected valid scalar: 0 < scalar < max")}function W_(r){return r[0]&=248,r[31]&=127,r[31]|=64,r}function Q_(r){if(r=typeof r=="bigint"||typeof r=="number"?Dy(_a(r,By)):an(r),r.length!==32)throw new Error("Expected 32 bytes");return r}function X_(r){let t=W_(r.slice(0,32)),e=r.slice(32,64),n=ba(t),i=At.BASE.multiply(n),s=i.toRawBytes();return{head:t,prefix:e,scalar:n,point:i,pointBytes:s}}var Ul;async function Aa(r){return X_(await cn.sha512(Q_(r)))}async function ql(r){return(await Aa(r)).pointBytes}async function Ly(r,t){r=an(r);let{prefix:e,scalar:n,pointBytes:i}=await Aa(t),s=ba(await cn.sha512(e,r)),o=At.BASE.multiply(s),a=ba(await cn.sha512(o.toRawBytes(),i,r)),c=A(s+a*n,bt.l);return new Kn(o,c).toRawBytes()}function Z_(r,t,e){t=an(t),e instanceof At||(e=At.fromHex(e,!1));let{r:n,s:i}=r instanceof Kn?r.assertValidity():Kn.fromHex(r),s=X.BASE.multiplyUnsafe(i);return{r:n,s:i,SB:s,pub:e,msg:t}}function J_(r,t,e,n){let i=ba(n),s=X.fromAffine(r).multiplyUnsafe(i);return X.fromAffine(t).add(s).subtract(e).multiplyUnsafe(bt.h).equals(X.ZERO)}async function Py(r,t,e){let{r:n,SB:i,msg:s,pub:o}=Z_(r,t,e),a=await cn.sha512(n.toRawBytes(),o.toRawBytes(),s);return J_(o,n,i,a)}At.BASE._setWindowSize(8);var nn={node:M_,web:typeof self=="object"&&"crypto"in self?self.crypto:void 0},cn={bytesToHex:Ss,hexToBytes:Kl,concatBytes:Ty,getExtendedPublicKey:Aa,mod:A,invert:Sa,TORSION_SUBGROUP:["0100000000000000000000000000000000000000000000000000000000000000","c7176a703d4dd84fba3c0b760d10670f2a2053fa2c39ccc64ec7fd7792ac037a","0000000000000000000000000000000000000000000000000000000000000080","26e8958fc2b227b045c3f489f2ef98f0d5dfac05d3c63339b13802886d53fc05","ecffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f","26e8958fc2b227b045c3f489f2ef98f0d5dfac05d3c63339b13802886d53fc85","0000000000000000000000000000000000000000000000000000000000000000","c7176a703d4dd84fba3c0b760d10670f2a2053fa2c39ccc64ec7fd7792ac03fa"],hashToPrivateScalar:r=>{if(r=an(r),r.length<40||r.length>1024)throw new Error("Expected 40-1024 bytes of private key as per FIPS 186");return A(As(r),bt.l-et)+et},randomBytes:(r=32)=>{if(nn.web)return nn.web.getRandomValues(new Uint8Array(r));if(nn.node){let{randomBytes:t}=nn.node;return new Uint8Array(t(r).buffer)}else throw new Error("The environment doesn't have randomBytes function")},randomPrivateKey:()=>cn.randomBytes(32),sha512:async(...r)=>{let t=Ty(...r);if(nn.web){let e=await nn.web.subtle.digest("SHA-512",t.buffer);return new Uint8Array(e)}else{if(nn.node)return Uint8Array.from(nn.node.createHash("sha512").update(t).digest());throw new Error("The environment doesn't have sha512 function")}},precompute(r=8,t=At.BASE){let e=t.equals(At.BASE)?t:new At(t.x,t.y);return e._setWindowSize(r),e.multiply(on),e},sha512Sync:void 0};Object.defineProperties(cn,{sha512Sync:{configurable:!1,get(){return Ul},set(r){Ul||(Ul=r)}}});var Oi=32,Nr=64,Ra=32;async function Ny(){let r=cn.randomPrivateKey(),t=await ql(r);return{privateKey:Uy(r,t),publicKey:t}}async function ky(r){if(r.length!==Ra)throw new TypeError('"seed" must be 32 bytes in length.');if(!(r instanceof Uint8Array))throw new TypeError('"seed" must be a node.js Buffer, or Uint8Array.');let t=r,e=await ql(t);return{privateKey:Uy(t,e),publicKey:e}}async function Oy(r,t){let e=r.subarray(0,Ra);return await Ly(t,e)}async function My(r,t,e){return await Py(t,e,r)}function Uy(r,t){let e=new Uint8Array(Nr);for(let n=0;n<Ra;n++)e[n]=r[n],e[Ra+n]=t[n];return e}var Rs=class{constructor(t){this._key=Mi(t,Oi)}async verify(t,e){return await My(this._key,e,t)}marshal(){return this._key}get bytes(){return nr.encode({Type:_t.Ed25519,Data:this.marshal()}).subarray()}equals(t){return mt(this.bytes,t.bytes)}async hash(){let{bytes:t}=await ie.digest(this.bytes);return t}},Vn=class{constructor(t,e){this._key=Mi(t,Nr),this._publicKey=Mi(e,Oi)}async sign(t){return await Oy(this._key,t)}get public(){return new Rs(this._publicKey)}marshal(){return this._key}get bytes(){return ir.encode({Type:_t.Ed25519,Data:this.marshal()}).subarray()}equals(t){return mt(this.bytes,t.bytes)}async hash(){let{bytes:t}=await ie.digest(this.bytes);return t}async id(){let t=qr.digest(this.public.bytes);return Ot.encode(t.bytes).substring(1)}async export(t,e="libp2p-key"){if(e==="libp2p-key")return await Ni(this.bytes,t);throw new T(`export format '${e}' is not supported`,"ERR_INVALID_EXPORT_FORMAT")}};function eS(r){if(r.length>Nr){r=Mi(r,Nr+Oi);let n=r.subarray(0,Nr),i=r.subarray(Nr,r.length);return new Vn(n,i)}r=Mi(r,Nr);let t=r.subarray(0,Nr),e=r.subarray(Oi);return new Vn(t,e)}function rS(r){return r=Mi(r,Oi),new Rs(r)}async function nS(){let{privateKey:r,publicKey:t}=await Ny();return new Vn(r,t)}async function Fy(r){let{privateKey:t,publicKey:e}=await ky(r);return new Vn(t,e)}function Mi(r,t){if(r=Uint8Array.from(r??[]),r.length!==t)throw new T(`Key must be a Uint8Array of length ${t}, got ${r.length}`,"ERR_INVALID_KEY_TYPE");return r}var Hl={};ne(Hl,{Secp256k1PrivateKey:()=>Ts,Secp256k1PublicKey:()=>Is,generateKeyPair:()=>aS,unmarshalSecp256k1PrivateKey:()=>sS,unmarshalSecp256k1PublicKey:()=>oS});function Ky(){return ze.randomPrivateKey()}async function Vy(r,t){let{digest:e}=await ie.digest(t);try{return await dy(e,r)}catch(n){throw new T(String(n),"ERR_INVALID_INPUT")}}async function qy(r,t,e){try{let{digest:n}=await ie.digest(e);return py(t,n,r)}catch(n){throw new T(String(n),"ERR_INVALID_INPUT")}}function $y(r){return ot.fromHex(r).toRawBytes(!0)}function zy(r){try{Dl(r,!0)}catch(t){throw new T(String(t),"ERR_INVALID_PRIVATE_KEY")}}function zl(r){try{ot.fromHex(r)}catch(t){throw new T(String(t),"ERR_INVALID_PUBLIC_KEY")}}function Hy(r){try{return Dl(r,!0)}catch(t){throw new T(String(t),"ERR_INVALID_PRIVATE_KEY")}}var Is=class{constructor(t){zl(t),this._key=t}async verify(t,e){return await qy(this._key,e,t)}marshal(){return $y(this._key)}get bytes(){return nr.encode({Type:_t.Secp256k1,Data:this.marshal()}).subarray()}equals(t){return mt(this.bytes,t.bytes)}async hash(){let{bytes:t}=await ie.digest(this.bytes);return t}},Ts=class{constructor(t,e){this._key=t,this._publicKey=e??Hy(t),zy(this._key),zl(this._publicKey)}async sign(t){return await Vy(this._key,t)}get public(){return new Is(this._publicKey)}marshal(){return this._key}get bytes(){return ir.encode({Type:_t.Secp256k1,Data:this.marshal()}).subarray()}equals(t){return mt(this.bytes,t.bytes)}async hash(){let{bytes:t}=await ie.digest(this.bytes);return t}async id(){let t=await this.public.hash();return z(t,"base58btc")}async export(t,e="libp2p-key"){if(e==="libp2p-key")return await Ni(this.bytes,t);throw new T(`export format '${e}' is not supported`,"ERR_INVALID_EXPORT_FORMAT")}};function sS(r){return new Ts(r)}function oS(r){return new Is(r)}async function aS(){let r=Ky();return new Ts(r)}var kr={rsa:Nl,ed25519:$l,secp256k1:Hl};function Gl(r){let t=Object.keys(kr).join(" / ");return new T(`invalid or unsupported key type ${r}. Must be ${t}`,"ERR_UNSUPPORTED_KEY_TYPE")}function Yl(r){if(r=r.toLowerCase(),r==="rsa"||r==="ed25519"||r==="secp256k1")return kr[r];throw Gl(r)}async function Ta(r,t){return await Yl(r).generateKeyPair(t??2048)}function Cs(r){let t=nr.decode(r),e=t.Data??new Uint8Array;switch(t.Type){case _t.RSA:return kr.rsa.unmarshalRsaPublicKey(e);case _t.Ed25519:return kr.ed25519.unmarshalEd25519PublicKey(e);case _t.Secp256k1:return kr.secp256k1.unmarshalSecp256k1PublicKey(e);default:throw Gl(t.Type??"RSA")}}function Gy(r,t){return t=(t??"rsa").toLowerCase(),Yl(t),r.bytes}async function Ui(r){let t=ir.decode(r),e=t.Data??new Uint8Array;switch(t.Type){case _t.RSA:return await kr.rsa.unmarshalRsaPrivateKey(e);case _t.Ed25519:return kr.ed25519.unmarshalEd25519PrivateKey(e);case _t.Secp256k1:return kr.secp256k1.unmarshalSecp256k1PrivateKey(e);default:throw Gl(t.Type??"RSA")}}function Yy(r,t){return t=(t??"rsa").toLowerCase(),Yl(t),r.bytes}async function Bs(r,t){try{let i=await Qm(r,t);return await Ui(i)}catch{}let e=Ia.default.pki.decryptRsaPrivateKey(r,t);if(e===null)throw new T("Cannot read the key, most likely the password is wrong or not a RSA key","ERR_CANNOT_DECRYPT_PEM");let n=Ia.default.asn1.toDer(Ia.default.pki.privateKeyToAsn1(e));return n=F(n.getBytes(),"ascii"),await kr.rsa.unmarshalRsaPrivateKey(n)}var hB=C(ra(),1),uS=C(ut(),1);var Qy=C(pl(),1),Xy=C(Kt(),1);var Wy={sha1:"sha1","sha2-256":"sha256","sha2-512":"sha512"};function Ds(r,t,e,n,i){if(i!=="sha1"&&i!=="sha2-256"&&i!=="sha2-512"){let a=Object.keys(Wy).join(" / ");throw new T(`Hash '${i}' is unknown or not supported. Must be ${a}`,"ERR_UNSUPPORTED_HASH_TYPE")}let s=Wy[i],o=(0,Qy.default)(r,t,e,n,s);return Xy.default.encode64(o,null)}var Ca=U("libp2p:keychain"),hS="/pkcs8/",Jy="/info/",qn=new WeakMap,$n={minKeyLength:112/8,minSaltLength:128/8,minIterationCount:1e3},Wl={dek:{keyLength:512/8,iterationCount:1e4,salt:"you should override this value with a crypto secure random number",hash:"sha2-512"}};function Or(r){return r==null||typeof r!="string"?!1:r===(0,Zy.default)(r.trim())&&r.length>0}async function ht(){let e=Math.random()*800+200;await new Promise(n=>setTimeout(n,e))}function dr(r){return new Pt(hS+r)}function un(r){return new Pt(Jy+r)}var zn=class{constructor(t,e){if(this.components=t,this.init=Ie(Wl,e),this.init.pass!=null&&this.init.pass?.length<20)throw new Error("pass must be least 20 characters");if(this.init.dek?.keyLength!=null&&this.init.dek.keyLength<$n.minKeyLength)throw new Error(`dek.keyLength must be least ${$n.minKeyLength} bytes`);if(this.init.dek?.salt?.length!=null&&this.init.dek.salt.length<$n.minSaltLength)throw new Error(`dek.saltLength must be least ${$n.minSaltLength} bytes`);if(this.init.dek?.iterationCount!=null&&this.init.dek.iterationCount<$n.minIterationCount)throw new Error(`dek.iterationCount must be least ${$n.minIterationCount}`);let n=this.init.pass!=null&&this.init.dek?.salt!=null?Ds(this.init.pass,this.init.dek?.salt,this.init.dek?.iterationCount,this.init.dek?.keyLength,this.init.dek?.hash):"";qn.set(this,{dek:n})}static generateOptions(){let t=Object.assign({},Wl),e=Math.ceil($n.minSaltLength/3)*3;return t.dek.salt=z(Lr(e),"base64"),t}static get options(){return Wl}async createKey(t,e,n=2048){if(!Or(t)||t==="self")throw await ht(),new T("Invalid key name",J.ERR_INVALID_KEY_NAME);if(typeof e!="string")throw await ht(),new T("Invalid key type",J.ERR_INVALID_KEY_TYPE);let i=dr(t);if(await this.components.datastore.has(i))throw await ht(),new T("Key name already exists",J.ERR_KEY_ALREADY_EXISTS);switch(e.toLowerCase()){case"rsa":if(!Number.isSafeInteger(n)||n<2048)throw await ht(),new T("Invalid RSA key size",J.ERR_INVALID_KEY_SIZE);break;default:break}let o;try{let a=await Ta(e,n),c=await a.id(),u=qn.get(this);if(u==null)throw new T("dek missing",J.ERR_INVALID_PARAMETERS);let l=u.dek,f=await a.export(l);o={name:t,id:c};let d=this.components.datastore.batch();d.put(i,F(f)),d.put(un(t),F(JSON.stringify(o))),await d.commit()}catch(a){throw await ht(),a}return o}async listKeys(){let t={prefix:Jy},e=[];for await(let n of this.components.datastore.query(t))e.push(JSON.parse(z(n.value)));return e}async findKeyById(t){try{let n=(await this.listKeys()).find(i=>i.id===t);if(n==null)throw new T(`Key with id '${t}' does not exist.`,J.ERR_KEY_NOT_FOUND);return n}catch(e){throw await ht(),e}}async findKeyByName(t){if(!Or(t))throw await ht(),new T(`Invalid key name '${t}'`,J.ERR_INVALID_KEY_NAME);let e=un(t);try{let n=await this.components.datastore.get(e);return JSON.parse(z(n))}catch(n){throw await ht(),Ca.error(n),new T(`Key '${t}' does not exist.`,J.ERR_KEY_NOT_FOUND)}}async removeKey(t){if(!Or(t)||t==="self")throw await ht(),new T(`Invalid key name '${t}'`,J.ERR_INVALID_KEY_NAME);let e=dr(t),n=await this.findKeyByName(t),i=this.components.datastore.batch();return i.delete(e),i.delete(un(t)),await i.commit(),n}async renameKey(t,e){if(!Or(t)||t==="self")throw await ht(),new T(`Invalid old key name '${t}'`,J.ERR_OLD_KEY_NAME_INVALID);if(!Or(e)||e==="self")throw await ht(),new T(`Invalid new key name '${e}'`,J.ERR_NEW_KEY_NAME_INVALID);let n=dr(t),i=dr(e),s=un(t),o=un(e);if(await this.components.datastore.has(i))throw await ht(),new T(`Key '${e}' already exists`,J.ERR_KEY_ALREADY_EXISTS);try{let c=await this.components.datastore.get(n),u=await this.components.datastore.get(s),l=JSON.parse(z(u));l.name=e;let f=this.components.datastore.batch();return f.put(i,c),f.put(o,F(JSON.stringify(l))),f.delete(n),f.delete(s),await f.commit(),l}catch(c){throw await ht(),c}}async exportKey(t,e){if(!Or(t))throw await ht(),new T(`Invalid key name '${t}'`,J.ERR_INVALID_KEY_NAME);if(e==null)throw await ht(),new T("Password is required",J.ERR_PASSWORD_REQUIRED);let n=dr(t);try{let i=await this.components.datastore.get(n),s=z(i),o=qn.get(this);if(o==null)throw new T("dek missing",J.ERR_INVALID_PARAMETERS);let a=o.dek;return await(await Bs(s,a)).export(e)}catch(i){throw await ht(),i}}async exportPeerId(t){let e="temporary-password",n=await this.exportKey(t,e),i=await Bs(n,e);return await Gr(i.public.bytes,i.bytes)}async importKey(t,e,n){if(!Or(t)||t==="self")throw await ht(),new T(`Invalid key name '${t}'`,J.ERR_INVALID_KEY_NAME);if(e==null)throw await ht(),new T("PEM encoded key is required",J.ERR_PEM_REQUIRED);let i=dr(t);if(await this.components.datastore.has(i))throw await ht(),new T(`Key '${t}' already exists`,J.ERR_KEY_ALREADY_EXISTS);let o;try{o=await Bs(e,n)}catch{throw await ht(),new T("Cannot read the key, most likely the password is wrong",J.ERR_CANNOT_READ_KEY)}let a;try{a=await o.id();let l=qn.get(this);if(l==null)throw new T("dek missing",J.ERR_INVALID_PARAMETERS);let f=l.dek;e=await o.export(f)}catch(l){throw await ht(),l}let c={name:t,id:a},u=this.components.datastore.batch();return u.put(i,F(e)),u.put(un(t),F(JSON.stringify(c))),await u.commit(),c}async importPeer(t,e){try{if(!Or(t))throw new T(`Invalid key name '${t}'`,J.ERR_INVALID_KEY_NAME);if(e==null)throw new T("PeerId is required",J.ERR_MISSING_PRIVATE_KEY);if(e.privateKey==null)throw new T("PeerId.privKey is required",J.ERR_MISSING_PRIVATE_KEY);let n=await Ui(e.privateKey),i=dr(t);if(await this.components.datastore.has(i))throw await ht(),new T(`Key '${t}' already exists`,J.ERR_KEY_ALREADY_EXISTS);let o=qn.get(this);if(o==null)throw new T("dek missing",J.ERR_INVALID_PARAMETERS);let a=o.dek,c=await n.export(a),u={name:t,id:e.toString()},l=this.components.datastore.batch();return l.put(i,F(c)),l.put(un(t),F(JSON.stringify(u))),await l.commit(),u}catch(n){throw await ht(),n}}async getPrivateKey(t){if(!Or(t))throw await ht(),new T(`Invalid key name '${t}'`,J.ERR_INVALID_KEY_NAME);try{let e=dr(t),n=await this.components.datastore.get(e);return z(n)}catch(e){throw await ht(),Ca.error(e),new T(`Key '${t}' does not exist.`,J.ERR_KEY_NOT_FOUND)}}async rotateKeychainPass(t,e){if(typeof t!="string")throw await ht(),new T(`Invalid old pass type '${typeof t}'`,J.ERR_INVALID_OLD_PASS_TYPE);if(typeof e!="string")throw await ht(),new T(`Invalid new pass type '${typeof e}'`,J.ERR_INVALID_NEW_PASS_TYPE);if(e.length<20)throw await ht(),new T(`Invalid pass length ${e.length}`,J.ERR_INVALID_PASS_LENGTH);Ca("recreating keychain");let n=qn.get(this);if(n==null)throw new T("dek missing",J.ERR_INVALID_PARAMETERS);let i=n.dek;this.init.pass=e;let s=e!=null&&this.init.dek?.salt!=null?Ds(e,this.init.dek.salt,this.init.dek?.iterationCount,this.init.dek?.keyLength,this.init.dek?.hash):"";qn.set(this,{dek:s});let o=await this.listKeys();for(let a of o){let c=await this.components.datastore.get(dr(a.name)),u=z(c),l=await Bs(u,i),f=s.toString(),d=await l.export(f),h=this.components.datastore.batch(),p={name:a.name,id:a.id};h.put(dr(a.name),F(d)),h.put(un(a.name),F(JSON.stringify(p))),await h.commit()}Ca("keychain reconstructed")}};var Fi=C(lt(),1);var MB=Symbol.for("@libp2p/transport");var ln;(function(r){r[r.FATAL_ALL=0]="FATAL_ALL",r[r.NO_FATAL=1]="NO_FATAL"})(ln||(ln={}));var Ql=class extends Map{constructor(t){super();let{name:e,metrics:n}=t;this.metric=n.registerMetric(e),this.updateComponentMetric()}set(t,e){return super.set(t,e),this.updateComponentMetric(),this}delete(t){let e=super.delete(t);return this.updateComponentMetric(),e}clear(){super.clear(),this.updateComponentMetric()}updateComponentMetric(){this.metric.update(this.size)}};function Ls(r){let{name:t,metrics:e}=r,n;return e!=null?n=new Ql({name:t,metrics:e}):n=new Map,n}var Hn=U("libp2p:transports"),Ba=class extends Dt{constructor(t,e={}){super(),this.components=t,this.started=!1,this.transports=new Map,this.listeners=Ls({name:"libp2p_transport_manager_listeners",metrics:this.components.metrics}),this.faultTolerance=e.faultTolerance??ln.FATAL_ALL}add(t){let e=t[Symbol.toStringTag];if(e==null)throw(0,Fi.default)(new Error("Transport must have a valid tag"),_.ERR_INVALID_KEY);if(this.transports.has(e))throw(0,Fi.default)(new Error(`There is already a transport with the tag ${e}`),_.ERR_DUPLICATE_TRANSPORT);Hn("adding transport %s",e),this.transports.set(e,t),this.listeners.has(e)||this.listeners.set(e,[])}isStarted(){return this.started}async start(){let t=this.components.addressManager.getListenAddrs();await this.listen(t),this.started=!0}async stop(){let t=[];for(let[e,n]of this.listeners)for(Hn("closing listeners for %s",e);n.length>0;){let i=n.pop();i!=null&&t.push(i.close())}await Promise.all(t),Hn("all listeners closed");for(let e of this.listeners.keys())this.listeners.set(e,[]);this.started=!1}async dial(t,e){let n=this.transportForMultiaddr(t);if(n==null)throw(0,Fi.default)(new Error(`No transport available for address ${String(t)}`),_.ERR_TRANSPORT_UNAVAILABLE);try{return await n.dial(t,{...e,upgrader:this.components.upgrader})}catch(i){throw i.code==null&&(i.code=_.ERR_TRANSPORT_DIAL_FAILED),i}}getAddrs(){let t=[];for(let e of this.listeners.values())for(let n of e)t=[...t,...n.getAddrs()];return t}getTransports(){return Array.of(...this.transports.values())}transportForMultiaddr(t){for(let e of this.transports.values())if(e.filter([t]).length>0)return e}async listen(t){if(t==null||t.length===0){Hn("no addresses were provided for listening, this node is dial only");return}let e=[];for(let[n,i]of this.transports.entries()){let s=i.filter(t),o=[];for(let u of s){Hn("creating listener for %s on %s",n,u);let l=i.createListener({upgrader:this.components.upgrader}),f=this.listeners.get(n);f==null&&(f=[],this.listeners.set(n,f)),f.push(l),l.addEventListener("listening",()=>{this.dispatchEvent(new $("listener:listening",{detail:l}))}),l.addEventListener("close",()=>{this.dispatchEvent(new $("listener:close",{detail:l}))}),o.push(l.listen(u))}if(o.length===0){e.push(n);continue}if((await Promise.allSettled(o)).find(u=>u.status==="fulfilled")==null&&this.faultTolerance!==ln.NO_FATAL)throw(0,Fi.default)(new Error(`Transport (${n}) could not listen on any available address`),_.ERR_NO_VALID_ADDRESSES)}if(e.length===this.transports.size){let n=`no valid addresses were provided for transports [${e.join(", ")}]`;if(this.faultTolerance===ln.FATAL_ALL)throw(0,Fi.default)(new Error(n),_.ERR_NO_VALID_ADDRESSES);Hn(`libp2p in dial mode only: ${n}`)}}async remove(t){Hn("removing %s",t);for(let e of this.listeners.get(t)??[])await e.close();this.transports.delete(t),this.listeners.delete(t)}async removeAll(){let t=[];for(let e of this.transports.keys())t.push(this.remove(e));await Promise.all(t)}};var Qt=C(lt(),1);var Mr="/multistream/1.0.0";var ag=C(lt(),1);var tg=Symbol.for("@achingbrain/uint8arraylist");function jy(r,t){if(t==null||t<0)throw new RangeError("index is out of bounds");let e=0;for(let n of r){let i=e+n.byteLength;if(t<i)return{buf:n,index:t-e};e=i}throw new RangeError("index is out of bounds")}function Da(r){return!!r?.[tg]}var kt=class{constructor(...t){Object.defineProperty(this,tg,{value:!0}),this.bufs=[],this.length=0,t.length>0&&this.appendAll(t)}*[Symbol.iterator](){yield*this.bufs}get byteLength(){return this.length}append(...t){this.appendAll(t)}appendAll(t){let e=0;for(let n of t)if(n instanceof Uint8Array)e+=n.byteLength,this.bufs.push(n);else if(Da(n))e+=n.byteLength,this.bufs.push(...n.bufs);else throw new Error("Could not append value, must be an Uint8Array or a Uint8ArrayList");this.length+=e}prepend(...t){this.prependAll(t)}prependAll(t){let e=0;for(let n of t.reverse())if(n instanceof Uint8Array)e+=n.byteLength,this.bufs.unshift(n);else if(Da(n))e+=n.byteLength,this.bufs.unshift(...n.bufs);else throw new Error("Could not prepend value, must be an Uint8Array or a Uint8ArrayList");this.length+=e}get(t){let e=jy(this.bufs,t);return e.buf[e.index]}set(t,e){let n=jy(this.bufs,t);n.buf[n.index]=e}write(t,e=0){if(t instanceof Uint8Array)for(let n=0;n<t.length;n++)this.set(e+n,t[n]);else if(Da(t))for(let n=0;n<t.length;n++)this.set(e+n,t.get(n));else throw new Error("Could not write value, must be an Uint8Array or a Uint8ArrayList")}consume(t){if(t=Math.trunc(t),!(Number.isNaN(t)||t<=0)){if(t===this.byteLength){this.bufs=[],this.length=0;return}for(;this.bufs.length>0;)if(t>=this.bufs[0].byteLength)t-=this.bufs[0].byteLength,this.length-=this.bufs[0].byteLength,this.bufs.shift();else{this.bufs[0]=this.bufs[0].subarray(t),this.length-=t;break}}}slice(t,e){let{bufs:n,length:i}=this._subList(t,e);return Mt(n,i)}subarray(t,e){let{bufs:n,length:i}=this._subList(t,e);return n.length===1?n[0]:Mt(n,i)}sublist(t,e){let{bufs:n,length:i}=this._subList(t,e),s=new kt;return s.length=i,s.bufs=n,s}_subList(t,e){if(t=t??0,e=e??this.length,t<0&&(t=this.length+t),e<0&&(e=this.length+e),t<0||e>this.length)throw new RangeError("index is out of bounds");if(t===e)return{bufs:[],length:0};if(t===0&&e===this.length)return{bufs:[...this.bufs],length:this.length};let n=[],i=0;for(let s=0;s<this.bufs.length;s++){let o=this.bufs[s],a=i,c=a+o.byteLength;if(i=c,t>=c)continue;let u=t>=a&&t<c,l=e>a&&e<=c;if(u&&l){if(t===a&&e===c){n.push(o);break}let f=t-a;n.push(o.subarray(f,f+(e-t)));break}if(u){if(t===0){n.push(o);continue}n.push(o.subarray(t-a));continue}if(l){if(e===c){n.push(o);break}n.push(o.subarray(0,e-a));break}n.push(o)}return{bufs:n,length:e-t}}indexOf(t,e=0){if(!Da(t)&&!(t instanceof Uint8Array))throw new TypeError('The "value" argument must be a Uint8ArrayList or Uint8Array');let n=t instanceof Uint8Array?t:t.subarray();if(e=Number(e??0),isNaN(e)&&(e=0),e<0&&(e=this.length+e),e<0&&(e=0),t.length===0)return e>this.length?this.length:e;let i=n.byteLength;if(i===0)throw new TypeError("search must be at least 1 byte long");let s=256,o=new Int32Array(s);for(let f=0;f<s;f++)o[f]=-1;for(let f=0;f<i;f++)o[n[f]]=f;let a=o,c=this.byteLength-n.byteLength,u=n.byteLength-1,l;for(let f=e;f<=c;f+=l){l=0;for(let d=u;d>=0;d--){let h=this.get(f+d);if(n[d]!==h){l=Math.max(1,d-a[h]);break}}if(l===0)return f}return-1}getInt8(t){let e=this.subarray(t,t+1);return new DataView(e.buffer,e.byteOffset,e.byteLength).getInt8(0)}setInt8(t,e){let n=br(1);new DataView(n.buffer,n.byteOffset,n.byteLength).setInt8(0,e),this.write(n,t)}getInt16(t,e){let n=this.subarray(t,t+2);return new DataView(n.buffer,n.byteOffset,n.byteLength).getInt16(0,e)}setInt16(t,e,n){let i=vr(2);new DataView(i.buffer,i.byteOffset,i.byteLength).setInt16(0,e,n),this.write(i,t)}getInt32(t,e){let n=this.subarray(t,t+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getInt32(0,e)}setInt32(t,e,n){let i=vr(4);new DataView(i.buffer,i.byteOffset,i.byteLength).setInt32(0,e,n),this.write(i,t)}getBigInt64(t,e){let n=this.subarray(t,t+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getBigInt64(0,e)}setBigInt64(t,e,n){let i=vr(8);new DataView(i.buffer,i.byteOffset,i.byteLength).setBigInt64(0,e,n),this.write(i,t)}getUint8(t){let e=this.subarray(t,t+1);return new DataView(e.buffer,e.byteOffset,e.byteLength).getUint8(0)}setUint8(t,e){let n=br(1);new DataView(n.buffer,n.byteOffset,n.byteLength).setUint8(0,e),this.write(n,t)}getUint16(t,e){let n=this.subarray(t,t+2);return new DataView(n.buffer,n.byteOffset,n.byteLength).getUint16(0,e)}setUint16(t,e,n){let i=vr(2);new DataView(i.buffer,i.byteOffset,i.byteLength).setUint16(0,e,n),this.write(i,t)}getUint32(t,e){let n=this.subarray(t,t+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getUint32(0,e)}setUint32(t,e,n){let i=vr(4);new DataView(i.buffer,i.byteOffset,i.byteLength).setUint32(0,e,n),this.write(i,t)}getBigUint64(t,e){let n=this.subarray(t,t+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getBigUint64(0,e)}setBigUint64(t,e,n){let i=vr(8);new DataView(i.buffer,i.byteOffset,i.byteLength).setBigUint64(0,e,n),this.write(i,t)}getFloat32(t,e){let n=this.subarray(t,t+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getFloat32(0,e)}setFloat32(t,e,n){let i=vr(4);new DataView(i.buffer,i.byteOffset,i.byteLength).setFloat32(0,e,n),this.write(i,t)}getFloat64(t,e){let n=this.subarray(t,t+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getFloat64(0,e)}setFloat64(t,e,n){let i=vr(8);new DataView(i.buffer,i.byteOffset,i.byteLength).setFloat64(0,e,n),this.write(i,t)}equals(t){if(t==null||!(t instanceof kt)||t.bufs.length!==this.bufs.length)return!1;for(let e=0;e<this.bufs.length;e++)if(!mt(this.bufs[e],t.bufs[e]))return!1;return!0}static fromUint8Arrays(t,e){let n=new kt;return n.bufs=t,e==null&&(e=t.reduce((i,s)=>i+s.byteLength,0)),n.length=e,n}};function La(r){return r instanceof Uint8Array?{get(t){return r[t]},set(t,e){r[t]=e}}:{get(t){return r.get(t)},set(t,e){r.set(t,e)}}}var eg=4294967296,be=class{constructor(t=0,e=0){this.hi=t,this.lo=e}toBigInt(t){if(t===!0)return BigInt(this.lo>>>0)+(BigInt(this.hi>>>0)<<32n);if(this.hi>>>31){let e=~this.lo+1>>>0,n=~this.hi>>>0;return e===0&&(n=n+1>>>0),-(BigInt(e)+(BigInt(n)<<32n))}return BigInt(this.lo>>>0)+(BigInt(this.hi>>>0)<<32n)}toNumber(t){return Number(this.toBigInt(t))}zzDecode(){let t=-(this.lo&1),e=((this.lo>>>1|this.hi<<31)^t)>>>0,n=(this.hi>>>1^t)>>>0;return new be(n,e)}zzEncode(){let t=this.hi>>31,e=((this.hi<<1|this.lo>>>31)^t)>>>0,n=(this.lo<<1^t)>>>0;return new be(e,n)}toBytes(t,e=0){let n=La(t);for(;this.hi>0;)n.set(e++,this.lo&127|128),this.lo=(this.lo>>>7|this.hi<<25)>>>0,this.hi>>>=7;for(;this.lo>127;)n.set(e++,this.lo&127|128),this.lo=this.lo>>>7;n.set(e++,this.lo)}static fromBigInt(t){if(t===0n)return new be;let e=t<0;e&&(t=-t);let n=Number(t>>32n)|0,i=Number(t-(BigInt(n)<<32n))|0;return e&&(n=~n>>>0,i=~i>>>0,++i>eg&&(i=0,++n>eg&&(n=0))),new be(n,i)}static fromNumber(t){if(t===0)return new be;let e=t<0;e&&(t=-t);let n=t>>>0,i=(t-n)/4294967296>>>0;return e&&(i=~i>>>0,n=~n>>>0,++n>4294967295&&(n=0,++i>4294967295&&(i=0))),new be(i,n)}static fromBytes(t,e=0){let n=La(t),i=new be,s=0;if(t.length-e>4){for(;s<4;++s)if(i.lo=(i.lo|(n.get(e)&127)<<s*7)>>>0,n.get(e++)<128)return i;if(i.lo=(i.lo|(n.get(e)&127)<<28)>>>0,i.hi=(i.hi|(n.get(e)&127)>>4)>>>0,n.get(e++)<128)return i;s=0}else for(;s<4;++s){if(e>=t.length)throw RangeError(`index out of range: ${e} > ${t.length}`);if(i.lo=(i.lo|(n.get(e)&127)<<s*7)>>>0,n.get(e++)<128)return i}if(t.length-e>4){for(;s<5;++s)if(i.hi=(i.hi|(n.get(e)&127)<<s*7+3)>>>0,n.get(e++)<128)return i}else if(e<t.byteLength)for(;s<5;++s){if(e>=t.length)throw RangeError(`index out of range: ${e} > ${t.length}`);if(i.hi=(i.hi|(n.get(e)&127)<<s*7+3)>>>0,n.get(e++)<128)return i}throw RangeError("invalid varint encoding")}};var dS=Math.pow(2,7),pS=Math.pow(2,14),mS=Math.pow(2,21),yS=Math.pow(2,28),gS=Math.pow(2,35),wS=Math.pow(2,42),ES=Math.pow(2,49),xS=Math.pow(2,56),vS=Math.pow(2,63),He={encodingLength(r){return r<dS?1:r<pS?2:r<mS?3:r<yS?4:r<gS?5:r<wS?6:r<ES?7:r<xS?8:r<vS?9:10},encode(r,t,e=0){if(Number.MAX_SAFE_INTEGER!=null&&r>Number.MAX_SAFE_INTEGER)throw new RangeError("Could not encode varint");return t==null&&(t=br(He.encodingLength(r))),be.fromNumber(r).toBytes(t,e),t},decode(r,t=0){return be.fromBytes(r,t).toNumber(!0)}};function rg(r){return globalThis?.Buffer?.allocUnsafe!=null?globalThis.Buffer.allocUnsafe(r):new Uint8Array(r)}var Pa=r=>{let t=He.encodingLength(r),e=rg(t);return He.encode(r,e),Pa.bytes=t,e};Pa.bytes=0;function pr(r){r=r??{};let t=r.lengthEncoder??Pa;return async function*(n){for await(let i of n){let s=t(i.byteLength);s instanceof Uint8Array?yield s:yield*s,i instanceof Uint8Array?yield i:yield*i}}}pr.single=(r,t)=>{t=t??{};let e=t.lengthEncoder??Pa;return new kt(e(r.byteLength),r)};var Ps=C(lt(),1),bS=8,_S=1024*1024*4,Gn;(function(r){r[r.LENGTH=0]="LENGTH",r[r.DATA=1]="DATA"})(Gn||(Gn={}));var Xl=r=>{let t=He.decode(r);return Xl.bytes=He.encodingLength(t),t};Xl.bytes=0;function Ge(r){return async function*(e){let n=new kt,i=Gn.LENGTH,s=-1,o=r?.lengthDecoder??Xl,a=r?.maxLengthLength??bS,c=r?.maxDataLength??_S;for await(let u of e)for(n.append(u);n.byteLength>0;){if(i===Gn.LENGTH)try{if(s=o(n),s<0)throw(0,Ps.default)(new Error("invalid message length"),"ERR_INVALID_MSG_LENGTH");if(s>c)throw(0,Ps.default)(new Error("message length too long"),"ERR_MSG_DATA_TOO_LONG");let l=o.bytes;n.consume(l),r?.onLength!=null&&r.onLength(s),i=Gn.DATA}catch(l){if(l instanceof RangeError){if(n.byteLength>a)throw(0,Ps.default)(new Error("message length length too long"),"ERR_MSG_LENGTH_TOO_LONG");break}throw l}if(i===Gn.DATA){if(n.byteLength<s)break;let l=n.sublist(0,s);n.consume(s),r?.onData!=null&&r.onData(l),yield l,i=Gn.LENGTH}}if(n.byteLength>0)throw(0,Ps.default)(new Error("unexpected end of input"),"ERR_UNEXPECTED_EOF")}}Ge.fromReader=(r,t)=>{let e=1,n=async function*(){for(;;)try{let{done:s,value:o}=await r.next(e);if(s===!0)return;o!=null&&(yield o)}catch(s){if(s.code==="ERR_UNDER_READ")return{done:!0,value:null};throw s}finally{e=1}}();return Ge({...t??{},onLength:s=>{e=s}})(n)};var Jl=C(lt(),1);var Ns=class extends Error{constructor(t,e){super(t??"The operation was aborted"),this.type="aborted",this.code=e??"ABORT_ERR"}};function ng(r){if(r!=null){if(typeof r[Symbol.iterator]=="function")return r[Symbol.iterator]();if(typeof r[Symbol.asyncIterator]=="function")return r[Symbol.asyncIterator]();if(typeof r.next=="function")return r}throw new Error("argument is not an iterator or iterable")}function Na(r,t,e){let n=e??{},i=ng(r);async function*s(){let o,a=()=>{o?.()};for(t.addEventListener("abort",a);;){let c;try{if(t.aborted){let{abortMessage:l,abortCode:f}=n;throw new Ns(l,f)}let u=new Promise((l,f)=>{o=()=>{let{abortMessage:d,abortCode:h}=n;f(new Ns(d,h))}});c=await Promise.race([u,i.next()]),o=null}catch(u){t.removeEventListener("abort",a);let l=u.type==="aborted"&&t.aborted;if(l&&n.onAbort!=null&&await n.onAbort(r),typeof i.return=="function")try{let f=i.return();f instanceof Promise&&f.catch(d=>{n.onReturnError!=null&&n.onReturnError(d)})}catch(f){n.onReturnError!=null&&n.onReturnError(f)}if(l&&n.returnOnAbort===!0)return;throw u}if(c.done===!0)break;yield c.value}t.removeEventListener("abort",a)}return s()}function SS(r,t,e){return n=>r(Na(n,t,e))}function Ye(r,t,e){return{sink:SS(r.sink,t,{...e,onAbort:void 0}),source:Na(r.source,t,e)}}var RS=U("libp2p:mss"),ig=F(`
|
|
38
|
+
`);function ks(r){let t=new kt(r,ig);return pr.single(t)}function Yn(r,t,e={}){let n=ks(t);e.writeBytes===!0?r.push(n.subarray()):r.push(n)}function sg(r,t,e={}){let n=new kt;for(let i of t)n.append(ks(i));e.writeBytes===!0?r.push(n.subarray()):r.push(n)}async function IS(r,t){let e=1,n={[Symbol.asyncIterator]:()=>n,next:async()=>await r.next(e)},i=n;t?.signal!=null&&(i=Na(n,t.signal));let o=await Zt(i,Ge({onLength:a=>{e=a},maxDataLength:1024}),async a=>await we(a));if(o==null||o.length===0)throw(0,Jl.default)(new Error("no buffer returned"),"ERR_INVALID_MULTISTREAM_SELECT_MESSAGE");if(o.get(o.byteLength-1)!==ig[0])throw RS.error("Invalid mss message - missing newline - %s",o.subarray()),(0,Jl.default)(new Error("missing newline"),"ERR_INVALID_MULTISTREAM_SELECT_MESSAGE");return o.sublist(0,-1)}async function Ki(r,t){let e=await IS(r,t);return z(e.subarray())}function jl(r){let t=async function*(){let e=yield,n=new kt;for await(let i of r){if(e==null){n.append(i),e=yield n,n=new kt;continue}for(n.append(i);n.length>=e;){let s=n.sublist(0,e);if(n.consume(e),e=yield s,e==null){n.length>0&&(e=yield n,n=new kt);break}}}if(e!=null)throw Object.assign(new Error(`stream ended before ${e} bytes became available`),{code:"ERR_UNDER_READ",buffer:n})}();return t.next(),t}function tf(){let r={};return r.promise=new Promise((t,e)=>{r.resolve=t,r.reject=e}),r}function ka(r){let t=_n(),e=jl(r.source),n=tf(),i,s=r.sink(async function*(){yield*t,yield*await n.promise}());return s.catch(a=>{i=a}),{reader:e,writer:t,stream:{sink:async a=>i!=null?await Promise.reject(i):(n.resolve(a),await s),source:e},rest:()=>t.end(),write:t.push,read:async()=>{let a=await e.next();if(a.value!=null)return a.value}}}var Os=U("libp2p:mss:select");async function Ms(r,t,e={}){t=Array.isArray(t)?[...t]:[t];let{reader:n,writer:i,rest:s,stream:o}=ka(r),a=t.shift();if(a==null)throw new Error("At least one protocol must be specified");Os('select: write ["%s", "%s"]',Mr,a);let c=F(Mr),u=F(a);sg(i,[c,u],e);let l=await Ki(n,e);if(Os('select: read "%s"',l),l===Mr&&(l=await Ki(n,e),Os('select: read "%s"',l)),l===a)return s(),{stream:o,protocol:a};for(let f of t){Os('select: write "%s"',f),Yn(i,F(f),e);let d=await Ki(n,e);if(Os('select: read "%s" for "%s"',d,f),d===f)return s(),{stream:o,protocol:f}}throw s(),(0,ag.default)(new Error("protocol selection failed"),"ERR_UNSUPPORTED_PROTOCOL")}var Us=U("libp2p:mss:handle");async function Fs(r,t,e){t=Array.isArray(t)?t:[t];let{writer:n,reader:i,rest:s,stream:o}=ka(r);for(;;){let a=await Ki(i,e);if(Us('read "%s"',a),a===Mr){Us('respond with "%s" for "%s"',Mr,a),Yn(n,F(Mr),e);continue}if(t.includes(a))return Yn(n,F(a),e),Us('respond with "%s" for "%s"',a,a),s(),{stream:o,protocol:a};if(a==="ls"){Yn(n,new kt(...t.map(c=>ks(F(c)))),e),Us('respond with "%s" for %s',t,a);continue}Yn(n,F("na"),e),Us('respond with "na" for "%s"',a)}}var ef=C(lt(),1);var cg=Symbol.for("@libp2p/connection");var CS=U("libp2p:connection"),rf=class{constructor(t){let{remoteAddr:e,remotePeer:n,newStream:i,close:s,getStreams:o,stat:a}=t;this.id=`${parseInt(String(Math.random()*1e9)).toString(36)}${Date.now()}`,this.remoteAddr=e,this.remotePeer=n,this.stat={...a,status:Oo},this._newStream=i,this._close=s,this._getStreams=o,this.tags=[],this._closing=!1}get[Symbol.toStringTag](){return"Connection"}get[cg](){return!0}get streams(){return this._getStreams()}async newStream(t,e){if(this.stat.status===_u)throw(0,ef.default)(new Error("the connection is being closed"),"ERR_CONNECTION_BEING_CLOSED");if(this.stat.status===Mo)throw(0,ef.default)(new Error("the connection is closed"),"ERR_CONNECTION_CLOSED");Array.isArray(t)||(t=[t]);let n=await this._newStream(t,e);return n.stat.direction="outbound",n}addStream(t){t.stat.direction="inbound"}removeStream(t){}async close(){if(!(this.stat.status===Mo||this._closing)){this.stat.status=_u;try{this.streams.forEach(t=>{t.close()})}catch(t){CS.error(t)}this._closing=!0,await this._close(),this._closing=!1,this.stat.timeline.close=Date.now(),this.stat.status=Mo}}};function ug(r){return new rf(r)}var Oa=C(lt(),1);var BS=Symbol.for("@libp2p/topology");function lg(r){return r!=null&&!!r[BS]}var nf=U("libp2p:registrar"),sf=32,of=64,Ma=class{constructor(t){this.topologies=new Map,this.handlers=new Map,this.components=t,this._onDisconnect=this._onDisconnect.bind(this),this._onProtocolChange=this._onProtocolChange.bind(this),this._onConnect=this._onConnect.bind(this),this.components.connectionManager.addEventListener("peer:disconnect",this._onDisconnect),this.components.connectionManager.addEventListener("peer:connect",this._onConnect),this.components.peerStore.addEventListener("change:protocols",this._onProtocolChange)}getProtocols(){return Array.from(new Set([...this.topologies.keys(),...this.handlers.keys()])).sort()}getHandler(t){let e=this.handlers.get(t);if(e==null)throw(0,Oa.default)(new Error(`No handler registered for protocol ${t}`),_.ERR_NO_HANDLER_FOR_PROTOCOL);return e}getTopologies(t){let e=this.topologies.get(t);return e==null?[]:[...e.values()]}async handle(t,e,n){if(this.handlers.has(t))throw(0,Oa.default)(new Error(`Handler already registered for protocol ${t}`),_.ERR_PROTOCOL_HANDLER_ALREADY_REGISTERED);let i=Ie.bind({ignoreUndefined:!0})({maxInboundStreams:sf,maxOutboundStreams:of},n);this.handlers.set(t,{handler:e,options:i}),await this.components.peerStore.protoBook.add(this.components.peerId,[t])}async unhandle(t){let e=Array.isArray(t)?t:[t];e.forEach(n=>{this.handlers.delete(n)}),await this.components.peerStore.protoBook.remove(this.components.peerId,e)}async register(t,e){if(!lg(e))throw nf.error("topology must be an instance of interfaces/topology"),(0,Oa.default)(new Error("topology must be an instance of interfaces/topology"),_.ERR_INVALID_PARAMETERS);let n=`${(Math.random()*1e9).toString(36)}${Date.now()}`,i=this.topologies.get(t);return i==null&&(i=new Map,this.topologies.set(t,i)),i.set(n,e),await e.setRegistrar(this),n}unregister(t){for(let[e,n]of this.topologies.entries())n.has(t)&&(n.delete(t),n.size===0&&this.topologies.delete(e))}_onDisconnect(t){let e=t.detail;this.components.peerStore.protoBook.get(e.remotePeer).then(n=>{for(let i of n){let s=this.topologies.get(i);if(s!=null)for(let o of s.values())o.onDisconnect(e.remotePeer)}}).catch(n=>{nf.error(n)})}_onConnect(t){let e=t.detail;this.components.peerStore.protoBook.get(e.remotePeer).then(n=>{for(let i of n){let s=this.topologies.get(i);if(s!=null)for(let o of s.values())o.onConnect(e.remotePeer,e)}}).catch(n=>{nf.error(n)})}_onProtocolChange(t){let{peerId:e,protocols:n,oldProtocols:i}=t.detail,s=i.filter(a=>!n.includes(a)),o=n.filter(a=>!i.includes(a));for(let a of s){let c=this.topologies.get(a);if(c!=null)for(let u of c.values())u.onDisconnect(e)}for(let a of o){let c=this.topologies.get(a);if(c!=null)for(let u of c.values()){let l=this.components.connectionManager.getConnections(e)[0];l!=null&&u.onConnect(e,l)}}}};var af=C(zr(),1);var cf=C(Ar(),1),wt=U("libp2p:upgrader");function DS(r,t){try{let{options:e}=t.getHandler(r);return e.maxInboundStreams}catch(e){if(e.code!==_.ERR_NO_HANDLER_FOR_PROTOCOL)throw e}return sf}function LS(r,t){try{let{options:e}=t.getHandler(r);return e.maxOutboundStreams}catch(e){if(e.code!==_.ERR_NO_HANDLER_FOR_PROTOCOL)throw e}return of}function fg(r,t,e){let n=0;return e.streams.forEach(i=>{i.stat.direction===t&&i.stat.protocol===r&&n++}),n}var Ua=class extends Dt{constructor(t,e){super(),this.components=t,this.connectionEncryption=new Map,e.connectionEncryption.forEach(n=>{this.connectionEncryption.set(n.protocol,n)}),this.muxers=new Map,e.muxers.forEach(n=>{this.muxers.set(n.protocol,n)}),this.inboundUpgradeTimeout=e.inboundUpgradeTimeout}async upgradeInbound(t,e){if(!await this.components.connectionManager.acceptIncomingConnection(t))throw(0,Qt.default)(new Error("connection denied"),_.ERR_CONNECTION_DENIED);let i,s,o,a,c,u=new af.TimeoutController(this.inboundUpgradeTimeout);try{(0,cf.setMaxListeners)?.(1/0,u.signal)}catch{}try{let l=Ye(t,u.signal);if(t.source=l.source,t.sink=l.sink,await this.components.connectionGater.denyInboundConnection?.(t)===!0)throw(0,Qt.default)(new Error("The multiaddr connection is blocked by gater.acceptConnection"),_.ERR_CONNECTION_INTERCEPTED);this.components.metrics?.trackMultiaddrConnection(t),wt("starting the inbound connection upgrade");let f=t;if(e?.skipProtection!==!0){let d=this.components.connectionProtector;d!=null&&(wt("protecting the inbound connection"),f=await d.protect(t))}try{if(i=f,e?.skipEncryption!==!0){if({conn:i,remotePeer:s,protocol:c}=await this._encryptInbound(f),await this.components.connectionGater.denyInboundEncryptedConnection?.(s,{...f,...i})===!0)throw(0,Qt.default)(new Error("The multiaddr connection is blocked by gater.acceptEncryptedConnection"),_.ERR_CONNECTION_INTERCEPTED)}else{let d=t.remoteAddr.getPeerId();if(d==null)throw(0,Qt.default)(new Error("inbound connection that skipped encryption must have a peer id"),_.ERR_INVALID_MULTIADDR);let h=st(d);c="native",s=h}if(o=i,e?.muxerFactory!=null)a=e.muxerFactory;else if(this.muxers.size>0){let d=await this._multiplexInbound({...f,...i},this.muxers);a=d.muxerFactory,o=d.stream}}catch(d){throw wt.error("Failed to upgrade inbound connection",d),d}if(await this.components.connectionGater.denyInboundUpgradedConnection?.(s,{...f,...i})===!0)throw(0,Qt.default)(new Error("The multiaddr connection is blocked by gater.acceptEncryptedConnection"),_.ERR_CONNECTION_INTERCEPTED);return wt("Successfully upgraded inbound connection"),this._createConnection({cryptoProtocol:c,direction:"inbound",maConn:t,upgradedConn:o,muxerFactory:a,remotePeer:s})}finally{this.components.connectionManager.afterUpgradeInbound(),u.clear()}}async upgradeOutbound(t,e){let n=t.remoteAddr.getPeerId(),i;if(n!=null&&(i=st(n),await this.components.connectionGater.denyOutboundConnection?.(i,t)===!0))throw(0,Qt.default)(new Error("The multiaddr connection is blocked by connectionGater.denyOutboundConnection"),_.ERR_CONNECTION_INTERCEPTED);let s,o,a,c,u;this.components.metrics?.trackMultiaddrConnection(t),wt("Starting the outbound connection upgrade");let l=t;if(e?.skipProtection!==!0){let f=this.components.connectionProtector;f!=null&&(l=await f.protect(t))}try{if(s=l,e?.skipEncryption!==!0){if({conn:s,remotePeer:o,protocol:c}=await this._encryptOutbound(l,i),await this.components.connectionGater.denyOutboundEncryptedConnection?.(o,{...l,...s})===!0)throw(0,Qt.default)(new Error("The multiaddr connection is blocked by gater.acceptEncryptedConnection"),_.ERR_CONNECTION_INTERCEPTED)}else{if(i==null)throw(0,Qt.default)(new Error("Encryption was skipped but no peer id was passed"),_.ERR_INVALID_PEER);c="native",o=i}if(a=s,e?.muxerFactory!=null)u=e.muxerFactory;else if(this.muxers.size>0){let f=await this._multiplexOutbound({...l,...s},this.muxers);u=f.muxerFactory,a=f.stream}}catch(f){throw wt.error("Failed to upgrade outbound connection",f),await t.close(f),f}if(await this.components.connectionGater.denyOutboundUpgradedConnection?.(o,{...l,...s})===!0)throw(0,Qt.default)(new Error("The multiaddr connection is blocked by gater.acceptEncryptedConnection"),_.ERR_CONNECTION_INTERCEPTED);return wt("Successfully upgraded outbound connection"),this._createConnection({cryptoProtocol:c,direction:"outbound",maConn:t,upgradedConn:a,muxerFactory:u,remotePeer:o})}_createConnection(t){let{cryptoProtocol:e,direction:n,maConn:i,upgradedConn:s,remotePeer:o,muxerFactory:a}=t,c,u,l;a!=null&&(c=a.createStreamMuxer({direction:n,onIncomingStream:h=>{l!=null&&Promise.resolve().then(async()=>{let p=this.components.registrar.getProtocols(),{stream:m,protocol:y}=await Fs(h,p);if(wt("%s: incoming stream opened on %s",n,y),l==null)return;let g=DS(y,this.components.registrar);if(fg(y,"inbound",l)===g){h.abort((0,Qt.default)(new Error(`Too many inbound protocol streams for protocol "${y}" - limit ${g}`),_.ERR_TOO_MANY_INBOUND_PROTOCOL_STREAMS));return}h.source=m.source,h.sink=m.sink,h.stat.protocol=y,this.components.peerStore.protoBook.add(o,[y]).catch(b=>{wt.error(b)}),l.addStream(h),this.components.metrics?.trackProtocolStream(h,l),this._onStream({connection:l,stream:h,protocol:y})}).catch(p=>{wt.error(p),h.stat.timeline.close==null&&h.close()})},onStreamEnd:h=>{l?.removeStream(h.id)}}),u=async(h,p={})=>{if(c==null)throw(0,Qt.default)(new Error("Stream is not multiplexed"),_.ERR_MUXER_UNAVAILABLE);wt("%s: starting new stream on %s",n,h);let m=await c.newStream(),y;try{if(p.signal==null){wt("No abort signal was passed while trying to negotiate protocols %s falling back to default timeout",h),y=new af.TimeoutController(3e4),p.signal=y.signal;try{(0,cf.setMaxListeners)?.(1/0,y.signal)}catch{}}let{stream:g,protocol:E}=await Ms(m,h,p),b=LS(E,this.components.registrar);if(fg(E,"outbound",l)===b){let B=(0,Qt.default)(new Error(`Too many outbound protocol streams for protocol "${E}" - limit ${b}`),_.ERR_TOO_MANY_OUTBOUND_PROTOCOL_STREAMS);throw m.abort(B),B}return this.components.peerStore.protoBook.add(o,[E]).catch(B=>{wt.error(B)}),m.source=g.source,m.sink=g.sink,m.stat.protocol=E,this.components.metrics?.trackProtocolStream(m,l),m}catch(g){throw wt.error("could not create new stream",g),m.stat.timeline.close==null&&m.close(),g.code!=null?g:(0,Qt.default)(g,_.ERR_UNSUPPORTED_PROTOCOL)}finally{y?.clear()}},Promise.all([c.sink(s.source),s.sink(c.source)]).catch(h=>{wt.error(h)}));let f=i.timeline;i.timeline=new Proxy(f,{set:(...h)=>(l!=null&&h[1]==="close"&&h[2]!=null&&f.close==null&&(async()=>{try{l.stat.status==="OPEN"&&await l.close()}catch(p){wt.error(p)}finally{this.dispatchEvent(new $("connectionEnd",{detail:l}))}})().catch(p=>{wt.error(p)}),Reflect.set(...h))}),i.timeline.upgraded=Date.now();let d=()=>{throw(0,Qt.default)(new Error("connection is not multiplexed"),_.ERR_CONNECTION_NOT_MULTIPLEXED)};return l=ug({remoteAddr:i.remoteAddr,remotePeer:o,stat:{status:"OPEN",direction:n,timeline:i.timeline,multiplexer:c?.protocol,encryption:e},newStream:u??d,getStreams:()=>c!=null?c.streams:d(),close:async()=>{await i.close(),c?.close()}}),this.dispatchEvent(new $("connection",{detail:l})),l}_onStream(t){let{connection:e,stream:n,protocol:i}=t,{handler:s}=this.components.registrar.getHandler(i);s({connection:e,stream:n})}async _encryptInbound(t){let e=Array.from(this.connectionEncryption.keys());wt("handling inbound crypto protocol selection",e);try{let{stream:n,protocol:i}=await Fs(t,e,{writeBytes:!0}),s=this.connectionEncryption.get(i);if(s==null)throw new Error(`no crypto module found for ${i}`);return wt("encrypting inbound connection..."),{...await s.secureInbound(this.components.peerId,n),protocol:i}}catch(n){throw(0,Qt.default)(n,_.ERR_ENCRYPTION_FAILED)}}async _encryptOutbound(t,e){let n=Array.from(this.connectionEncryption.keys());wt("selecting outbound crypto protocol",n);try{let{stream:i,protocol:s}=await Ms(t,n,{writeBytes:!0}),o=this.connectionEncryption.get(s);if(o==null)throw new Error(`no crypto module found for ${s}`);return wt("encrypting outbound connection to %p",e),{...await o.secureOutbound(this.components.peerId,i,e),protocol:s}}catch(i){throw(0,Qt.default)(i,_.ERR_ENCRYPTION_FAILED)}}async _multiplexOutbound(t,e){let n=Array.from(e.keys());wt("outbound selecting muxer %s",n);try{let{stream:i,protocol:s}=await Ms(t,n,{writeBytes:!0});wt("%s selected as muxer protocol",s);let o=e.get(s);return{stream:i,muxerFactory:o}}catch(i){throw wt.error("error multiplexing outbound stream",i),(0,Qt.default)(i,_.ERR_MUXER_UNAVAILABLE)}}async _multiplexInbound(t,e){let n=Array.from(e.keys());wt("inbound handling muxers %s",n);try{let{stream:i,protocol:s}=await Fs(t,n,{writeBytes:!0}),o=e.get(s);return{stream:i,muxerFactory:o}}catch(i){throw wt.error("error multiplexing inbound stream",i),(0,Qt.default)(i,_.ERR_MUXER_UNAVAILABLE)}}};var Qn=C(lt(),1);var Wn;(function(r){let t;r.codec=()=>(t==null&&(t=Tt((e,n,i={})=>{if(i.lengthDelimited!==!1&&n.fork(),e.protocolVersion!=null&&(n.uint32(42),n.string(e.protocolVersion)),e.agentVersion!=null&&(n.uint32(50),n.string(e.agentVersion)),e.publicKey!=null&&(n.uint32(10),n.bytes(e.publicKey)),e.listenAddrs!=null)for(let s of e.listenAddrs)n.uint32(18),n.bytes(s);if(e.observedAddr!=null&&(n.uint32(34),n.bytes(e.observedAddr)),e.protocols!=null)for(let s of e.protocols)n.uint32(26),n.string(s);e.signedPeerRecord!=null&&(n.uint32(66),n.bytes(e.signedPeerRecord)),i.lengthDelimited!==!1&&n.ldelim()},(e,n)=>{let i={listenAddrs:[],protocols:[]},s=n==null?e.len:e.pos+n;for(;e.pos<s;){let o=e.uint32();switch(o>>>3){case 5:i.protocolVersion=e.string();break;case 6:i.agentVersion=e.string();break;case 1:i.publicKey=e.bytes();break;case 2:i.listenAddrs.push(e.bytes());break;case 4:i.observedAddr=e.bytes();break;case 3:i.protocols.push(e.string());break;case 8:i.signedPeerRecord=e.bytes();break;default:e.skipType(o&7);break}}return i})),t),r.encode=e=>It(e,r.codec()),r.decode=e=>Rt(e,r.codec())})(Wn||(Wn={}));var hg={ERR_SIGNATURE_NOT_VALID:"ERR_SIGNATURE_NOT_VALID"};var Ks;(function(r){let t;r.codec=()=>(t==null&&(t=Tt((e,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),e.publicKey!=null&&e.publicKey.byteLength>0&&(n.uint32(10),n.bytes(e.publicKey)),e.payloadType!=null&&e.payloadType.byteLength>0&&(n.uint32(18),n.bytes(e.payloadType)),e.payload!=null&&e.payload.byteLength>0&&(n.uint32(26),n.bytes(e.payload)),e.signature!=null&&e.signature.byteLength>0&&(n.uint32(42),n.bytes(e.signature)),i.lengthDelimited!==!1&&n.ldelim()},(e,n)=>{let i={publicKey:new Uint8Array(0),payloadType:new Uint8Array(0),payload:new Uint8Array(0),signature:new Uint8Array(0)},s=n==null?e.len:e.pos+n;for(;e.pos<s;){let o=e.uint32();switch(o>>>3){case 1:i.publicKey=e.bytes();break;case 2:i.payloadType=e.bytes();break;case 3:i.payload=e.bytes();break;case 5:i.signature=e.bytes();break;default:e.skipType(o&7);break}}return i})),t),r.encode=e=>It(e,r.codec()),r.decode=e=>Rt(e,r.codec())})(Ks||(Ks={}));var PS,Xt=class{constructor(t){let{peerId:e,payloadType:n,payload:i,signature:s}=t;this.peerId=e,this.payloadType=n,this.payload=i,this.signature=s}marshal(){if(this.peerId.publicKey==null)throw new Error("Missing public key");return this.marshaled==null&&(this.marshaled=Ks.encode({publicKey:this.peerId.publicKey,payloadType:this.payloadType,payload:this.payload.subarray(),signature:this.signature})),this.marshaled}equals(t){return mt(this.marshal(),t.marshal())}async validate(t){let e=dg(t,this.payloadType,this.payload);if(this.peerId.publicKey==null)throw new Error("Missing public key");return await Cs(this.peerId.publicKey).verify(e.subarray(),this.signature)}};PS=Xt;Xt.createFromProtobuf=async r=>{let t=Ks.decode(r),e=await Gr(t.publicKey);return new Xt({peerId:e,payloadType:t.payloadType,payload:t.payload,signature:t.signature})};Xt.seal=async(r,t)=>{if(t.privateKey==null)throw new Error("Missing private key");let e=r.domain,n=r.codec,i=r.marshal(),s=dg(e,n,i),a=await(await Ui(t.privateKey)).sign(s.subarray());return new Xt({peerId:t,payloadType:n,payload:i,signature:a})};Xt.openAndCertify=async(r,t)=>{let e=await Xt.createFromProtobuf(r);if(!await e.validate(t))throw new T("envelope signature is not valid for the given domain",hg.ERR_SIGNATURE_NOT_VALID);return e};var dg=(r,t,e)=>{let n=F(r),i=He.encode(n.byteLength),s=He.encode(t.length),o=He.encode(e.length);return new kt(i,n,s,t,o,e)};function pg(r,t){let e=(n,i)=>n.toString().localeCompare(i.toString());return r.length!==t.length?!1:(t.sort(e),r.sort(e).every((n,i)=>t[i].equals(n)))}var Vs;(function(r){let t;(function(n){let i;n.codec=()=>(i==null&&(i=Tt((s,o,a={})=>{a.lengthDelimited!==!1&&o.fork(),s.multiaddr!=null&&s.multiaddr.byteLength>0&&(o.uint32(10),o.bytes(s.multiaddr)),a.lengthDelimited!==!1&&o.ldelim()},(s,o)=>{let a={multiaddr:new Uint8Array(0)},c=o==null?s.len:s.pos+o;for(;s.pos<c;){let u=s.uint32();switch(u>>>3){case 1:a.multiaddr=s.bytes();break;default:s.skipType(u&7);break}}return a})),i),n.encode=s=>It(s,n.codec()),n.decode=s=>Rt(s,n.codec())})(t=r.AddressInfo||(r.AddressInfo={}));let e;r.codec=()=>(e==null&&(e=Tt((n,i,s={})=>{if(s.lengthDelimited!==!1&&i.fork(),n.peerId!=null&&n.peerId.byteLength>0&&(i.uint32(10),i.bytes(n.peerId)),n.seq!=null&&n.seq!==0n&&(i.uint32(16),i.uint64(n.seq)),n.addresses!=null)for(let o of n.addresses)i.uint32(26),r.AddressInfo.codec().encode(o,i);s.lengthDelimited!==!1&&i.ldelim()},(n,i)=>{let s={peerId:new Uint8Array(0),seq:0n,addresses:[]},o=i==null?n.len:n.pos+i;for(;n.pos<o;){let a=n.uint32();switch(a>>>3){case 1:s.peerId=n.bytes();break;case 2:s.seq=n.uint64();break;case 3:s.addresses.push(r.AddressInfo.codec().decode(n,n.uint32()));break;default:n.skipType(a&7);break}}return s})),e),r.encode=n=>It(n,r.codec()),r.decode=n=>Rt(n,r.codec())})(Vs||(Vs={}));var mg="libp2p-peer-record",yg=Uint8Array.from([3,1]);var zt=class{constructor(t){this.domain=zt.DOMAIN,this.codec=zt.CODEC;let{peerId:e,multiaddrs:n,seqNumber:i}=t;this.peerId=e,this.multiaddrs=n??[],this.seqNumber=i??BigInt(Date.now())}marshal(){return this.marshaled==null&&(this.marshaled=Vs.encode({peerId:this.peerId.toBytes(),seq:BigInt(this.seqNumber),addresses:this.multiaddrs.map(t=>({multiaddr:t.bytes}))})),this.marshaled}equals(t){return!(!(t instanceof zt)||!this.peerId.equals(t.peerId)||this.seqNumber!==t.seqNumber||!pg(this.multiaddrs,t.multiaddrs))}};zt.createFromProtobuf=r=>{let t=Vs.decode(r),e=pi(t.peerId),n=(t.addresses??[]).map(s=>Lt(s.multiaddr)),i=t.seq;return new zt({peerId:e,multiaddrs:n,seqNumber:i})};zt.DOMAIN=mg;zt.CODEC=yg;var Fa="0.0.0",gg="libp2p";var uf=`js-libp2p/${Fa}`;var wg="0.1.0",Eg="id",xg="id/push",vg="1.0.0",bg="1.0.0";var qs=C(zr(),1);var $s=C(Ar(),1),yt=U("libp2p:identify"),_g=1024*8,Vi=class{constructor(t,e){this.components=t,this.started=!1,this.init=e,this.identifyProtocolStr=`/${e.protocolPrefix}/${Eg}/${vg}`,this.identifyPushProtocolStr=`/${e.protocolPrefix}/${xg}/${bg}`,this.host={protocolVersion:`${e.protocolPrefix}/${wg}`,...e.host},this.components.connectionManager.addEventListener("peer:connect",n=>{let i=n.detail;this.identify(i).catch(yt.error)}),this.components.peerStore.addEventListener("change:multiaddrs",n=>{let{peerId:i}=n.detail;this.components.peerId.equals(i)&&this.pushToPeerStore().catch(s=>{yt.error(s)})}),this.components.peerStore.addEventListener("change:protocols",n=>{let{peerId:i}=n.detail;this.components.peerId.equals(i)&&this.pushToPeerStore().catch(s=>{yt.error(s)})})}isStarted(){return this.started}async start(){this.started||(await this.components.peerStore.metadataBook.setValue(this.components.peerId,"AgentVersion",F(this.host.agentVersion)),await this.components.peerStore.metadataBook.setValue(this.components.peerId,"ProtocolVersion",F(this.host.protocolVersion)),await this.components.registrar.handle(this.identifyProtocolStr,t=>{this._handleIdentify(t).catch(e=>{yt.error(e)})},{maxInboundStreams:this.init.maxInboundStreams,maxOutboundStreams:this.init.maxOutboundStreams}),await this.components.registrar.handle(this.identifyPushProtocolStr,t=>{this._handlePush(t).catch(e=>{yt.error(e)})},{maxInboundStreams:this.init.maxPushIncomingStreams,maxOutboundStreams:this.init.maxPushOutgoingStreams}),this.started=!0)}async stop(){await this.components.registrar.unhandle(this.identifyProtocolStr),await this.components.registrar.unhandle(this.identifyPushProtocolStr),this.started=!1}async push(t){let e=await this.components.peerStore.addressBook.getRawEnvelope(this.components.peerId),n=this.components.addressManager.getAddresses().map(o=>o.bytes),i=await this.components.peerStore.protoBook.get(this.components.peerId),s=t.map(async o=>{let a,c=new qs.TimeoutController(this.init.timeout);try{(0,$s.setMaxListeners)?.(1/0,c.signal)}catch{}try{a=await o.newStream([this.identifyPushProtocolStr],{signal:c.signal}),await Ye(a,c.signal).sink(Zt([Wn.encode({listenAddrs:n,signedPeerRecord:e,protocols:i})],pr()))}catch(u){yt.error("could not push identify update to peer",u)}finally{a?.close(),c.clear()}});await Promise.all(s)}async pushToPeerStore(){if(!this.isStarted())return;let t=[];for(let e of this.components.connectionManager.getConnections()){let n=e.remotePeer;(await this.components.peerStore.get(n)).protocols.includes(this.identifyPushProtocolStr)&&t.push(e)}await this.push(t)}async _identify(t,e={}){let n,i=e.signal,s;if(i==null){n=new qs.TimeoutController(this.init.timeout),i=n.signal;try{(0,$s.setMaxListeners)?.(1/0,n.signal)}catch{}}try{s=await t.newStream([this.identifyProtocolStr],{signal:i});let o=Ye(s,i),a=await Zt([],o,Ge({maxDataLength:this.init.maxIdentifyMessageSize??_g}),async c=>await we(c));if(a==null)throw(0,Qn.default)(new Error("No data could be retrieved"),_.ERR_CONNECTION_ENDED);try{return Wn.decode(a)}catch(c){throw(0,Qn.default)(c,_.ERR_INVALID_MESSAGE)}}finally{n?.clear(),s?.close()}}async identify(t,e={}){let n=await this._identify(t,e),{publicKey:i,listenAddrs:s,protocols:o,observedAddr:a,signedPeerRecord:c,agentVersion:u,protocolVersion:l}=n;if(i==null)throw(0,Qn.default)(new Error("public key was missing from identify message"),_.ERR_MISSING_PUBLIC_KEY);let f=await Gr(i);if(!t.remotePeer.equals(f))throw(0,Qn.default)(new Error("identified peer does not match the expected peer"),_.ERR_INVALID_PEER);if(this.components.peerId.equals(f))throw(0,Qn.default)(new Error("identified peer is our own peer id?"),_.ERR_INVALID_PEER);let d=Vi.getCleanMultiaddr(a);if(c!=null){yt("received signed peer record from %p",f);try{let h=await Xt.openAndCertify(c,zt.DOMAIN);if(!h.peerId.equals(f))throw(0,Qn.default)(new Error("identified peer does not match the expected peer"),_.ERR_INVALID_PEER);if(await this.components.peerStore.addressBook.consumePeerRecord(h)){await this.components.peerStore.protoBook.set(f,o),u!=null&&await this.components.peerStore.metadataBook.setValue(f,"AgentVersion",F(u)),l!=null&&await this.components.peerStore.metadataBook.setValue(f,"ProtocolVersion",F(l)),yt("identify completed for peer %p and protocols %o",f,o);return}}catch(h){yt("received invalid envelope, discard it and fallback to listenAddrs is available",h)}}else yt("no signed peer record received from %p",f);yt("falling back to legacy addresses from %p",f);try{await this.components.peerStore.addressBook.set(f,s.map(h=>Lt(h)))}catch(h){yt.error("received invalid addrs",h)}await this.components.peerStore.protoBook.set(f,o),u!=null&&await this.components.peerStore.metadataBook.setValue(f,"AgentVersion",F(u)),l!=null&&await this.components.peerStore.metadataBook.setValue(f,"ProtocolVersion",F(l)),yt("identify completed for peer %p and protocols %o",f,o),yt("received observed address of %s",d?.toString())}async _handleIdentify(t){let{connection:e,stream:n}=t,i=new qs.TimeoutController(this.init.timeout);try{(0,$s.setMaxListeners)?.(1/0,i.signal)}catch{}try{let s=this.components.peerId.publicKey??new Uint8Array(0),o=await this.components.peerStore.get(this.components.peerId),a=this.components.addressManager.getAddresses().map(d=>d.decapsulateCode(ct("p2p").code)),c=o.peerRecordEnvelope;if(a.length>0&&c==null){let d=new zt({peerId:this.components.peerId,multiaddrs:a}),h=await Xt.seal(d,this.components.peerId);await this.components.peerStore.addressBook.consumePeerRecord(h),c=h.marshal().subarray()}let u=Wn.encode({protocolVersion:this.host.protocolVersion,agentVersion:this.host.agentVersion,publicKey:s,listenAddrs:a.map(d=>d.bytes),signedPeerRecord:c,observedAddr:e.remoteAddr.bytes,protocols:o.protocols}),l=Ye(n,i.signal),f=Zt([u],pr());await l.sink(f)}catch(s){yt.error("could not respond to identify request",s)}finally{n.close(),i.clear()}}async _handlePush(t){let{connection:e,stream:n}=t,i=new qs.TimeoutController(this.init.timeout);try{(0,$s.setMaxListeners)?.(1/0,i.signal)}catch{}let s;try{let a=Ye(n,i.signal),c=await Zt([],a,Ge({maxDataLength:this.init.maxIdentifyMessageSize??_g}),async u=>await we(u));c!=null&&(s=Wn.decode(c))}catch(a){yt.error("received invalid message",a);return}finally{n.close(),i.clear()}if(s==null){yt.error("received invalid message");return}let o=e.remotePeer;if(this.components.peerId.equals(o)){yt("received push from ourselves?");return}if(yt("received push from %p",o),s.signedPeerRecord!=null){yt("received signedPeerRecord in push");try{let a=await Xt.openAndCertify(s.signedPeerRecord,zt.DOMAIN);if(await this.components.peerStore.addressBook.consumePeerRecord(a)){yt("consumed signedPeerRecord sent in push"),await this.components.peerStore.protoBook.set(o,s.protocols);return}else yt("failed to consume signedPeerRecord sent in push")}catch(a){yt("received invalid envelope, discard it and fallback to listenAddrs is available",a)}}else yt("did not receive signedPeerRecord in push");try{await this.components.peerStore.addressBook.set(o,s.listenAddrs.map(a=>Lt(a)))}catch(a){yt.error("received invalid addrs",a)}try{await this.components.peerStore.protoBook.set(o,s.protocols)}catch(a){yt.error("received invalid protocols",a)}yt("handled push from %p",o)}static getCleanMultiaddr(t){if(t!=null&&t.length>0)try{return Lt(t)}catch{}}};var qi=C(lt(),1);var zs;(function(r){let t;r.codec=()=>(t==null&&(t=Tt((e,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),e.identifier!=null&&e.identifier!==""&&(n.uint32(10),n.string(e.identifier)),i.lengthDelimited!==!1&&n.ldelim()},(e,n)=>{let i={identifier:""},s=n==null?e.len:e.pos+n;for(;e.pos<s;){let o=e.uint32();switch(o>>>3){case 1:i.identifier=e.string();break;default:e.skipType(o&7);break}}return i})),t),r.encode=e=>It(e,r.codec()),r.decode=e=>Rt(e,r.codec())})(zs||(zs={}));var We;(function(r){let t;(function(i){i.OK="OK",i.NOT_FOUND="NOT_FOUND",i.ERROR="ERROR"})(t=r.StatusCode||(r.StatusCode={}));let e;(function(i){i[i.OK=0]="OK",i[i.NOT_FOUND=1]="NOT_FOUND",i[i.ERROR=2]="ERROR"})(e||(e={})),function(i){i.codec=()=>cs(e)}(t=r.StatusCode||(r.StatusCode={}));let n;r.codec=()=>(n==null&&(n=Tt((i,s,o={})=>{o.lengthDelimited!==!1&&s.fork(),i.status!=null&&e[i.status]!==0&&(s.uint32(8),r.StatusCode.codec().encode(i.status,s)),i.data!=null&&i.data.byteLength>0&&(s.uint32(18),s.bytes(i.data)),o.lengthDelimited!==!1&&s.ldelim()},(i,s)=>{let o={status:t.OK,data:new Uint8Array(0)},a=s==null?i.len:i.pos+s;for(;i.pos<a;){let c=i.uint32();switch(c>>>3){case 1:o.status=r.StatusCode.codec().decode(i);break;case 2:o.data=i.bytes();break;default:i.skipType(c&7);break}}return o})),n),r.encode=i=>It(i,r.codec()),r.decode=i=>Rt(i,r.codec())})(We||(We={}));var Sg="0.0.1",Ag="fetch";var Rg=C(zr(),1),Ig=C(Ar(),1);var Pe=U("libp2p:fetch"),Ka=class{constructor(t,e){this.started=!1,this.components=t,this.protocol=`/${e.protocolPrefix??"libp2p"}/${Ag}/${Sg}`,this.lookupFunctions=new Map,this.handleMessage=this.handleMessage.bind(this),this.init=e}async start(){await this.components.registrar.handle(this.protocol,t=>{this.handleMessage(t).catch(e=>{Pe.error(e)}).finally(()=>{t.stream.close()})},{maxInboundStreams:this.init.maxInboundStreams,maxOutboundStreams:this.init.maxOutboundStreams}),this.started=!0}async stop(){await this.components.registrar.unhandle(this.protocol),this.started=!1}isStarted(){return this.started}async fetch(t,e,n={}){Pe("dialing %s to %p",this.protocol,t);let i=await this.components.connectionManager.openConnection(t,n),s,o=n.signal,a;if(o==null){Pe("using default timeout of %d ms",this.init.timeout),s=new Rg.TimeoutController(this.init.timeout),o=s.signal;try{(0,Ig.setMaxListeners)?.(1/0,s.signal)}catch{}}try{a=await i.newStream(this.protocol,{signal:o});let c=Ye(a,o);return Pe("fetch %s",e),await Zt([zs.encode({identifier:e})],pr(),c,Ge(),async function(l){let f=await we(l);if(f==null)throw(0,qi.default)(new Error("No data received"),_.ERR_INVALID_MESSAGE);let d=We.decode(f);switch(d.status){case We.StatusCode.OK:return Pe("received status for %s ok",e),d.data;case We.StatusCode.NOT_FOUND:return Pe("received status for %s not found",e),null;case We.StatusCode.ERROR:{Pe("received status for %s error",e);let h=z(d.data);throw(0,qi.default)(new Error("Error in fetch protocol response: "+h),_.ERR_INVALID_PARAMETERS)}default:throw Pe("received status for %s unknown",e),(0,qi.default)(new Error("Unknown response status"),_.ERR_INVALID_MESSAGE)}})??null}finally{s?.clear(),a?.close()}}async handleMessage(t){let{stream:e}=t,n=this;await Zt(e,Ge(),async function*(i){let s=await we(i);if(s==null)throw(0,qi.default)(new Error("No data received"),_.ERR_INVALID_MESSAGE);let o=zs.decode(s),a,c=n._getLookupFunction(o.identifier);if(c!=null){Pe("look up data with identifier %s",o.identifier);let u=await c(o.identifier);u!=null?(Pe("sending status for %s ok",o.identifier),a={status:We.StatusCode.OK,data:u}):(Pe("sending status for %s not found",o.identifier),a={status:We.StatusCode.NOT_FOUND,data:new Uint8Array(0)})}else{Pe("sending status for %s error",o.identifier);let u=F(`No lookup function registered for key: ${o.identifier}`);a={status:We.StatusCode.ERROR,data:u}}yield We.encode(a)},pr(),e)}_getLookupFunction(t){for(let e of this.lookupFunctions.keys())if(t.startsWith(e))return this.lookupFunctions.get(e)}registerLookupFunction(t,e){if(this.lookupFunctions.has(t))throw(0,qi.default)(new Error("Fetch protocol handler for key prefix '"+t+"' already registered"),_.ERR_KEY_ALREADY_EXISTS);this.lookupFunctions.set(t,e)}unregisterLookupFunction(t,e){e!=null&&this.lookupFunctions.get(t)!==e||this.lookupFunctions.delete(t)}};var Dg=C(lt(),1);var Tg="1.0.0",Cg="ping";var Lg=C(zr(),1),Pg=C(Ar(),1),Bg=U("libp2p:ping"),Va=class{constructor(t,e){this.components=t,this.started=!1,this.protocol=`/${e.protocolPrefix}/${Cg}/${Tg}`,this.init=e}async start(){await this.components.registrar.handle(this.protocol,this.handleMessage,{maxInboundStreams:this.init.maxInboundStreams,maxOutboundStreams:this.init.maxOutboundStreams}),this.started=!0}async stop(){await this.components.registrar.unhandle(this.protocol),this.started=!1}isStarted(){return this.started}handleMessage(t){let{stream:e}=t;Zt(e,e).catch(n=>{Bg.error(n)})}async ping(t,e={}){Bg("dialing %s to %p",this.protocol,t);let n=Date.now(),i=Lr(32),s=await this.components.connectionManager.openConnection(t,e),o,a=e.signal,c;if(a==null){o=new Lg.TimeoutController(this.init.timeout),a=o.signal;try{(0,Pg.setMaxListeners)?.(1/0,o.signal)}catch{}}try{c=await s.newStream([this.protocol],{signal:a});let u=Ye(c,a),l=await Zt([i],u,async d=>await we(d)),f=Date.now();if(l==null||!mt(i,l.subarray()))throw(0,Dg.default)(new Error("Received wrong ping ack"),_.ERR_WRONG_PING_ACK);return f-n}finally{o?.clear(),c?.close()}}};async function Ng(){throw new Error("Not supported in browsers")}var Mg=C(Og(),1),lf=typeof window=="object"&&typeof document=="object"&&document.nodeType===9,qa=(0,Mg.default)(),Hs=lf&&!qa,Ug=qa&&!lf,Fg=qa&&lf,Kg=typeof globalThis.process<"u"&&typeof globalThis.process.release<"u"&&globalThis.process.release.name==="node"&&!qa,Vg=typeof importScripts=="function"&&typeof self<"u"&&typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope,LL=typeof globalThis.process<"u"&&typeof globalThis.process.env<"u"&&globalThis.process.env["NODE"+(()=>"_")()+"ENV"]==="test",qg=typeof navigator<"u"&&navigator.product==="ReactNative";var Qg=C($g(),1);var zg="[a-fA-F\\d:]",fn=r=>r&&r.includeBoundaries?`(?:(?<=\\s|^)(?=${zg})|(?<=${zg})(?=\\s|$))`:"",Qe="(?: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}",Ht="[a-fA-F\\d]{1,4}",$a=`
|
|
39
39
|
(?:
|
|
40
40
|
(?:${Ht}:){7}(?:${Ht}|:)| // 1:2:3:4:5:6:7:: 1:2:3:4:5:6:7:8
|
|
41
41
|
(?:${Ht}:){6}(?:${Qe}|:${Ht}|:)| // 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
|
|
@@ -46,7 +46,7 @@
|
|
|
46
46
|
(?:${Ht}:){1}(?:(?::${Ht}){0,4}:${Qe}|(?::${Ht}){1,6}|:)| // 1:: 1::3:4:5:6:7:8 1::8 1::3:4:5:6:7:1.2.3.4
|
|
47
47
|
(?::(?:(?::${Ht}){0,5}:${Qe}|(?::${Ht}){1,7}|:)) // ::2:3:4:5:6:7:8 ::2:3:4:5:6:7:8 ::8 ::1.2.3.4
|
|
48
48
|
)(?:%[0-9a-zA-Z]{1,})? // %eth0 %1
|
|
49
|
-
`.replace(/\s*\/\/.*$/gm,"").replace(/\n/g,"").trim(),MS=new RegExp(`(?:^${Qe}$)|(?:^${qa}$)`),US=new RegExp(`^${Qe}$`),FS=new RegExp(`^${qa}$`),ff=r=>r&&r.exact?MS:new RegExp(`(?:${fn(r)}${Qe}${fn(r)})|(?:${fn(r)}${qa}${fn(r)})`,"g");ff.v4=r=>r&&r.exact?US:new RegExp(`${fn(r)}${Qe}${fn(r)}`,"g");ff.v6=r=>r&&r.exact?FS:new RegExp(`${fn(r)}${qa}${fn(r)}`,"g");var Hg=ff;var Xg=C(Yg(),1),{isValid:KS,parse:VS}=Xg.default,qS=["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"],$S=qS.map(r=>new Qg.Netmask(r));function zS(r){for(let t of $S)if(t.contains(r))return!0;return!1}function Wg(r){return/^::$/.test(r)||/^::1$/.test(r)||/^::f{4}:([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})$/.test(r)||/^::f{4}:0.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})$/.test(r)||/^64:ff9b::([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})$/.test(r)||/^100::([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4})$/.test(r)||/^2001::([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4})$/.test(r)||/^2001:2[0-9a-fA-F]:([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4})$/.test(r)||/^2001:db8:([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4})$/.test(r)||/^2002:([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4})$/.test(r)||/^f[c-d]([0-9a-fA-F]{2,2}):/i.test(r)||/^fe[8-9a-bA-B][0-9a-fA-F]:/i.test(r)||/^ff([0-9a-fA-F]{2,2}):/i.test(r)}var Zg=r=>{if(KS(r)){let t=VS(r);if(t.kind()==="ipv4")return zS(t.toNormalizedString());if(t.kind()==="ipv6")return Wg(r)}else if(si(r)&&Hg.v6().test(r))return Wg(r)};var za=Zg;var tw=C(lt(),1);function Jg(r){return/^127\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})$/i.test(r)||/^::1$/.test(r)}function jg(r){let{address:t}=r.nodeAddress();return Jg(t)}var hf=U("libp2p:nat"),df=7200;function HS(r=1024,t=65535){return Math.floor(Math.random()*(t-r+1)+r)}var Ha=class{constructor(t,e){if(this.components=t,this.started=!1,this.enabled=e.enabled,this.externalAddress=e.externalAddress,this.localAddress=e.localAddress,this.description=e.description??`${gg}@${Ua} ${this.components.peerId.toString()}`,this.ttl=e.ttl??df,this.keepAlive=e.keepAlive??!0,this.gateway=e.gateway,this.ttl<df)throw(0,tw.default)(new Error(`NatManager ttl should be at least ${df} seconds`),_.ERR_INVALID_PARAMETERS)}isStarted(){return this.started}start(){}afterStart(){Hs||!this.enabled||this.started||(this.started=!0,this._start().catch(t=>{hf.error(t)}))}async _start(){let t=this.components.transportManager.getAddrs();for(let e of t){let{family:n,host:i,port:s,transport:o}=e.toOptions();if(!e.isThinWaistAddress()||o!=="tcp"||jg(e)||n!==4)continue;let a=await this._getClient(),c=this.externalAddress??await a.externalIp(),u=za(c);if(u===!0)throw new Error(`${c} is private - please set config.nat.externalIp to an externally routable IP or ensure you are not behind a double NAT`);if(u==null)throw new Error(`${c} is not an IP address`);let l=HS();hf(`opening uPnP connection from ${c}:${l} to ${i}:${s}`),await a.map({publicPort:l,localPort:s,localAddress:this.localAddress,protocol:o.toUpperCase()==="TCP"?"TCP":"UDP"}),this.components.addressManager.addObservedAddr(Qh({family:4,address:c,port:l},o))}}async _getClient(){return this.client!=null?this.client:(this.client=await Ng({description:this.description,ttl:this.ttl,keepAlive:this.keepAlive,gateway:this.gateway}),this.client)}async stop(){if(!(Hs||this.client==null))try{await this.client.close(),this.client=void 0}catch(t){hf.error(t)}}};var GS=U("libp2p:peer-record-updater"),Ga=class{constructor(t){this.components=t,this.started=!1,this.update=this.update.bind(this)}isStarted(){return this.started}async start(){this.started=!0,this.components.transportManager.addEventListener("listener:listening",this.update),this.components.transportManager.addEventListener("listener:close",this.update),this.components.addressManager.addEventListener("change:addresses",this.update)}async stop(){this.started=!1,this.components.transportManager.removeEventListener("listener:listening",this.update),this.components.transportManager.removeEventListener("listener:close",this.update),this.components.addressManager.removeEventListener("change:addresses",this.update)}update(){Promise.resolve().then(async()=>{let t=new zt({peerId:this.components.peerId,multiaddrs:this.components.addressManager.getAddresses().map(n=>n.decapsulateCode(ct("p2p").code))}),e=await Xt.seal(t,this.components.peerId);await this.components.peerStore.addressBook.consumePeerRecord(e)}).catch(t=>{GS.error("Could not update self peer record: %o",t)})}};var ew=C(lt(),1);var Ya=class{constructor(t){this.dht=t}async findPeer(t,e={}){for await(let n of this.dht.findPeer(t,e))if(n.name==="FINAL_PEER")return n.peer;throw(0,ew.default)(new Error(Y.NOT_FOUND),_.ERR_NOT_FOUND)}async*getClosestPeers(t,e={}){for await(let n of this.dht.getClosestPeers(t,e))n.name==="FINAL_PEER"&&(yield n.peer)}};var G={ERR_INVALID_PARAMETERS:"ERR_INVALID_PARAMETERS",ERR_NOT_FOUND:"ERR_NOT_FOUND"};var dt=U("libp2p:peer-store:address-book"),Wa="change:multiaddrs";async function YS(){return!0}var Qa=class{constructor(t,e,n){this.dispatchEvent=t,this.store=e,this.addressFilter=n??YS}async consumePeerRecord(t){dt.trace("consumePeerRecord await write lock");let e=await this.store.lock.writeLock();dt.trace("consumePeerRecord got write lock");let n,i,s;try{let o;try{o=zt.createFromProtobuf(t.payload)}catch{return dt.error("invalid peer record received"),!1}n=o.peerId;let a=o.multiaddrs;if(!n.equals(t.peerId))return dt("signing key does not match PeerId in the PeerRecord"),!1;if(a==null||a.length===0)return!1;if(await this.store.has(n)&&(i=await this.store.load(n),i.peerRecordEnvelope!=null)){let u=await Xt.createFromProtobuf(i.peerRecordEnvelope),l=zt.createFromProtobuf(u.payload);if(l.seqNumber>=o.seqNumber)return dt("sequence number was lower or equal to existing sequence number - stored: %d received: %d",l.seqNumber,o.seqNumber),!1}let c=await pf(n,a,this.addressFilter,!0);s=await this.store.patchOrCreate(n,{addresses:c,peerRecordEnvelope:t.marshal().subarray()}),dt("stored provided peer record for %p",o.peerId)}finally{dt.trace("consumePeerRecord release write lock"),e()}return this.dispatchEvent(new $(Wa,{detail:{peerId:n,multiaddrs:s.addresses.map(({multiaddr:o})=>o),oldMultiaddrs:i==null?[]:i.addresses.map(({multiaddr:o})=>o)}})),!0}async getRawEnvelope(t){dt.trace("getRawEnvelope await read lock");let e=await this.store.lock.readLock();dt.trace("getRawEnvelope got read lock");try{return(await this.store.load(t)).peerRecordEnvelope}catch(n){if(n.code!==G.ERR_NOT_FOUND)throw n}finally{dt.trace("getRawEnvelope release read lock"),e()}}async getPeerRecord(t){let e=await this.getRawEnvelope(t);if(e!=null)return await Xt.createFromProtobuf(e)}async get(t){t=Ut(t),dt.trace("get wait for read lock");let e=await this.store.lock.readLock();dt.trace("get got read lock");try{return(await this.store.load(t)).addresses}catch(n){if(n.code!==G.ERR_NOT_FOUND)throw n}finally{dt.trace("get release read lock"),e()}return[]}async set(t,e){if(t=Ut(t),!Array.isArray(e))throw dt.error("multiaddrs must be an array of Multiaddrs"),new T("multiaddrs must be an array of Multiaddrs",G.ERR_INVALID_PARAMETERS);dt.trace("set await write lock");let n=await this.store.lock.writeLock();dt.trace("set got write lock");let i=!1,s,o;try{let a=await pf(t,e,this.addressFilter);if(a.length===0)return;try{if(s=await this.store.load(t),i=!0,new Set([...a.map(({multiaddr:c})=>c.toString()),...s.addresses.map(({multiaddr:c})=>c.toString())]).size===s.addresses.length&&a.length===s.addresses.length)return}catch(c){if(c.code!==G.ERR_NOT_FOUND)throw c}o=await this.store.patchOrCreate(t,{addresses:a}),dt("set multiaddrs for %p",t)}finally{dt.trace("set multiaddrs for %p",t),dt("set release write lock"),n()}this.dispatchEvent(new $(Wa,{detail:{peerId:t,multiaddrs:o.addresses.map(a=>a.multiaddr),oldMultiaddrs:s==null?[]:s.addresses.map(({multiaddr:a})=>a)}})),i||this.dispatchEvent(new $("peer",{detail:{id:t,multiaddrs:o.addresses.map(a=>a.multiaddr),protocols:o.protocols}}))}async add(t,e){if(t=Ut(t),!Array.isArray(e))throw dt.error("multiaddrs must be an array of Multiaddrs"),new T("multiaddrs must be an array of Multiaddrs",G.ERR_INVALID_PARAMETERS);dt.trace("add await write lock");let n=await this.store.lock.writeLock();dt.trace("add got write lock");let i,s,o;try{let a=await pf(t,e,this.addressFilter);if(a.length===0)return;try{if(s=await this.store.load(t),i=!0,new Set([...a.map(({multiaddr:c})=>c.toString()),...s.addresses.map(({multiaddr:c})=>c.toString())]).size===s.addresses.length)return}catch(c){if(c.code!==G.ERR_NOT_FOUND)throw c}o=await this.store.mergeOrCreate(t,{addresses:a}),dt("added multiaddrs for %p",t)}finally{dt.trace("set release write lock"),n()}this.dispatchEvent(new $(Wa,{detail:{peerId:t,multiaddrs:o.addresses.map(a=>a.multiaddr),oldMultiaddrs:s==null?[]:s.addresses.map(({multiaddr:a})=>a)}})),i===!0&&this.dispatchEvent(new $("peer",{detail:{id:t,multiaddrs:o.addresses.map(a=>a.multiaddr),protocols:o.protocols}}))}async delete(t){t=Ut(t),dt.trace("delete await write lock");let e=await this.store.lock.writeLock();dt.trace("delete got write lock");let n;try{try{n=await this.store.load(t)}catch(i){if(i.code!==G.ERR_NOT_FOUND)throw i}await this.store.patchOrCreate(t,{addresses:[]})}finally{dt.trace("delete release write lock"),e()}n!=null&&this.dispatchEvent(new $(Wa,{detail:{peerId:t,multiaddrs:[],oldMultiaddrs:n==null?[]:n.addresses.map(({multiaddr:i})=>i)}}))}};async function pf(r,t,e,n=!1){let i=[];return await Promise.all(t.map(async s=>{if(!ge(s))throw dt.error("multiaddr must be an instance of Multiaddr"),new T("multiaddr must be an instance of Multiaddr",G.ERR_INVALID_PARAMETERS);await e(r,s)&&i.push({multiaddr:s,isCertified:n})})),i}var mr=U("libp2p:peer-store:key-book"),rw="change:pubkey",Xa=class{constructor(t,e){this.dispatchEvent=t,this.store=e}async set(t,e){if(t=Ut(t),!(e instanceof Uint8Array))throw mr.error("publicKey must be an instance of Uint8Array to store data"),new T("publicKey must be an instance of PublicKey",G.ERR_INVALID_PARAMETERS);mr.trace("set await write lock");let n=await this.store.lock.writeLock();mr.trace("set got write lock");let i=!1,s;try{try{if(s=await this.store.load(t),s.pubKey!=null&&mt(s.pubKey,e))return}catch(o){if(o.code!==G.ERR_NOT_FOUND)throw o}await this.store.patchOrCreate(t,{pubKey:e}),i=!0}finally{mr.trace("set release write lock"),n()}i&&this.dispatchEvent(new $(rw,{detail:{peerId:t,publicKey:e,oldPublicKey:s?.pubKey}}))}async get(t){t=Ut(t),mr.trace("get await write lock");let e=await this.store.lock.readLock();mr.trace("get got write lock");try{return(await this.store.load(t)).pubKey}catch(n){if(n.code!==G.ERR_NOT_FOUND)throw n}finally{mr("get release write lock"),e()}}async delete(t){t=Ut(t),mr.trace("delete await write lock");let e=await this.store.lock.writeLock();mr.trace("delete got write lock");let n;try{try{n=await this.store.load(t)}catch(i){if(i.code!==G.ERR_NOT_FOUND)throw i}await this.store.patchOrCreate(t,{pubKey:void 0})}catch(i){if(i.code!==G.ERR_NOT_FOUND)throw i}finally{mr.trace("delete release write lock"),e()}this.dispatchEvent(new $(rw,{detail:{peerId:t,publicKey:void 0,oldPublicKey:n?.pubKey}}))}};var Gt=U("libp2p:peer-store:metadata-book"),Za="change:metadata",Ja=class{constructor(t,e){this.dispatchEvent=t,this.store=e}async get(t){t=Ut(t),Gt.trace("get await read lock");let e=await this.store.lock.readLock();Gt.trace("get got read lock");try{return(await this.store.load(t)).metadata}catch(n){if(n.code!==G.ERR_NOT_FOUND)throw n}finally{Gt.trace("get release read lock"),e()}return new Map}async getValue(t,e){t=Ut(t),Gt.trace("getValue await read lock");let n=await this.store.lock.readLock();Gt.trace("getValue got read lock");try{return(await this.store.load(t)).metadata.get(e)}catch(i){if(i.code!==G.ERR_NOT_FOUND)throw i}finally{Gt.trace("getValue release write lock"),n()}}async set(t,e){if(t=Ut(t),!(e instanceof Map))throw Gt.error("valid metadata must be provided to store data"),new T("valid metadata must be provided",G.ERR_INVALID_PARAMETERS);Gt.trace("set await write lock");let n=await this.store.lock.writeLock();Gt.trace("set got write lock");let i;try{try{i=await this.store.load(t)}catch(s){if(s.code!==G.ERR_NOT_FOUND)throw s}await this.store.mergeOrCreate(t,{metadata:e})}finally{Gt.trace("set release write lock"),n()}this.dispatchEvent(new $(Za,{detail:{peerId:t,metadata:e,oldMetadata:i==null?new Map:i.metadata}}))}async setValue(t,e,n){if(t=Ut(t),typeof e!="string"||!(n instanceof Uint8Array))throw Gt.error("valid key and value must be provided to store data"),new T("valid key and value must be provided",G.ERR_INVALID_PARAMETERS);Gt.trace("setValue await write lock");let i=await this.store.lock.writeLock();Gt.trace("setValue got write lock");let s,o;try{try{s=await this.store.load(t);let a=s.metadata.get(e);if(a!=null&&mt(n,a))return}catch(a){if(a.code!==G.ERR_NOT_FOUND)throw a}o=await this.store.mergeOrCreate(t,{metadata:new Map([[e,n]])})}finally{Gt.trace("setValue release write lock"),i()}this.dispatchEvent(new $(Za,{detail:{peerId:t,metadata:o.metadata,oldMetadata:s==null?new Map:s.metadata}}))}async delete(t){t=Ut(t),Gt.trace("delete await write lock");let e=await this.store.lock.writeLock();Gt.trace("delete got write lock");let n;try{try{n=await this.store.load(t)}catch(i){if(i.code!==G.ERR_NOT_FOUND)throw i}n!=null&&await this.store.patch(t,{metadata:new Map})}finally{Gt.trace("delete release write lock"),e()}n!=null&&this.dispatchEvent(new $(Za,{detail:{peerId:t,metadata:new Map,oldMetadata:n.metadata}}))}async deleteValue(t,e){t=Ut(t),Gt.trace("deleteValue await write lock");let n=await this.store.lock.writeLock();Gt.trace("deleteValue got write lock");let i,s;try{s=await this.store.load(t),i=s.metadata,i.delete(e),await this.store.patch(t,{metadata:i})}catch(o){if(o.code!==G.ERR_NOT_FOUND)throw o}finally{Gt.trace("deleteValue release write lock"),n()}i!=null&&this.dispatchEvent(new $(Za,{detail:{peerId:t,metadata:i,oldMetadata:s==null?new Map:s.metadata}}))}};var Yt=U("libp2p:peer-store:proto-book"),ja="change:protocols",tc=class{constructor(t,e){this.dispatchEvent=t,this.store=e}async get(t){Yt.trace("get wait for read lock");let e=await this.store.lock.readLock();Yt.trace("get got read lock");try{return(await this.store.load(t)).protocols}catch(n){if(n.code!==G.ERR_NOT_FOUND)throw n}finally{Yt.trace("get release read lock"),e()}return[]}async set(t,e){if(t=Ut(t),!Array.isArray(e))throw Yt.error("protocols must be provided to store data"),new T("protocols must be provided",G.ERR_INVALID_PARAMETERS);Yt.trace("set await write lock");let n=await this.store.lock.writeLock();Yt.trace("set got write lock");let i,s;try{try{if(i=await this.store.load(t),new Set([...e]).size===i.protocols.length)return}catch(o){if(o.code!==G.ERR_NOT_FOUND)throw o}s=await this.store.patchOrCreate(t,{protocols:e}),Yt("stored provided protocols for %p",t)}finally{Yt.trace("set release write lock"),n()}this.dispatchEvent(new $(ja,{detail:{peerId:t,protocols:s.protocols,oldProtocols:i==null?[]:i.protocols}}))}async add(t,e){if(t=Ut(t),!Array.isArray(e))throw Yt.error("protocols must be provided to store data"),new T("protocols must be provided",G.ERR_INVALID_PARAMETERS);Yt.trace("add await write lock");let n=await this.store.lock.writeLock();Yt.trace("add got write lock");let i,s;try{try{if(i=await this.store.load(t),new Set([...i.protocols,...e]).size===i.protocols.length)return}catch(o){if(o.code!==G.ERR_NOT_FOUND)throw o}s=await this.store.mergeOrCreate(t,{protocols:e}),Yt("added provided protocols for %p",t)}finally{Yt.trace("add release write lock"),n()}this.dispatchEvent(new $(ja,{detail:{peerId:t,protocols:s.protocols,oldProtocols:i==null?[]:i.protocols}}))}async remove(t,e){if(t=Ut(t),!Array.isArray(e))throw Yt.error("protocols must be provided to store data"),new T("protocols must be provided",G.ERR_INVALID_PARAMETERS);Yt.trace("remove await write lock");let n=await this.store.lock.writeLock();Yt.trace("remove got write lock");let i,s;try{try{i=await this.store.load(t);let o=new Set(i.protocols);for(let a of e)o.delete(a);if(i.protocols.length===o.size)return;e=Array.from(o)}catch(o){if(o.code!==G.ERR_NOT_FOUND)throw o}s=await this.store.patchOrCreate(t,{protocols:e})}finally{Yt.trace("remove release write lock"),n()}this.dispatchEvent(new $(ja,{detail:{peerId:t,protocols:s.protocols,oldProtocols:i==null?[]:i.protocols}}))}async delete(t){t=Ut(t),Yt.trace("delete await write lock");let e=await this.store.lock.writeLock();Yt.trace("delete got write lock");let n;try{try{n=await this.store.load(t)}catch(i){if(i.code!==G.ERR_NOT_FOUND)throw i}await this.store.patchOrCreate(t,{protocols:[]})}finally{Yt.trace("delete release write lock"),e()}n!=null&&this.dispatchEvent(new $(ja,{detail:{peerId:t,protocols:[],oldProtocols:n.protocols}}))}};var Ys;(function(r){let t;r.codec=()=>(t==null&&(t=Tt((e,n,i={})=>{if(i.lengthDelimited!==!1&&n.fork(),e.addresses!=null)for(let s of e.addresses)n.uint32(10),ec.codec().encode(s,n);if(e.protocols!=null)for(let s of e.protocols)n.uint32(18),n.string(s);if(e.metadata!=null)for(let s of e.metadata)n.uint32(26),rc.codec().encode(s,n);e.pubKey!=null&&(n.uint32(34),n.bytes(e.pubKey)),e.peerRecordEnvelope!=null&&(n.uint32(42),n.bytes(e.peerRecordEnvelope)),i.lengthDelimited!==!1&&n.ldelim()},(e,n)=>{let i={addresses:[],protocols:[],metadata:[]},s=n==null?e.len:e.pos+n;for(;e.pos<s;){let o=e.uint32();switch(o>>>3){case 1:i.addresses.push(ec.codec().decode(e,e.uint32()));break;case 2:i.protocols.push(e.string());break;case 3:i.metadata.push(rc.codec().decode(e,e.uint32()));break;case 4:i.pubKey=e.bytes();break;case 5:i.peerRecordEnvelope=e.bytes();break;default:e.skipType(o&7);break}}return i})),t),r.encode=e=>It(e,r.codec()),r.decode=e=>Rt(e,r.codec())})(Ys||(Ys={}));var ec;(function(r){let t;r.codec=()=>(t==null&&(t=Tt((e,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),e.multiaddr!=null&&e.multiaddr.byteLength>0&&(n.uint32(10),n.bytes(e.multiaddr)),e.isCertified!=null&&(n.uint32(16),n.bool(e.isCertified)),i.lengthDelimited!==!1&&n.ldelim()},(e,n)=>{let i={multiaddr:new Uint8Array(0)},s=n==null?e.len:e.pos+n;for(;e.pos<s;){let o=e.uint32();switch(o>>>3){case 1:i.multiaddr=e.bytes();break;case 2:i.isCertified=e.bool();break;default:e.skipType(o&7);break}}return i})),t),r.encode=e=>It(e,r.codec()),r.decode=e=>Rt(e,r.codec())})(ec||(ec={}));var rc;(function(r){let t;r.codec=()=>(t==null&&(t=Tt((e,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),e.key!=null&&e.key!==""&&(n.uint32(10),n.string(e.key)),e.value!=null&&e.value.byteLength>0&&(n.uint32(18),n.bytes(e.value)),i.lengthDelimited!==!1&&n.ldelim()},(e,n)=>{let i={key:"",value:new Uint8Array(0)},s=n==null?e.len:e.pos+n;for(;e.pos<s;){let o=e.uint32();switch(o>>>3){case 1:i.key=e.string();break;case 2:i.value=e.bytes();break;default:e.skipType(o&7);break}}return i})),t),r.encode=e=>It(e,r.codec()),r.decode=e=>Rt(e,r.codec())})(rc||(rc={}));var dw=C(iw(),1);var Qs=class extends Error{constructor(t){super(t),this.name="TimeoutError"}},yf=class extends Error{constructor(t){super(),this.name="AbortError",this.message=t}},sw=r=>globalThis.DOMException===void 0?new yf(r):new DOMException(r),ow=r=>{let t=r.reason===void 0?sw("This operation was aborted."):r.reason;return t instanceof Error?t:sw(t)};function gf(r,t,e,n){let i,s=new Promise((o,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){o(r);return}if(n={customTimers:{setTimeout,clearTimeout},...n},n.signal){let{signal:c}=n;c.aborted&&a(ow(c)),c.addEventListener("abort",()=>{a(ow(c))})}i=n.customTimers.setTimeout.call(void 0,()=>{if(typeof e=="function"){try{o(e())}catch(l){a(l)}return}let c=typeof e=="string"?e:`Promise timed out after ${t} milliseconds`,u=e instanceof Error?e:new Qs(c);typeof r.cancel=="function"&&r.cancel(),a(u)},t),(async()=>{try{o(await r)}catch(c){a(c)}finally{n.customTimers.clearTimeout.call(void 0,i)}})()});return s.clear=()=>{clearTimeout(i),i=void 0},s}function wf(r,t,e){let n=0,i=r.length;for(;i>0;){let s=Math.trunc(i/2),o=n+s;e(r[o],t)<=0?(n=++o,i-=s+1):i=s}return n}var Xn=function(r,t,e,n){if(e==="a"&&!n)throw new TypeError("Private accessor was defined without a getter");if(typeof t=="function"?r!==t||!n:!t.has(r))throw new TypeError("Cannot read private member from an object whose class did not declare it");return e==="m"?n:e==="a"?n.call(r):n?n.value:t.get(r)},Ur,Xs=class{constructor(){Ur.set(this,[])}enqueue(t,e){e={priority:0,...e};let n={priority:e.priority,run:t};if(this.size&&Xn(this,Ur,"f")[this.size-1].priority>=e.priority){Xn(this,Ur,"f").push(n);return}let i=wf(Xn(this,Ur,"f"),n,(s,o)=>o.priority-s.priority);Xn(this,Ur,"f").splice(i,0,n)}dequeue(){let t=Xn(this,Ur,"f").shift();return t?.run}filter(t){return Xn(this,Ur,"f").filter(e=>e.priority===t.priority).map(e=>e.run)}get size(){return Xn(this,Ur,"f").length}};Ur=new WeakMap;var Ct=function(r,t,e,n,i){if(n==="m")throw new TypeError("Private method is not writable");if(n==="a"&&!i)throw new TypeError("Private accessor was defined without a setter");if(typeof t=="function"?r!==t||!i:!t.has(r))throw new TypeError("Cannot write private member to an object whose class did not declare it");return n==="a"?i.call(r,e):i?i.value=e:t.set(r,e),e},k=function(r,t,e,n){if(e==="a"&&!n)throw new TypeError("Private accessor was defined without a getter");if(typeof t=="function"?r!==t||!n:!t.has(r))throw new TypeError("Cannot read private member from an object whose class did not declare it");return e==="m"?n:e==="a"?n.call(r):n?n.value:t.get(r)},Vt,Js,js,dn,uc,to,ic,Xe,Zs,_e,sc,Se,eo,hn,oc,aw,cw,fw,uw,lw,ac,Ef,xf,lc,hw,cc,fc=class extends Error{},$i=class extends dw.default{constructor(t){var e,n,i,s;if(super(),Vt.add(this),Js.set(this,void 0),js.set(this,void 0),dn.set(this,0),uc.set(this,void 0),to.set(this,void 0),ic.set(this,0),Xe.set(this,void 0),Zs.set(this,void 0),_e.set(this,void 0),sc.set(this,void 0),Se.set(this,0),eo.set(this,void 0),hn.set(this,void 0),oc.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:Xs,...t},!(typeof t.intervalCap=="number"&&t.intervalCap>=1))throw new TypeError(`Expected \`intervalCap\` to be a number from 1 and up, got \`${(n=(e=t.intervalCap)===null||e===void 0?void 0:e.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 \`${(s=(i=t.interval)===null||i===void 0?void 0:i.toString())!==null&&s!==void 0?s:""}\` (${typeof t.interval})`);Ct(this,Js,t.carryoverConcurrencyCount,"f"),Ct(this,js,t.intervalCap===Number.POSITIVE_INFINITY||t.interval===0,"f"),Ct(this,uc,t.intervalCap,"f"),Ct(this,to,t.interval,"f"),Ct(this,_e,new t.queueClass,"f"),Ct(this,sc,t.queueClass,"f"),this.concurrency=t.concurrency,this.timeout=t.timeout,Ct(this,oc,t.throwOnTimeout===!0,"f"),Ct(this,hn,t.autoStart===!1,"f")}get concurrency(){return k(this,eo,"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})`);Ct(this,eo,t,"f"),k(this,Vt,"m",lc).call(this)}async add(t,e={}){return e={timeout:this.timeout,throwOnTimeout:k(this,oc,"f"),...e},new Promise((n,i)=>{k(this,_e,"f").enqueue(async()=>{var s,o,a;Ct(this,Se,(o=k(this,Se,"f"),o++,o),"f"),Ct(this,dn,(a=k(this,dn,"f"),a++,a),"f");try{if(!((s=e.signal)===null||s===void 0)&&s.aborted)throw new fc("The task was aborted.");let c=t({signal:e.signal});e.timeout&&(c=gf(Promise.resolve(c),e.timeout)),e.signal&&(c=Promise.race([c,k(this,Vt,"m",hw).call(this,e.signal)]));let u=await c;n(u),this.emit("completed",u)}catch(c){if(c instanceof Qs&&!e.throwOnTimeout){n();return}i(c),this.emit("error",c)}finally{k(this,Vt,"m",fw).call(this)}},e),this.emit("add"),k(this,Vt,"m",ac).call(this)})}async addAll(t,e){return Promise.all(t.map(async n=>this.add(n,e)))}start(){return k(this,hn,"f")?(Ct(this,hn,!1,"f"),k(this,Vt,"m",lc).call(this),this):this}pause(){Ct(this,hn,!0,"f")}clear(){Ct(this,_e,new(k(this,sc,"f")),"f")}async onEmpty(){k(this,_e,"f").size!==0&&await k(this,Vt,"m",cc).call(this,"empty")}async onSizeLessThan(t){k(this,_e,"f").size<t||await k(this,Vt,"m",cc).call(this,"next",()=>k(this,_e,"f").size<t)}async onIdle(){k(this,Se,"f")===0&&k(this,_e,"f").size===0||await k(this,Vt,"m",cc).call(this,"idle")}get size(){return k(this,_e,"f").size}sizeBy(t){return k(this,_e,"f").filter(t).length}get pending(){return k(this,Se,"f")}get isPaused(){return k(this,hn,"f")}};Js=new WeakMap,js=new WeakMap,dn=new WeakMap,uc=new WeakMap,to=new WeakMap,ic=new WeakMap,Xe=new WeakMap,Zs=new WeakMap,_e=new WeakMap,sc=new WeakMap,Se=new WeakMap,eo=new WeakMap,hn=new WeakMap,oc=new WeakMap,Vt=new WeakSet,aw=function(){return k(this,js,"f")||k(this,dn,"f")<k(this,uc,"f")},cw=function(){return k(this,Se,"f")<k(this,eo,"f")},fw=function(){var t;Ct(this,Se,(t=k(this,Se,"f"),t--,t),"f"),k(this,Vt,"m",ac).call(this),this.emit("next")},uw=function(){k(this,Vt,"m",xf).call(this),k(this,Vt,"m",Ef).call(this),Ct(this,Zs,void 0,"f")},lw=function(){let t=Date.now();if(k(this,Xe,"f")===void 0){let e=k(this,ic,"f")-t;if(e<0)Ct(this,dn,k(this,Js,"f")?k(this,Se,"f"):0,"f");else return k(this,Zs,"f")===void 0&&Ct(this,Zs,setTimeout(()=>{k(this,Vt,"m",uw).call(this)},e),"f"),!0}return!1},ac=function(){if(k(this,_e,"f").size===0)return k(this,Xe,"f")&&clearInterval(k(this,Xe,"f")),Ct(this,Xe,void 0,"f"),this.emit("empty"),k(this,Se,"f")===0&&this.emit("idle"),!1;if(!k(this,hn,"f")){let t=!k(this,Vt,"a",lw);if(k(this,Vt,"a",aw)&&k(this,Vt,"a",cw)){let e=k(this,_e,"f").dequeue();return e?(this.emit("active"),e(),t&&k(this,Vt,"m",Ef).call(this),!0):!1}}return!1},Ef=function(){k(this,js,"f")||k(this,Xe,"f")!==void 0||(Ct(this,Xe,setInterval(()=>{k(this,Vt,"m",xf).call(this)},k(this,to,"f")),"f"),Ct(this,ic,Date.now()+k(this,to,"f"),"f"))},xf=function(){k(this,dn,"f")===0&&k(this,Se,"f")===0&&k(this,Xe,"f")&&(clearInterval(k(this,Xe,"f")),Ct(this,Xe,void 0,"f")),Ct(this,dn,k(this,Js,"f")?k(this,Se,"f"):0,"f"),k(this,Vt,"m",lc).call(this)},lc=function(){for(;k(this,Vt,"m",ac).call(this););},hw=async function(t){return new Promise((e,n)=>{t.addEventListener("abort",()=>{n(new fc("The task was aborted."))},{once:!0})})},cc=async function(t,e){return new Promise(n=>{let i=()=>{e&&!e()||(this.off(t,i),n())};this.on(t,i)})};var vf=class extends Error{constructor(t){super(t),this.name="TimeoutError"}},bf=class extends Error{constructor(t){super(),this.name="AbortError",this.message=t}},pw=r=>globalThis.DOMException===void 0?new bf(r):new DOMException(r),mw=r=>{let t=r.reason===void 0?pw("This operation was aborted."):r.reason;return t instanceof Error?t:pw(t)};function _f(r,t){let{milliseconds:e,fallback:n,message:i,customTimers:s={setTimeout,clearTimeout}}=t,o,a=new Promise((c,u)=>{if(typeof e!="number"||Math.sign(e)!==1)throw new TypeError(`Expected \`milliseconds\` to be a positive number, got \`${e}\``);if(e===Number.POSITIVE_INFINITY){c(r);return}if(t.signal){let{signal:f}=t;f.aborted&&u(mw(f)),f.addEventListener("abort",()=>{u(mw(f))})}let l=new vf;o=s.setTimeout.call(void 0,()=>{if(n){try{c(n())}catch(f){u(f)}return}typeof r.cancel=="function"&&r.cancel(),i===!1?c():i instanceof Error?u(i):(l.message=i??`Promise timed out after ${e} milliseconds`,u(l))},e),(async()=>{try{c(await r)}catch(f){u(f)}finally{s.clearTimeout.call(void 0,o)}})()});return a.clear=()=>{s.clearTimeout.call(void 0,o),o=void 0},a}var Sf="lock:worker:request-read",Af="lock:worker:release-read",Rf="lock:master:grant-read",If="lock:worker:request-write",Tf="lock:worker:release-write",Cf="lock:master:grant-write";var pn={},zi=r=>{r.addEventListener("message",t=>{zi.dispatchEvent("message",r,t)}),r.port!=null&&r.port.addEventListener("message",t=>{zi.dispatchEvent("message",r,t)})};zi.addEventListener=(r,t)=>{pn[r]==null&&(pn[r]=[]),pn[r].push(t)};zi.removeEventListener=(r,t)=>{pn[r]!=null&&(pn[r]=pn[r].filter(e=>e===t))};zi.dispatchEvent=function(r,t,e){pn[r]!=null&&pn[r].forEach(n=>n(t,e))};var Bf=zi;var yw=(r,t,e,n,i)=>(s,o)=>{if(o.data.type!==e)return;let a={type:o.data.type,name:o.data.name,identifier:o.data.identifier};r.dispatchEvent(new MessageEvent(t,{data:{name:a.name,handler:async()=>(s.postMessage({type:i,name:a.name,identifier:a.identifier}),await new Promise(c=>{let u=l=>{if(l==null||l.data==null)return;let f={type:l.data.type,name:l.data.name,identifier:l.data.identifier};f.type===n&&f.identifier===a.identifier&&(s.removeEventListener("message",u),c())};s.addEventListener("message",u)}))}}))},gw=(r,t,e,n)=>async()=>{let i=wo();return globalThis.postMessage({type:t,identifier:i,name:r}),await new Promise(s=>{let o=a=>{if(a==null||a.data==null)return;let c={type:a.data.type,identifier:a.data.identifier};c.type===e&&c.identifier===i&&(globalThis.removeEventListener("message",o),s(()=>{globalThis.postMessage({type:n,identifier:i,name:r})}))};globalThis.addEventListener("message",o)})},XS={singleProcess:!1},ww=r=>{if(r=Object.assign({},XS,r),!!globalThis.document||r.singleProcess){let e=new EventTarget;return Bf.addEventListener("message",yw(e,"requestReadLock",Sf,Af,Rf)),Bf.addEventListener("message",yw(e,"requestWriteLock",If,Tf,Cf)),e}return{isWorker:!0,readLock:e=>gw(e,Sf,Rf,Af),writeLock:e=>gw(e,If,Cf,Tf)}};var Zn={},mn;async function Df(r,t){let e,n=new Promise(i=>{e=i});return r.add(async()=>await _f((async()=>await new Promise(i=>{e(()=>{i()})}))(),{milliseconds:t.timeout})),await n}var ZS=(r,t)=>{if(mn.isWorker===!0)return{readLock:mn.readLock(r,t),writeLock:mn.writeLock(r,t)};let e=new $i({concurrency:1}),n;return{async readLock(){if(n!=null)return await Df(n,t);n=new $i({concurrency:t.concurrency,autoStart:!1});let i=n,s=Df(n,t);return e.add(async()=>(i.start(),await i.onIdle().then(()=>{n===i&&(n=null)}))),await s},async writeLock(){return n=null,await Df(e,t)}}},JS={name:"lock",concurrency:1/0,timeout:846e5,singleProcess:!1};function Lf(r){let t=Object.assign({},JS,r);return mn==null&&(mn=ww(t),mn.isWorker!==!0&&(mn.addEventListener("requestReadLock",e=>{Zn[e.data.name]!=null&&Zn[e.data.name].readLock().then(async n=>await e.data.handler().finally(()=>n()))}),mn.addEventListener("requestWriteLock",async e=>{Zn[e.data.name]!=null&&Zn[e.data.name].writeLock().then(async n=>await e.data.handler().finally(()=>n()))}))),Zn[t.name]==null&&(Zn[t.name]=ZS(t.name,t)),Zn[t.name]}var Ew=U("libp2p:peer-store:store"),xw="/peers/",hc=class{constructor(t){this.components=t,this.lock=Lf({name:"peer-store",singleProcess:!0})}_peerIdToDatastoreKey(t){if(t.type==null)throw Ew.error("peerId must be an instance of peer-id to store data"),new T("peerId must be an instance of peer-id",G.ERR_INVALID_PARAMETERS);let e=t.toCID().toString();return new Pt(`${xw}${e}`)}async has(t){return await this.components.datastore.has(this._peerIdToDatastoreKey(t))}async delete(t){await this.components.datastore.delete(this._peerIdToDatastoreKey(t))}async load(t){let e=await this.components.datastore.get(this._peerIdToDatastoreKey(t)),n=Ys.decode(e),i=new Map;for(let s of n.metadata)i.set(s.key,s.value);return{...n,id:t,addresses:n.addresses.map(({multiaddr:s,isCertified:o})=>({multiaddr:Lt(s),isCertified:o??!1})),metadata:i,pubKey:n.pubKey??void 0,peerRecordEnvelope:n.peerRecordEnvelope??void 0}}async save(t){if(t.pubKey!=null&&t.id.publicKey!=null&&!mt(t.pubKey,t.id.publicKey))throw Ew.error("peer publicKey bytes do not match peer id publicKey bytes"),new T("publicKey bytes do not match peer id publicKey bytes",G.ERR_INVALID_PARAMETERS);let e=new Set,n=t.addresses.filter(o=>e.has(o.multiaddr.toString())?!1:(e.add(o.multiaddr.toString()),!0)).sort((o,a)=>o.multiaddr.toString().localeCompare(a.multiaddr.toString())).map(({multiaddr:o,isCertified:a})=>({multiaddr:o.bytes,isCertified:a})),i=[];[...t.metadata.keys()].sort().forEach(o=>{let a=t.metadata.get(o);a!=null&&i.push({key:o,value:a})});let s=Ys.encode({addresses:n,protocols:t.protocols.sort(),pubKey:t.pubKey,metadata:i,peerRecordEnvelope:t.peerRecordEnvelope});return await this.components.datastore.put(this._peerIdToDatastoreKey(t.id),s.subarray()),await this.load(t.id)}async patch(t,e){let n=await this.load(t);return await this._patch(t,e,n)}async patchOrCreate(t,e){let n;try{n=await this.load(t)}catch(i){if(i.code!==G.ERR_NOT_FOUND)throw i;n={id:t,addresses:[],protocols:[],metadata:new Map}}return await this._patch(t,e,n)}async _patch(t,e,n){return await this.save({...n,...e,id:t})}async merge(t,e){let n=await this.load(t);return await this._merge(t,e,n)}async mergeOrCreate(t,e){let n;try{n=await this.load(t)}catch(i){if(i.code!==G.ERR_NOT_FOUND)throw i;n={id:t,addresses:[],protocols:[],metadata:new Map}}return await this._merge(t,e,n)}async _merge(t,e,n){let i=new Map;return n.addresses.forEach(s=>{i.set(s.multiaddr.toString(),s.isCertified)}),(e.addresses??[]).forEach(s=>{let o=s.multiaddr.toString(),c=!!i.get(o)||s.isCertified;i.set(o,c)}),await this.save({id:t,addresses:Array.from(i.entries()).map(([s,o])=>({multiaddr:Lt(s),isCertified:o})),protocols:Array.from(new Set([...n.protocols??[],...e.protocols??[]])),metadata:new Map([...n.metadata?.entries()??[],...e.metadata?.entries()??[]]),pubKey:e.pubKey??n?.pubKey,peerRecordEnvelope:e.peerRecordEnvelope??n?.peerRecordEnvelope})}async*all(){for await(let t of this.components.datastore.queryKeys({prefix:xw})){let e=t.toString().split("/")[2],n=ye.decode(e);yield this.load(pi(n))}}};var Fr;(function(r){let t;r.codec=()=>(t==null&&(t=Tt((e,n,i={})=>{if(i.lengthDelimited!==!1&&n.fork(),e.tags!=null)for(let s of e.tags)n.uint32(10),dc.codec().encode(s,n);i.lengthDelimited!==!1&&n.ldelim()},(e,n)=>{let i={tags:[]},s=n==null?e.len:e.pos+n;for(;e.pos<s;){let o=e.uint32();switch(o>>>3){case 1:i.tags.push(dc.codec().decode(e,e.uint32()));break;default:e.skipType(o&7);break}}return i})),t),r.encode=e=>It(e,r.codec()),r.decode=e=>Rt(e,r.codec())})(Fr||(Fr={}));var dc;(function(r){let t;r.codec=()=>(t==null&&(t=Tt((e,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),e.name!=null&&e.name!==""&&(n.uint32(10),n.string(e.name)),e.value!=null&&(n.uint32(16),n.uint32(e.value)),e.expiry!=null&&(n.uint32(24),n.uint64(e.expiry)),i.lengthDelimited!==!1&&n.ldelim()},(e,n)=>{let i={name:""},s=n==null?e.len:e.pos+n;for(;e.pos<s;){let o=e.uint32();switch(o>>>3){case 1:i.name=e.string();break;case 2:i.value=e.uint32();break;case 3:i.expiry=e.uint64();break;default:e.skipType(o&7);break}}return i})),t),r.encode=e=>It(e,r.codec()),r.decode=e=>Rt(e,r.codec())})(dc||(dc={}));var Ne=U("libp2p:peer-store"),pc=class extends Dt{constructor(t,e={}){super(),this.components=t,this.store=new hc(t),this.addressBook=new Qa(this.dispatchEvent.bind(this),this.store,e.addressFilter),this.keyBook=new Xa(this.dispatchEvent.bind(this),this.store),this.metadataBook=new Ja(this.dispatchEvent.bind(this),this.store),this.protoBook=new tc(this.dispatchEvent.bind(this),this.store)}async forEach(t){Ne.trace("getPeers await read lock");let e=await this.store.lock.readLock();Ne.trace("getPeers got read lock");try{for await(let n of this.store.all())n.id.equals(this.components.peerId)||t(n)}finally{Ne.trace("getPeers release read lock"),e()}}async all(){let t=[];return await this.forEach(e=>{t.push(e)}),t}async delete(t){Ne.trace("delete await write lock");let e=await this.store.lock.writeLock();Ne.trace("delete got write lock");try{await this.store.delete(t)}finally{Ne.trace("delete release write lock"),e()}}async get(t){Ne.trace("get await read lock");let e=await this.store.lock.readLock();Ne.trace("get got read lock");try{return await this.store.load(t)}finally{Ne.trace("get release read lock"),e()}}async has(t){Ne.trace("has await read lock");let e=await this.store.lock.readLock();Ne.trace("has got read lock");try{return await this.store.has(t)}finally{Ne.trace("has release read lock"),e()}}async tagPeer(t,e,n={}){let i=n.value??0,s=Math.round(i),o=n.ttl??void 0;if(s!==i||s<0||s>100)throw new T("Tag value must be between 0-100","ERR_TAG_VALUE_OUT_OF_BOUNDS");let a=await this.metadataBook.getValue(t,"tags"),c=[];a!=null&&(c=Fr.decode(a).tags),c=c.filter(u=>u.name!==e),c.push({name:e,value:s,expiry:o==null?void 0:BigInt(Date.now()+o)}),await this.metadataBook.setValue(t,"tags",Fr.encode({tags:c}).subarray())}async unTagPeer(t,e){let n=await this.metadataBook.getValue(t,"tags"),i=[];n!=null&&(i=Fr.decode(n).tags),i=i.filter(s=>s.name!==e),await this.metadataBook.setValue(t,"tags",Fr.encode({tags:i}).subarray())}async getTags(t){let e=await this.metadataBook.getValue(t,"tags"),n=[];e!=null&&(n=Fr.decode(e).tags);let i=BigInt(Date.now()),s=n.filter(o=>o.expiry==null||o.expiry>i);return s.length!==n.length&&await this.metadataBook.setValue(t,"tags",Fr.encode({tags:s}).subarray()),s.map(o=>({name:o.name,value:o.value??0}))}};var vw=C(lt(),1),mc=class{constructor(t){this.dht=t}async provide(t){await Me(this.dht.provide(t))}async*findProviders(t,e={}){for await(let n of this.dht.findProviders(t,e))n.name==="PROVIDER"&&(yield*n.providers)}async put(t,e,n){await Me(this.dht.put(t,e,n))}async get(t,e){for await(let n of this.dht.get(t,e))if(n.name==="VALUE")return n.value;throw(0,vw.default)(new Error("Not found"),"ERR_NOT_FOUND")}};var Ae=C(lt(),1);var yc=class{constructor(t={}){this._started=!1,this._peerId=t.peerId,this._addressManager=t.addressManager,this._peerStore=t.peerStore,this._upgrader=t.upgrader,this._metrics=t.metrics,this._registrar=t.registrar,this._connectionManager=t.connectionManager,this._transportManager=t.transportManager,this._connectionGater=t.connectionGater,this._contentRouting=t.contentRouting,this._peerRouting=t.peerRouting,this._datastore=t.datastore,this._connectionProtector=t.connectionProtector,this._dht=t.dht,this._pubsub=t.pubsub,this._dialer=t.dialer}isStarted(){return this._started}async beforeStart(){await Promise.all(Object.values(this).filter(t=>xr(t)).map(async t=>{t.beforeStart!=null&&await t.beforeStart()}))}async start(){await Promise.all(Object.values(this).filter(t=>xr(t)).map(async t=>{await t.start()})),this._started=!0}async afterStart(){await Promise.all(Object.values(this).filter(t=>xr(t)).map(async t=>{t.afterStart!=null&&await t.afterStart()}))}async beforeStop(){await Promise.all(Object.values(this).filter(t=>xr(t)).map(async t=>{t.beforeStop!=null&&await t.beforeStop()}))}async stop(){await Promise.all(Object.values(this).filter(t=>xr(t)).map(async t=>{await t.stop()})),this._started=!1}async afterStop(){await Promise.all(Object.values(this).filter(t=>xr(t)).map(async t=>{t.afterStop!=null&&await t.afterStop()}))}get peerId(){if(this._peerId==null)throw(0,Ae.default)(new Error("peerId not set"),"ERR_SERVICE_MISSING");return this._peerId}set peerId(t){this._peerId=t}get addressManager(){if(this._addressManager==null)throw(0,Ae.default)(new Error("addressManager not set"),"ERR_SERVICE_MISSING");return this._addressManager}set addressManager(t){this._addressManager=t}get peerStore(){if(this._peerStore==null)throw(0,Ae.default)(new Error("peerStore not set"),"ERR_SERVICE_MISSING");return this._peerStore}set peerStore(t){this._peerStore=t}get upgrader(){if(this._upgrader==null)throw(0,Ae.default)(new Error("upgrader not set"),"ERR_SERVICE_MISSING");return this._upgrader}set upgrader(t){this._upgrader=t}get registrar(){if(this._registrar==null)throw(0,Ae.default)(new Error("registrar not set"),"ERR_SERVICE_MISSING");return this._registrar}set registrar(t){this._registrar=t}get connectionManager(){if(this._connectionManager==null)throw(0,Ae.default)(new Error("connectionManager not set"),"ERR_SERVICE_MISSING");return this._connectionManager}set connectionManager(t){this._connectionManager=t}get transportManager(){if(this._transportManager==null)throw(0,Ae.default)(new Error("transportManager not set"),"ERR_SERVICE_MISSING");return this._transportManager}set transportManager(t){this._transportManager=t}get connectionGater(){if(this._connectionGater==null)throw(0,Ae.default)(new Error("connectionGater not set"),"ERR_SERVICE_MISSING");return this._connectionGater}set connectionGater(t){this._connectionGater=t}get contentRouting(){if(this._contentRouting==null)throw(0,Ae.default)(new Error("contentRouting not set"),"ERR_SERVICE_MISSING");return this._contentRouting}set contentRouting(t){this._contentRouting=t}get peerRouting(){if(this._peerRouting==null)throw(0,Ae.default)(new Error("peerRouting not set"),"ERR_SERVICE_MISSING");return this._peerRouting}set peerRouting(t){this._peerRouting=t}get datastore(){if(this._datastore==null)throw(0,Ae.default)(new Error("datastore not set"),"ERR_SERVICE_MISSING");return this._datastore}set datastore(t){this._datastore=t}get connectionProtector(){return this._connectionProtector}set connectionProtector(t){this._connectionProtector=t}get dialer(){if(this._dialer==null)throw(0,Ae.default)(new Error("dialer not set"),"ERR_SERVICE_MISSING");return this._dialer}set dialer(t){this._dialer=t}get metrics(){return this._metrics}set metrics(t){this._metrics=t}get dht(){return this._dht}set dht(t){this._dht=t}get pubsub(){return this._pubsub}set pubsub(t){this._pubsub=t}};var Nf=C(Cc(),1),kf=C(Sw(),1);var Aw=globalThis.fetch,Rw=globalThis.Headers,TN=globalThis.Request,CN=globalThis.Response;function gc(r,t,e){return`${r}?name=${t}&type=${e}`}async function Iw(r,t){return await(await Aw(r,{headers:new Rw({accept:"application/dns-json"}),signal:t})).json()}function Jn(r,t){return`${t}_${r}`}var Pf=Object.assign((0,Nf.default)("dns-over-http-resolver"),{error:(0,Nf.default)("dns-over-http-resolver:error")}),Of=class{constructor(t={}){this._cache=new kf.default({max:t?.maxCache??100}),this._TXTcache=new kf.default({max:t?.maxCache??100}),this._servers=["https://cloudflare-dns.com/dns-query","https://dns.google/resolve"],this._request=t.request??Iw,this._abortControllers=[]}cancel(){this._abortControllers.forEach(t=>t.abort())}getServers(){return this._servers}_getShuffledServers(){let t=[...this._servers];for(let e=t.length-1;e>0;e--){let n=Math.floor(Math.random()*e),i=t[e];t[e]=t[n],t[n]=i}return t}setServers(t){this._servers=t}async resolve(t,e="A"){switch(e){case"A":return await this.resolve4(t);case"AAAA":return await this.resolve6(t);case"TXT":return await this.resolveTxt(t);default:throw new Error(`${e} is not supported`)}}async resolve4(t){let e="A",n=this._cache.get(Jn(t,e));if(n!=null)return n;let i=!1;for(let s of this._getShuffledServers()){let o=new AbortController;this._abortControllers.push(o);try{let a=await this._request(gc(s,t,e),o.signal),c=a.Answer.map(l=>l.data),u=Math.min(...a.Answer.map(l=>l.TTL));return this._cache.set(Jn(t,e),c,{ttl:u}),c}catch{o.signal.aborted&&(i=!0),Pf.error(`${s} could not resolve ${t} record ${e}`)}finally{this._abortControllers=this._abortControllers.filter(a=>a!==o)}}throw i?Object.assign(new Error("queryA ECANCELLED"),{code:"ECANCELLED"}):new Error(`Could not resolve ${t} record ${e}`)}async resolve6(t){let e="AAAA",n=this._cache.get(Jn(t,e));if(n!=null)return n;let i=!1;for(let s of this._getShuffledServers()){let o=new AbortController;this._abortControllers.push(o);try{let a=await this._request(gc(s,t,e),o.signal),c=a.Answer.map(l=>l.data),u=Math.min(...a.Answer.map(l=>l.TTL));return this._cache.set(Jn(t,e),c,{ttl:u}),c}catch{o.signal.aborted&&(i=!0),Pf.error(`${s} could not resolve ${t} record ${e}`)}finally{this._abortControllers=this._abortControllers.filter(a=>a!==o)}}throw i?Object.assign(new Error("queryAaaa ECANCELLED"),{code:"ECANCELLED"}):new Error(`Could not resolve ${t} record ${e}`)}async resolveTxt(t){let e="TXT",n=this._TXTcache.get(Jn(t,e));if(n!=null)return n;let i=!1;for(let s of this._getShuffledServers()){let o=new AbortController;this._abortControllers.push(o);try{let a=await this._request(gc(s,t,e),o.signal),c=a.Answer.map(l=>[l.data.replace(/['"]+/g,"")]),u=Math.min(...a.Answer.map(l=>l.TTL));return this._TXTcache.set(Jn(t,e),c,{ttl:u}),c}catch{o.signal.aborted&&(i=!0),Pf.error(`${s} could not resolve ${t} record ${e}`)}finally{this._abortControllers=this._abortControllers.filter(a=>a!==o)}}throw i?Object.assign(new Error("queryTxt ECANCELLED"),{code:"ECANCELLED"}):new Error(`Could not resolve ${t} record ${e}`)}clearCache(){this._cache.clear(),this._TXTcache.clear()}},Tw=Of;var Cw=Tw;var{code:nA}=ct("dnsaddr");async function Bw(r,t={}){let e=new Cw;t.signal!=null&&t.signal.addEventListener("abort",()=>{e.cancel()});let n=r.getPeerId(),[,i]=r.stringTuples().find(([a])=>a===nA)??[];if(i==null)throw new Error("No hostname found in multiaddr");let o=(await e.resolveTxt(`_dnsaddr.${i}`)).flat().map(a=>a.split("=")[1]).filter(Boolean);return n!=null&&(o=o.filter(a=>a.includes(n))),o}function Mf(r){let{address:t}=r.nodeAddress();return!!za(t)}function wc(r,t){let e=Mf(r.multiaddr),n=Mf(t.multiaddr);return e&&!n?1:!e&&n||r.isCertified&&!t.isCertified?-1:!r.isCertified&&t.isCertified?1:0}var Ec=C(lt(),1);var oA={addresses:{listen:[],announce:[],noAnnounce:[],announceFilter:r=>r},connectionManager:{maxConnections:300,minConnections:50,autoDial:!0,autoDialInterval:1e4,maxParallelDials:100,maxDialsPerPeer:4,dialTimeout:3e4,inboundUpgradeTimeout:3e4,resolvers:{dnsaddr:Bw},addressSorter:wc},connectionGater:{},transportManager:{faultTolerance:ln.FATAL_ALL},peerRouting:{refreshManager:{enabled:!0,interval:6e5,bootDelay:1e4}},nat:{enabled:!0,ttl:7200,keepAlive:!0},identify:{protocolPrefix:"ipfs",host:{agentVersion:uf},timeout:6e4,maxInboundStreams:1,maxOutboundStreams:1,maxPushIncomingStreams:1,maxPushOutgoingStreams:1},ping:{protocolPrefix:"ipfs",maxInboundStreams:2,maxOutboundStreams:1,timeout:1e4},fetch:{protocolPrefix:"libp2p",maxInboundStreams:1,maxOutboundStreams:1,timeout:1e4}};function Dw(r){let t=Ie(oA,r);if(t.transports==null||t.transports.length<1)throw(0,Ec.default)(new Error(Y.ERR_TRANSPORTS_REQUIRED),_.ERR_TRANSPORTS_REQUIRED);if(t.connectionEncryption==null||t.connectionEncryption.length===0)throw(0,Ec.default)(new Error(Y.CONN_ENCRYPTION_REQUIRED),_.CONN_ENCRYPTION_REQUIRED);if(t.connectionProtector===null&&globalThis.process?.env?.LIBP2P_FORCE_PNET!=null)throw(0,Ec.default)(new Error(Y.ERR_PROTECTOR_REQUIRED),_.ERR_PROTECTOR_REQUIRED);return t.identify.host.agentVersion===uf&&(Kg||Ug?t.identify.host.agentVersion+=` UserAgent=${globalThis.process.version}`:(Hs||Vg||Fg||qg)&&(t.identify.host.agentVersion+=` UserAgent=${globalThis.navigator.userAgent}`)),t}var Vf;(function(r){let t;r.codec=()=>(t==null&&(t=Tt((e,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),e.id!=null&&(n.uint32(10),n.bytes(e.id)),e.pubKey!=null&&(n.uint32(18),n.bytes(e.pubKey)),e.privKey!=null&&(n.uint32(26),n.bytes(e.privKey)),i.lengthDelimited!==!1&&n.ldelim()},(e,n)=>{let i={},s=n==null?e.len:e.pos+n;for(;e.pos<s;){let o=e.uint32();switch(o>>>3){case 1:i.id=e.bytes();break;case 2:i.pubKey=e.bytes();break;case 3:i.privKey=e.bytes();break;default:e.skipType(o&7);break}}return i})),t),r.encode=e=>It(e,r.codec()),r.decode=e=>Rt(e,r.codec())})(Vf||(Vf={}));var Lw=async()=>{let r=await Ia("Ed25519"),t=await aA(r);if(t.type==="Ed25519")return t;throw new Error(`Generated unexpected PeerId type "${t.type}"`)};async function aA(r){return await Gr(Gy(r.public),Yy(r))}var no=C(lt(),1);var ke=C(lt(),1);var Pw=Symbol.for("@libp2p/peer-discovery");var xc=class extends Dt{get[Pw](){return!0}get[Symbol.toStringTag](){return"@libp2p/dummy-dht"}get wan(){throw(0,ke.default)(new Error(Y.DHT_DISABLED),_.DHT_DISABLED)}get lan(){throw(0,ke.default)(new Error(Y.DHT_DISABLED),_.DHT_DISABLED)}get(){throw(0,ke.default)(new Error(Y.DHT_DISABLED),_.DHT_DISABLED)}findProviders(){throw(0,ke.default)(new Error(Y.DHT_DISABLED),_.DHT_DISABLED)}findPeer(){throw(0,ke.default)(new Error(Y.DHT_DISABLED),_.DHT_DISABLED)}getClosestPeers(){throw(0,ke.default)(new Error(Y.DHT_DISABLED),_.DHT_DISABLED)}provide(){throw(0,ke.default)(new Error(Y.DHT_DISABLED),_.DHT_DISABLED)}put(){throw(0,ke.default)(new Error(Y.DHT_DISABLED),_.DHT_DISABLED)}async getMode(){throw(0,ke.default)(new Error(Y.DHT_DISABLED),_.DHT_DISABLED)}async setMode(){throw(0,ke.default)(new Error(Y.DHT_DISABLED),_.DHT_DISABLED)}async refreshRoutingTable(){throw(0,ke.default)(new Error(Y.DHT_DISABLED),_.DHT_DISABLED)}};var Kr=C(lt(),1);var vc=class extends Dt{constructor(){super(...arguments),this.topicValidators=new Map}isStarted(){return!1}start(){}stop(){}get globalSignaturePolicy(){throw(0,Kr.default)(new Error(Y.PUBSUB_DISABLED),_.ERR_PUBSUB_DISABLED)}get multicodecs(){throw(0,Kr.default)(new Error(Y.PUBSUB_DISABLED),_.ERR_PUBSUB_DISABLED)}getPeers(){throw(0,Kr.default)(new Error(Y.PUBSUB_DISABLED),_.ERR_PUBSUB_DISABLED)}getTopics(){throw(0,Kr.default)(new Error(Y.PUBSUB_DISABLED),_.ERR_PUBSUB_DISABLED)}subscribe(){throw(0,Kr.default)(new Error(Y.PUBSUB_DISABLED),_.ERR_PUBSUB_DISABLED)}unsubscribe(){throw(0,Kr.default)(new Error(Y.PUBSUB_DISABLED),_.ERR_PUBSUB_DISABLED)}getSubscribers(){throw(0,Kr.default)(new Error(Y.PUBSUB_DISABLED),_.ERR_PUBSUB_DISABLED)}async publish(){throw(0,Kr.default)(new Error(Y.PUBSUB_DISABLED),_.ERR_PUBSUB_DISABLED)}};var Hi=C(lt(),1);var Xw=C(zr(),1),Hf=C($f(),1),Zw=C(Ar(),1);var ro=C(lt(),1),Yw=C($f(),1),Ww=C(Hw(),1),zf=C(Ar(),1);var Gw=U("libp2p:dialer:dial-request"),bc=class{constructor(t){let{addrs:e,dialAction:n,dialer:i}=t;this.addrs=e,this.dialer=i,this.dialAction=n}async run(t={}){let e=this.dialer.getTokens(this.addrs.length);if(e.length<1)throw(0,ro.default)(new Error("No dial tokens available"),_.ERR_NO_DIAL_TOKENS);let n=new Ww.default;for(let a of e)n.push(a).catch(c=>{Gw.error(c)});let i=this.addrs.map(()=>{let a=new AbortController;try{(0,zf.setMaxListeners)?.(1/0,a.signal)}catch{}return a});if(t.signal!=null)try{(0,zf.setMaxListeners)?.(1/0,t.signal)}catch{}let s=0,o=!1;try{return await Promise.any(this.addrs.map(async(a,c)=>{let u=await n.shift();if(o)throw this.dialer.releaseToken(e.splice(e.indexOf(u),1)[0]),(0,ro.default)(new Error("dialAction already succeeded"),_.ERR_ALREADY_SUCCEEDED);let l=i[c];if(l==null)throw(0,ro.default)(new Error("dialAction did not come with an AbortController"),_.ERR_INVALID_PARAMETERS);let f;try{let d=l.signal;f=await this.dialAction(a,{...t,signal:t.signal!=null?(0,Yw.anySignal)([d,t.signal]):d}),i[c]=void 0}finally{s++,this.addrs.length-s>=e.length?n.push(u).catch(d=>{Gw.error(d)}):this.dialer.releaseToken(e.splice(e.indexOf(u),1)[0])}if(f==null)throw(0,ro.default)(new Error("dialAction led to empty object"),_.ERR_TRANSPORT_DIAL_FAILED);return o=!0,f}))}catch(a){throw this.addrs.length===1&&a.name==="AggregateError"?a.errors[0]:a}finally{i.forEach(a=>{a!==void 0&&a.abort()}),e.forEach(a=>{this.dialer.releaseToken(a)})}}};var yr=U("libp2p:dialer"),_c=class{constructor(t,e={}){this.started=!1,this.addressSorter=e.addressSorter??wc,this.maxAddrsToDial=e.maxAddrsToDial??25,this.timeout=e.dialTimeout??3e4,this.maxDialsPerPeer=e.maxDialsPerPeer??4,this.tokens=[...new Array(e.maxParallelDials??100)].map((n,i)=>i),this.components=t,this.pendingDials=Ls({name:"libp2p_dialler_pending_dials",metrics:t.metrics}),this.pendingDialTargets=Ls({name:"libp2p_dialler_pending_dial_targets",metrics:t.metrics});for(let[n,i]of Object.entries(e.resolvers??{}))fu.set(n,i)}isStarted(){return this.started}async start(){this.started=!0}async stop(){this.started=!1;for(let t of this.pendingDials.values())try{t.controller.abort()}catch(e){yr.error(e)}this.pendingDials.clear();for(let t of this.pendingDialTargets.values())t.abort();this.pendingDialTargets.clear()}async dial(t,e={}){let{peerId:n,multiaddr:i}=Uo(t);if(n!=null){if(this.components.peerId.equals(n))throw(0,Hi.default)(new Error("Tried to dial self"),_.ERR_DIALED_SELF);if(i!=null&&(yr("storing multiaddrs %p",n,i),await this.components.peerStore.addressBook.add(n,[i])),await this.components.connectionGater.denyDialPeer?.(n)===!0)throw(0,Hi.default)(new Error("The dial request is blocked by gater.allowDialPeer"),_.ERR_PEER_DIAL_INTERCEPTED)}yr("creating dial target for %p",n);let s=new AbortController,o=Qw();this.pendingDialTargets.set(o,s);let a=s.signal;e.signal!=null&&(a=(0,Hf.anySignal)([a,e.signal]));let c;try{c=await this._createDialTarget({peerId:n,multiaddr:i},{...e,signal:a})}finally{this.pendingDialTargets.delete(o)}if(c.addrs.length===0)throw(0,Hi.default)(new Error("The dial request has no valid addresses"),_.ERR_NO_VALID_ADDRESSES);let u=this.pendingDials.get(c.id)??this._createPendingDial(c,e);try{let l=await u.promise;return yr("dial succeeded to %s",c.id),l}catch(l){throw yr("dial failed to %s",c.id,l),u.controller.signal.aborted&&(l.code=_.ERR_TIMEOUT),yr.error(l),l}finally{u.destroy()}}getPendingDialTargets(){return this.pendingDialTargets}hasPendingDial(t){return ge(t)?this.pendingDials.has(t.getPeerId()??""):this.pendingDials.has(t.toString())}async _createDialTarget(t,e){let n=[];if(ge(t.multiaddr)&&n.push(t.multiaddr),!ge(t.multiaddr)&&Sn(t.peerId)&&n.push(...await this._loadAddresses(t.peerId)),n=(await Promise.all(n.map(async s=>await this._resolve(s,e)))).flat().filter(s=>!!this.components.transportManager.transportForMultiaddr(s)),n=[...new Set(n.map(s=>s.toString()))].map(s=>Lt(s)),n.length>this.maxAddrsToDial)throw(0,Hi.default)(new Error("dial with more addresses than allowed"),_.ERR_TOO_MANY_ADDRESSES);let i=Sn(t.peerId)?t.peerId:void 0;if(i!=null){let s=`/p2p/${i.toString()}`;n=n.map(o=>{let a=o.getPeerId();return a==null||!i.equals(a)?o.encapsulate(s):o})}return{id:i==null?Qw():i.toString(),addrs:n}}async _loadAddresses(t){let e=await this.components.peerStore.addressBook.get(t);return(await Promise.all(e.map(async n=>await this.components.connectionGater.denyDialMultiaddr?.(t,n.multiaddr)===!0?!1:n))).filter(lA).sort(this.addressSorter).map(n=>n.multiaddr)}_createPendingDial(t,e={}){let n=async(u,l={})=>{if(l.signal?.aborted===!0)throw(0,Hi.default)(new Error("already aborted"),_.ERR_ALREADY_ABORTED);return await this.components.transportManager.dial(u,l).catch(f=>{throw yr.error("dial to %s failed",u,f),f})},i=new bc({addrs:t.addrs,dialAction:n,dialer:this}),s=new Xw.TimeoutController(this.timeout),o=[s.signal];e.signal!=null&&o.push(e.signal);let a=(0,Hf.anySignal)(o);try{(0,Zw.setMaxListeners)?.(1/0,a)}catch{}let c={dialRequest:i,controller:s,promise:i.run({...e,signal:a}),destroy:()=>{s.clear(),this.pendingDials.delete(t.id)}};return this.pendingDials.set(t.id,c),c}getTokens(t){let e=Math.min(t,this.maxDialsPerPeer,this.tokens.length),n=this.tokens.splice(0,e);return yr("%d tokens request, returning %d, %d remaining",t,e,this.tokens.length),n}releaseToken(t){this.tokens.includes(t)||(yr("token %d released",t),this.tokens.push(t))}async _resolve(t,e){if(!t.protoNames().includes("dnsaddr"))return[t];let i=await this._resolveRecord(t,e);return(await Promise.all(i.map(async a=>await this._resolve(a,e)))).flat().reduce((a,c)=>(a.find(u=>u.equals(c))==null&&a.push(c),a),[])}async _resolveRecord(t,e){try{return t=Lt(t.toString()),await t.resolve(e)}catch(n){return yr.error(`multiaddr ${t.toString()} could not be resolved`,n),[]}}};function lA(r){return!!r}function Qw(){return`${parseInt(String(Math.random()*1e9),10).toString()}${Date.now()}`}var gr=U("libp2p"),Gf=class extends Dt{constructor(t){super(),this.started=!1,this.peerId=t.peerId;let e=this.components=new yc({peerId:t.peerId,datastore:t.datastore??new xo,connectionGater:{denyDialPeer:async()=>await Promise.resolve(!1),denyDialMultiaddr:async()=>await Promise.resolve(!1),denyInboundConnection:async()=>await Promise.resolve(!1),denyOutboundConnection:async()=>await Promise.resolve(!1),denyInboundEncryptedConnection:async()=>await Promise.resolve(!1),denyOutboundEncryptedConnection:async()=>await Promise.resolve(!1),denyInboundUpgradedConnection:async()=>await Promise.resolve(!1),denyOutboundUpgradedConnection:async()=>await Promise.resolve(!1),filterMultiaddrForPeer:async()=>await Promise.resolve(!0),...t.connectionGater}});e.peerStore=new pc(e,{addressFilter:this.components.connectionGater.filterMultiaddrForPeer,...t.peerStore}),this.services=[e],t.metrics!=null&&(this.metrics=this.components.metrics=this.configureComponent(t.metrics(this.components))),this.peerStore=this.components.peerStore,this.peerStore.addEventListener("peer",o=>{let{detail:a}=o;this.dispatchEvent(new $("peer:discovery",{detail:a}))}),t.connectionProtector!=null&&(this.components.connectionProtector=t.connectionProtector(e)),this.components.upgrader=new Ma(this.components,{connectionEncryption:(t.connectionEncryption??[]).map(o=>this.configureComponent(o(this.components))),muxers:(t.streamMuxers??[]).map(o=>this.configureComponent(o(this.components))),inboundUpgradeTimeout:t.connectionManager.inboundUpgradeTimeout}),this.components.dialer=new _c(this.components,t.connectionManager),this.connectionManager=this.components.connectionManager=new Vo(this.components,t.connectionManager),this.components.connectionManager.addEventListener("peer:disconnect",o=>{this.dispatchEvent(new $("peer:disconnect",{detail:o.detail}))}),this.components.connectionManager.addEventListener("peer:connect",o=>{this.dispatchEvent(new $("peer:connect",{detail:o.detail}))}),this.registrar=this.components.registrar=new Oa(this.components),this.components.transportManager=new Ca(this.components,t.transportManager),this.components.addressManager=new Bo(this.components,t.addresses),this.configureComponent(new Ga(this.components)),this.configureComponent(new qo(this.components,{enabled:t.connectionManager.autoDial,minConnections:t.connectionManager.minConnections,autoDialInterval:t.connectionManager.autoDialInterval}));let n=zn.generateOptions();this.keychain=this.configureComponent(new zn(this.components,{...n,...t.keychain})),this.services.push(new Ha(this.components,t.nat)),this.identifyService=new Vi(this.components,{...t.identify}),this.configureComponent(this.identifyService),t.dht!=null?this.dht=this.components.dht=t.dht(this.components):this.dht=new xc,t.pubsub!=null?this.pubsub=this.components.pubsub=t.pubsub(this.components):this.pubsub=new vc;let i=(t.peerRouters??[]).map(o=>this.configureComponent(o(this.components)));t.dht!=null&&(i.push(this.configureComponent(new Ya(this.dht))),this.dht.addEventListener("peer",o=>{this.onDiscoveryPeer(o)})),this.peerRouting=this.components.peerRouting=this.configureComponent(new Io(this.components,{...t.peerRouting,routers:i}));let s=(t.contentRouters??[]).map(o=>this.configureComponent(o(this.components)));t.dht!=null&&s.push(this.configureComponent(new mc(this.dht))),this.contentRouting=this.components.contentRouting=this.configureComponent(new Co(this.components,{routers:s})),this.fetchService=this.configureComponent(new Fa(this.components,{...t.fetch})),this.pingService=this.configureComponent(new Ka(this.components,{...t.ping})),t.relay!=null&&(this.circuitService=this.configureComponent(t.relay(this.components)));for(let o of t.peerDiscovery??[])this.configureComponent(o(this.components)).addEventListener("peer",c=>{this.onDiscoveryPeer(c)});t.transports.forEach(o=>{this.components.transportManager.add(this.configureComponent(o(this.components)))})}configureComponent(t){return xr(t)&&this.services.push(t),t}async start(){if(this.started)return;this.started=!0,gr("libp2p is starting"),(await this.keychain.listKeys()).find(e=>e.name==="self")==null&&(gr("importing self key into keychain"),await this.keychain.importPeer("self",this.components.peerId));try{await Promise.all(this.services.map(async e=>{e.beforeStart!=null&&await e.beforeStart()})),await Promise.all(this.services.map(async e=>{await e.start()})),await Promise.all(this.services.map(async e=>{e.afterStart!=null&&await e.afterStart()})),gr("libp2p has started")}catch(e){throw gr.error("An error occurred starting libp2p",e),await this.stop(),e}}async stop(){this.started&&(gr("libp2p is stopping"),this.started=!1,await Promise.all(this.services.map(async t=>{t.beforeStop!=null&&await t.beforeStop()})),await Promise.all(this.services.map(async t=>{await t.stop()})),await Promise.all(this.services.map(async t=>{t.afterStop!=null&&await t.afterStop()})),gr("libp2p has stopped"))}isStarted(){return this.started}getConnections(t){return this.components.connectionManager.getConnections(t)}getPeers(){let t=new Tr;for(let e of this.components.connectionManager.getConnections())t.add(e.remotePeer);return Array.from(t)}async dial(t,e={}){return await this.components.connectionManager.openConnection(t,e)}async dialProtocol(t,e,n={}){if(e==null)throw(0,no.default)(new Error("no protocols were provided to open a stream"),_.ERR_INVALID_PROTOCOLS_FOR_STREAM);if(e=Array.isArray(e)?e:[e],e.length===0)throw(0,no.default)(new Error("no protocols were provided to open a stream"),_.ERR_INVALID_PROTOCOLS_FOR_STREAM);return await(await this.dial(t,n)).newStream(e,n)}getMultiaddrs(){return this.components.addressManager.getAddresses()}getProtocols(){return this.components.registrar.getProtocols()}async hangUp(t){ge(t)&&(t=st(t.getPeerId()??"")),await this.components.connectionManager.closeConnections(t)}async getPublicKey(t,e={}){if(gr("getPublicKey %p",t),t.publicKey!=null)return t.publicKey;let n=await this.peerStore.get(t);if(n.pubKey!=null)return n.pubKey;if(this.dht==null)throw(0,no.default)(new Error("Public key was not in the peer store and the DHT is not enabled"),_.ERR_NO_ROUTERS_AVAILABLE);let i=Mt([F("/pk/"),t.multihash.digest]);for await(let s of this.dht.get(i,e))if(s.name==="VALUE"){let o=Cs(s.value);return await this.peerStore.keyBook.set(t,s.value),o.bytes}throw(0,no.default)(new Error(`Node not responding with its public key: ${t.toString()}`),_.ERR_INVALID_RECORD)}async fetch(t,e,n={}){if(ge(t)){let i=st(t.getPeerId()??"");await this.components.peerStore.addressBook.add(i,[t]),t=i}return await this.fetchService.fetch(t,e,n)}async ping(t,e={}){if(ge(t)){let n=st(t.getPeerId()??"");await this.components.peerStore.addressBook.add(n,[t]),t=n}return await this.pingService.ping(t,e)}async handle(t,e,n){Array.isArray(t)||(t=[t]),await Promise.all(t.map(async i=>{await this.components.registrar.handle(i,e,n)}))}async unhandle(t){Array.isArray(t)||(t=[t]),await Promise.all(t.map(async e=>{await this.components.registrar.unhandle(e)}))}async register(t,e){return await this.registrar.register(t,e)}unregister(t){this.registrar.unregister(t)}onDiscoveryPeer(t){let{detail:e}=t;if(e.id.toString()===this.peerId.toString()){gr.error(new Error(_.ERR_DISCOVERED_SELF));return}e.multiaddrs.length>0&&this.components.peerStore.addressBook.add(e.id,e.multiaddrs).catch(n=>{gr.error(n)}),e.protocols.length>0&&this.components.peerStore.protoBook.set(e.id,e.protocols).catch(n=>{gr.error(n)}),this.dispatchEvent(new $("peer:discovery",{detail:e}))}};async function Jw(r){if(r.peerId==null){let t=r.datastore;if(t!=null)try{let e=new zn({datastore:t},Ie(zn.generateOptions(),r.keychain));r.peerId=await e.exportPeerId("self")}catch(e){if(e.code!=="ERR_NOT_FOUND")throw e}}return r.peerId==null&&(r.peerId=await Lw()),new Gf(Dw(r))}async function fA(r){let t=await Jw(r);return r.start!==!1&&await t.start(),t}return i1(hA);})();
|
|
49
|
+
`.replace(/\s*\/\/.*$/gm,"").replace(/\n/g,"").trim(),MS=new RegExp(`(?:^${Qe}$)|(?:^${$a}$)`),US=new RegExp(`^${Qe}$`),FS=new RegExp(`^${$a}$`),ff=r=>r&&r.exact?MS:new RegExp(`(?:${fn(r)}${Qe}${fn(r)})|(?:${fn(r)}${$a}${fn(r)})`,"g");ff.v4=r=>r&&r.exact?US:new RegExp(`${fn(r)}${Qe}${fn(r)}`,"g");ff.v6=r=>r&&r.exact?FS:new RegExp(`${fn(r)}${$a}${fn(r)}`,"g");var Hg=ff;var Xg=C(Yg(),1),{isValid:KS,parse:VS}=Xg.default,qS=["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"],$S=qS.map(r=>new Qg.Netmask(r));function zS(r){for(let t of $S)if(t.contains(r))return!0;return!1}function Wg(r){return/^::$/.test(r)||/^::1$/.test(r)||/^::f{4}:([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})$/.test(r)||/^::f{4}:0.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})$/.test(r)||/^64:ff9b::([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})$/.test(r)||/^100::([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4})$/.test(r)||/^2001::([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4})$/.test(r)||/^2001:2[0-9a-fA-F]:([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4})$/.test(r)||/^2001:db8:([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4})$/.test(r)||/^2002:([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4})$/.test(r)||/^f[c-d]([0-9a-fA-F]{2,2}):/i.test(r)||/^fe[8-9a-bA-B][0-9a-fA-F]:/i.test(r)||/^ff([0-9a-fA-F]{2,2}):/i.test(r)}var Zg=r=>{if(KS(r)){let t=VS(r);if(t.kind()==="ipv4")return zS(t.toNormalizedString());if(t.kind()==="ipv6")return Wg(r)}else if(si(r)&&Hg.v6().test(r))return Wg(r)};var Ha=Zg;var tw=C(lt(),1);function Jg(r){return/^127\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})$/i.test(r)||/^::1$/.test(r)}function jg(r){let{address:t}=r.nodeAddress();return Jg(t)}var hf=U("libp2p:nat"),df=7200;function HS(r=1024,t=65535){return Math.floor(Math.random()*(t-r+1)+r)}var Ga=class{constructor(t,e){if(this.components=t,this.started=!1,this.enabled=e.enabled,this.externalAddress=e.externalAddress,this.localAddress=e.localAddress,this.description=e.description??`${gg}@${Fa} ${this.components.peerId.toString()}`,this.ttl=e.ttl??df,this.keepAlive=e.keepAlive??!0,this.gateway=e.gateway,this.ttl<df)throw(0,tw.default)(new Error(`NatManager ttl should be at least ${df} seconds`),_.ERR_INVALID_PARAMETERS)}isStarted(){return this.started}start(){}afterStart(){Hs||!this.enabled||this.started||(this.started=!0,this._start().catch(t=>{hf.error(t)}))}async _start(){let t=this.components.transportManager.getAddrs();for(let e of t){let{family:n,host:i,port:s,transport:o}=e.toOptions();if(!e.isThinWaistAddress()||o!=="tcp"||jg(e)||n!==4)continue;let a=await this._getClient(),c=this.externalAddress??await a.externalIp(),u=Ha(c);if(u===!0)throw new Error(`${c} is private - please set config.nat.externalIp to an externally routable IP or ensure you are not behind a double NAT`);if(u==null)throw new Error(`${c} is not an IP address`);let l=HS();hf(`opening uPnP connection from ${c}:${l} to ${i}:${s}`),await a.map({publicPort:l,localPort:s,localAddress:this.localAddress,protocol:o.toUpperCase()==="TCP"?"TCP":"UDP"}),this.components.addressManager.addObservedAddr(Qh({family:4,address:c,port:l},o))}}async _getClient(){return this.client!=null?this.client:(this.client=await Ng({description:this.description,ttl:this.ttl,keepAlive:this.keepAlive,gateway:this.gateway}),this.client)}async stop(){if(!(Hs||this.client==null))try{await this.client.close(),this.client=void 0}catch(t){hf.error(t)}}};var GS=U("libp2p:peer-record-updater"),Ya=class{constructor(t){this.components=t,this.started=!1,this.update=this.update.bind(this)}isStarted(){return this.started}async start(){this.started=!0,this.components.transportManager.addEventListener("listener:listening",this.update),this.components.transportManager.addEventListener("listener:close",this.update),this.components.addressManager.addEventListener("change:addresses",this.update)}async stop(){this.started=!1,this.components.transportManager.removeEventListener("listener:listening",this.update),this.components.transportManager.removeEventListener("listener:close",this.update),this.components.addressManager.removeEventListener("change:addresses",this.update)}update(){Promise.resolve().then(async()=>{let t=new zt({peerId:this.components.peerId,multiaddrs:this.components.addressManager.getAddresses().map(n=>n.decapsulateCode(ct("p2p").code))}),e=await Xt.seal(t,this.components.peerId);await this.components.peerStore.addressBook.consumePeerRecord(e)}).catch(t=>{GS.error("Could not update self peer record: %o",t)})}};var ew=C(lt(),1);var Wa=class{constructor(t){this.dht=t}async findPeer(t,e={}){for await(let n of this.dht.findPeer(t,e))if(n.name==="FINAL_PEER")return n.peer;throw(0,ew.default)(new Error(Y.NOT_FOUND),_.ERR_NOT_FOUND)}async*getClosestPeers(t,e={}){for await(let n of this.dht.getClosestPeers(t,e))n.name==="FINAL_PEER"&&(yield n.peer)}};var G={ERR_INVALID_PARAMETERS:"ERR_INVALID_PARAMETERS",ERR_NOT_FOUND:"ERR_NOT_FOUND"};var dt=U("libp2p:peer-store:address-book"),Qa="change:multiaddrs";async function YS(){return!0}var Xa=class{constructor(t,e,n){this.dispatchEvent=t,this.store=e,this.addressFilter=n??YS}async consumePeerRecord(t){dt.trace("consumePeerRecord await write lock");let e=await this.store.lock.writeLock();dt.trace("consumePeerRecord got write lock");let n,i,s;try{let o;try{o=zt.createFromProtobuf(t.payload)}catch{return dt.error("invalid peer record received"),!1}n=o.peerId;let a=o.multiaddrs;if(!n.equals(t.peerId))return dt("signing key does not match PeerId in the PeerRecord"),!1;if(a==null||a.length===0)return!1;if(await this.store.has(n)&&(i=await this.store.load(n),i.peerRecordEnvelope!=null)){let u=await Xt.createFromProtobuf(i.peerRecordEnvelope),l=zt.createFromProtobuf(u.payload);if(l.seqNumber>=o.seqNumber)return dt("sequence number was lower or equal to existing sequence number - stored: %d received: %d",l.seqNumber,o.seqNumber),!1}let c=await pf(n,a,this.addressFilter,!0);s=await this.store.patchOrCreate(n,{addresses:c,peerRecordEnvelope:t.marshal().subarray()}),dt("stored provided peer record for %p",o.peerId)}finally{dt.trace("consumePeerRecord release write lock"),e()}return this.dispatchEvent(new $(Qa,{detail:{peerId:n,multiaddrs:s.addresses.map(({multiaddr:o})=>o),oldMultiaddrs:i==null?[]:i.addresses.map(({multiaddr:o})=>o)}})),!0}async getRawEnvelope(t){dt.trace("getRawEnvelope await read lock");let e=await this.store.lock.readLock();dt.trace("getRawEnvelope got read lock");try{return(await this.store.load(t)).peerRecordEnvelope}catch(n){if(n.code!==G.ERR_NOT_FOUND)throw n}finally{dt.trace("getRawEnvelope release read lock"),e()}}async getPeerRecord(t){let e=await this.getRawEnvelope(t);if(e!=null)return await Xt.createFromProtobuf(e)}async get(t){t=Ut(t),dt.trace("get wait for read lock");let e=await this.store.lock.readLock();dt.trace("get got read lock");try{return(await this.store.load(t)).addresses}catch(n){if(n.code!==G.ERR_NOT_FOUND)throw n}finally{dt.trace("get release read lock"),e()}return[]}async set(t,e){if(t=Ut(t),!Array.isArray(e))throw dt.error("multiaddrs must be an array of Multiaddrs"),new T("multiaddrs must be an array of Multiaddrs",G.ERR_INVALID_PARAMETERS);dt.trace("set await write lock");let n=await this.store.lock.writeLock();dt.trace("set got write lock");let i=!1,s,o;try{let a=await pf(t,e,this.addressFilter);if(a.length===0)return;try{if(s=await this.store.load(t),i=!0,new Set([...a.map(({multiaddr:c})=>c.toString()),...s.addresses.map(({multiaddr:c})=>c.toString())]).size===s.addresses.length&&a.length===s.addresses.length)return}catch(c){if(c.code!==G.ERR_NOT_FOUND)throw c}o=await this.store.patchOrCreate(t,{addresses:a}),dt("set multiaddrs for %p",t)}finally{dt.trace("set multiaddrs for %p",t),dt("set release write lock"),n()}this.dispatchEvent(new $(Qa,{detail:{peerId:t,multiaddrs:o.addresses.map(a=>a.multiaddr),oldMultiaddrs:s==null?[]:s.addresses.map(({multiaddr:a})=>a)}})),i||this.dispatchEvent(new $("peer",{detail:{id:t,multiaddrs:o.addresses.map(a=>a.multiaddr),protocols:o.protocols}}))}async add(t,e){if(t=Ut(t),!Array.isArray(e))throw dt.error("multiaddrs must be an array of Multiaddrs"),new T("multiaddrs must be an array of Multiaddrs",G.ERR_INVALID_PARAMETERS);dt.trace("add await write lock");let n=await this.store.lock.writeLock();dt.trace("add got write lock");let i,s,o;try{let a=await pf(t,e,this.addressFilter);if(a.length===0)return;try{if(s=await this.store.load(t),i=!0,new Set([...a.map(({multiaddr:c})=>c.toString()),...s.addresses.map(({multiaddr:c})=>c.toString())]).size===s.addresses.length)return}catch(c){if(c.code!==G.ERR_NOT_FOUND)throw c}o=await this.store.mergeOrCreate(t,{addresses:a}),dt("added multiaddrs for %p",t)}finally{dt.trace("set release write lock"),n()}this.dispatchEvent(new $(Qa,{detail:{peerId:t,multiaddrs:o.addresses.map(a=>a.multiaddr),oldMultiaddrs:s==null?[]:s.addresses.map(({multiaddr:a})=>a)}})),i===!0&&this.dispatchEvent(new $("peer",{detail:{id:t,multiaddrs:o.addresses.map(a=>a.multiaddr),protocols:o.protocols}}))}async delete(t){t=Ut(t),dt.trace("delete await write lock");let e=await this.store.lock.writeLock();dt.trace("delete got write lock");let n;try{try{n=await this.store.load(t)}catch(i){if(i.code!==G.ERR_NOT_FOUND)throw i}await this.store.patchOrCreate(t,{addresses:[]})}finally{dt.trace("delete release write lock"),e()}n!=null&&this.dispatchEvent(new $(Qa,{detail:{peerId:t,multiaddrs:[],oldMultiaddrs:n==null?[]:n.addresses.map(({multiaddr:i})=>i)}}))}};async function pf(r,t,e,n=!1){let i=[];return await Promise.all(t.map(async s=>{if(!ge(s))throw dt.error("multiaddr must be an instance of Multiaddr"),new T("multiaddr must be an instance of Multiaddr",G.ERR_INVALID_PARAMETERS);await e(r,s)&&i.push({multiaddr:s,isCertified:n})})),i}var mr=U("libp2p:peer-store:key-book"),rw="change:pubkey",Za=class{constructor(t,e){this.dispatchEvent=t,this.store=e}async set(t,e){if(t=Ut(t),!(e instanceof Uint8Array))throw mr.error("publicKey must be an instance of Uint8Array to store data"),new T("publicKey must be an instance of PublicKey",G.ERR_INVALID_PARAMETERS);mr.trace("set await write lock");let n=await this.store.lock.writeLock();mr.trace("set got write lock");let i=!1,s;try{try{if(s=await this.store.load(t),s.pubKey!=null&&mt(s.pubKey,e))return}catch(o){if(o.code!==G.ERR_NOT_FOUND)throw o}await this.store.patchOrCreate(t,{pubKey:e}),i=!0}finally{mr.trace("set release write lock"),n()}i&&this.dispatchEvent(new $(rw,{detail:{peerId:t,publicKey:e,oldPublicKey:s?.pubKey}}))}async get(t){t=Ut(t),mr.trace("get await write lock");let e=await this.store.lock.readLock();mr.trace("get got write lock");try{return(await this.store.load(t)).pubKey}catch(n){if(n.code!==G.ERR_NOT_FOUND)throw n}finally{mr("get release write lock"),e()}}async delete(t){t=Ut(t),mr.trace("delete await write lock");let e=await this.store.lock.writeLock();mr.trace("delete got write lock");let n;try{try{n=await this.store.load(t)}catch(i){if(i.code!==G.ERR_NOT_FOUND)throw i}await this.store.patchOrCreate(t,{pubKey:void 0})}catch(i){if(i.code!==G.ERR_NOT_FOUND)throw i}finally{mr.trace("delete release write lock"),e()}this.dispatchEvent(new $(rw,{detail:{peerId:t,publicKey:void 0,oldPublicKey:n?.pubKey}}))}};var Gt=U("libp2p:peer-store:metadata-book"),Ja="change:metadata",ja=class{constructor(t,e){this.dispatchEvent=t,this.store=e}async get(t){t=Ut(t),Gt.trace("get await read lock");let e=await this.store.lock.readLock();Gt.trace("get got read lock");try{return(await this.store.load(t)).metadata}catch(n){if(n.code!==G.ERR_NOT_FOUND)throw n}finally{Gt.trace("get release read lock"),e()}return new Map}async getValue(t,e){t=Ut(t),Gt.trace("getValue await read lock");let n=await this.store.lock.readLock();Gt.trace("getValue got read lock");try{return(await this.store.load(t)).metadata.get(e)}catch(i){if(i.code!==G.ERR_NOT_FOUND)throw i}finally{Gt.trace("getValue release write lock"),n()}}async set(t,e){if(t=Ut(t),!(e instanceof Map))throw Gt.error("valid metadata must be provided to store data"),new T("valid metadata must be provided",G.ERR_INVALID_PARAMETERS);Gt.trace("set await write lock");let n=await this.store.lock.writeLock();Gt.trace("set got write lock");let i;try{try{i=await this.store.load(t)}catch(s){if(s.code!==G.ERR_NOT_FOUND)throw s}await this.store.mergeOrCreate(t,{metadata:e})}finally{Gt.trace("set release write lock"),n()}this.dispatchEvent(new $(Ja,{detail:{peerId:t,metadata:e,oldMetadata:i==null?new Map:i.metadata}}))}async setValue(t,e,n){if(t=Ut(t),typeof e!="string"||!(n instanceof Uint8Array))throw Gt.error("valid key and value must be provided to store data"),new T("valid key and value must be provided",G.ERR_INVALID_PARAMETERS);Gt.trace("setValue await write lock");let i=await this.store.lock.writeLock();Gt.trace("setValue got write lock");let s,o;try{try{s=await this.store.load(t);let a=s.metadata.get(e);if(a!=null&&mt(n,a))return}catch(a){if(a.code!==G.ERR_NOT_FOUND)throw a}o=await this.store.mergeOrCreate(t,{metadata:new Map([[e,n]])})}finally{Gt.trace("setValue release write lock"),i()}this.dispatchEvent(new $(Ja,{detail:{peerId:t,metadata:o.metadata,oldMetadata:s==null?new Map:s.metadata}}))}async delete(t){t=Ut(t),Gt.trace("delete await write lock");let e=await this.store.lock.writeLock();Gt.trace("delete got write lock");let n;try{try{n=await this.store.load(t)}catch(i){if(i.code!==G.ERR_NOT_FOUND)throw i}n!=null&&await this.store.patch(t,{metadata:new Map})}finally{Gt.trace("delete release write lock"),e()}n!=null&&this.dispatchEvent(new $(Ja,{detail:{peerId:t,metadata:new Map,oldMetadata:n.metadata}}))}async deleteValue(t,e){t=Ut(t),Gt.trace("deleteValue await write lock");let n=await this.store.lock.writeLock();Gt.trace("deleteValue got write lock");let i,s;try{s=await this.store.load(t),i=s.metadata,i.delete(e),await this.store.patch(t,{metadata:i})}catch(o){if(o.code!==G.ERR_NOT_FOUND)throw o}finally{Gt.trace("deleteValue release write lock"),n()}i!=null&&this.dispatchEvent(new $(Ja,{detail:{peerId:t,metadata:i,oldMetadata:s==null?new Map:s.metadata}}))}};var Yt=U("libp2p:peer-store:proto-book"),tc="change:protocols",ec=class{constructor(t,e){this.dispatchEvent=t,this.store=e}async get(t){Yt.trace("get wait for read lock");let e=await this.store.lock.readLock();Yt.trace("get got read lock");try{return(await this.store.load(t)).protocols}catch(n){if(n.code!==G.ERR_NOT_FOUND)throw n}finally{Yt.trace("get release read lock"),e()}return[]}async set(t,e){if(t=Ut(t),!Array.isArray(e))throw Yt.error("protocols must be provided to store data"),new T("protocols must be provided",G.ERR_INVALID_PARAMETERS);Yt.trace("set await write lock");let n=await this.store.lock.writeLock();Yt.trace("set got write lock");let i,s;try{try{if(i=await this.store.load(t),new Set([...e]).size===i.protocols.length)return}catch(o){if(o.code!==G.ERR_NOT_FOUND)throw o}s=await this.store.patchOrCreate(t,{protocols:e}),Yt("stored provided protocols for %p",t)}finally{Yt.trace("set release write lock"),n()}this.dispatchEvent(new $(tc,{detail:{peerId:t,protocols:s.protocols,oldProtocols:i==null?[]:i.protocols}}))}async add(t,e){if(t=Ut(t),!Array.isArray(e))throw Yt.error("protocols must be provided to store data"),new T("protocols must be provided",G.ERR_INVALID_PARAMETERS);Yt.trace("add await write lock");let n=await this.store.lock.writeLock();Yt.trace("add got write lock");let i,s;try{try{if(i=await this.store.load(t),new Set([...i.protocols,...e]).size===i.protocols.length)return}catch(o){if(o.code!==G.ERR_NOT_FOUND)throw o}s=await this.store.mergeOrCreate(t,{protocols:e}),Yt("added provided protocols for %p",t)}finally{Yt.trace("add release write lock"),n()}this.dispatchEvent(new $(tc,{detail:{peerId:t,protocols:s.protocols,oldProtocols:i==null?[]:i.protocols}}))}async remove(t,e){if(t=Ut(t),!Array.isArray(e))throw Yt.error("protocols must be provided to store data"),new T("protocols must be provided",G.ERR_INVALID_PARAMETERS);Yt.trace("remove await write lock");let n=await this.store.lock.writeLock();Yt.trace("remove got write lock");let i,s;try{try{i=await this.store.load(t);let o=new Set(i.protocols);for(let a of e)o.delete(a);if(i.protocols.length===o.size)return;e=Array.from(o)}catch(o){if(o.code!==G.ERR_NOT_FOUND)throw o}s=await this.store.patchOrCreate(t,{protocols:e})}finally{Yt.trace("remove release write lock"),n()}this.dispatchEvent(new $(tc,{detail:{peerId:t,protocols:s.protocols,oldProtocols:i==null?[]:i.protocols}}))}async delete(t){t=Ut(t),Yt.trace("delete await write lock");let e=await this.store.lock.writeLock();Yt.trace("delete got write lock");let n;try{try{n=await this.store.load(t)}catch(i){if(i.code!==G.ERR_NOT_FOUND)throw i}await this.store.patchOrCreate(t,{protocols:[]})}finally{Yt.trace("delete release write lock"),e()}n!=null&&this.dispatchEvent(new $(tc,{detail:{peerId:t,protocols:[],oldProtocols:n.protocols}}))}};var Ys;(function(r){let t;r.codec=()=>(t==null&&(t=Tt((e,n,i={})=>{if(i.lengthDelimited!==!1&&n.fork(),e.addresses!=null)for(let s of e.addresses)n.uint32(10),rc.codec().encode(s,n);if(e.protocols!=null)for(let s of e.protocols)n.uint32(18),n.string(s);if(e.metadata!=null)for(let s of e.metadata)n.uint32(26),nc.codec().encode(s,n);e.pubKey!=null&&(n.uint32(34),n.bytes(e.pubKey)),e.peerRecordEnvelope!=null&&(n.uint32(42),n.bytes(e.peerRecordEnvelope)),i.lengthDelimited!==!1&&n.ldelim()},(e,n)=>{let i={addresses:[],protocols:[],metadata:[]},s=n==null?e.len:e.pos+n;for(;e.pos<s;){let o=e.uint32();switch(o>>>3){case 1:i.addresses.push(rc.codec().decode(e,e.uint32()));break;case 2:i.protocols.push(e.string());break;case 3:i.metadata.push(nc.codec().decode(e,e.uint32()));break;case 4:i.pubKey=e.bytes();break;case 5:i.peerRecordEnvelope=e.bytes();break;default:e.skipType(o&7);break}}return i})),t),r.encode=e=>It(e,r.codec()),r.decode=e=>Rt(e,r.codec())})(Ys||(Ys={}));var rc;(function(r){let t;r.codec=()=>(t==null&&(t=Tt((e,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),e.multiaddr!=null&&e.multiaddr.byteLength>0&&(n.uint32(10),n.bytes(e.multiaddr)),e.isCertified!=null&&(n.uint32(16),n.bool(e.isCertified)),i.lengthDelimited!==!1&&n.ldelim()},(e,n)=>{let i={multiaddr:new Uint8Array(0)},s=n==null?e.len:e.pos+n;for(;e.pos<s;){let o=e.uint32();switch(o>>>3){case 1:i.multiaddr=e.bytes();break;case 2:i.isCertified=e.bool();break;default:e.skipType(o&7);break}}return i})),t),r.encode=e=>It(e,r.codec()),r.decode=e=>Rt(e,r.codec())})(rc||(rc={}));var nc;(function(r){let t;r.codec=()=>(t==null&&(t=Tt((e,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),e.key!=null&&e.key!==""&&(n.uint32(10),n.string(e.key)),e.value!=null&&e.value.byteLength>0&&(n.uint32(18),n.bytes(e.value)),i.lengthDelimited!==!1&&n.ldelim()},(e,n)=>{let i={key:"",value:new Uint8Array(0)},s=n==null?e.len:e.pos+n;for(;e.pos<s;){let o=e.uint32();switch(o>>>3){case 1:i.key=e.string();break;case 2:i.value=e.bytes();break;default:e.skipType(o&7);break}}return i})),t),r.encode=e=>It(e,r.codec()),r.decode=e=>Rt(e,r.codec())})(nc||(nc={}));var dw=C(iw(),1);var Qs=class extends Error{constructor(t){super(t),this.name="TimeoutError"}},yf=class extends Error{constructor(t){super(),this.name="AbortError",this.message=t}},sw=r=>globalThis.DOMException===void 0?new yf(r):new DOMException(r),ow=r=>{let t=r.reason===void 0?sw("This operation was aborted."):r.reason;return t instanceof Error?t:sw(t)};function gf(r,t,e,n){let i,s=new Promise((o,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){o(r);return}if(n={customTimers:{setTimeout,clearTimeout},...n},n.signal){let{signal:c}=n;c.aborted&&a(ow(c)),c.addEventListener("abort",()=>{a(ow(c))})}i=n.customTimers.setTimeout.call(void 0,()=>{if(typeof e=="function"){try{o(e())}catch(l){a(l)}return}let c=typeof e=="string"?e:`Promise timed out after ${t} milliseconds`,u=e instanceof Error?e:new Qs(c);typeof r.cancel=="function"&&r.cancel(),a(u)},t),(async()=>{try{o(await r)}catch(c){a(c)}finally{n.customTimers.clearTimeout.call(void 0,i)}})()});return s.clear=()=>{clearTimeout(i),i=void 0},s}function wf(r,t,e){let n=0,i=r.length;for(;i>0;){let s=Math.trunc(i/2),o=n+s;e(r[o],t)<=0?(n=++o,i-=s+1):i=s}return n}var Xn=function(r,t,e,n){if(e==="a"&&!n)throw new TypeError("Private accessor was defined without a getter");if(typeof t=="function"?r!==t||!n:!t.has(r))throw new TypeError("Cannot read private member from an object whose class did not declare it");return e==="m"?n:e==="a"?n.call(r):n?n.value:t.get(r)},Ur,Xs=class{constructor(){Ur.set(this,[])}enqueue(t,e){e={priority:0,...e};let n={priority:e.priority,run:t};if(this.size&&Xn(this,Ur,"f")[this.size-1].priority>=e.priority){Xn(this,Ur,"f").push(n);return}let i=wf(Xn(this,Ur,"f"),n,(s,o)=>o.priority-s.priority);Xn(this,Ur,"f").splice(i,0,n)}dequeue(){let t=Xn(this,Ur,"f").shift();return t?.run}filter(t){return Xn(this,Ur,"f").filter(e=>e.priority===t.priority).map(e=>e.run)}get size(){return Xn(this,Ur,"f").length}};Ur=new WeakMap;var Ct=function(r,t,e,n,i){if(n==="m")throw new TypeError("Private method is not writable");if(n==="a"&&!i)throw new TypeError("Private accessor was defined without a setter");if(typeof t=="function"?r!==t||!i:!t.has(r))throw new TypeError("Cannot write private member to an object whose class did not declare it");return n==="a"?i.call(r,e):i?i.value=e:t.set(r,e),e},k=function(r,t,e,n){if(e==="a"&&!n)throw new TypeError("Private accessor was defined without a getter");if(typeof t=="function"?r!==t||!n:!t.has(r))throw new TypeError("Cannot read private member from an object whose class did not declare it");return e==="m"?n:e==="a"?n.call(r):n?n.value:t.get(r)},Vt,Js,js,dn,lc,to,sc,Xe,Zs,_e,oc,Se,eo,hn,ac,aw,cw,fw,uw,lw,cc,Ef,xf,fc,hw,uc,hc=class extends Error{},$i=class extends dw.default{constructor(t){var e,n,i,s;if(super(),Vt.add(this),Js.set(this,void 0),js.set(this,void 0),dn.set(this,0),lc.set(this,void 0),to.set(this,void 0),sc.set(this,0),Xe.set(this,void 0),Zs.set(this,void 0),_e.set(this,void 0),oc.set(this,void 0),Se.set(this,0),eo.set(this,void 0),hn.set(this,void 0),ac.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:Xs,...t},!(typeof t.intervalCap=="number"&&t.intervalCap>=1))throw new TypeError(`Expected \`intervalCap\` to be a number from 1 and up, got \`${(n=(e=t.intervalCap)===null||e===void 0?void 0:e.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 \`${(s=(i=t.interval)===null||i===void 0?void 0:i.toString())!==null&&s!==void 0?s:""}\` (${typeof t.interval})`);Ct(this,Js,t.carryoverConcurrencyCount,"f"),Ct(this,js,t.intervalCap===Number.POSITIVE_INFINITY||t.interval===0,"f"),Ct(this,lc,t.intervalCap,"f"),Ct(this,to,t.interval,"f"),Ct(this,_e,new t.queueClass,"f"),Ct(this,oc,t.queueClass,"f"),this.concurrency=t.concurrency,this.timeout=t.timeout,Ct(this,ac,t.throwOnTimeout===!0,"f"),Ct(this,hn,t.autoStart===!1,"f")}get concurrency(){return k(this,eo,"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})`);Ct(this,eo,t,"f"),k(this,Vt,"m",fc).call(this)}async add(t,e={}){return e={timeout:this.timeout,throwOnTimeout:k(this,ac,"f"),...e},new Promise((n,i)=>{k(this,_e,"f").enqueue(async()=>{var s,o,a;Ct(this,Se,(o=k(this,Se,"f"),o++,o),"f"),Ct(this,dn,(a=k(this,dn,"f"),a++,a),"f");try{if(!((s=e.signal)===null||s===void 0)&&s.aborted)throw new hc("The task was aborted.");let c=t({signal:e.signal});e.timeout&&(c=gf(Promise.resolve(c),e.timeout)),e.signal&&(c=Promise.race([c,k(this,Vt,"m",hw).call(this,e.signal)]));let u=await c;n(u),this.emit("completed",u)}catch(c){if(c instanceof Qs&&!e.throwOnTimeout){n();return}i(c),this.emit("error",c)}finally{k(this,Vt,"m",fw).call(this)}},e),this.emit("add"),k(this,Vt,"m",cc).call(this)})}async addAll(t,e){return Promise.all(t.map(async n=>this.add(n,e)))}start(){return k(this,hn,"f")?(Ct(this,hn,!1,"f"),k(this,Vt,"m",fc).call(this),this):this}pause(){Ct(this,hn,!0,"f")}clear(){Ct(this,_e,new(k(this,oc,"f")),"f")}async onEmpty(){k(this,_e,"f").size!==0&&await k(this,Vt,"m",uc).call(this,"empty")}async onSizeLessThan(t){k(this,_e,"f").size<t||await k(this,Vt,"m",uc).call(this,"next",()=>k(this,_e,"f").size<t)}async onIdle(){k(this,Se,"f")===0&&k(this,_e,"f").size===0||await k(this,Vt,"m",uc).call(this,"idle")}get size(){return k(this,_e,"f").size}sizeBy(t){return k(this,_e,"f").filter(t).length}get pending(){return k(this,Se,"f")}get isPaused(){return k(this,hn,"f")}};Js=new WeakMap,js=new WeakMap,dn=new WeakMap,lc=new WeakMap,to=new WeakMap,sc=new WeakMap,Xe=new WeakMap,Zs=new WeakMap,_e=new WeakMap,oc=new WeakMap,Se=new WeakMap,eo=new WeakMap,hn=new WeakMap,ac=new WeakMap,Vt=new WeakSet,aw=function(){return k(this,js,"f")||k(this,dn,"f")<k(this,lc,"f")},cw=function(){return k(this,Se,"f")<k(this,eo,"f")},fw=function(){var t;Ct(this,Se,(t=k(this,Se,"f"),t--,t),"f"),k(this,Vt,"m",cc).call(this),this.emit("next")},uw=function(){k(this,Vt,"m",xf).call(this),k(this,Vt,"m",Ef).call(this),Ct(this,Zs,void 0,"f")},lw=function(){let t=Date.now();if(k(this,Xe,"f")===void 0){let e=k(this,sc,"f")-t;if(e<0)Ct(this,dn,k(this,Js,"f")?k(this,Se,"f"):0,"f");else return k(this,Zs,"f")===void 0&&Ct(this,Zs,setTimeout(()=>{k(this,Vt,"m",uw).call(this)},e),"f"),!0}return!1},cc=function(){if(k(this,_e,"f").size===0)return k(this,Xe,"f")&&clearInterval(k(this,Xe,"f")),Ct(this,Xe,void 0,"f"),this.emit("empty"),k(this,Se,"f")===0&&this.emit("idle"),!1;if(!k(this,hn,"f")){let t=!k(this,Vt,"a",lw);if(k(this,Vt,"a",aw)&&k(this,Vt,"a",cw)){let e=k(this,_e,"f").dequeue();return e?(this.emit("active"),e(),t&&k(this,Vt,"m",Ef).call(this),!0):!1}}return!1},Ef=function(){k(this,js,"f")||k(this,Xe,"f")!==void 0||(Ct(this,Xe,setInterval(()=>{k(this,Vt,"m",xf).call(this)},k(this,to,"f")),"f"),Ct(this,sc,Date.now()+k(this,to,"f"),"f"))},xf=function(){k(this,dn,"f")===0&&k(this,Se,"f")===0&&k(this,Xe,"f")&&(clearInterval(k(this,Xe,"f")),Ct(this,Xe,void 0,"f")),Ct(this,dn,k(this,Js,"f")?k(this,Se,"f"):0,"f"),k(this,Vt,"m",fc).call(this)},fc=function(){for(;k(this,Vt,"m",cc).call(this););},hw=async function(t){return new Promise((e,n)=>{t.addEventListener("abort",()=>{n(new hc("The task was aborted."))},{once:!0})})},uc=async function(t,e){return new Promise(n=>{let i=()=>{e&&!e()||(this.off(t,i),n())};this.on(t,i)})};var vf=class extends Error{constructor(t){super(t),this.name="TimeoutError"}},bf=class extends Error{constructor(t){super(),this.name="AbortError",this.message=t}},pw=r=>globalThis.DOMException===void 0?new bf(r):new DOMException(r),mw=r=>{let t=r.reason===void 0?pw("This operation was aborted."):r.reason;return t instanceof Error?t:pw(t)};function _f(r,t){let{milliseconds:e,fallback:n,message:i,customTimers:s={setTimeout,clearTimeout}}=t,o,a=new Promise((c,u)=>{if(typeof e!="number"||Math.sign(e)!==1)throw new TypeError(`Expected \`milliseconds\` to be a positive number, got \`${e}\``);if(e===Number.POSITIVE_INFINITY){c(r);return}if(t.signal){let{signal:f}=t;f.aborted&&u(mw(f)),f.addEventListener("abort",()=>{u(mw(f))})}let l=new vf;o=s.setTimeout.call(void 0,()=>{if(n){try{c(n())}catch(f){u(f)}return}typeof r.cancel=="function"&&r.cancel(),i===!1?c():i instanceof Error?u(i):(l.message=i??`Promise timed out after ${e} milliseconds`,u(l))},e),(async()=>{try{c(await r)}catch(f){u(f)}finally{s.clearTimeout.call(void 0,o)}})()});return a.clear=()=>{s.clearTimeout.call(void 0,o),o=void 0},a}var Sf="lock:worker:request-read",Af="lock:worker:release-read",Rf="lock:master:grant-read",If="lock:worker:request-write",Tf="lock:worker:release-write",Cf="lock:master:grant-write";var pn={},zi=r=>{r.addEventListener("message",t=>{zi.dispatchEvent("message",r,t)}),r.port!=null&&r.port.addEventListener("message",t=>{zi.dispatchEvent("message",r,t)})};zi.addEventListener=(r,t)=>{pn[r]==null&&(pn[r]=[]),pn[r].push(t)};zi.removeEventListener=(r,t)=>{pn[r]!=null&&(pn[r]=pn[r].filter(e=>e===t))};zi.dispatchEvent=function(r,t,e){pn[r]!=null&&pn[r].forEach(n=>n(t,e))};var Bf=zi;var yw=(r,t,e,n,i)=>(s,o)=>{if(o.data.type!==e)return;let a={type:o.data.type,name:o.data.name,identifier:o.data.identifier};r.dispatchEvent(new MessageEvent(t,{data:{name:a.name,handler:async()=>(s.postMessage({type:i,name:a.name,identifier:a.identifier}),await new Promise(c=>{let u=l=>{if(l==null||l.data==null)return;let f={type:l.data.type,name:l.data.name,identifier:l.data.identifier};f.type===n&&f.identifier===a.identifier&&(s.removeEventListener("message",u),c())};s.addEventListener("message",u)}))}}))},gw=(r,t,e,n)=>async()=>{let i=Eo();return globalThis.postMessage({type:t,identifier:i,name:r}),await new Promise(s=>{let o=a=>{if(a==null||a.data==null)return;let c={type:a.data.type,identifier:a.data.identifier};c.type===e&&c.identifier===i&&(globalThis.removeEventListener("message",o),s(()=>{globalThis.postMessage({type:n,identifier:i,name:r})}))};globalThis.addEventListener("message",o)})},XS={singleProcess:!1},ww=r=>{if(r=Object.assign({},XS,r),!!globalThis.document||r.singleProcess){let e=new EventTarget;return Bf.addEventListener("message",yw(e,"requestReadLock",Sf,Af,Rf)),Bf.addEventListener("message",yw(e,"requestWriteLock",If,Tf,Cf)),e}return{isWorker:!0,readLock:e=>gw(e,Sf,Rf,Af),writeLock:e=>gw(e,If,Cf,Tf)}};var Zn={},mn;async function Df(r,t){let e,n=new Promise(i=>{e=i});return r.add(async()=>await _f((async()=>await new Promise(i=>{e(()=>{i()})}))(),{milliseconds:t.timeout})),await n}var ZS=(r,t)=>{if(mn.isWorker===!0)return{readLock:mn.readLock(r,t),writeLock:mn.writeLock(r,t)};let e=new $i({concurrency:1}),n;return{async readLock(){if(n!=null)return await Df(n,t);n=new $i({concurrency:t.concurrency,autoStart:!1});let i=n,s=Df(n,t);return e.add(async()=>(i.start(),await i.onIdle().then(()=>{n===i&&(n=null)}))),await s},async writeLock(){return n=null,await Df(e,t)}}},JS={name:"lock",concurrency:1/0,timeout:846e5,singleProcess:!1};function Lf(r){let t=Object.assign({},JS,r);return mn==null&&(mn=ww(t),mn.isWorker!==!0&&(mn.addEventListener("requestReadLock",e=>{Zn[e.data.name]!=null&&Zn[e.data.name].readLock().then(async n=>await e.data.handler().finally(()=>n()))}),mn.addEventListener("requestWriteLock",async e=>{Zn[e.data.name]!=null&&Zn[e.data.name].writeLock().then(async n=>await e.data.handler().finally(()=>n()))}))),Zn[t.name]==null&&(Zn[t.name]=ZS(t.name,t)),Zn[t.name]}var Ew=U("libp2p:peer-store:store"),xw="/peers/",dc=class{constructor(t){this.components=t,this.lock=Lf({name:"peer-store",singleProcess:!0})}_peerIdToDatastoreKey(t){if(t.type==null)throw Ew.error("peerId must be an instance of peer-id to store data"),new T("peerId must be an instance of peer-id",G.ERR_INVALID_PARAMETERS);let e=t.toCID().toString();return new Pt(`${xw}${e}`)}async has(t){return await this.components.datastore.has(this._peerIdToDatastoreKey(t))}async delete(t){await this.components.datastore.delete(this._peerIdToDatastoreKey(t))}async load(t){let e=await this.components.datastore.get(this._peerIdToDatastoreKey(t)),n=Ys.decode(e),i=new Map;for(let s of n.metadata)i.set(s.key,s.value);return{...n,id:t,addresses:n.addresses.map(({multiaddr:s,isCertified:o})=>({multiaddr:Lt(s),isCertified:o??!1})),metadata:i,pubKey:n.pubKey??void 0,peerRecordEnvelope:n.peerRecordEnvelope??void 0}}async save(t){if(t.pubKey!=null&&t.id.publicKey!=null&&!mt(t.pubKey,t.id.publicKey))throw Ew.error("peer publicKey bytes do not match peer id publicKey bytes"),new T("publicKey bytes do not match peer id publicKey bytes",G.ERR_INVALID_PARAMETERS);let e=new Set,n=t.addresses.filter(o=>e.has(o.multiaddr.toString())?!1:(e.add(o.multiaddr.toString()),!0)).sort((o,a)=>o.multiaddr.toString().localeCompare(a.multiaddr.toString())).map(({multiaddr:o,isCertified:a})=>({multiaddr:o.bytes,isCertified:a})),i=[];[...t.metadata.keys()].sort().forEach(o=>{let a=t.metadata.get(o);a!=null&&i.push({key:o,value:a})});let s=Ys.encode({addresses:n,protocols:t.protocols.sort(),pubKey:t.pubKey,metadata:i,peerRecordEnvelope:t.peerRecordEnvelope});return await this.components.datastore.put(this._peerIdToDatastoreKey(t.id),s.subarray()),await this.load(t.id)}async patch(t,e){let n=await this.load(t);return await this._patch(t,e,n)}async patchOrCreate(t,e){let n;try{n=await this.load(t)}catch(i){if(i.code!==G.ERR_NOT_FOUND)throw i;n={id:t,addresses:[],protocols:[],metadata:new Map}}return await this._patch(t,e,n)}async _patch(t,e,n){return await this.save({...n,...e,id:t})}async merge(t,e){let n=await this.load(t);return await this._merge(t,e,n)}async mergeOrCreate(t,e){let n;try{n=await this.load(t)}catch(i){if(i.code!==G.ERR_NOT_FOUND)throw i;n={id:t,addresses:[],protocols:[],metadata:new Map}}return await this._merge(t,e,n)}async _merge(t,e,n){let i=new Map;return n.addresses.forEach(s=>{i.set(s.multiaddr.toString(),s.isCertified)}),(e.addresses??[]).forEach(s=>{let o=s.multiaddr.toString(),c=!!i.get(o)||s.isCertified;i.set(o,c)}),await this.save({id:t,addresses:Array.from(i.entries()).map(([s,o])=>({multiaddr:Lt(s),isCertified:o})),protocols:Array.from(new Set([...n.protocols??[],...e.protocols??[]])),metadata:new Map([...n.metadata?.entries()??[],...e.metadata?.entries()??[]]),pubKey:e.pubKey??n?.pubKey,peerRecordEnvelope:e.peerRecordEnvelope??n?.peerRecordEnvelope})}async*all(){for await(let t of this.components.datastore.queryKeys({prefix:xw})){let e=t.toString().split("/")[2],n=ye.decode(e);yield this.load(pi(n))}}};var Fr;(function(r){let t;r.codec=()=>(t==null&&(t=Tt((e,n,i={})=>{if(i.lengthDelimited!==!1&&n.fork(),e.tags!=null)for(let s of e.tags)n.uint32(10),pc.codec().encode(s,n);i.lengthDelimited!==!1&&n.ldelim()},(e,n)=>{let i={tags:[]},s=n==null?e.len:e.pos+n;for(;e.pos<s;){let o=e.uint32();switch(o>>>3){case 1:i.tags.push(pc.codec().decode(e,e.uint32()));break;default:e.skipType(o&7);break}}return i})),t),r.encode=e=>It(e,r.codec()),r.decode=e=>Rt(e,r.codec())})(Fr||(Fr={}));var pc;(function(r){let t;r.codec=()=>(t==null&&(t=Tt((e,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),e.name!=null&&e.name!==""&&(n.uint32(10),n.string(e.name)),e.value!=null&&(n.uint32(16),n.uint32(e.value)),e.expiry!=null&&(n.uint32(24),n.uint64(e.expiry)),i.lengthDelimited!==!1&&n.ldelim()},(e,n)=>{let i={name:""},s=n==null?e.len:e.pos+n;for(;e.pos<s;){let o=e.uint32();switch(o>>>3){case 1:i.name=e.string();break;case 2:i.value=e.uint32();break;case 3:i.expiry=e.uint64();break;default:e.skipType(o&7);break}}return i})),t),r.encode=e=>It(e,r.codec()),r.decode=e=>Rt(e,r.codec())})(pc||(pc={}));var Ne=U("libp2p:peer-store"),mc=class extends Dt{constructor(t,e={}){super(),this.components=t,this.store=new dc(t),this.addressBook=new Xa(this.dispatchEvent.bind(this),this.store,e.addressFilter),this.keyBook=new Za(this.dispatchEvent.bind(this),this.store),this.metadataBook=new ja(this.dispatchEvent.bind(this),this.store),this.protoBook=new ec(this.dispatchEvent.bind(this),this.store)}async forEach(t){Ne.trace("getPeers await read lock");let e=await this.store.lock.readLock();Ne.trace("getPeers got read lock");try{for await(let n of this.store.all())n.id.equals(this.components.peerId)||t(n)}finally{Ne.trace("getPeers release read lock"),e()}}async all(){let t=[];return await this.forEach(e=>{t.push(e)}),t}async delete(t){Ne.trace("delete await write lock");let e=await this.store.lock.writeLock();Ne.trace("delete got write lock");try{await this.store.delete(t)}finally{Ne.trace("delete release write lock"),e()}}async get(t){Ne.trace("get await read lock");let e=await this.store.lock.readLock();Ne.trace("get got read lock");try{return await this.store.load(t)}finally{Ne.trace("get release read lock"),e()}}async has(t){Ne.trace("has await read lock");let e=await this.store.lock.readLock();Ne.trace("has got read lock");try{return await this.store.has(t)}finally{Ne.trace("has release read lock"),e()}}async tagPeer(t,e,n={}){let i=n.value??0,s=Math.round(i),o=n.ttl??void 0;if(s!==i||s<0||s>100)throw new T("Tag value must be between 0-100","ERR_TAG_VALUE_OUT_OF_BOUNDS");let a=await this.metadataBook.getValue(t,"tags"),c=[];a!=null&&(c=Fr.decode(a).tags),c=c.filter(u=>u.name!==e),c.push({name:e,value:s,expiry:o==null?void 0:BigInt(Date.now()+o)}),await this.metadataBook.setValue(t,"tags",Fr.encode({tags:c}).subarray())}async unTagPeer(t,e){let n=await this.metadataBook.getValue(t,"tags"),i=[];n!=null&&(i=Fr.decode(n).tags),i=i.filter(s=>s.name!==e),await this.metadataBook.setValue(t,"tags",Fr.encode({tags:i}).subarray())}async getTags(t){let e=await this.metadataBook.getValue(t,"tags"),n=[];e!=null&&(n=Fr.decode(e).tags);let i=BigInt(Date.now()),s=n.filter(o=>o.expiry==null||o.expiry>i);return s.length!==n.length&&await this.metadataBook.setValue(t,"tags",Fr.encode({tags:s}).subarray()),s.map(o=>({name:o.name,value:o.value??0}))}};var vw=C(lt(),1),yc=class{constructor(t){this.dht=t}async provide(t){await Me(this.dht.provide(t))}async*findProviders(t,e={}){for await(let n of this.dht.findProviders(t,e))n.name==="PROVIDER"&&(yield*n.providers)}async put(t,e,n){await Me(this.dht.put(t,e,n))}async get(t,e){for await(let n of this.dht.get(t,e))if(n.name==="VALUE")return n.value;throw(0,vw.default)(new Error("Not found"),"ERR_NOT_FOUND")}};var Ae=C(lt(),1);var gc=class{constructor(t={}){this._started=!1,this._peerId=t.peerId,this._addressManager=t.addressManager,this._peerStore=t.peerStore,this._upgrader=t.upgrader,this._metrics=t.metrics,this._registrar=t.registrar,this._connectionManager=t.connectionManager,this._transportManager=t.transportManager,this._connectionGater=t.connectionGater,this._contentRouting=t.contentRouting,this._peerRouting=t.peerRouting,this._datastore=t.datastore,this._connectionProtector=t.connectionProtector,this._dht=t.dht,this._pubsub=t.pubsub,this._dialer=t.dialer}isStarted(){return this._started}async beforeStart(){await Promise.all(Object.values(this).filter(t=>xr(t)).map(async t=>{t.beforeStart!=null&&await t.beforeStart()}))}async start(){await Promise.all(Object.values(this).filter(t=>xr(t)).map(async t=>{await t.start()})),this._started=!0}async afterStart(){await Promise.all(Object.values(this).filter(t=>xr(t)).map(async t=>{t.afterStart!=null&&await t.afterStart()}))}async beforeStop(){await Promise.all(Object.values(this).filter(t=>xr(t)).map(async t=>{t.beforeStop!=null&&await t.beforeStop()}))}async stop(){await Promise.all(Object.values(this).filter(t=>xr(t)).map(async t=>{await t.stop()})),this._started=!1}async afterStop(){await Promise.all(Object.values(this).filter(t=>xr(t)).map(async t=>{t.afterStop!=null&&await t.afterStop()}))}get peerId(){if(this._peerId==null)throw(0,Ae.default)(new Error("peerId not set"),"ERR_SERVICE_MISSING");return this._peerId}set peerId(t){this._peerId=t}get addressManager(){if(this._addressManager==null)throw(0,Ae.default)(new Error("addressManager not set"),"ERR_SERVICE_MISSING");return this._addressManager}set addressManager(t){this._addressManager=t}get peerStore(){if(this._peerStore==null)throw(0,Ae.default)(new Error("peerStore not set"),"ERR_SERVICE_MISSING");return this._peerStore}set peerStore(t){this._peerStore=t}get upgrader(){if(this._upgrader==null)throw(0,Ae.default)(new Error("upgrader not set"),"ERR_SERVICE_MISSING");return this._upgrader}set upgrader(t){this._upgrader=t}get registrar(){if(this._registrar==null)throw(0,Ae.default)(new Error("registrar not set"),"ERR_SERVICE_MISSING");return this._registrar}set registrar(t){this._registrar=t}get connectionManager(){if(this._connectionManager==null)throw(0,Ae.default)(new Error("connectionManager not set"),"ERR_SERVICE_MISSING");return this._connectionManager}set connectionManager(t){this._connectionManager=t}get transportManager(){if(this._transportManager==null)throw(0,Ae.default)(new Error("transportManager not set"),"ERR_SERVICE_MISSING");return this._transportManager}set transportManager(t){this._transportManager=t}get connectionGater(){if(this._connectionGater==null)throw(0,Ae.default)(new Error("connectionGater not set"),"ERR_SERVICE_MISSING");return this._connectionGater}set connectionGater(t){this._connectionGater=t}get contentRouting(){if(this._contentRouting==null)throw(0,Ae.default)(new Error("contentRouting not set"),"ERR_SERVICE_MISSING");return this._contentRouting}set contentRouting(t){this._contentRouting=t}get peerRouting(){if(this._peerRouting==null)throw(0,Ae.default)(new Error("peerRouting not set"),"ERR_SERVICE_MISSING");return this._peerRouting}set peerRouting(t){this._peerRouting=t}get datastore(){if(this._datastore==null)throw(0,Ae.default)(new Error("datastore not set"),"ERR_SERVICE_MISSING");return this._datastore}set datastore(t){this._datastore=t}get connectionProtector(){return this._connectionProtector}set connectionProtector(t){this._connectionProtector=t}get dialer(){if(this._dialer==null)throw(0,Ae.default)(new Error("dialer not set"),"ERR_SERVICE_MISSING");return this._dialer}set dialer(t){this._dialer=t}get metrics(){return this._metrics}set metrics(t){this._metrics=t}get dht(){return this._dht}set dht(t){this._dht=t}get pubsub(){return this._pubsub}set pubsub(t){this._pubsub=t}};var Nf=C(Bc(),1),kf=C(Sw(),1);var Aw=globalThis.fetch,Rw=globalThis.Headers,TN=globalThis.Request,CN=globalThis.Response;function wc(r,t,e){return`${r}?name=${t}&type=${e}`}async function Iw(r,t){return await(await Aw(r,{headers:new Rw({accept:"application/dns-json"}),signal:t})).json()}function Jn(r,t){return`${t}_${r}`}var Pf=Object.assign((0,Nf.default)("dns-over-http-resolver"),{error:(0,Nf.default)("dns-over-http-resolver:error")}),Of=class{constructor(t={}){this._cache=new kf.default({max:t?.maxCache??100}),this._TXTcache=new kf.default({max:t?.maxCache??100}),this._servers=["https://cloudflare-dns.com/dns-query","https://dns.google/resolve"],this._request=t.request??Iw,this._abortControllers=[]}cancel(){this._abortControllers.forEach(t=>t.abort())}getServers(){return this._servers}_getShuffledServers(){let t=[...this._servers];for(let e=t.length-1;e>0;e--){let n=Math.floor(Math.random()*e),i=t[e];t[e]=t[n],t[n]=i}return t}setServers(t){this._servers=t}async resolve(t,e="A"){switch(e){case"A":return await this.resolve4(t);case"AAAA":return await this.resolve6(t);case"TXT":return await this.resolveTxt(t);default:throw new Error(`${e} is not supported`)}}async resolve4(t){let e="A",n=this._cache.get(Jn(t,e));if(n!=null)return n;let i=!1;for(let s of this._getShuffledServers()){let o=new AbortController;this._abortControllers.push(o);try{let a=await this._request(wc(s,t,e),o.signal),c=a.Answer.map(l=>l.data),u=Math.min(...a.Answer.map(l=>l.TTL));return this._cache.set(Jn(t,e),c,{ttl:u}),c}catch{o.signal.aborted&&(i=!0),Pf.error(`${s} could not resolve ${t} record ${e}`)}finally{this._abortControllers=this._abortControllers.filter(a=>a!==o)}}throw i?Object.assign(new Error("queryA ECANCELLED"),{code:"ECANCELLED"}):new Error(`Could not resolve ${t} record ${e}`)}async resolve6(t){let e="AAAA",n=this._cache.get(Jn(t,e));if(n!=null)return n;let i=!1;for(let s of this._getShuffledServers()){let o=new AbortController;this._abortControllers.push(o);try{let a=await this._request(wc(s,t,e),o.signal),c=a.Answer.map(l=>l.data),u=Math.min(...a.Answer.map(l=>l.TTL));return this._cache.set(Jn(t,e),c,{ttl:u}),c}catch{o.signal.aborted&&(i=!0),Pf.error(`${s} could not resolve ${t} record ${e}`)}finally{this._abortControllers=this._abortControllers.filter(a=>a!==o)}}throw i?Object.assign(new Error("queryAaaa ECANCELLED"),{code:"ECANCELLED"}):new Error(`Could not resolve ${t} record ${e}`)}async resolveTxt(t){let e="TXT",n=this._TXTcache.get(Jn(t,e));if(n!=null)return n;let i=!1;for(let s of this._getShuffledServers()){let o=new AbortController;this._abortControllers.push(o);try{let a=await this._request(wc(s,t,e),o.signal),c=a.Answer.map(l=>[l.data.replace(/['"]+/g,"")]),u=Math.min(...a.Answer.map(l=>l.TTL));return this._TXTcache.set(Jn(t,e),c,{ttl:u}),c}catch{o.signal.aborted&&(i=!0),Pf.error(`${s} could not resolve ${t} record ${e}`)}finally{this._abortControllers=this._abortControllers.filter(a=>a!==o)}}throw i?Object.assign(new Error("queryTxt ECANCELLED"),{code:"ECANCELLED"}):new Error(`Could not resolve ${t} record ${e}`)}clearCache(){this._cache.clear(),this._TXTcache.clear()}},Tw=Of;var Cw=Tw;var{code:nA}=ct("dnsaddr");async function Bw(r,t={}){let e=new Cw;t.signal!=null&&t.signal.addEventListener("abort",()=>{e.cancel()});let n=r.getPeerId(),[,i]=r.stringTuples().find(([a])=>a===nA)??[];if(i==null)throw new Error("No hostname found in multiaddr");let o=(await e.resolveTxt(`_dnsaddr.${i}`)).flat().map(a=>a.split("=")[1]).filter(Boolean);return n!=null&&(o=o.filter(a=>a.includes(n))),o}function Mf(r){let{address:t}=r.nodeAddress();return!!Ha(t)}function Ec(r,t){let e=Mf(r.multiaddr),n=Mf(t.multiaddr);return e&&!n?1:!e&&n||r.isCertified&&!t.isCertified?-1:!r.isCertified&&t.isCertified?1:0}var xc=C(lt(),1);var oA={addresses:{listen:[],announce:[],noAnnounce:[],announceFilter:r=>r},connectionManager:{maxConnections:300,minConnections:50,autoDial:!0,autoDialInterval:1e4,maxParallelDials:100,maxDialsPerPeer:4,dialTimeout:3e4,inboundUpgradeTimeout:3e4,resolvers:{dnsaddr:Bw},addressSorter:Ec},connectionGater:{},transportManager:{faultTolerance:ln.FATAL_ALL},peerRouting:{refreshManager:{enabled:!0,interval:6e5,bootDelay:1e4}},nat:{enabled:!0,ttl:7200,keepAlive:!0},identify:{protocolPrefix:"ipfs",host:{agentVersion:uf},timeout:6e4,maxInboundStreams:1,maxOutboundStreams:1,maxPushIncomingStreams:1,maxPushOutgoingStreams:1},ping:{protocolPrefix:"ipfs",maxInboundStreams:2,maxOutboundStreams:1,timeout:1e4},fetch:{protocolPrefix:"libp2p",maxInboundStreams:1,maxOutboundStreams:1,timeout:1e4}};function Dw(r){let t=Ie(oA,r);if(t.transports==null||t.transports.length<1)throw(0,xc.default)(new Error(Y.ERR_TRANSPORTS_REQUIRED),_.ERR_TRANSPORTS_REQUIRED);if(t.connectionEncryption==null||t.connectionEncryption.length===0)throw(0,xc.default)(new Error(Y.CONN_ENCRYPTION_REQUIRED),_.CONN_ENCRYPTION_REQUIRED);if(t.connectionProtector===null&&globalThis.process?.env?.LIBP2P_FORCE_PNET!=null)throw(0,xc.default)(new Error(Y.ERR_PROTECTOR_REQUIRED),_.ERR_PROTECTOR_REQUIRED);return t.identify.host.agentVersion===uf&&(Kg||Ug?t.identify.host.agentVersion+=` UserAgent=${globalThis.process.version}`:(Hs||Vg||Fg||qg)&&(t.identify.host.agentVersion+=` UserAgent=${globalThis.navigator.userAgent}`)),t}var Vf;(function(r){let t;r.codec=()=>(t==null&&(t=Tt((e,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),e.id!=null&&(n.uint32(10),n.bytes(e.id)),e.pubKey!=null&&(n.uint32(18),n.bytes(e.pubKey)),e.privKey!=null&&(n.uint32(26),n.bytes(e.privKey)),i.lengthDelimited!==!1&&n.ldelim()},(e,n)=>{let i={},s=n==null?e.len:e.pos+n;for(;e.pos<s;){let o=e.uint32();switch(o>>>3){case 1:i.id=e.bytes();break;case 2:i.pubKey=e.bytes();break;case 3:i.privKey=e.bytes();break;default:e.skipType(o&7);break}}return i})),t),r.encode=e=>It(e,r.codec()),r.decode=e=>Rt(e,r.codec())})(Vf||(Vf={}));var Lw=async()=>{let r=await Ta("Ed25519"),t=await aA(r);if(t.type==="Ed25519")return t;throw new Error(`Generated unexpected PeerId type "${t.type}"`)};async function aA(r){return await Gr(Gy(r.public),Yy(r))}var no=C(lt(),1);var ke=C(lt(),1);var Pw=Symbol.for("@libp2p/peer-discovery");var vc=class extends Dt{get[Pw](){return!0}get[Symbol.toStringTag](){return"@libp2p/dummy-dht"}get wan(){throw(0,ke.default)(new Error(Y.DHT_DISABLED),_.DHT_DISABLED)}get lan(){throw(0,ke.default)(new Error(Y.DHT_DISABLED),_.DHT_DISABLED)}get(){throw(0,ke.default)(new Error(Y.DHT_DISABLED),_.DHT_DISABLED)}findProviders(){throw(0,ke.default)(new Error(Y.DHT_DISABLED),_.DHT_DISABLED)}findPeer(){throw(0,ke.default)(new Error(Y.DHT_DISABLED),_.DHT_DISABLED)}getClosestPeers(){throw(0,ke.default)(new Error(Y.DHT_DISABLED),_.DHT_DISABLED)}provide(){throw(0,ke.default)(new Error(Y.DHT_DISABLED),_.DHT_DISABLED)}put(){throw(0,ke.default)(new Error(Y.DHT_DISABLED),_.DHT_DISABLED)}async getMode(){throw(0,ke.default)(new Error(Y.DHT_DISABLED),_.DHT_DISABLED)}async setMode(){throw(0,ke.default)(new Error(Y.DHT_DISABLED),_.DHT_DISABLED)}async refreshRoutingTable(){throw(0,ke.default)(new Error(Y.DHT_DISABLED),_.DHT_DISABLED)}};var Kr=C(lt(),1);var bc=class extends Dt{constructor(){super(...arguments),this.topicValidators=new Map}isStarted(){return!1}start(){}stop(){}get globalSignaturePolicy(){throw(0,Kr.default)(new Error(Y.PUBSUB_DISABLED),_.ERR_PUBSUB_DISABLED)}get multicodecs(){throw(0,Kr.default)(new Error(Y.PUBSUB_DISABLED),_.ERR_PUBSUB_DISABLED)}getPeers(){throw(0,Kr.default)(new Error(Y.PUBSUB_DISABLED),_.ERR_PUBSUB_DISABLED)}getTopics(){throw(0,Kr.default)(new Error(Y.PUBSUB_DISABLED),_.ERR_PUBSUB_DISABLED)}subscribe(){throw(0,Kr.default)(new Error(Y.PUBSUB_DISABLED),_.ERR_PUBSUB_DISABLED)}unsubscribe(){throw(0,Kr.default)(new Error(Y.PUBSUB_DISABLED),_.ERR_PUBSUB_DISABLED)}getSubscribers(){throw(0,Kr.default)(new Error(Y.PUBSUB_DISABLED),_.ERR_PUBSUB_DISABLED)}async publish(){throw(0,Kr.default)(new Error(Y.PUBSUB_DISABLED),_.ERR_PUBSUB_DISABLED)}};var Hi=C(lt(),1);var Xw=C(zr(),1),Hf=C($f(),1),Zw=C(Ar(),1);var ro=C(lt(),1),Yw=C($f(),1),Ww=C(Hw(),1),zf=C(Ar(),1);var Gw=U("libp2p:dialer:dial-request"),_c=class{constructor(t){let{addrs:e,dialAction:n,dialer:i}=t;this.addrs=e,this.dialer=i,this.dialAction=n}async run(t={}){let e=this.dialer.getTokens(this.addrs.length);if(e.length<1)throw(0,ro.default)(new Error("No dial tokens available"),_.ERR_NO_DIAL_TOKENS);let n=new Ww.default;for(let a of e)n.push(a).catch(c=>{Gw.error(c)});let i=this.addrs.map(()=>{let a=new AbortController;try{(0,zf.setMaxListeners)?.(1/0,a.signal)}catch{}return a});if(t.signal!=null)try{(0,zf.setMaxListeners)?.(1/0,t.signal)}catch{}let s=0,o=!1;try{return await Promise.any(this.addrs.map(async(a,c)=>{let u=await n.shift();if(o)throw this.dialer.releaseToken(e.splice(e.indexOf(u),1)[0]),(0,ro.default)(new Error("dialAction already succeeded"),_.ERR_ALREADY_SUCCEEDED);let l=i[c];if(l==null)throw(0,ro.default)(new Error("dialAction did not come with an AbortController"),_.ERR_INVALID_PARAMETERS);let f;try{let d=l.signal;f=await this.dialAction(a,{...t,signal:t.signal!=null?(0,Yw.anySignal)([d,t.signal]):d}),i[c]=void 0}finally{s++,this.addrs.length-s>=e.length?n.push(u).catch(d=>{Gw.error(d)}):this.dialer.releaseToken(e.splice(e.indexOf(u),1)[0])}if(f==null)throw(0,ro.default)(new Error("dialAction led to empty object"),_.ERR_TRANSPORT_DIAL_FAILED);return o=!0,f}))}catch(a){throw this.addrs.length===1&&a.name==="AggregateError"?a.errors[0]:a}finally{i.forEach(a=>{a!==void 0&&a.abort()}),e.forEach(a=>{this.dialer.releaseToken(a)})}}};var yr=U("libp2p:dialer"),Sc=class{constructor(t,e={}){this.started=!1,this.addressSorter=e.addressSorter??Ec,this.maxAddrsToDial=e.maxAddrsToDial??25,this.timeout=e.dialTimeout??3e4,this.maxDialsPerPeer=e.maxDialsPerPeer??4,this.tokens=[...new Array(e.maxParallelDials??100)].map((n,i)=>i),this.components=t,this.pendingDials=Ls({name:"libp2p_dialler_pending_dials",metrics:t.metrics}),this.pendingDialTargets=Ls({name:"libp2p_dialler_pending_dial_targets",metrics:t.metrics});for(let[n,i]of Object.entries(e.resolvers??{}))hu.set(n,i)}isStarted(){return this.started}async start(){this.started=!0}async stop(){this.started=!1;for(let t of this.pendingDials.values())try{t.controller.abort()}catch(e){yr.error(e)}this.pendingDials.clear();for(let t of this.pendingDialTargets.values())t.abort();this.pendingDialTargets.clear()}async dial(t,e={}){let{peerId:n,multiaddr:i}=Fo(t);if(n!=null){if(this.components.peerId.equals(n))throw(0,Hi.default)(new Error("Tried to dial self"),_.ERR_DIALED_SELF);if(i!=null&&(yr("storing multiaddrs %p",n,i),await this.components.peerStore.addressBook.add(n,[i])),await this.components.connectionGater.denyDialPeer?.(n)===!0)throw(0,Hi.default)(new Error("The dial request is blocked by gater.allowDialPeer"),_.ERR_PEER_DIAL_INTERCEPTED)}yr("creating dial target for %p",n);let s=new AbortController,o=Qw();this.pendingDialTargets.set(o,s);let a=s.signal;e.signal!=null&&(a=(0,Hf.anySignal)([a,e.signal]));let c;try{c=await this._createDialTarget({peerId:n,multiaddr:i},{...e,signal:a})}finally{this.pendingDialTargets.delete(o)}if(c.addrs.length===0)throw(0,Hi.default)(new Error("The dial request has no valid addresses"),_.ERR_NO_VALID_ADDRESSES);let u=this.pendingDials.get(c.id)??this._createPendingDial(c,e);try{let l=await u.promise;return yr("dial succeeded to %s",c.id),l}catch(l){throw yr("dial failed to %s",c.id,l),u.controller.signal.aborted&&(l.code=_.ERR_TIMEOUT),yr.error(l),l}finally{u.destroy()}}getPendingDialTargets(){return this.pendingDialTargets}hasPendingDial(t){return ge(t)?this.pendingDials.has(t.getPeerId()??""):this.pendingDials.has(t.toString())}async _createDialTarget(t,e){let n=[];if(ge(t.multiaddr)&&n.push(t.multiaddr),!ge(t.multiaddr)&&Sn(t.peerId)&&n.push(...await this._loadAddresses(t.peerId)),n=(await Promise.all(n.map(async s=>await this._resolve(s,e)))).flat().filter(s=>!!this.components.transportManager.transportForMultiaddr(s)),n=[...new Set(n.map(s=>s.toString()))].map(s=>Lt(s)),n.length>this.maxAddrsToDial)throw(0,Hi.default)(new Error("dial with more addresses than allowed"),_.ERR_TOO_MANY_ADDRESSES);let i=Sn(t.peerId)?t.peerId:void 0;if(i!=null){let s=`/p2p/${i.toString()}`;n=n.map(o=>{let a=o.getPeerId();return a==null||!i.equals(a)?o.encapsulate(s):o})}return{id:i==null?Qw():i.toString(),addrs:n}}async _loadAddresses(t){let e=await this.components.peerStore.addressBook.get(t);return(await Promise.all(e.map(async n=>await this.components.connectionGater.denyDialMultiaddr?.(t,n.multiaddr)===!0?!1:n))).filter(lA).sort(this.addressSorter).map(n=>n.multiaddr)}_createPendingDial(t,e={}){let n=async(u,l={})=>{if(l.signal?.aborted===!0)throw(0,Hi.default)(new Error("already aborted"),_.ERR_ALREADY_ABORTED);return await this.components.transportManager.dial(u,l).catch(f=>{throw yr.error("dial to %s failed",u,f),f})},i=new _c({addrs:t.addrs,dialAction:n,dialer:this}),s=new Xw.TimeoutController(this.timeout),o=[s.signal];e.signal!=null&&o.push(e.signal);let a=(0,Hf.anySignal)(o);try{(0,Zw.setMaxListeners)?.(1/0,a)}catch{}let c={dialRequest:i,controller:s,promise:i.run({...e,signal:a}),destroy:()=>{s.clear(),this.pendingDials.delete(t.id)}};return this.pendingDials.set(t.id,c),c}getTokens(t){let e=Math.min(t,this.maxDialsPerPeer,this.tokens.length),n=this.tokens.splice(0,e);return yr("%d tokens request, returning %d, %d remaining",t,e,this.tokens.length),n}releaseToken(t){this.tokens.includes(t)||(yr("token %d released",t),this.tokens.push(t))}async _resolve(t,e){if(!t.protoNames().includes("dnsaddr"))return[t];let i=await this._resolveRecord(t,e);return(await Promise.all(i.map(async a=>await this._resolve(a,e)))).flat().reduce((a,c)=>(a.find(u=>u.equals(c))==null&&a.push(c),a),[])}async _resolveRecord(t,e){try{return t=Lt(t.toString()),await t.resolve(e)}catch(n){return yr.error(`multiaddr ${t.toString()} could not be resolved`,n),[]}}};function lA(r){return!!r}function Qw(){return`${parseInt(String(Math.random()*1e9),10).toString()}${Date.now()}`}var gr=U("libp2p"),Gf=class extends Dt{constructor(t){super(),this.started=!1,this.peerId=t.peerId;let e=this.components=new gc({peerId:t.peerId,datastore:t.datastore??new vo,connectionGater:{denyDialPeer:async()=>await Promise.resolve(!1),denyDialMultiaddr:async()=>await Promise.resolve(!1),denyInboundConnection:async()=>await Promise.resolve(!1),denyOutboundConnection:async()=>await Promise.resolve(!1),denyInboundEncryptedConnection:async()=>await Promise.resolve(!1),denyOutboundEncryptedConnection:async()=>await Promise.resolve(!1),denyInboundUpgradedConnection:async()=>await Promise.resolve(!1),denyOutboundUpgradedConnection:async()=>await Promise.resolve(!1),filterMultiaddrForPeer:async()=>await Promise.resolve(!0),...t.connectionGater}});e.peerStore=new mc(e,{addressFilter:this.components.connectionGater.filterMultiaddrForPeer,...t.peerStore}),this.services=[e],t.metrics!=null&&(this.metrics=this.components.metrics=this.configureComponent(t.metrics(this.components))),this.peerStore=this.components.peerStore,this.peerStore.addEventListener("peer",o=>{let{detail:a}=o;this.dispatchEvent(new $("peer:discovery",{detail:a}))}),t.connectionProtector!=null&&(this.components.connectionProtector=t.connectionProtector(e)),this.components.upgrader=new Ua(this.components,{connectionEncryption:(t.connectionEncryption??[]).map(o=>this.configureComponent(o(this.components))),muxers:(t.streamMuxers??[]).map(o=>this.configureComponent(o(this.components))),inboundUpgradeTimeout:t.connectionManager.inboundUpgradeTimeout}),this.components.dialer=new Sc(this.components,t.connectionManager),this.connectionManager=this.components.connectionManager=new qo(this.components,t.connectionManager),this.components.connectionManager.addEventListener("peer:disconnect",o=>{this.dispatchEvent(new $("peer:disconnect",{detail:o.detail}))}),this.components.connectionManager.addEventListener("peer:connect",o=>{this.dispatchEvent(new $("peer:connect",{detail:o.detail}))}),this.registrar=this.components.registrar=new Ma(this.components),this.components.transportManager=new Ba(this.components,t.transportManager),this.components.addressManager=new Do(this.components,t.addresses),this.configureComponent(new Ya(this.components)),this.configureComponent(new $o(this.components,{enabled:t.connectionManager.autoDial,minConnections:t.connectionManager.minConnections,autoDialInterval:t.connectionManager.autoDialInterval}));let n=zn.generateOptions();this.keychain=this.configureComponent(new zn(this.components,{...n,...t.keychain})),this.services.push(new Ga(this.components,t.nat)),this.identifyService=new Vi(this.components,{...t.identify}),this.configureComponent(this.identifyService),t.dht!=null?this.dht=this.components.dht=t.dht(this.components):this.dht=new vc,t.pubsub!=null?this.pubsub=this.components.pubsub=t.pubsub(this.components):this.pubsub=new bc;let i=(t.peerRouters??[]).map(o=>this.configureComponent(o(this.components)));t.dht!=null&&(i.push(this.configureComponent(new Wa(this.dht))),this.dht.addEventListener("peer",o=>{this.onDiscoveryPeer(o)})),this.peerRouting=this.components.peerRouting=this.configureComponent(new To(this.components,{...t.peerRouting,routers:i}));let s=(t.contentRouters??[]).map(o=>this.configureComponent(o(this.components)));t.dht!=null&&s.push(this.configureComponent(new yc(this.dht))),this.contentRouting=this.components.contentRouting=this.configureComponent(new Bo(this.components,{routers:s})),this.fetchService=this.configureComponent(new Ka(this.components,{...t.fetch})),this.pingService=this.configureComponent(new Va(this.components,{...t.ping})),t.relay!=null&&(this.circuitService=this.configureComponent(t.relay(this.components)));for(let o of t.peerDiscovery??[])this.configureComponent(o(this.components)).addEventListener("peer",c=>{this.onDiscoveryPeer(c)});t.transports.forEach(o=>{this.components.transportManager.add(this.configureComponent(o(this.components)))})}configureComponent(t){return xr(t)&&this.services.push(t),t}async start(){if(this.started)return;this.started=!0,gr("libp2p is starting"),(await this.keychain.listKeys()).find(e=>e.name==="self")==null&&(gr("importing self key into keychain"),await this.keychain.importPeer("self",this.components.peerId));try{await Promise.all(this.services.map(async e=>{e.beforeStart!=null&&await e.beforeStart()})),await Promise.all(this.services.map(async e=>{await e.start()})),await Promise.all(this.services.map(async e=>{e.afterStart!=null&&await e.afterStart()})),gr("libp2p has started")}catch(e){throw gr.error("An error occurred starting libp2p",e),await this.stop(),e}}async stop(){this.started&&(gr("libp2p is stopping"),this.started=!1,await Promise.all(this.services.map(async t=>{t.beforeStop!=null&&await t.beforeStop()})),await Promise.all(this.services.map(async t=>{await t.stop()})),await Promise.all(this.services.map(async t=>{t.afterStop!=null&&await t.afterStop()})),gr("libp2p has stopped"))}isStarted(){return this.started}getConnections(t){return this.components.connectionManager.getConnections(t)}getPeers(){let t=new Tr;for(let e of this.components.connectionManager.getConnections())t.add(e.remotePeer);return Array.from(t)}async dial(t,e={}){return await this.components.connectionManager.openConnection(t,e)}async dialProtocol(t,e,n={}){if(e==null)throw(0,no.default)(new Error("no protocols were provided to open a stream"),_.ERR_INVALID_PROTOCOLS_FOR_STREAM);if(e=Array.isArray(e)?e:[e],e.length===0)throw(0,no.default)(new Error("no protocols were provided to open a stream"),_.ERR_INVALID_PROTOCOLS_FOR_STREAM);return await(await this.dial(t,n)).newStream(e,n)}getMultiaddrs(){return this.components.addressManager.getAddresses()}getProtocols(){return this.components.registrar.getProtocols()}async hangUp(t){ge(t)&&(t=st(t.getPeerId()??"")),await this.components.connectionManager.closeConnections(t)}async getPublicKey(t,e={}){if(gr("getPublicKey %p",t),t.publicKey!=null)return t.publicKey;let n=await this.peerStore.get(t);if(n.pubKey!=null)return n.pubKey;if(this.dht==null)throw(0,no.default)(new Error("Public key was not in the peer store and the DHT is not enabled"),_.ERR_NO_ROUTERS_AVAILABLE);let i=Mt([F("/pk/"),t.multihash.digest]);for await(let s of this.dht.get(i,e))if(s.name==="VALUE"){let o=Cs(s.value);return await this.peerStore.keyBook.set(t,s.value),o.bytes}throw(0,no.default)(new Error(`Node not responding with its public key: ${t.toString()}`),_.ERR_INVALID_RECORD)}async fetch(t,e,n={}){if(ge(t)){let i=st(t.getPeerId()??"");await this.components.peerStore.addressBook.add(i,[t]),t=i}return await this.fetchService.fetch(t,e,n)}async ping(t,e={}){if(ge(t)){let n=st(t.getPeerId()??"");await this.components.peerStore.addressBook.add(n,[t]),t=n}return await this.pingService.ping(t,e)}async handle(t,e,n){Array.isArray(t)||(t=[t]),await Promise.all(t.map(async i=>{await this.components.registrar.handle(i,e,n)}))}async unhandle(t){Array.isArray(t)||(t=[t]),await Promise.all(t.map(async e=>{await this.components.registrar.unhandle(e)}))}async register(t,e){return await this.registrar.register(t,e)}unregister(t){this.registrar.unregister(t)}onDiscoveryPeer(t){let{detail:e}=t;if(e.id.toString()===this.peerId.toString()){gr.error(new Error(_.ERR_DISCOVERED_SELF));return}e.multiaddrs.length>0&&this.components.peerStore.addressBook.add(e.id,e.multiaddrs).catch(n=>{gr.error(n)}),e.protocols.length>0&&this.components.peerStore.protoBook.set(e.id,e.protocols).catch(n=>{gr.error(n)}),this.dispatchEvent(new $("peer:discovery",{detail:e}))}};async function Jw(r){if(r.peerId==null){let t=r.datastore;if(t!=null)try{let e=new zn({datastore:t},Ie(zn.generateOptions(),r.keychain));r.peerId=await e.exportPeerId("self")}catch(e){if(e.code!=="ERR_NOT_FOUND")throw e}}return r.peerId==null&&(r.peerId=await Lw()),new Gf(Dw(r))}async function fA(r){let t=await Jw(r);return r.start!==!1&&await t.start(),t}return i1(hA);})();
|
|
50
50
|
/*! Bundled license information:
|
|
51
51
|
|
|
52
52
|
@noble/secp256k1/lib/esm/index.js:
|