libp2p 0.45.8 → 0.45.9-06f4901a

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.
Files changed (173) hide show
  1. package/README.md +96 -77
  2. package/dist/index.min.js +28 -28
  3. package/dist/src/address-manager/index.d.ts +5 -5
  4. package/dist/src/address-manager/index.d.ts.map +1 -1
  5. package/dist/src/autonat/index.d.ts +6 -6
  6. package/dist/src/autonat/index.d.ts.map +1 -1
  7. package/dist/src/autonat/index.js +3 -3
  8. package/dist/src/circuit-relay/index.d.ts +1 -1
  9. package/dist/src/circuit-relay/index.d.ts.map +1 -1
  10. package/dist/src/circuit-relay/server/advert-service.d.ts +3 -3
  11. package/dist/src/circuit-relay/server/advert-service.d.ts.map +1 -1
  12. package/dist/src/circuit-relay/server/advert-service.js +1 -1
  13. package/dist/src/circuit-relay/server/advert-service.js.map +1 -1
  14. package/dist/src/circuit-relay/server/index.d.ts +12 -7
  15. package/dist/src/circuit-relay/server/index.d.ts.map +1 -1
  16. package/dist/src/circuit-relay/server/index.js +18 -10
  17. package/dist/src/circuit-relay/server/index.js.map +1 -1
  18. package/dist/src/circuit-relay/server/reservation-store.d.ts +3 -3
  19. package/dist/src/circuit-relay/server/reservation-store.d.ts.map +1 -1
  20. package/dist/src/circuit-relay/server/reservation-voucher.d.ts +2 -2
  21. package/dist/src/circuit-relay/transport/discovery.d.ts +8 -8
  22. package/dist/src/circuit-relay/transport/discovery.d.ts.map +1 -1
  23. package/dist/src/circuit-relay/transport/discovery.js +3 -4
  24. package/dist/src/circuit-relay/transport/discovery.js.map +1 -1
  25. package/dist/src/circuit-relay/transport/index.d.ts +12 -12
  26. package/dist/src/circuit-relay/transport/index.d.ts.map +1 -1
  27. package/dist/src/circuit-relay/transport/index.js +10 -9
  28. package/dist/src/circuit-relay/transport/index.js.map +1 -1
  29. package/dist/src/circuit-relay/transport/listener.d.ts +2 -2
  30. package/dist/src/circuit-relay/transport/listener.d.ts.map +1 -1
  31. package/dist/src/circuit-relay/transport/listener.js +3 -3
  32. package/dist/src/circuit-relay/transport/listener.js.map +1 -1
  33. package/dist/src/circuit-relay/transport/reservation-store.d.ts +7 -7
  34. package/dist/src/circuit-relay/transport/reservation-store.d.ts.map +1 -1
  35. package/dist/src/circuit-relay/transport/reservation-store.js +2 -2
  36. package/dist/src/circuit-relay/transport/reservation-store.js.map +1 -1
  37. package/dist/src/circuit-relay/utils.d.ts +1 -1
  38. package/dist/src/components.d.ts +15 -14
  39. package/dist/src/components.d.ts.map +1 -1
  40. package/dist/src/components.js +2 -2
  41. package/dist/src/components.js.map +1 -1
  42. package/dist/src/config/connection-gater.browser.d.ts +1 -1
  43. package/dist/src/config/connection-gater.d.ts +1 -1
  44. package/dist/src/config.d.ts +1 -2
  45. package/dist/src/config.d.ts.map +1 -1
  46. package/dist/src/config.js +2 -2
  47. package/dist/src/config.js.map +1 -1
  48. package/dist/src/connection/index.d.ts +4 -4
  49. package/dist/src/connection/index.d.ts.map +1 -1
  50. package/dist/src/connection/index.js +3 -3
  51. package/dist/src/connection/index.js.map +1 -1
  52. package/dist/src/connection-manager/auto-dial.d.ts +5 -5
  53. package/dist/src/connection-manager/auto-dial.d.ts.map +1 -1
  54. package/dist/src/connection-manager/connection-pruner.d.ts +4 -4
  55. package/dist/src/connection-manager/connection-pruner.d.ts.map +1 -1
  56. package/dist/src/connection-manager/dial-queue.d.ts +7 -8
  57. package/dist/src/connection-manager/dial-queue.d.ts.map +1 -1
  58. package/dist/src/connection-manager/dial-queue.js +6 -6
  59. package/dist/src/connection-manager/dial-queue.js.map +1 -1
  60. package/dist/src/connection-manager/index.d.ts +10 -11
  61. package/dist/src/connection-manager/index.d.ts.map +1 -1
  62. package/dist/src/connection-manager/index.js +6 -6
  63. package/dist/src/connection-manager/index.js.map +1 -1
  64. package/dist/src/content-routing/index.d.ts +5 -5
  65. package/dist/src/content-routing/index.d.ts.map +1 -1
  66. package/dist/src/content-routing/index.js +1 -1
  67. package/dist/src/content-routing/index.js.map +1 -1
  68. package/dist/src/content-routing/utils.d.ts +2 -2
  69. package/dist/src/content-routing/utils.js +1 -1
  70. package/dist/src/content-routing/utils.js.map +1 -1
  71. package/dist/src/fetch/index.d.ts +5 -5
  72. package/dist/src/fetch/index.d.ts.map +1 -1
  73. package/dist/src/fetch/index.js +1 -1
  74. package/dist/src/fetch/index.js.map +1 -1
  75. package/dist/src/get-peer.d.ts +1 -1
  76. package/dist/src/get-peer.js +2 -2
  77. package/dist/src/get-peer.js.map +1 -1
  78. package/dist/src/identify/identify.d.ts +7 -7
  79. package/dist/src/identify/identify.d.ts.map +1 -1
  80. package/dist/src/identify/identify.js +13 -9
  81. package/dist/src/identify/identify.js.map +1 -1
  82. package/dist/src/identify/index.d.ts +24 -9
  83. package/dist/src/identify/index.d.ts.map +1 -1
  84. package/dist/src/identify/index.js.map +1 -1
  85. package/dist/src/index.d.ts +11 -12
  86. package/dist/src/index.d.ts.map +1 -1
  87. package/dist/src/index.js.map +1 -1
  88. package/dist/src/insecure/index.d.ts +1 -1
  89. package/dist/src/insecure/index.js +1 -1
  90. package/dist/src/insecure/index.js.map +1 -1
  91. package/dist/src/libp2p.d.ts +11 -11
  92. package/dist/src/libp2p.d.ts.map +1 -1
  93. package/dist/src/libp2p.js +5 -5
  94. package/dist/src/libp2p.js.map +1 -1
  95. package/dist/src/peer-routing.d.ts +5 -5
  96. package/dist/src/peer-routing.d.ts.map +1 -1
  97. package/dist/src/peer-routing.js +1 -1
  98. package/dist/src/peer-routing.js.map +1 -1
  99. package/dist/src/ping/index.d.ts +4 -4
  100. package/dist/src/ping/index.d.ts.map +1 -1
  101. package/dist/src/ping/index.js +1 -1
  102. package/dist/src/ping/index.js.map +1 -1
  103. package/dist/src/pnet/index.d.ts +1 -1
  104. package/dist/src/pnet/index.js +1 -1
  105. package/dist/src/pnet/index.js.map +1 -1
  106. package/dist/src/registrar.d.ts +7 -6
  107. package/dist/src/registrar.d.ts.map +1 -1
  108. package/dist/src/registrar.js +7 -11
  109. package/dist/src/registrar.js.map +1 -1
  110. package/dist/src/transport-manager.d.ts +9 -9
  111. package/dist/src/transport-manager.d.ts.map +1 -1
  112. package/dist/src/transport-manager.js +4 -4
  113. package/dist/src/transport-manager.js.map +1 -1
  114. package/dist/src/upgrader.d.ts +12 -12
  115. package/dist/src/upgrader.d.ts.map +1 -1
  116. package/dist/src/upgrader.js +8 -6
  117. package/dist/src/upgrader.js.map +1 -1
  118. package/dist/src/upnp-nat/index.d.ts +4 -4
  119. package/dist/src/upnp-nat/index.d.ts.map +1 -1
  120. package/dist/src/upnp-nat/index.js +1 -1
  121. package/dist/src/upnp-nat/index.js.map +1 -1
  122. package/dist/src/utils/peer-job-queue.d.ts +1 -1
  123. package/dist/src/utils/peer-job-queue.js +1 -1
  124. package/dist/src/utils/peer-job-queue.js.map +1 -1
  125. package/dist/src/version.d.ts +1 -1
  126. package/dist/src/version.d.ts.map +1 -1
  127. package/dist/src/version.js +1 -1
  128. package/dist/src/version.js.map +1 -1
  129. package/package.json +45 -74
  130. package/src/address-manager/index.ts +5 -5
  131. package/src/autonat/index.ts +12 -12
  132. package/src/circuit-relay/index.ts +1 -1
  133. package/src/circuit-relay/server/advert-service.ts +3 -3
  134. package/src/circuit-relay/server/index.ts +33 -18
  135. package/src/circuit-relay/server/reservation-store.ts +3 -3
  136. package/src/circuit-relay/server/reservation-voucher.ts +2 -2
  137. package/src/circuit-relay/transport/discovery.ts +10 -11
  138. package/src/circuit-relay/transport/index.ts +22 -22
  139. package/src/circuit-relay/transport/listener.ts +7 -7
  140. package/src/circuit-relay/transport/reservation-store.ts +9 -9
  141. package/src/circuit-relay/utils.ts +1 -1
  142. package/src/components.ts +16 -15
  143. package/src/config/connection-gater.browser.ts +1 -1
  144. package/src/config/connection-gater.ts +1 -1
  145. package/src/config.ts +3 -4
  146. package/src/connection/index.ts +6 -6
  147. package/src/connection-manager/auto-dial.ts +5 -5
  148. package/src/connection-manager/connection-pruner.ts +4 -4
  149. package/src/connection-manager/dial-queue.ts +13 -14
  150. package/src/connection-manager/index.ts +16 -17
  151. package/src/content-routing/index.ts +6 -6
  152. package/src/content-routing/utils.ts +3 -3
  153. package/src/fetch/index.ts +7 -7
  154. package/src/get-peer.ts +3 -3
  155. package/src/identify/identify.ts +26 -22
  156. package/src/identify/index.ts +27 -8
  157. package/src/index.ts +11 -12
  158. package/src/insecure/index.ts +3 -3
  159. package/src/libp2p.ts +14 -14
  160. package/src/peer-routing.ts +6 -6
  161. package/src/ping/index.ts +7 -7
  162. package/src/pnet/index.ts +2 -2
  163. package/src/registrar.ts +14 -17
  164. package/src/transport-manager.ts +12 -12
  165. package/src/upgrader.ts +22 -20
  166. package/src/upnp-nat/index.ts +5 -5
  167. package/src/utils/peer-job-queue.ts +2 -2
  168. package/src/version.ts +1 -1
  169. package/dist/src/pubsub/dummy-pubsub.d.ts +0 -18
  170. package/dist/src/pubsub/dummy-pubsub.d.ts.map +0 -1
  171. package/dist/src/pubsub/dummy-pubsub.js +0 -38
  172. package/dist/src/pubsub/dummy-pubsub.js.map +0 -1
  173. package/src/pubsub/dummy-pubsub.ts +0 -53
package/dist/index.min.js CHANGED
@@ -1,28 +1,28 @@
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 rg=Object.create;var vi=Object.defineProperty;var ng=Object.getOwnPropertyDescriptor;var ig=Object.getOwnPropertyNames;var sg=Object.getPrototypeOf,og=Object.prototype.hasOwnProperty;var ag=(t,e,r)=>e in t?vi(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r;var R=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),Ke=(t,e)=>{for(var r in e)vi(t,r,{get:e[r],enumerable:!0})},Ql=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of ig(e))!og.call(t,i)&&i!==r&&vi(t,i,{get:()=>e[i],enumerable:!(n=ng(e,i))||n.enumerable});return t};var V=(t,e,r)=>(r=t!=null?rg(sg(t)):{},Ql(e||!t||!t.__esModule?vi(r,"default",{value:t,enumerable:!0}):r,t)),cg=t=>Ql(vi({},"__esModule",{value:!0}),t);var Ca=(t,e,r)=>(ag(t,typeof e!="symbol"?e+"":e,r),r);var Ei=R((N_,Ta)=>{"use strict";var In=typeof Reflect=="object"?Reflect:null,Xl=In&&typeof In.apply=="function"?In.apply:function(e,r,n){return Function.prototype.apply.call(e,r,n)},As;In&&typeof In.ownKeys=="function"?As=In.ownKeys:Object.getOwnPropertySymbols?As=function(e){return Object.getOwnPropertyNames(e).concat(Object.getOwnPropertySymbols(e))}:As=function(e){return Object.getOwnPropertyNames(e)};function ug(t){console&&console.warn&&console.warn(t)}var jl=Number.isNaN||function(e){return e!==e};function oe(){oe.init.call(this)}Ta.exports=oe;Ta.exports.once=dg;oe.EventEmitter=oe;oe.prototype._events=void 0;oe.prototype._eventsCount=0;oe.prototype._maxListeners=void 0;var Zl=10;function Is(t){if(typeof t!="function")throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof t)}Object.defineProperty(oe,"defaultMaxListeners",{enumerable:!0,get:function(){return Zl},set:function(t){if(typeof t!="number"||t<0||jl(t))throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received '+t+".");Zl=t}});oe.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};oe.prototype.setMaxListeners=function(e){if(typeof e!="number"||e<0||jl(e))throw new RangeError('The value of "n" is out of range. It must be a non-negative number. Received '+e+".");return this._maxListeners=e,this};function Jl(t){return t._maxListeners===void 0?oe.defaultMaxListeners:t._maxListeners}oe.prototype.getMaxListeners=function(){return Jl(this)};oe.prototype.emit=function(e){for(var r=[],n=1;n<arguments.length;n++)r.push(arguments[n]);var i=e==="error",s=this._events;if(s!==void 0)i=i&&s.error===void 0;else if(!i)return!1;if(i){var o;if(r.length>0&&(o=r[0]),o instanceof Error)throw o;var a=new Error("Unhandled error."+(o?" ("+o.message+")":""));throw a.context=o,a}var c=s[e];if(c===void 0)return!1;if(typeof c=="function")Xl(c,this,r);else for(var u=c.length,l=sf(c,u),n=0;n<u;++n)Xl(l[n],this,r);return!0};function ef(t,e,r,n){var i,s,o;if(Is(r),s=t._events,s===void 0?(s=t._events=Object.create(null),t._eventsCount=0):(s.newListener!==void 0&&(t.emit("newListener",e,r.listener?r.listener:r),s=t._events),o=s[e]),o===void 0)o=s[e]=r,++t._eventsCount;else if(typeof o=="function"?o=s[e]=n?[r,o]:[o,r]:n?o.unshift(r):o.push(r),i=Jl(t),i>0&&o.length>i&&!o.warned){o.warned=!0;var a=new Error("Possible EventEmitter memory leak detected. "+o.length+" "+String(e)+" listeners added. Use emitter.setMaxListeners() to increase limit");a.name="MaxListenersExceededWarning",a.emitter=t,a.type=e,a.count=o.length,ug(a)}return t}oe.prototype.addListener=function(e,r){return ef(this,e,r,!1)};oe.prototype.on=oe.prototype.addListener;oe.prototype.prependListener=function(e,r){return ef(this,e,r,!0)};function lg(){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 tf(t,e,r){var n={fired:!1,wrapFn:void 0,target:t,type:e,listener:r},i=lg.bind(n);return i.listener=r,n.wrapFn=i,i}oe.prototype.once=function(e,r){return Is(r),this.on(e,tf(this,e,r)),this};oe.prototype.prependOnceListener=function(e,r){return Is(r),this.prependListener(e,tf(this,e,r)),this};oe.prototype.removeListener=function(e,r){var n,i,s,o,a;if(Is(r),i=this._events,i===void 0)return this;if(n=i[e],n===void 0)return this;if(n===r||n.listener===r)--this._eventsCount===0?this._events=Object.create(null):(delete i[e],i.removeListener&&this.emit("removeListener",e,n.listener||r));else if(typeof n!="function"){for(s=-1,o=n.length-1;o>=0;o--)if(n[o]===r||n[o].listener===r){a=n[o].listener,s=o;break}if(s<0)return this;s===0?n.shift():fg(n,s),n.length===1&&(i[e]=n[0]),i.removeListener!==void 0&&this.emit("removeListener",e,a||r)}return this};oe.prototype.off=oe.prototype.removeListener;oe.prototype.removeAllListeners=function(e){var r,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[e]!==void 0&&(--this._eventsCount===0?this._events=Object.create(null):delete n[e]),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(r=n[e],typeof r=="function")this.removeListener(e,r);else if(r!==void 0)for(i=r.length-1;i>=0;i--)this.removeListener(e,r[i]);return this};function rf(t,e,r){var n=t._events;if(n===void 0)return[];var i=n[e];return i===void 0?[]:typeof i=="function"?r?[i.listener||i]:[i]:r?hg(i):sf(i,i.length)}oe.prototype.listeners=function(e){return rf(this,e,!0)};oe.prototype.rawListeners=function(e){return rf(this,e,!1)};oe.listenerCount=function(t,e){return typeof t.listenerCount=="function"?t.listenerCount(e):nf.call(t,e)};oe.prototype.listenerCount=nf;function nf(t){var e=this._events;if(e!==void 0){var r=e[t];if(typeof r=="function")return 1;if(r!==void 0)return r.length}return 0}oe.prototype.eventNames=function(){return this._eventsCount>0?As(this._events):[]};function sf(t,e){for(var r=new Array(e),n=0;n<e;++n)r[n]=t[n];return r}function fg(t,e){for(;e+1<t.length;e++)t[e]=t[e+1];t.pop()}function hg(t){for(var e=new Array(t.length),r=0;r<e.length;++r)e[r]=t[r].listener||t[r];return e}function dg(t,e){return new Promise(function(r,n){function i(o){t.removeListener(e,s),n(o)}function s(){typeof t.removeListener=="function"&&t.removeListener("error",i),r([].slice.call(arguments))}of(t,e,s,{once:!0}),e!=="error"&&pg(t,i,{once:!0})})}function pg(t,e,r){typeof t.on=="function"&&of(t,"error",e,r)}function of(t,e,r,n){if(typeof t.on=="function")n.once?t.once(e,r):t.on(e,r);else if(typeof t.addEventListener=="function")t.addEventListener(e,function i(s){n.once&&t.removeEventListener(e,i),r(s)});else throw new TypeError('The "emitter" argument must be of type EventEmitter. Received type '+typeof t)}});var se=R((k_,af)=>{af.exports={options:{usePureJavaScript:!1}}});var lf=R((O_,uf)=>{var Ba={};uf.exports=Ba;var cf={};Ba.encode=function(t,e,r){if(typeof e!="string")throw new TypeError('"alphabet" must be a string.');if(r!==void 0&&typeof r!="number")throw new TypeError('"maxline" must be a number.');var n="";if(!(t instanceof Uint8Array))n=mg(t,e);else{var i=0,s=e.length,o=e.charAt(0),a=[0];for(i=0;i<t.length;++i){for(var c=0,u=t[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;t[i]===0&&i<t.length-1;++i)n+=o;for(i=a.length-1;i>=0;--i)n+=e[a[i]]}if(r){var l=new RegExp(".{1,"+r+"}","g");n=n.match(l).join(`\r
3
- `)}return n};Ba.decode=function(t,e){if(typeof t!="string")throw new TypeError('"input" must be a string.');if(typeof e!="string")throw new TypeError('"alphabet" must be a string.');var r=cf[e];if(!r){r=cf[e]=[];for(var n=0;n<e.length;++n)r[e.charCodeAt(n)]=n}t=t.replace(/\s/g,"");for(var i=e.length,s=e.charAt(0),o=[0],n=0;n<t.length;n++){var a=r[t.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;t[l]===s&&l<t.length-1;++l)o.push(0);return typeof Buffer<"u"?Buffer.from(o.reverse()):new Uint8Array(o.reverse())};function mg(t,e){var r=0,n=e.length,i=e.charAt(0),s=[0];for(r=0;r<t.length();++r){for(var o=0,a=t.at(r);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(r=0;t.at(r)===0&&r<t.length()-1;++r)c+=i;for(r=s.length-1;r>=0;--r)c+=e[s[r]];return c}});var Ie=R((M_,pf)=>{var ff=se(),hf=lf(),x=pf.exports=ff.util=ff.util||{};(function(){if(typeof process<"u"&&process.nextTick&&!process.browser){x.nextTick=process.nextTick,typeof setImmediate=="function"?x.setImmediate=setImmediate:x.setImmediate=x.nextTick;return}if(typeof setImmediate=="function"){x.setImmediate=function(){return setImmediate.apply(void 0,arguments)},x.nextTick=function(a){return setImmediate(a)};return}if(x.setImmediate=function(a){setTimeout(a,0)},typeof window<"u"&&typeof window.postMessage=="function"){let a=function(c){if(c.source===window&&c.data===t){c.stopPropagation();var u=e.slice();e.length=0,u.forEach(function(l){l()})}};var o=a,t="forge.setImmediate",e=[];x.setImmediate=function(c){e.push(c),e.length===1&&window.postMessage(t,"*")},window.addEventListener("message",a,!0)}if(typeof MutationObserver<"u"){var r=Date.now(),n=!0,i=document.createElement("div"),e=[];new MutationObserver(function(){var c=e.slice();e.length=0,c.forEach(function(u){u()})}).observe(i,{attributes:!0});var s=x.setImmediate;x.setImmediate=function(c){Date.now()-r>15?(r=Date.now(),s(c)):(e.push(c),e.length===1&&i.setAttribute("a",n=!n))}}x.nextTick=x.setImmediate})();x.isNodejs=typeof process<"u"&&process.versions&&process.versions.node;x.globalScope=function(){return x.isNodejs?globalThis:typeof self>"u"?window:self}();x.isArray=Array.isArray||function(t){return Object.prototype.toString.call(t)==="[object Array]"};x.isArrayBuffer=function(t){return typeof ArrayBuffer<"u"&&t instanceof ArrayBuffer};x.isArrayBufferView=function(t){return t&&x.isArrayBuffer(t.buffer)&&t.byteLength!==void 0};function bi(t){if(!(t===8||t===16||t===24||t===32))throw new Error("Only 8, 16, 24, or 32 bits supported: "+t)}x.ByteBuffer=La;function La(t){if(this.data="",this.read=0,typeof t=="string")this.data=t;else if(x.isArrayBuffer(t)||x.isArrayBufferView(t))if(typeof Buffer<"u"&&t instanceof Buffer)this.data=t.toString("binary");else{var e=new Uint8Array(t);try{this.data=String.fromCharCode.apply(null,e)}catch{for(var r=0;r<e.length;++r)this.putByte(e[r])}}else(t instanceof La||typeof t=="object"&&typeof t.data=="string"&&typeof t.read=="number")&&(this.data=t.data,this.read=t.read);this._constructedStringLength=0}x.ByteStringBuffer=La;var yg=4096;x.ByteStringBuffer.prototype._optimizeConstructedString=function(t){this._constructedStringLength+=t,this._constructedStringLength>yg&&(this.data.substr(0,1),this._constructedStringLength=0)};x.ByteStringBuffer.prototype.length=function(){return this.data.length-this.read};x.ByteStringBuffer.prototype.isEmpty=function(){return this.length()<=0};x.ByteStringBuffer.prototype.putByte=function(t){return this.putBytes(String.fromCharCode(t))};x.ByteStringBuffer.prototype.fillWithByte=function(t,e){t=String.fromCharCode(t);for(var r=this.data;e>0;)e&1&&(r+=t),e>>>=1,e>0&&(t+=t);return this.data=r,this._optimizeConstructedString(e),this};x.ByteStringBuffer.prototype.putBytes=function(t){return this.data+=t,this._optimizeConstructedString(t.length),this};x.ByteStringBuffer.prototype.putString=function(t){return this.putBytes(x.encodeUtf8(t))};x.ByteStringBuffer.prototype.putInt16=function(t){return this.putBytes(String.fromCharCode(t>>8&255)+String.fromCharCode(t&255))};x.ByteStringBuffer.prototype.putInt24=function(t){return this.putBytes(String.fromCharCode(t>>16&255)+String.fromCharCode(t>>8&255)+String.fromCharCode(t&255))};x.ByteStringBuffer.prototype.putInt32=function(t){return this.putBytes(String.fromCharCode(t>>24&255)+String.fromCharCode(t>>16&255)+String.fromCharCode(t>>8&255)+String.fromCharCode(t&255))};x.ByteStringBuffer.prototype.putInt16Le=function(t){return this.putBytes(String.fromCharCode(t&255)+String.fromCharCode(t>>8&255))};x.ByteStringBuffer.prototype.putInt24Le=function(t){return this.putBytes(String.fromCharCode(t&255)+String.fromCharCode(t>>8&255)+String.fromCharCode(t>>16&255))};x.ByteStringBuffer.prototype.putInt32Le=function(t){return this.putBytes(String.fromCharCode(t&255)+String.fromCharCode(t>>8&255)+String.fromCharCode(t>>16&255)+String.fromCharCode(t>>24&255))};x.ByteStringBuffer.prototype.putInt=function(t,e){bi(e);var r="";do e-=8,r+=String.fromCharCode(t>>e&255);while(e>0);return this.putBytes(r)};x.ByteStringBuffer.prototype.putSignedInt=function(t,e){return t<0&&(t+=2<<e-1),this.putInt(t,e)};x.ByteStringBuffer.prototype.putBuffer=function(t){return this.putBytes(t.getBytes())};x.ByteStringBuffer.prototype.getByte=function(){return this.data.charCodeAt(this.read++)};x.ByteStringBuffer.prototype.getInt16=function(){var t=this.data.charCodeAt(this.read)<<8^this.data.charCodeAt(this.read+1);return this.read+=2,t};x.ByteStringBuffer.prototype.getInt24=function(){var t=this.data.charCodeAt(this.read)<<16^this.data.charCodeAt(this.read+1)<<8^this.data.charCodeAt(this.read+2);return this.read+=3,t};x.ByteStringBuffer.prototype.getInt32=function(){var t=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,t};x.ByteStringBuffer.prototype.getInt16Le=function(){var t=this.data.charCodeAt(this.read)^this.data.charCodeAt(this.read+1)<<8;return this.read+=2,t};x.ByteStringBuffer.prototype.getInt24Le=function(){var t=this.data.charCodeAt(this.read)^this.data.charCodeAt(this.read+1)<<8^this.data.charCodeAt(this.read+2)<<16;return this.read+=3,t};x.ByteStringBuffer.prototype.getInt32Le=function(){var t=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,t};x.ByteStringBuffer.prototype.getInt=function(t){bi(t);var e=0;do e=(e<<8)+this.data.charCodeAt(this.read++),t-=8;while(t>0);return e};x.ByteStringBuffer.prototype.getSignedInt=function(t){var e=this.getInt(t),r=2<<t-2;return e>=r&&(e-=r<<1),e};x.ByteStringBuffer.prototype.getBytes=function(t){var e;return t?(t=Math.min(this.length(),t),e=this.data.slice(this.read,this.read+t),this.read+=t):t===0?e="":(e=this.read===0?this.data:this.data.slice(this.read),this.clear()),e};x.ByteStringBuffer.prototype.bytes=function(t){return typeof t>"u"?this.data.slice(this.read):this.data.slice(this.read,this.read+t)};x.ByteStringBuffer.prototype.at=function(t){return this.data.charCodeAt(this.read+t)};x.ByteStringBuffer.prototype.setAt=function(t,e){return this.data=this.data.substr(0,this.read+t)+String.fromCharCode(e)+this.data.substr(this.read+t+1),this};x.ByteStringBuffer.prototype.last=function(){return this.data.charCodeAt(this.data.length-1)};x.ByteStringBuffer.prototype.copy=function(){var t=x.createBuffer(this.data);return t.read=this.read,t};x.ByteStringBuffer.prototype.compact=function(){return this.read>0&&(this.data=this.data.slice(this.read),this.read=0),this};x.ByteStringBuffer.prototype.clear=function(){return this.data="",this.read=0,this};x.ByteStringBuffer.prototype.truncate=function(t){var e=Math.max(0,this.length()-t);return this.data=this.data.substr(this.read,e),this.read=0,this};x.ByteStringBuffer.prototype.toHex=function(){for(var t="",e=this.read;e<this.data.length;++e){var r=this.data.charCodeAt(e);r<16&&(t+="0"),t+=r.toString(16)}return t};x.ByteStringBuffer.prototype.toString=function(){return x.decodeUtf8(this.bytes())};function gg(t,e){e=e||{},this.read=e.readOffset||0,this.growSize=e.growSize||1024;var r=x.isArrayBuffer(t),n=x.isArrayBufferView(t);if(r||n){r?this.data=new DataView(t):this.data=new DataView(t.buffer,t.byteOffset,t.byteLength),this.write="writeOffset"in e?e.writeOffset:this.data.byteLength;return}this.data=new DataView(new ArrayBuffer(0)),this.write=0,t!=null&&this.putBytes(t),"writeOffset"in e&&(this.write=e.writeOffset)}x.DataBuffer=gg;x.DataBuffer.prototype.length=function(){return this.write-this.read};x.DataBuffer.prototype.isEmpty=function(){return this.length()<=0};x.DataBuffer.prototype.accommodate=function(t,e){if(this.length()>=t)return this;e=Math.max(e||this.growSize,t);var r=new Uint8Array(this.data.buffer,this.data.byteOffset,this.data.byteLength),n=new Uint8Array(this.length()+e);return n.set(r),this.data=new DataView(n.buffer),this};x.DataBuffer.prototype.putByte=function(t){return this.accommodate(1),this.data.setUint8(this.write++,t),this};x.DataBuffer.prototype.fillWithByte=function(t,e){this.accommodate(e);for(var r=0;r<e;++r)this.data.setUint8(t);return this};x.DataBuffer.prototype.putBytes=function(t,e){if(x.isArrayBufferView(t)){var r=new Uint8Array(t.buffer,t.byteOffset,t.byteLength),n=r.byteLength-r.byteOffset;this.accommodate(n);var i=new Uint8Array(this.data.buffer,this.write);return i.set(r),this.write+=n,this}if(x.isArrayBuffer(t)){var r=new Uint8Array(t);this.accommodate(r.byteLength);var i=new Uint8Array(this.data.buffer);return i.set(r,this.write),this.write+=r.byteLength,this}if(t instanceof x.DataBuffer||typeof t=="object"&&typeof t.read=="number"&&typeof t.write=="number"&&x.isArrayBufferView(t.data)){var r=new Uint8Array(t.data.byteLength,t.read,t.length());this.accommodate(r.byteLength);var i=new Uint8Array(t.data.byteLength,this.write);return i.set(r),this.write+=r.byteLength,this}if(t instanceof x.ByteStringBuffer&&(t=t.data,e="binary"),e=e||"binary",typeof t=="string"){var s;if(e==="hex")return this.accommodate(Math.ceil(t.length/2)),s=new Uint8Array(this.data.buffer,this.write),this.write+=x.binary.hex.decode(t,s,this.write),this;if(e==="base64")return this.accommodate(Math.ceil(t.length/4)*3),s=new Uint8Array(this.data.buffer,this.write),this.write+=x.binary.base64.decode(t,s,this.write),this;if(e==="utf8"&&(t=x.encodeUtf8(t),e="binary"),e==="binary"||e==="raw")return this.accommodate(t.length),s=new Uint8Array(this.data.buffer,this.write),this.write+=x.binary.raw.decode(s),this;if(e==="utf16")return this.accommodate(t.length*2),s=new Uint16Array(this.data.buffer,this.write),this.write+=x.text.utf16.encode(s),this;throw new Error("Invalid encoding: "+e)}throw Error("Invalid parameter: "+t)};x.DataBuffer.prototype.putBuffer=function(t){return this.putBytes(t),t.clear(),this};x.DataBuffer.prototype.putString=function(t){return this.putBytes(t,"utf16")};x.DataBuffer.prototype.putInt16=function(t){return this.accommodate(2),this.data.setInt16(this.write,t),this.write+=2,this};x.DataBuffer.prototype.putInt24=function(t){return this.accommodate(3),this.data.setInt16(this.write,t>>8&65535),this.data.setInt8(this.write,t>>16&255),this.write+=3,this};x.DataBuffer.prototype.putInt32=function(t){return this.accommodate(4),this.data.setInt32(this.write,t),this.write+=4,this};x.DataBuffer.prototype.putInt16Le=function(t){return this.accommodate(2),this.data.setInt16(this.write,t,!0),this.write+=2,this};x.DataBuffer.prototype.putInt24Le=function(t){return this.accommodate(3),this.data.setInt8(this.write,t>>16&255),this.data.setInt16(this.write,t>>8&65535,!0),this.write+=3,this};x.DataBuffer.prototype.putInt32Le=function(t){return this.accommodate(4),this.data.setInt32(this.write,t,!0),this.write+=4,this};x.DataBuffer.prototype.putInt=function(t,e){bi(e),this.accommodate(e/8);do e-=8,this.data.setInt8(this.write++,t>>e&255);while(e>0);return this};x.DataBuffer.prototype.putSignedInt=function(t,e){return bi(e),this.accommodate(e/8),t<0&&(t+=2<<e-1),this.putInt(t,e)};x.DataBuffer.prototype.getByte=function(){return this.data.getInt8(this.read++)};x.DataBuffer.prototype.getInt16=function(){var t=this.data.getInt16(this.read);return this.read+=2,t};x.DataBuffer.prototype.getInt24=function(){var t=this.data.getInt16(this.read)<<8^this.data.getInt8(this.read+2);return this.read+=3,t};x.DataBuffer.prototype.getInt32=function(){var t=this.data.getInt32(this.read);return this.read+=4,t};x.DataBuffer.prototype.getInt16Le=function(){var t=this.data.getInt16(this.read,!0);return this.read+=2,t};x.DataBuffer.prototype.getInt24Le=function(){var t=this.data.getInt8(this.read)^this.data.getInt16(this.read+1,!0)<<8;return this.read+=3,t};x.DataBuffer.prototype.getInt32Le=function(){var t=this.data.getInt32(this.read,!0);return this.read+=4,t};x.DataBuffer.prototype.getInt=function(t){bi(t);var e=0;do e=(e<<8)+this.data.getInt8(this.read++),t-=8;while(t>0);return e};x.DataBuffer.prototype.getSignedInt=function(t){var e=this.getInt(t),r=2<<t-2;return e>=r&&(e-=r<<1),e};x.DataBuffer.prototype.getBytes=function(t){var e;return t?(t=Math.min(this.length(),t),e=this.data.slice(this.read,this.read+t),this.read+=t):t===0?e="":(e=this.read===0?this.data:this.data.slice(this.read),this.clear()),e};x.DataBuffer.prototype.bytes=function(t){return typeof t>"u"?this.data.slice(this.read):this.data.slice(this.read,this.read+t)};x.DataBuffer.prototype.at=function(t){return this.data.getUint8(this.read+t)};x.DataBuffer.prototype.setAt=function(t,e){return this.data.setUint8(t,e),this};x.DataBuffer.prototype.last=function(){return this.data.getUint8(this.write-1)};x.DataBuffer.prototype.copy=function(){return new x.DataBuffer(this)};x.DataBuffer.prototype.compact=function(){if(this.read>0){var t=new Uint8Array(this.data.buffer,this.read),e=new Uint8Array(t.byteLength);e.set(t),this.data=new DataView(e),this.write-=this.read,this.read=0}return this};x.DataBuffer.prototype.clear=function(){return this.data=new DataView(new ArrayBuffer(0)),this.read=this.write=0,this};x.DataBuffer.prototype.truncate=function(t){return this.write=Math.max(0,this.length()-t),this.read=Math.min(this.read,this.write),this};x.DataBuffer.prototype.toHex=function(){for(var t="",e=this.read;e<this.data.byteLength;++e){var r=this.data.getUint8(e);r<16&&(t+="0"),t+=r.toString(16)}return t};x.DataBuffer.prototype.toString=function(t){var e=new Uint8Array(this.data,this.read,this.length());if(t=t||"utf8",t==="binary"||t==="raw")return x.binary.raw.encode(e);if(t==="hex")return x.binary.hex.encode(e);if(t==="base64")return x.binary.base64.encode(e);if(t==="utf8")return x.text.utf8.decode(e);if(t==="utf16")return x.text.utf16.decode(e);throw new Error("Invalid encoding: "+t)};x.createBuffer=function(t,e){return e=e||"raw",t!==void 0&&e==="utf8"&&(t=x.encodeUtf8(t)),new x.ByteBuffer(t)};x.fillString=function(t,e){for(var r="";e>0;)e&1&&(r+=t),e>>>=1,e>0&&(t+=t);return r};x.xorBytes=function(t,e,r){for(var n="",i="",s="",o=0,a=0;r>0;--r,++o)i=t.charCodeAt(o)^e.charCodeAt(o),a>=10&&(n+=s,s="",a=0),s+=String.fromCharCode(i),++a;return n+=s,n};x.hexToBytes=function(t){var e="",r=0;for(t.length&!0&&(r=1,e+=String.fromCharCode(parseInt(t[0],16)));r<t.length;r+=2)e+=String.fromCharCode(parseInt(t.substr(r,2),16));return e};x.bytesToHex=function(t){return x.createBuffer(t).toHex()};x.int32ToBytes=function(t){return String.fromCharCode(t>>24&255)+String.fromCharCode(t>>16&255)+String.fromCharCode(t>>8&255)+String.fromCharCode(t&255)};var pr="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",mr=[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],df="123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz";x.encode64=function(t,e){for(var r="",n="",i,s,o,a=0;a<t.length;)i=t.charCodeAt(a++),s=t.charCodeAt(a++),o=t.charCodeAt(a++),r+=pr.charAt(i>>2),r+=pr.charAt((i&3)<<4|s>>4),isNaN(s)?r+="==":(r+=pr.charAt((s&15)<<2|o>>6),r+=isNaN(o)?"=":pr.charAt(o&63)),e&&r.length>e&&(n+=r.substr(0,e)+`\r
4
- `,r=r.substr(e));return n+=r,n};x.decode64=function(t){t=t.replace(/[^A-Za-z0-9\+\/\=]/g,"");for(var e="",r,n,i,s,o=0;o<t.length;)r=mr[t.charCodeAt(o++)-43],n=mr[t.charCodeAt(o++)-43],i=mr[t.charCodeAt(o++)-43],s=mr[t.charCodeAt(o++)-43],e+=String.fromCharCode(r<<2|n>>4),i!==64&&(e+=String.fromCharCode((n&15)<<4|i>>2),s!==64&&(e+=String.fromCharCode((i&3)<<6|s)));return e};x.encodeUtf8=function(t){return unescape(encodeURIComponent(t))};x.decodeUtf8=function(t){return decodeURIComponent(escape(t))};x.binary={raw:{},hex:{},base64:{},base58:{},baseN:{encode:hf.encode,decode:hf.decode}};x.binary.raw.encode=function(t){return String.fromCharCode.apply(null,t)};x.binary.raw.decode=function(t,e,r){var n=e;n||(n=new Uint8Array(t.length)),r=r||0;for(var i=r,s=0;s<t.length;++s)n[i++]=t.charCodeAt(s);return e?i-r:n};x.binary.hex.encode=x.bytesToHex;x.binary.hex.decode=function(t,e,r){var n=e;n||(n=new Uint8Array(Math.ceil(t.length/2))),r=r||0;var i=0,s=r;for(t.length&1&&(i=1,n[s++]=parseInt(t[0],16));i<t.length;i+=2)n[s++]=parseInt(t.substr(i,2),16);return e?s-r:n};x.binary.base64.encode=function(t,e){for(var r="",n="",i,s,o,a=0;a<t.byteLength;)i=t[a++],s=t[a++],o=t[a++],r+=pr.charAt(i>>2),r+=pr.charAt((i&3)<<4|s>>4),isNaN(s)?r+="==":(r+=pr.charAt((s&15)<<2|o>>6),r+=isNaN(o)?"=":pr.charAt(o&63)),e&&r.length>e&&(n+=r.substr(0,e)+`\r
5
- `,r=r.substr(e));return n+=r,n};x.binary.base64.decode=function(t,e,r){var n=e;n||(n=new Uint8Array(Math.ceil(t.length/4)*3)),t=t.replace(/[^A-Za-z0-9\+\/\=]/g,""),r=r||0;for(var i,s,o,a,c=0,u=r;c<t.length;)i=mr[t.charCodeAt(c++)-43],s=mr[t.charCodeAt(c++)-43],o=mr[t.charCodeAt(c++)-43],a=mr[t.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 e?u-r:n.subarray(0,u)};x.binary.base58.encode=function(t,e){return x.binary.baseN.encode(t,df,e)};x.binary.base58.decode=function(t,e){return x.binary.baseN.decode(t,df,e)};x.text={utf8:{},utf16:{}};x.text.utf8.encode=function(t,e,r){t=x.encodeUtf8(t);var n=e;n||(n=new Uint8Array(t.length)),r=r||0;for(var i=r,s=0;s<t.length;++s)n[i++]=t.charCodeAt(s);return e?i-r:n};x.text.utf8.decode=function(t){return x.decodeUtf8(String.fromCharCode.apply(null,t))};x.text.utf16.encode=function(t,e,r){var n=e;n||(n=new Uint8Array(t.length*2));var i=new Uint16Array(n.buffer);r=r||0;for(var s=r,o=r,a=0;a<t.length;++a)i[o++]=t.charCodeAt(a),s+=2;return e?s-r:n};x.text.utf16.decode=function(t){return String.fromCharCode.apply(null,new Uint16Array(t.buffer))};x.deflate=function(t,e,r){if(e=x.decode64(t.deflate(x.encode64(e)).rval),r){var n=2,i=e.charCodeAt(1);i&32&&(n=6),e=e.substring(n,e.length-4)}return e};x.inflate=function(t,e,r){var n=t.inflate(x.encode64(e)).rval;return n===null?null:x.decode64(n)};var Pa=function(t,e,r){if(!t)throw new Error("WebStorage not available.");var n;if(r===null?n=t.removeItem(e):(r=x.encode64(JSON.stringify(r)),n=t.setItem(e,r)),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}},Da=function(t,e){if(!t)throw new Error("WebStorage not available.");var r=t.getItem(e);if(t.init)if(r.rval===null){if(r.error){var n=new Error(r.error.message);throw n.id=r.error.id,n.name=r.error.name,n}r=null}else r=r.rval;return r!==null&&(r=JSON.parse(x.decode64(r))),r},xg=function(t,e,r,n){var i=Da(t,e);i===null&&(i={}),i[r]=n,Pa(t,e,i)},wg=function(t,e,r){var n=Da(t,e);return n!==null&&(n=r in n?n[r]:null),n},vg=function(t,e,r){var n=Da(t,e);if(n!==null&&r in n){delete n[r];var i=!0;for(var s in n){i=!1;break}i&&(n=null),Pa(t,e,n)}},Eg=function(t,e){Pa(t,e,null)},Rs=function(t,e,r){var n=null;typeof r>"u"&&(r=["web","flash"]);var i,s=!1,o=null;for(var a in r){i=r[a];try{if(i==="flash"||i==="both"){if(e[0]===null)throw new Error("Flash local storage not available.");n=t.apply(this,e),s=i==="flash"}(i==="web"||i==="both")&&(e[0]=localStorage,n=t.apply(this,e),s=!0)}catch(c){o=c}if(s)break}if(!s)throw o;return n};x.setItem=function(t,e,r,n,i){Rs(xg,arguments,i)};x.getItem=function(t,e,r,n){return Rs(wg,arguments,n)};x.removeItem=function(t,e,r,n){Rs(vg,arguments,n)};x.clearItems=function(t,e,r){Rs(Eg,arguments,r)};x.isEmpty=function(t){for(var e in t)if(t.hasOwnProperty(e))return!1;return!0};x.format=function(t){for(var e=/%./g,r,n,i=0,s=[],o=0;r=e.exec(t);){n=t.substring(o,e.lastIndex-2),n.length>0&&s.push(n),o=e.lastIndex;var a=r[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(t.substring(o)),s.join("")};x.formatNumber=function(t,e,r,n){var i=t,s=isNaN(e=Math.abs(e))?2:e,o=r===void 0?",":r,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):"")};x.formatSize=function(t){return t>=1073741824?t=x.formatNumber(t/1073741824,2,".","")+" GiB":t>=1048576?t=x.formatNumber(t/1048576,2,".","")+" MiB":t>=1024?t=x.formatNumber(t/1024,0)+" KiB":t=x.formatNumber(t,0)+" bytes",t};x.bytesFromIP=function(t){return t.indexOf(".")!==-1?x.bytesFromIPv4(t):t.indexOf(":")!==-1?x.bytesFromIPv6(t):null};x.bytesFromIPv4=function(t){if(t=t.split("."),t.length!==4)return null;for(var e=x.createBuffer(),r=0;r<t.length;++r){var n=parseInt(t[r],10);if(isNaN(n))return null;e.putByte(n)}return e.getBytes()};x.bytesFromIPv6=function(t){var e=0;t=t.split(":").filter(function(o){return o.length===0&&++e,!0});for(var r=(8-t.length+e)*2,n=x.createBuffer(),i=0;i<8;++i){if(!t[i]||t[i].length===0){n.fillWithByte(0,r),r=0;continue}var s=x.hexToBytes(t[i]);s.length<2&&n.putByte(0),n.putBytes(s)}return n.getBytes()};x.bytesToIP=function(t){return t.length===4?x.bytesToIPv4(t):t.length===16?x.bytesToIPv6(t):null};x.bytesToIPv4=function(t){if(t.length!==4)return null;for(var e=[],r=0;r<t.length;++r)e.push(t.charCodeAt(r));return e.join(".")};x.bytesToIPv6=function(t){if(t.length!==16)return null;for(var e=[],r=[],n=0,i=0;i<t.length;i+=2){for(var s=x.bytesToHex(t[i]+t[i+1]);s[0]==="0"&&s!=="0";)s=s.substr(1);if(s==="0"){var o=r[r.length-1],a=e.length;!o||a!==o.end+1?r.push({start:a,end:a}):(o.end=a,o.end-o.start>r[n].end-r[n].start&&(n=r.length-1))}e.push(s)}if(r.length>0){var c=r[n];c.end-c.start>0&&(e.splice(c.start,c.end-c.start+1,""),c.start===0&&e.unshift(""),c.end===7&&e.push(""))}return e.join(":")};x.estimateCores=function(t,e){if(typeof t=="function"&&(e=t,t={}),t=t||{},"cores"in x&&!t.update)return e(null,x.cores);if(typeof navigator<"u"&&"hardwareConcurrency"in navigator&&navigator.hardwareConcurrency>0)return x.cores=navigator.hardwareConcurrency,e(null,x.cores);if(typeof Worker>"u")return x.cores=1,e(null,x.cores);if(typeof Blob>"u")return x.cores=2,e(null,x.cores);var r=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 x.cores=Math.max(1,u),URL.revokeObjectURL(r),e(null,x.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(r);f.addEventListener("message",function(h){if(u.push(h.data),u.length===o){for(var d=0;d<o;++d)c[d].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]=[],h=0;h<o;++h)if(u!==h){var d=a[h];(l.st>d.st&&l.st<d.et||d.st>l.st&&d.st<l.et)&&f.push(h)}return c.reduce(function(p,m){return Math.max(p,m.length)},0)}}});var Cs=R((F_,mf)=>{var _i=se();_i.pki=_i.pki||{};var Na=mf.exports=_i.pki.oids=_i.oids=_i.oids||{};function I(t,e){Na[t]=e,Na[e]=t}function ne(t,e){Na[t]=e}I("1.2.840.113549.1.1.1","rsaEncryption");I("1.2.840.113549.1.1.4","md5WithRSAEncryption");I("1.2.840.113549.1.1.5","sha1WithRSAEncryption");I("1.2.840.113549.1.1.7","RSAES-OAEP");I("1.2.840.113549.1.1.8","mgf1");I("1.2.840.113549.1.1.9","pSpecified");I("1.2.840.113549.1.1.10","RSASSA-PSS");I("1.2.840.113549.1.1.11","sha256WithRSAEncryption");I("1.2.840.113549.1.1.12","sha384WithRSAEncryption");I("1.2.840.113549.1.1.13","sha512WithRSAEncryption");I("1.3.101.112","EdDSA25519");I("1.2.840.10040.4.3","dsa-with-sha1");I("1.3.14.3.2.7","desCBC");I("1.3.14.3.2.26","sha1");I("1.3.14.3.2.29","sha1WithRSASignature");I("2.16.840.1.101.3.4.2.1","sha256");I("2.16.840.1.101.3.4.2.2","sha384");I("2.16.840.1.101.3.4.2.3","sha512");I("2.16.840.1.101.3.4.2.4","sha224");I("2.16.840.1.101.3.4.2.5","sha512-224");I("2.16.840.1.101.3.4.2.6","sha512-256");I("1.2.840.113549.2.2","md2");I("1.2.840.113549.2.5","md5");I("1.2.840.113549.1.7.1","data");I("1.2.840.113549.1.7.2","signedData");I("1.2.840.113549.1.7.3","envelopedData");I("1.2.840.113549.1.7.4","signedAndEnvelopedData");I("1.2.840.113549.1.7.5","digestedData");I("1.2.840.113549.1.7.6","encryptedData");I("1.2.840.113549.1.9.1","emailAddress");I("1.2.840.113549.1.9.2","unstructuredName");I("1.2.840.113549.1.9.3","contentType");I("1.2.840.113549.1.9.4","messageDigest");I("1.2.840.113549.1.9.5","signingTime");I("1.2.840.113549.1.9.6","counterSignature");I("1.2.840.113549.1.9.7","challengePassword");I("1.2.840.113549.1.9.8","unstructuredAddress");I("1.2.840.113549.1.9.14","extensionRequest");I("1.2.840.113549.1.9.20","friendlyName");I("1.2.840.113549.1.9.21","localKeyId");I("1.2.840.113549.1.9.22.1","x509Certificate");I("1.2.840.113549.1.12.10.1.1","keyBag");I("1.2.840.113549.1.12.10.1.2","pkcs8ShroudedKeyBag");I("1.2.840.113549.1.12.10.1.3","certBag");I("1.2.840.113549.1.12.10.1.4","crlBag");I("1.2.840.113549.1.12.10.1.5","secretBag");I("1.2.840.113549.1.12.10.1.6","safeContentsBag");I("1.2.840.113549.1.5.13","pkcs5PBES2");I("1.2.840.113549.1.5.12","pkcs5PBKDF2");I("1.2.840.113549.1.12.1.1","pbeWithSHAAnd128BitRC4");I("1.2.840.113549.1.12.1.2","pbeWithSHAAnd40BitRC4");I("1.2.840.113549.1.12.1.3","pbeWithSHAAnd3-KeyTripleDES-CBC");I("1.2.840.113549.1.12.1.4","pbeWithSHAAnd2-KeyTripleDES-CBC");I("1.2.840.113549.1.12.1.5","pbeWithSHAAnd128BitRC2-CBC");I("1.2.840.113549.1.12.1.6","pbewithSHAAnd40BitRC2-CBC");I("1.2.840.113549.2.7","hmacWithSHA1");I("1.2.840.113549.2.8","hmacWithSHA224");I("1.2.840.113549.2.9","hmacWithSHA256");I("1.2.840.113549.2.10","hmacWithSHA384");I("1.2.840.113549.2.11","hmacWithSHA512");I("1.2.840.113549.3.7","des-EDE3-CBC");I("2.16.840.1.101.3.4.1.2","aes128-CBC");I("2.16.840.1.101.3.4.1.22","aes192-CBC");I("2.16.840.1.101.3.4.1.42","aes256-CBC");I("2.5.4.3","commonName");I("2.5.4.4","surname");I("2.5.4.5","serialNumber");I("2.5.4.6","countryName");I("2.5.4.7","localityName");I("2.5.4.8","stateOrProvinceName");I("2.5.4.9","streetAddress");I("2.5.4.10","organizationName");I("2.5.4.11","organizationalUnitName");I("2.5.4.12","title");I("2.5.4.13","description");I("2.5.4.15","businessCategory");I("2.5.4.17","postalCode");I("2.5.4.42","givenName");I("1.3.6.1.4.1.311.60.2.1.2","jurisdictionOfIncorporationStateOrProvinceName");I("1.3.6.1.4.1.311.60.2.1.3","jurisdictionOfIncorporationCountryName");I("2.16.840.1.113730.1.1","nsCertType");I("2.16.840.1.113730.1.13","nsComment");ne("2.5.29.1","authorityKeyIdentifier");ne("2.5.29.2","keyAttributes");ne("2.5.29.3","certificatePolicies");ne("2.5.29.4","keyUsageRestriction");ne("2.5.29.5","policyMapping");ne("2.5.29.6","subtreesConstraint");ne("2.5.29.7","subjectAltName");ne("2.5.29.8","issuerAltName");ne("2.5.29.9","subjectDirectoryAttributes");ne("2.5.29.10","basicConstraints");ne("2.5.29.11","nameConstraints");ne("2.5.29.12","policyConstraints");ne("2.5.29.13","basicConstraints");I("2.5.29.14","subjectKeyIdentifier");I("2.5.29.15","keyUsage");ne("2.5.29.16","privateKeyUsagePeriod");I("2.5.29.17","subjectAltName");I("2.5.29.18","issuerAltName");I("2.5.29.19","basicConstraints");ne("2.5.29.20","cRLNumber");ne("2.5.29.21","cRLReason");ne("2.5.29.22","expirationDate");ne("2.5.29.23","instructionCode");ne("2.5.29.24","invalidityDate");ne("2.5.29.25","cRLDistributionPoints");ne("2.5.29.26","issuingDistributionPoint");ne("2.5.29.27","deltaCRLIndicator");ne("2.5.29.28","issuingDistributionPoint");ne("2.5.29.29","certificateIssuer");ne("2.5.29.30","nameConstraints");I("2.5.29.31","cRLDistributionPoints");I("2.5.29.32","certificatePolicies");ne("2.5.29.33","policyMappings");ne("2.5.29.34","policyConstraints");I("2.5.29.35","authorityKeyIdentifier");ne("2.5.29.36","policyConstraints");I("2.5.29.37","extKeyUsage");ne("2.5.29.46","freshestCRL");ne("2.5.29.54","inhibitAnyPolicy");I("1.3.6.1.4.1.11129.2.4.2","timestampList");I("1.3.6.1.5.5.7.1.1","authorityInfoAccess");I("1.3.6.1.5.5.7.3.1","serverAuth");I("1.3.6.1.5.5.7.3.2","clientAuth");I("1.3.6.1.5.5.7.3.3","codeSigning");I("1.3.6.1.5.5.7.3.4","emailProtection");I("1.3.6.1.5.5.7.3.8","timeStamping")});var Ai=R((U_,gf)=>{var he=se();Ie();Cs();var B=gf.exports=he.asn1=he.asn1||{};B.Class={UNIVERSAL:0,APPLICATION:64,CONTEXT_SPECIFIC:128,PRIVATE:192};B.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};B.create=function(t,e,r,n,i){if(he.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:t,type:e,constructed:r,composed:r||he.util.isArray(n),value:n};return i&&"bitStringContents"in i&&(a.bitStringContents=i.bitStringContents,a.original=B.copy(a)),a};B.copy=function(t,e){var r;if(he.util.isArray(t)){r=[];for(var n=0;n<t.length;++n)r.push(B.copy(t[n],e));return r}return typeof t=="string"?t:(r={tagClass:t.tagClass,type:t.type,constructed:t.constructed,composed:t.composed,value:B.copy(t.value,e)},e&&!e.excludeBitStringContents&&(r.bitStringContents=t.bitStringContents),r)};B.equals=function(t,e,r){if(he.util.isArray(t)){if(!he.util.isArray(e)||t.length!==e.length)return!1;for(var n=0;n<t.length;++n)if(!B.equals(t[n],e[n]))return!1;return!0}if(typeof t!=typeof e)return!1;if(typeof t=="string")return t===e;var i=t.tagClass===e.tagClass&&t.type===e.type&&t.constructed===e.constructed&&t.composed===e.composed&&B.equals(t.value,e.value);return r&&r.includeBitStringContents&&(i=i&&t.bitStringContents===e.bitStringContents),i};B.getBerValueLength=function(t){var e=t.getByte();if(e!==128){var r,n=e&128;return n?r=t.getInt((e&127)<<3):r=e,r}};function Si(t,e,r){if(r>e){var n=new Error("Too few bytes to parse DER.");throw n.available=t.length(),n.remaining=e,n.requested=r,n}}var bg=function(t,e){var r=t.getByte();if(e--,r!==128){var n,i=r&128;if(!i)n=r;else{var s=r&127;Si(t,e,s),n=t.getInt(s<<3)}if(n<0)throw new Error("Negative length: "+n);return n}};B.fromDer=function(t,e){e===void 0&&(e={strict:!0,parseAllBytes:!0,decodeBitStrings:!0}),typeof e=="boolean"&&(e={strict:e,parseAllBytes:!0,decodeBitStrings:!0}),"strict"in e||(e.strict=!0),"parseAllBytes"in e||(e.parseAllBytes=!0),"decodeBitStrings"in e||(e.decodeBitStrings=!0),typeof t=="string"&&(t=he.util.createBuffer(t));var r=t.length(),n=Ts(t,t.length(),0,e);if(e.parseAllBytes&&t.length()!==0){var i=new Error("Unparsed DER bytes remain after ASN.1 parsing.");throw i.byteCount=r,i.remaining=t.length(),i}return n};function Ts(t,e,r,n){var i;Si(t,e,2);var s=t.getByte();e--;var o=s&192,a=s&31;i=t.length();var c=bg(t,e);if(e-=i-t.length(),c!==void 0&&c>e){if(n.strict){var u=new Error("Too few bytes to read ASN.1 value.");throw u.available=t.length(),u.remaining=e,u.requested=c,u}c=e}var l,f,h=(s&32)===32;if(h)if(l=[],c===void 0)for(;;){if(Si(t,e,2),t.bytes(2)===String.fromCharCode(0,0)){t.getBytes(2),e-=2;break}i=t.length(),l.push(Ts(t,e,r+1,n)),e-=i-t.length()}else for(;c>0;)i=t.length(),l.push(Ts(t,c,r+1,n)),e-=i-t.length(),c-=i-t.length();if(l===void 0&&o===B.Class.UNIVERSAL&&a===B.Type.BITSTRING&&(f=t.bytes(c)),l===void 0&&n.decodeBitStrings&&o===B.Class.UNIVERSAL&&a===B.Type.BITSTRING&&c>1){var d=t.read,p=e,m=0;if(a===B.Type.BITSTRING&&(Si(t,e,1),m=t.getByte(),e--),m===0)try{i=t.length();var y={strict:!0,decodeBitStrings:!0},g=Ts(t,e,r+1,y),w=i-t.length();e-=w,a==B.Type.BITSTRING&&w++;var _=g.tagClass;w===c&&(_===B.Class.UNIVERSAL||_===B.Class.CONTEXT_SPECIFIC)&&(l=[g])}catch{}l===void 0&&(t.read=d,e=p)}if(l===void 0){if(c===void 0){if(n.strict)throw new Error("Non-constructed ASN.1 object of indefinite length.");c=e}if(a===B.Type.BMPSTRING)for(l="";c>0;c-=2)Si(t,e,2),l+=String.fromCharCode(t.getInt16()),e-=2;else l=t.getBytes(c),e-=c}var N=f===void 0?null:{bitStringContents:f};return B.create(o,a,h,l,N)}B.toDer=function(t){var e=he.util.createBuffer(),r=t.tagClass|t.type,n=he.util.createBuffer(),i=!1;if("bitStringContents"in t&&(i=!0,t.original&&(i=B.equals(t,t.original))),i)n.putBytes(t.bitStringContents);else if(t.composed){t.constructed?r|=32:n.putByte(0);for(var s=0;s<t.value.length;++s)t.value[s]!==void 0&&n.putBuffer(B.toDer(t.value[s]))}else if(t.type===B.Type.BMPSTRING)for(var s=0;s<t.value.length;++s)n.putInt16(t.value.charCodeAt(s));else t.type===B.Type.INTEGER&&t.value.length>1&&(t.value.charCodeAt(0)===0&&!(t.value.charCodeAt(1)&128)||t.value.charCodeAt(0)===255&&(t.value.charCodeAt(1)&128)===128)?n.putBytes(t.value.substr(1)):n.putBytes(t.value);if(e.putByte(r),n.length()<=127)e.putByte(n.length()&127);else{var o=n.length(),a="";do a+=String.fromCharCode(o&255),o=o>>>8;while(o>0);e.putByte(a.length|128);for(var s=a.length-1;s>=0;--s)e.putByte(a.charCodeAt(s))}return e.putBuffer(n),e};B.oidToDer=function(t){var e=t.split("."),r=he.util.createBuffer();r.putByte(40*parseInt(e[0],10)+parseInt(e[1],10));for(var n,i,s,o,a=2;a<e.length;++a){n=!0,i=[],s=parseInt(e[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)r.putByte(i[c])}return r};B.derToOid=function(t){var e;typeof t=="string"&&(t=he.util.createBuffer(t));var r=t.getByte();e=Math.floor(r/40)+"."+r%40;for(var n=0;t.length()>0;)r=t.getByte(),n=n<<7,r&128?n+=r&127:(e+="."+(n+r),n=0);return e};B.utcTimeToDate=function(t){var e=new Date,r=parseInt(t.substr(0,2),10);r=r>=50?1900+r:2e3+r;var n=parseInt(t.substr(2,2),10)-1,i=parseInt(t.substr(4,2),10),s=parseInt(t.substr(6,2),10),o=parseInt(t.substr(8,2),10),a=0;if(t.length>11){var c=t.charAt(10),u=10;c!=="+"&&c!=="-"&&(a=parseInt(t.substr(10,2),10),u+=2)}if(e.setUTCFullYear(r,n,i),e.setUTCHours(s,o,a,0),u&&(c=t.charAt(u),c==="+"||c==="-")){var l=parseInt(t.substr(u+1,2),10),f=parseInt(t.substr(u+4,2),10),h=l*60+f;h*=6e4,c==="+"?e.setTime(+e-h):e.setTime(+e+h)}return e};B.generalizedTimeToDate=function(t){var e=new Date,r=parseInt(t.substr(0,4),10),n=parseInt(t.substr(4,2),10)-1,i=parseInt(t.substr(6,2),10),s=parseInt(t.substr(8,2),10),o=parseInt(t.substr(10,2),10),a=parseInt(t.substr(12,2),10),c=0,u=0,l=!1;t.charAt(t.length-1)==="Z"&&(l=!0);var f=t.length-5,h=t.charAt(f);if(h==="+"||h==="-"){var d=parseInt(t.substr(f+1,2),10),p=parseInt(t.substr(f+4,2),10);u=d*60+p,u*=6e4,h==="+"&&(u*=-1),l=!0}return t.charAt(14)==="."&&(c=parseFloat(t.substr(14),10)*1e3),l?(e.setUTCFullYear(r,n,i),e.setUTCHours(s,o,a,c),e.setTime(+e+u)):(e.setFullYear(r,n,i),e.setHours(s,o,a,c)),e};B.dateToUtcTime=function(t){if(typeof t=="string")return t;var e="",r=[];r.push((""+t.getUTCFullYear()).substr(2)),r.push(""+(t.getUTCMonth()+1)),r.push(""+t.getUTCDate()),r.push(""+t.getUTCHours()),r.push(""+t.getUTCMinutes()),r.push(""+t.getUTCSeconds());for(var n=0;n<r.length;++n)r[n].length<2&&(e+="0"),e+=r[n];return e+="Z",e};B.dateToGeneralizedTime=function(t){if(typeof t=="string")return t;var e="",r=[];r.push(""+t.getUTCFullYear()),r.push(""+(t.getUTCMonth()+1)),r.push(""+t.getUTCDate()),r.push(""+t.getUTCHours()),r.push(""+t.getUTCMinutes()),r.push(""+t.getUTCSeconds());for(var n=0;n<r.length;++n)r[n].length<2&&(e+="0"),e+=r[n];return e+="Z",e};B.integerToDer=function(t){var e=he.util.createBuffer();if(t>=-128&&t<128)return e.putSignedInt(t,8);if(t>=-32768&&t<32768)return e.putSignedInt(t,16);if(t>=-8388608&&t<8388608)return e.putSignedInt(t,24);if(t>=-2147483648&&t<2147483648)return e.putSignedInt(t,32);var r=new Error("Integer too large; max is 32-bits.");throw r.integer=t,r};B.derToInteger=function(t){typeof t=="string"&&(t=he.util.createBuffer(t));var e=t.length()*8;if(e>32)throw new Error("Integer too large; max is 32-bits.");return t.getSignedInt(e)};B.validate=function(t,e,r,n){var i=!1;if((t.tagClass===e.tagClass||typeof e.tagClass>"u")&&(t.type===e.type||typeof e.type>"u"))if(t.constructed===e.constructed||typeof e.constructed>"u"){if(i=!0,e.value&&he.util.isArray(e.value))for(var s=0,o=0;i&&o<e.value.length;++o)i=e.value[o].optional||!1,t.value[s]&&(i=B.validate(t.value[s],e.value[o],r,n),i?++s:e.value[o].optional&&(i=!0)),!i&&n&&n.push("["+e.name+'] Tag class "'+e.tagClass+'", type "'+e.type+'" expected value length "'+e.value.length+'", got "'+t.value.length+'"');if(i&&r&&(e.capture&&(r[e.capture]=t.value),e.captureAsn1&&(r[e.captureAsn1]=t),e.captureBitStringContents&&"bitStringContents"in t&&(r[e.captureBitStringContents]=t.bitStringContents),e.captureBitStringValue&&"bitStringContents"in t)){var a;if(t.bitStringContents.length<2)r[e.captureBitStringValue]="";else{var c=t.bitStringContents.charCodeAt(0);if(c!==0)throw new Error("captureBitStringValue only supported for zero unused bits");r[e.captureBitStringValue]=t.bitStringContents.slice(1)}}}else n&&n.push("["+e.name+'] Expected constructed "'+e.constructed+'", got "'+t.constructed+'"');else n&&(t.tagClass!==e.tagClass&&n.push("["+e.name+'] Expected tag class "'+e.tagClass+'", got "'+t.tagClass+'"'),t.type!==e.type&&n.push("["+e.name+'] Expected type "'+e.type+'", got "'+t.type+'"'));return i};var yf=/[^\\u0000-\\u00ff]/;B.prettyPrint=function(t,e,r){var n="";e=e||0,r=r||2,e>0&&(n+=`
6
- `);for(var i="",s=0;s<e*r;++s)i+=" ";switch(n+=i+"Tag: ",t.tagClass){case B.Class.UNIVERSAL:n+="Universal:";break;case B.Class.APPLICATION:n+="Application:";break;case B.Class.CONTEXT_SPECIFIC:n+="Context-Specific:";break;case B.Class.PRIVATE:n+="Private:";break}if(t.tagClass===B.Class.UNIVERSAL)switch(n+=t.type,t.type){case B.Type.NONE:n+=" (None)";break;case B.Type.BOOLEAN:n+=" (Boolean)";break;case B.Type.INTEGER:n+=" (Integer)";break;case B.Type.BITSTRING:n+=" (Bit string)";break;case B.Type.OCTETSTRING:n+=" (Octet string)";break;case B.Type.NULL:n+=" (Null)";break;case B.Type.OID:n+=" (Object Identifier)";break;case B.Type.ODESC:n+=" (Object Descriptor)";break;case B.Type.EXTERNAL:n+=" (External or Instance of)";break;case B.Type.REAL:n+=" (Real)";break;case B.Type.ENUMERATED:n+=" (Enumerated)";break;case B.Type.EMBEDDED:n+=" (Embedded PDV)";break;case B.Type.UTF8:n+=" (UTF8)";break;case B.Type.ROID:n+=" (Relative Object Identifier)";break;case B.Type.SEQUENCE:n+=" (Sequence)";break;case B.Type.SET:n+=" (Set)";break;case B.Type.PRINTABLESTRING:n+=" (Printable String)";break;case B.Type.IA5String:n+=" (IA5String (ASCII))";break;case B.Type.UTCTIME:n+=" (UTC time)";break;case B.Type.GENERALIZEDTIME:n+=" (Generalized time)";break;case B.Type.BMPSTRING:n+=" (BMP String)";break}else n+=t.type;if(n+=`
2
+ "use strict";var Libp2P=(()=>{var cx=Object.create;var $i=Object.defineProperty;var ux=Object.getOwnPropertyDescriptor;var lx=Object.getOwnPropertyNames;var fx=Object.getPrototypeOf,hx=Object.prototype.hasOwnProperty;var dx=(t,e,r)=>e in t?$i(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r;var B=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),$=(t,e)=>{for(var r in e)$i(t,r,{get:e[r],enumerable:!0})},vh=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of lx(e))!hx.call(t,i)&&i!==r&&$i(t,i,{get:()=>e[i],enumerable:!(n=ux(e,i))||n.enumerable});return t};var z=(t,e,r)=>(r=t!=null?cx(fx(t)):{},vh(e||!t||!t.__esModule?$i(r,"default",{value:t,enumerable:!0}):r,t)),px=t=>vh($i({},"__esModule",{value:!0}),t);var wt=(t,e,r)=>(dx(t,typeof e!="symbol"?e+"":e,r),r);var Hi=B((jR,lc)=>{"use strict";var Un=typeof Reflect=="object"?Reflect:null,Eh=Un&&typeof Un.apply=="function"?Un.apply:function(e,r,n){return Function.prototype.apply.call(e,r,n)},is;Un&&typeof Un.ownKeys=="function"?is=Un.ownKeys:Object.getOwnPropertySymbols?is=function(e){return Object.getOwnPropertyNames(e).concat(Object.getOwnPropertySymbols(e))}:is=function(e){return Object.getOwnPropertyNames(e)};function mx(t){console&&console.warn&&console.warn(t)}var Sh=Number.isNaN||function(e){return e!==e};function ce(){ce.init.call(this)}lc.exports=ce;lc.exports.once=wx;ce.EventEmitter=ce;ce.prototype._events=void 0;ce.prototype._eventsCount=0;ce.prototype._maxListeners=void 0;var _h=10;function os(t){if(typeof t!="function")throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof t)}Object.defineProperty(ce,"defaultMaxListeners",{enumerable:!0,get:function(){return _h},set:function(t){if(typeof t!="number"||t<0||Sh(t))throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received '+t+".");_h=t}});ce.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};ce.prototype.setMaxListeners=function(e){if(typeof e!="number"||e<0||Sh(e))throw new RangeError('The value of "n" is out of range. It must be a non-negative number. Received '+e+".");return this._maxListeners=e,this};function Ah(t){return t._maxListeners===void 0?ce.defaultMaxListeners:t._maxListeners}ce.prototype.getMaxListeners=function(){return Ah(this)};ce.prototype.emit=function(e){for(var r=[],n=1;n<arguments.length;n++)r.push(arguments[n]);var i=e==="error",o=this._events;if(o!==void 0)i=i&&o.error===void 0;else if(!i)return!1;if(i){var s;if(r.length>0&&(s=r[0]),s instanceof Error)throw s;var a=new Error("Unhandled error."+(s?" ("+s.message+")":""));throw a.context=s,a}var c=o[e];if(c===void 0)return!1;if(typeof c=="function")Eh(c,this,r);else for(var u=c.length,l=Bh(c,u),n=0;n<u;++n)Eh(l[n],this,r);return!0};function Ih(t,e,r,n){var i,o,s;if(os(r),o=t._events,o===void 0?(o=t._events=Object.create(null),t._eventsCount=0):(o.newListener!==void 0&&(t.emit("newListener",e,r.listener?r.listener:r),o=t._events),s=o[e]),s===void 0)s=o[e]=r,++t._eventsCount;else if(typeof s=="function"?s=o[e]=n?[r,s]:[s,r]:n?s.unshift(r):s.push(r),i=Ah(t),i>0&&s.length>i&&!s.warned){s.warned=!0;var a=new Error("Possible EventEmitter memory leak detected. "+s.length+" "+String(e)+" listeners added. Use emitter.setMaxListeners() to increase limit");a.name="MaxListenersExceededWarning",a.emitter=t,a.type=e,a.count=s.length,mx(a)}return t}ce.prototype.addListener=function(e,r){return Ih(this,e,r,!1)};ce.prototype.on=ce.prototype.addListener;ce.prototype.prependListener=function(e,r){return Ih(this,e,r,!0)};function yx(){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 Rh(t,e,r){var n={fired:!1,wrapFn:void 0,target:t,type:e,listener:r},i=yx.bind(n);return i.listener=r,n.wrapFn=i,i}ce.prototype.once=function(e,r){return os(r),this.on(e,Rh(this,e,r)),this};ce.prototype.prependOnceListener=function(e,r){return os(r),this.prependListener(e,Rh(this,e,r)),this};ce.prototype.removeListener=function(e,r){var n,i,o,s,a;if(os(r),i=this._events,i===void 0)return this;if(n=i[e],n===void 0)return this;if(n===r||n.listener===r)--this._eventsCount===0?this._events=Object.create(null):(delete i[e],i.removeListener&&this.emit("removeListener",e,n.listener||r));else if(typeof n!="function"){for(o=-1,s=n.length-1;s>=0;s--)if(n[s]===r||n[s].listener===r){a=n[s].listener,o=s;break}if(o<0)return this;o===0?n.shift():gx(n,o),n.length===1&&(i[e]=n[0]),i.removeListener!==void 0&&this.emit("removeListener",e,a||r)}return this};ce.prototype.off=ce.prototype.removeListener;ce.prototype.removeAllListeners=function(e){var r,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[e]!==void 0&&(--this._eventsCount===0?this._events=Object.create(null):delete n[e]),this;if(arguments.length===0){var o=Object.keys(n),s;for(i=0;i<o.length;++i)s=o[i],s!=="removeListener"&&this.removeAllListeners(s);return this.removeAllListeners("removeListener"),this._events=Object.create(null),this._eventsCount=0,this}if(r=n[e],typeof r=="function")this.removeListener(e,r);else if(r!==void 0)for(i=r.length-1;i>=0;i--)this.removeListener(e,r[i]);return this};function Ch(t,e,r){var n=t._events;if(n===void 0)return[];var i=n[e];return i===void 0?[]:typeof i=="function"?r?[i.listener||i]:[i]:r?xx(i):Bh(i,i.length)}ce.prototype.listeners=function(e){return Ch(this,e,!0)};ce.prototype.rawListeners=function(e){return Ch(this,e,!1)};ce.listenerCount=function(t,e){return typeof t.listenerCount=="function"?t.listenerCount(e):Th.call(t,e)};ce.prototype.listenerCount=Th;function Th(t){var e=this._events;if(e!==void 0){var r=e[t];if(typeof r=="function")return 1;if(r!==void 0)return r.length}return 0}ce.prototype.eventNames=function(){return this._eventsCount>0?is(this._events):[]};function Bh(t,e){for(var r=new Array(e),n=0;n<e;++n)r[n]=t[n];return r}function gx(t,e){for(;e+1<t.length;e++)t[e]=t[e+1];t.pop()}function xx(t){for(var e=new Array(t.length),r=0;r<e.length;++r)e[r]=t[r].listener||t[r];return e}function wx(t,e){return new Promise(function(r,n){function i(s){t.removeListener(e,o),n(s)}function o(){typeof t.removeListener=="function"&&t.removeListener("error",i),r([].slice.call(arguments))}Lh(t,e,o,{once:!0}),e!=="error"&&bx(t,i,{once:!0})})}function bx(t,e,r){typeof t.on=="function"&&Lh(t,"error",e,r)}function Lh(t,e,r,n){if(typeof t.on=="function")n.once?t.once(e,r):t.on(e,r);else if(typeof t.addEventListener=="function")t.addEventListener(e,function i(o){n.once&&t.removeEventListener(e,i),r(o)});else throw new TypeError('The "emitter" argument must be of type EventEmitter. Received type '+typeof t)}});var ae=B((JR,Ph)=>{Ph.exports={options:{usePureJavaScript:!1}}});var kh=B((e4,Nh)=>{var fc={};Nh.exports=fc;var Dh={};fc.encode=function(t,e,r){if(typeof e!="string")throw new TypeError('"alphabet" must be a string.');if(r!==void 0&&typeof r!="number")throw new TypeError('"maxline" must be a number.');var n="";if(!(t instanceof Uint8Array))n=vx(t,e);else{var i=0,o=e.length,s=e.charAt(0),a=[0];for(i=0;i<t.length;++i){for(var c=0,u=t[i];c<a.length;++c)u+=a[c]<<8,a[c]=u%o,u=u/o|0;for(;u>0;)a.push(u%o),u=u/o|0}for(i=0;t[i]===0&&i<t.length-1;++i)n+=s;for(i=a.length-1;i>=0;--i)n+=e[a[i]]}if(r){var l=new RegExp(".{1,"+r+"}","g");n=n.match(l).join(`\r
3
+ `)}return n};fc.decode=function(t,e){if(typeof t!="string")throw new TypeError('"input" must be a string.');if(typeof e!="string")throw new TypeError('"alphabet" must be a string.');var r=Dh[e];if(!r){r=Dh[e]=[];for(var n=0;n<e.length;++n)r[e.charCodeAt(n)]=n}t=t.replace(/\s/g,"");for(var i=e.length,o=e.charAt(0),s=[0],n=0;n<t.length;n++){var a=r[t.charCodeAt(n)];if(a===void 0)return;for(var c=0,u=a;c<s.length;++c)u+=s[c]*i,s[c]=u&255,u>>=8;for(;u>0;)s.push(u&255),u>>=8}for(var l=0;t[l]===o&&l<t.length-1;++l)s.push(0);return typeof Buffer<"u"?Buffer.from(s.reverse()):new Uint8Array(s.reverse())};function vx(t,e){var r=0,n=e.length,i=e.charAt(0),o=[0];for(r=0;r<t.length();++r){for(var s=0,a=t.at(r);s<o.length;++s)a+=o[s]<<8,o[s]=a%n,a=a/n|0;for(;a>0;)o.push(a%n),a=a/n|0}var c="";for(r=0;t.at(r)===0&&r<t.length()-1;++r)c+=i;for(r=o.length-1;r>=0;--r)c+=e[o[r]];return c}});var Le=B((t4,Fh)=>{var Oh=ae(),Mh=kh(),w=Fh.exports=Oh.util=Oh.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===t){c.stopPropagation();var u=e.slice();e.length=0,u.forEach(function(l){l()})}};var s=a,t="forge.setImmediate",e=[];w.setImmediate=function(c){e.push(c),e.length===1&&window.postMessage(t,"*")},window.addEventListener("message",a,!0)}if(typeof MutationObserver<"u"){var r=Date.now(),n=!0,i=document.createElement("div"),e=[];new MutationObserver(function(){var c=e.slice();e.length=0,c.forEach(function(u){u()})}).observe(i,{attributes:!0});var o=w.setImmediate;w.setImmediate=function(c){Date.now()-r>15?(r=Date.now(),o(c)):(e.push(c),e.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(t){return Object.prototype.toString.call(t)==="[object Array]"};w.isArrayBuffer=function(t){return typeof ArrayBuffer<"u"&&t instanceof ArrayBuffer};w.isArrayBufferView=function(t){return t&&w.isArrayBuffer(t.buffer)&&t.byteLength!==void 0};function Gi(t){if(!(t===8||t===16||t===24||t===32))throw new Error("Only 8, 16, 24, or 32 bits supported: "+t)}w.ByteBuffer=hc;function hc(t){if(this.data="",this.read=0,typeof t=="string")this.data=t;else if(w.isArrayBuffer(t)||w.isArrayBufferView(t))if(typeof Buffer<"u"&&t instanceof Buffer)this.data=t.toString("binary");else{var e=new Uint8Array(t);try{this.data=String.fromCharCode.apply(null,e)}catch{for(var r=0;r<e.length;++r)this.putByte(e[r])}}else(t instanceof hc||typeof t=="object"&&typeof t.data=="string"&&typeof t.read=="number")&&(this.data=t.data,this.read=t.read);this._constructedStringLength=0}w.ByteStringBuffer=hc;var Ex=4096;w.ByteStringBuffer.prototype._optimizeConstructedString=function(t){this._constructedStringLength+=t,this._constructedStringLength>Ex&&(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(t){return this.putBytes(String.fromCharCode(t))};w.ByteStringBuffer.prototype.fillWithByte=function(t,e){t=String.fromCharCode(t);for(var r=this.data;e>0;)e&1&&(r+=t),e>>>=1,e>0&&(t+=t);return this.data=r,this._optimizeConstructedString(e),this};w.ByteStringBuffer.prototype.putBytes=function(t){return this.data+=t,this._optimizeConstructedString(t.length),this};w.ByteStringBuffer.prototype.putString=function(t){return this.putBytes(w.encodeUtf8(t))};w.ByteStringBuffer.prototype.putInt16=function(t){return this.putBytes(String.fromCharCode(t>>8&255)+String.fromCharCode(t&255))};w.ByteStringBuffer.prototype.putInt24=function(t){return this.putBytes(String.fromCharCode(t>>16&255)+String.fromCharCode(t>>8&255)+String.fromCharCode(t&255))};w.ByteStringBuffer.prototype.putInt32=function(t){return this.putBytes(String.fromCharCode(t>>24&255)+String.fromCharCode(t>>16&255)+String.fromCharCode(t>>8&255)+String.fromCharCode(t&255))};w.ByteStringBuffer.prototype.putInt16Le=function(t){return this.putBytes(String.fromCharCode(t&255)+String.fromCharCode(t>>8&255))};w.ByteStringBuffer.prototype.putInt24Le=function(t){return this.putBytes(String.fromCharCode(t&255)+String.fromCharCode(t>>8&255)+String.fromCharCode(t>>16&255))};w.ByteStringBuffer.prototype.putInt32Le=function(t){return this.putBytes(String.fromCharCode(t&255)+String.fromCharCode(t>>8&255)+String.fromCharCode(t>>16&255)+String.fromCharCode(t>>24&255))};w.ByteStringBuffer.prototype.putInt=function(t,e){Gi(e);var r="";do e-=8,r+=String.fromCharCode(t>>e&255);while(e>0);return this.putBytes(r)};w.ByteStringBuffer.prototype.putSignedInt=function(t,e){return t<0&&(t+=2<<e-1),this.putInt(t,e)};w.ByteStringBuffer.prototype.putBuffer=function(t){return this.putBytes(t.getBytes())};w.ByteStringBuffer.prototype.getByte=function(){return this.data.charCodeAt(this.read++)};w.ByteStringBuffer.prototype.getInt16=function(){var t=this.data.charCodeAt(this.read)<<8^this.data.charCodeAt(this.read+1);return this.read+=2,t};w.ByteStringBuffer.prototype.getInt24=function(){var t=this.data.charCodeAt(this.read)<<16^this.data.charCodeAt(this.read+1)<<8^this.data.charCodeAt(this.read+2);return this.read+=3,t};w.ByteStringBuffer.prototype.getInt32=function(){var t=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,t};w.ByteStringBuffer.prototype.getInt16Le=function(){var t=this.data.charCodeAt(this.read)^this.data.charCodeAt(this.read+1)<<8;return this.read+=2,t};w.ByteStringBuffer.prototype.getInt24Le=function(){var t=this.data.charCodeAt(this.read)^this.data.charCodeAt(this.read+1)<<8^this.data.charCodeAt(this.read+2)<<16;return this.read+=3,t};w.ByteStringBuffer.prototype.getInt32Le=function(){var t=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,t};w.ByteStringBuffer.prototype.getInt=function(t){Gi(t);var e=0;do e=(e<<8)+this.data.charCodeAt(this.read++),t-=8;while(t>0);return e};w.ByteStringBuffer.prototype.getSignedInt=function(t){var e=this.getInt(t),r=2<<t-2;return e>=r&&(e-=r<<1),e};w.ByteStringBuffer.prototype.getBytes=function(t){var e;return t?(t=Math.min(this.length(),t),e=this.data.slice(this.read,this.read+t),this.read+=t):t===0?e="":(e=this.read===0?this.data:this.data.slice(this.read),this.clear()),e};w.ByteStringBuffer.prototype.bytes=function(t){return typeof t>"u"?this.data.slice(this.read):this.data.slice(this.read,this.read+t)};w.ByteStringBuffer.prototype.at=function(t){return this.data.charCodeAt(this.read+t)};w.ByteStringBuffer.prototype.setAt=function(t,e){return this.data=this.data.substr(0,this.read+t)+String.fromCharCode(e)+this.data.substr(this.read+t+1),this};w.ByteStringBuffer.prototype.last=function(){return this.data.charCodeAt(this.data.length-1)};w.ByteStringBuffer.prototype.copy=function(){var t=w.createBuffer(this.data);return t.read=this.read,t};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(t){var e=Math.max(0,this.length()-t);return this.data=this.data.substr(this.read,e),this.read=0,this};w.ByteStringBuffer.prototype.toHex=function(){for(var t="",e=this.read;e<this.data.length;++e){var r=this.data.charCodeAt(e);r<16&&(t+="0"),t+=r.toString(16)}return t};w.ByteStringBuffer.prototype.toString=function(){return w.decodeUtf8(this.bytes())};function _x(t,e){e=e||{},this.read=e.readOffset||0,this.growSize=e.growSize||1024;var r=w.isArrayBuffer(t),n=w.isArrayBufferView(t);if(r||n){r?this.data=new DataView(t):this.data=new DataView(t.buffer,t.byteOffset,t.byteLength),this.write="writeOffset"in e?e.writeOffset:this.data.byteLength;return}this.data=new DataView(new ArrayBuffer(0)),this.write=0,t!=null&&this.putBytes(t),"writeOffset"in e&&(this.write=e.writeOffset)}w.DataBuffer=_x;w.DataBuffer.prototype.length=function(){return this.write-this.read};w.DataBuffer.prototype.isEmpty=function(){return this.length()<=0};w.DataBuffer.prototype.accommodate=function(t,e){if(this.length()>=t)return this;e=Math.max(e||this.growSize,t);var r=new Uint8Array(this.data.buffer,this.data.byteOffset,this.data.byteLength),n=new Uint8Array(this.length()+e);return n.set(r),this.data=new DataView(n.buffer),this};w.DataBuffer.prototype.putByte=function(t){return this.accommodate(1),this.data.setUint8(this.write++,t),this};w.DataBuffer.prototype.fillWithByte=function(t,e){this.accommodate(e);for(var r=0;r<e;++r)this.data.setUint8(t);return this};w.DataBuffer.prototype.putBytes=function(t,e){if(w.isArrayBufferView(t)){var r=new Uint8Array(t.buffer,t.byteOffset,t.byteLength),n=r.byteLength-r.byteOffset;this.accommodate(n);var i=new Uint8Array(this.data.buffer,this.write);return i.set(r),this.write+=n,this}if(w.isArrayBuffer(t)){var r=new Uint8Array(t);this.accommodate(r.byteLength);var i=new Uint8Array(this.data.buffer);return i.set(r,this.write),this.write+=r.byteLength,this}if(t instanceof w.DataBuffer||typeof t=="object"&&typeof t.read=="number"&&typeof t.write=="number"&&w.isArrayBufferView(t.data)){var r=new Uint8Array(t.data.byteLength,t.read,t.length());this.accommodate(r.byteLength);var i=new Uint8Array(t.data.byteLength,this.write);return i.set(r),this.write+=r.byteLength,this}if(t instanceof w.ByteStringBuffer&&(t=t.data,e="binary"),e=e||"binary",typeof t=="string"){var o;if(e==="hex")return this.accommodate(Math.ceil(t.length/2)),o=new Uint8Array(this.data.buffer,this.write),this.write+=w.binary.hex.decode(t,o,this.write),this;if(e==="base64")return this.accommodate(Math.ceil(t.length/4)*3),o=new Uint8Array(this.data.buffer,this.write),this.write+=w.binary.base64.decode(t,o,this.write),this;if(e==="utf8"&&(t=w.encodeUtf8(t),e="binary"),e==="binary"||e==="raw")return this.accommodate(t.length),o=new Uint8Array(this.data.buffer,this.write),this.write+=w.binary.raw.decode(o),this;if(e==="utf16")return this.accommodate(t.length*2),o=new Uint16Array(this.data.buffer,this.write),this.write+=w.text.utf16.encode(o),this;throw new Error("Invalid encoding: "+e)}throw Error("Invalid parameter: "+t)};w.DataBuffer.prototype.putBuffer=function(t){return this.putBytes(t),t.clear(),this};w.DataBuffer.prototype.putString=function(t){return this.putBytes(t,"utf16")};w.DataBuffer.prototype.putInt16=function(t){return this.accommodate(2),this.data.setInt16(this.write,t),this.write+=2,this};w.DataBuffer.prototype.putInt24=function(t){return this.accommodate(3),this.data.setInt16(this.write,t>>8&65535),this.data.setInt8(this.write,t>>16&255),this.write+=3,this};w.DataBuffer.prototype.putInt32=function(t){return this.accommodate(4),this.data.setInt32(this.write,t),this.write+=4,this};w.DataBuffer.prototype.putInt16Le=function(t){return this.accommodate(2),this.data.setInt16(this.write,t,!0),this.write+=2,this};w.DataBuffer.prototype.putInt24Le=function(t){return this.accommodate(3),this.data.setInt8(this.write,t>>16&255),this.data.setInt16(this.write,t>>8&65535,!0),this.write+=3,this};w.DataBuffer.prototype.putInt32Le=function(t){return this.accommodate(4),this.data.setInt32(this.write,t,!0),this.write+=4,this};w.DataBuffer.prototype.putInt=function(t,e){Gi(e),this.accommodate(e/8);do e-=8,this.data.setInt8(this.write++,t>>e&255);while(e>0);return this};w.DataBuffer.prototype.putSignedInt=function(t,e){return Gi(e),this.accommodate(e/8),t<0&&(t+=2<<e-1),this.putInt(t,e)};w.DataBuffer.prototype.getByte=function(){return this.data.getInt8(this.read++)};w.DataBuffer.prototype.getInt16=function(){var t=this.data.getInt16(this.read);return this.read+=2,t};w.DataBuffer.prototype.getInt24=function(){var t=this.data.getInt16(this.read)<<8^this.data.getInt8(this.read+2);return this.read+=3,t};w.DataBuffer.prototype.getInt32=function(){var t=this.data.getInt32(this.read);return this.read+=4,t};w.DataBuffer.prototype.getInt16Le=function(){var t=this.data.getInt16(this.read,!0);return this.read+=2,t};w.DataBuffer.prototype.getInt24Le=function(){var t=this.data.getInt8(this.read)^this.data.getInt16(this.read+1,!0)<<8;return this.read+=3,t};w.DataBuffer.prototype.getInt32Le=function(){var t=this.data.getInt32(this.read,!0);return this.read+=4,t};w.DataBuffer.prototype.getInt=function(t){Gi(t);var e=0;do e=(e<<8)+this.data.getInt8(this.read++),t-=8;while(t>0);return e};w.DataBuffer.prototype.getSignedInt=function(t){var e=this.getInt(t),r=2<<t-2;return e>=r&&(e-=r<<1),e};w.DataBuffer.prototype.getBytes=function(t){var e;return t?(t=Math.min(this.length(),t),e=this.data.slice(this.read,this.read+t),this.read+=t):t===0?e="":(e=this.read===0?this.data:this.data.slice(this.read),this.clear()),e};w.DataBuffer.prototype.bytes=function(t){return typeof t>"u"?this.data.slice(this.read):this.data.slice(this.read,this.read+t)};w.DataBuffer.prototype.at=function(t){return this.data.getUint8(this.read+t)};w.DataBuffer.prototype.setAt=function(t,e){return this.data.setUint8(t,e),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 t=new Uint8Array(this.data.buffer,this.read),e=new Uint8Array(t.byteLength);e.set(t),this.data=new DataView(e),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(t){return this.write=Math.max(0,this.length()-t),this.read=Math.min(this.read,this.write),this};w.DataBuffer.prototype.toHex=function(){for(var t="",e=this.read;e<this.data.byteLength;++e){var r=this.data.getUint8(e);r<16&&(t+="0"),t+=r.toString(16)}return t};w.DataBuffer.prototype.toString=function(t){var e=new Uint8Array(this.data,this.read,this.length());if(t=t||"utf8",t==="binary"||t==="raw")return w.binary.raw.encode(e);if(t==="hex")return w.binary.hex.encode(e);if(t==="base64")return w.binary.base64.encode(e);if(t==="utf8")return w.text.utf8.decode(e);if(t==="utf16")return w.text.utf16.decode(e);throw new Error("Invalid encoding: "+t)};w.createBuffer=function(t,e){return e=e||"raw",t!==void 0&&e==="utf8"&&(t=w.encodeUtf8(t)),new w.ByteBuffer(t)};w.fillString=function(t,e){for(var r="";e>0;)e&1&&(r+=t),e>>>=1,e>0&&(t+=t);return r};w.xorBytes=function(t,e,r){for(var n="",i="",o="",s=0,a=0;r>0;--r,++s)i=t.charCodeAt(s)^e.charCodeAt(s),a>=10&&(n+=o,o="",a=0),o+=String.fromCharCode(i),++a;return n+=o,n};w.hexToBytes=function(t){var e="",r=0;for(t.length&!0&&(r=1,e+=String.fromCharCode(parseInt(t[0],16)));r<t.length;r+=2)e+=String.fromCharCode(parseInt(t.substr(r,2),16));return e};w.bytesToHex=function(t){return w.createBuffer(t).toHex()};w.int32ToBytes=function(t){return String.fromCharCode(t>>24&255)+String.fromCharCode(t>>16&255)+String.fromCharCode(t>>8&255)+String.fromCharCode(t&255)};var Sr="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",Ar=[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],Uh="123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz";w.encode64=function(t,e){for(var r="",n="",i,o,s,a=0;a<t.length;)i=t.charCodeAt(a++),o=t.charCodeAt(a++),s=t.charCodeAt(a++),r+=Sr.charAt(i>>2),r+=Sr.charAt((i&3)<<4|o>>4),isNaN(o)?r+="==":(r+=Sr.charAt((o&15)<<2|s>>6),r+=isNaN(s)?"=":Sr.charAt(s&63)),e&&r.length>e&&(n+=r.substr(0,e)+`\r
4
+ `,r=r.substr(e));return n+=r,n};w.decode64=function(t){t=t.replace(/[^A-Za-z0-9\+\/\=]/g,"");for(var e="",r,n,i,o,s=0;s<t.length;)r=Ar[t.charCodeAt(s++)-43],n=Ar[t.charCodeAt(s++)-43],i=Ar[t.charCodeAt(s++)-43],o=Ar[t.charCodeAt(s++)-43],e+=String.fromCharCode(r<<2|n>>4),i!==64&&(e+=String.fromCharCode((n&15)<<4|i>>2),o!==64&&(e+=String.fromCharCode((i&3)<<6|o)));return e};w.encodeUtf8=function(t){return unescape(encodeURIComponent(t))};w.decodeUtf8=function(t){return decodeURIComponent(escape(t))};w.binary={raw:{},hex:{},base64:{},base58:{},baseN:{encode:Mh.encode,decode:Mh.decode}};w.binary.raw.encode=function(t){return String.fromCharCode.apply(null,t)};w.binary.raw.decode=function(t,e,r){var n=e;n||(n=new Uint8Array(t.length)),r=r||0;for(var i=r,o=0;o<t.length;++o)n[i++]=t.charCodeAt(o);return e?i-r:n};w.binary.hex.encode=w.bytesToHex;w.binary.hex.decode=function(t,e,r){var n=e;n||(n=new Uint8Array(Math.ceil(t.length/2))),r=r||0;var i=0,o=r;for(t.length&1&&(i=1,n[o++]=parseInt(t[0],16));i<t.length;i+=2)n[o++]=parseInt(t.substr(i,2),16);return e?o-r:n};w.binary.base64.encode=function(t,e){for(var r="",n="",i,o,s,a=0;a<t.byteLength;)i=t[a++],o=t[a++],s=t[a++],r+=Sr.charAt(i>>2),r+=Sr.charAt((i&3)<<4|o>>4),isNaN(o)?r+="==":(r+=Sr.charAt((o&15)<<2|s>>6),r+=isNaN(s)?"=":Sr.charAt(s&63)),e&&r.length>e&&(n+=r.substr(0,e)+`\r
5
+ `,r=r.substr(e));return n+=r,n};w.binary.base64.decode=function(t,e,r){var n=e;n||(n=new Uint8Array(Math.ceil(t.length/4)*3)),t=t.replace(/[^A-Za-z0-9\+\/\=]/g,""),r=r||0;for(var i,o,s,a,c=0,u=r;c<t.length;)i=Ar[t.charCodeAt(c++)-43],o=Ar[t.charCodeAt(c++)-43],s=Ar[t.charCodeAt(c++)-43],a=Ar[t.charCodeAt(c++)-43],n[u++]=i<<2|o>>4,s!==64&&(n[u++]=(o&15)<<4|s>>2,a!==64&&(n[u++]=(s&3)<<6|a));return e?u-r:n.subarray(0,u)};w.binary.base58.encode=function(t,e){return w.binary.baseN.encode(t,Uh,e)};w.binary.base58.decode=function(t,e){return w.binary.baseN.decode(t,Uh,e)};w.text={utf8:{},utf16:{}};w.text.utf8.encode=function(t,e,r){t=w.encodeUtf8(t);var n=e;n||(n=new Uint8Array(t.length)),r=r||0;for(var i=r,o=0;o<t.length;++o)n[i++]=t.charCodeAt(o);return e?i-r:n};w.text.utf8.decode=function(t){return w.decodeUtf8(String.fromCharCode.apply(null,t))};w.text.utf16.encode=function(t,e,r){var n=e;n||(n=new Uint8Array(t.length*2));var i=new Uint16Array(n.buffer);r=r||0;for(var o=r,s=r,a=0;a<t.length;++a)i[s++]=t.charCodeAt(a),o+=2;return e?o-r:n};w.text.utf16.decode=function(t){return String.fromCharCode.apply(null,new Uint16Array(t.buffer))};w.deflate=function(t,e,r){if(e=w.decode64(t.deflate(w.encode64(e)).rval),r){var n=2,i=e.charCodeAt(1);i&32&&(n=6),e=e.substring(n,e.length-4)}return e};w.inflate=function(t,e,r){var n=t.inflate(w.encode64(e)).rval;return n===null?null:w.decode64(n)};var dc=function(t,e,r){if(!t)throw new Error("WebStorage not available.");var n;if(r===null?n=t.removeItem(e):(r=w.encode64(JSON.stringify(r)),n=t.setItem(e,r)),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}},pc=function(t,e){if(!t)throw new Error("WebStorage not available.");var r=t.getItem(e);if(t.init)if(r.rval===null){if(r.error){var n=new Error(r.error.message);throw n.id=r.error.id,n.name=r.error.name,n}r=null}else r=r.rval;return r!==null&&(r=JSON.parse(w.decode64(r))),r},Sx=function(t,e,r,n){var i=pc(t,e);i===null&&(i={}),i[r]=n,dc(t,e,i)},Ax=function(t,e,r){var n=pc(t,e);return n!==null&&(n=r in n?n[r]:null),n},Ix=function(t,e,r){var n=pc(t,e);if(n!==null&&r in n){delete n[r];var i=!0;for(var o in n){i=!1;break}i&&(n=null),dc(t,e,n)}},Rx=function(t,e){dc(t,e,null)},ss=function(t,e,r){var n=null;typeof r>"u"&&(r=["web","flash"]);var i,o=!1,s=null;for(var a in r){i=r[a];try{if(i==="flash"||i==="both"){if(e[0]===null)throw new Error("Flash local storage not available.");n=t.apply(this,e),o=i==="flash"}(i==="web"||i==="both")&&(e[0]=localStorage,n=t.apply(this,e),o=!0)}catch(c){s=c}if(o)break}if(!o)throw s;return n};w.setItem=function(t,e,r,n,i){ss(Sx,arguments,i)};w.getItem=function(t,e,r,n){return ss(Ax,arguments,n)};w.removeItem=function(t,e,r,n){ss(Ix,arguments,n)};w.clearItems=function(t,e,r){ss(Rx,arguments,r)};w.isEmpty=function(t){for(var e in t)if(t.hasOwnProperty(e))return!1;return!0};w.format=function(t){for(var e=/%./g,r,n,i=0,o=[],s=0;r=e.exec(t);){n=t.substring(s,e.lastIndex-2),n.length>0&&o.push(n),s=e.lastIndex;var a=r[0][1];switch(a){case"s":case"o":i<arguments.length?o.push(arguments[i+++1]):o.push("<?>");break;case"%":o.push("%");break;default:o.push("<%"+a+"?>")}}return o.push(t.substring(s)),o.join("")};w.formatNumber=function(t,e,r,n){var i=t,o=isNaN(e=Math.abs(e))?2:e,s=r===void 0?",":r,a=n===void 0?".":n,c=i<0?"-":"",u=parseInt(i=Math.abs(+i||0).toFixed(o),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)+(o?s+Math.abs(i-u).toFixed(o).slice(2):"")};w.formatSize=function(t){return t>=1073741824?t=w.formatNumber(t/1073741824,2,".","")+" GiB":t>=1048576?t=w.formatNumber(t/1048576,2,".","")+" MiB":t>=1024?t=w.formatNumber(t/1024,0)+" KiB":t=w.formatNumber(t,0)+" bytes",t};w.bytesFromIP=function(t){return t.indexOf(".")!==-1?w.bytesFromIPv4(t):t.indexOf(":")!==-1?w.bytesFromIPv6(t):null};w.bytesFromIPv4=function(t){if(t=t.split("."),t.length!==4)return null;for(var e=w.createBuffer(),r=0;r<t.length;++r){var n=parseInt(t[r],10);if(isNaN(n))return null;e.putByte(n)}return e.getBytes()};w.bytesFromIPv6=function(t){var e=0;t=t.split(":").filter(function(s){return s.length===0&&++e,!0});for(var r=(8-t.length+e)*2,n=w.createBuffer(),i=0;i<8;++i){if(!t[i]||t[i].length===0){n.fillWithByte(0,r),r=0;continue}var o=w.hexToBytes(t[i]);o.length<2&&n.putByte(0),n.putBytes(o)}return n.getBytes()};w.bytesToIP=function(t){return t.length===4?w.bytesToIPv4(t):t.length===16?w.bytesToIPv6(t):null};w.bytesToIPv4=function(t){if(t.length!==4)return null;for(var e=[],r=0;r<t.length;++r)e.push(t.charCodeAt(r));return e.join(".")};w.bytesToIPv6=function(t){if(t.length!==16)return null;for(var e=[],r=[],n=0,i=0;i<t.length;i+=2){for(var o=w.bytesToHex(t[i]+t[i+1]);o[0]==="0"&&o!=="0";)o=o.substr(1);if(o==="0"){var s=r[r.length-1],a=e.length;!s||a!==s.end+1?r.push({start:a,end:a}):(s.end=a,s.end-s.start>r[n].end-r[n].start&&(n=r.length-1))}e.push(o)}if(r.length>0){var c=r[n];c.end-c.start>0&&(e.splice(c.start,c.end-c.start+1,""),c.start===0&&e.unshift(""),c.end===7&&e.push(""))}return e.join(":")};w.estimateCores=function(t,e){if(typeof t=="function"&&(e=t,t={}),t=t||{},"cores"in w&&!t.update)return e(null,w.cores);if(typeof navigator<"u"&&"hardwareConcurrency"in navigator&&navigator.hardwareConcurrency>0)return w.cores=navigator.hardwareConcurrency,e(null,w.cores);if(typeof Worker>"u")return w.cores=1,e(null,w.cores);if(typeof Blob>"u")return w.cores=2,e(null,w.cores);var r=URL.createObjectURL(new Blob(["(",function(){self.addEventListener("message",function(s){for(var a=Date.now(),c=a+4;Date.now()<c;);self.postMessage({st:a,et:c})})}.toString(),")()"],{type:"application/javascript"}));n([],5,16);function n(s,a,c){if(a===0){var u=Math.floor(s.reduce(function(l,f){return l+f},0)/s.length);return w.cores=Math.max(1,u),URL.revokeObjectURL(r),e(null,w.cores)}i(c,function(l,f){s.push(o(c,f)),n(s,a-1,c)})}function i(s,a){for(var c=[],u=[],l=0;l<s;++l){var f=new Worker(r);f.addEventListener("message",function(d){if(u.push(d.data),u.length===s){for(var p=0;p<s;++p)c[p].terminate();a(null,u)}}),c.push(f)}for(var l=0;l<s;++l)c[l].postMessage(l)}function o(s,a){for(var c=[],u=0;u<s;++u)for(var l=a[u],f=c[u]=[],d=0;d<s;++d)if(u!==d){var p=a[d];(l.st>p.st&&l.st<p.et||p.st>l.st&&p.st<l.et)&&f.push(d)}return c.reduce(function(h,m){return Math.max(h,m.length)},0)}}});var as=B((r4,Kh)=>{var Yi=ae();Yi.pki=Yi.pki||{};var mc=Kh.exports=Yi.pki.oids=Yi.oids=Yi.oids||{};function R(t,e){mc[t]=e,mc[e]=t}function ie(t,e){mc[t]=e}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");ie("2.5.29.1","authorityKeyIdentifier");ie("2.5.29.2","keyAttributes");ie("2.5.29.3","certificatePolicies");ie("2.5.29.4","keyUsageRestriction");ie("2.5.29.5","policyMapping");ie("2.5.29.6","subtreesConstraint");ie("2.5.29.7","subjectAltName");ie("2.5.29.8","issuerAltName");ie("2.5.29.9","subjectDirectoryAttributes");ie("2.5.29.10","basicConstraints");ie("2.5.29.11","nameConstraints");ie("2.5.29.12","policyConstraints");ie("2.5.29.13","basicConstraints");R("2.5.29.14","subjectKeyIdentifier");R("2.5.29.15","keyUsage");ie("2.5.29.16","privateKeyUsagePeriod");R("2.5.29.17","subjectAltName");R("2.5.29.18","issuerAltName");R("2.5.29.19","basicConstraints");ie("2.5.29.20","cRLNumber");ie("2.5.29.21","cRLReason");ie("2.5.29.22","expirationDate");ie("2.5.29.23","instructionCode");ie("2.5.29.24","invalidityDate");ie("2.5.29.25","cRLDistributionPoints");ie("2.5.29.26","issuingDistributionPoint");ie("2.5.29.27","deltaCRLIndicator");ie("2.5.29.28","issuingDistributionPoint");ie("2.5.29.29","certificateIssuer");ie("2.5.29.30","nameConstraints");R("2.5.29.31","cRLDistributionPoints");R("2.5.29.32","certificatePolicies");ie("2.5.29.33","policyMappings");ie("2.5.29.34","policyConstraints");R("2.5.29.35","authorityKeyIdentifier");ie("2.5.29.36","policyConstraints");R("2.5.29.37","extKeyUsage");ie("2.5.29.46","freshestCRL");ie("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 Qi=B((n4,qh)=>{var de=ae();Le();as();var L=qh.exports=de.asn1=de.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(t,e,r,n,i){if(de.util.isArray(n)){for(var o=[],s=0;s<n.length;++s)n[s]!==void 0&&o.push(n[s]);n=o}var a={tagClass:t,type:e,constructed:r,composed:r||de.util.isArray(n),value:n};return i&&"bitStringContents"in i&&(a.bitStringContents=i.bitStringContents,a.original=L.copy(a)),a};L.copy=function(t,e){var r;if(de.util.isArray(t)){r=[];for(var n=0;n<t.length;++n)r.push(L.copy(t[n],e));return r}return typeof t=="string"?t:(r={tagClass:t.tagClass,type:t.type,constructed:t.constructed,composed:t.composed,value:L.copy(t.value,e)},e&&!e.excludeBitStringContents&&(r.bitStringContents=t.bitStringContents),r)};L.equals=function(t,e,r){if(de.util.isArray(t)){if(!de.util.isArray(e)||t.length!==e.length)return!1;for(var n=0;n<t.length;++n)if(!L.equals(t[n],e[n]))return!1;return!0}if(typeof t!=typeof e)return!1;if(typeof t=="string")return t===e;var i=t.tagClass===e.tagClass&&t.type===e.type&&t.constructed===e.constructed&&t.composed===e.composed&&L.equals(t.value,e.value);return r&&r.includeBitStringContents&&(i=i&&t.bitStringContents===e.bitStringContents),i};L.getBerValueLength=function(t){var e=t.getByte();if(e!==128){var r,n=e&128;return n?r=t.getInt((e&127)<<3):r=e,r}};function Wi(t,e,r){if(r>e){var n=new Error("Too few bytes to parse DER.");throw n.available=t.length(),n.remaining=e,n.requested=r,n}}var Cx=function(t,e){var r=t.getByte();if(e--,r!==128){var n,i=r&128;if(!i)n=r;else{var o=r&127;Wi(t,e,o),n=t.getInt(o<<3)}if(n<0)throw new Error("Negative length: "+n);return n}};L.fromDer=function(t,e){e===void 0&&(e={strict:!0,parseAllBytes:!0,decodeBitStrings:!0}),typeof e=="boolean"&&(e={strict:e,parseAllBytes:!0,decodeBitStrings:!0}),"strict"in e||(e.strict=!0),"parseAllBytes"in e||(e.parseAllBytes=!0),"decodeBitStrings"in e||(e.decodeBitStrings=!0),typeof t=="string"&&(t=de.util.createBuffer(t));var r=t.length(),n=cs(t,t.length(),0,e);if(e.parseAllBytes&&t.length()!==0){var i=new Error("Unparsed DER bytes remain after ASN.1 parsing.");throw i.byteCount=r,i.remaining=t.length(),i}return n};function cs(t,e,r,n){var i;Wi(t,e,2);var o=t.getByte();e--;var s=o&192,a=o&31;i=t.length();var c=Cx(t,e);if(e-=i-t.length(),c!==void 0&&c>e){if(n.strict){var u=new Error("Too few bytes to read ASN.1 value.");throw u.available=t.length(),u.remaining=e,u.requested=c,u}c=e}var l,f,d=(o&32)===32;if(d)if(l=[],c===void 0)for(;;){if(Wi(t,e,2),t.bytes(2)===String.fromCharCode(0,0)){t.getBytes(2),e-=2;break}i=t.length(),l.push(cs(t,e,r+1,n)),e-=i-t.length()}else for(;c>0;)i=t.length(),l.push(cs(t,c,r+1,n)),e-=i-t.length(),c-=i-t.length();if(l===void 0&&s===L.Class.UNIVERSAL&&a===L.Type.BITSTRING&&(f=t.bytes(c)),l===void 0&&n.decodeBitStrings&&s===L.Class.UNIVERSAL&&a===L.Type.BITSTRING&&c>1){var p=t.read,h=e,m=0;if(a===L.Type.BITSTRING&&(Wi(t,e,1),m=t.getByte(),e--),m===0)try{i=t.length();var y={strict:!0,decodeBitStrings:!0},g=cs(t,e,r+1,y),x=i-t.length();e-=x,a==L.Type.BITSTRING&&x++;var E=g.tagClass;x===c&&(E===L.Class.UNIVERSAL||E===L.Class.CONTEXT_SPECIFIC)&&(l=[g])}catch{}l===void 0&&(t.read=p,e=h)}if(l===void 0){if(c===void 0){if(n.strict)throw new Error("Non-constructed ASN.1 object of indefinite length.");c=e}if(a===L.Type.BMPSTRING)for(l="";c>0;c-=2)Wi(t,e,2),l+=String.fromCharCode(t.getInt16()),e-=2;else l=t.getBytes(c),e-=c}var T=f===void 0?null:{bitStringContents:f};return L.create(s,a,d,l,T)}L.toDer=function(t){var e=de.util.createBuffer(),r=t.tagClass|t.type,n=de.util.createBuffer(),i=!1;if("bitStringContents"in t&&(i=!0,t.original&&(i=L.equals(t,t.original))),i)n.putBytes(t.bitStringContents);else if(t.composed){t.constructed?r|=32:n.putByte(0);for(var o=0;o<t.value.length;++o)t.value[o]!==void 0&&n.putBuffer(L.toDer(t.value[o]))}else if(t.type===L.Type.BMPSTRING)for(var o=0;o<t.value.length;++o)n.putInt16(t.value.charCodeAt(o));else t.type===L.Type.INTEGER&&t.value.length>1&&(t.value.charCodeAt(0)===0&&!(t.value.charCodeAt(1)&128)||t.value.charCodeAt(0)===255&&(t.value.charCodeAt(1)&128)===128)?n.putBytes(t.value.substr(1)):n.putBytes(t.value);if(e.putByte(r),n.length()<=127)e.putByte(n.length()&127);else{var s=n.length(),a="";do a+=String.fromCharCode(s&255),s=s>>>8;while(s>0);e.putByte(a.length|128);for(var o=a.length-1;o>=0;--o)e.putByte(a.charCodeAt(o))}return e.putBuffer(n),e};L.oidToDer=function(t){var e=t.split("."),r=de.util.createBuffer();r.putByte(40*parseInt(e[0],10)+parseInt(e[1],10));for(var n,i,o,s,a=2;a<e.length;++a){n=!0,i=[],o=parseInt(e[a],10);do s=o&127,o=o>>>7,n||(s|=128),i.push(s),n=!1;while(o>0);for(var c=i.length-1;c>=0;--c)r.putByte(i[c])}return r};L.derToOid=function(t){var e;typeof t=="string"&&(t=de.util.createBuffer(t));var r=t.getByte();e=Math.floor(r/40)+"."+r%40;for(var n=0;t.length()>0;)r=t.getByte(),n=n<<7,r&128?n+=r&127:(e+="."+(n+r),n=0);return e};L.utcTimeToDate=function(t){var e=new Date,r=parseInt(t.substr(0,2),10);r=r>=50?1900+r:2e3+r;var n=parseInt(t.substr(2,2),10)-1,i=parseInt(t.substr(4,2),10),o=parseInt(t.substr(6,2),10),s=parseInt(t.substr(8,2),10),a=0;if(t.length>11){var c=t.charAt(10),u=10;c!=="+"&&c!=="-"&&(a=parseInt(t.substr(10,2),10),u+=2)}if(e.setUTCFullYear(r,n,i),e.setUTCHours(o,s,a,0),u&&(c=t.charAt(u),c==="+"||c==="-")){var l=parseInt(t.substr(u+1,2),10),f=parseInt(t.substr(u+4,2),10),d=l*60+f;d*=6e4,c==="+"?e.setTime(+e-d):e.setTime(+e+d)}return e};L.generalizedTimeToDate=function(t){var e=new Date,r=parseInt(t.substr(0,4),10),n=parseInt(t.substr(4,2),10)-1,i=parseInt(t.substr(6,2),10),o=parseInt(t.substr(8,2),10),s=parseInt(t.substr(10,2),10),a=parseInt(t.substr(12,2),10),c=0,u=0,l=!1;t.charAt(t.length-1)==="Z"&&(l=!0);var f=t.length-5,d=t.charAt(f);if(d==="+"||d==="-"){var p=parseInt(t.substr(f+1,2),10),h=parseInt(t.substr(f+4,2),10);u=p*60+h,u*=6e4,d==="+"&&(u*=-1),l=!0}return t.charAt(14)==="."&&(c=parseFloat(t.substr(14),10)*1e3),l?(e.setUTCFullYear(r,n,i),e.setUTCHours(o,s,a,c),e.setTime(+e+u)):(e.setFullYear(r,n,i),e.setHours(o,s,a,c)),e};L.dateToUtcTime=function(t){if(typeof t=="string")return t;var e="",r=[];r.push((""+t.getUTCFullYear()).substr(2)),r.push(""+(t.getUTCMonth()+1)),r.push(""+t.getUTCDate()),r.push(""+t.getUTCHours()),r.push(""+t.getUTCMinutes()),r.push(""+t.getUTCSeconds());for(var n=0;n<r.length;++n)r[n].length<2&&(e+="0"),e+=r[n];return e+="Z",e};L.dateToGeneralizedTime=function(t){if(typeof t=="string")return t;var e="",r=[];r.push(""+t.getUTCFullYear()),r.push(""+(t.getUTCMonth()+1)),r.push(""+t.getUTCDate()),r.push(""+t.getUTCHours()),r.push(""+t.getUTCMinutes()),r.push(""+t.getUTCSeconds());for(var n=0;n<r.length;++n)r[n].length<2&&(e+="0"),e+=r[n];return e+="Z",e};L.integerToDer=function(t){var e=de.util.createBuffer();if(t>=-128&&t<128)return e.putSignedInt(t,8);if(t>=-32768&&t<32768)return e.putSignedInt(t,16);if(t>=-8388608&&t<8388608)return e.putSignedInt(t,24);if(t>=-2147483648&&t<2147483648)return e.putSignedInt(t,32);var r=new Error("Integer too large; max is 32-bits.");throw r.integer=t,r};L.derToInteger=function(t){typeof t=="string"&&(t=de.util.createBuffer(t));var e=t.length()*8;if(e>32)throw new Error("Integer too large; max is 32-bits.");return t.getSignedInt(e)};L.validate=function(t,e,r,n){var i=!1;if((t.tagClass===e.tagClass||typeof e.tagClass>"u")&&(t.type===e.type||typeof e.type>"u"))if(t.constructed===e.constructed||typeof e.constructed>"u"){if(i=!0,e.value&&de.util.isArray(e.value))for(var o=0,s=0;i&&s<e.value.length;++s)i=e.value[s].optional||!1,t.value[o]&&(i=L.validate(t.value[o],e.value[s],r,n),i?++o:e.value[s].optional&&(i=!0)),!i&&n&&n.push("["+e.name+'] Tag class "'+e.tagClass+'", type "'+e.type+'" expected value length "'+e.value.length+'", got "'+t.value.length+'"');if(i&&r&&(e.capture&&(r[e.capture]=t.value),e.captureAsn1&&(r[e.captureAsn1]=t),e.captureBitStringContents&&"bitStringContents"in t&&(r[e.captureBitStringContents]=t.bitStringContents),e.captureBitStringValue&&"bitStringContents"in t)){var a;if(t.bitStringContents.length<2)r[e.captureBitStringValue]="";else{var c=t.bitStringContents.charCodeAt(0);if(c!==0)throw new Error("captureBitStringValue only supported for zero unused bits");r[e.captureBitStringValue]=t.bitStringContents.slice(1)}}}else n&&n.push("["+e.name+'] Expected constructed "'+e.constructed+'", got "'+t.constructed+'"');else n&&(t.tagClass!==e.tagClass&&n.push("["+e.name+'] Expected tag class "'+e.tagClass+'", got "'+t.tagClass+'"'),t.type!==e.type&&n.push("["+e.name+'] Expected type "'+e.type+'", got "'+t.type+'"'));return i};var Vh=/[^\\u0000-\\u00ff]/;L.prettyPrint=function(t,e,r){var n="";e=e||0,r=r||2,e>0&&(n+=`
6
+ `);for(var i="",o=0;o<e*r;++o)i+=" ";switch(n+=i+"Tag: ",t.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(t.tagClass===L.Class.UNIVERSAL)switch(n+=t.type,t.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+=t.type;if(n+=`
7
7
  `,n+=i+"Constructed: "+t.constructed+`
8
- `,t.composed){for(var o=0,a="",s=0;s<t.value.length;++s)t.value[s]!==void 0&&(o+=1,a+=B.prettyPrint(t.value[s],e+1,r),s+1<t.value.length&&(a+=","));n+=i+"Sub values: "+o+a}else{if(n+=i+"Value: ",t.type===B.Type.OID){var c=B.derToOid(t.value);n+=c,he.pki&&he.pki.oids&&c in he.pki.oids&&(n+=" ("+he.pki.oids[c]+") ")}if(t.type===B.Type.INTEGER)try{n+=B.derToInteger(t.value)}catch{n+="0x"+he.util.bytesToHex(t.value)}else if(t.type===B.Type.BITSTRING){if(t.value.length>1?n+="0x"+he.util.bytesToHex(t.value.slice(1)):n+="(none)",t.value.length>0){var u=t.value.charCodeAt(0);u==1?n+=" (1 unused bit shown)":u>1&&(n+=" ("+u+" unused bits shown)")}}else if(t.type===B.Type.OCTETSTRING)yf.test(t.value)||(n+="("+t.value+") "),n+="0x"+he.util.bytesToHex(t.value);else if(t.type===B.Type.UTF8)try{n+=he.util.decodeUtf8(t.value)}catch(l){if(l.message==="URI malformed")n+="0x"+he.util.bytesToHex(t.value)+" (malformed UTF8)";else throw l}else t.type===B.Type.PRINTABLESTRING||t.type===B.Type.IA5String?n+=t.value:yf.test(t.value)?n+="0x"+he.util.bytesToHex(t.value):t.value.length===0?n+="[null]":n+=t.value}return n}});var Oa=R((K_,xf)=>{var ke=se();Ie();xf.exports=ke.cipher=ke.cipher||{};ke.cipher.algorithms=ke.cipher.algorithms||{};ke.cipher.createCipher=function(t,e){var r=t;if(typeof r=="string"&&(r=ke.cipher.getAlgorithm(r),r&&(r=r())),!r)throw new Error("Unsupported algorithm: "+t);return new ke.cipher.BlockCipher({algorithm:r,key:e,decrypt:!1})};ke.cipher.createDecipher=function(t,e){var r=t;if(typeof r=="string"&&(r=ke.cipher.getAlgorithm(r),r&&(r=r())),!r)throw new Error("Unsupported algorithm: "+t);return new ke.cipher.BlockCipher({algorithm:r,key:e,decrypt:!0})};ke.cipher.registerAlgorithm=function(t,e){t=t.toUpperCase(),ke.cipher.algorithms[t]=e};ke.cipher.getAlgorithm=function(t){return t=t.toUpperCase(),t in ke.cipher.algorithms?ke.cipher.algorithms[t]:null};var ka=ke.cipher.BlockCipher=function(t){this.algorithm=t.algorithm,this.mode=this.algorithm.mode,this.blockSize=this.mode.blockSize,this._finish=!1,this._input=null,this.output=null,this._op=t.decrypt?this.mode.decrypt:this.mode.encrypt,this._decrypt=t.decrypt,this.algorithm.initialize(t)};ka.prototype.start=function(t){t=t||{};var e={};for(var r in t)e[r]=t[r];e.decrypt=this._decrypt,this._finish=!1,this._input=ke.util.createBuffer(),this.output=t.output||ke.util.createBuffer(),this.mode.start(e)};ka.prototype.update=function(t){for(t&&this._input.putBuffer(t);!this._op.call(this.mode,this._input,this.output,this._finish)&&!this._finish;);this._input.compact()};ka.prototype.finish=function(t){t&&(this.mode.name==="ECB"||this.mode.name==="CBC")&&(this.mode.pad=function(r){return t(this.blockSize,r,!1)},this.mode.unpad=function(r){return t(this.blockSize,r,!0)});var e={};return e.decrypt=this._decrypt,e.overflow=this._input.length()%this.blockSize,!(!this._decrypt&&this.mode.pad&&!this.mode.pad(this._input,e)||(this._finish=!0,this.update(),this._decrypt&&this.mode.unpad&&!this.mode.unpad(this.output,e))||this.mode.afterFinish&&!this.mode.afterFinish(this.output,e))}});var Fa=R((V_,wf)=>{var Oe=se();Ie();Oe.cipher=Oe.cipher||{};var z=wf.exports=Oe.cipher.modes=Oe.cipher.modes||{};z.ecb=function(t){t=t||{},this.name="ECB",this.cipher=t.cipher,this.blockSize=t.blockSize||16,this._ints=this.blockSize/4,this._inBlock=new Array(this._ints),this._outBlock=new Array(this._ints)};z.ecb.prototype.start=function(t){};z.ecb.prototype.encrypt=function(t,e,r){if(t.length()<this.blockSize&&!(r&&t.length()>0))return!0;for(var n=0;n<this._ints;++n)this._inBlock[n]=t.getInt32();this.cipher.encrypt(this._inBlock,this._outBlock);for(var n=0;n<this._ints;++n)e.putInt32(this._outBlock[n])};z.ecb.prototype.decrypt=function(t,e,r){if(t.length()<this.blockSize&&!(r&&t.length()>0))return!0;for(var n=0;n<this._ints;++n)this._inBlock[n]=t.getInt32();this.cipher.decrypt(this._inBlock,this._outBlock);for(var n=0;n<this._ints;++n)e.putInt32(this._outBlock[n])};z.ecb.prototype.pad=function(t,e){var r=t.length()===this.blockSize?this.blockSize:this.blockSize-t.length();return t.fillWithByte(r,r),!0};z.ecb.prototype.unpad=function(t,e){if(e.overflow>0)return!1;var r=t.length(),n=t.at(r-1);return n>this.blockSize<<2?!1:(t.truncate(n),!0)};z.cbc=function(t){t=t||{},this.name="CBC",this.cipher=t.cipher,this.blockSize=t.blockSize||16,this._ints=this.blockSize/4,this._inBlock=new Array(this._ints),this._outBlock=new Array(this._ints)};z.cbc.prototype.start=function(t){if(t.iv===null){if(!this._prev)throw new Error("Invalid IV parameter.");this._iv=this._prev.slice(0)}else if("iv"in t)this._iv=Bs(t.iv,this.blockSize),this._prev=this._iv.slice(0);else throw new Error("Invalid IV parameter.")};z.cbc.prototype.encrypt=function(t,e,r){if(t.length()<this.blockSize&&!(r&&t.length()>0))return!0;for(var n=0;n<this._ints;++n)this._inBlock[n]=this._prev[n]^t.getInt32();this.cipher.encrypt(this._inBlock,this._outBlock);for(var n=0;n<this._ints;++n)e.putInt32(this._outBlock[n]);this._prev=this._outBlock};z.cbc.prototype.decrypt=function(t,e,r){if(t.length()<this.blockSize&&!(r&&t.length()>0))return!0;for(var n=0;n<this._ints;++n)this._inBlock[n]=t.getInt32();this.cipher.decrypt(this._inBlock,this._outBlock);for(var n=0;n<this._ints;++n)e.putInt32(this._prev[n]^this._outBlock[n]);this._prev=this._inBlock.slice(0)};z.cbc.prototype.pad=function(t,e){var r=t.length()===this.blockSize?this.blockSize:this.blockSize-t.length();return t.fillWithByte(r,r),!0};z.cbc.prototype.unpad=function(t,e){if(e.overflow>0)return!1;var r=t.length(),n=t.at(r-1);return n>this.blockSize<<2?!1:(t.truncate(n),!0)};z.cfb=function(t){t=t||{},this.name="CFB",this.cipher=t.cipher,this.blockSize=t.blockSize||16,this._ints=this.blockSize/4,this._inBlock=null,this._outBlock=new Array(this._ints),this._partialBlock=new Array(this._ints),this._partialOutput=Oe.util.createBuffer(),this._partialBytes=0};z.cfb.prototype.start=function(t){if(!("iv"in t))throw new Error("Invalid IV parameter.");this._iv=Bs(t.iv,this.blockSize),this._inBlock=this._iv.slice(0),this._partialBytes=0};z.cfb.prototype.encrypt=function(t,e,r){var n=t.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]=t.getInt32()^this._outBlock[i],e.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]=t.getInt32()^this._outBlock[i],this._partialOutput.putInt32(this._partialBlock[i]);if(s>0)t.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&&!r)return e.putBytes(this._partialOutput.getBytes(s-this._partialBytes)),this._partialBytes=s,!0;e.putBytes(this._partialOutput.getBytes(n-this._partialBytes)),this._partialBytes=0};z.cfb.prototype.decrypt=function(t,e,r){var n=t.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]=t.getInt32(),e.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]=t.getInt32(),this._partialOutput.putInt32(this._partialBlock[i]^this._outBlock[i]);if(s>0)t.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&&!r)return e.putBytes(this._partialOutput.getBytes(s-this._partialBytes)),this._partialBytes=s,!0;e.putBytes(this._partialOutput.getBytes(n-this._partialBytes)),this._partialBytes=0};z.ofb=function(t){t=t||{},this.name="OFB",this.cipher=t.cipher,this.blockSize=t.blockSize||16,this._ints=this.blockSize/4,this._inBlock=null,this._outBlock=new Array(this._ints),this._partialOutput=Oe.util.createBuffer(),this._partialBytes=0};z.ofb.prototype.start=function(t){if(!("iv"in t))throw new Error("Invalid IV parameter.");this._iv=Bs(t.iv,this.blockSize),this._inBlock=this._iv.slice(0),this._partialBytes=0};z.ofb.prototype.encrypt=function(t,e,r){var n=t.length();if(t.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)e.putInt32(t.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(t.getInt32()^this._outBlock[i]);if(s>0)t.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&&!r)return e.putBytes(this._partialOutput.getBytes(s-this._partialBytes)),this._partialBytes=s,!0;e.putBytes(this._partialOutput.getBytes(n-this._partialBytes)),this._partialBytes=0};z.ofb.prototype.decrypt=z.ofb.prototype.encrypt;z.ctr=function(t){t=t||{},this.name="CTR",this.cipher=t.cipher,this.blockSize=t.blockSize||16,this._ints=this.blockSize/4,this._inBlock=null,this._outBlock=new Array(this._ints),this._partialOutput=Oe.util.createBuffer(),this._partialBytes=0};z.ctr.prototype.start=function(t){if(!("iv"in t))throw new Error("Invalid IV parameter.");this._iv=Bs(t.iv,this.blockSize),this._inBlock=this._iv.slice(0),this._partialBytes=0};z.ctr.prototype.encrypt=function(t,e,r){var n=t.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)e.putInt32(t.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(t.getInt32()^this._outBlock[i]);if(s>0&&(t.read-=this.blockSize),this._partialBytes>0&&this._partialOutput.getBytes(this._partialBytes),s>0&&!r)return e.putBytes(this._partialOutput.getBytes(s-this._partialBytes)),this._partialBytes=s,!0;e.putBytes(this._partialOutput.getBytes(n-this._partialBytes)),this._partialBytes=0}Ls(this._inBlock)};z.ctr.prototype.decrypt=z.ctr.prototype.encrypt;z.gcm=function(t){t=t||{},this.name="GCM",this.cipher=t.cipher,this.blockSize=t.blockSize||16,this._ints=this.blockSize/4,this._inBlock=new Array(this._ints),this._outBlock=new Array(this._ints),this._partialOutput=Oe.util.createBuffer(),this._partialBytes=0,this._R=3774873600};z.gcm.prototype.start=function(t){if(!("iv"in t))throw new Error("Invalid IV parameter.");var e=Oe.util.createBuffer(t.iv);this._cipherLength=0;var r;if("additionalData"in t?r=Oe.util.createBuffer(t.additionalData):r=Oe.util.createBuffer(),"tagLength"in t?this._tagLength=t.tagLength:this._tagLength=128,this._tag=null,t.decrypt&&(this._tag=Oe.util.createBuffer(t.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=e.length();if(n===12)this._j0=[e.getInt32(),e.getInt32(),e.getInt32(),1];else{for(this._j0=[0,0,0,0];e.length()>0;)this._j0=this.ghash(this._hashSubkey,this._j0,[e.getInt32(),e.getInt32(),e.getInt32(),e.getInt32()]);this._j0=this.ghash(this._hashSubkey,this._j0,[0,0].concat(Ma(n*8)))}this._inBlock=this._j0.slice(0),Ls(this._inBlock),this._partialBytes=0,r=Oe.util.createBuffer(r),this._aDataLength=Ma(r.length()*8);var i=r.length()%this.blockSize;for(i&&r.fillWithByte(0,this.blockSize-i),this._s=[0,0,0,0];r.length()>0;)this._s=this.ghash(this._hashSubkey,this._s,[r.getInt32(),r.getInt32(),r.getInt32(),r.getInt32()])};z.gcm.prototype.encrypt=function(t,e,r){var n=t.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)e.putInt32(this._outBlock[i]^=t.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(t.getInt32()^this._outBlock[i]);if(s<=0||r){if(r){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&&!r)return t.read-=this.blockSize,e.putBytes(this._partialOutput.getBytes(s-this._partialBytes)),this._partialBytes=s,!0;e.putBytes(this._partialOutput.getBytes(n-this._partialBytes)),this._partialBytes=0}this._s=this.ghash(this._hashSubkey,this._s,this._outBlock),Ls(this._inBlock)};z.gcm.prototype.decrypt=function(t,e,r){var n=t.length();if(n<this.blockSize&&!(r&&n>0))return!0;this.cipher.encrypt(this._inBlock,this._outBlock),Ls(this._inBlock),this._hashBlock[0]=t.getInt32(),this._hashBlock[1]=t.getInt32(),this._hashBlock[2]=t.getInt32(),this._hashBlock[3]=t.getInt32(),this._s=this.ghash(this._hashSubkey,this._s,this._hashBlock);for(var i=0;i<this._ints;++i)e.putInt32(this._outBlock[i]^this._hashBlock[i]);n<this.blockSize?this._cipherLength+=n%this.blockSize:this._cipherLength+=this.blockSize};z.gcm.prototype.afterFinish=function(t,e){var r=!0;e.decrypt&&e.overflow&&t.truncate(this.blockSize-e.overflow),this.tag=Oe.util.createBuffer();var n=this._aDataLength.concat(Ma(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)),e.decrypt&&this.tag.bytes()!==this._tag&&(r=!1),r};z.gcm.prototype.multiply=function(t,e){for(var r=[0,0,0,0],n=e.slice(0),i=0;i<128;++i){var s=t[i/32|0]&1<<31-i%32;s&&(r[0]^=n[0],r[1]^=n[1],r[2]^=n[2],r[3]^=n[3]),this.pow(n,n)}return r};z.gcm.prototype.pow=function(t,e){for(var r=t[3]&1,n=3;n>0;--n)e[n]=t[n]>>>1|(t[n-1]&1)<<31;e[0]=t[0]>>>1,r&&(e[0]^=this._R)};z.gcm.prototype.tableMultiply=function(t){for(var e=[0,0,0,0],r=0;r<32;++r){var n=r/8|0,i=t[n]>>>(7-r%8)*4&15,s=this._m[r][i];e[0]^=s[0],e[1]^=s[1],e[2]^=s[2],e[3]^=s[3]}return e};z.gcm.prototype.ghash=function(t,e,r){return e[0]^=r[0],e[1]^=r[1],e[2]^=r[2],e[3]^=r[3],this.tableMultiply(e)};z.gcm.prototype.generateHashTable=function(t,e){for(var r=8/e,n=4*r,i=16*r,s=new Array(i),o=0;o<i;++o){var a=[0,0,0,0],c=o/n|0,u=(n-1-o%n)*e;a[c]=1<<e-1<<u,s[o]=this.generateSubHashTable(this.multiply(a,t),e)}return s};z.gcm.prototype.generateSubHashTable=function(t,e){var r=1<<e,n=r>>>1,i=new Array(r);i[n]=t.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<r;++s){var u=i[s^n];i[s]=[t[0]^u[0],t[1]^u[1],t[2]^u[2],t[3]^u[3]]}return i};function Bs(t,e){if(typeof t=="string"&&(t=Oe.util.createBuffer(t)),Oe.util.isArray(t)&&t.length>4){var r=t;t=Oe.util.createBuffer();for(var n=0;n<r.length;++n)t.putByte(r[n])}if(t.length()<e)throw new Error("Invalid IV length; got "+t.length()+" bytes and expected "+e+" bytes.");if(!Oe.util.isArray(t)){for(var i=[],s=e/4,n=0;n<s;++n)i.push(t.getInt32());t=i}return t}function Ls(t){t[t.length-1]=t[t.length-1]+1&4294967295}function Ma(t){return[t/4294967296|0,t&4294967295]}});var Ds=R((q_,_f)=>{var le=se();Oa();Fa();Ie();_f.exports=le.aes=le.aes||{};le.aes.startEncrypting=function(t,e,r,n){var i=Ps({key:t,output:r,decrypt:!1,mode:n});return i.start(e),i};le.aes.createEncryptionCipher=function(t,e){return Ps({key:t,output:null,decrypt:!1,mode:e})};le.aes.startDecrypting=function(t,e,r,n){var i=Ps({key:t,output:r,decrypt:!0,mode:n});return i.start(e),i};le.aes.createDecryptionCipher=function(t,e){return Ps({key:t,output:null,decrypt:!0,mode:e})};le.aes.Algorithm=function(t,e){Va||Ef();var r=this;r.name=t,r.mode=new e({blockSize:16,cipher:{encrypt:function(n,i){return Ka(r._w,n,i,!1)},decrypt:function(n,i){return Ka(r._w,n,i,!0)}}}),r._init=!1};le.aes.Algorithm.prototype.initialize=function(t){if(!this._init){var e=t.key,r;if(typeof e=="string"&&(e.length===16||e.length===24||e.length===32))e=le.util.createBuffer(e);else if(le.util.isArray(e)&&(e.length===16||e.length===24||e.length===32)){r=e,e=le.util.createBuffer();for(var n=0;n<r.length;++n)e.putByte(r[n])}if(!le.util.isArray(e)){r=e,e=[];var i=r.length();if(i===16||i===24||i===32){i=i>>>2;for(var n=0;n<i;++n)e.push(r.getInt32())}}if(!le.util.isArray(e)||!(e.length===4||e.length===6||e.length===8))throw new Error("Invalid key parameter.");var s=this.mode.name,o=["CFB","OFB","CTR","GCM"].indexOf(s)!==-1;this._w=bf(e,t.decrypt&&!o),this._init=!0}};le.aes._expandKey=function(t,e){return Va||Ef(),bf(t,e)};le.aes._updateBlock=Ka;Cn("AES-ECB",le.cipher.modes.ecb);Cn("AES-CBC",le.cipher.modes.cbc);Cn("AES-CFB",le.cipher.modes.cfb);Cn("AES-OFB",le.cipher.modes.ofb);Cn("AES-CTR",le.cipher.modes.ctr);Cn("AES-GCM",le.cipher.modes.gcm);function Cn(t,e){var r=function(){return new le.aes.Algorithm(t,e)};le.cipher.registerAlgorithm(t,r)}var Va=!1,Rn=4,Xe,Ua,vf,qr,_t;function Ef(){Va=!0,vf=[0,1,2,4,8,16,32,64,128,27,54];for(var t=new Array(256),e=0;e<128;++e)t[e]=e<<1,t[e+128]=e+128<<1^283;Xe=new Array(256),Ua=new Array(256),qr=new Array(4),_t=new Array(4);for(var e=0;e<4;++e)qr[e]=new Array(256),_t[e]=new Array(256);for(var r=0,n=0,i,s,o,a,c,u,l,e=0;e<256;++e){a=n^n<<1^n<<2^n<<3^n<<4,a=a>>8^a&255^99,Xe[r]=a,Ua[a]=r,c=t[a],i=t[r],s=t[i],o=t[s],u=c<<24^a<<16^a<<8^(a^c),l=(i^s^o)<<24^(r^o)<<16^(r^s^o)<<8^(r^i^o);for(var f=0;f<4;++f)qr[f][r]=u,_t[f][a]=l,u=u<<24|u>>>8,l=l<<24|l>>>8;r===0?r=n=1:(r=i^t[t[t[i^o]]],n^=t[t[n]])}}function bf(t,e){for(var r=t.slice(0),n,i=1,s=r.length,o=s+6+1,a=Rn*o,c=s;c<a;++c)n=r[c-1],c%s===0?(n=Xe[n>>>16&255]<<24^Xe[n>>>8&255]<<16^Xe[n&255]<<8^Xe[n>>>24]^vf[i]<<24,i++):s>6&&c%s===4&&(n=Xe[n>>>24]<<24^Xe[n>>>16&255]<<16^Xe[n>>>8&255]<<8^Xe[n&255]),r[c]=r[c-s]^n;if(e){var u,l=_t[0],f=_t[1],h=_t[2],d=_t[3],p=r.slice(0);a=r.length;for(var c=0,m=a-Rn;c<a;c+=Rn,m-=Rn)if(c===0||c===a-Rn)p[c]=r[m],p[c+1]=r[m+3],p[c+2]=r[m+2],p[c+3]=r[m+1];else for(var y=0;y<Rn;++y)u=r[m+y],p[c+(3&-y)]=l[Xe[u>>>24]]^f[Xe[u>>>16&255]]^h[Xe[u>>>8&255]]^d[Xe[u&255]];r=p}return r}function Ka(t,e,r,n){var i=t.length/4-1,s,o,a,c,u;n?(s=_t[0],o=_t[1],a=_t[2],c=_t[3],u=Ua):(s=qr[0],o=qr[1],a=qr[2],c=qr[3],u=Xe);var l,f,h,d,p,m,y;l=e[0]^t[0],f=e[n?3:1]^t[1],h=e[2]^t[2],d=e[n?1:3]^t[3];for(var g=3,w=1;w<i;++w)p=s[l>>>24]^o[f>>>16&255]^a[h>>>8&255]^c[d&255]^t[++g],m=s[f>>>24]^o[h>>>16&255]^a[d>>>8&255]^c[l&255]^t[++g],y=s[h>>>24]^o[d>>>16&255]^a[l>>>8&255]^c[f&255]^t[++g],d=s[d>>>24]^o[l>>>16&255]^a[f>>>8&255]^c[h&255]^t[++g],l=p,f=m,h=y;r[0]=u[l>>>24]<<24^u[f>>>16&255]<<16^u[h>>>8&255]<<8^u[d&255]^t[++g],r[n?3:1]=u[f>>>24]<<24^u[h>>>16&255]<<16^u[d>>>8&255]<<8^u[l&255]^t[++g],r[2]=u[h>>>24]<<24^u[d>>>16&255]<<16^u[l>>>8&255]<<8^u[f&255]^t[++g],r[n?1:3]=u[d>>>24]<<24^u[l>>>16&255]<<16^u[f>>>8&255]<<8^u[h&255]^t[++g]}function Ps(t){t=t||{};var e=(t.mode||"CBC").toUpperCase(),r="AES-"+e,n;t.decrypt?n=le.cipher.createDecipher(r,t.key):n=le.cipher.createCipher(r,t.key);var i=n.start;return n.start=function(s,o){var a=null;o instanceof le.util.ByteBuffer&&(a=o,o={}),o=o||{},o.output=a,o.iv=s,i.call(n,o)},n}});var If=R(($_,Af)=>{var ye=se();Oa();Fa();Ie();Af.exports=ye.des=ye.des||{};ye.des.startEncrypting=function(t,e,r,n){var i=Ns({key:t,output:r,decrypt:!1,mode:n||(e===null?"ECB":"CBC")});return i.start(e),i};ye.des.createEncryptionCipher=function(t,e){return Ns({key:t,output:null,decrypt:!1,mode:e})};ye.des.startDecrypting=function(t,e,r,n){var i=Ns({key:t,output:r,decrypt:!0,mode:n||(e===null?"ECB":"CBC")});return i.start(e),i};ye.des.createDecryptionCipher=function(t,e){return Ns({key:t,output:null,decrypt:!0,mode:e})};ye.des.Algorithm=function(t,e){var r=this;r.name=t,r.mode=new e({blockSize:8,cipher:{encrypt:function(n,i){return Sf(r._keys,n,i,!1)},decrypt:function(n,i){return Sf(r._keys,n,i,!0)}}}),r._init=!1};ye.des.Algorithm.prototype.initialize=function(t){if(!this._init){var e=ye.util.createBuffer(t.key);if(this.name.indexOf("3DES")===0&&e.length()!==24)throw new Error("Invalid Triple-DES key size: "+e.length()*8);this._keys=Lg(e),this._init=!0}};Ft("DES-ECB",ye.cipher.modes.ecb);Ft("DES-CBC",ye.cipher.modes.cbc);Ft("DES-CFB",ye.cipher.modes.cfb);Ft("DES-OFB",ye.cipher.modes.ofb);Ft("DES-CTR",ye.cipher.modes.ctr);Ft("3DES-ECB",ye.cipher.modes.ecb);Ft("3DES-CBC",ye.cipher.modes.cbc);Ft("3DES-CFB",ye.cipher.modes.cfb);Ft("3DES-OFB",ye.cipher.modes.ofb);Ft("3DES-CTR",ye.cipher.modes.ctr);function Ft(t,e){var r=function(){return new ye.des.Algorithm(t,e)};ye.cipher.registerAlgorithm(t,r)}var _g=[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],Sg=[-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],Ag=[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],Ig=[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],Rg=[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],Cg=[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],Tg=[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],Bg=[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 Lg(t){for(var e=[0,4,536870912,536870916,65536,65540,536936448,536936452,512,516,536871424,536871428,66048,66052,536936960,536936964],r=[0,1,1048576,1048577,67108864,67108865,68157440,68157441,256,257,1048832,1048833,67109120,67109121,68157696,68157697],n=[0,8,2048,2056,16777216,16777224,16779264,16779272,0,8,2048,2056,16777216,16777224,16779264,16779272],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],h=[0,16777216,512,16777728,2097152,18874368,2097664,18874880,67108864,83886080,67109376,83886592,69206016,85983232,69206528,85983744],d=[0,4096,134217728,134221824,524288,528384,134742016,134746112,16,4112,134217744,134221840,524304,528400,134742032,134746128],p=[0,4,256,260,0,4,256,260,1,5,257,261,1,5,257,261],m=t.length()>8?3:1,y=[],g=[0,0,1,1,1,1,1,1,0,1,1,1,1,1,1,0],w=0,_,N=0;N<m;N++){var C=t.getInt32(),T=t.getInt32();_=(C>>>4^T)&252645135,T^=_,C^=_<<4,_=(T>>>-16^C)&65535,C^=_,T^=_<<-16,_=(C>>>2^T)&858993459,T^=_,C^=_<<2,_=(T>>>-16^C)&65535,C^=_,T^=_<<-16,_=(C>>>1^T)&1431655765,T^=_,C^=_<<1,_=(T>>>8^C)&16711935,C^=_,T^=_<<8,_=(C>>>1^T)&1431655765,T^=_,C^=_<<1,_=C<<8|T>>>20&240,C=T<<24|T<<8&16711680|T>>>8&65280|T>>>24&240,T=_;for(var H=0;H<g.length;++H){g[H]?(C=C<<2|C>>>26,T=T<<2|T>>>26):(C=C<<1|C>>>27,T=T<<1|T>>>27),C&=-15,T&=-15;var W=e[C>>>28]|r[C>>>24&15]|n[C>>>20&15]|i[C>>>16&15]|s[C>>>12&15]|o[C>>>8&15]|a[C>>>4&15],De=c[T>>>28]|u[T>>>24&15]|l[T>>>20&15]|f[T>>>16&15]|h[T>>>12&15]|d[T>>>8&15]|p[T>>>4&15];_=(De>>>16^W)&65535,y[w++]=W^_,y[w++]=De^_<<16}}return y}function Sf(t,e,r,n){var i=t.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=e[0],c=e[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],h=s[u];h!=l;h+=f){var d=c^t[h],p=(c>>>4|c<<28)^t[h+1];o=a,a=c,c=o^(Sg[d>>>24&63]|Ig[d>>>16&63]|Cg[d>>>8&63]|Bg[d&63]|_g[p>>>24&63]|Ag[p>>>16&63]|Rg[p>>>8&63]|Tg[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,r[0]=a,r[1]=c}function Ns(t){t=t||{};var e=(t.mode||"CBC").toUpperCase(),r="DES-"+e,n;t.decrypt?n=ye.cipher.createDecipher(r,t.key):n=ye.cipher.createCipher(r,t.key);var i=n.start;return n.start=function(s,o){var a=null;o instanceof ye.util.ByteBuffer&&(a=o,o={}),o=o||{},o.output=a,o.iv=s,i.call(n,o)},n}});var $r=R((z_,Rf)=>{var ks=se();Rf.exports=ks.md=ks.md||{};ks.md.algorithms=ks.md.algorithms||{}});var Tf=R((H_,Cf)=>{var er=se();$r();Ie();var Pg=Cf.exports=er.hmac=er.hmac||{};Pg.create=function(){var t=null,e=null,r=null,n=null,i={};return i.start=function(s,o){if(s!==null)if(typeof s=="string")if(s=s.toLowerCase(),s in er.md.algorithms)e=er.md.algorithms[s].create();else throw new Error('Unknown hash algorithm "'+s+'"');else e=s;if(o===null)o=t;else{if(typeof o=="string")o=er.util.createBuffer(o);else if(er.util.isArray(o)){var a=o;o=er.util.createBuffer();for(var c=0;c<a.length;++c)o.putByte(a[c])}var u=o.length();u>e.blockLength&&(e.start(),e.update(o.bytes()),o=e.digest()),r=er.util.createBuffer(),n=er.util.createBuffer(),u=o.length();for(var c=0;c<u;++c){var a=o.at(c);r.putByte(54^a),n.putByte(92^a)}if(u<e.blockLength)for(var a=e.blockLength-u,c=0;c<a;++c)r.putByte(54),n.putByte(92);t=o,r=r.bytes(),n=n.bytes()}e.start(),e.update(r)},i.update=function(s){e.update(s)},i.getMac=function(){var s=e.digest().bytes();return e.start(),e.update(n),e.update(s),e.digest()},i.digest=i.getMac,i}});var zr=R(()=>{});var qa=R((W_,Bf)=>{var Ze=se();Tf();$r();Ie();var Dg=Ze.pkcs5=Ze.pkcs5||{},tr;Ze.util.isNodejs&&!Ze.options.usePureJavaScript&&(tr=zr());Bf.exports=Ze.pbkdf2=Dg.pbkdf2=function(t,e,r,n,i,s){if(typeof i=="function"&&(s=i,i=null),Ze.util.isNodejs&&!Ze.options.usePureJavaScript&&tr.pbkdf2&&(i===null||typeof i!="object")&&(tr.pbkdf2Sync.length>4||!i||i==="sha1"))return typeof i!="string"&&(i="sha1"),t=Buffer.from(t,"binary"),e=Buffer.from(e,"binary"),s?tr.pbkdf2Sync.length===4?tr.pbkdf2(t,e,r,n,function(_,N){if(_)return s(_);s(null,N.toString("binary"))}):tr.pbkdf2(t,e,r,n,i,function(_,N){if(_)return s(_);s(null,N.toString("binary"))}):tr.pbkdf2Sync.length===4?tr.pbkdf2Sync(t,e,r,n).toString("binary"):tr.pbkdf2Sync(t,e,r,n,i).toString("binary");if((typeof i>"u"||i===null)&&(i="sha1"),typeof i=="string"){if(!(i in Ze.md.algorithms))throw new Error("Unknown hash algorithm: "+i);i=Ze.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=Ze.hmac.create();l.start(i,t);var f="",h,d,p;if(!s){for(var m=1;m<=c;++m){l.start(null,null),l.update(e),l.update(Ze.util.int32ToBytes(m)),h=p=l.digest().getBytes();for(var y=2;y<=r;++y)l.start(null,null),l.update(p),d=l.digest().getBytes(),h=Ze.util.xorBytes(h,d,o),p=d;f+=m<c?h:h.substr(0,u)}return f}var m=1,y;function g(){if(m>c)return s(null,f);l.start(null,null),l.update(e),l.update(Ze.util.int32ToBytes(m)),h=p=l.digest().getBytes(),y=2,w()}function w(){if(y<=r)return l.start(null,null),l.update(p),d=l.digest().getBytes(),h=Ze.util.xorBytes(h,d,o),p=d,++y,Ze.util.setImmediate(w);f+=m<c?h:h.substr(0,u),++m,g()}g()}});var Df=R((Q_,Pf)=>{var Ms=se();Ie();var Lf=Pf.exports=Ms.pem=Ms.pem||{};Lf.encode=function(t,e){e=e||{};var r="-----BEGIN "+t.type+`-----\r
9
- `,n;if(t.procType&&(n={name:"Proc-Type",values:[String(t.procType.version),t.procType.type]},r+=Os(n)),t.contentDomain&&(n={name:"Content-Domain",values:[t.contentDomain]},r+=Os(n)),t.dekInfo&&(n={name:"DEK-Info",values:[t.dekInfo.algorithm]},t.dekInfo.parameters&&n.values.push(t.dekInfo.parameters),r+=Os(n)),t.headers)for(var i=0;i<t.headers.length;++i)r+=Os(t.headers[i]);return t.procType&&(r+=`\r
10
- `),r+=Ms.util.encode64(t.body,e.maxline||64)+`\r
8
+ `,t.composed){for(var s=0,a="",o=0;o<t.value.length;++o)t.value[o]!==void 0&&(s+=1,a+=L.prettyPrint(t.value[o],e+1,r),o+1<t.value.length&&(a+=","));n+=i+"Sub values: "+s+a}else{if(n+=i+"Value: ",t.type===L.Type.OID){var c=L.derToOid(t.value);n+=c,de.pki&&de.pki.oids&&c in de.pki.oids&&(n+=" ("+de.pki.oids[c]+") ")}if(t.type===L.Type.INTEGER)try{n+=L.derToInteger(t.value)}catch{n+="0x"+de.util.bytesToHex(t.value)}else if(t.type===L.Type.BITSTRING){if(t.value.length>1?n+="0x"+de.util.bytesToHex(t.value.slice(1)):n+="(none)",t.value.length>0){var u=t.value.charCodeAt(0);u==1?n+=" (1 unused bit shown)":u>1&&(n+=" ("+u+" unused bits shown)")}}else if(t.type===L.Type.OCTETSTRING)Vh.test(t.value)||(n+="("+t.value+") "),n+="0x"+de.util.bytesToHex(t.value);else if(t.type===L.Type.UTF8)try{n+=de.util.decodeUtf8(t.value)}catch(l){if(l.message==="URI malformed")n+="0x"+de.util.bytesToHex(t.value)+" (malformed UTF8)";else throw l}else t.type===L.Type.PRINTABLESTRING||t.type===L.Type.IA5String?n+=t.value:Vh.test(t.value)?n+="0x"+de.util.bytesToHex(t.value):t.value.length===0?n+="[null]":n+=t.value}return n}});var gc=B((i4,zh)=>{var Fe=ae();Le();zh.exports=Fe.cipher=Fe.cipher||{};Fe.cipher.algorithms=Fe.cipher.algorithms||{};Fe.cipher.createCipher=function(t,e){var r=t;if(typeof r=="string"&&(r=Fe.cipher.getAlgorithm(r),r&&(r=r())),!r)throw new Error("Unsupported algorithm: "+t);return new Fe.cipher.BlockCipher({algorithm:r,key:e,decrypt:!1})};Fe.cipher.createDecipher=function(t,e){var r=t;if(typeof r=="string"&&(r=Fe.cipher.getAlgorithm(r),r&&(r=r())),!r)throw new Error("Unsupported algorithm: "+t);return new Fe.cipher.BlockCipher({algorithm:r,key:e,decrypt:!0})};Fe.cipher.registerAlgorithm=function(t,e){t=t.toUpperCase(),Fe.cipher.algorithms[t]=e};Fe.cipher.getAlgorithm=function(t){return t=t.toUpperCase(),t in Fe.cipher.algorithms?Fe.cipher.algorithms[t]:null};var yc=Fe.cipher.BlockCipher=function(t){this.algorithm=t.algorithm,this.mode=this.algorithm.mode,this.blockSize=this.mode.blockSize,this._finish=!1,this._input=null,this.output=null,this._op=t.decrypt?this.mode.decrypt:this.mode.encrypt,this._decrypt=t.decrypt,this.algorithm.initialize(t)};yc.prototype.start=function(t){t=t||{};var e={};for(var r in t)e[r]=t[r];e.decrypt=this._decrypt,this._finish=!1,this._input=Fe.util.createBuffer(),this.output=t.output||Fe.util.createBuffer(),this.mode.start(e)};yc.prototype.update=function(t){for(t&&this._input.putBuffer(t);!this._op.call(this.mode,this._input,this.output,this._finish)&&!this._finish;);this._input.compact()};yc.prototype.finish=function(t){t&&(this.mode.name==="ECB"||this.mode.name==="CBC")&&(this.mode.pad=function(r){return t(this.blockSize,r,!1)},this.mode.unpad=function(r){return t(this.blockSize,r,!0)});var e={};return e.decrypt=this._decrypt,e.overflow=this._input.length()%this.blockSize,!(!this._decrypt&&this.mode.pad&&!this.mode.pad(this._input,e)||(this._finish=!0,this.update(),this._decrypt&&this.mode.unpad&&!this.mode.unpad(this.output,e))||this.mode.afterFinish&&!this.mode.afterFinish(this.output,e))}});var wc=B((o4,$h)=>{var Ke=ae();Le();Ke.cipher=Ke.cipher||{};var Y=$h.exports=Ke.cipher.modes=Ke.cipher.modes||{};Y.ecb=function(t){t=t||{},this.name="ECB",this.cipher=t.cipher,this.blockSize=t.blockSize||16,this._ints=this.blockSize/4,this._inBlock=new Array(this._ints),this._outBlock=new Array(this._ints)};Y.ecb.prototype.start=function(t){};Y.ecb.prototype.encrypt=function(t,e,r){if(t.length()<this.blockSize&&!(r&&t.length()>0))return!0;for(var n=0;n<this._ints;++n)this._inBlock[n]=t.getInt32();this.cipher.encrypt(this._inBlock,this._outBlock);for(var n=0;n<this._ints;++n)e.putInt32(this._outBlock[n])};Y.ecb.prototype.decrypt=function(t,e,r){if(t.length()<this.blockSize&&!(r&&t.length()>0))return!0;for(var n=0;n<this._ints;++n)this._inBlock[n]=t.getInt32();this.cipher.decrypt(this._inBlock,this._outBlock);for(var n=0;n<this._ints;++n)e.putInt32(this._outBlock[n])};Y.ecb.prototype.pad=function(t,e){var r=t.length()===this.blockSize?this.blockSize:this.blockSize-t.length();return t.fillWithByte(r,r),!0};Y.ecb.prototype.unpad=function(t,e){if(e.overflow>0)return!1;var r=t.length(),n=t.at(r-1);return n>this.blockSize<<2?!1:(t.truncate(n),!0)};Y.cbc=function(t){t=t||{},this.name="CBC",this.cipher=t.cipher,this.blockSize=t.blockSize||16,this._ints=this.blockSize/4,this._inBlock=new Array(this._ints),this._outBlock=new Array(this._ints)};Y.cbc.prototype.start=function(t){if(t.iv===null){if(!this._prev)throw new Error("Invalid IV parameter.");this._iv=this._prev.slice(0)}else if("iv"in t)this._iv=us(t.iv,this.blockSize),this._prev=this._iv.slice(0);else throw new Error("Invalid IV parameter.")};Y.cbc.prototype.encrypt=function(t,e,r){if(t.length()<this.blockSize&&!(r&&t.length()>0))return!0;for(var n=0;n<this._ints;++n)this._inBlock[n]=this._prev[n]^t.getInt32();this.cipher.encrypt(this._inBlock,this._outBlock);for(var n=0;n<this._ints;++n)e.putInt32(this._outBlock[n]);this._prev=this._outBlock};Y.cbc.prototype.decrypt=function(t,e,r){if(t.length()<this.blockSize&&!(r&&t.length()>0))return!0;for(var n=0;n<this._ints;++n)this._inBlock[n]=t.getInt32();this.cipher.decrypt(this._inBlock,this._outBlock);for(var n=0;n<this._ints;++n)e.putInt32(this._prev[n]^this._outBlock[n]);this._prev=this._inBlock.slice(0)};Y.cbc.prototype.pad=function(t,e){var r=t.length()===this.blockSize?this.blockSize:this.blockSize-t.length();return t.fillWithByte(r,r),!0};Y.cbc.prototype.unpad=function(t,e){if(e.overflow>0)return!1;var r=t.length(),n=t.at(r-1);return n>this.blockSize<<2?!1:(t.truncate(n),!0)};Y.cfb=function(t){t=t||{},this.name="CFB",this.cipher=t.cipher,this.blockSize=t.blockSize||16,this._ints=this.blockSize/4,this._inBlock=null,this._outBlock=new Array(this._ints),this._partialBlock=new Array(this._ints),this._partialOutput=Ke.util.createBuffer(),this._partialBytes=0};Y.cfb.prototype.start=function(t){if(!("iv"in t))throw new Error("Invalid IV parameter.");this._iv=us(t.iv,this.blockSize),this._inBlock=this._iv.slice(0),this._partialBytes=0};Y.cfb.prototype.encrypt=function(t,e,r){var n=t.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]=t.getInt32()^this._outBlock[i],e.putInt32(this._inBlock[i]);return}var o=(this.blockSize-n)%this.blockSize;o>0&&(o=this.blockSize-o),this._partialOutput.clear();for(var i=0;i<this._ints;++i)this._partialBlock[i]=t.getInt32()^this._outBlock[i],this._partialOutput.putInt32(this._partialBlock[i]);if(o>0)t.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),o>0&&!r)return e.putBytes(this._partialOutput.getBytes(o-this._partialBytes)),this._partialBytes=o,!0;e.putBytes(this._partialOutput.getBytes(n-this._partialBytes)),this._partialBytes=0};Y.cfb.prototype.decrypt=function(t,e,r){var n=t.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]=t.getInt32(),e.putInt32(this._inBlock[i]^this._outBlock[i]);return}var o=(this.blockSize-n)%this.blockSize;o>0&&(o=this.blockSize-o),this._partialOutput.clear();for(var i=0;i<this._ints;++i)this._partialBlock[i]=t.getInt32(),this._partialOutput.putInt32(this._partialBlock[i]^this._outBlock[i]);if(o>0)t.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),o>0&&!r)return e.putBytes(this._partialOutput.getBytes(o-this._partialBytes)),this._partialBytes=o,!0;e.putBytes(this._partialOutput.getBytes(n-this._partialBytes)),this._partialBytes=0};Y.ofb=function(t){t=t||{},this.name="OFB",this.cipher=t.cipher,this.blockSize=t.blockSize||16,this._ints=this.blockSize/4,this._inBlock=null,this._outBlock=new Array(this._ints),this._partialOutput=Ke.util.createBuffer(),this._partialBytes=0};Y.ofb.prototype.start=function(t){if(!("iv"in t))throw new Error("Invalid IV parameter.");this._iv=us(t.iv,this.blockSize),this._inBlock=this._iv.slice(0),this._partialBytes=0};Y.ofb.prototype.encrypt=function(t,e,r){var n=t.length();if(t.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)e.putInt32(t.getInt32()^this._outBlock[i]),this._inBlock[i]=this._outBlock[i];return}var o=(this.blockSize-n)%this.blockSize;o>0&&(o=this.blockSize-o),this._partialOutput.clear();for(var i=0;i<this._ints;++i)this._partialOutput.putInt32(t.getInt32()^this._outBlock[i]);if(o>0)t.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),o>0&&!r)return e.putBytes(this._partialOutput.getBytes(o-this._partialBytes)),this._partialBytes=o,!0;e.putBytes(this._partialOutput.getBytes(n-this._partialBytes)),this._partialBytes=0};Y.ofb.prototype.decrypt=Y.ofb.prototype.encrypt;Y.ctr=function(t){t=t||{},this.name="CTR",this.cipher=t.cipher,this.blockSize=t.blockSize||16,this._ints=this.blockSize/4,this._inBlock=null,this._outBlock=new Array(this._ints),this._partialOutput=Ke.util.createBuffer(),this._partialBytes=0};Y.ctr.prototype.start=function(t){if(!("iv"in t))throw new Error("Invalid IV parameter.");this._iv=us(t.iv,this.blockSize),this._inBlock=this._iv.slice(0),this._partialBytes=0};Y.ctr.prototype.encrypt=function(t,e,r){var n=t.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)e.putInt32(t.getInt32()^this._outBlock[i]);else{var o=(this.blockSize-n)%this.blockSize;o>0&&(o=this.blockSize-o),this._partialOutput.clear();for(var i=0;i<this._ints;++i)this._partialOutput.putInt32(t.getInt32()^this._outBlock[i]);if(o>0&&(t.read-=this.blockSize),this._partialBytes>0&&this._partialOutput.getBytes(this._partialBytes),o>0&&!r)return e.putBytes(this._partialOutput.getBytes(o-this._partialBytes)),this._partialBytes=o,!0;e.putBytes(this._partialOutput.getBytes(n-this._partialBytes)),this._partialBytes=0}ls(this._inBlock)};Y.ctr.prototype.decrypt=Y.ctr.prototype.encrypt;Y.gcm=function(t){t=t||{},this.name="GCM",this.cipher=t.cipher,this.blockSize=t.blockSize||16,this._ints=this.blockSize/4,this._inBlock=new Array(this._ints),this._outBlock=new Array(this._ints),this._partialOutput=Ke.util.createBuffer(),this._partialBytes=0,this._R=3774873600};Y.gcm.prototype.start=function(t){if(!("iv"in t))throw new Error("Invalid IV parameter.");var e=Ke.util.createBuffer(t.iv);this._cipherLength=0;var r;if("additionalData"in t?r=Ke.util.createBuffer(t.additionalData):r=Ke.util.createBuffer(),"tagLength"in t?this._tagLength=t.tagLength:this._tagLength=128,this._tag=null,t.decrypt&&(this._tag=Ke.util.createBuffer(t.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=e.length();if(n===12)this._j0=[e.getInt32(),e.getInt32(),e.getInt32(),1];else{for(this._j0=[0,0,0,0];e.length()>0;)this._j0=this.ghash(this._hashSubkey,this._j0,[e.getInt32(),e.getInt32(),e.getInt32(),e.getInt32()]);this._j0=this.ghash(this._hashSubkey,this._j0,[0,0].concat(xc(n*8)))}this._inBlock=this._j0.slice(0),ls(this._inBlock),this._partialBytes=0,r=Ke.util.createBuffer(r),this._aDataLength=xc(r.length()*8);var i=r.length()%this.blockSize;for(i&&r.fillWithByte(0,this.blockSize-i),this._s=[0,0,0,0];r.length()>0;)this._s=this.ghash(this._hashSubkey,this._s,[r.getInt32(),r.getInt32(),r.getInt32(),r.getInt32()])};Y.gcm.prototype.encrypt=function(t,e,r){var n=t.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)e.putInt32(this._outBlock[i]^=t.getInt32());this._cipherLength+=this.blockSize}else{var o=(this.blockSize-n)%this.blockSize;o>0&&(o=this.blockSize-o),this._partialOutput.clear();for(var i=0;i<this._ints;++i)this._partialOutput.putInt32(t.getInt32()^this._outBlock[i]);if(o<=0||r){if(r){var s=n%this.blockSize;this._cipherLength+=s,this._partialOutput.truncate(this.blockSize-s)}else this._cipherLength+=this.blockSize;for(var 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),o>0&&!r)return t.read-=this.blockSize,e.putBytes(this._partialOutput.getBytes(o-this._partialBytes)),this._partialBytes=o,!0;e.putBytes(this._partialOutput.getBytes(n-this._partialBytes)),this._partialBytes=0}this._s=this.ghash(this._hashSubkey,this._s,this._outBlock),ls(this._inBlock)};Y.gcm.prototype.decrypt=function(t,e,r){var n=t.length();if(n<this.blockSize&&!(r&&n>0))return!0;this.cipher.encrypt(this._inBlock,this._outBlock),ls(this._inBlock),this._hashBlock[0]=t.getInt32(),this._hashBlock[1]=t.getInt32(),this._hashBlock[2]=t.getInt32(),this._hashBlock[3]=t.getInt32(),this._s=this.ghash(this._hashSubkey,this._s,this._hashBlock);for(var i=0;i<this._ints;++i)e.putInt32(this._outBlock[i]^this._hashBlock[i]);n<this.blockSize?this._cipherLength+=n%this.blockSize:this._cipherLength+=this.blockSize};Y.gcm.prototype.afterFinish=function(t,e){var r=!0;e.decrypt&&e.overflow&&t.truncate(this.blockSize-e.overflow),this.tag=Ke.util.createBuffer();var n=this._aDataLength.concat(xc(this._cipherLength*8));this._s=this.ghash(this._hashSubkey,this._s,n);var i=[];this.cipher.encrypt(this._j0,i);for(var o=0;o<this._ints;++o)this.tag.putInt32(this._s[o]^i[o]);return this.tag.truncate(this.tag.length()%(this._tagLength/8)),e.decrypt&&this.tag.bytes()!==this._tag&&(r=!1),r};Y.gcm.prototype.multiply=function(t,e){for(var r=[0,0,0,0],n=e.slice(0),i=0;i<128;++i){var o=t[i/32|0]&1<<31-i%32;o&&(r[0]^=n[0],r[1]^=n[1],r[2]^=n[2],r[3]^=n[3]),this.pow(n,n)}return r};Y.gcm.prototype.pow=function(t,e){for(var r=t[3]&1,n=3;n>0;--n)e[n]=t[n]>>>1|(t[n-1]&1)<<31;e[0]=t[0]>>>1,r&&(e[0]^=this._R)};Y.gcm.prototype.tableMultiply=function(t){for(var e=[0,0,0,0],r=0;r<32;++r){var n=r/8|0,i=t[n]>>>(7-r%8)*4&15,o=this._m[r][i];e[0]^=o[0],e[1]^=o[1],e[2]^=o[2],e[3]^=o[3]}return e};Y.gcm.prototype.ghash=function(t,e,r){return e[0]^=r[0],e[1]^=r[1],e[2]^=r[2],e[3]^=r[3],this.tableMultiply(e)};Y.gcm.prototype.generateHashTable=function(t,e){for(var r=8/e,n=4*r,i=16*r,o=new Array(i),s=0;s<i;++s){var a=[0,0,0,0],c=s/n|0,u=(n-1-s%n)*e;a[c]=1<<e-1<<u,o[s]=this.generateSubHashTable(this.multiply(a,t),e)}return o};Y.gcm.prototype.generateSubHashTable=function(t,e){var r=1<<e,n=r>>>1,i=new Array(r);i[n]=t.slice(0);for(var o=n>>>1;o>0;)this.pow(i[2*o],i[o]=[]),o>>=1;for(o=2;o<n;){for(var s=1;s<o;++s){var a=i[o],c=i[s];i[o+s]=[a[0]^c[0],a[1]^c[1],a[2]^c[2],a[3]^c[3]]}o*=2}for(i[0]=[0,0,0,0],o=n+1;o<r;++o){var u=i[o^n];i[o]=[t[0]^u[0],t[1]^u[1],t[2]^u[2],t[3]^u[3]]}return i};function us(t,e){if(typeof t=="string"&&(t=Ke.util.createBuffer(t)),Ke.util.isArray(t)&&t.length>4){var r=t;t=Ke.util.createBuffer();for(var n=0;n<r.length;++n)t.putByte(r[n])}if(t.length()<e)throw new Error("Invalid IV length; got "+t.length()+" bytes and expected "+e+" bytes.");if(!Ke.util.isArray(t)){for(var i=[],o=e/4,n=0;n<o;++n)i.push(t.getInt32());t=i}return t}function ls(t){t[t.length-1]=t[t.length-1]+1&4294967295}function xc(t){return[t/4294967296|0,t&4294967295]}});var hs=B((s4,Wh)=>{var fe=ae();gc();wc();Le();Wh.exports=fe.aes=fe.aes||{};fe.aes.startEncrypting=function(t,e,r,n){var i=fs({key:t,output:r,decrypt:!1,mode:n});return i.start(e),i};fe.aes.createEncryptionCipher=function(t,e){return fs({key:t,output:null,decrypt:!1,mode:e})};fe.aes.startDecrypting=function(t,e,r,n){var i=fs({key:t,output:r,decrypt:!0,mode:n});return i.start(e),i};fe.aes.createDecryptionCipher=function(t,e){return fs({key:t,output:null,decrypt:!0,mode:e})};fe.aes.Algorithm=function(t,e){Ec||Gh();var r=this;r.name=t,r.mode=new e({blockSize:16,cipher:{encrypt:function(n,i){return vc(r._w,n,i,!1)},decrypt:function(n,i){return vc(r._w,n,i,!0)}}}),r._init=!1};fe.aes.Algorithm.prototype.initialize=function(t){if(!this._init){var e=t.key,r;if(typeof e=="string"&&(e.length===16||e.length===24||e.length===32))e=fe.util.createBuffer(e);else if(fe.util.isArray(e)&&(e.length===16||e.length===24||e.length===32)){r=e,e=fe.util.createBuffer();for(var n=0;n<r.length;++n)e.putByte(r[n])}if(!fe.util.isArray(e)){r=e,e=[];var i=r.length();if(i===16||i===24||i===32){i=i>>>2;for(var n=0;n<i;++n)e.push(r.getInt32())}}if(!fe.util.isArray(e)||!(e.length===4||e.length===6||e.length===8))throw new Error("Invalid key parameter.");var o=this.mode.name,s=["CFB","OFB","CTR","GCM"].indexOf(o)!==-1;this._w=Yh(e,t.decrypt&&!s),this._init=!0}};fe.aes._expandKey=function(t,e){return Ec||Gh(),Yh(t,e)};fe.aes._updateBlock=vc;Kn("AES-ECB",fe.cipher.modes.ecb);Kn("AES-CBC",fe.cipher.modes.cbc);Kn("AES-CFB",fe.cipher.modes.cfb);Kn("AES-OFB",fe.cipher.modes.ofb);Kn("AES-CTR",fe.cipher.modes.ctr);Kn("AES-GCM",fe.cipher.modes.gcm);function Kn(t,e){var r=function(){return new fe.aes.Algorithm(t,e)};fe.cipher.registerAlgorithm(t,r)}var Ec=!1,Fn=4,et,bc,Hh,en,It;function Gh(){Ec=!0,Hh=[0,1,2,4,8,16,32,64,128,27,54];for(var t=new Array(256),e=0;e<128;++e)t[e]=e<<1,t[e+128]=e+128<<1^283;et=new Array(256),bc=new Array(256),en=new Array(4),It=new Array(4);for(var e=0;e<4;++e)en[e]=new Array(256),It[e]=new Array(256);for(var r=0,n=0,i,o,s,a,c,u,l,e=0;e<256;++e){a=n^n<<1^n<<2^n<<3^n<<4,a=a>>8^a&255^99,et[r]=a,bc[a]=r,c=t[a],i=t[r],o=t[i],s=t[o],u=c<<24^a<<16^a<<8^(a^c),l=(i^o^s)<<24^(r^s)<<16^(r^o^s)<<8^(r^i^s);for(var f=0;f<4;++f)en[f][r]=u,It[f][a]=l,u=u<<24|u>>>8,l=l<<24|l>>>8;r===0?r=n=1:(r=i^t[t[t[i^s]]],n^=t[t[n]])}}function Yh(t,e){for(var r=t.slice(0),n,i=1,o=r.length,s=o+6+1,a=Fn*s,c=o;c<a;++c)n=r[c-1],c%o===0?(n=et[n>>>16&255]<<24^et[n>>>8&255]<<16^et[n&255]<<8^et[n>>>24]^Hh[i]<<24,i++):o>6&&c%o===4&&(n=et[n>>>24]<<24^et[n>>>16&255]<<16^et[n>>>8&255]<<8^et[n&255]),r[c]=r[c-o]^n;if(e){var u,l=It[0],f=It[1],d=It[2],p=It[3],h=r.slice(0);a=r.length;for(var c=0,m=a-Fn;c<a;c+=Fn,m-=Fn)if(c===0||c===a-Fn)h[c]=r[m],h[c+1]=r[m+3],h[c+2]=r[m+2],h[c+3]=r[m+1];else for(var y=0;y<Fn;++y)u=r[m+y],h[c+(3&-y)]=l[et[u>>>24]]^f[et[u>>>16&255]]^d[et[u>>>8&255]]^p[et[u&255]];r=h}return r}function vc(t,e,r,n){var i=t.length/4-1,o,s,a,c,u;n?(o=It[0],s=It[1],a=It[2],c=It[3],u=bc):(o=en[0],s=en[1],a=en[2],c=en[3],u=et);var l,f,d,p,h,m,y;l=e[0]^t[0],f=e[n?3:1]^t[1],d=e[2]^t[2],p=e[n?1:3]^t[3];for(var g=3,x=1;x<i;++x)h=o[l>>>24]^s[f>>>16&255]^a[d>>>8&255]^c[p&255]^t[++g],m=o[f>>>24]^s[d>>>16&255]^a[p>>>8&255]^c[l&255]^t[++g],y=o[d>>>24]^s[p>>>16&255]^a[l>>>8&255]^c[f&255]^t[++g],p=o[p>>>24]^s[l>>>16&255]^a[f>>>8&255]^c[d&255]^t[++g],l=h,f=m,d=y;r[0]=u[l>>>24]<<24^u[f>>>16&255]<<16^u[d>>>8&255]<<8^u[p&255]^t[++g],r[n?3:1]=u[f>>>24]<<24^u[d>>>16&255]<<16^u[p>>>8&255]<<8^u[l&255]^t[++g],r[2]=u[d>>>24]<<24^u[p>>>16&255]<<16^u[l>>>8&255]<<8^u[f&255]^t[++g],r[n?1:3]=u[p>>>24]<<24^u[l>>>16&255]<<16^u[f>>>8&255]<<8^u[d&255]^t[++g]}function fs(t){t=t||{};var e=(t.mode||"CBC").toUpperCase(),r="AES-"+e,n;t.decrypt?n=fe.cipher.createDecipher(r,t.key):n=fe.cipher.createCipher(r,t.key);var i=n.start;return n.start=function(o,s){var a=null;s instanceof fe.util.ByteBuffer&&(a=s,s={}),s=s||{},s.output=a,s.iv=o,i.call(n,s)},n}});var Zh=B((a4,Xh)=>{var ge=ae();gc();wc();Le();Xh.exports=ge.des=ge.des||{};ge.des.startEncrypting=function(t,e,r,n){var i=ds({key:t,output:r,decrypt:!1,mode:n||(e===null?"ECB":"CBC")});return i.start(e),i};ge.des.createEncryptionCipher=function(t,e){return ds({key:t,output:null,decrypt:!1,mode:e})};ge.des.startDecrypting=function(t,e,r,n){var i=ds({key:t,output:r,decrypt:!0,mode:n||(e===null?"ECB":"CBC")});return i.start(e),i};ge.des.createDecryptionCipher=function(t,e){return ds({key:t,output:null,decrypt:!0,mode:e})};ge.des.Algorithm=function(t,e){var r=this;r.name=t,r.mode=new e({blockSize:8,cipher:{encrypt:function(n,i){return Qh(r._keys,n,i,!1)},decrypt:function(n,i){return Qh(r._keys,n,i,!0)}}}),r._init=!1};ge.des.Algorithm.prototype.initialize=function(t){if(!this._init){var e=ge.util.createBuffer(t.key);if(this.name.indexOf("3DES")===0&&e.length()!==24)throw new Error("Invalid Triple-DES key size: "+e.length()*8);this._keys=Mx(e),this._init=!0}};Vt("DES-ECB",ge.cipher.modes.ecb);Vt("DES-CBC",ge.cipher.modes.cbc);Vt("DES-CFB",ge.cipher.modes.cfb);Vt("DES-OFB",ge.cipher.modes.ofb);Vt("DES-CTR",ge.cipher.modes.ctr);Vt("3DES-ECB",ge.cipher.modes.ecb);Vt("3DES-CBC",ge.cipher.modes.cbc);Vt("3DES-CFB",ge.cipher.modes.cfb);Vt("3DES-OFB",ge.cipher.modes.ofb);Vt("3DES-CTR",ge.cipher.modes.ctr);function Vt(t,e){var r=function(){return new ge.des.Algorithm(t,e)};ge.cipher.registerAlgorithm(t,r)}var Tx=[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],Bx=[-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],Lx=[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],Px=[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],Dx=[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],Nx=[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],kx=[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],Ox=[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 Mx(t){for(var e=[0,4,536870912,536870916,65536,65540,536936448,536936452,512,516,536871424,536871428,66048,66052,536936960,536936964],r=[0,1,1048576,1048577,67108864,67108865,68157440,68157441,256,257,1048832,1048833,67109120,67109121,68157696,68157697],n=[0,8,2048,2056,16777216,16777224,16779264,16779272,0,8,2048,2056,16777216,16777224,16779264,16779272],i=[0,2097152,134217728,136314880,8192,2105344,134225920,136323072,131072,2228224,134348800,136445952,139264,2236416,134356992,136454144],o=[0,262144,16,262160,0,262144,16,262160,4096,266240,4112,266256,4096,266240,4112,266256],s=[0,1024,32,1056,0,1024,32,1056,33554432,33555456,33554464,33555488,33554432,33555456,33554464,33555488],a=[0,268435456,524288,268959744,2,268435458,524290,268959746,0,268435456,524288,268959744,2,268435458,524290,268959746],c=[0,65536,2048,67584,536870912,536936448,536872960,536938496,131072,196608,133120,198656,537001984,537067520,537004032,537069568],u=[0,262144,0,262144,2,262146,2,262146,33554432,33816576,33554432,33816576,33554434,33816578,33554434,33816578],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],p=[0,4096,134217728,134221824,524288,528384,134742016,134746112,16,4112,134217744,134221840,524304,528400,134742032,134746128],h=[0,4,256,260,0,4,256,260,1,5,257,261,1,5,257,261],m=t.length()>8?3:1,y=[],g=[0,0,1,1,1,1,1,1,0,1,1,1,1,1,1,0],x=0,E,T=0;T<m;T++){var I=t.getInt32(),C=t.getInt32();E=(I>>>4^C)&252645135,C^=E,I^=E<<4,E=(C>>>-16^I)&65535,I^=E,C^=E<<-16,E=(I>>>2^C)&858993459,C^=E,I^=E<<2,E=(C>>>-16^I)&65535,I^=E,C^=E<<-16,E=(I>>>1^C)&1431655765,C^=E,I^=E<<1,E=(C>>>8^I)&16711935,I^=E,C^=E<<8,E=(I>>>1^C)&1431655765,C^=E,I^=E<<1,E=I<<8|C>>>20&240,I=C<<24|C<<8&16711680|C>>>8&65280|C>>>24&240,C=E;for(var O=0;O<g.length;++O){g[O]?(I=I<<2|I>>>26,C=C<<2|C>>>26):(I=I<<1|I>>>27,C=C<<1|C>>>27),I&=-15,C&=-15;var U=e[I>>>28]|r[I>>>24&15]|n[I>>>20&15]|i[I>>>16&15]|o[I>>>12&15]|s[I>>>8&15]|a[I>>>4&15],se=c[C>>>28]|u[C>>>24&15]|l[C>>>20&15]|f[C>>>16&15]|d[C>>>12&15]|p[C>>>8&15]|h[C>>>4&15];E=(se>>>16^U)&65535,y[x++]=U^E,y[x++]=se^E<<16}}return y}function Qh(t,e,r,n){var i=t.length===32?3:9,o;i===3?o=n?[30,-2,-2]:[0,32,2]:o=n?[94,62,-2,32,64,2,30,-2,-2]:[0,32,2,62,30,-2,64,96,2];var s,a=e[0],c=e[1];s=(a>>>4^c)&252645135,c^=s,a^=s<<4,s=(a>>>16^c)&65535,c^=s,a^=s<<16,s=(c>>>2^a)&858993459,a^=s,c^=s<<2,s=(c>>>8^a)&16711935,a^=s,c^=s<<8,s=(a>>>1^c)&1431655765,c^=s,a^=s<<1,a=a<<1|a>>>31,c=c<<1|c>>>31;for(var u=0;u<i;u+=3){for(var l=o[u+1],f=o[u+2],d=o[u];d!=l;d+=f){var p=c^t[d],h=(c>>>4|c<<28)^t[d+1];s=a,a=c,c=s^(Bx[p>>>24&63]|Px[p>>>16&63]|Nx[p>>>8&63]|Ox[p&63]|Tx[h>>>24&63]|Lx[h>>>16&63]|Dx[h>>>8&63]|kx[h&63])}s=a,a=c,c=s}a=a>>>1|a<<31,c=c>>>1|c<<31,s=(a>>>1^c)&1431655765,c^=s,a^=s<<1,s=(c>>>8^a)&16711935,a^=s,c^=s<<8,s=(c>>>2^a)&858993459,a^=s,c^=s<<2,s=(a>>>16^c)&65535,c^=s,a^=s<<16,s=(a>>>4^c)&252645135,c^=s,a^=s<<4,r[0]=a,r[1]=c}function ds(t){t=t||{};var e=(t.mode||"CBC").toUpperCase(),r="DES-"+e,n;t.decrypt?n=ge.cipher.createDecipher(r,t.key):n=ge.cipher.createCipher(r,t.key);var i=n.start;return n.start=function(o,s){var a=null;s instanceof ge.util.ByteBuffer&&(a=s,s={}),s=s||{},s.output=a,s.iv=o,i.call(n,s)},n}});var tn=B((c4,jh)=>{var ps=ae();jh.exports=ps.md=ps.md||{};ps.md.algorithms=ps.md.algorithms||{}});var e0=B((u4,Jh)=>{var sr=ae();tn();Le();var Ux=Jh.exports=sr.hmac=sr.hmac||{};Ux.create=function(){var t=null,e=null,r=null,n=null,i={};return i.start=function(o,s){if(o!==null)if(typeof o=="string")if(o=o.toLowerCase(),o in sr.md.algorithms)e=sr.md.algorithms[o].create();else throw new Error('Unknown hash algorithm "'+o+'"');else e=o;if(s===null)s=t;else{if(typeof s=="string")s=sr.util.createBuffer(s);else if(sr.util.isArray(s)){var a=s;s=sr.util.createBuffer();for(var c=0;c<a.length;++c)s.putByte(a[c])}var u=s.length();u>e.blockLength&&(e.start(),e.update(s.bytes()),s=e.digest()),r=sr.util.createBuffer(),n=sr.util.createBuffer(),u=s.length();for(var c=0;c<u;++c){var a=s.at(c);r.putByte(54^a),n.putByte(92^a)}if(u<e.blockLength)for(var a=e.blockLength-u,c=0;c<a;++c)r.putByte(54),n.putByte(92);t=s,r=r.bytes(),n=n.bytes()}e.start(),e.update(r)},i.update=function(o){e.update(o)},i.getMac=function(){var o=e.digest().bytes();return e.start(),e.update(n),e.update(o),e.digest()},i.digest=i.getMac,i}});var rn=B(()=>{});var _c=B((h4,t0)=>{var tt=ae();e0();tn();Le();var Fx=tt.pkcs5=tt.pkcs5||{},ar;tt.util.isNodejs&&!tt.options.usePureJavaScript&&(ar=rn());t0.exports=tt.pbkdf2=Fx.pbkdf2=function(t,e,r,n,i,o){if(typeof i=="function"&&(o=i,i=null),tt.util.isNodejs&&!tt.options.usePureJavaScript&&ar.pbkdf2&&(i===null||typeof i!="object")&&(ar.pbkdf2Sync.length>4||!i||i==="sha1"))return typeof i!="string"&&(i="sha1"),t=Buffer.from(t,"binary"),e=Buffer.from(e,"binary"),o?ar.pbkdf2Sync.length===4?ar.pbkdf2(t,e,r,n,function(E,T){if(E)return o(E);o(null,T.toString("binary"))}):ar.pbkdf2(t,e,r,n,i,function(E,T){if(E)return o(E);o(null,T.toString("binary"))}):ar.pbkdf2Sync.length===4?ar.pbkdf2Sync(t,e,r,n).toString("binary"):ar.pbkdf2Sync(t,e,r,n,i).toString("binary");if((typeof i>"u"||i===null)&&(i="sha1"),typeof i=="string"){if(!(i in tt.md.algorithms))throw new Error("Unknown hash algorithm: "+i);i=tt.md[i].create()}var s=i.digestLength;if(n>4294967295*s){var a=new Error("Derived key is too long.");if(o)return o(a);throw a}var c=Math.ceil(n/s),u=n-(c-1)*s,l=tt.hmac.create();l.start(i,t);var f="",d,p,h;if(!o){for(var m=1;m<=c;++m){l.start(null,null),l.update(e),l.update(tt.util.int32ToBytes(m)),d=h=l.digest().getBytes();for(var y=2;y<=r;++y)l.start(null,null),l.update(h),p=l.digest().getBytes(),d=tt.util.xorBytes(d,p,s),h=p;f+=m<c?d:d.substr(0,u)}return f}var m=1,y;function g(){if(m>c)return o(null,f);l.start(null,null),l.update(e),l.update(tt.util.int32ToBytes(m)),d=h=l.digest().getBytes(),y=2,x()}function x(){if(y<=r)return l.start(null,null),l.update(h),p=l.digest().getBytes(),d=tt.util.xorBytes(d,p,s),h=p,++y,tt.util.setImmediate(x);f+=m<c?d:d.substr(0,u),++m,g()}g()}});var i0=B((d4,n0)=>{var ys=ae();Le();var r0=n0.exports=ys.pem=ys.pem||{};r0.encode=function(t,e){e=e||{};var r="-----BEGIN "+t.type+`-----\r
9
+ `,n;if(t.procType&&(n={name:"Proc-Type",values:[String(t.procType.version),t.procType.type]},r+=ms(n)),t.contentDomain&&(n={name:"Content-Domain",values:[t.contentDomain]},r+=ms(n)),t.dekInfo&&(n={name:"DEK-Info",values:[t.dekInfo.algorithm]},t.dekInfo.parameters&&n.values.push(t.dekInfo.parameters),r+=ms(n)),t.headers)for(var i=0;i<t.headers.length;++i)r+=ms(t.headers[i]);return t.procType&&(r+=`\r
10
+ `),r+=ys.util.encode64(t.body,e.maxline||64)+`\r
11
11
  `,r+="-----END "+t.type+`-----\r
12
- `,r};Lf.decode=function(t){for(var e=[],r=/\s*-----BEGIN ([A-Z0-9- ]+)-----\r?\n?([\x21-\x7e\s]+?(?:\r?\n\r?\n))?([:A-Za-z0-9+\/=\s]+?)-----END \1-----/g,n=/([\x21-\x7e]+):\s*([\x21-\x7e\s^:]+)/,i=/\r?\n/,s;s=r.exec(t),!!s;){var o=s[1];o==="NEW CERTIFICATE REQUEST"&&(o="CERTIFICATE REQUEST");var a={type:o,procType:null,contentDomain:null,dekInfo:null,headers:[],body:Ms.util.decode64(s[3])};if(e.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 h=c[f];if(!/\s/.test(h[0]))break;l+=h,u=f}if(s=l.match(n),s){for(var d={name:s[1],values:[]},p=s[2].split(","),m=0;m<p.length;++m)d.values.push(Ng(p[m]));if(a.procType)if(!a.contentDomain&&d.name==="Content-Domain")a.contentDomain=p[0]||"";else if(!a.dekInfo&&d.name==="DEK-Info"){if(d.values.length===0)throw new Error('Invalid PEM formatted message. The "DEK-Info" header must have at least one subfield.');a.dekInfo={algorithm:p[0],parameters:p[1]||null}}else a.headers.push(d);else{if(d.name!=="Proc-Type")throw new Error('Invalid PEM formatted message. The first encapsulated header must be "Proc-Type".');if(d.values.length!==2)throw new Error('Invalid PEM formatted message. The "Proc-Type" header must have two subfields.');a.procType={version: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(e.length===0)throw new Error("Invalid PEM formatted message.");return e};function Os(t){for(var e=t.name+": ",r=[],n=function(c,u){return" "+u},i=0;i<t.values.length;++i)r.push(t.values[i].replace(/^(\S+\r\n)/,n));e+=r.join(",")+`\r
13
- `;for(var s=0,o=-1,i=0;i<e.length;++i,++s)if(s>65&&o!==-1){var a=e[o];a===","?(++o,e=e.substr(0,o)+`\r
14
- `+e.substr(o)):e=e.substr(0,o)+`\r
15
- `+a+e.substr(o+1),s=i-o-1,o=-1,++i}else(e[i]===" "||e[i]===" "||e[i]===",")&&(o=i);return e}function Ng(t){return t.replace(/^\s+/,"")}});var Uf=R((X_,Ff)=>{var Ut=se();$r();Ie();var kf=Ff.exports=Ut.sha256=Ut.sha256||{};Ut.md.sha256=Ut.md.algorithms.sha256=kf;kf.create=function(){Of||kg();var t=null,e=Ut.util.createBuffer(),r=new Array(64),n={algorithm:"sha256",blockLength:64,digestLength:32,messageLength:0,fullMessageLength:null,messageLengthSize:8};return n.start=function(){n.messageLength=0,n.fullMessageLength=n.messageLength64=[];for(var i=n.messageLengthSize/4,s=0;s<i;++s)n.fullMessageLength.push(0);return e=Ut.util.createBuffer(),t={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=Ut.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 e.putBytes(i),Nf(t,r,e),(e.read>2048||e.length()===0)&&e.compact(),n},n.digest=function(){var i=Ut.util.createBuffer();i.putBytes(e.bytes());var s=n.fullMessageLength[n.fullMessageLength.length-1]+n.messageLengthSize,o=s&n.blockLength-1;i.putBytes($a.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:t.h0,h1:t.h1,h2:t.h2,h3:t.h3,h4:t.h4,h5:t.h5,h6:t.h6,h7:t.h7};Nf(f,r,i);var h=Ut.util.createBuffer();return h.putInt32(f.h0),h.putInt32(f.h1),h.putInt32(f.h2),h.putInt32(f.h3),h.putInt32(f.h4),h.putInt32(f.h5),h.putInt32(f.h6),h.putInt32(f.h7),h},n};var $a=null,Of=!1,Mf=null;function kg(){$a=String.fromCharCode(128),$a+=Ut.util.fillString(String.fromCharCode(0),64),Mf=[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],Of=!0}function Nf(t,e,r){for(var n,i,s,o,a,c,u,l,f,h,d,p,m,y,g,w=r.length();w>=64;){for(u=0;u<16;++u)e[u]=r.getInt32();for(;u<64;++u)n=e[u-2],n=(n>>>17|n<<15)^(n>>>19|n<<13)^n>>>10,i=e[u-15],i=(i>>>7|i<<25)^(i>>>18|i<<14)^i>>>3,e[u]=n+e[u-7]+i+e[u-16]|0;for(l=t.h0,f=t.h1,h=t.h2,d=t.h3,p=t.h4,m=t.h5,y=t.h6,g=t.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|h&(l^f),n=g+o+a+Mf[u]+e[u],i=s+c,g=y,y=m,m=p,p=d+n>>>0,d=h,h=f,f=l,l=n+i>>>0;t.h0=t.h0+l|0,t.h1=t.h1+f|0,t.h2=t.h2+h|0,t.h3=t.h3+d|0,t.h4=t.h4+p|0,t.h5=t.h5+m|0,t.h6=t.h6+y|0,t.h7=t.h7+g|0,w-=64}}});var Vf=R((Z_,Kf)=>{var Kt=se();Ie();var Fs=null;Kt.util.isNodejs&&!Kt.options.usePureJavaScript&&!process.versions["node-webkit"]&&(Fs=zr());var Og=Kf.exports=Kt.prng=Kt.prng||{};Og.create=function(t){for(var e={plugin:t,key:null,seed:null,time:null,reseeds:0,generated:0,keyBytes:""},r=t.md,n=new Array(32),i=0;i<32;++i)n[i]=r.create();e.pools=n,e.pool=0,e.generate=function(u,l){if(!l)return e.generateSync(u);var f=e.plugin.cipher,h=e.plugin.increment,d=e.plugin.formatKey,p=e.plugin.formatSeed,m=Kt.util.createBuffer();e.key=null,y();function y(g){if(g)return l(g);if(m.length()>=u)return l(null,m.getBytes(u));if(e.generated>1048575&&(e.key=null),e.key===null)return Kt.util.nextTick(function(){s(y)});var w=f(e.key,e.seed);e.generated+=w.length,m.putBytes(w),e.key=d(f(e.key,h(e.seed))),e.seed=p(f(e.key,e.seed)),Kt.util.setImmediate(y)}},e.generateSync=function(u){var l=e.plugin.cipher,f=e.plugin.increment,h=e.plugin.formatKey,d=e.plugin.formatSeed;e.key=null;for(var p=Kt.util.createBuffer();p.length()<u;){e.generated>1048575&&(e.key=null),e.key===null&&o();var m=l(e.key,e.seed);e.generated+=m.length,p.putBytes(m),e.key=h(l(e.key,f(e.seed))),e.seed=d(l(e.key,e.seed))}return p.getBytes(u)};function s(u){if(e.pools[0].messageLength>=32)return a(),u();var l=32-e.pools[0].messageLength<<5;e.seedFile(l,function(f,h){if(f)return u(f);e.collect(h),a(),u()})}function o(){if(e.pools[0].messageLength>=32)return a();var u=32-e.pools[0].messageLength<<5;e.collect(e.seedFileSync(u)),a()}function a(){e.reseeds=e.reseeds===4294967295?0:e.reseeds+1;var u=e.plugin.md.create();u.update(e.keyBytes);for(var l=1,f=0;f<32;++f)e.reseeds%l===0&&(u.update(e.pools[f].digest().getBytes()),e.pools[f].start()),l=l<<1;e.keyBytes=u.digest().getBytes(),u.start(),u.update(e.keyBytes);var h=u.digest().getBytes();e.key=e.plugin.formatKey(e.keyBytes),e.seed=e.plugin.formatSeed(h),e.generated=0}function c(u){var l=null,f=Kt.util.globalScope,h=f.crypto||f.msCrypto;h&&h.getRandomValues&&(l=function(C){return h.getRandomValues(C)});var d=Kt.util.createBuffer();if(l)for(;d.length()<u;){var p=Math.max(1,Math.min(u-d.length(),65536)/4),m=new Uint32Array(Math.floor(p));try{l(m);for(var y=0;y<m.length;++y)d.putInt32(m[y])}catch(C){if(!(typeof QuotaExceededError<"u"&&C instanceof QuotaExceededError))throw C}}if(d.length()<u)for(var g,w,_,N=Math.floor(Math.random()*65536);d.length()<u;){w=16807*(N&65535),g=16807*(N>>16),w+=(g&32767)<<16,w+=g>>15,w=(w&2147483647)+(w>>31),N=w&4294967295;for(var y=0;y<3;++y)_=N>>>(y<<3),_^=Math.floor(Math.random()*256),d.putByte(_&255)}return d.getBytes(u)}return Fs?(e.seedFile=function(u,l){Fs.randomBytes(u,function(f,h){if(f)return l(f);l(null,h.toString())})},e.seedFileSync=function(u){return Fs.randomBytes(u).toString()}):(e.seedFile=function(u,l){try{l(null,c(u))}catch(f){l(f)}},e.seedFileSync=c),e.collect=function(u){for(var l=u.length,f=0;f<l;++f)e.pools[e.pool].update(u.substr(f,1)),e.pool=e.pool===31?0:e.pool+1},e.collectInt=function(u,l){for(var f="",h=0;h<l;h+=8)f+=String.fromCharCode(u>>h&255);e.collect(f)},e.registerWorker=function(u){if(u===self)e.seedFile=function(f,h){function d(p){var m=p.data;m.forge&&m.forge.prng&&(self.removeEventListener("message",d),h(m.forge.prng.err,m.forge.prng.bytes))}self.addEventListener("message",d),self.postMessage({forge:{prng:{needed:f}}})};else{var l=function(f){var h=f.data;h.forge&&h.forge.prng&&e.seedFile(h.forge.prng.needed,function(d,p){u.postMessage({forge:{prng:{err:d,bytes:p}}})})};u.addEventListener("message",l)}},e}});var Ii=R((j_,za)=>{var Me=se();Ds();Uf();Vf();Ie();(function(){if(Me.random&&Me.random.getBytes){za.exports=Me.random;return}(function(t){var e={},r=new Array(4),n=Me.util.createBuffer();e.formatKey=function(f){var h=Me.util.createBuffer(f);return f=new Array(4),f[0]=h.getInt32(),f[1]=h.getInt32(),f[2]=h.getInt32(),f[3]=h.getInt32(),Me.aes._expandKey(f,!1)},e.formatSeed=function(f){var h=Me.util.createBuffer(f);return f=new Array(4),f[0]=h.getInt32(),f[1]=h.getInt32(),f[2]=h.getInt32(),f[3]=h.getInt32(),f},e.cipher=function(f,h){return Me.aes._updateBlock(f,h,r,!1),n.putInt32(r[0]),n.putInt32(r[1]),n.putInt32(r[2]),n.putInt32(r[3]),n.getBytes()},e.increment=function(f){return++f[3],f},e.md=Me.md.sha256;function i(){var f=Me.prng.create(e);return f.getBytes=function(h,d){return f.generate(h,d)},f.getBytesSync=function(h){return f.generate(h)},f}var s=i(),o=null,a=Me.util.globalScope,c=a.crypto||a.msCrypto;if(c&&c.getRandomValues&&(o=function(f){return c.getRandomValues(f)}),Me.options.usePureJavaScript||!Me.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}t&&(t().mousemove(function(f){s.collectInt(f.clientX,16),s.collectInt(f.clientY,16)}),t().keypress(function(f){s.collectInt(f.charCode,8)}))}if(!Me.random)Me.random=s;else for(var l in s)Me.random[l]=s[l];Me.random.createInstance=i,za.exports=Me.random})(typeof jQuery<"u"?jQuery:null)})()});var Hf=R((J_,zf)=>{var tt=se();Ie();var Ha=[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],qf=[1,2,3,5],Mg=function(t,e){return t<<e&65535|(t&65535)>>16-e},Fg=function(t,e){return(t&65535)>>e|t<<16-e&65535};zf.exports=tt.rc2=tt.rc2||{};tt.rc2.expandKey=function(t,e){typeof t=="string"&&(t=tt.util.createBuffer(t)),e=e||128;var r=t,n=t.length(),i=e,s=Math.ceil(i/8),o=255>>(i&7),a;for(a=n;a<128;a++)r.putByte(Ha[r.at(a-1)+r.at(a-n)&255]);for(r.setAt(128-s,Ha[r.at(128-s)&o]),a=127-s;a>=0;a--)r.setAt(a,Ha[r.at(a+1)^r.at(a+s)]);return r};var $f=function(t,e,r){var n=!1,i=null,s=null,o=null,a,c,u,l,f=[];for(t=tt.rc2.expandKey(t,e),u=0;u<64;u++)f.push(t.getInt16Le());r?(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]=Mg(p[u],qf[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]=Fg(p[u],qf[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 h=function(p){var m=[];for(u=0;u<4;u++){var y=i.getInt16Le();o!==null&&(r?y^=o.getInt16Le():o.putInt16Le(y)),m.push(y&65535)}l=r?0:63;for(var g=0;g<p.length;g++)for(var w=0;w<p[g][0];w++)p[g][1](m);for(u=0;u<4;u++)o!==null&&(r?o.putInt16Le(m[u]):m[u]^=o.getInt16Le()),s.putInt16Le(m[u])},d=null;return d={start:function(p,m){p&&typeof p=="string"&&(p=tt.util.createBuffer(p)),n=!1,i=tt.util.createBuffer(),s=m||new tt.util.createBuffer,o=p,d.output=s},update:function(p){for(n||i.putBuffer(p);i.length()>=8;)h([[5,a],[1,c],[6,a],[1,c],[5,a]])},finish:function(p){var m=!0;if(r)if(p)m=p(8,i,!r);else{var y=i.length()===8?8:8-i.length();i.fillWithByte(y,y)}if(m&&(n=!0,d.update()),!r&&(m=i.length()===0,m))if(p)m=p(8,s,!r);else{var g=s.length(),w=s.at(g-1);w>g?m=!1:s.truncate(w)}return m}},d};tt.rc2.startEncrypting=function(t,e,r){var n=tt.rc2.createEncryptionCipher(t,128);return n.start(e,r),n};tt.rc2.createEncryptionCipher=function(t,e){return $f(t,e,!0)};tt.rc2.startDecrypting=function(t,e,r){var n=tt.rc2.createDecryptionCipher(t,128);return n.start(e,r),n};tt.rc2.createDecryptionCipher=function(t,e){return $f(t,e,!1)}});var Vs=R((eS,Jf)=>{var Ga=se();Jf.exports=Ga.jsbn=Ga.jsbn||{};var rr,Ug=0xdeadbeefcafe,Gf=(Ug&16777215)==15715070;function S(t,e,r){this.data=[],t!=null&&(typeof t=="number"?this.fromNumber(t,e,r):e==null&&typeof t!="string"?this.fromString(t,256):this.fromString(t,e))}Ga.jsbn.BigInteger=S;function J(){return new S(null)}function Kg(t,e,r,n,i,s){for(;--s>=0;){var o=e*this.data[t++]+r.data[n]+i;i=Math.floor(o/67108864),r.data[n++]=o&67108863}return i}function Vg(t,e,r,n,i,s){for(var o=e&32767,a=e>>15;--s>=0;){var c=this.data[t]&32767,u=this.data[t++]>>15,l=a*c+u*o;c=o*c+((l&32767)<<15)+r.data[n]+(i&1073741823),i=(c>>>30)+(l>>>15)+a*u+(i>>>30),r.data[n++]=c&1073741823}return i}function Yf(t,e,r,n,i,s){for(var o=e&16383,a=e>>14;--s>=0;){var c=this.data[t]&16383,u=this.data[t++]>>14,l=a*c+u*o;c=o*c+((l&16383)<<14)+r.data[n]+i,i=(c>>28)+(l>>14)+a*u,r.data[n++]=c&268435455}return i}typeof navigator>"u"?(S.prototype.am=Yf,rr=28):Gf&&navigator.appName=="Microsoft Internet Explorer"?(S.prototype.am=Vg,rr=30):Gf&&navigator.appName!="Netscape"?(S.prototype.am=Kg,rr=26):(S.prototype.am=Yf,rr=28);S.prototype.DB=rr;S.prototype.DM=(1<<rr)-1;S.prototype.DV=1<<rr;var Ya=52;S.prototype.FV=Math.pow(2,Ya);S.prototype.F1=Ya-rr;S.prototype.F2=2*rr-Ya;var qg="0123456789abcdefghijklmnopqrstuvwxyz",Us=new Array,Tn,gt;Tn="0".charCodeAt(0);for(gt=0;gt<=9;++gt)Us[Tn++]=gt;Tn="a".charCodeAt(0);for(gt=10;gt<36;++gt)Us[Tn++]=gt;Tn="A".charCodeAt(0);for(gt=10;gt<36;++gt)Us[Tn++]=gt;function Wf(t){return qg.charAt(t)}function Qf(t,e){var r=Us[t.charCodeAt(e)];return r??-1}function $g(t){for(var e=this.t-1;e>=0;--e)t.data[e]=this.data[e];t.t=this.t,t.s=this.s}function zg(t){this.t=1,this.s=t<0?-1:0,t>0?this.data[0]=t:t<-1?this.data[0]=t+this.DV:this.t=0}function yr(t){var e=J();return e.fromInt(t),e}function Hg(t,e){var r;if(e==16)r=4;else if(e==8)r=3;else if(e==256)r=8;else if(e==2)r=1;else if(e==32)r=5;else if(e==4)r=2;else{this.fromRadix(t,e);return}this.t=0,this.s=0;for(var n=t.length,i=!1,s=0;--n>=0;){var o=r==8?t[n]&255:Qf(t,n);if(o<0){t.charAt(n)=="-"&&(i=!0);continue}i=!1,s==0?this.data[this.t++]=o:s+r>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+=r,s>=this.DB&&(s-=this.DB)}r==8&&t[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 Gg(){for(var t=this.s&this.DM;this.t>0&&this.data[this.t-1]==t;)--this.t}function Yg(t){if(this.s<0)return"-"+this.negate().toString(t);var e;if(t==16)e=4;else if(t==8)e=3;else if(t==2)e=1;else if(t==32)e=5;else if(t==4)e=2;else return this.toRadix(t);var r=(1<<e)-1,n,i=!1,s="",o=this.t,a=this.DB-o*this.DB%e;if(o-- >0)for(a<this.DB&&(n=this.data[o]>>a)>0&&(i=!0,s=Wf(n));o>=0;)a<e?(n=(this.data[o]&(1<<a)-1)<<e-a,n|=this.data[--o]>>(a+=this.DB-e)):(n=this.data[o]>>(a-=e)&r,a<=0&&(a+=this.DB,--o)),n>0&&(i=!0),i&&(s+=Wf(n));return i?s:"0"}function Wg(){var t=J();return S.ZERO.subTo(this,t),t}function Qg(){return this.s<0?this.negate():this}function Xg(t){var e=this.s-t.s;if(e!=0)return e;var r=this.t;if(e=r-t.t,e!=0)return this.s<0?-e:e;for(;--r>=0;)if((e=this.data[r]-t.data[r])!=0)return e;return 0}function Ks(t){var e=1,r;return(r=t>>>16)!=0&&(t=r,e+=16),(r=t>>8)!=0&&(t=r,e+=8),(r=t>>4)!=0&&(t=r,e+=4),(r=t>>2)!=0&&(t=r,e+=2),(r=t>>1)!=0&&(t=r,e+=1),e}function Zg(){return this.t<=0?0:this.DB*(this.t-1)+Ks(this.data[this.t-1]^this.s&this.DM)}function jg(t,e){var r;for(r=this.t-1;r>=0;--r)e.data[r+t]=this.data[r];for(r=t-1;r>=0;--r)e.data[r]=0;e.t=this.t+t,e.s=this.s}function Jg(t,e){for(var r=t;r<this.t;++r)e.data[r-t]=this.data[r];e.t=Math.max(this.t-t,0),e.s=this.s}function e1(t,e){var r=t%this.DB,n=this.DB-r,i=(1<<n)-1,s=Math.floor(t/this.DB),o=this.s<<r&this.DM,a;for(a=this.t-1;a>=0;--a)e.data[a+s+1]=this.data[a]>>n|o,o=(this.data[a]&i)<<r;for(a=s-1;a>=0;--a)e.data[a]=0;e.data[s]=o,e.t=this.t+s+1,e.s=this.s,e.clamp()}function t1(t,e){e.s=this.s;var r=Math.floor(t/this.DB);if(r>=this.t){e.t=0;return}var n=t%this.DB,i=this.DB-n,s=(1<<n)-1;e.data[0]=this.data[r]>>n;for(var o=r+1;o<this.t;++o)e.data[o-r-1]|=(this.data[o]&s)<<i,e.data[o-r]=this.data[o]>>n;n>0&&(e.data[this.t-r-1]|=(this.s&s)<<i),e.t=this.t-r,e.clamp()}function r1(t,e){for(var r=0,n=0,i=Math.min(t.t,this.t);r<i;)n+=this.data[r]-t.data[r],e.data[r++]=n&this.DM,n>>=this.DB;if(t.t<this.t){for(n-=t.s;r<this.t;)n+=this.data[r],e.data[r++]=n&this.DM,n>>=this.DB;n+=this.s}else{for(n+=this.s;r<t.t;)n-=t.data[r],e.data[r++]=n&this.DM,n>>=this.DB;n-=t.s}e.s=n<0?-1:0,n<-1?e.data[r++]=this.DV+n:n>0&&(e.data[r++]=n),e.t=r,e.clamp()}function n1(t,e){var r=this.abs(),n=t.abs(),i=r.t;for(e.t=i+n.t;--i>=0;)e.data[i]=0;for(i=0;i<n.t;++i)e.data[i+r.t]=r.am(0,n.data[i],e,i,0,r.t);e.s=0,e.clamp(),this.s!=t.s&&S.ZERO.subTo(e,e)}function i1(t){for(var e=this.abs(),r=t.t=2*e.t;--r>=0;)t.data[r]=0;for(r=0;r<e.t-1;++r){var n=e.am(r,e.data[r],t,2*r,0,1);(t.data[r+e.t]+=e.am(r+1,2*e.data[r],t,2*r+1,n,e.t-r-1))>=e.DV&&(t.data[r+e.t]-=e.DV,t.data[r+e.t+1]=1)}t.t>0&&(t.data[t.t-1]+=e.am(r,e.data[r],t,2*r,0,1)),t.s=0,t.clamp()}function s1(t,e,r){var n=t.abs();if(!(n.t<=0)){var i=this.abs();if(i.t<n.t){e?.fromInt(0),r!=null&&this.copyTo(r);return}r==null&&(r=J());var s=J(),o=this.s,a=t.s,c=this.DB-Ks(n.data[n.t-1]);c>0?(n.lShiftTo(c,s),i.lShiftTo(c,r)):(n.copyTo(s),i.copyTo(r));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),h=this.FV/f,d=(1<<this.F1)/f,p=1<<this.F2,m=r.t,y=m-u,g=e??J();for(s.dlShiftTo(y,g),r.compareTo(g)>=0&&(r.data[r.t++]=1,r.subTo(g,r)),S.ONE.dlShiftTo(u,g),g.subTo(s,s);s.t<u;)s.data[s.t++]=0;for(;--y>=0;){var w=r.data[--m]==l?this.DM:Math.floor(r.data[m]*h+(r.data[m-1]+p)*d);if((r.data[m]+=s.am(0,w,r,y,0,u))<w)for(s.dlShiftTo(y,g),r.subTo(g,r);r.data[m]<--w;)r.subTo(g,r)}e!=null&&(r.drShiftTo(u,e),o!=a&&S.ZERO.subTo(e,e)),r.t=u,r.clamp(),c>0&&r.rShiftTo(c,r),o<0&&S.ZERO.subTo(r,r)}}}function o1(t){var e=J();return this.abs().divRemTo(t,null,e),this.s<0&&e.compareTo(S.ZERO)>0&&t.subTo(e,e),e}function Hr(t){this.m=t}function a1(t){return t.s<0||t.compareTo(this.m)>=0?t.mod(this.m):t}function c1(t){return t}function u1(t){t.divRemTo(this.m,null,t)}function l1(t,e,r){t.multiplyTo(e,r),this.reduce(r)}function f1(t,e){t.squareTo(e),this.reduce(e)}Hr.prototype.convert=a1;Hr.prototype.revert=c1;Hr.prototype.reduce=u1;Hr.prototype.mulTo=l1;Hr.prototype.sqrTo=f1;function h1(){if(this.t<1)return 0;var t=this.data[0];if(!(t&1))return 0;var e=t&3;return e=e*(2-(t&15)*e)&15,e=e*(2-(t&255)*e)&255,e=e*(2-((t&65535)*e&65535))&65535,e=e*(2-t*e%this.DV)%this.DV,e>0?this.DV-e:-e}function Gr(t){this.m=t,this.mp=t.invDigit(),this.mpl=this.mp&32767,this.mph=this.mp>>15,this.um=(1<<t.DB-15)-1,this.mt2=2*t.t}function d1(t){var e=J();return t.abs().dlShiftTo(this.m.t,e),e.divRemTo(this.m,null,e),t.s<0&&e.compareTo(S.ZERO)>0&&this.m.subTo(e,e),e}function p1(t){var e=J();return t.copyTo(e),this.reduce(e),e}function m1(t){for(;t.t<=this.mt2;)t.data[t.t++]=0;for(var e=0;e<this.m.t;++e){var r=t.data[e]&32767,n=r*this.mpl+((r*this.mph+(t.data[e]>>15)*this.mpl&this.um)<<15)&t.DM;for(r=e+this.m.t,t.data[r]+=this.m.am(0,n,t,e,0,this.m.t);t.data[r]>=t.DV;)t.data[r]-=t.DV,t.data[++r]++}t.clamp(),t.drShiftTo(this.m.t,t),t.compareTo(this.m)>=0&&t.subTo(this.m,t)}function y1(t,e){t.squareTo(e),this.reduce(e)}function g1(t,e,r){t.multiplyTo(e,r),this.reduce(r)}Gr.prototype.convert=d1;Gr.prototype.revert=p1;Gr.prototype.reduce=m1;Gr.prototype.mulTo=g1;Gr.prototype.sqrTo=y1;function x1(){return(this.t>0?this.data[0]&1:this.s)==0}function w1(t,e){if(t>4294967295||t<1)return S.ONE;var r=J(),n=J(),i=e.convert(this),s=Ks(t)-1;for(i.copyTo(r);--s>=0;)if(e.sqrTo(r,n),(t&1<<s)>0)e.mulTo(n,i,r);else{var o=r;r=n,n=o}return e.revert(r)}function v1(t,e){var r;return t<256||e.isEven()?r=new Hr(e):r=new Gr(e),this.exp(t,r)}S.prototype.copyTo=$g;S.prototype.fromInt=zg;S.prototype.fromString=Hg;S.prototype.clamp=Gg;S.prototype.dlShiftTo=jg;S.prototype.drShiftTo=Jg;S.prototype.lShiftTo=e1;S.prototype.rShiftTo=t1;S.prototype.subTo=r1;S.prototype.multiplyTo=n1;S.prototype.squareTo=i1;S.prototype.divRemTo=s1;S.prototype.invDigit=h1;S.prototype.isEven=x1;S.prototype.exp=w1;S.prototype.toString=Yg;S.prototype.negate=Wg;S.prototype.abs=Qg;S.prototype.compareTo=Xg;S.prototype.bitLength=Zg;S.prototype.mod=o1;S.prototype.modPowInt=v1;S.ZERO=yr(0);S.ONE=yr(1);function E1(){var t=J();return this.copyTo(t),t}function b1(){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 _1(){return this.t==0?this.s:this.data[0]<<24>>24}function S1(){return this.t==0?this.s:this.data[0]<<16>>16}function A1(t){return Math.floor(Math.LN2*this.DB/Math.log(t))}function I1(){return this.s<0?-1:this.t<=0||this.t==1&&this.data[0]<=0?0:1}function R1(t){if(t==null&&(t=10),this.signum()==0||t<2||t>36)return"0";var e=this.chunkSize(t),r=Math.pow(t,e),n=yr(r),i=J(),s=J(),o="";for(this.divRemTo(n,i,s);i.signum()>0;)o=(r+s.intValue()).toString(t).substr(1)+o,i.divRemTo(n,i,s);return s.intValue().toString(t)+o}function C1(t,e){this.fromInt(0),e==null&&(e=10);for(var r=this.chunkSize(e),n=Math.pow(e,r),i=!1,s=0,o=0,a=0;a<t.length;++a){var c=Qf(t,a);if(c<0){t.charAt(a)=="-"&&this.signum()==0&&(i=!0);continue}o=e*o+c,++s>=r&&(this.dMultiply(n),this.dAddOffset(o,0),s=0,o=0)}s>0&&(this.dMultiply(Math.pow(e,s)),this.dAddOffset(o,0)),i&&S.ZERO.subTo(this,this)}function T1(t,e,r){if(typeof e=="number")if(t<2)this.fromInt(1);else for(this.fromNumber(t,r),this.testBit(t-1)||this.bitwiseTo(S.ONE.shiftLeft(t-1),Wa,this),this.isEven()&&this.dAddOffset(1,0);!this.isProbablePrime(e);)this.dAddOffset(2,0),this.bitLength()>t&&this.subTo(S.ONE.shiftLeft(t-1),this);else{var n=new Array,i=t&7;n.length=(t>>3)+1,e.nextBytes(n),i>0?n[0]&=(1<<i)-1:n[0]=0,this.fromString(n,256)}}function B1(){var t=this.t,e=new Array;e[0]=this.s;var r=this.DB-t*this.DB%8,n,i=0;if(t-- >0)for(r<this.DB&&(n=this.data[t]>>r)!=(this.s&this.DM)>>r&&(e[i++]=n|this.s<<this.DB-r);t>=0;)r<8?(n=(this.data[t]&(1<<r)-1)<<8-r,n|=this.data[--t]>>(r+=this.DB-8)):(n=this.data[t]>>(r-=8)&255,r<=0&&(r+=this.DB,--t)),n&128&&(n|=-256),i==0&&(this.s&128)!=(n&128)&&++i,(i>0||n!=this.s)&&(e[i++]=n);return e}function L1(t){return this.compareTo(t)==0}function P1(t){return this.compareTo(t)<0?this:t}function D1(t){return this.compareTo(t)>0?this:t}function N1(t,e,r){var n,i,s=Math.min(t.t,this.t);for(n=0;n<s;++n)r.data[n]=e(this.data[n],t.data[n]);if(t.t<this.t){for(i=t.s&this.DM,n=s;n<this.t;++n)r.data[n]=e(this.data[n],i);r.t=this.t}else{for(i=this.s&this.DM,n=s;n<t.t;++n)r.data[n]=e(i,t.data[n]);r.t=t.t}r.s=e(this.s,t.s),r.clamp()}function k1(t,e){return t&e}function O1(t){var e=J();return this.bitwiseTo(t,k1,e),e}function Wa(t,e){return t|e}function M1(t){var e=J();return this.bitwiseTo(t,Wa,e),e}function Xf(t,e){return t^e}function F1(t){var e=J();return this.bitwiseTo(t,Xf,e),e}function Zf(t,e){return t&~e}function U1(t){var e=J();return this.bitwiseTo(t,Zf,e),e}function K1(){for(var t=J(),e=0;e<this.t;++e)t.data[e]=this.DM&~this.data[e];return t.t=this.t,t.s=~this.s,t}function V1(t){var e=J();return t<0?this.rShiftTo(-t,e):this.lShiftTo(t,e),e}function q1(t){var e=J();return t<0?this.lShiftTo(-t,e):this.rShiftTo(t,e),e}function $1(t){if(t==0)return-1;var e=0;return t&65535||(t>>=16,e+=16),t&255||(t>>=8,e+=8),t&15||(t>>=4,e+=4),t&3||(t>>=2,e+=2),t&1||++e,e}function z1(){for(var t=0;t<this.t;++t)if(this.data[t]!=0)return t*this.DB+$1(this.data[t]);return this.s<0?this.t*this.DB:-1}function H1(t){for(var e=0;t!=0;)t&=t-1,++e;return e}function G1(){for(var t=0,e=this.s&this.DM,r=0;r<this.t;++r)t+=H1(this.data[r]^e);return t}function Y1(t){var e=Math.floor(t/this.DB);return e>=this.t?this.s!=0:(this.data[e]&1<<t%this.DB)!=0}function W1(t,e){var r=S.ONE.shiftLeft(t);return this.bitwiseTo(r,e,r),r}function Q1(t){return this.changeBit(t,Wa)}function X1(t){return this.changeBit(t,Zf)}function Z1(t){return this.changeBit(t,Xf)}function j1(t,e){for(var r=0,n=0,i=Math.min(t.t,this.t);r<i;)n+=this.data[r]+t.data[r],e.data[r++]=n&this.DM,n>>=this.DB;if(t.t<this.t){for(n+=t.s;r<this.t;)n+=this.data[r],e.data[r++]=n&this.DM,n>>=this.DB;n+=this.s}else{for(n+=this.s;r<t.t;)n+=t.data[r],e.data[r++]=n&this.DM,n>>=this.DB;n+=t.s}e.s=n<0?-1:0,n>0?e.data[r++]=n:n<-1&&(e.data[r++]=this.DV+n),e.t=r,e.clamp()}function J1(t){var e=J();return this.addTo(t,e),e}function ex(t){var e=J();return this.subTo(t,e),e}function tx(t){var e=J();return this.multiplyTo(t,e),e}function rx(t){var e=J();return this.divRemTo(t,e,null),e}function nx(t){var e=J();return this.divRemTo(t,null,e),e}function ix(t){var e=J(),r=J();return this.divRemTo(t,e,r),new Array(e,r)}function sx(t){this.data[this.t]=this.am(0,t-1,this,0,0,this.t),++this.t,this.clamp()}function ox(t,e){if(t!=0){for(;this.t<=e;)this.data[this.t++]=0;for(this.data[e]+=t;this.data[e]>=this.DV;)this.data[e]-=this.DV,++e>=this.t&&(this.data[this.t++]=0),++this.data[e]}}function Ri(){}function jf(t){return t}function ax(t,e,r){t.multiplyTo(e,r)}function cx(t,e){t.squareTo(e)}Ri.prototype.convert=jf;Ri.prototype.revert=jf;Ri.prototype.mulTo=ax;Ri.prototype.sqrTo=cx;function ux(t){return this.exp(t,new Ri)}function lx(t,e,r){var n=Math.min(this.t+t.t,e);for(r.s=0,r.t=n;n>0;)r.data[--n]=0;var i;for(i=r.t-this.t;n<i;++n)r.data[n+this.t]=this.am(0,t.data[n],r,n,0,this.t);for(i=Math.min(t.t,e);n<i;++n)this.am(0,t.data[n],r,n,0,e-n);r.clamp()}function fx(t,e,r){--e;var n=r.t=this.t+t.t-e;for(r.s=0;--n>=0;)r.data[n]=0;for(n=Math.max(e-this.t,0);n<t.t;++n)r.data[this.t+n-e]=this.am(e-n,t.data[n],r,0,0,this.t+n-e);r.clamp(),r.drShiftTo(1,r)}function Bn(t){this.r2=J(),this.q3=J(),S.ONE.dlShiftTo(2*t.t,this.r2),this.mu=this.r2.divide(t),this.m=t}function hx(t){if(t.s<0||t.t>2*this.m.t)return t.mod(this.m);if(t.compareTo(this.m)<0)return t;var e=J();return t.copyTo(e),this.reduce(e),e}function dx(t){return t}function px(t){for(t.drShiftTo(this.m.t-1,this.r2),t.t>this.m.t+1&&(t.t=this.m.t+1,t.clamp()),this.mu.multiplyUpperTo(this.r2,this.m.t+1,this.q3),this.m.multiplyLowerTo(this.q3,this.m.t+1,this.r2);t.compareTo(this.r2)<0;)t.dAddOffset(1,this.m.t+1);for(t.subTo(this.r2,t);t.compareTo(this.m)>=0;)t.subTo(this.m,t)}function mx(t,e){t.squareTo(e),this.reduce(e)}function yx(t,e,r){t.multiplyTo(e,r),this.reduce(r)}Bn.prototype.convert=hx;Bn.prototype.revert=dx;Bn.prototype.reduce=px;Bn.prototype.mulTo=yx;Bn.prototype.sqrTo=mx;function gx(t,e){var r=t.bitLength(),n,i=yr(1),s;if(r<=0)return i;r<18?n=1:r<48?n=3:r<144?n=4:r<768?n=5:n=6,r<8?s=new Hr(e):e.isEven()?s=new Bn(e):s=new Gr(e);var o=new Array,a=3,c=n-1,u=(1<<n)-1;if(o[1]=s.convert(this),n>1){var l=J();for(s.sqrTo(o[1],l);a<=u;)o[a]=J(),s.mulTo(l,o[a-2],o[a]),a+=2}var f=t.t-1,h,d=!0,p=J(),m;for(r=Ks(t.data[f])-1;f>=0;){for(r>=c?h=t.data[f]>>r-c&u:(h=(t.data[f]&(1<<r+1)-1)<<c-r,f>0&&(h|=t.data[f-1]>>this.DB+r-c)),a=n;!(h&1);)h>>=1,--a;if((r-=a)<0&&(r+=this.DB,--f),d)o[h].copyTo(i),d=!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[h],i)}for(;f>=0&&!(t.data[f]&1<<r);)s.sqrTo(i,p),m=i,i=p,p=m,--r<0&&(r=this.DB-1,--f)}return s.revert(i)}function xx(t){var e=this.s<0?this.negate():this.clone(),r=t.s<0?t.negate():t.clone();if(e.compareTo(r)<0){var n=e;e=r,r=n}var i=e.getLowestSetBit(),s=r.getLowestSetBit();if(s<0)return e;for(i<s&&(s=i),s>0&&(e.rShiftTo(s,e),r.rShiftTo(s,r));e.signum()>0;)(i=e.getLowestSetBit())>0&&e.rShiftTo(i,e),(i=r.getLowestSetBit())>0&&r.rShiftTo(i,r),e.compareTo(r)>=0?(e.subTo(r,e),e.rShiftTo(1,e)):(r.subTo(e,r),r.rShiftTo(1,r));return s>0&&r.lShiftTo(s,r),r}function wx(t){if(t<=0)return 0;var e=this.DV%t,r=this.s<0?t-1:0;if(this.t>0)if(e==0)r=this.data[0]%t;else for(var n=this.t-1;n>=0;--n)r=(e*r+this.data[n])%t;return r}function vx(t){var e=t.isEven();if(this.isEven()&&e||t.signum()==0)return S.ZERO;for(var r=t.clone(),n=this.clone(),i=yr(1),s=yr(0),o=yr(0),a=yr(1);r.signum()!=0;){for(;r.isEven();)r.rShiftTo(1,r),e?((!i.isEven()||!s.isEven())&&(i.addTo(this,i),s.subTo(t,s)),i.rShiftTo(1,i)):s.isEven()||s.subTo(t,s),s.rShiftTo(1,s);for(;n.isEven();)n.rShiftTo(1,n),e?((!o.isEven()||!a.isEven())&&(o.addTo(this,o),a.subTo(t,a)),o.rShiftTo(1,o)):a.isEven()||a.subTo(t,a),a.rShiftTo(1,a);r.compareTo(n)>=0?(r.subTo(n,r),e&&i.subTo(o,i),s.subTo(a,s)):(n.subTo(r,n),e&&o.subTo(i,o),a.subTo(s,a))}if(n.compareTo(S.ONE)!=0)return S.ZERO;if(a.compareTo(t)>=0)return a.subtract(t);if(a.signum()<0)a.addTo(t,a);else return a;return a.signum()<0?a.add(t):a}var St=[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],Ex=(1<<26)/St[St.length-1];function bx(t){var e,r=this.abs();if(r.t==1&&r.data[0]<=St[St.length-1]){for(e=0;e<St.length;++e)if(r.data[0]==St[e])return!0;return!1}if(r.isEven())return!1;for(e=1;e<St.length;){for(var n=St[e],i=e+1;i<St.length&&n<Ex;)n*=St[i++];for(n=r.modInt(n);e<i;)if(n%St[e++]==0)return!1}return r.millerRabin(t)}function _x(t){var e=this.subtract(S.ONE),r=e.getLowestSetBit();if(r<=0)return!1;for(var n=e.shiftRight(r),i=Sx(),s,o=0;o<t;++o){do s=new S(this.bitLength(),i);while(s.compareTo(S.ONE)<=0||s.compareTo(e)>=0);var a=s.modPow(n,this);if(a.compareTo(S.ONE)!=0&&a.compareTo(e)!=0){for(var c=1;c++<r&&a.compareTo(e)!=0;)if(a=a.modPowInt(2,this),a.compareTo(S.ONE)==0)return!1;if(a.compareTo(e)!=0)return!1}}return!0}function Sx(){return{nextBytes:function(t){for(var e=0;e<t.length;++e)t[e]=Math.floor(Math.random()*256)}}}S.prototype.chunkSize=A1;S.prototype.toRadix=R1;S.prototype.fromRadix=C1;S.prototype.fromNumber=T1;S.prototype.bitwiseTo=N1;S.prototype.changeBit=W1;S.prototype.addTo=j1;S.prototype.dMultiply=sx;S.prototype.dAddOffset=ox;S.prototype.multiplyLowerTo=lx;S.prototype.multiplyUpperTo=fx;S.prototype.modInt=wx;S.prototype.millerRabin=_x;S.prototype.clone=E1;S.prototype.intValue=b1;S.prototype.byteValue=_1;S.prototype.shortValue=S1;S.prototype.signum=I1;S.prototype.toByteArray=B1;S.prototype.equals=L1;S.prototype.min=P1;S.prototype.max=D1;S.prototype.and=O1;S.prototype.or=M1;S.prototype.xor=F1;S.prototype.andNot=U1;S.prototype.not=K1;S.prototype.shiftLeft=V1;S.prototype.shiftRight=q1;S.prototype.getLowestSetBit=z1;S.prototype.bitCount=G1;S.prototype.testBit=Y1;S.prototype.setBit=Q1;S.prototype.clearBit=X1;S.prototype.flipBit=Z1;S.prototype.add=J1;S.prototype.subtract=ex;S.prototype.multiply=tx;S.prototype.divide=rx;S.prototype.remainder=nx;S.prototype.divideAndRemainder=ix;S.prototype.modPow=gx;S.prototype.modInverse=vx;S.prototype.pow=ux;S.prototype.gcd=xx;S.prototype.isProbablePrime=bx});var i0=R((tS,n0)=>{var Vt=se();$r();Ie();var t0=n0.exports=Vt.sha1=Vt.sha1||{};Vt.md.sha1=Vt.md.algorithms.sha1=t0;t0.create=function(){r0||Ax();var t=null,e=Vt.util.createBuffer(),r=new Array(80),n={algorithm:"sha1",blockLength:64,digestLength:20,messageLength:0,fullMessageLength:null,messageLengthSize:8};return n.start=function(){n.messageLength=0,n.fullMessageLength=n.messageLength64=[];for(var i=n.messageLengthSize/4,s=0;s<i;++s)n.fullMessageLength.push(0);return e=Vt.util.createBuffer(),t={h0:1732584193,h1:4023233417,h2:2562383102,h3:271733878,h4:3285377520},n},n.start(),n.update=function(i,s){s==="utf8"&&(i=Vt.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 e.putBytes(i),e0(t,r,e),(e.read>2048||e.length()===0)&&e.compact(),n},n.digest=function(){var i=Vt.util.createBuffer();i.putBytes(e.bytes());var s=n.fullMessageLength[n.fullMessageLength.length-1]+n.messageLengthSize,o=s&n.blockLength-1;i.putBytes(Qa.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:t.h0,h1:t.h1,h2:t.h2,h3:t.h3,h4:t.h4};e0(f,r,i);var h=Vt.util.createBuffer();return h.putInt32(f.h0),h.putInt32(f.h1),h.putInt32(f.h2),h.putInt32(f.h3),h.putInt32(f.h4),h},n};var Qa=null,r0=!1;function Ax(){Qa=String.fromCharCode(128),Qa+=Vt.util.fillString(String.fromCharCode(0),64),r0=!0}function e0(t,e,r){for(var n,i,s,o,a,c,u,l,f=r.length();f>=64;){for(i=t.h0,s=t.h1,o=t.h2,a=t.h3,c=t.h4,l=0;l<16;++l)n=r.getInt32(),e[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=e[l-3]^e[l-8]^e[l-14]^e[l-16],n=n<<1|n>>>31,e[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=e[l-3]^e[l-8]^e[l-14]^e[l-16],n=n<<1|n>>>31,e[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=e[l-6]^e[l-16]^e[l-28]^e[l-32],n=n<<2|n>>>30,e[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=e[l-6]^e[l-16]^e[l-28]^e[l-32],n=n<<2|n>>>30,e[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=e[l-6]^e[l-16]^e[l-28]^e[l-32],n=n<<2|n>>>30,e[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;t.h0=t.h0+i|0,t.h1=t.h1+s|0,t.h2=t.h2+o|0,t.h3=t.h3+a|0,t.h4=t.h4+c|0,f-=64}}});var a0=R((rS,o0)=>{var qt=se();Ie();Ii();i0();var s0=o0.exports=qt.pkcs1=qt.pkcs1||{};s0.encode_rsa_oaep=function(t,e,r){var n,i,s,o;typeof r=="string"?(n=r,i=arguments[3]||void 0,s=arguments[4]||void 0):r&&(n=r.label||void 0,i=r.seed||void 0,s=r.md||void 0,r.mgf1&&r.mgf1.md&&(o=r.mgf1.md)),s?s.start():s=qt.md.sha1.create(),o||(o=s);var a=Math.ceil(t.n.bitLength()/8),c=a-2*s.digestLength-2;if(e.length>c){var u=new Error("RSAES-OAEP input message length is too long.");throw u.length=e.length,u.maxLength=c,u}n||(n=""),s.update(n,"raw");for(var l=s.digest(),f="",h=c-e.length,d=0;d<h;d++)f+="\0";var p=l.getBytes()+f+""+e;if(!i)i=qt.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=qs(i,a-s.digestLength-1,o),y=qt.util.xorBytes(p,m,p.length),g=qs(y,s.digestLength,o),w=qt.util.xorBytes(i,g,i.length);return"\0"+w+y};s0.decode_rsa_oaep=function(t,e,r){var n,i,s;typeof r=="string"?(n=r,i=arguments[3]||void 0):r&&(n=r.label||void 0,i=r.md||void 0,r.mgf1&&r.mgf1.md&&(s=r.mgf1.md));var o=Math.ceil(t.n.bitLength()/8);if(e.length!==o){var y=new Error("RSAES-OAEP encoded message length is invalid.");throw y.length=e.length,y.expectedLength=o,y}if(i===void 0?i=qt.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=e.charAt(0),u=e.substring(1,i.digestLength+1),l=e.substring(1+i.digestLength),f=qs(l,i.digestLength,s),h=qt.util.xorBytes(u,f,u.length),d=qs(h,o-i.digestLength-1,s),p=qt.util.xorBytes(l,d,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 w=1,_=i.digestLength,N=i.digestLength;N<p.length;N++){var C=p.charCodeAt(N),T=C&1^1,H=w?65534:0;y|=C&H,w=w&T,_+=w}if(y||p.charCodeAt(_)!==1)throw new Error("Invalid RSAES-OAEP padding.");return p.substring(_+1)};function qs(t,e,r){r||(r=qt.md.sha1.create());for(var n="",i=Math.ceil(e/r.digestLength),s=0;s<i;++s){var o=String.fromCharCode(s>>24&255,s>>16&255,s>>8&255,s&255);r.start(),r.update(t+o),n+=r.digest().getBytes()}return n.substring(0,e)}});var c0=R((nS,Xa)=>{var gr=se();Ie();Vs();Ii();(function(){if(gr.prime){Xa.exports=gr.prime;return}var t=Xa.exports=gr.prime=gr.prime||{},e=gr.jsbn.BigInteger,r=[6,4,2,4,2,4,6,2],n=new e(null);n.fromInt(30);var i=function(f,h){return f|h};t.generateProbablePrime=function(f,h,d){typeof h=="function"&&(d=h,h={}),h=h||{};var p=h.algorithm||"PRIMEINC";typeof p=="string"&&(p={name:p}),p.options=p.options||{};var m=h.prng||gr.random,y={nextBytes:function(g){for(var w=m.getBytesSync(g.length),_=0;_<g.length;++_)g[_]=w.charCodeAt(_)}};if(p.name==="PRIMEINC")return s(f,y,p.options,d);throw new Error("Invalid prime generation algorithm: "+p.name)};function s(f,h,d,p){return"workers"in d?c(f,h,d,p):o(f,h,d,p)}function o(f,h,d,p){var m=u(f,h),y=0,g=l(m.bitLength());"millerRabinTests"in d&&(g=d.millerRabinTests);var w=10;"maxBlockTime"in d&&(w=d.maxBlockTime),a(m,f,h,y,g,w,p)}function a(f,h,d,p,m,y,g){var w=+new Date;do{if(f.bitLength()>h&&(f=u(h,d)),f.isProbablePrime(m))return g(null,f);f.dAddOffset(r[p++%8],0)}while(y<0||+new Date-w<y);gr.util.setImmediate(function(){a(f,h,d,p,m,y,g)})}function c(f,h,d,p){if(typeof Worker>"u")return o(f,h,d,p);var m=u(f,h),y=d.workers,g=d.workLoad||100,w=g*30/8,_=d.workerScript||"forge/prime.worker.js";if(y===-1)return gr.util.estimateCores(function(C,T){C&&(T=2),y=T-1,N()});N();function N(){y=Math.max(1,y);for(var C=[],T=0;T<y;++T)C[T]=new Worker(_);for(var H=y,T=0;T<y;++T)C[T].addEventListener("message",De);var W=!1;function De(bt){if(!W){--H;var st=bt.data;if(st.found){for(var Qe=0;Qe<C.length;++Qe)C[Qe].terminate();return W=!0,p(null,new e(st.prime,16))}m.bitLength()>f&&(m=u(f,h));var An=m.toString(16);bt.target.postMessage({hex:An,workLoad:g}),m.dAddOffset(w,0)}}}}function u(f,h){var d=new e(f,h),p=f-1;return d.testBit(p)||d.bitwiseTo(e.ONE.shiftLeft(p),i,d),d.dAddOffset(31-d.mod(n).byteValue(),0),d}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 zs=R((iS,m0)=>{var M=se();Ai();Vs();Cs();a0();c0();Ii();Ie();typeof Q>"u"&&(Q=M.jsbn.BigInteger);var Q,Za=M.util.isNodejs?zr():null,v=M.asn1,xt=M.util;M.pki=M.pki||{};m0.exports=M.pki.rsa=M.rsa=M.rsa||{};var K=M.pki,Ix=[6,4,2,4,2,4,6,2],Rx={name:"PrivateKeyInfo",tagClass:v.Class.UNIVERSAL,type:v.Type.SEQUENCE,constructed:!0,value:[{name:"PrivateKeyInfo.version",tagClass:v.Class.UNIVERSAL,type:v.Type.INTEGER,constructed:!1,capture:"privateKeyVersion"},{name:"PrivateKeyInfo.privateKeyAlgorithm",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:"privateKeyOid"}]},{name:"PrivateKeyInfo",tagClass:v.Class.UNIVERSAL,type:v.Type.OCTETSTRING,constructed:!1,capture:"privateKey"}]},Cx={name:"RSAPrivateKey",tagClass:v.Class.UNIVERSAL,type:v.Type.SEQUENCE,constructed:!0,value:[{name:"RSAPrivateKey.version",tagClass:v.Class.UNIVERSAL,type:v.Type.INTEGER,constructed:!1,capture:"privateKeyVersion"},{name:"RSAPrivateKey.modulus",tagClass:v.Class.UNIVERSAL,type:v.Type.INTEGER,constructed:!1,capture:"privateKeyModulus"},{name:"RSAPrivateKey.publicExponent",tagClass:v.Class.UNIVERSAL,type:v.Type.INTEGER,constructed:!1,capture:"privateKeyPublicExponent"},{name:"RSAPrivateKey.privateExponent",tagClass:v.Class.UNIVERSAL,type:v.Type.INTEGER,constructed:!1,capture:"privateKeyPrivateExponent"},{name:"RSAPrivateKey.prime1",tagClass:v.Class.UNIVERSAL,type:v.Type.INTEGER,constructed:!1,capture:"privateKeyPrime1"},{name:"RSAPrivateKey.prime2",tagClass:v.Class.UNIVERSAL,type:v.Type.INTEGER,constructed:!1,capture:"privateKeyPrime2"},{name:"RSAPrivateKey.exponent1",tagClass:v.Class.UNIVERSAL,type:v.Type.INTEGER,constructed:!1,capture:"privateKeyExponent1"},{name:"RSAPrivateKey.exponent2",tagClass:v.Class.UNIVERSAL,type:v.Type.INTEGER,constructed:!1,capture:"privateKeyExponent2"},{name:"RSAPrivateKey.coefficient",tagClass:v.Class.UNIVERSAL,type:v.Type.INTEGER,constructed:!1,capture:"privateKeyCoefficient"}]},Tx={name:"RSAPublicKey",tagClass:v.Class.UNIVERSAL,type:v.Type.SEQUENCE,constructed:!0,value:[{name:"RSAPublicKey.modulus",tagClass:v.Class.UNIVERSAL,type:v.Type.INTEGER,constructed:!1,capture:"publicKeyModulus"},{name:"RSAPublicKey.exponent",tagClass:v.Class.UNIVERSAL,type:v.Type.INTEGER,constructed:!1,capture:"publicKeyExponent"}]},Bx=M.pki.rsa.publicKeyValidator={name:"SubjectPublicKeyInfo",tagClass:v.Class.UNIVERSAL,type:v.Type.SEQUENCE,constructed:!0,captureAsn1:"subjectPublicKeyInfo",value:[{name:"SubjectPublicKeyInfo.AlgorithmIdentifier",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:"publicKeyOid"}]},{name:"SubjectPublicKeyInfo.subjectPublicKey",tagClass:v.Class.UNIVERSAL,type:v.Type.BITSTRING,constructed:!1,value:[{name:"SubjectPublicKeyInfo.subjectPublicKey.RSAPublicKey",tagClass:v.Class.UNIVERSAL,type:v.Type.SEQUENCE,constructed:!0,optional:!0,captureAsn1:"rsaPublicKey"}]}]},Lx={name:"DigestInfo",tagClass:v.Class.UNIVERSAL,type:v.Type.SEQUENCE,constructed:!0,value:[{name:"DigestInfo.DigestAlgorithm",tagClass:v.Class.UNIVERSAL,type:v.Type.SEQUENCE,constructed:!0,value:[{name:"DigestInfo.DigestAlgorithm.algorithmIdentifier",tagClass:v.Class.UNIVERSAL,type:v.Type.OID,constructed:!1,capture:"algorithmIdentifier"},{name:"DigestInfo.DigestAlgorithm.parameters",tagClass:v.Class.UNIVERSAL,type:v.Type.NULL,capture:"parameters",optional:!0,constructed:!1}]},{name:"DigestInfo.digest",tagClass:v.Class.UNIVERSAL,type:v.Type.OCTETSTRING,constructed:!1,capture:"digest"}]},Px=function(t){var e;if(t.algorithm in K.oids)e=K.oids[t.algorithm];else{var r=new Error("Unknown message digest algorithm.");throw r.algorithm=t.algorithm,r}var n=v.oidToDer(e).getBytes(),i=v.create(v.Class.UNIVERSAL,v.Type.SEQUENCE,!0,[]),s=v.create(v.Class.UNIVERSAL,v.Type.SEQUENCE,!0,[]);s.value.push(v.create(v.Class.UNIVERSAL,v.Type.OID,!1,n)),s.value.push(v.create(v.Class.UNIVERSAL,v.Type.NULL,!1,""));var o=v.create(v.Class.UNIVERSAL,v.Type.OCTETSTRING,!1,t.digest().getBytes());return i.value.push(s),i.value.push(o),v.toDer(i).getBytes()},d0=function(t,e,r){if(r)return t.modPow(e.e,e.n);if(!e.p||!e.q)return t.modPow(e.d,e.n);e.dP||(e.dP=e.d.mod(e.p.subtract(Q.ONE))),e.dQ||(e.dQ=e.d.mod(e.q.subtract(Q.ONE))),e.qInv||(e.qInv=e.q.modInverse(e.p));var n;do n=new Q(M.util.bytesToHex(M.random.getBytes(e.n.bitLength()/8)),16);while(n.compareTo(e.n)>=0||!n.gcd(e.n).equals(Q.ONE));t=t.multiply(n.modPow(e.e,e.n)).mod(e.n);for(var i=t.mod(e.p).modPow(e.dP,e.p),s=t.mod(e.q).modPow(e.dQ,e.q);i.compareTo(s)<0;)i=i.add(e.p);var o=i.subtract(s).multiply(e.qInv).mod(e.p).multiply(e.q).add(s);return o=o.multiply(n.modInverse(e.n)).mod(e.n),o};K.rsa.encrypt=function(t,e,r){var n=r,i,s=Math.ceil(e.n.bitLength()/8);r!==!1&&r!==!0?(n=r===2,i=p0(t,e,r)):(i=M.util.createBuffer(),i.putBytes(t));for(var o=new Q(i.toHex(),16),a=d0(o,e,n),c=a.toString(16),u=M.util.createBuffer(),l=s-Math.ceil(c.length/2);l>0;)u.putByte(0),--l;return u.putBytes(M.util.hexToBytes(c)),u.getBytes()};K.rsa.decrypt=function(t,e,r,n){var i=Math.ceil(e.n.bitLength()/8);if(t.length!==i){var s=new Error("Encrypted message length is invalid.");throw s.length=t.length,s.expected=i,s}var o=new Q(M.util.createBuffer(t).toHex(),16);if(o.compareTo(e.n)>=0)throw new Error("Encrypted message is invalid.");for(var a=d0(o,e,r),c=a.toString(16),u=M.util.createBuffer(),l=i-Math.ceil(c.length/2);l>0;)u.putByte(0),--l;return u.putBytes(M.util.hexToBytes(c)),n!==!1?$s(u.getBytes(),e,r):u.getBytes()};K.rsa.createKeyPairGenerationState=function(t,e,r){typeof t=="string"&&(t=parseInt(t,10)),t=t||2048,r=r||{};var n=r.prng||M.random,i={nextBytes:function(a){for(var c=n.getBytesSync(a.length),u=0;u<a.length;++u)a[u]=c.charCodeAt(u)}},s=r.algorithm||"PRIMEINC",o;if(s==="PRIMEINC")o={algorithm:s,state:0,bits:t,rng:i,eInt:e||65537,e:new Q(null),p:null,q:null,qBits:t>>1,pBits:t-(t>>1),pqState:0,num:null,keys:null},o.e.fromInt(o.eInt);else throw new Error("Invalid key generation algorithm: "+s);return o};K.rsa.stepKeyPairGenerationState=function(t,e){"algorithm"in t||(t.algorithm="PRIMEINC");var r=new Q(null);r.fromInt(30);for(var n=0,i=function(f,h){return f|h},s=+new Date,o,a=0;t.keys===null&&(e<=0||a<e);){if(t.state===0){var c=t.p===null?t.pBits:t.qBits,u=c-1;t.pqState===0?(t.num=new Q(c,t.rng),t.num.testBit(u)||t.num.bitwiseTo(Q.ONE.shiftLeft(u),i,t.num),t.num.dAddOffset(31-t.num.mod(r).byteValue(),0),n=0,++t.pqState):t.pqState===1?t.num.bitLength()>c?t.pqState=0:t.num.isProbablePrime(Nx(t.num.bitLength()))?++t.pqState:t.num.dAddOffset(Ix[n++%8],0):t.pqState===2?t.pqState=t.num.subtract(Q.ONE).gcd(t.e).compareTo(Q.ONE)===0?3:0:t.pqState===3&&(t.pqState=0,t.p===null?t.p=t.num:t.q=t.num,t.p!==null&&t.q!==null&&++t.state,t.num=null)}else if(t.state===1)t.p.compareTo(t.q)<0&&(t.num=t.p,t.p=t.q,t.q=t.num),++t.state;else if(t.state===2)t.p1=t.p.subtract(Q.ONE),t.q1=t.q.subtract(Q.ONE),t.phi=t.p1.multiply(t.q1),++t.state;else if(t.state===3)t.phi.gcd(t.e).compareTo(Q.ONE)===0?++t.state:(t.p=null,t.q=null,t.state=0);else if(t.state===4)t.n=t.p.multiply(t.q),t.n.bitLength()===t.bits?++t.state:(t.q=null,t.state=0);else if(t.state===5){var l=t.e.modInverse(t.phi);t.keys={privateKey:K.rsa.setPrivateKey(t.n,t.e,l,t.p,t.q,l.mod(t.p1),l.mod(t.q1),t.q.modInverse(t.p)),publicKey:K.rsa.setPublicKey(t.n,t.e)}}o=+new Date,a+=o-s,s=o}return t.keys!==null};K.rsa.generateKeyPair=function(t,e,r,n){if(arguments.length===1?typeof t=="object"?(r=t,t=void 0):typeof t=="function"&&(n=t,t=void 0):arguments.length===2?typeof t=="number"?typeof e=="function"?(n=e,e=void 0):typeof e!="number"&&(r=e,e=void 0):(r=t,n=e,t=void 0,e=void 0):arguments.length===3&&(typeof e=="number"?typeof r=="function"&&(n=r,r=void 0):(n=r,r=e,e=void 0)),r=r||{},t===void 0&&(t=r.bits||2048),e===void 0&&(e=r.e||65537),!M.options.usePureJavaScript&&!r.prng&&t>=256&&t<=16384&&(e===65537||e===3)){if(n){if(u0("generateKeyPair"))return Za.generateKeyPair("rsa",{modulusLength:t,publicExponent:e,publicKeyEncoding:{type:"spki",format:"pem"},privateKeyEncoding:{type:"pkcs8",format:"pem"}},function(a,c,u){if(a)return n(a);n(null,{privateKey:K.privateKeyFromPem(u),publicKey:K.publicKeyFromPem(c)})});if(l0("generateKey")&&l0("exportKey"))return xt.globalScope.crypto.subtle.generateKey({name:"RSASSA-PKCS1-v1_5",modulusLength:t,publicExponent:h0(e),hash:{name:"SHA-256"}},!0,["sign","verify"]).then(function(a){return xt.globalScope.crypto.subtle.exportKey("pkcs8",a.privateKey)}).then(void 0,function(a){n(a)}).then(function(a){if(a){var c=K.privateKeyFromAsn1(v.fromDer(M.util.createBuffer(a)));n(null,{privateKey:c,publicKey:K.setRsaPublicKey(c.n,c.e)})}});if(f0("generateKey")&&f0("exportKey")){var i=xt.globalScope.msCrypto.subtle.generateKey({name:"RSASSA-PKCS1-v1_5",modulusLength:t,publicExponent:h0(e),hash:{name:"SHA-256"}},!0,["sign","verify"]);i.oncomplete=function(a){var c=a.target.result,u=xt.globalScope.msCrypto.subtle.exportKey("pkcs8",c.privateKey);u.oncomplete=function(l){var f=l.target.result,h=K.privateKeyFromAsn1(v.fromDer(M.util.createBuffer(f)));n(null,{privateKey:h,publicKey:K.setRsaPublicKey(h.n,h.e)})},u.onerror=function(l){n(l)}},i.onerror=function(a){n(a)};return}}else if(u0("generateKeyPairSync")){var s=Za.generateKeyPairSync("rsa",{modulusLength:t,publicExponent:e,publicKeyEncoding:{type:"spki",format:"pem"},privateKeyEncoding:{type:"pkcs8",format:"pem"}});return{privateKey:K.privateKeyFromPem(s.privateKey),publicKey:K.publicKeyFromPem(s.publicKey)}}}var o=K.rsa.createKeyPairGenerationState(t,e,r);if(!n)return K.rsa.stepKeyPairGenerationState(o,0),o.keys;Dx(o,r,n)};K.setRsaPublicKey=K.rsa.setPublicKey=function(t,e){var r={n:t,e};return r.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 p0(a,c,2).getBytes()}};else if(i==="RSA-OAEP"||i==="RSAES-OAEP")i={encode:function(a,c){return M.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,r,!0);return K.rsa.encrypt(o,r,!0)},r.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=$s(u,r,!0);var l=v.fromDer(u,{parseAllBytes:o._parseAllDigestBytes}),f={},h=[];if(!v.validate(l,Lx,f,h)){var d=new Error("ASN.1 object does not contain a valid RSASSA-PKCS1-v1_5 DigestInfo value.");throw d.errors=h,d}var p=v.derToOid(f.algorithmIdentifier);if(!(p===M.oids.md2||p===M.oids.md5||p===M.oids.sha1||p===M.oids.sha224||p===M.oids.sha256||p===M.oids.sha384||p===M.oids.sha512||p===M.oids["sha512-224"]||p===M.oids["sha512-256"])){var d=new Error("Unknown RSASSA-PKCS1-v1_5 DigestAlgorithm identifier.");throw d.oid=p,d}if((p===M.oids.md2||p===M.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=$s(u,r,!0),c===u}});var a=K.rsa.decrypt(i,r,!0,!1);return s.verify(n,a,r.n.bitLength())},r};K.setRsaPrivateKey=K.rsa.setPrivateKey=function(t,e,r,n,i,s,o,a){var c={n:t,e,d:r,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 h=K.rsa.decrypt(u,c,!1,!1);if(l==="RSAES-PKCS1-V1_5")l={decode:$s};else if(l==="RSA-OAEP"||l==="RSAES-OAEP")l={decode:function(d,p){return M.pkcs1.decode_rsa_oaep(p,d,f)}};else if(["RAW","NONE","NULL",null].indexOf(l)!==-1)l={decode:function(d){return d}};else throw new Error('Unsupported encryption scheme: "'+l+'".');return l.decode(h,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:Px},f=1):(l==="NONE"||l==="NULL"||l===null)&&(l={encode:function(){return u}},f=1);var h=l.encode(u,c.n.bitLength());return K.rsa.encrypt(h,c,f)},c};K.wrapRsaPrivateKey=function(t){return v.create(v.Class.UNIVERSAL,v.Type.SEQUENCE,!0,[v.create(v.Class.UNIVERSAL,v.Type.INTEGER,!1,v.integerToDer(0).getBytes()),v.create(v.Class.UNIVERSAL,v.Type.SEQUENCE,!0,[v.create(v.Class.UNIVERSAL,v.Type.OID,!1,v.oidToDer(K.oids.rsaEncryption).getBytes()),v.create(v.Class.UNIVERSAL,v.Type.NULL,!1,"")]),v.create(v.Class.UNIVERSAL,v.Type.OCTETSTRING,!1,v.toDer(t).getBytes())])};K.privateKeyFromAsn1=function(t){var e={},r=[];if(v.validate(t,Rx,e,r)&&(t=v.fromDer(M.util.createBuffer(e.privateKey))),e={},r=[],!v.validate(t,Cx,e,r)){var n=new Error("Cannot read private key. ASN.1 object does not contain an RSAPrivateKey.");throw n.errors=r,n}var i,s,o,a,c,u,l,f;return i=M.util.createBuffer(e.privateKeyModulus).toHex(),s=M.util.createBuffer(e.privateKeyPublicExponent).toHex(),o=M.util.createBuffer(e.privateKeyPrivateExponent).toHex(),a=M.util.createBuffer(e.privateKeyPrime1).toHex(),c=M.util.createBuffer(e.privateKeyPrime2).toHex(),u=M.util.createBuffer(e.privateKeyExponent1).toHex(),l=M.util.createBuffer(e.privateKeyExponent2).toHex(),f=M.util.createBuffer(e.privateKeyCoefficient).toHex(),K.setRsaPrivateKey(new Q(i,16),new Q(s,16),new Q(o,16),new Q(a,16),new Q(c,16),new Q(u,16),new Q(l,16),new Q(f,16))};K.privateKeyToAsn1=K.privateKeyToRSAPrivateKey=function(t){return v.create(v.Class.UNIVERSAL,v.Type.SEQUENCE,!0,[v.create(v.Class.UNIVERSAL,v.Type.INTEGER,!1,v.integerToDer(0).getBytes()),v.create(v.Class.UNIVERSAL,v.Type.INTEGER,!1,$t(t.n)),v.create(v.Class.UNIVERSAL,v.Type.INTEGER,!1,$t(t.e)),v.create(v.Class.UNIVERSAL,v.Type.INTEGER,!1,$t(t.d)),v.create(v.Class.UNIVERSAL,v.Type.INTEGER,!1,$t(t.p)),v.create(v.Class.UNIVERSAL,v.Type.INTEGER,!1,$t(t.q)),v.create(v.Class.UNIVERSAL,v.Type.INTEGER,!1,$t(t.dP)),v.create(v.Class.UNIVERSAL,v.Type.INTEGER,!1,$t(t.dQ)),v.create(v.Class.UNIVERSAL,v.Type.INTEGER,!1,$t(t.qInv))])};K.publicKeyFromAsn1=function(t){var e={},r=[];if(v.validate(t,Bx,e,r)){var n=v.derToOid(e.publicKeyOid);if(n!==K.oids.rsaEncryption){var i=new Error("Cannot read public key. Unknown OID.");throw i.oid=n,i}t=e.rsaPublicKey}if(r=[],!v.validate(t,Tx,e,r)){var i=new Error("Cannot read public key. ASN.1 object does not contain an RSAPublicKey.");throw i.errors=r,i}var s=M.util.createBuffer(e.publicKeyModulus).toHex(),o=M.util.createBuffer(e.publicKeyExponent).toHex();return K.setRsaPublicKey(new Q(s,16),new Q(o,16))};K.publicKeyToAsn1=K.publicKeyToSubjectPublicKeyInfo=function(t){return 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(K.oids.rsaEncryption).getBytes()),v.create(v.Class.UNIVERSAL,v.Type.NULL,!1,"")]),v.create(v.Class.UNIVERSAL,v.Type.BITSTRING,!1,[K.publicKeyToRSAPublicKey(t)])])};K.publicKeyToRSAPublicKey=function(t){return v.create(v.Class.UNIVERSAL,v.Type.SEQUENCE,!0,[v.create(v.Class.UNIVERSAL,v.Type.INTEGER,!1,$t(t.n)),v.create(v.Class.UNIVERSAL,v.Type.INTEGER,!1,$t(t.e))])};function p0(t,e,r){var n=M.util.createBuffer(),i=Math.ceil(e.n.bitLength()/8);if(t.length>i-11){var s=new Error("Message is too long for PKCS#1 v1.5 padding.");throw s.length=t.length,s.max=i-11,s}n.putByte(0),n.putByte(r);var o=i-3-t.length,a;if(r===0||r===1){a=r===0?0:255;for(var c=0;c<o;++c)n.putByte(a)}else for(;o>0;){for(var u=0,l=M.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(t),n}function $s(t,e,r,n){var i=Math.ceil(e.n.bitLength()/8),s=M.util.createBuffer(t),o=s.getByte(),a=s.getByte();if(o!==0||r&&a!==0&&a!==1||!r&&a!=2||r&&a===0&&typeof n>"u")throw new Error("Encryption block is invalid.");var c=0;if(a===0){c=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 Dx(t,e,r){typeof e=="function"&&(r=e,e={}),e=e||{};var n={algorithm:{name:e.algorithm||"PRIMEINC",options:{workers:e.workers||2,workLoad:e.workLoad||100,workerScript:e.workerScript}}};"prng"in e&&(n.prng=e.prng),i();function i(){s(t.pBits,function(a,c){if(a)return r(a);if(t.p=c,t.q!==null)return o(a,t.q);s(t.qBits,o)})}function s(a,c){M.prime.generateProbablePrime(a,n,c)}function o(a,c){if(a)return r(a);if(t.q=c,t.p.compareTo(t.q)<0){var u=t.p;t.p=t.q,t.q=u}if(t.p.subtract(Q.ONE).gcd(t.e).compareTo(Q.ONE)!==0){t.p=null,i();return}if(t.q.subtract(Q.ONE).gcd(t.e).compareTo(Q.ONE)!==0){t.q=null,s(t.qBits,o);return}if(t.p1=t.p.subtract(Q.ONE),t.q1=t.q.subtract(Q.ONE),t.phi=t.p1.multiply(t.q1),t.phi.gcd(t.e).compareTo(Q.ONE)!==0){t.p=t.q=null,i();return}if(t.n=t.p.multiply(t.q),t.n.bitLength()!==t.bits){t.q=null,s(t.qBits,o);return}var l=t.e.modInverse(t.phi);t.keys={privateKey:K.rsa.setPrivateKey(t.n,t.e,l,t.p,t.q,l.mod(t.p1),l.mod(t.q1),t.q.modInverse(t.p)),publicKey:K.rsa.setPublicKey(t.n,t.e)},r(null,t.keys)}}function $t(t){var e=t.toString(16);e[0]>="8"&&(e="00"+e);var r=M.util.hexToBytes(e);return r.length>1&&(r.charCodeAt(0)===0&&!(r.charCodeAt(1)&128)||r.charCodeAt(0)===255&&(r.charCodeAt(1)&128)===128)?r.substr(1):r}function Nx(t){return t<=100?27:t<=150?18:t<=200?15:t<=250?12:t<=300?9:t<=350?8:t<=400?7:t<=500?6:t<=600?5:t<=800?4:t<=1250?3:2}function u0(t){return M.util.isNodejs&&typeof Za[t]=="function"}function l0(t){return typeof xt.globalScope<"u"&&typeof xt.globalScope.crypto=="object"&&typeof xt.globalScope.crypto.subtle=="object"&&typeof xt.globalScope.crypto.subtle[t]=="function"}function f0(t){return typeof xt.globalScope<"u"&&typeof xt.globalScope.msCrypto=="object"&&typeof xt.globalScope.msCrypto.subtle=="object"&&typeof xt.globalScope.msCrypto.subtle[t]=="function"}function h0(t){for(var e=M.util.hexToBytes(t.toString(16)),r=new Uint8Array(e.length),n=0;n<e.length;++n)r[n]=e.charCodeAt(n);return r}});var E0=R((sS,v0)=>{var L=se();Ds();Ai();If();$r();Cs();qa();Df();Ii();Hf();zs();Ie();typeof y0>"u"&&(y0=L.jsbn.BigInteger);var y0,b=L.asn1,q=L.pki=L.pki||{};v0.exports=q.pbe=L.pbe=L.pbe||{};var Yr=q.oids,kx={name:"EncryptedPrivateKeyInfo",tagClass:b.Class.UNIVERSAL,type:b.Type.SEQUENCE,constructed:!0,value:[{name:"EncryptedPrivateKeyInfo.encryptionAlgorithm",tagClass:b.Class.UNIVERSAL,type:b.Type.SEQUENCE,constructed:!0,value:[{name:"AlgorithmIdentifier.algorithm",tagClass:b.Class.UNIVERSAL,type:b.Type.OID,constructed:!1,capture:"encryptionOid"},{name:"AlgorithmIdentifier.parameters",tagClass:b.Class.UNIVERSAL,type:b.Type.SEQUENCE,constructed:!0,captureAsn1:"encryptionParams"}]},{name:"EncryptedPrivateKeyInfo.encryptedData",tagClass:b.Class.UNIVERSAL,type:b.Type.OCTETSTRING,constructed:!1,capture:"encryptedData"}]},Ox={name:"PBES2Algorithms",tagClass:b.Class.UNIVERSAL,type:b.Type.SEQUENCE,constructed:!0,value:[{name:"PBES2Algorithms.keyDerivationFunc",tagClass:b.Class.UNIVERSAL,type:b.Type.SEQUENCE,constructed:!0,value:[{name:"PBES2Algorithms.keyDerivationFunc.oid",tagClass:b.Class.UNIVERSAL,type:b.Type.OID,constructed:!1,capture:"kdfOid"},{name:"PBES2Algorithms.params",tagClass:b.Class.UNIVERSAL,type:b.Type.SEQUENCE,constructed:!0,value:[{name:"PBES2Algorithms.params.salt",tagClass:b.Class.UNIVERSAL,type:b.Type.OCTETSTRING,constructed:!1,capture:"kdfSalt"},{name:"PBES2Algorithms.params.iterationCount",tagClass:b.Class.UNIVERSAL,type:b.Type.INTEGER,constructed:!1,capture:"kdfIterationCount"},{name:"PBES2Algorithms.params.keyLength",tagClass:b.Class.UNIVERSAL,type:b.Type.INTEGER,constructed:!1,optional:!0,capture:"keyLength"},{name:"PBES2Algorithms.params.prf",tagClass:b.Class.UNIVERSAL,type:b.Type.SEQUENCE,constructed:!0,optional:!0,value:[{name:"PBES2Algorithms.params.prf.algorithm",tagClass:b.Class.UNIVERSAL,type:b.Type.OID,constructed:!1,capture:"prfOid"}]}]}]},{name:"PBES2Algorithms.encryptionScheme",tagClass:b.Class.UNIVERSAL,type:b.Type.SEQUENCE,constructed:!0,value:[{name:"PBES2Algorithms.encryptionScheme.oid",tagClass:b.Class.UNIVERSAL,type:b.Type.OID,constructed:!1,capture:"encOid"},{name:"PBES2Algorithms.encryptionScheme.iv",tagClass:b.Class.UNIVERSAL,type:b.Type.OCTETSTRING,constructed:!1,capture:"encIv"}]}]},Mx={name:"pkcs-12PbeParams",tagClass:b.Class.UNIVERSAL,type:b.Type.SEQUENCE,constructed:!0,value:[{name:"pkcs-12PbeParams.salt",tagClass:b.Class.UNIVERSAL,type:b.Type.OCTETSTRING,constructed:!1,capture:"salt"},{name:"pkcs-12PbeParams.iterations",tagClass:b.Class.UNIVERSAL,type:b.Type.INTEGER,constructed:!1,capture:"iterations"}]};q.encryptPrivateKeyInfo=function(t,e,r){r=r||{},r.saltSize=r.saltSize||8,r.count=r.count||2048,r.algorithm=r.algorithm||"aes128",r.prfAlgorithm=r.prfAlgorithm||"sha1";var n=L.random.getBytesSync(r.saltSize),i=r.count,s=b.integerToDer(i),o,a,c;if(r.algorithm.indexOf("aes")===0||r.algorithm==="des"){var u,l,f;switch(r.algorithm){case"aes128":o=16,u=16,l=Yr["aes128-CBC"],f=L.aes.createEncryptionCipher;break;case"aes192":o=24,u=16,l=Yr["aes192-CBC"],f=L.aes.createEncryptionCipher;break;case"aes256":o=32,u=16,l=Yr["aes256-CBC"],f=L.aes.createEncryptionCipher;break;case"des":o=8,u=8,l=Yr.desCBC,f=L.des.createEncryptionCipher;break;default:var h=new Error("Cannot encrypt private key. Unknown encryption algorithm.");throw h.algorithm=r.algorithm,h}var d="hmacWith"+r.prfAlgorithm.toUpperCase(),p=w0(d),m=L.pkcs5.pbkdf2(e,n,i,o,p),y=L.random.getBytesSync(u),g=f(m);g.start(y),g.update(b.toDer(t)),g.finish(),c=g.output.getBytes();var w=Fx(n,s,o,d);a=b.create(b.Class.UNIVERSAL,b.Type.SEQUENCE,!0,[b.create(b.Class.UNIVERSAL,b.Type.OID,!1,b.oidToDer(Yr.pkcs5PBES2).getBytes()),b.create(b.Class.UNIVERSAL,b.Type.SEQUENCE,!0,[b.create(b.Class.UNIVERSAL,b.Type.SEQUENCE,!0,[b.create(b.Class.UNIVERSAL,b.Type.OID,!1,b.oidToDer(Yr.pkcs5PBKDF2).getBytes()),w]),b.create(b.Class.UNIVERSAL,b.Type.SEQUENCE,!0,[b.create(b.Class.UNIVERSAL,b.Type.OID,!1,b.oidToDer(l).getBytes()),b.create(b.Class.UNIVERSAL,b.Type.OCTETSTRING,!1,y)])])])}else if(r.algorithm==="3des"){o=24;var _=new L.util.ByteBuffer(n),m=q.pbe.generatePkcs12Key(e,_,1,i,o),y=q.pbe.generatePkcs12Key(e,_,2,i,o),g=L.des.createEncryptionCipher(m);g.start(y),g.update(b.toDer(t)),g.finish(),c=g.output.getBytes(),a=b.create(b.Class.UNIVERSAL,b.Type.SEQUENCE,!0,[b.create(b.Class.UNIVERSAL,b.Type.OID,!1,b.oidToDer(Yr["pbeWithSHAAnd3-KeyTripleDES-CBC"]).getBytes()),b.create(b.Class.UNIVERSAL,b.Type.SEQUENCE,!0,[b.create(b.Class.UNIVERSAL,b.Type.OCTETSTRING,!1,n),b.create(b.Class.UNIVERSAL,b.Type.INTEGER,!1,s.getBytes())])])}else{var h=new Error("Cannot encrypt private key. Unknown encryption algorithm.");throw h.algorithm=r.algorithm,h}var N=b.create(b.Class.UNIVERSAL,b.Type.SEQUENCE,!0,[a,b.create(b.Class.UNIVERSAL,b.Type.OCTETSTRING,!1,c)]);return N};q.decryptPrivateKeyInfo=function(t,e){var r=null,n={},i=[];if(!b.validate(t,kx,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=b.derToOid(n.encryptionOid),a=q.pbe.getCipher(o,n.encryptionParams,e),c=L.util.createBuffer(n.encryptedData);return a.update(c),a.finish()&&(r=b.fromDer(a.output)),r};q.encryptedPrivateKeyToPem=function(t,e){var r={type:"ENCRYPTED PRIVATE KEY",body:b.toDer(t).getBytes()};return L.pem.encode(r,{maxline:e})};q.encryptedPrivateKeyFromPem=function(t){var e=L.pem.decode(t)[0];if(e.type!=="ENCRYPTED PRIVATE KEY"){var r=new Error('Could not convert encrypted private key from PEM; PEM header type is "ENCRYPTED PRIVATE KEY".');throw r.headerType=e.type,r}if(e.procType&&e.procType.type==="ENCRYPTED")throw new Error("Could not convert encrypted private key from PEM; PEM is encrypted.");return b.fromDer(e.body)};q.encryptRsaPrivateKey=function(t,e,r){if(r=r||{},!r.legacy){var n=q.wrapRsaPrivateKey(q.privateKeyToAsn1(t));return n=q.encryptPrivateKeyInfo(n,e,r),q.encryptedPrivateKeyToPem(n)}var i,s,o,a;switch(r.algorithm){case"aes128":i="AES-128-CBC",o=16,s=L.random.getBytesSync(16),a=L.aes.createEncryptionCipher;break;case"aes192":i="AES-192-CBC",o=24,s=L.random.getBytesSync(16),a=L.aes.createEncryptionCipher;break;case"aes256":i="AES-256-CBC",o=32,s=L.random.getBytesSync(16),a=L.aes.createEncryptionCipher;break;case"3des":i="DES-EDE3-CBC",o=24,s=L.random.getBytesSync(8),a=L.des.createEncryptionCipher;break;case"des":i="DES-CBC",o=8,s=L.random.getBytesSync(8),a=L.des.createEncryptionCipher;break;default:var c=new Error('Could not encrypt RSA private key; unsupported encryption algorithm "'+r.algorithm+'".');throw c.algorithm=r.algorithm,c}var u=L.pbe.opensslDeriveBytes(e,s.substr(0,8),o),l=a(u);l.start(s),l.update(b.toDer(q.privateKeyToAsn1(t))),l.finish();var f={type:"RSA PRIVATE KEY",procType:{version:"4",type:"ENCRYPTED"},dekInfo:{algorithm:i,parameters:L.util.bytesToHex(s).toUpperCase()},body:l.output.getBytes()};return L.pem.encode(f)};q.decryptRsaPrivateKey=function(t,e){var r=null,n=L.pem.decode(t)[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=L.des.createDecryptionCipher;break;case"DES-EDE3-CBC":s=24,o=L.des.createDecryptionCipher;break;case"AES-128-CBC":s=16,o=L.aes.createDecryptionCipher;break;case"AES-192-CBC":s=24,o=L.aes.createDecryptionCipher;break;case"AES-256-CBC":s=32,o=L.aes.createDecryptionCipher;break;case"RC2-40-CBC":s=5,o=function(f){return L.rc2.createDecryptionCipher(f,40)};break;case"RC2-64-CBC":s=8,o=function(f){return L.rc2.createDecryptionCipher(f,64)};break;case"RC2-128-CBC":s=16,o=function(f){return L.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=L.util.hexToBytes(n.dekInfo.parameters),c=L.pbe.opensslDeriveBytes(e,a.substr(0,8),s),u=o(c);if(u.start(a),u.update(L.util.createBuffer(n.body)),u.finish())r=u.output.getBytes();else return r}else r=n.body;return n.type==="ENCRYPTED PRIVATE KEY"?r=q.decryptPrivateKeyInfo(b.fromDer(r),e):r=b.fromDer(r),r!==null&&(r=q.privateKeyFromAsn1(r)),r};q.pbe.generatePkcs12Key=function(t,e,r,n,i,s){var o,a;if(typeof s>"u"||s===null){if(!("sha1"in L.md))throw new Error('"sha1" hash algorithm unavailable.');s=L.md.sha1.create()}var c=s.digestLength,u=s.blockLength,l=new L.util.ByteBuffer,f=new L.util.ByteBuffer;if(t!=null){for(a=0;a<t.length;a++)f.putInt16(t.charCodeAt(a));f.putInt16(0)}var h=f.length(),d=e.length(),p=new L.util.ByteBuffer;p.fillWithByte(r,u);var m=u*Math.ceil(d/u),y=new L.util.ByteBuffer;for(a=0;a<m;a++)y.putByte(e.at(a%d));var g=u*Math.ceil(h/u),w=new L.util.ByteBuffer;for(a=0;a<g;a++)w.putByte(f.at(a%h));var _=y;_.putBuffer(w);for(var N=Math.ceil(i/c),C=1;C<=N;C++){var T=new L.util.ByteBuffer;T.putBytes(p.bytes()),T.putBytes(_.bytes());for(var H=0;H<n;H++)s.start(),s.update(T.getBytes()),T=s.digest();var W=new L.util.ByteBuffer;for(a=0;a<u;a++)W.putByte(T.at(a%c));var De=Math.ceil(d/u)+Math.ceil(h/u),bt=new L.util.ByteBuffer;for(o=0;o<De;o++){var st=new L.util.ByteBuffer(_.getBytes(u)),Qe=511;for(a=W.length()-1;a>=0;a--)Qe=Qe>>8,Qe+=W.at(a)+st.at(a),st.setAt(a,Qe&255);bt.putBuffer(st)}_=bt,l.putBuffer(T)}return l.truncate(l.length()-i),l};q.pbe.getCipher=function(t,e,r){switch(t){case q.oids.pkcs5PBES2:return q.pbe.getCipherForPBES2(t,e,r);case q.oids["pbeWithSHAAnd3-KeyTripleDES-CBC"]:case q.oids["pbewithSHAAnd40BitRC2-CBC"]:return q.pbe.getCipherForPKCS12PBE(t,e,r);default:var n=new Error("Cannot read encrypted PBE data block. Unsupported OID.");throw n.oid=t,n.supportedOids=["pkcs5PBES2","pbeWithSHAAnd3-KeyTripleDES-CBC","pbewithSHAAnd40BitRC2-CBC"],n}};q.pbe.getCipherForPBES2=function(t,e,r){var n={},i=[];if(!b.validate(e,Ox,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(t=b.derToOid(n.kdfOid),t!==q.oids.pkcs5PBKDF2){var s=new Error("Cannot read encrypted private key. Unsupported key derivation function OID.");throw s.oid=t,s.supportedOids=["pkcs5PBKDF2"],s}if(t=b.derToOid(n.encOid),t!==q.oids["aes128-CBC"]&&t!==q.oids["aes192-CBC"]&&t!==q.oids["aes256-CBC"]&&t!==q.oids["des-EDE3-CBC"]&&t!==q.oids.desCBC){var s=new Error("Cannot read encrypted private key. Unsupported encryption scheme OID.");throw s.oid=t,s.supportedOids=["aes128-CBC","aes192-CBC","aes256-CBC","des-EDE3-CBC","desCBC"],s}var o=n.kdfSalt,a=L.util.createBuffer(n.kdfIterationCount);a=a.getInt(a.length()<<3);var c,u;switch(q.oids[t]){case"aes128-CBC":c=16,u=L.aes.createDecryptionCipher;break;case"aes192-CBC":c=24,u=L.aes.createDecryptionCipher;break;case"aes256-CBC":c=32,u=L.aes.createDecryptionCipher;break;case"des-EDE3-CBC":c=24,u=L.des.createDecryptionCipher;break;case"desCBC":c=8,u=L.des.createDecryptionCipher;break}var l=x0(n.prfOid),f=L.pkcs5.pbkdf2(r,o,a,c,l),h=n.encIv,d=u(f);return d.start(h),d};q.pbe.getCipherForPKCS12PBE=function(t,e,r){var n={},i=[];if(!b.validate(e,Mx,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=L.util.createBuffer(n.salt),a=L.util.createBuffer(n.iterations);a=a.getInt(a.length()<<3);var c,u,l;switch(t){case q.oids["pbeWithSHAAnd3-KeyTripleDES-CBC"]:c=24,u=8,l=L.des.startDecrypting;break;case q.oids["pbewithSHAAnd40BitRC2-CBC"]:c=5,u=8,l=function(m,y){var g=L.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=t,s}var f=x0(n.prfOid),h=q.pbe.generatePkcs12Key(r,o,1,a,c,f);f.start();var d=q.pbe.generatePkcs12Key(r,o,2,a,u,f);return l(h,d)};q.pbe.opensslDeriveBytes=function(t,e,r,n){if(typeof n>"u"||n===null){if(!("md5"in L.md))throw new Error('"md5" hash algorithm unavailable.');n=L.md.md5.create()}e===null&&(e="");for(var i=[g0(n,t+e)],s=16,o=1;s<r;++o,s+=16)i.push(g0(n,i[o-1]+t+e));return i.join("").substr(0,r)};function g0(t,e){return t.start().update(e).digest().getBytes()}function x0(t){var e;if(!t)e="hmacWithSHA1";else if(e=q.oids[b.derToOid(t)],!e){var r=new Error("Unsupported PRF OID.");throw r.oid=t,r.supported=["hmacWithSHA1","hmacWithSHA224","hmacWithSHA256","hmacWithSHA384","hmacWithSHA512"],r}return w0(e)}function w0(t){var e=L.md;switch(t){case"hmacWithSHA224":e=L.md.sha512;case"hmacWithSHA1":case"hmacWithSHA256":case"hmacWithSHA384":case"hmacWithSHA512":t=t.substr(8).toLowerCase();break;default:var r=new Error("Unsupported PRF algorithm.");throw r.algorithm=t,r.supported=["hmacWithSHA1","hmacWithSHA224","hmacWithSHA256","hmacWithSHA384","hmacWithSHA512"],r}if(!e||!(t in e))throw new Error("Unknown hash algorithm: "+t);return e[t].create()}function Fx(t,e,r,n){var i=b.create(b.Class.UNIVERSAL,b.Type.SEQUENCE,!0,[b.create(b.Class.UNIVERSAL,b.Type.OCTETSTRING,!1,t),b.create(b.Class.UNIVERSAL,b.Type.INTEGER,!1,e.getBytes())]);return n!=="hmacWithSHA1"&&i.value.push(b.create(b.Class.UNIVERSAL,b.Type.INTEGER,!1,L.util.hexToBytes(r.toString(16))),b.create(b.Class.UNIVERSAL,b.Type.SEQUENCE,!0,[b.create(b.Class.UNIVERSAL,b.Type.OID,!1,b.oidToDer(q.oids[n]).getBytes()),b.create(b.Class.UNIVERSAL,b.Type.NULL,!1,"")])),i}});var ih=R((uA,nh)=>{"use strict";nh.exports=c2;function c2(t,e){for(var r=new Array(arguments.length-1),n=0,i=2,s=!0;i<arguments.length;)r[n++]=arguments[i++];return new Promise(function(a,c){r[n]=function(l){if(s)if(s=!1,l)c(l);else{for(var f=new Array(arguments.length-1),h=0;h<f.length;)f[h++]=arguments[h];a.apply(null,f)}};try{t.apply(e||null,r)}catch(u){s&&(s=!1,c(u))}})}});var ch=R(ah=>{"use strict";var eo=ah;eo.length=function(e){var r=e.length;if(!r)return 0;for(var n=0;--r%4>1&&e.charAt(r)==="=";)++n;return Math.ceil(e.length*3)/4-n};var Mn=new Array(64),oh=new Array(123);for(It=0;It<64;)oh[Mn[It]=It<26?It+65:It<52?It+71:It<62?It-4:It-59|43]=It++;var It;eo.encode=function(e,r,n){for(var i=null,s=[],o=0,a=0,c;r<n;){var u=e[r++];switch(a){case 0:s[o++]=Mn[u>>2],c=(u&3)<<4,a=1;break;case 1:s[o++]=Mn[c|u>>4],c=(u&15)<<2,a=2;break;case 2:s[o++]=Mn[c|u>>6],s[o++]=Mn[u&63],a=0;break}o>8191&&((i||(i=[])).push(String.fromCharCode.apply(String,s)),o=0)}return a&&(s[o++]=Mn[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 sh="invalid encoding";eo.decode=function(e,r,n){for(var i=n,s=0,o,a=0;a<e.length;){var c=e.charCodeAt(a++);if(c===61&&s>1)break;if((c=oh[c])===void 0)throw Error(sh);switch(s){case 0:o=c,s=1;break;case 1:r[n++]=o<<2|(c&48)>>4,o=c,s=2;break;case 2:r[n++]=(o&15)<<4|(c&60)>>2,o=c,s=3;break;case 3:r[n++]=(o&3)<<6|c,s=0;break}}if(s===1)throw Error(sh);return n-i};eo.test=function(e){return/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/.test(e)}});var lh=R((fA,uh)=>{"use strict";uh.exports=to;function to(){this._listeners={}}to.prototype.on=function(e,r,n){return(this._listeners[e]||(this._listeners[e]=[])).push({fn:r,ctx:n||this}),this};to.prototype.off=function(e,r){if(e===void 0)this._listeners={};else if(r===void 0)this._listeners[e]=[];else for(var n=this._listeners[e],i=0;i<n.length;)n[i].fn===r?n.splice(i,1):++i;return this};to.prototype.emit=function(e){var r=this._listeners[e];if(r){for(var n=[],i=1;i<arguments.length;)n.push(arguments[i++]);for(i=0;i<r.length;)r[i].fn.apply(r[i++].ctx,n)}return this}});var gh=R((hA,yh)=>{"use strict";yh.exports=fh(fh);function fh(t){return typeof Float32Array<"u"?function(){var e=new Float32Array([-0]),r=new Uint8Array(e.buffer),n=r[3]===128;function i(c,u,l){e[0]=c,u[l]=r[0],u[l+1]=r[1],u[l+2]=r[2],u[l+3]=r[3]}function s(c,u,l){e[0]=c,u[l]=r[3],u[l+1]=r[2],u[l+2]=r[1],u[l+3]=r[0]}t.writeFloatLE=n?i:s,t.writeFloatBE=n?s:i;function o(c,u){return r[0]=c[u],r[1]=c[u+1],r[2]=c[u+2],r[3]=c[u+3],e[0]}function a(c,u){return r[3]=c[u],r[2]=c[u+1],r[1]=c[u+2],r[0]=c[u+3],e[0]}t.readFloatLE=n?o:a,t.readFloatBE=n?a:o}():function(){function e(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)}}t.writeFloatLE=e.bind(null,hh),t.writeFloatBE=e.bind(null,dh);function r(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)}t.readFloatLE=r.bind(null,ph),t.readFloatBE=r.bind(null,mh)}(),typeof Float64Array<"u"?function(){var e=new Float64Array([-0]),r=new Uint8Array(e.buffer),n=r[7]===128;function i(c,u,l){e[0]=c,u[l]=r[0],u[l+1]=r[1],u[l+2]=r[2],u[l+3]=r[3],u[l+4]=r[4],u[l+5]=r[5],u[l+6]=r[6],u[l+7]=r[7]}function s(c,u,l){e[0]=c,u[l]=r[7],u[l+1]=r[6],u[l+2]=r[5],u[l+3]=r[4],u[l+4]=r[3],u[l+5]=r[2],u[l+6]=r[1],u[l+7]=r[0]}t.writeDoubleLE=n?i:s,t.writeDoubleBE=n?s:i;function o(c,u){return r[0]=c[u],r[1]=c[u+1],r[2]=c[u+2],r[3]=c[u+3],r[4]=c[u+4],r[5]=c[u+5],r[6]=c[u+6],r[7]=c[u+7],e[0]}function a(c,u){return r[7]=c[u],r[6]=c[u+1],r[5]=c[u+2],r[4]=c[u+3],r[3]=c[u+4],r[2]=c[u+5],r[1]=c[u+6],r[0]=c[u+7],e[0]}t.readDoubleLE=n?o:a,t.readDoubleBE=n?a:o}():function(){function e(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)}}}t.writeDoubleLE=e.bind(null,hh,0,4),t.writeDoubleBE=e.bind(null,dh,4,0);function r(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,h=4294967296*(u&1048575)+c;return f===2047?h?NaN:l*(1/0):f===0?l*5e-324*h:l*Math.pow(2,f-1075)*(h+4503599627370496)}t.readDoubleLE=r.bind(null,ph,0,4),t.readDoubleBE=r.bind(null,mh,4,0)}(),t}function hh(t,e,r){e[r]=t&255,e[r+1]=t>>>8&255,e[r+2]=t>>>16&255,e[r+3]=t>>>24}function dh(t,e,r){e[r]=t>>>24,e[r+1]=t>>>16&255,e[r+2]=t>>>8&255,e[r+3]=t&255}function ph(t,e){return(t[e]|t[e+1]<<8|t[e+2]<<16|t[e+3]<<24)>>>0}function mh(t,e){return(t[e]<<24|t[e+1]<<16|t[e+2]<<8|t[e+3])>>>0}});var xh=R((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(t){}return null}});var vh=R(wh=>{"use strict";var Cc=wh;Cc.length=function(e){for(var r=0,n=0,i=0;i<e.length;++i)n=e.charCodeAt(i),n<128?r+=1:n<2048?r+=2:(n&64512)===55296&&(e.charCodeAt(i+1)&64512)===56320?(++i,r+=4):r+=3;return r};Cc.read=function(e,r,n){var i=n-r;if(i<1)return"";for(var s=null,o=[],a=0,c;r<n;)c=e[r++],c<128?o[a++]=c:c>191&&c<224?o[a++]=(c&31)<<6|e[r++]&63:c>239&&c<365?(c=((c&7)<<18|(e[r++]&63)<<12|(e[r++]&63)<<6|e[r++]&63)-65536,o[a++]=55296+(c>>10),o[a++]=56320+(c&1023)):o[a++]=(c&15)<<12|(e[r++]&63)<<6|e[r++]&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))};Cc.write=function(e,r,n){for(var i=n,s,o,a=0;a<e.length;++a)s=e.charCodeAt(a),s<128?r[n++]=s:s<2048?(r[n++]=s>>6|192,r[n++]=s&63|128):(s&64512)===55296&&((o=e.charCodeAt(a+1))&64512)===56320?(s=65536+((s&1023)<<10)+(o&1023),++a,r[n++]=s>>18|240,r[n++]=s>>12&63|128,r[n++]=s>>6&63|128,r[n++]=s&63|128):(r[n++]=s>>12|224,r[n++]=s>>6&63|128,r[n++]=s&63|128);return n-i}});var bh=R((pA,Eh)=>{"use strict";Eh.exports=u2;function u2(t,e,r){var n=r||8192,i=n>>>1,s=null,o=n;return function(c){if(c<1||c>i)return t(c);o+c>n&&(s=t(n),o=0);var u=e.call(s,o,o+=c);return o&7&&(o=(o|7)+1),u}}});var Sh=R((mA,_h)=>{"use strict";_h.exports=Ue;var ki=en();function Ue(t,e){this.lo=t>>>0,this.hi=e>>>0}var Jr=Ue.zero=new Ue(0,0);Jr.toNumber=function(){return 0};Jr.zzEncode=Jr.zzDecode=function(){return this};Jr.length=function(){return 1};var l2=Ue.zeroHash="\0\0\0\0\0\0\0\0";Ue.fromNumber=function(e){if(e===0)return Jr;var r=e<0;r&&(e=-e);var n=e>>>0,i=(e-n)/4294967296>>>0;return r&&(i=~i>>>0,n=~n>>>0,++n>4294967295&&(n=0,++i>4294967295&&(i=0))),new Ue(n,i)};Ue.from=function(e){if(typeof e=="number")return Ue.fromNumber(e);if(ki.isString(e))if(ki.Long)e=ki.Long.fromString(e);else return Ue.fromNumber(parseInt(e,10));return e.low||e.high?new Ue(e.low>>>0,e.high>>>0):Jr};Ue.prototype.toNumber=function(e){if(!e&&this.hi>>>31){var r=~this.lo+1>>>0,n=~this.hi>>>0;return r||(n=n+1>>>0),-(r+n*4294967296)}return this.lo+this.hi*4294967296};Ue.prototype.toLong=function(e){return ki.Long?new ki.Long(this.lo|0,this.hi|0,!!e):{low:this.lo|0,high:this.hi|0,unsigned:!!e}};var Rr=String.prototype.charCodeAt;Ue.fromHash=function(e){return e===l2?Jr:new Ue((Rr.call(e,0)|Rr.call(e,1)<<8|Rr.call(e,2)<<16|Rr.call(e,3)<<24)>>>0,(Rr.call(e,4)|Rr.call(e,5)<<8|Rr.call(e,6)<<16|Rr.call(e,7)<<24)>>>0)};Ue.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)};Ue.prototype.zzEncode=function(){var e=this.hi>>31;return this.hi=((this.hi<<1|this.lo>>>31)^e)>>>0,this.lo=(this.lo<<1^e)>>>0,this};Ue.prototype.zzDecode=function(){var e=-(this.lo&1);return this.lo=((this.lo>>>1|this.hi<<31)^e)>>>0,this.hi=(this.hi>>>1^e)>>>0,this};Ue.prototype.length=function(){var e=this.lo,r=(this.lo>>>28|this.hi<<4)>>>0,n=this.hi>>>24;return n===0?r===0?e<16384?e<128?1:2:e<2097152?3:4:r<16384?r<128?5:6:r<2097152?7:8:n<128?9:10}});var en=R(Tc=>{"use strict";var O=Tc;O.asPromise=ih();O.base64=ch();O.EventEmitter=lh();O.float=gh();O.inquire=xh();O.utf8=vh();O.pool=bh();O.LongBits=Sh();O.isNode=!!(typeof globalThis<"u"&&globalThis&&globalThis.process&&globalThis.process.versions&&globalThis.process.versions.node);O.global=O.isNode&&globalThis||typeof window<"u"&&window||typeof self<"u"&&self||Tc;O.emptyArray=Object.freeze?Object.freeze([]):[];O.emptyObject=Object.freeze?Object.freeze({}):{};O.isInteger=Number.isInteger||function(e){return typeof e=="number"&&isFinite(e)&&Math.floor(e)===e};O.isString=function(e){return typeof e=="string"||e instanceof String};O.isObject=function(e){return e&&typeof e=="object"};O.isset=O.isSet=function(e,r){var n=e[r];return n!=null&&e.hasOwnProperty(r)?typeof n!="object"||(Array.isArray(n)?n.length:Object.keys(n).length)>0:!1};O.Buffer=function(){try{var t=O.inquire("buffer").Buffer;return t.prototype.utf8Write?t:null}catch{return null}}();O._Buffer_from=null;O._Buffer_allocUnsafe=null;O.newBuffer=function(e){return typeof e=="number"?O.Buffer?O._Buffer_allocUnsafe(e):new O.Array(e):O.Buffer?O._Buffer_from(e):typeof Uint8Array>"u"?e:new Uint8Array(e)};O.Array=typeof Uint8Array<"u"?Uint8Array:Array;O.Long=O.global.dcodeIO&&O.global.dcodeIO.Long||O.global.Long||O.inquire("long");O.key2Re=/^true|false|0|1$/;O.key32Re=/^-?(?:0|[1-9][0-9]*)$/;O.key64Re=/^(?:[\\x00-\\xff]{8}|-?(?:0|[1-9][0-9]*))$/;O.longToHash=function(e){return e?O.LongBits.from(e).toHash():O.LongBits.zeroHash};O.longFromHash=function(e,r){var n=O.LongBits.fromHash(e);return O.Long?O.Long.fromBits(n.lo,n.hi,r):n.toNumber(!!r)};function Ah(t,e,r){for(var n=Object.keys(e),i=0;i<n.length;++i)(t[n[i]]===void 0||!r)&&(t[n[i]]=e[n[i]]);return t}O.merge=Ah;O.lcFirst=function(e){return e.charAt(0).toLowerCase()+e.substring(1)};function Ih(t){function e(r,n){if(!(this instanceof e))return new e(r,n);Object.defineProperty(this,"message",{get:function(){return r}}),Error.captureStackTrace?Error.captureStackTrace(this,e):Object.defineProperty(this,"stack",{value:new Error().stack||""}),n&&Ah(this,n)}return e.prototype=Object.create(Error.prototype,{constructor:{value:e,writable:!0,enumerable:!1,configurable:!0},name:{get:function(){return t},set:void 0,enumerable:!1,configurable:!0},toString:{value:function(){return this.name+": "+this.message},writable:!0,enumerable:!1,configurable:!0}}),e}O.newError=Ih;O.ProtocolError=Ih("ProtocolError");O.oneOfGetter=function(e){for(var r={},n=0;n<e.length;++n)r[e[n]]=1;return function(){for(var i=Object.keys(this),s=i.length-1;s>-1;--s)if(r[i[s]]===1&&this[i[s]]!==void 0&&this[i[s]]!==null)return i[s]}};O.oneOfSetter=function(e){return function(r){for(var n=0;n<e.length;++n)e[n]!==r&&delete this[e[n]]}};O.toJSONOptions={longs:String,enums:String,bytes:String,json:!0};O._configure=function(){var t=O.Buffer;if(!t){O._Buffer_from=O._Buffer_allocUnsafe=null;return}O._Buffer_from=t.from!==Uint8Array.from&&t.from||function(r,n){return new t(r,n)},O._Buffer_allocUnsafe=t.allocUnsafe||function(r){return new t(r)}}});var Pc=R((gA,Lh)=>{"use strict";Lh.exports=Te;var Gt=en(),Lc,Th=Gt.LongBits,f2=Gt.utf8;function Rt(t,e){return RangeError("index out of range: "+t.pos+" + "+(e||1)+" > "+t.len)}function Te(t){this.buf=t,this.pos=0,this.len=t.length}var Rh=typeof Uint8Array<"u"?function(e){if(e instanceof Uint8Array||Array.isArray(e))return new Te(e);throw Error("illegal buffer")}:function(e){if(Array.isArray(e))return new Te(e);throw Error("illegal buffer")},Bh=function(){return Gt.Buffer?function(r){return(Te.create=function(i){return Gt.Buffer.isBuffer(i)?new Lc(i):Rh(i)})(r)}:Rh};Te.create=Bh();Te.prototype._slice=Gt.Array.prototype.subarray||Gt.Array.prototype.slice;Te.prototype.uint32=function(){var e=4294967295;return function(){if(e=(this.buf[this.pos]&127)>>>0,this.buf[this.pos++]<128||(e=(e|(this.buf[this.pos]&127)<<7)>>>0,this.buf[this.pos++]<128)||(e=(e|(this.buf[this.pos]&127)<<14)>>>0,this.buf[this.pos++]<128)||(e=(e|(this.buf[this.pos]&127)<<21)>>>0,this.buf[this.pos++]<128)||(e=(e|(this.buf[this.pos]&15)<<28)>>>0,this.buf[this.pos++]<128))return e;if((this.pos+=5)>this.len)throw this.pos=this.len,Rt(this,10);return e}}();Te.prototype.int32=function(){return this.uint32()|0};Te.prototype.sint32=function(){var e=this.uint32();return e>>>1^-(e&1)|0};function Bc(){var t=new Th(0,0),e=0;if(this.len-this.pos>4){for(;e<4;++e)if(t.lo=(t.lo|(this.buf[this.pos]&127)<<e*7)>>>0,this.buf[this.pos++]<128)return t;if(t.lo=(t.lo|(this.buf[this.pos]&127)<<28)>>>0,t.hi=(t.hi|(this.buf[this.pos]&127)>>4)>>>0,this.buf[this.pos++]<128)return t;e=0}else{for(;e<3;++e){if(this.pos>=this.len)throw Rt(this);if(t.lo=(t.lo|(this.buf[this.pos]&127)<<e*7)>>>0,this.buf[this.pos++]<128)return t}return t.lo=(t.lo|(this.buf[this.pos++]&127)<<e*7)>>>0,t}if(this.len-this.pos>4){for(;e<5;++e)if(t.hi=(t.hi|(this.buf[this.pos]&127)<<e*7+3)>>>0,this.buf[this.pos++]<128)return t}else for(;e<5;++e){if(this.pos>=this.len)throw Rt(this);if(t.hi=(t.hi|(this.buf[this.pos]&127)<<e*7+3)>>>0,this.buf[this.pos++]<128)return t}throw Error("invalid varint encoding")}Te.prototype.bool=function(){return this.uint32()!==0};function ro(t,e){return(t[e-4]|t[e-3]<<8|t[e-2]<<16|t[e-1]<<24)>>>0}Te.prototype.fixed32=function(){if(this.pos+4>this.len)throw Rt(this,4);return ro(this.buf,this.pos+=4)};Te.prototype.sfixed32=function(){if(this.pos+4>this.len)throw Rt(this,4);return ro(this.buf,this.pos+=4)|0};function Ch(){if(this.pos+8>this.len)throw Rt(this,8);return new Th(ro(this.buf,this.pos+=4),ro(this.buf,this.pos+=4))}Te.prototype.float=function(){if(this.pos+4>this.len)throw Rt(this,4);var e=Gt.float.readFloatLE(this.buf,this.pos);return this.pos+=4,e};Te.prototype.double=function(){if(this.pos+8>this.len)throw Rt(this,4);var e=Gt.float.readDoubleLE(this.buf,this.pos);return this.pos+=8,e};Te.prototype.bytes=function(){var e=this.uint32(),r=this.pos,n=this.pos+e;if(n>this.len)throw Rt(this,e);return this.pos+=e,Array.isArray(this.buf)?this.buf.slice(r,n):r===n?new this.buf.constructor(0):this._slice.call(this.buf,r,n)};Te.prototype.string=function(){var e=this.bytes();return f2.read(e,0,e.length)};Te.prototype.skip=function(e){if(typeof e=="number"){if(this.pos+e>this.len)throw Rt(this,e);this.pos+=e}else do if(this.pos>=this.len)throw Rt(this);while(this.buf[this.pos++]&128);return this};Te.prototype.skipType=function(t){switch(t){case 0:this.skip();break;case 1:this.skip(8);break;case 2:this.skip(this.uint32());break;case 3:for(;(t=this.uint32()&7)!==4;)this.skipType(t);break;case 5:this.skip(4);break;default:throw Error("invalid wire type "+t+" at offset "+this.pos)}return this};Te._configure=function(t){Lc=t,Te.create=Bh(),Lc._configure();var e=Gt.Long?"toLong":"toNumber";Gt.merge(Te.prototype,{int64:function(){return Bc.call(this)[e](!1)},uint64:function(){return Bc.call(this)[e](!0)},sint64:function(){return Bc.call(this).zzDecode()[e](!1)},fixed64:function(){return Ch.call(this)[e](!0)},sfixed64:function(){return Ch.call(this)[e](!1)}})}});var kh=R((xA,Nh)=>{"use strict";Nh.exports=tn;var Dh=Pc();(tn.prototype=Object.create(Dh.prototype)).constructor=tn;var Ph=en();function tn(t){Dh.call(this,t)}tn._configure=function(){Ph.Buffer&&(tn.prototype._slice=Ph.Buffer.prototype.slice)};tn.prototype.string=function(){var e=this.uint32();return this.buf.utf8Slice?this.buf.utf8Slice(this.pos,this.pos=Math.min(this.pos+e,this.len)):this.buf.toString("utf-8",this.pos,this.pos=Math.min(this.pos+e,this.len))};tn._configure()});var Uc=R((wA,Uh)=>{"use strict";Uh.exports=ee;var wt=en(),Dc,no=wt.LongBits,Oh=wt.base64,Mh=wt.utf8;function Oi(t,e,r){this.fn=t,this.len=e,this.next=void 0,this.val=r}function kc(){}function h2(t){this.head=t.head,this.tail=t.tail,this.len=t.len,this.next=t.states}function ee(){this.len=0,this.head=new Oi(kc,0,0),this.tail=this.head,this.states=null}var Fh=function(){return wt.Buffer?function(){return(ee.create=function(){return new Dc})()}:function(){return new ee}};ee.create=Fh();ee.alloc=function(e){return new wt.Array(e)};wt.Array!==Array&&(ee.alloc=wt.pool(ee.alloc,wt.Array.prototype.subarray));ee.prototype._push=function(e,r,n){return this.tail=this.tail.next=new Oi(e,r,n),this.len+=r,this};function Oc(t,e,r){e[r]=t&255}function d2(t,e,r){for(;t>127;)e[r++]=t&127|128,t>>>=7;e[r]=t}function Mc(t,e){this.len=t,this.next=void 0,this.val=e}Mc.prototype=Object.create(Oi.prototype);Mc.prototype.fn=d2;ee.prototype.uint32=function(e){return this.len+=(this.tail=this.tail.next=new Mc((e=e>>>0)<128?1:e<16384?2:e<2097152?3:e<268435456?4:5,e)).len,this};ee.prototype.int32=function(e){return e<0?this._push(Fc,10,no.fromNumber(e)):this.uint32(e)};ee.prototype.sint32=function(e){return this.uint32((e<<1^e>>31)>>>0)};function Fc(t,e,r){for(;t.hi;)e[r++]=t.lo&127|128,t.lo=(t.lo>>>7|t.hi<<25)>>>0,t.hi>>>=7;for(;t.lo>127;)e[r++]=t.lo&127|128,t.lo=t.lo>>>7;e[r++]=t.lo}ee.prototype.uint64=function(e){var r=no.from(e);return this._push(Fc,r.length(),r)};ee.prototype.int64=ee.prototype.uint64;ee.prototype.sint64=function(e){var r=no.from(e).zzEncode();return this._push(Fc,r.length(),r)};ee.prototype.bool=function(e){return this._push(Oc,1,e?1:0)};function Nc(t,e,r){e[r]=t&255,e[r+1]=t>>>8&255,e[r+2]=t>>>16&255,e[r+3]=t>>>24}ee.prototype.fixed32=function(e){return this._push(Nc,4,e>>>0)};ee.prototype.sfixed32=ee.prototype.fixed32;ee.prototype.fixed64=function(e){var r=no.from(e);return this._push(Nc,4,r.lo)._push(Nc,4,r.hi)};ee.prototype.sfixed64=ee.prototype.fixed64;ee.prototype.float=function(e){return this._push(wt.float.writeFloatLE,4,e)};ee.prototype.double=function(e){return this._push(wt.float.writeDoubleLE,8,e)};var p2=wt.Array.prototype.set?function(e,r,n){r.set(e,n)}:function(e,r,n){for(var i=0;i<e.length;++i)r[n+i]=e[i]};ee.prototype.bytes=function(e){var r=e.length>>>0;if(!r)return this._push(Oc,1,0);if(wt.isString(e)){var n=ee.alloc(r=Oh.length(e));Oh.decode(e,n,0),e=n}return this.uint32(r)._push(p2,r,e)};ee.prototype.string=function(e){var r=Mh.length(e);return r?this.uint32(r)._push(Mh.write,r,e):this._push(Oc,1,0)};ee.prototype.fork=function(){return this.states=new h2(this),this.head=this.tail=new Oi(kc,0,0),this.len=0,this};ee.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 Oi(kc,0,0),this.len=0),this};ee.prototype.ldelim=function(){var e=this.head,r=this.tail,n=this.len;return this.reset().uint32(n),n&&(this.tail.next=e.next,this.tail=r,this.len+=n),this};ee.prototype.finish=function(){for(var e=this.head.next,r=this.constructor.alloc(this.len),n=0;e;)e.fn(e.val,r,n),n+=e.len,e=e.next;return r};ee._configure=function(t){Dc=t,ee.create=Fh(),Dc._configure()}});var qh=R((vA,Vh)=>{"use strict";Vh.exports=Yt;var Kh=Uc();(Yt.prototype=Object.create(Kh.prototype)).constructor=Yt;var Cr=en();function Yt(){Kh.call(this)}Yt._configure=function(){Yt.alloc=Cr._Buffer_allocUnsafe,Yt.writeBytesBuffer=Cr.Buffer&&Cr.Buffer.prototype instanceof Uint8Array&&Cr.Buffer.prototype.set.name==="set"?function(e,r,n){r.set(e,n)}:function(e,r,n){if(e.copy)e.copy(r,n,0,e.length);else for(var i=0;i<e.length;)r[n++]=e[i++]}};Yt.prototype.bytes=function(e){Cr.isString(e)&&(e=Cr._Buffer_from(e,"base64"));var r=e.length>>>0;return this.uint32(r),r&&this._push(Yt.writeBytesBuffer,r,e),this};function m2(t,e,r){t.length<40?Cr.utf8.write(t,e,r):e.utf8Write?e.utf8Write(t,r):e.write(t,r)}Yt.prototype.string=function(e){var r=Cr.Buffer.byteLength(e);return this.uint32(r),r&&this._push(m2,r,e),this};Yt._configure()});var rd=R((vI,td)=>{var pe=se();$r();Ie();var Fi=td.exports=pe.sha512=pe.sha512||{};pe.md.sha512=pe.md.algorithms.sha512=Fi;var Jh=pe.sha384=pe.sha512.sha384=pe.sha512.sha384||{};Jh.create=function(){return Fi.create("SHA-384")};pe.md.sha384=pe.md.algorithms.sha384=Jh;pe.sha512.sha256=pe.sha512.sha256||{create:function(){return Fi.create("SHA-512/256")}};pe.md["sha512/256"]=pe.md.algorithms["sha512/256"]=pe.sha512.sha256;pe.sha512.sha224=pe.sha512.sha224||{create:function(){return Fi.create("SHA-512/224")}};pe.md["sha512/224"]=pe.md.algorithms["sha512/224"]=pe.sha512.sha224;Fi.create=function(t){if(ed||S2(),typeof t>"u"&&(t="SHA-512"),!(t in nn))throw new Error("Invalid SHA-512 algorithm: "+t);for(var e=nn[t],r=null,n=pe.util.createBuffer(),i=new Array(80),s=0;s<80;++s)i[s]=new Array(2);var o=64;switch(t){case"SHA-384":o=48;break;case"SHA-512/256":o=32;break;case"SHA-512/224":o=28;break}var a={algorithm:t.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=pe.util.createBuffer(),r=new Array(e.length);for(var u=0;u<e.length;++u)r[u]=e[u].slice(0);return a},a.start(),a.update=function(c,u){u==="utf8"&&(c=pe.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),jh(r,i,n),(n.read>2048||n.length()===0)&&n.compact(),a},a.digest=function(){var c=pe.util.createBuffer();c.putBytes(n.bytes());var u=a.fullMessageLength[a.fullMessageLength.length-1]+a.messageLengthSize,l=u&a.blockLength-1;c.putBytes(Yc.substr(0,a.blockLength-l));for(var f,h,d=a.fullMessageLength[0]*8,p=0;p<a.fullMessageLength.length-1;++p)f=a.fullMessageLength[p+1]*8,h=f/4294967296>>>0,d+=h,c.putInt32(d>>>0),d=f>>>0;c.putInt32(d);for(var m=new Array(r.length),p=0;p<r.length;++p)m[p]=r[p].slice(0);jh(m,i,c);var y=pe.util.createBuffer(),g;t==="SHA-512"?g=m.length:t==="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||t!=="SHA-512/224")&&y.putInt32(m[p][1]);return y},a};var Yc=null,ed=!1,Wc=null,nn=null;function S2(){Yc=String.fromCharCode(128),Yc+=pe.util.fillString(String.fromCharCode(0),128),Wc=[[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]],nn={},nn["SHA-512"]=[[1779033703,4089235720],[3144134277,2227873595],[1013904242,4271175723],[2773480762,1595750129],[1359893119,2917565137],[2600822924,725511199],[528734635,4215389547],[1541459225,327033209]],nn["SHA-384"]=[[3418070365,3238371032],[1654270250,914150663],[2438529370,812702999],[355462360,4144912697],[1731405415,4290775857],[2394180231,1750603025],[3675008525,1694076839],[1203062813,3204075428]],nn["SHA-512/256"]=[[573645204,4230739756],[2673172387,3360449730],[596883563,1867755857],[2520282905,1497426621],[2519219938,2827943907],[3193839141,1401305490],[721525244,746961066],[246885852,2177182882]],nn["SHA-512/224"]=[[2352822216,424955298],[1944164710,2312950998],[502970286,855612546],[1738396948,1479516111],[258812777,2077511080],[2011393907,79989058],[1067287976,1780299464],[286451373,2446758561]],ed=!0}function jh(t,e,r){for(var n,i,s,o,a,c,u,l,f,h,d,p,m,y,g,w,_,N,C,T,H,W,De,bt,st,Qe,An,Ss,Le,et,F,Sa,Aa,Ia,Ra,Wl=r.length();Wl>=128;){for(Le=0;Le<16;++Le)e[Le][0]=r.getInt32()>>>0,e[Le][1]=r.getInt32()>>>0;for(;Le<80;++Le)Sa=e[Le-2],et=Sa[0],F=Sa[1],n=((et>>>19|F<<13)^(F>>>29|et<<3)^et>>>6)>>>0,i=((et<<13|F>>>19)^(F<<3|et>>>29)^(et<<26|F>>>6))>>>0,Ia=e[Le-15],et=Ia[0],F=Ia[1],s=((et>>>1|F<<31)^(et>>>8|F<<24)^et>>>7)>>>0,o=((et<<31|F>>>1)^(et<<24|F>>>8)^(et<<25|F>>>7))>>>0,Aa=e[Le-7],Ra=e[Le-16],F=i+Aa[1]+o+Ra[1],e[Le][0]=n+Aa[0]+s+Ra[0]+(F/4294967296>>>0)>>>0,e[Le][1]=F>>>0;for(m=t[0][0],y=t[0][1],g=t[1][0],w=t[1][1],_=t[2][0],N=t[2][1],C=t[3][0],T=t[3][1],H=t[4][0],W=t[4][1],De=t[5][0],bt=t[5][1],st=t[6][0],Qe=t[6][1],An=t[7][0],Ss=t[7][1],Le=0;Le<80;++Le)u=((H>>>14|W<<18)^(H>>>18|W<<14)^(W>>>9|H<<23))>>>0,l=((H<<18|W>>>14)^(H<<14|W>>>18)^(W<<23|H>>>9))>>>0,f=(st^H&(De^st))>>>0,h=(Qe^W&(bt^Qe))>>>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,d=(m&g|_&(m^g))>>>0,p=(y&w|N&(y^w))>>>0,F=Ss+l+h+Wc[Le][1]+e[Le][1],n=An+u+f+Wc[Le][0]+e[Le][0]+(F/4294967296>>>0)>>>0,i=F>>>0,F=c+p,s=a+d+(F/4294967296>>>0)>>>0,o=F>>>0,An=st,Ss=Qe,st=De,Qe=bt,De=H,bt=W,F=T+i,H=C+n+(F/4294967296>>>0)>>>0,W=F>>>0,C=_,T=N,_=g,N=w,g=m,w=y,F=i+o,m=n+s+(F/4294967296>>>0)>>>0,y=F>>>0;F=t[0][1]+y,t[0][0]=t[0][0]+m+(F/4294967296>>>0)>>>0,t[0][1]=F>>>0,F=t[1][1]+w,t[1][0]=t[1][0]+g+(F/4294967296>>>0)>>>0,t[1][1]=F>>>0,F=t[2][1]+N,t[2][0]=t[2][0]+_+(F/4294967296>>>0)>>>0,t[2][1]=F>>>0,F=t[3][1]+T,t[3][0]=t[3][0]+C+(F/4294967296>>>0)>>>0,t[3][1]=F>>>0,F=t[4][1]+W,t[4][0]=t[4][0]+H+(F/4294967296>>>0)>>>0,t[4][1]=F>>>0,F=t[5][1]+bt,t[5][0]=t[5][0]+De+(F/4294967296>>>0)>>>0,t[5][1]=F>>>0,F=t[6][1]+Qe,t[6][0]=t[6][0]+st+(F/4294967296>>>0)>>>0,t[6][1]=F>>>0,F=t[7][1]+Ss,t[7][0]=t[7][0]+An+(F/4294967296>>>0)>>>0,t[7][1]=F>>>0,Wl-=128}}});var du=R((fR,kd)=>{var Wn=1e3,Qn=Wn*60,Xn=Qn*60,cn=Xn*24,tv=cn*7,rv=cn*365.25;kd.exports=function(t,e){e=e||{};var r=typeof t;if(r==="string"&&t.length>0)return nv(t);if(r==="number"&&isFinite(t))return e.long?sv(t):iv(t);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(t))};function nv(t){if(t=String(t),!(t.length>100)){var e=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(t);if(e){var r=parseFloat(e[1]),n=(e[2]||"ms").toLowerCase();switch(n){case"years":case"year":case"yrs":case"yr":case"y":return r*rv;case"weeks":case"week":case"w":return r*tv;case"days":case"day":case"d":return r*cn;case"hours":case"hour":case"hrs":case"hr":case"h":return r*Xn;case"minutes":case"minute":case"mins":case"min":case"m":return r*Qn;case"seconds":case"second":case"secs":case"sec":case"s":return r*Wn;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return r;default:return}}}}function iv(t){var e=Math.abs(t);return e>=cn?Math.round(t/cn)+"d":e>=Xn?Math.round(t/Xn)+"h":e>=Qn?Math.round(t/Qn)+"m":e>=Wn?Math.round(t/Wn)+"s":t+"ms"}function sv(t){var e=Math.abs(t);return e>=cn?yo(t,e,cn,"day"):e>=Xn?yo(t,e,Xn,"hour"):e>=Qn?yo(t,e,Qn,"minute"):e>=Wn?yo(t,e,Wn,"second"):t+" ms"}function yo(t,e,r,n){var i=e>=r*1.5;return Math.round(t/r)+" "+n+(i?"s":"")}});var Md=R((hR,Od)=>{function ov(t){r.debug=r,r.default=r,r.coerce=c,r.disable=s,r.enable=i,r.enabled=o,r.humanize=du(),r.destroy=u,Object.keys(t).forEach(l=>{r[l]=t[l]}),r.names=[],r.skips=[],r.formatters={};function e(l){let f=0;for(let h=0;h<l.length;h++)f=(f<<5)-f+l.charCodeAt(h),f|=0;return r.colors[Math.abs(f)%r.colors.length]}r.selectColor=e;function r(l){let f,h=null,d,p;function m(...y){if(!m.enabled)return;let g=m,w=Number(new Date),_=w-(f||w);g.diff=_,g.prev=f,g.curr=w,f=w,y[0]=r.coerce(y[0]),typeof y[0]!="string"&&y.unshift("%O");let N=0;y[0]=y[0].replace(/%([a-zA-Z%])/g,(T,H)=>{if(T==="%%")return"%";N++;let W=r.formatters[H];if(typeof W=="function"){let De=y[N];T=W.call(g,De),y.splice(N,1),N--}return T}),r.formatArgs.call(g,y),(g.log||r.log).apply(g,y)}return m.namespace=l,m.useColors=r.useColors(),m.color=r.selectColor(l),m.extend=n,m.destroy=r.destroy,Object.defineProperty(m,"enabled",{enumerable:!0,configurable:!1,get:()=>h!==null?h:(d!==r.namespaces&&(d=r.namespaces,p=r.enabled(l)),p),set:y=>{h=y}}),typeof r.init=="function"&&r.init(m),m}function n(l,f){let h=r(this.namespace+(typeof f>"u"?":":f)+l);return h.log=this.log,h}function i(l){r.save(l),r.namespaces=l,r.names=[],r.skips=[];let f,h=(typeof l=="string"?l:"").split(/[\s,]+/),d=h.length;for(f=0;f<d;f++)h[f]&&(l=h[f].replace(/\*/g,".*?"),l[0]==="-"?r.skips.push(new RegExp("^"+l.slice(1)+"$")):r.names.push(new RegExp("^"+l+"$")))}function s(){let l=[...r.names.map(a),...r.skips.map(a).map(f=>"-"+f)].join(",");return r.enable(""),l}function o(l){if(l[l.length-1]==="*")return!0;let f,h;for(f=0,h=r.skips.length;f<h;f++)if(r.skips[f].test(l))return!1;for(f=0,h=r.names.length;f<h;f++)if(r.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 r.enable(r.load()),r}Od.exports=ov});var pu=R((ut,go)=>{ut.formatArgs=cv;ut.save=uv;ut.load=lv;ut.useColors=av;ut.storage=fv();ut.destroy=(()=>{let t=!1;return()=>{t||(t=!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`."))}})();ut.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 av(){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 cv(t){if(t[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+t[0]+(this.useColors?"%c ":" ")+"+"+go.exports.humanize(this.diff),!this.useColors)return;let e="color: "+this.color;t.splice(1,0,e,"color: inherit");let r=0,n=0;t[0].replace(/%[a-zA-Z%]/g,i=>{i!=="%%"&&(r++,i==="%c"&&(n=r))}),t.splice(n,0,e)}ut.log=console.debug||console.log||(()=>{});function uv(t){try{t?ut.storage.setItem("debug",t):ut.storage.removeItem("debug")}catch{}}function lv(){let t;try{t=ut.storage.getItem("debug")}catch{}return!t&&typeof process<"u"&&"env"in process&&(t=process.env.DEBUG),t}function fv(){try{return localStorage}catch{}}go.exports=Md()(ut);var{formatters:hv}=go.exports;hv.j=function(t){try{return JSON.stringify(t)}catch(e){return"[UnexpectedJSONParseError]: "+e.message}}});var Ud=R((gR,Fd)=>{"use strict";function pv(t){return t>=55296&&t<=56319}function mv(t){return t>=56320&&t<=57343}Fd.exports=function(e,r,n){if(typeof r!="string")throw new Error("Input must be string");for(var i=r.length,s=0,o,a,c=0;c<i;c+=1){if(o=r.charCodeAt(c),a=r[c],pv(o)&&mv(r.charCodeAt(c+1))&&(c+=1,a+=r[c]),s+=e(a),s===n)return r.slice(0,c+1);if(s>n)return r.slice(0,c-a.length+1)}return r}});var Vd=R((xR,Kd)=>{"use strict";function yv(t){return t>=55296&&t<=56319}function gv(t){return t>=56320&&t<=57343}Kd.exports=function(e){if(typeof e!="string")throw new Error("Input must be string");for(var r=e.length,n=0,i=null,s=null,o=0;o<r;o++)i=e.charCodeAt(o),gv(i)?s!=null&&yv(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 $d=R((wR,qd)=>{"use strict";var xv=Ud(),wv=Vd();qd.exports=xv.bind(null,wv)});var Gd=R((vR,Hd)=>{"use strict";var vv=$d(),Ev=/[\/\?<>\\:\*\|"]/g,bv=/[\x00-\x1f\x80-\x9f]/g,_v=/^\.+$/,Sv=/^(con|prn|aux|nul|com[0-9]|lpt[0-9])(\..*)?$/i,Av=/[\. ]+$/;function zd(t,e){if(typeof t!="string")throw new Error("Input must be string");var r=t.replace(Ev,e).replace(bv,e).replace(_v,e).replace(Sv,e).replace(Av,e);return vv(r,255)}Hd.exports=function(t,e){var r=e&&e.replacement||"",n=zd(t,r);return r===""?n:zd(n,"")}});var Wd=R((ER,Yd)=>{"use strict";Yd.exports=t=>{if(Object.prototype.toString.call(t)!=="[object Object]")return!1;let e=Object.getPrototypeOf(t);return e===null||e===Object.prototype}});var ep=R((jd,Jd)=>{"use strict";var xo=Wd(),{hasOwnProperty:Xd}=Object.prototype,{propertyIsEnumerable:Iv}=Object,Zn=(t,e,r)=>Object.defineProperty(t,e,{value:r,writable:!0,enumerable:!0,configurable:!0}),Rv=jd,Qd={concatArrays:!1,ignoreUndefined:!1},wo=t=>{let e=[];for(let r in t)Xd.call(t,r)&&e.push(r);if(Object.getOwnPropertySymbols){let r=Object.getOwnPropertySymbols(t);for(let n of r)Iv.call(t,n)&&e.push(n)}return e};function jn(t){return Array.isArray(t)?Cv(t):xo(t)?Tv(t):t}function Cv(t){let e=t.slice(0,0);return wo(t).forEach(r=>{Zn(e,r,jn(t[r]))}),e}function Tv(t){let e=Object.getPrototypeOf(t)===null?Object.create(null):{};return wo(t).forEach(r=>{Zn(e,r,jn(t[r]))}),e}var Zd=(t,e,r,n)=>(r.forEach(i=>{typeof e[i]>"u"&&n.ignoreUndefined||(i in t&&t[i]!==Object.getPrototypeOf(t)?Zn(t,i,mu(t[i],e[i],n)):Zn(t,i,jn(e[i])))}),t),Bv=(t,e,r)=>{let n=t.slice(0,0),i=0;return[t,e].forEach(s=>{let o=[];for(let a=0;a<s.length;a++)Xd.call(s,a)&&(o.push(String(a)),s===t?Zn(n,i++,s[a]):Zn(n,i++,jn(s[a])));n=Zd(n,s,wo(s).filter(a=>!o.includes(a)),r)}),n};function mu(t,e,r){return r.concatArrays&&Array.isArray(t)&&Array.isArray(e)?Bv(t,e,r):!xo(e)||!xo(t)?jn(e):Zd(t,e,wo(e),r)}Jd.exports=function(...t){let e=mu(jn(Qd),this!==Rv&&this||{},Qd),r={_:{}};for(let n of t)if(n!==void 0){if(!xo(n))throw new TypeError("`"+n+"` is not an Option Object");r=mu(r,{_:n},e)}return r._}});var vp=R((e4,wp)=>{wp.exports=Eu;var xp=128,Zv=127,jv=~Zv,Jv=Math.pow(2,31);function Eu(t,e,r){if(Number.MAX_SAFE_INTEGER&&t>Number.MAX_SAFE_INTEGER)throw Eu.bytes=0,new RangeError("Could not encode varint");e=e||[],r=r||0;for(var n=r;t>=Jv;)e[r++]=t&255|xp,t/=128;for(;t&jv;)e[r++]=t&255|xp,t>>>=7;return e[r]=t|0,Eu.bytes=r-n+1,e}});var _p=R((t4,bp)=>{bp.exports=bu;var eE=128,Ep=127;function bu(t,n){var r=0,n=n||0,i=0,s=n,o,a=t.length;do{if(s>=a||i>49)throw bu.bytes=0,new RangeError("Could not decode varint");o=t[s++],r+=i<28?(o&Ep)<<i:(o&Ep)*Math.pow(2,i),i+=7}while(o>=eE);return bu.bytes=s-n,r}});var Ap=R((r4,Sp)=>{var tE=Math.pow(2,7),rE=Math.pow(2,14),nE=Math.pow(2,21),iE=Math.pow(2,28),sE=Math.pow(2,35),oE=Math.pow(2,42),aE=Math.pow(2,49),cE=Math.pow(2,56),uE=Math.pow(2,63);Sp.exports=function(t){return t<tE?1:t<rE?2:t<nE?3:t<iE?4:t<sE?5:t<oE?6:t<aE?7:t<cE?8:t<uE?9:10}});var Ao=R((n4,Ip)=>{Ip.exports={encode:vp(),decode:_p(),encodingLength:Ap()}});var Wp=R((PT,Ou)=>{"use strict";var ME=Object.prototype.hasOwnProperty,Je="~";function rs(){}Object.create&&(rs.prototype=Object.create(null),new rs().__proto__||(Je=!1));function FE(t,e,r){this.fn=t,this.context=e,this.once=r||!1}function Yp(t,e,r,n,i){if(typeof r!="function")throw new TypeError("The listener must be a function");var s=new FE(r,n||t,i),o=Je?Je+e:e;return t._events[o]?t._events[o].fn?t._events[o]=[t._events[o],s]:t._events[o].push(s):(t._events[o]=s,t._eventsCount++),t}function Lo(t,e){--t._eventsCount===0?t._events=new rs:delete t._events[e]}function Ye(){this._events=new rs,this._eventsCount=0}Ye.prototype.eventNames=function(){var e=[],r,n;if(this._eventsCount===0)return e;for(n in r=this._events)ME.call(r,n)&&e.push(Je?n.slice(1):n);return Object.getOwnPropertySymbols?e.concat(Object.getOwnPropertySymbols(r)):e};Ye.prototype.listeners=function(e){var r=Je?Je+e:e,n=this._events[r];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};Ye.prototype.listenerCount=function(e){var r=Je?Je+e:e,n=this._events[r];return n?n.fn?1:n.length:0};Ye.prototype.emit=function(e,r,n,i,s,o){var a=Je?Je+e:e;if(!this._events[a])return!1;var c=this._events[a],u=arguments.length,l,f;if(c.fn){switch(c.once&&this.removeListener(e,c.fn,void 0,!0),u){case 1:return c.fn.call(c.context),!0;case 2:return c.fn.call(c.context,r),!0;case 3:return c.fn.call(c.context,r,n),!0;case 4:return c.fn.call(c.context,r,n,i),!0;case 5:return c.fn.call(c.context,r,n,i,s),!0;case 6:return c.fn.call(c.context,r,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 h=c.length,d;for(f=0;f<h;f++)switch(c[f].once&&this.removeListener(e,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,r);break;case 3:c[f].fn.call(c[f].context,r,n);break;case 4:c[f].fn.call(c[f].context,r,n,i);break;default:if(!l)for(d=1,l=new Array(u-1);d<u;d++)l[d-1]=arguments[d];c[f].fn.apply(c[f].context,l)}}return!0};Ye.prototype.on=function(e,r,n){return Yp(this,e,r,n,!1)};Ye.prototype.once=function(e,r,n){return Yp(this,e,r,n,!0)};Ye.prototype.removeListener=function(e,r,n,i){var s=Je?Je+e:e;if(!this._events[s])return this;if(!r)return Lo(this,s),this;var o=this._events[s];if(o.fn)o.fn===r&&(!i||o.once)&&(!n||o.context===n)&&Lo(this,s);else{for(var a=0,c=[],u=o.length;a<u;a++)(o[a].fn!==r||i&&!o[a].once||n&&o[a].context!==n)&&c.push(o[a]);c.length?this._events[s]=c.length===1?c[0]:c:Lo(this,s)}return this};Ye.prototype.removeAllListeners=function(e){var r;return e?(r=Je?Je+e:e,this._events[r]&&Lo(this,r)):(this._events=new rs,this._eventsCount=0),this};Ye.prototype.off=Ye.prototype.removeListener;Ye.prototype.addListener=Ye.prototype.on;Ye.prefixed=Je;Ye.EventEmitter=Ye;typeof Ou<"u"&&(Ou.exports=Ye)});var il=R((W8,mm)=>{"use strict";function pm(t,e){for(let r in e)Object.defineProperty(t,r,{value:e[r],enumerable:!0,configurable:!0});return t}function jE(t,e,r){if(!t||typeof t=="string")throw new TypeError("Please pass an Error to err-code");r||(r={}),typeof e=="object"&&(r=e,e=""),e&&(r.code=e);try{return pm(t,r)}catch{r.message=t.message,r.stack=t.stack;let i=function(){};return i.prototype=Object.create(Object.getPrototypeOf(t)),pm(new i,r)}}mm.exports=jE});var Em=R(ls=>{(function(){var t,e,r,n,i,s,o,a;a=function(c){var u,l,f,h;return u=(c&255<<24)>>>24,l=(c&255<<16)>>>16,f=(c&65280)>>>8,h=c&255,[u,l,f,h].join(".")},o=function(c){var u,l,f,h,d,p;for(u=[],f=h=0;h<=3&&c.length!==0;f=++h){if(f>0){if(c[0]!==".")throw new Error("Invalid IP");c=c.substring(1)}p=e(c),d=p[0],l=p[1],c=c.substring(l),u.push(d)}if(c.length!==0)throw new Error("Invalid IP");switch(u.length){case 1:if(u[0]>4294967295)throw new Error("Invalid IP");return u[0]>>>0;case 2:if(u[0]>255||u[1]>16777215)throw new Error("Invalid IP");return(u[0]<<24|u[1])>>>0;case 3:if(u[0]>255||u[1]>255||u[2]>65535)throw new Error("Invalid IP");return(u[0]<<24|u[1]<<16|u[2])>>>0;case 4:if(u[0]>255||u[1]>255||u[2]>255||u[3]>255)throw new Error("Invalid IP");return(u[0]<<24|u[1]<<16|u[2]<<8|u[3])>>>0;default:throw new Error("Invalid IP")}},r=function(c){return c.charCodeAt(0)},n=r("0"),s=r("a"),i=r("A"),e=function(c){var u,l,f,h,d;for(h=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")),d=f;f<c.length;){if("0"<=c[f]&&c[f]<=l)h=h*u+(r(c[f])-n)>>>0;else if(u===16)if("a"<=c[f]&&c[f]<="f")h=h*u+(10+r(c[f])-s)>>>0;else if("A"<=c[f]&&c[f]<="F")h=h*u+(10+r(c[f])-i)>>>0;else break;else break;if(h>4294967295)throw new Error("too large");f++}if(f===d)throw new Error("empty octet");return[h,f]},t=function(){function c(u,l){var f,h,d,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(h=d=32;d>=0;h=--d)if(this.maskLong===4294967295<<32-h>>>0){this.bitmask=h;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,h;for(h=o(this.first),f=o(this.last),l=0;h<=f;)u(a(h),h,l),l++,h++},c.prototype.toString=function(){return this.base+"/"+this.bitmask},c}(),ls.ip2long=o,ls.long2ip=a,ls.Netmask=t}).call(ls)});var Am=R((Sm,jo)=>{(function(t){"use strict";let e="(0?\\d+|0x[a-f0-9]+)",r={fourOctet:new RegExp(`^${e}\\.${e}\\.${e}\\.${e}$`,"i"),threeOctet:new RegExp(`^${e}\\.${e}\\.${e}$`,"i"),twoOctet:new RegExp(`^${e}\\.${e}$`,"i"),longValue:new RegExp(`^${e}$`,"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(`^(?:::)(${e}\\.${e}\\.${e}\\.${e}(${s})?)$`,"i"),transitional:new RegExp(`^((?:${o})|(?:::)(?:${o})?)${e}\\.${e}\\.${e}\\.${e}(${s})?$`,"i")};function c(d,p){if(d.indexOf("::")!==d.lastIndexOf("::"))return null;let m=0,y=-1,g=(d.match(a.zoneIndex)||[])[0],w,_;for(g&&(g=g.substring(1),d=d.replace(/%.+$/,""));(y=d.indexOf(":",y+1))>=0;)m++;if(d.substr(0,2)==="::"&&m--,d.substr(-2,2)==="::"&&m--,m>p)return null;for(_=p-m,w=":";_--;)w+="0:";return d=d.replace("::",w),d[0]===":"&&(d=d.slice(1)),d[d.length-1]===":"&&(d=d.slice(0,-1)),p=function(){let N=d.split(":"),C=[];for(let T=0;T<N.length;T++)C.push(parseInt(N[T],16));return C}(),{parts:p,zoneId:g}}function u(d,p,m,y){if(d.length!==p.length)throw new Error("ipaddr: cannot match CIDR for objects with different lengths");let g=0,w;for(;y>0;){if(w=m-y,w<0&&(w=0),d[g]>>w!==p[g]>>w)return!1;y-=m,g+=1}return!0}function l(d){if(i.test(d))return parseInt(d,16);if(d[0]==="0"&&!isNaN(parseInt(d[1],10))){if(n.test(d))return parseInt(d,8);throw new Error(`ipaddr: cannot parse ${d} as octal`)}return parseInt(d,10)}function f(d,p){for(;d.length<p;)d=`0${d}`;return d}let h={};h.IPv4=function(){function d(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 d.prototype.SpecialRanges={unspecified:[[new d([0,0,0,0]),8]],broadcast:[[new d([255,255,255,255]),32]],multicast:[[new d([224,0,0,0]),4]],linkLocal:[[new d([169,254,0,0]),16]],loopback:[[new d([127,0,0,0]),8]],carrierGradeNat:[[new d([100,64,0,0]),10]],private:[[new d([10,0,0,0]),8],[new d([172,16,0,0]),12],[new d([192,168,0,0]),16]],reserved:[[new d([192,0,0,0]),24],[new d([192,0,2,0]),24],[new d([192,88,99,0]),24],[new d([198,18,0,0]),15],[new d([198,51,100,0]),24],[new d([203,0,113,0]),24],[new d([240,0,0,0]),4]]},d.prototype.kind=function(){return"ipv4"},d.prototype.match=function(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)},d.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,w,_;for(g=3;g>=0;g-=1)if(w=this.octets[g],w in y){if(_=y[w],m&&_!==0)return null;_!==8&&(m=!0),p+=_}else return null;return 32-p},d.prototype.range=function(){return h.subnetMatch(this,this.SpecialRanges)},d.prototype.toByteArray=function(){return this.octets.slice(0)},d.prototype.toIPv4MappedAddress=function(){return h.IPv6.parse(`::ffff:${this.toString()}`)},d.prototype.toNormalizedString=function(){return this.toString()},d.prototype.toString=function(){return this.octets.join(".")},d}(),h.IPv4.broadcastAddressFromCIDR=function(d){try{let p=this.parseCIDR(d),m=p[0].toByteArray(),y=this.subnetMaskFromPrefixLength(p[1]).toByteArray(),g=[],w=0;for(;w<4;)g.push(parseInt(m[w],10)|parseInt(y[w],10)^255),w++;return new this(g)}catch{throw new Error("ipaddr: the address does not have IPv4 CIDR format")}},h.IPv4.isIPv4=function(d){return this.parser(d)!==null},h.IPv4.isValid=function(d){try{return new this(this.parser(d)),!0}catch{return!1}},h.IPv4.isValidFourPartDecimal=function(d){return!!(h.IPv4.isValid(d)&&d.match(/^(0|[1-9]\d*)(\.(0|[1-9]\d*)){3}$/))},h.IPv4.networkAddressFromCIDR=function(d){let p,m,y,g,w;try{for(p=this.parseCIDR(d),y=p[0].toByteArray(),w=this.subnetMaskFromPrefixLength(p[1]).toByteArray(),g=[],m=0;m<4;)g.push(parseInt(y[m],10)&parseInt(w[m],10)),m++;return new this(g)}catch{throw new Error("ipaddr: the address does not have IPv4 CIDR format")}},h.IPv4.parse=function(d){let p=this.parser(d);if(p===null)throw new Error("ipaddr: string is not formatted like an IPv4 Address");return new this(p)},h.IPv4.parseCIDR=function(d){let p;if(p=d.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")},h.IPv4.parser=function(d){let p,m,y;if(p=d.match(r.fourOctet))return function(){let g=p.slice(1,6),w=[];for(let _=0;_<g.length;_++)m=g[_],w.push(l(m));return w}();if(p=d.match(r.longValue)){if(y=l(p[1]),y>4294967295||y<0)throw new Error("ipaddr: address outside defined range");return function(){let g=[],w;for(w=0;w<=24;w+=8)g.push(y>>w&255);return g}().reverse()}else return(p=d.match(r.twoOctet))?function(){let g=p.slice(1,4),w=[];if(y=l(g[1]),y>16777215||y<0)throw new Error("ipaddr: address outside defined range");return w.push(l(g[0])),w.push(y>>16&255),w.push(y>>8&255),w.push(y&255),w}():(p=d.match(r.threeOctet))?function(){let g=p.slice(1,5),w=[];if(y=l(g[2]),y>65535||y<0)throw new Error("ipaddr: address outside defined range");return w.push(l(g[0])),w.push(l(g[1])),w.push(y>>8&255),w.push(y&255),w}():null},h.IPv4.subnetMaskFromPrefixLength=function(d){if(d=parseInt(d),d<0||d>32)throw new Error("ipaddr: invalid IPv4 prefix length");let p=[0,0,0,0],m=0,y=Math.floor(d/8);for(;m<y;)p[m]=255,m++;return y<4&&(p[y]=Math.pow(2,d%8)-1<<8-d%8),new this(p)},h.IPv6=function(){function d(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 d.prototype.SpecialRanges={unspecified:[new d([0,0,0,0,0,0,0,0]),128],linkLocal:[new d([65152,0,0,0,0,0,0,0]),10],multicast:[new d([65280,0,0,0,0,0,0,0]),8],loopback:[new d([0,0,0,0,0,0,0,1]),128],uniqueLocal:[new d([64512,0,0,0,0,0,0,0]),7],ipv4Mapped:[new d([0,0,0,0,0,65535,0,0]),96],rfc6145:[new d([0,0,0,0,65535,0,0,0]),96],rfc6052:[new d([100,65435,0,0,0,0,0,0]),96],"6to4":[new d([8194,0,0,0,0,0,0,0]),16],teredo:[new d([8193,0,0,0,0,0,0,0]),32],reserved:[[new d([8193,3512,0,0,0,0,0,0]),32]],benchmarking:[new d([8193,2,0,0,0,0,0,0]),48],amt:[new d([8193,3,0,0,0,0,0,0]),32],as112v6:[new d([8193,4,274,0,0,0,0,0]),48],deprecated:[new d([8193,16,0,0,0,0,0,0]),28],orchid2:[new d([8193,32,0,0,0,0,0,0]),28]},d.prototype.isIPv4MappedAddress=function(){return this.range()==="ipv4Mapped"},d.prototype.kind=function(){return"ipv6"},d.prototype.match=function(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)},d.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,w;for(let _=7;_>=0;_-=1)if(g=this.parts[_],g in y){if(w=y[g],m&&w!==0)return null;w!==16&&(m=!0),p+=w}else return null;return 128-p},d.prototype.range=function(){return h.subnetMatch(this,this.SpecialRanges)},d.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},d.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},d.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 h.IPv4([m>>8,m&255,y>>8,y&255])},d.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},d.prototype.toRFC5952String=function(){let p=/((^|:)(0(:|$)){2,})/g,m=this.toNormalizedString(),y=0,g=-1,w;for(;w=p.exec(m);)w[0].length>g&&(y=w.index,g=w[0].length);return g<0?m:`${m.substring(0,y)}::${m.substring(y+g)}`},d.prototype.toString=function(){return this.toRFC5952String()},d}(),h.IPv6.broadcastAddressFromCIDR=function(d){try{let p=this.parseCIDR(d),m=p[0].toByteArray(),y=this.subnetMaskFromPrefixLength(p[1]).toByteArray(),g=[],w=0;for(;w<16;)g.push(parseInt(m[w],10)|parseInt(y[w],10)^255),w++;return new this(g)}catch(p){throw new Error(`ipaddr: the address does not have IPv6 CIDR format (${p})`)}},h.IPv6.isIPv6=function(d){return this.parser(d)!==null},h.IPv6.isValid=function(d){if(typeof d=="string"&&d.indexOf(":")===-1)return!1;try{let p=this.parser(d);return new this(p.parts,p.zoneId),!0}catch{return!1}},h.IPv6.networkAddressFromCIDR=function(d){let p,m,y,g,w;try{for(p=this.parseCIDR(d),y=p[0].toByteArray(),w=this.subnetMaskFromPrefixLength(p[1]).toByteArray(),g=[],m=0;m<16;)g.push(parseInt(y[m],10)&parseInt(w[m],10)),m++;return new this(g)}catch(_){throw new Error(`ipaddr: the address does not have IPv6 CIDR format (${_})`)}},h.IPv6.parse=function(d){let p=this.parser(d);if(p.parts===null)throw new Error("ipaddr: string is not formatted like an IPv6 Address");return new this(p.parts,p.zoneId)},h.IPv6.parseCIDR=function(d){let p,m,y;if((m=d.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")},h.IPv6.parser=function(d){let p,m,y,g,w,_;if(y=d.match(a.deprecatedTransitional))return this.parser(`::ffff:${y[1]}`);if(a.native.test(d))return c(d,8);if((y=d.match(a.transitional))&&(_=y[6]||"",p=c(y[1].slice(0,-1)+_,6),p.parts)){for(w=[parseInt(y[2]),parseInt(y[3]),parseInt(y[4]),parseInt(y[5])],m=0;m<w.length;m++)if(g=w[m],!(0<=g&&g<=255))return null;return p.parts.push(w[0]<<8|w[1]),p.parts.push(w[2]<<8|w[3]),{parts:p.parts,zoneId:p.zoneId}}return null},h.IPv6.subnetMaskFromPrefixLength=function(d){if(d=parseInt(d),d<0||d>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(d/8);for(;m<y;)p[m]=255,m++;return y<16&&(p[y]=Math.pow(2,d%8)-1<<8-d%8),new this(p)},h.fromByteArray=function(d){let p=d.length;if(p===4)return new h.IPv4(d);if(p===16)return new h.IPv6(d);throw new Error("ipaddr: the binary input is neither an IPv6 nor IPv4 address")},h.isValid=function(d){return h.IPv6.isValid(d)||h.IPv4.isValid(d)},h.parse=function(d){if(h.IPv6.isValid(d))return h.IPv6.parse(d);if(h.IPv4.isValid(d))return h.IPv4.parse(d);throw new Error("ipaddr: the address has neither IPv6 nor IPv4 format")},h.parseCIDR=function(d){try{return h.IPv6.parseCIDR(d)}catch{try{return h.IPv4.parseCIDR(d)}catch{throw new Error("ipaddr: the address has neither IPv6 nor IPv4 CIDR format")}}},h.process=function(d){let p=this.parse(d);return p.kind()==="ipv6"&&p.isIPv4MappedAddress()?p.toIPv4Address():p},h.subnetMatch=function(d,p,m){let y,g,w,_;m==null&&(m="unicast");for(g in p)if(Object.prototype.hasOwnProperty.call(p,g)){for(w=p[g],w[0]&&!(w[0]instanceof Array)&&(w=[w]),y=0;y<w.length;y++)if(_=w[y],d.kind()===_[0].kind()&&d.match.apply(d,_))return g}return m},typeof jo<"u"&&jo.exports?jo.exports=h:t.ipaddr=h})(Sm)});var Dm=R((_3,Pm)=>{"use strict";Pm.exports=Lm;var hb=du(),Kr=Lm.prototype,db=new Date%1e9;function pb(){return(Math.random()*1e9>>>0)+db++}function Lm(t){t=t||{},this.id=t.id||pb(),this.max=t.max||1/0,this.items=t.items||[],this._lookup={},this.size=this.items.length,this.lastModified=new Date(t.lastModified||new Date);for(var e,r,n=this.items.length;n--;)e=this.items[n],r=new Date(e.expires)-new Date,this._lookup[e.key]=e,r>0?this.expire(e.key,r):r<=0&&this.delete(e.key)}Kr.has=function(t){return t in this._lookup};Kr.get=function(t){if(!this.has(t))return null;var e=this._lookup[t];return e.refresh&&this.expire(t,e.refresh),this.items.splice(this.items.indexOf(e),1),this.items.push(e),e.value};Kr.meta=function(t){if(!this.has(t))return null;var e=this._lookup[t];return"meta"in e?e.meta:null};Kr.set=function(t,e,r){var n=this._lookup[t],i=this._lookup[t]={key:t,value:e};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++),r&&("ttl"in r&&this.expire(t,r.ttl),"meta"in r&&(i.meta=r.meta),r.refresh&&(i.refresh=r.ttl)),this};Kr.delete=function(t){var e=this._lookup[t];return e?(this.lastModified=new Date,this.items.splice(this.items.indexOf(e),1),clearTimeout(e.timeout),delete this._lookup[t],this.size--,this):!1};Kr.expire=function(t,e){var r=e||0,n=this._lookup[t];if(!n)return this;if(typeof r=="string"&&(r=hb(e)),typeof r!="number")throw new TypeError("Expiration time must be a string or number.");return clearTimeout(n.timeout),n.timeout=setTimeout(this.delete.bind(this,n.key),r),n.expires=Number(new Date)+r,this};Kr.clear=function(){for(var t=this.items.length;t--;)this.delete(this.items[t].key);return this};Kr.toJSON=function(){for(var t=new Array(this.items.length),e,r=t.length;r--;)e=this.items[r],t[r]={key:e.key,meta:e.meta,value:e.value,expires:e.expires,refresh:e.refresh};return{id:this.id,max:isFinite(this.max)?this.max:void 0,lastModified:this.lastModified,items:t}}});var fs=R((z3,Vm)=>{Vm.exports=class{constructor(e={}){this.points=e.points,this.duration=e.duration,this.blockDuration=e.blockDuration,this.execEvenly=e.execEvenly,this.execEvenlyMinDelayMs=e.execEvenlyMinDelayMs,this.keyPrefix=e.keyPrefix}get points(){return this._points}set points(e){this._points=e>=0?e:4}get duration(){return this._duration}set duration(e){this._duration=typeof e>"u"?1:e}get msDuration(){return this.duration*1e3}get blockDuration(){return this._blockDuration}set blockDuration(e){this._blockDuration=typeof e>"u"?0:e}get msBlockDuration(){return this.blockDuration*1e3}get execEvenly(){return this._execEvenly}set execEvenly(e){this._execEvenly=typeof e>"u"?!1:!!e}get execEvenlyMinDelayMs(){return this._execEvenlyMinDelayMs}set execEvenlyMinDelayMs(e){this._execEvenlyMinDelayMs=typeof e>"u"?Math.ceil(this.msDuration/this.points):e}get keyPrefix(){return this._keyPrefix}set keyPrefix(e){if(typeof e>"u"&&(e="rlflx"),typeof e!="string")throw new Error("keyPrefix must be string");this._keyPrefix=e}_getKeySecDuration(e={}){return e&&e.customDuration>=0?e.customDuration:this.duration}getKey(e){return this.keyPrefix.length>0?`${this.keyPrefix}:${e}`:e}parseKey(e){return e.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 $m=R((G3,qm)=>{qm.exports=class{constructor(){this._keys={},this._addedKeysAmount=0}collectExpired(){let e=Date.now();Object.keys(this._keys).forEach(r=>{this._keys[r]<=e&&delete this._keys[r]}),this._addedKeysAmount=Object.keys(this._keys).length}add(e,r){this.addMs(e,r*1e3)}addMs(e,r){this._keys[e]=Date.now()+r,this._addedKeysAmount++,this._addedKeysAmount>999&&this.collectExpired()}msBeforeExpire(e){let r=this._keys[e];if(r&&r>=Date.now()){this.collectExpired();let n=Date.now();return r>=n?r-n:0}return 0}delete(e){e?delete this._keys[e]:Object.keys(this._keys).forEach(r=>{delete this._keys[r]})}}});var Hm=R((Y3,zm)=>{var xb=$m();zm.exports=xb});var mt=R((Q3,Gm)=>{Gm.exports=class{constructor(e,r,n,i){this.remainingPoints=typeof e>"u"?0:e,this.msBeforeNext=typeof r>"u"?0:r,this.consumedPoints=typeof n>"u"?0:n,this.isFirstInDuration=typeof i>"u"?!1:i}get msBeforeNext(){return this._msBeforeNext}set msBeforeNext(e){return this._msBeforeNext=e,this}get remainingPoints(){return this._remainingPoints}set remainingPoints(e){return this._remainingPoints=e,this}get consumedPoints(){return this._consumedPoints}set consumedPoints(e){return this._consumedPoints=e,this}get isFirstInDuration(){return this._isFirstInDuration}set isFirstInDuration(e){this._isFirstInDuration=!!e}_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 fi=R((Z3,Wm)=>{var dl=fs(),wb=Hm(),Ym=mt();Wm.exports=class extends dl{constructor(e={}){super(e),this.inMemoryBlockOnConsumed=e.inMemoryBlockOnConsumed||e.inmemoryBlockOnConsumed,this.inMemoryBlockDuration=e.inMemoryBlockDuration||e.inmemoryBlockDuration,this.insuranceLimiter=e.insuranceLimiter,this._inMemoryBlockedKeys=new wb}get client(){return this._client}set client(e){if(typeof e>"u")throw new Error("storeClient is not set");this._client=e}_afterConsume(e,r,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?r(a):e(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(()=>{r(a)}).catch(u=>{r(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(e,c,a)}else e(a)}_handleError(e,r,n,i,s,o=!1,a={}){this.insuranceLimiter instanceof dl?this.insuranceLimiter[r](s,o,a).then(c=>{n(c)}).catch(c=>{i(c)}):i(e)}get _inmemoryBlockedKeys(){return this._inMemoryBlockedKeys}getInmemoryBlockMsBeforeExpire(e){return this.getInMemoryBlockMsBeforeExpire(e)}get inmemoryBlockOnConsumed(){return this.inMemoryBlockOnConsumed}set inmemoryBlockOnConsumed(e){this.inMemoryBlockOnConsumed=e}get inmemoryBlockDuration(){return this.inMemoryBlockDuration}set inmemoryBlockDuration(e){this.inMemoryBlockDuration=e}get msInmemoryBlockDuration(){return this.inMemoryBlockDuration*1e3}getInMemoryBlockMsBeforeExpire(e){return this.inMemoryBlockOnConsumed>0?this._inMemoryBlockedKeys.msBeforeExpire(e):0}get inMemoryBlockOnConsumed(){return this._inMemoryBlockOnConsumed}set inMemoryBlockOnConsumed(e){if(this._inMemoryBlockOnConsumed=e?parseInt(e):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(e){if(this._inMemoryBlockDuration=e?parseInt(e):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(e){if(typeof e<"u"&&!(e instanceof dl))throw new Error("insuranceLimiter must be instance of RateLimiterAbstract");this._insuranceLimiter=e,this._insuranceLimiter&&(this._insuranceLimiter.blockDuration=this.blockDuration,this._insuranceLimiter.execEvenly=this.execEvenly)}block(e,r,n={}){let i=r*1e3;return this._block(this.getKey(e),this.points+1,i,n)}set(e,r,n,i={}){let s=(n>=0?n:this.duration)*1e3;return this._block(this.getKey(e),r,s,i)}consume(e,r=1,n={}){return new Promise((i,s)=>{let o=this.getKey(e),a=this.getInMemoryBlockMsBeforeExpire(o);if(a>0)return s(new Ym(0,a));this._upsert(o,r,this._getKeySecDuration(n)*1e3,!1,n).then(c=>{this._afterConsume(i,s,o,r,c)}).catch(c=>{this._handleError(c,"consume",i,s,e,r,n)})})}penalty(e,r=1,n={}){let i=this.getKey(e);return new Promise((s,o)=>{this._upsert(i,r,this._getKeySecDuration(n)*1e3,!1,n).then(a=>{s(this._getRateLimiterRes(i,r,a))}).catch(a=>{this._handleError(a,"penalty",s,o,e,r,n)})})}reward(e,r=1,n={}){let i=this.getKey(e);return new Promise((s,o)=>{this._upsert(i,-r,this._getKeySecDuration(n)*1e3,!1,n).then(a=>{s(this._getRateLimiterRes(i,-r,a))}).catch(a=>{this._handleError(a,"reward",s,o,e,r,n)})})}get(e,r={}){let n=this.getKey(e);return new Promise((i,s)=>{this._get(n,r).then(o=>{i(o===null||typeof o>"u"?null:this._getRateLimiterRes(n,0,o))}).catch(o=>{this._handleError(o,"get",i,s,e,r)})})}delete(e,r={}){let n=this.getKey(e);return new Promise((i,s)=>{this._delete(n,r).then(o=>{this._inMemoryBlockedKeys.delete(n),i(o)}).catch(o=>{this._handleError(o,"delete",i,s,e,r)})})}deleteInMemoryBlockedAll(){this._inMemoryBlockedKeys.delete()}_getRateLimiterRes(e,r,n){throw new Error("You have to implement the method '_getRateLimiterRes'!")}_block(e,r,n,i={}){return new Promise((s,o)=>{this._upsert(e,r,n,!0,i).then(()=>{s(new Ym(0,n>0?n:-1,r))}).catch(a=>{this._handleError(a,"block",s,o,this.parseKey(e),n/1e3,i)})})}_get(e,r={}){throw new Error("You have to implement the method '_get'!")}_delete(e,r={}){throw new Error("You have to implement the method '_delete'!")}_upsert(e,r,n,i=!1,s={}){throw new Error("You have to implement the method '_upsert'!")}}});var Zm=R((j3,Xm)=>{var vb=fi(),Eb=mt(),Qm="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} ",pl=class extends vb{constructor(e){super(e),e.redis?this.client=e.redis:this.client=e.storeClient,this._rejectIfRedisNotReady=!!e.rejectIfRedisNotReady,typeof this.client.defineCommand=="function"&&this.client.defineCommand("rlflxIncr",{numberOfKeys:1,lua:Qm})}_isRedisReady(){return this._rejectIfRedisNotReady?!(this.client.status&&this.client.status!=="ready"||typeof this.client.isReady=="function"&&!this.client.isReady()):!0}_getRateLimiterRes(e,r,n){let[i,s]=n;Array.isArray(i)&&([,i]=i,[,s]=s);let o=new Eb;return o.consumedPoints=parseInt(i),o.isFirstInDuration=o.consumedPoints===r,o.remainingPoints=Math.max(this.points-o.consumedPoints,0),o.msBeforeNext=s,o}_upsert(e,r,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(e,r,"EX",a):c.set(e,r),c.pttl(e).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(e,r,a,u):this.client.eval(Qm,1,e,r,a,u)}else c.incrby(e,r).pttl(e).exec((u,l)=>u?o(u):s(l))})}_get(e){return new Promise((r,n)=>{if(!this._isRedisReady())return n(new Error("Redis connection is not ready"));this.client.multi().get(e).pttl(e).exec((i,s)=>{if(i)n(i);else{let[o]=s;if(o===null)return r(null);r(s)}})})}_delete(e){return new Promise((r,n)=>{this.client.del(e,(i,s)=>{i?n(i):r(s>0)})})}};Xm.exports=pl});var ey=R((J3,Jm)=>{var bb=fi(),_b=mt();function jm(t){try{let e=t.client?t.client:t,{version:r}=e.topology.s.options.metadata.driver,n=r.split(".").map(i=>parseInt(i));return{major:n[0],feature:n[1],patch:n[2]}}catch{return{major:0,feature:0,patch:0}}}var hs=class extends bb{constructor(e){super(e),this.dbName=e.dbName,this.tableName=e.tableName,this.indexKeyPrefix=e.indexKeyPrefix,e.mongo?this.client=e.mongo:this.client=e.storeClient,typeof this.client.then=="function"?this.client.then(r=>{this.client=r,this._initCollection(),this._driverVersion=jm(this.client)}):(this._initCollection(),this._driverVersion=jm(this.client))}get dbName(){return this._dbName}set dbName(e){this._dbName=typeof e>"u"?hs.getDbName():e}static getDbName(){return"node-rate-limiter-flexible"}get tableName(){return this._tableName}set tableName(e){this._tableName=typeof e>"u"?this.keyPrefix:e}get client(){return this._client}set client(e){if(typeof e>"u")throw new Error("mongo is not set");this._client=e}get indexKeyPrefix(){return this._indexKeyPrefix}set indexKeyPrefix(e){this._indexKeyPrefix=e||{}}_initCollection(){let r=(typeof this.client.db=="function"?this.client.db(this.dbName):this.client).collection(this.tableName);r.createIndex({expire:-1},{expireAfterSeconds:0}),r.createIndex(Object.assign({},this.indexKeyPrefix,{key:1}),{unique:!0}),this._collection=r}_getRateLimiterRes(e,r,n){let i=new _b,s;return typeof n.value>"u"?s=n:s=n.value,i.isFirstInDuration=s.points===r,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(e,r,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:e},a=Object.assign(a,o),c={$set:{key:e,points:r,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:e},a=Object.assign(a,o),c={$setOnInsert:{key:e,expire:n>0?new Date(Date.now()+n):null},$inc:{points:r}},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(h=>{l(h)}).catch(h=>{if(h&&h.code===11e3){let d=Object.assign({$or:[{expire:{$lte:new Date}},{expire:{$eq:null}}],key:e},o),p={$set:Object.assign({key:e,points:r,expire:n>0?new Date(Date.now()+n):null},o)};this._collection.findOneAndUpdate(d,p,u).then(m=>{l(m)}).catch(m=>{m&&m.code===11e3?this._upsert(e,r,n,i).then(y=>l(y)).catch(y=>f(y)):f(m)})}else f(h)})})}_get(e,r={}){if(!this._collection)return Promise.reject(Error("Mongo connection is not established"));let n=r.attrs||{},i=Object.assign({key:e,$or:[{expire:{$gt:new Date}},{expire:{$eq:null}}]},n);return this._collection.findOne(i)}_delete(e,r={}){if(!this._collection)return Promise.reject(Error("Mongo connection is not established"));let n=r.attrs||{},i=Object.assign({key:e},n);return this._collection.deleteOne(i).then(s=>s.deletedCount>0)}};Jm.exports=hs});var ry=R((eB,ty)=>{var Sb=fi(),Ab=mt(),ml=class extends Sb{constructor(e,r=null){super(e),this.client=e.storeClient,this.clientType=e.storeType,this.dbName=e.dbName,this.tableName=e.tableName,this.clearExpiredByTimeout=e.clearExpiredByTimeout,this.tableCreated=e.tableCreated,this.tableCreated?(this.clearExpiredByTimeout&&this._clearExpiredHourAgo(),typeof r=="function"&&r()):this._createDbAndTable().then(()=>{this.tableCreated=!0,this.clearExpiredByTimeout&&this._clearExpiredHourAgo(),typeof r=="function"&&r()}).catch(n=>{if(typeof r=="function")r(n);else throw n})}clearExpired(e){return new Promise(r=>{this._getConnection().then(n=>{n.query("DELETE FROM ??.?? WHERE expire < ?",[this.dbName,this.tableName,e],()=>{this._releaseConnection(n),r()})}).catch(()=>{r()})})}_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((e,r)=>{this.client.getConnection((n,i)=>{if(n)return r(n);e(i)})});case"sequelize":return this.client.connectionManager.getConnection();case"knex":return this.client.client.acquireConnection();default:return Promise.resolve(this.client)}}_releaseConnection(e){switch(this.clientType){case"pool":return e.release();case"sequelize":return this.client.connectionManager.releaseConnection(e);case"knex":return this.client.client.releaseConnection(e);default:return!0}}_createDbAndTable(){return new Promise((e,r)=>{this._getConnection().then(n=>{n.query(`CREATE DATABASE IF NOT EXISTS \`${this.dbName}\`;`,i=>{if(i)return this._releaseConnection(n),r(i);n.query(this._getCreateTableStmt(),s=>{if(s)return this._releaseConnection(n),r(s);this._releaseConnection(n),e()})})}).catch(n=>{r(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(e){if(typeof e>"u")if(this.client.constructor.name==="Connection")e="connection";else if(this.client.constructor.name==="Pool")e="pool";else if(this.client.constructor.name==="Sequelize")e="sequelize";else throw new Error("storeType is not defined");this._clientType=e.toLowerCase()}get dbName(){return this._dbName}set dbName(e){this._dbName=typeof e>"u"?"rtlmtrflx":e}get tableName(){return this._tableName}set tableName(e){this._tableName=typeof e>"u"?this.keyPrefix:e}get tableCreated(){return this._tableCreated}set tableCreated(e){this._tableCreated=typeof e>"u"?!1:!!e}get clearExpiredByTimeout(){return this._clearExpiredByTimeout}set clearExpiredByTimeout(e){this._clearExpiredByTimeout=typeof e>"u"?!0:!!e}_getRateLimiterRes(e,r,n){let i=new Ab,[s]=n;return i.isFirstInDuration=r===s.points,i.consumedPoints=i.isFirstInDuration?r: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(e,r,n,i,s){return new Promise((o,a)=>{e.query("BEGIN",c=>{if(c)return e.rollback(),a(c);let u=Date.now(),l=i>0?u+i:null,f,h;s?(f=`INSERT INTO ??.?? VALUES (?, ?, ?)
12
+ `,r};r0.decode=function(t){for(var e=[],r=/\s*-----BEGIN ([A-Z0-9- ]+)-----\r?\n?([\x21-\x7e\s]+?(?:\r?\n\r?\n))?([:A-Za-z0-9+\/=\s]+?)-----END \1-----/g,n=/([\x21-\x7e]+):\s*([\x21-\x7e\s^:]+)/,i=/\r?\n/,o;o=r.exec(t),!!o;){var s=o[1];s==="NEW CERTIFICATE REQUEST"&&(s="CERTIFICATE REQUEST");var a={type:s,procType:null,contentDomain:null,dekInfo:null,headers:[],body:ys.util.decode64(o[3])};if(e.push(a),!!o[2]){for(var c=o[2].split(i),u=0;o&&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(o=l.match(n),o){for(var p={name:o[1],values:[]},h=o[2].split(","),m=0;m<h.length;++m)p.values.push(Kx(h[m]));if(a.procType)if(!a.contentDomain&&p.name==="Content-Domain")a.contentDomain=h[0]||"";else if(!a.dekInfo&&p.name==="DEK-Info"){if(p.values.length===0)throw new Error('Invalid PEM formatted message. The "DEK-Info" header must have at least one subfield.');a.dekInfo={algorithm:h[0],parameters:h[1]||null}}else a.headers.push(p);else{if(p.name!=="Proc-Type")throw new Error('Invalid PEM formatted message. The first encapsulated header must be "Proc-Type".');if(p.values.length!==2)throw new Error('Invalid PEM formatted message. The "Proc-Type" header must have two subfields.');a.procType={version:h[0],type:h[1]}}}++u}if(a.procType==="ENCRYPTED"&&!a.dekInfo)throw new Error('Invalid PEM formatted message. The "DEK-Info" header must be present if "Proc-Type" is "ENCRYPTED".')}}if(e.length===0)throw new Error("Invalid PEM formatted message.");return e};function ms(t){for(var e=t.name+": ",r=[],n=function(c,u){return" "+u},i=0;i<t.values.length;++i)r.push(t.values[i].replace(/^(\S+\r\n)/,n));e+=r.join(",")+`\r
13
+ `;for(var o=0,s=-1,i=0;i<e.length;++i,++o)if(o>65&&s!==-1){var a=e[s];a===","?(++s,e=e.substr(0,s)+`\r
14
+ `+e.substr(s)):e=e.substr(0,s)+`\r
15
+ `+a+e.substr(s+1),o=i-s-1,s=-1,++i}else(e[i]===" "||e[i]===" "||e[i]===",")&&(s=i);return e}function Kx(t){return t.replace(/^\s+/,"")}});var l0=B((p4,u0)=>{var qt=ae();tn();Le();var s0=u0.exports=qt.sha256=qt.sha256||{};qt.md.sha256=qt.md.algorithms.sha256=s0;s0.create=function(){a0||Vx();var t=null,e=qt.util.createBuffer(),r=new Array(64),n={algorithm:"sha256",blockLength:64,digestLength:32,messageLength:0,fullMessageLength:null,messageLengthSize:8};return n.start=function(){n.messageLength=0,n.fullMessageLength=n.messageLength64=[];for(var i=n.messageLengthSize/4,o=0;o<i;++o)n.fullMessageLength.push(0);return e=qt.util.createBuffer(),t={h0:1779033703,h1:3144134277,h2:1013904242,h3:2773480762,h4:1359893119,h5:2600822924,h6:528734635,h7:1541459225},n},n.start(),n.update=function(i,o){o==="utf8"&&(i=qt.util.encodeUtf8(i));var s=i.length;n.messageLength+=s,s=[s/4294967296>>>0,s>>>0];for(var a=n.fullMessageLength.length-1;a>=0;--a)n.fullMessageLength[a]+=s[1],s[1]=s[0]+(n.fullMessageLength[a]/4294967296>>>0),n.fullMessageLength[a]=n.fullMessageLength[a]>>>0,s[0]=s[1]/4294967296>>>0;return e.putBytes(i),o0(t,r,e),(e.read>2048||e.length()===0)&&e.compact(),n},n.digest=function(){var i=qt.util.createBuffer();i.putBytes(e.bytes());var o=n.fullMessageLength[n.fullMessageLength.length-1]+n.messageLengthSize,s=o&n.blockLength-1;i.putBytes(Sc.substr(0,n.blockLength-s));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:t.h0,h1:t.h1,h2:t.h2,h3:t.h3,h4:t.h4,h5:t.h5,h6:t.h6,h7:t.h7};o0(f,r,i);var d=qt.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 Sc=null,a0=!1,c0=null;function Vx(){Sc=String.fromCharCode(128),Sc+=qt.util.fillString(String.fromCharCode(0),64),c0=[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],a0=!0}function o0(t,e,r){for(var n,i,o,s,a,c,u,l,f,d,p,h,m,y,g,x=r.length();x>=64;){for(u=0;u<16;++u)e[u]=r.getInt32();for(;u<64;++u)n=e[u-2],n=(n>>>17|n<<15)^(n>>>19|n<<13)^n>>>10,i=e[u-15],i=(i>>>7|i<<25)^(i>>>18|i<<14)^i>>>3,e[u]=n+e[u-7]+i+e[u-16]|0;for(l=t.h0,f=t.h1,d=t.h2,p=t.h3,h=t.h4,m=t.h5,y=t.h6,g=t.h7,u=0;u<64;++u)s=(h>>>6|h<<26)^(h>>>11|h<<21)^(h>>>25|h<<7),a=y^h&(m^y),o=(l>>>2|l<<30)^(l>>>13|l<<19)^(l>>>22|l<<10),c=l&f|d&(l^f),n=g+s+a+c0[u]+e[u],i=o+c,g=y,y=m,m=h,h=p+n>>>0,p=d,d=f,f=l,l=n+i>>>0;t.h0=t.h0+l|0,t.h1=t.h1+f|0,t.h2=t.h2+d|0,t.h3=t.h3+p|0,t.h4=t.h4+h|0,t.h5=t.h5+m|0,t.h6=t.h6+y|0,t.h7=t.h7+g|0,x-=64}}});var h0=B((m4,f0)=>{var zt=ae();Le();var gs=null;zt.util.isNodejs&&!zt.options.usePureJavaScript&&!process.versions["node-webkit"]&&(gs=rn());var qx=f0.exports=zt.prng=zt.prng||{};qx.create=function(t){for(var e={plugin:t,key:null,seed:null,time:null,reseeds:0,generated:0,keyBytes:""},r=t.md,n=new Array(32),i=0;i<32;++i)n[i]=r.create();e.pools=n,e.pool=0,e.generate=function(u,l){if(!l)return e.generateSync(u);var f=e.plugin.cipher,d=e.plugin.increment,p=e.plugin.formatKey,h=e.plugin.formatSeed,m=zt.util.createBuffer();e.key=null,y();function y(g){if(g)return l(g);if(m.length()>=u)return l(null,m.getBytes(u));if(e.generated>1048575&&(e.key=null),e.key===null)return zt.util.nextTick(function(){o(y)});var x=f(e.key,e.seed);e.generated+=x.length,m.putBytes(x),e.key=p(f(e.key,d(e.seed))),e.seed=h(f(e.key,e.seed)),zt.util.setImmediate(y)}},e.generateSync=function(u){var l=e.plugin.cipher,f=e.plugin.increment,d=e.plugin.formatKey,p=e.plugin.formatSeed;e.key=null;for(var h=zt.util.createBuffer();h.length()<u;){e.generated>1048575&&(e.key=null),e.key===null&&s();var m=l(e.key,e.seed);e.generated+=m.length,h.putBytes(m),e.key=d(l(e.key,f(e.seed))),e.seed=p(l(e.key,e.seed))}return h.getBytes(u)};function o(u){if(e.pools[0].messageLength>=32)return a(),u();var l=32-e.pools[0].messageLength<<5;e.seedFile(l,function(f,d){if(f)return u(f);e.collect(d),a(),u()})}function s(){if(e.pools[0].messageLength>=32)return a();var u=32-e.pools[0].messageLength<<5;e.collect(e.seedFileSync(u)),a()}function a(){e.reseeds=e.reseeds===4294967295?0:e.reseeds+1;var u=e.plugin.md.create();u.update(e.keyBytes);for(var l=1,f=0;f<32;++f)e.reseeds%l===0&&(u.update(e.pools[f].digest().getBytes()),e.pools[f].start()),l=l<<1;e.keyBytes=u.digest().getBytes(),u.start(),u.update(e.keyBytes);var d=u.digest().getBytes();e.key=e.plugin.formatKey(e.keyBytes),e.seed=e.plugin.formatSeed(d),e.generated=0}function c(u){var l=null,f=zt.util.globalScope,d=f.crypto||f.msCrypto;d&&d.getRandomValues&&(l=function(I){return d.getRandomValues(I)});var p=zt.util.createBuffer();if(l)for(;p.length()<u;){var h=Math.max(1,Math.min(u-p.length(),65536)/4),m=new Uint32Array(Math.floor(h));try{l(m);for(var y=0;y<m.length;++y)p.putInt32(m[y])}catch(I){if(!(typeof QuotaExceededError<"u"&&I instanceof QuotaExceededError))throw I}}if(p.length()<u)for(var g,x,E,T=Math.floor(Math.random()*65536);p.length()<u;){x=16807*(T&65535),g=16807*(T>>16),x+=(g&32767)<<16,x+=g>>15,x=(x&2147483647)+(x>>31),T=x&4294967295;for(var y=0;y<3;++y)E=T>>>(y<<3),E^=Math.floor(Math.random()*256),p.putByte(E&255)}return p.getBytes(u)}return gs?(e.seedFile=function(u,l){gs.randomBytes(u,function(f,d){if(f)return l(f);l(null,d.toString())})},e.seedFileSync=function(u){return gs.randomBytes(u).toString()}):(e.seedFile=function(u,l){try{l(null,c(u))}catch(f){l(f)}},e.seedFileSync=c),e.collect=function(u){for(var l=u.length,f=0;f<l;++f)e.pools[e.pool].update(u.substr(f,1)),e.pool=e.pool===31?0:e.pool+1},e.collectInt=function(u,l){for(var f="",d=0;d<l;d+=8)f+=String.fromCharCode(u>>d&255);e.collect(f)},e.registerWorker=function(u){if(u===self)e.seedFile=function(f,d){function p(h){var m=h.data;m.forge&&m.forge.prng&&(self.removeEventListener("message",p),d(m.forge.prng.err,m.forge.prng.bytes))}self.addEventListener("message",p),self.postMessage({forge:{prng:{needed:f}}})};else{var l=function(f){var d=f.data;d.forge&&d.forge.prng&&e.seedFile(d.forge.prng.needed,function(p,h){u.postMessage({forge:{prng:{err:p,bytes:h}}})})};u.addEventListener("message",l)}},e}});var Xi=B((y4,Ac)=>{var Ve=ae();hs();l0();h0();Le();(function(){if(Ve.random&&Ve.random.getBytes){Ac.exports=Ve.random;return}(function(t){var e={},r=new Array(4),n=Ve.util.createBuffer();e.formatKey=function(f){var d=Ve.util.createBuffer(f);return f=new Array(4),f[0]=d.getInt32(),f[1]=d.getInt32(),f[2]=d.getInt32(),f[3]=d.getInt32(),Ve.aes._expandKey(f,!1)},e.formatSeed=function(f){var d=Ve.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},e.cipher=function(f,d){return Ve.aes._updateBlock(f,d,r,!1),n.putInt32(r[0]),n.putInt32(r[1]),n.putInt32(r[2]),n.putInt32(r[3]),n.getBytes()},e.increment=function(f){return++f[3],f},e.md=Ve.md.sha256;function i(){var f=Ve.prng.create(e);return f.getBytes=function(d,p){return f.generate(d,p)},f.getBytesSync=function(d){return f.generate(d)},f}var o=i(),s=null,a=Ve.util.globalScope,c=a.crypto||a.msCrypto;if(c&&c.getRandomValues&&(s=function(f){return c.getRandomValues(f)}),Ve.options.usePureJavaScript||!Ve.util.isNodejs&&!s){if(typeof window>"u"||window.document,o.collectInt(+new Date,32),typeof navigator<"u"){var u="";for(var l in navigator)try{typeof navigator[l]=="string"&&(u+=navigator[l])}catch{}o.collect(u),u=null}t&&(t().mousemove(function(f){o.collectInt(f.clientX,16),o.collectInt(f.clientY,16)}),t().keypress(function(f){o.collectInt(f.charCode,8)}))}if(!Ve.random)Ve.random=o;else for(var l in o)Ve.random[l]=o[l];Ve.random.createInstance=i,Ac.exports=Ve.random})(typeof jQuery<"u"?jQuery:null)})()});var y0=B((g4,m0)=>{var it=ae();Le();var Ic=[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],d0=[1,2,3,5],zx=function(t,e){return t<<e&65535|(t&65535)>>16-e},$x=function(t,e){return(t&65535)>>e|t<<16-e&65535};m0.exports=it.rc2=it.rc2||{};it.rc2.expandKey=function(t,e){typeof t=="string"&&(t=it.util.createBuffer(t)),e=e||128;var r=t,n=t.length(),i=e,o=Math.ceil(i/8),s=255>>(i&7),a;for(a=n;a<128;a++)r.putByte(Ic[r.at(a-1)+r.at(a-n)&255]);for(r.setAt(128-o,Ic[r.at(128-o)&s]),a=127-o;a>=0;a--)r.setAt(a,Ic[r.at(a+1)^r.at(a+o)]);return r};var p0=function(t,e,r){var n=!1,i=null,o=null,s=null,a,c,u,l,f=[];for(t=it.rc2.expandKey(t,e),u=0;u<64;u++)f.push(t.getInt16Le());r?(a=function(h){for(u=0;u<4;u++)h[u]+=f[l]+(h[(u+3)%4]&h[(u+2)%4])+(~h[(u+3)%4]&h[(u+1)%4]),h[u]=zx(h[u],d0[u]),l++},c=function(h){for(u=0;u<4;u++)h[u]+=f[h[(u+3)%4]&63]}):(a=function(h){for(u=3;u>=0;u--)h[u]=$x(h[u],d0[u]),h[u]-=f[l]+(h[(u+3)%4]&h[(u+2)%4])+(~h[(u+3)%4]&h[(u+1)%4]),l--},c=function(h){for(u=3;u>=0;u--)h[u]-=f[h[(u+3)%4]&63]});var d=function(h){var m=[];for(u=0;u<4;u++){var y=i.getInt16Le();s!==null&&(r?y^=s.getInt16Le():s.putInt16Le(y)),m.push(y&65535)}l=r?0:63;for(var g=0;g<h.length;g++)for(var x=0;x<h[g][0];x++)h[g][1](m);for(u=0;u<4;u++)s!==null&&(r?s.putInt16Le(m[u]):m[u]^=s.getInt16Le()),o.putInt16Le(m[u])},p=null;return p={start:function(h,m){h&&typeof h=="string"&&(h=it.util.createBuffer(h)),n=!1,i=it.util.createBuffer(),o=m||new it.util.createBuffer,s=h,p.output=o},update:function(h){for(n||i.putBuffer(h);i.length()>=8;)d([[5,a],[1,c],[6,a],[1,c],[5,a]])},finish:function(h){var m=!0;if(r)if(h)m=h(8,i,!r);else{var y=i.length()===8?8:8-i.length();i.fillWithByte(y,y)}if(m&&(n=!0,p.update()),!r&&(m=i.length()===0,m))if(h)m=h(8,o,!r);else{var g=o.length(),x=o.at(g-1);x>g?m=!1:o.truncate(x)}return m}},p};it.rc2.startEncrypting=function(t,e,r){var n=it.rc2.createEncryptionCipher(t,128);return n.start(e,r),n};it.rc2.createEncryptionCipher=function(t,e){return p0(t,e,!0)};it.rc2.startDecrypting=function(t,e,r){var n=it.rc2.createDecryptionCipher(t,128);return n.start(e,r),n};it.rc2.createDecryptionCipher=function(t,e){return p0(t,e,!1)}});var bs=B((x4,S0)=>{var Rc=ae();S0.exports=Rc.jsbn=Rc.jsbn||{};var cr,Hx=0xdeadbeefcafe,g0=(Hx&16777215)==15715070;function S(t,e,r){this.data=[],t!=null&&(typeof t=="number"?this.fromNumber(t,e,r):e==null&&typeof t!="string"?this.fromString(t,256):this.fromString(t,e))}Rc.jsbn.BigInteger=S;function ee(){return new S(null)}function Gx(t,e,r,n,i,o){for(;--o>=0;){var s=e*this.data[t++]+r.data[n]+i;i=Math.floor(s/67108864),r.data[n++]=s&67108863}return i}function Yx(t,e,r,n,i,o){for(var s=e&32767,a=e>>15;--o>=0;){var c=this.data[t]&32767,u=this.data[t++]>>15,l=a*c+u*s;c=s*c+((l&32767)<<15)+r.data[n]+(i&1073741823),i=(c>>>30)+(l>>>15)+a*u+(i>>>30),r.data[n++]=c&1073741823}return i}function x0(t,e,r,n,i,o){for(var s=e&16383,a=e>>14;--o>=0;){var c=this.data[t]&16383,u=this.data[t++]>>14,l=a*c+u*s;c=s*c+((l&16383)<<14)+r.data[n]+i,i=(c>>28)+(l>>14)+a*u,r.data[n++]=c&268435455}return i}typeof navigator>"u"?(S.prototype.am=x0,cr=28):g0&&navigator.appName=="Microsoft Internet Explorer"?(S.prototype.am=Yx,cr=30):g0&&navigator.appName!="Netscape"?(S.prototype.am=Gx,cr=26):(S.prototype.am=x0,cr=28);S.prototype.DB=cr;S.prototype.DM=(1<<cr)-1;S.prototype.DV=1<<cr;var Cc=52;S.prototype.FV=Math.pow(2,Cc);S.prototype.F1=Cc-cr;S.prototype.F2=2*cr-Cc;var Wx="0123456789abcdefghijklmnopqrstuvwxyz",xs=new Array,Vn,bt;Vn="0".charCodeAt(0);for(bt=0;bt<=9;++bt)xs[Vn++]=bt;Vn="a".charCodeAt(0);for(bt=10;bt<36;++bt)xs[Vn++]=bt;Vn="A".charCodeAt(0);for(bt=10;bt<36;++bt)xs[Vn++]=bt;function w0(t){return Wx.charAt(t)}function b0(t,e){var r=xs[t.charCodeAt(e)];return r??-1}function Qx(t){for(var e=this.t-1;e>=0;--e)t.data[e]=this.data[e];t.t=this.t,t.s=this.s}function Xx(t){this.t=1,this.s=t<0?-1:0,t>0?this.data[0]=t:t<-1?this.data[0]=t+this.DV:this.t=0}function Ir(t){var e=ee();return e.fromInt(t),e}function Zx(t,e){var r;if(e==16)r=4;else if(e==8)r=3;else if(e==256)r=8;else if(e==2)r=1;else if(e==32)r=5;else if(e==4)r=2;else{this.fromRadix(t,e);return}this.t=0,this.s=0;for(var n=t.length,i=!1,o=0;--n>=0;){var s=r==8?t[n]&255:b0(t,n);if(s<0){t.charAt(n)=="-"&&(i=!0);continue}i=!1,o==0?this.data[this.t++]=s:o+r>this.DB?(this.data[this.t-1]|=(s&(1<<this.DB-o)-1)<<o,this.data[this.t++]=s>>this.DB-o):this.data[this.t-1]|=s<<o,o+=r,o>=this.DB&&(o-=this.DB)}r==8&&t[0]&128&&(this.s=-1,o>0&&(this.data[this.t-1]|=(1<<this.DB-o)-1<<o)),this.clamp(),i&&S.ZERO.subTo(this,this)}function jx(){for(var t=this.s&this.DM;this.t>0&&this.data[this.t-1]==t;)--this.t}function Jx(t){if(this.s<0)return"-"+this.negate().toString(t);var e;if(t==16)e=4;else if(t==8)e=3;else if(t==2)e=1;else if(t==32)e=5;else if(t==4)e=2;else return this.toRadix(t);var r=(1<<e)-1,n,i=!1,o="",s=this.t,a=this.DB-s*this.DB%e;if(s-- >0)for(a<this.DB&&(n=this.data[s]>>a)>0&&(i=!0,o=w0(n));s>=0;)a<e?(n=(this.data[s]&(1<<a)-1)<<e-a,n|=this.data[--s]>>(a+=this.DB-e)):(n=this.data[s]>>(a-=e)&r,a<=0&&(a+=this.DB,--s)),n>0&&(i=!0),i&&(o+=w0(n));return i?o:"0"}function ew(){var t=ee();return S.ZERO.subTo(this,t),t}function tw(){return this.s<0?this.negate():this}function rw(t){var e=this.s-t.s;if(e!=0)return e;var r=this.t;if(e=r-t.t,e!=0)return this.s<0?-e:e;for(;--r>=0;)if((e=this.data[r]-t.data[r])!=0)return e;return 0}function ws(t){var e=1,r;return(r=t>>>16)!=0&&(t=r,e+=16),(r=t>>8)!=0&&(t=r,e+=8),(r=t>>4)!=0&&(t=r,e+=4),(r=t>>2)!=0&&(t=r,e+=2),(r=t>>1)!=0&&(t=r,e+=1),e}function nw(){return this.t<=0?0:this.DB*(this.t-1)+ws(this.data[this.t-1]^this.s&this.DM)}function iw(t,e){var r;for(r=this.t-1;r>=0;--r)e.data[r+t]=this.data[r];for(r=t-1;r>=0;--r)e.data[r]=0;e.t=this.t+t,e.s=this.s}function ow(t,e){for(var r=t;r<this.t;++r)e.data[r-t]=this.data[r];e.t=Math.max(this.t-t,0),e.s=this.s}function sw(t,e){var r=t%this.DB,n=this.DB-r,i=(1<<n)-1,o=Math.floor(t/this.DB),s=this.s<<r&this.DM,a;for(a=this.t-1;a>=0;--a)e.data[a+o+1]=this.data[a]>>n|s,s=(this.data[a]&i)<<r;for(a=o-1;a>=0;--a)e.data[a]=0;e.data[o]=s,e.t=this.t+o+1,e.s=this.s,e.clamp()}function aw(t,e){e.s=this.s;var r=Math.floor(t/this.DB);if(r>=this.t){e.t=0;return}var n=t%this.DB,i=this.DB-n,o=(1<<n)-1;e.data[0]=this.data[r]>>n;for(var s=r+1;s<this.t;++s)e.data[s-r-1]|=(this.data[s]&o)<<i,e.data[s-r]=this.data[s]>>n;n>0&&(e.data[this.t-r-1]|=(this.s&o)<<i),e.t=this.t-r,e.clamp()}function cw(t,e){for(var r=0,n=0,i=Math.min(t.t,this.t);r<i;)n+=this.data[r]-t.data[r],e.data[r++]=n&this.DM,n>>=this.DB;if(t.t<this.t){for(n-=t.s;r<this.t;)n+=this.data[r],e.data[r++]=n&this.DM,n>>=this.DB;n+=this.s}else{for(n+=this.s;r<t.t;)n-=t.data[r],e.data[r++]=n&this.DM,n>>=this.DB;n-=t.s}e.s=n<0?-1:0,n<-1?e.data[r++]=this.DV+n:n>0&&(e.data[r++]=n),e.t=r,e.clamp()}function uw(t,e){var r=this.abs(),n=t.abs(),i=r.t;for(e.t=i+n.t;--i>=0;)e.data[i]=0;for(i=0;i<n.t;++i)e.data[i+r.t]=r.am(0,n.data[i],e,i,0,r.t);e.s=0,e.clamp(),this.s!=t.s&&S.ZERO.subTo(e,e)}function lw(t){for(var e=this.abs(),r=t.t=2*e.t;--r>=0;)t.data[r]=0;for(r=0;r<e.t-1;++r){var n=e.am(r,e.data[r],t,2*r,0,1);(t.data[r+e.t]+=e.am(r+1,2*e.data[r],t,2*r+1,n,e.t-r-1))>=e.DV&&(t.data[r+e.t]-=e.DV,t.data[r+e.t+1]=1)}t.t>0&&(t.data[t.t-1]+=e.am(r,e.data[r],t,2*r,0,1)),t.s=0,t.clamp()}function fw(t,e,r){var n=t.abs();if(!(n.t<=0)){var i=this.abs();if(i.t<n.t){e?.fromInt(0),r!=null&&this.copyTo(r);return}r==null&&(r=ee());var o=ee(),s=this.s,a=t.s,c=this.DB-ws(n.data[n.t-1]);c>0?(n.lShiftTo(c,o),i.lShiftTo(c,r)):(n.copyTo(o),i.copyTo(r));var u=o.t,l=o.data[u-1];if(l!=0){var f=l*(1<<this.F1)+(u>1?o.data[u-2]>>this.F2:0),d=this.FV/f,p=(1<<this.F1)/f,h=1<<this.F2,m=r.t,y=m-u,g=e??ee();for(o.dlShiftTo(y,g),r.compareTo(g)>=0&&(r.data[r.t++]=1,r.subTo(g,r)),S.ONE.dlShiftTo(u,g),g.subTo(o,o);o.t<u;)o.data[o.t++]=0;for(;--y>=0;){var x=r.data[--m]==l?this.DM:Math.floor(r.data[m]*d+(r.data[m-1]+h)*p);if((r.data[m]+=o.am(0,x,r,y,0,u))<x)for(o.dlShiftTo(y,g),r.subTo(g,r);r.data[m]<--x;)r.subTo(g,r)}e!=null&&(r.drShiftTo(u,e),s!=a&&S.ZERO.subTo(e,e)),r.t=u,r.clamp(),c>0&&r.rShiftTo(c,r),s<0&&S.ZERO.subTo(r,r)}}}function hw(t){var e=ee();return this.abs().divRemTo(t,null,e),this.s<0&&e.compareTo(S.ZERO)>0&&t.subTo(e,e),e}function nn(t){this.m=t}function dw(t){return t.s<0||t.compareTo(this.m)>=0?t.mod(this.m):t}function pw(t){return t}function mw(t){t.divRemTo(this.m,null,t)}function yw(t,e,r){t.multiplyTo(e,r),this.reduce(r)}function gw(t,e){t.squareTo(e),this.reduce(e)}nn.prototype.convert=dw;nn.prototype.revert=pw;nn.prototype.reduce=mw;nn.prototype.mulTo=yw;nn.prototype.sqrTo=gw;function xw(){if(this.t<1)return 0;var t=this.data[0];if(!(t&1))return 0;var e=t&3;return e=e*(2-(t&15)*e)&15,e=e*(2-(t&255)*e)&255,e=e*(2-((t&65535)*e&65535))&65535,e=e*(2-t*e%this.DV)%this.DV,e>0?this.DV-e:-e}function on(t){this.m=t,this.mp=t.invDigit(),this.mpl=this.mp&32767,this.mph=this.mp>>15,this.um=(1<<t.DB-15)-1,this.mt2=2*t.t}function ww(t){var e=ee();return t.abs().dlShiftTo(this.m.t,e),e.divRemTo(this.m,null,e),t.s<0&&e.compareTo(S.ZERO)>0&&this.m.subTo(e,e),e}function bw(t){var e=ee();return t.copyTo(e),this.reduce(e),e}function vw(t){for(;t.t<=this.mt2;)t.data[t.t++]=0;for(var e=0;e<this.m.t;++e){var r=t.data[e]&32767,n=r*this.mpl+((r*this.mph+(t.data[e]>>15)*this.mpl&this.um)<<15)&t.DM;for(r=e+this.m.t,t.data[r]+=this.m.am(0,n,t,e,0,this.m.t);t.data[r]>=t.DV;)t.data[r]-=t.DV,t.data[++r]++}t.clamp(),t.drShiftTo(this.m.t,t),t.compareTo(this.m)>=0&&t.subTo(this.m,t)}function Ew(t,e){t.squareTo(e),this.reduce(e)}function _w(t,e,r){t.multiplyTo(e,r),this.reduce(r)}on.prototype.convert=ww;on.prototype.revert=bw;on.prototype.reduce=vw;on.prototype.mulTo=_w;on.prototype.sqrTo=Ew;function Sw(){return(this.t>0?this.data[0]&1:this.s)==0}function Aw(t,e){if(t>4294967295||t<1)return S.ONE;var r=ee(),n=ee(),i=e.convert(this),o=ws(t)-1;for(i.copyTo(r);--o>=0;)if(e.sqrTo(r,n),(t&1<<o)>0)e.mulTo(n,i,r);else{var s=r;r=n,n=s}return e.revert(r)}function Iw(t,e){var r;return t<256||e.isEven()?r=new nn(e):r=new on(e),this.exp(t,r)}S.prototype.copyTo=Qx;S.prototype.fromInt=Xx;S.prototype.fromString=Zx;S.prototype.clamp=jx;S.prototype.dlShiftTo=iw;S.prototype.drShiftTo=ow;S.prototype.lShiftTo=sw;S.prototype.rShiftTo=aw;S.prototype.subTo=cw;S.prototype.multiplyTo=uw;S.prototype.squareTo=lw;S.prototype.divRemTo=fw;S.prototype.invDigit=xw;S.prototype.isEven=Sw;S.prototype.exp=Aw;S.prototype.toString=Jx;S.prototype.negate=ew;S.prototype.abs=tw;S.prototype.compareTo=rw;S.prototype.bitLength=nw;S.prototype.mod=hw;S.prototype.modPowInt=Iw;S.ZERO=Ir(0);S.ONE=Ir(1);function Rw(){var t=ee();return this.copyTo(t),t}function Cw(){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 Tw(){return this.t==0?this.s:this.data[0]<<24>>24}function Bw(){return this.t==0?this.s:this.data[0]<<16>>16}function Lw(t){return Math.floor(Math.LN2*this.DB/Math.log(t))}function Pw(){return this.s<0?-1:this.t<=0||this.t==1&&this.data[0]<=0?0:1}function Dw(t){if(t==null&&(t=10),this.signum()==0||t<2||t>36)return"0";var e=this.chunkSize(t),r=Math.pow(t,e),n=Ir(r),i=ee(),o=ee(),s="";for(this.divRemTo(n,i,o);i.signum()>0;)s=(r+o.intValue()).toString(t).substr(1)+s,i.divRemTo(n,i,o);return o.intValue().toString(t)+s}function Nw(t,e){this.fromInt(0),e==null&&(e=10);for(var r=this.chunkSize(e),n=Math.pow(e,r),i=!1,o=0,s=0,a=0;a<t.length;++a){var c=b0(t,a);if(c<0){t.charAt(a)=="-"&&this.signum()==0&&(i=!0);continue}s=e*s+c,++o>=r&&(this.dMultiply(n),this.dAddOffset(s,0),o=0,s=0)}o>0&&(this.dMultiply(Math.pow(e,o)),this.dAddOffset(s,0)),i&&S.ZERO.subTo(this,this)}function kw(t,e,r){if(typeof e=="number")if(t<2)this.fromInt(1);else for(this.fromNumber(t,r),this.testBit(t-1)||this.bitwiseTo(S.ONE.shiftLeft(t-1),Tc,this),this.isEven()&&this.dAddOffset(1,0);!this.isProbablePrime(e);)this.dAddOffset(2,0),this.bitLength()>t&&this.subTo(S.ONE.shiftLeft(t-1),this);else{var n=new Array,i=t&7;n.length=(t>>3)+1,e.nextBytes(n),i>0?n[0]&=(1<<i)-1:n[0]=0,this.fromString(n,256)}}function Ow(){var t=this.t,e=new Array;e[0]=this.s;var r=this.DB-t*this.DB%8,n,i=0;if(t-- >0)for(r<this.DB&&(n=this.data[t]>>r)!=(this.s&this.DM)>>r&&(e[i++]=n|this.s<<this.DB-r);t>=0;)r<8?(n=(this.data[t]&(1<<r)-1)<<8-r,n|=this.data[--t]>>(r+=this.DB-8)):(n=this.data[t]>>(r-=8)&255,r<=0&&(r+=this.DB,--t)),n&128&&(n|=-256),i==0&&(this.s&128)!=(n&128)&&++i,(i>0||n!=this.s)&&(e[i++]=n);return e}function Mw(t){return this.compareTo(t)==0}function Uw(t){return this.compareTo(t)<0?this:t}function Fw(t){return this.compareTo(t)>0?this:t}function Kw(t,e,r){var n,i,o=Math.min(t.t,this.t);for(n=0;n<o;++n)r.data[n]=e(this.data[n],t.data[n]);if(t.t<this.t){for(i=t.s&this.DM,n=o;n<this.t;++n)r.data[n]=e(this.data[n],i);r.t=this.t}else{for(i=this.s&this.DM,n=o;n<t.t;++n)r.data[n]=e(i,t.data[n]);r.t=t.t}r.s=e(this.s,t.s),r.clamp()}function Vw(t,e){return t&e}function qw(t){var e=ee();return this.bitwiseTo(t,Vw,e),e}function Tc(t,e){return t|e}function zw(t){var e=ee();return this.bitwiseTo(t,Tc,e),e}function v0(t,e){return t^e}function $w(t){var e=ee();return this.bitwiseTo(t,v0,e),e}function E0(t,e){return t&~e}function Hw(t){var e=ee();return this.bitwiseTo(t,E0,e),e}function Gw(){for(var t=ee(),e=0;e<this.t;++e)t.data[e]=this.DM&~this.data[e];return t.t=this.t,t.s=~this.s,t}function Yw(t){var e=ee();return t<0?this.rShiftTo(-t,e):this.lShiftTo(t,e),e}function Ww(t){var e=ee();return t<0?this.lShiftTo(-t,e):this.rShiftTo(t,e),e}function Qw(t){if(t==0)return-1;var e=0;return t&65535||(t>>=16,e+=16),t&255||(t>>=8,e+=8),t&15||(t>>=4,e+=4),t&3||(t>>=2,e+=2),t&1||++e,e}function Xw(){for(var t=0;t<this.t;++t)if(this.data[t]!=0)return t*this.DB+Qw(this.data[t]);return this.s<0?this.t*this.DB:-1}function Zw(t){for(var e=0;t!=0;)t&=t-1,++e;return e}function jw(){for(var t=0,e=this.s&this.DM,r=0;r<this.t;++r)t+=Zw(this.data[r]^e);return t}function Jw(t){var e=Math.floor(t/this.DB);return e>=this.t?this.s!=0:(this.data[e]&1<<t%this.DB)!=0}function e2(t,e){var r=S.ONE.shiftLeft(t);return this.bitwiseTo(r,e,r),r}function t2(t){return this.changeBit(t,Tc)}function r2(t){return this.changeBit(t,E0)}function n2(t){return this.changeBit(t,v0)}function i2(t,e){for(var r=0,n=0,i=Math.min(t.t,this.t);r<i;)n+=this.data[r]+t.data[r],e.data[r++]=n&this.DM,n>>=this.DB;if(t.t<this.t){for(n+=t.s;r<this.t;)n+=this.data[r],e.data[r++]=n&this.DM,n>>=this.DB;n+=this.s}else{for(n+=this.s;r<t.t;)n+=t.data[r],e.data[r++]=n&this.DM,n>>=this.DB;n+=t.s}e.s=n<0?-1:0,n>0?e.data[r++]=n:n<-1&&(e.data[r++]=this.DV+n),e.t=r,e.clamp()}function o2(t){var e=ee();return this.addTo(t,e),e}function s2(t){var e=ee();return this.subTo(t,e),e}function a2(t){var e=ee();return this.multiplyTo(t,e),e}function c2(t){var e=ee();return this.divRemTo(t,e,null),e}function u2(t){var e=ee();return this.divRemTo(t,null,e),e}function l2(t){var e=ee(),r=ee();return this.divRemTo(t,e,r),new Array(e,r)}function f2(t){this.data[this.t]=this.am(0,t-1,this,0,0,this.t),++this.t,this.clamp()}function h2(t,e){if(t!=0){for(;this.t<=e;)this.data[this.t++]=0;for(this.data[e]+=t;this.data[e]>=this.DV;)this.data[e]-=this.DV,++e>=this.t&&(this.data[this.t++]=0),++this.data[e]}}function Zi(){}function _0(t){return t}function d2(t,e,r){t.multiplyTo(e,r)}function p2(t,e){t.squareTo(e)}Zi.prototype.convert=_0;Zi.prototype.revert=_0;Zi.prototype.mulTo=d2;Zi.prototype.sqrTo=p2;function m2(t){return this.exp(t,new Zi)}function y2(t,e,r){var n=Math.min(this.t+t.t,e);for(r.s=0,r.t=n;n>0;)r.data[--n]=0;var i;for(i=r.t-this.t;n<i;++n)r.data[n+this.t]=this.am(0,t.data[n],r,n,0,this.t);for(i=Math.min(t.t,e);n<i;++n)this.am(0,t.data[n],r,n,0,e-n);r.clamp()}function g2(t,e,r){--e;var n=r.t=this.t+t.t-e;for(r.s=0;--n>=0;)r.data[n]=0;for(n=Math.max(e-this.t,0);n<t.t;++n)r.data[this.t+n-e]=this.am(e-n,t.data[n],r,0,0,this.t+n-e);r.clamp(),r.drShiftTo(1,r)}function qn(t){this.r2=ee(),this.q3=ee(),S.ONE.dlShiftTo(2*t.t,this.r2),this.mu=this.r2.divide(t),this.m=t}function x2(t){if(t.s<0||t.t>2*this.m.t)return t.mod(this.m);if(t.compareTo(this.m)<0)return t;var e=ee();return t.copyTo(e),this.reduce(e),e}function w2(t){return t}function b2(t){for(t.drShiftTo(this.m.t-1,this.r2),t.t>this.m.t+1&&(t.t=this.m.t+1,t.clamp()),this.mu.multiplyUpperTo(this.r2,this.m.t+1,this.q3),this.m.multiplyLowerTo(this.q3,this.m.t+1,this.r2);t.compareTo(this.r2)<0;)t.dAddOffset(1,this.m.t+1);for(t.subTo(this.r2,t);t.compareTo(this.m)>=0;)t.subTo(this.m,t)}function v2(t,e){t.squareTo(e),this.reduce(e)}function E2(t,e,r){t.multiplyTo(e,r),this.reduce(r)}qn.prototype.convert=x2;qn.prototype.revert=w2;qn.prototype.reduce=b2;qn.prototype.mulTo=E2;qn.prototype.sqrTo=v2;function _2(t,e){var r=t.bitLength(),n,i=Ir(1),o;if(r<=0)return i;r<18?n=1:r<48?n=3:r<144?n=4:r<768?n=5:n=6,r<8?o=new nn(e):e.isEven()?o=new qn(e):o=new on(e);var s=new Array,a=3,c=n-1,u=(1<<n)-1;if(s[1]=o.convert(this),n>1){var l=ee();for(o.sqrTo(s[1],l);a<=u;)s[a]=ee(),o.mulTo(l,s[a-2],s[a]),a+=2}var f=t.t-1,d,p=!0,h=ee(),m;for(r=ws(t.data[f])-1;f>=0;){for(r>=c?d=t.data[f]>>r-c&u:(d=(t.data[f]&(1<<r+1)-1)<<c-r,f>0&&(d|=t.data[f-1]>>this.DB+r-c)),a=n;!(d&1);)d>>=1,--a;if((r-=a)<0&&(r+=this.DB,--f),p)s[d].copyTo(i),p=!1;else{for(;a>1;)o.sqrTo(i,h),o.sqrTo(h,i),a-=2;a>0?o.sqrTo(i,h):(m=i,i=h,h=m),o.mulTo(h,s[d],i)}for(;f>=0&&!(t.data[f]&1<<r);)o.sqrTo(i,h),m=i,i=h,h=m,--r<0&&(r=this.DB-1,--f)}return o.revert(i)}function S2(t){var e=this.s<0?this.negate():this.clone(),r=t.s<0?t.negate():t.clone();if(e.compareTo(r)<0){var n=e;e=r,r=n}var i=e.getLowestSetBit(),o=r.getLowestSetBit();if(o<0)return e;for(i<o&&(o=i),o>0&&(e.rShiftTo(o,e),r.rShiftTo(o,r));e.signum()>0;)(i=e.getLowestSetBit())>0&&e.rShiftTo(i,e),(i=r.getLowestSetBit())>0&&r.rShiftTo(i,r),e.compareTo(r)>=0?(e.subTo(r,e),e.rShiftTo(1,e)):(r.subTo(e,r),r.rShiftTo(1,r));return o>0&&r.lShiftTo(o,r),r}function A2(t){if(t<=0)return 0;var e=this.DV%t,r=this.s<0?t-1:0;if(this.t>0)if(e==0)r=this.data[0]%t;else for(var n=this.t-1;n>=0;--n)r=(e*r+this.data[n])%t;return r}function I2(t){var e=t.isEven();if(this.isEven()&&e||t.signum()==0)return S.ZERO;for(var r=t.clone(),n=this.clone(),i=Ir(1),o=Ir(0),s=Ir(0),a=Ir(1);r.signum()!=0;){for(;r.isEven();)r.rShiftTo(1,r),e?((!i.isEven()||!o.isEven())&&(i.addTo(this,i),o.subTo(t,o)),i.rShiftTo(1,i)):o.isEven()||o.subTo(t,o),o.rShiftTo(1,o);for(;n.isEven();)n.rShiftTo(1,n),e?((!s.isEven()||!a.isEven())&&(s.addTo(this,s),a.subTo(t,a)),s.rShiftTo(1,s)):a.isEven()||a.subTo(t,a),a.rShiftTo(1,a);r.compareTo(n)>=0?(r.subTo(n,r),e&&i.subTo(s,i),o.subTo(a,o)):(n.subTo(r,n),e&&s.subTo(i,s),a.subTo(o,a))}if(n.compareTo(S.ONE)!=0)return S.ZERO;if(a.compareTo(t)>=0)return a.subtract(t);if(a.signum()<0)a.addTo(t,a);else return a;return a.signum()<0?a.add(t):a}var Rt=[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],R2=(1<<26)/Rt[Rt.length-1];function C2(t){var e,r=this.abs();if(r.t==1&&r.data[0]<=Rt[Rt.length-1]){for(e=0;e<Rt.length;++e)if(r.data[0]==Rt[e])return!0;return!1}if(r.isEven())return!1;for(e=1;e<Rt.length;){for(var n=Rt[e],i=e+1;i<Rt.length&&n<R2;)n*=Rt[i++];for(n=r.modInt(n);e<i;)if(n%Rt[e++]==0)return!1}return r.millerRabin(t)}function T2(t){var e=this.subtract(S.ONE),r=e.getLowestSetBit();if(r<=0)return!1;for(var n=e.shiftRight(r),i=B2(),o,s=0;s<t;++s){do o=new S(this.bitLength(),i);while(o.compareTo(S.ONE)<=0||o.compareTo(e)>=0);var a=o.modPow(n,this);if(a.compareTo(S.ONE)!=0&&a.compareTo(e)!=0){for(var c=1;c++<r&&a.compareTo(e)!=0;)if(a=a.modPowInt(2,this),a.compareTo(S.ONE)==0)return!1;if(a.compareTo(e)!=0)return!1}}return!0}function B2(){return{nextBytes:function(t){for(var e=0;e<t.length;++e)t[e]=Math.floor(Math.random()*256)}}}S.prototype.chunkSize=Lw;S.prototype.toRadix=Dw;S.prototype.fromRadix=Nw;S.prototype.fromNumber=kw;S.prototype.bitwiseTo=Kw;S.prototype.changeBit=e2;S.prototype.addTo=i2;S.prototype.dMultiply=f2;S.prototype.dAddOffset=h2;S.prototype.multiplyLowerTo=y2;S.prototype.multiplyUpperTo=g2;S.prototype.modInt=A2;S.prototype.millerRabin=T2;S.prototype.clone=Rw;S.prototype.intValue=Cw;S.prototype.byteValue=Tw;S.prototype.shortValue=Bw;S.prototype.signum=Pw;S.prototype.toByteArray=Ow;S.prototype.equals=Mw;S.prototype.min=Uw;S.prototype.max=Fw;S.prototype.and=qw;S.prototype.or=zw;S.prototype.xor=$w;S.prototype.andNot=Hw;S.prototype.not=Gw;S.prototype.shiftLeft=Yw;S.prototype.shiftRight=Ww;S.prototype.getLowestSetBit=Xw;S.prototype.bitCount=jw;S.prototype.testBit=Jw;S.prototype.setBit=t2;S.prototype.clearBit=r2;S.prototype.flipBit=n2;S.prototype.add=o2;S.prototype.subtract=s2;S.prototype.multiply=a2;S.prototype.divide=c2;S.prototype.remainder=u2;S.prototype.divideAndRemainder=l2;S.prototype.modPow=_2;S.prototype.modInverse=I2;S.prototype.pow=m2;S.prototype.gcd=S2;S.prototype.isProbablePrime=C2});var T0=B((w4,C0)=>{var $t=ae();tn();Le();var I0=C0.exports=$t.sha1=$t.sha1||{};$t.md.sha1=$t.md.algorithms.sha1=I0;I0.create=function(){R0||L2();var t=null,e=$t.util.createBuffer(),r=new Array(80),n={algorithm:"sha1",blockLength:64,digestLength:20,messageLength:0,fullMessageLength:null,messageLengthSize:8};return n.start=function(){n.messageLength=0,n.fullMessageLength=n.messageLength64=[];for(var i=n.messageLengthSize/4,o=0;o<i;++o)n.fullMessageLength.push(0);return e=$t.util.createBuffer(),t={h0:1732584193,h1:4023233417,h2:2562383102,h3:271733878,h4:3285377520},n},n.start(),n.update=function(i,o){o==="utf8"&&(i=$t.util.encodeUtf8(i));var s=i.length;n.messageLength+=s,s=[s/4294967296>>>0,s>>>0];for(var a=n.fullMessageLength.length-1;a>=0;--a)n.fullMessageLength[a]+=s[1],s[1]=s[0]+(n.fullMessageLength[a]/4294967296>>>0),n.fullMessageLength[a]=n.fullMessageLength[a]>>>0,s[0]=s[1]/4294967296>>>0;return e.putBytes(i),A0(t,r,e),(e.read>2048||e.length()===0)&&e.compact(),n},n.digest=function(){var i=$t.util.createBuffer();i.putBytes(e.bytes());var o=n.fullMessageLength[n.fullMessageLength.length-1]+n.messageLengthSize,s=o&n.blockLength-1;i.putBytes(Bc.substr(0,n.blockLength-s));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:t.h0,h1:t.h1,h2:t.h2,h3:t.h3,h4:t.h4};A0(f,r,i);var d=$t.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 Bc=null,R0=!1;function L2(){Bc=String.fromCharCode(128),Bc+=$t.util.fillString(String.fromCharCode(0),64),R0=!0}function A0(t,e,r){for(var n,i,o,s,a,c,u,l,f=r.length();f>=64;){for(i=t.h0,o=t.h1,s=t.h2,a=t.h3,c=t.h4,l=0;l<16;++l)n=r.getInt32(),e[l]=n,u=a^o&(s^a),n=(i<<5|i>>>27)+u+c+1518500249+n,c=a,a=s,s=(o<<30|o>>>2)>>>0,o=i,i=n;for(;l<20;++l)n=e[l-3]^e[l-8]^e[l-14]^e[l-16],n=n<<1|n>>>31,e[l]=n,u=a^o&(s^a),n=(i<<5|i>>>27)+u+c+1518500249+n,c=a,a=s,s=(o<<30|o>>>2)>>>0,o=i,i=n;for(;l<32;++l)n=e[l-3]^e[l-8]^e[l-14]^e[l-16],n=n<<1|n>>>31,e[l]=n,u=o^s^a,n=(i<<5|i>>>27)+u+c+1859775393+n,c=a,a=s,s=(o<<30|o>>>2)>>>0,o=i,i=n;for(;l<40;++l)n=e[l-6]^e[l-16]^e[l-28]^e[l-32],n=n<<2|n>>>30,e[l]=n,u=o^s^a,n=(i<<5|i>>>27)+u+c+1859775393+n,c=a,a=s,s=(o<<30|o>>>2)>>>0,o=i,i=n;for(;l<60;++l)n=e[l-6]^e[l-16]^e[l-28]^e[l-32],n=n<<2|n>>>30,e[l]=n,u=o&s|a&(o^s),n=(i<<5|i>>>27)+u+c+2400959708+n,c=a,a=s,s=(o<<30|o>>>2)>>>0,o=i,i=n;for(;l<80;++l)n=e[l-6]^e[l-16]^e[l-28]^e[l-32],n=n<<2|n>>>30,e[l]=n,u=o^s^a,n=(i<<5|i>>>27)+u+c+3395469782+n,c=a,a=s,s=(o<<30|o>>>2)>>>0,o=i,i=n;t.h0=t.h0+i|0,t.h1=t.h1+o|0,t.h2=t.h2+s|0,t.h3=t.h3+a|0,t.h4=t.h4+c|0,f-=64}}});var P0=B((b4,L0)=>{var Ht=ae();Le();Xi();T0();var B0=L0.exports=Ht.pkcs1=Ht.pkcs1||{};B0.encode_rsa_oaep=function(t,e,r){var n,i,o,s;typeof r=="string"?(n=r,i=arguments[3]||void 0,o=arguments[4]||void 0):r&&(n=r.label||void 0,i=r.seed||void 0,o=r.md||void 0,r.mgf1&&r.mgf1.md&&(s=r.mgf1.md)),o?o.start():o=Ht.md.sha1.create(),s||(s=o);var a=Math.ceil(t.n.bitLength()/8),c=a-2*o.digestLength-2;if(e.length>c){var u=new Error("RSAES-OAEP input message length is too long.");throw u.length=e.length,u.maxLength=c,u}n||(n=""),o.update(n,"raw");for(var l=o.digest(),f="",d=c-e.length,p=0;p<d;p++)f+="\0";var h=l.getBytes()+f+""+e;if(!i)i=Ht.random.getBytes(o.digestLength);else if(i.length!==o.digestLength){var u=new Error("Invalid RSAES-OAEP seed. The seed length must match the digest length.");throw u.seedLength=i.length,u.digestLength=o.digestLength,u}var m=vs(i,a-o.digestLength-1,s),y=Ht.util.xorBytes(h,m,h.length),g=vs(y,o.digestLength,s),x=Ht.util.xorBytes(i,g,i.length);return"\0"+x+y};B0.decode_rsa_oaep=function(t,e,r){var n,i,o;typeof r=="string"?(n=r,i=arguments[3]||void 0):r&&(n=r.label||void 0,i=r.md||void 0,r.mgf1&&r.mgf1.md&&(o=r.mgf1.md));var s=Math.ceil(t.n.bitLength()/8);if(e.length!==s){var y=new Error("RSAES-OAEP encoded message length is invalid.");throw y.length=e.length,y.expectedLength=s,y}if(i===void 0?i=Ht.md.sha1.create():i.start(),o||(o=i),s<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=e.charAt(0),u=e.substring(1,i.digestLength+1),l=e.substring(1+i.digestLength),f=vs(l,i.digestLength,o),d=Ht.util.xorBytes(u,f,u.length),p=vs(d,s-i.digestLength-1,o),h=Ht.util.xorBytes(l,p,l.length),m=h.substring(0,i.digestLength),y=c!=="\0",g=0;g<i.digestLength;++g)y|=a.charAt(g)!==m.charAt(g);for(var x=1,E=i.digestLength,T=i.digestLength;T<h.length;T++){var I=h.charCodeAt(T),C=I&1^1,O=x?65534:0;y|=I&O,x=x&C,E+=x}if(y||h.charCodeAt(E)!==1)throw new Error("Invalid RSAES-OAEP padding.");return h.substring(E+1)};function vs(t,e,r){r||(r=Ht.md.sha1.create());for(var n="",i=Math.ceil(e/r.digestLength),o=0;o<i;++o){var s=String.fromCharCode(o>>24&255,o>>16&255,o>>8&255,o&255);r.start(),r.update(t+s),n+=r.digest().getBytes()}return n.substring(0,e)}});var D0=B((v4,Lc)=>{var Rr=ae();Le();bs();Xi();(function(){if(Rr.prime){Lc.exports=Rr.prime;return}var t=Lc.exports=Rr.prime=Rr.prime||{},e=Rr.jsbn.BigInteger,r=[6,4,2,4,2,4,6,2],n=new e(null);n.fromInt(30);var i=function(f,d){return f|d};t.generateProbablePrime=function(f,d,p){typeof d=="function"&&(p=d,d={}),d=d||{};var h=d.algorithm||"PRIMEINC";typeof h=="string"&&(h={name:h}),h.options=h.options||{};var m=d.prng||Rr.random,y={nextBytes:function(g){for(var x=m.getBytesSync(g.length),E=0;E<g.length;++E)g[E]=x.charCodeAt(E)}};if(h.name==="PRIMEINC")return o(f,y,h.options,p);throw new Error("Invalid prime generation algorithm: "+h.name)};function o(f,d,p,h){return"workers"in p?c(f,d,p,h):s(f,d,p,h)}function s(f,d,p,h){var m=u(f,d),y=0,g=l(m.bitLength());"millerRabinTests"in p&&(g=p.millerRabinTests);var x=10;"maxBlockTime"in p&&(x=p.maxBlockTime),a(m,f,d,y,g,x,h)}function a(f,d,p,h,m,y,g){var x=+new Date;do{if(f.bitLength()>d&&(f=u(d,p)),f.isProbablePrime(m))return g(null,f);f.dAddOffset(r[h++%8],0)}while(y<0||+new Date-x<y);Rr.util.setImmediate(function(){a(f,d,p,h,m,y,g)})}function c(f,d,p,h){if(typeof Worker>"u")return s(f,d,p,h);var m=u(f,d),y=p.workers,g=p.workLoad||100,x=g*30/8,E=p.workerScript||"forge/prime.worker.js";if(y===-1)return Rr.util.estimateCores(function(I,C){I&&(C=2),y=C-1,T()});T();function T(){y=Math.max(1,y);for(var I=[],C=0;C<y;++C)I[C]=new Worker(E);for(var O=y,C=0;C<y;++C)I[C].addEventListener("message",se);var U=!1;function se(At){if(!U){--O;var ut=At.data;if(ut.found){for(var Je=0;Je<I.length;++Je)I[Je].terminate();return U=!0,h(null,new e(ut.prime,16))}m.bitLength()>f&&(m=u(f,d));var Mn=m.toString(16);At.target.postMessage({hex:Mn,workLoad:g}),m.dAddOffset(x,0)}}}}function u(f,d){var p=new e(f,d),h=f-1;return p.testBit(h)||p.bitwiseTo(e.ONE.shiftLeft(h),i,p),p.dAddOffset(31-p.mod(n).byteValue(),0),p}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 _s=B((E4,K0)=>{var F=ae();Qi();bs();as();P0();D0();Xi();Le();typeof X>"u"&&(X=F.jsbn.BigInteger);var X,Pc=F.util.isNodejs?rn():null,b=F.asn1,vt=F.util;F.pki=F.pki||{};K0.exports=F.pki.rsa=F.rsa=F.rsa||{};var q=F.pki,P2=[6,4,2,4,2,4,6,2],D2={name:"PrivateKeyInfo",tagClass:b.Class.UNIVERSAL,type:b.Type.SEQUENCE,constructed:!0,value:[{name:"PrivateKeyInfo.version",tagClass:b.Class.UNIVERSAL,type:b.Type.INTEGER,constructed:!1,capture:"privateKeyVersion"},{name:"PrivateKeyInfo.privateKeyAlgorithm",tagClass:b.Class.UNIVERSAL,type:b.Type.SEQUENCE,constructed:!0,value:[{name:"AlgorithmIdentifier.algorithm",tagClass:b.Class.UNIVERSAL,type:b.Type.OID,constructed:!1,capture:"privateKeyOid"}]},{name:"PrivateKeyInfo",tagClass:b.Class.UNIVERSAL,type:b.Type.OCTETSTRING,constructed:!1,capture:"privateKey"}]},N2={name:"RSAPrivateKey",tagClass:b.Class.UNIVERSAL,type:b.Type.SEQUENCE,constructed:!0,value:[{name:"RSAPrivateKey.version",tagClass:b.Class.UNIVERSAL,type:b.Type.INTEGER,constructed:!1,capture:"privateKeyVersion"},{name:"RSAPrivateKey.modulus",tagClass:b.Class.UNIVERSAL,type:b.Type.INTEGER,constructed:!1,capture:"privateKeyModulus"},{name:"RSAPrivateKey.publicExponent",tagClass:b.Class.UNIVERSAL,type:b.Type.INTEGER,constructed:!1,capture:"privateKeyPublicExponent"},{name:"RSAPrivateKey.privateExponent",tagClass:b.Class.UNIVERSAL,type:b.Type.INTEGER,constructed:!1,capture:"privateKeyPrivateExponent"},{name:"RSAPrivateKey.prime1",tagClass:b.Class.UNIVERSAL,type:b.Type.INTEGER,constructed:!1,capture:"privateKeyPrime1"},{name:"RSAPrivateKey.prime2",tagClass:b.Class.UNIVERSAL,type:b.Type.INTEGER,constructed:!1,capture:"privateKeyPrime2"},{name:"RSAPrivateKey.exponent1",tagClass:b.Class.UNIVERSAL,type:b.Type.INTEGER,constructed:!1,capture:"privateKeyExponent1"},{name:"RSAPrivateKey.exponent2",tagClass:b.Class.UNIVERSAL,type:b.Type.INTEGER,constructed:!1,capture:"privateKeyExponent2"},{name:"RSAPrivateKey.coefficient",tagClass:b.Class.UNIVERSAL,type:b.Type.INTEGER,constructed:!1,capture:"privateKeyCoefficient"}]},k2={name:"RSAPublicKey",tagClass:b.Class.UNIVERSAL,type:b.Type.SEQUENCE,constructed:!0,value:[{name:"RSAPublicKey.modulus",tagClass:b.Class.UNIVERSAL,type:b.Type.INTEGER,constructed:!1,capture:"publicKeyModulus"},{name:"RSAPublicKey.exponent",tagClass:b.Class.UNIVERSAL,type:b.Type.INTEGER,constructed:!1,capture:"publicKeyExponent"}]},O2=F.pki.rsa.publicKeyValidator={name:"SubjectPublicKeyInfo",tagClass:b.Class.UNIVERSAL,type:b.Type.SEQUENCE,constructed:!0,captureAsn1:"subjectPublicKeyInfo",value:[{name:"SubjectPublicKeyInfo.AlgorithmIdentifier",tagClass:b.Class.UNIVERSAL,type:b.Type.SEQUENCE,constructed:!0,value:[{name:"AlgorithmIdentifier.algorithm",tagClass:b.Class.UNIVERSAL,type:b.Type.OID,constructed:!1,capture:"publicKeyOid"}]},{name:"SubjectPublicKeyInfo.subjectPublicKey",tagClass:b.Class.UNIVERSAL,type:b.Type.BITSTRING,constructed:!1,value:[{name:"SubjectPublicKeyInfo.subjectPublicKey.RSAPublicKey",tagClass:b.Class.UNIVERSAL,type:b.Type.SEQUENCE,constructed:!0,optional:!0,captureAsn1:"rsaPublicKey"}]}]},M2={name:"DigestInfo",tagClass:b.Class.UNIVERSAL,type:b.Type.SEQUENCE,constructed:!0,value:[{name:"DigestInfo.DigestAlgorithm",tagClass:b.Class.UNIVERSAL,type:b.Type.SEQUENCE,constructed:!0,value:[{name:"DigestInfo.DigestAlgorithm.algorithmIdentifier",tagClass:b.Class.UNIVERSAL,type:b.Type.OID,constructed:!1,capture:"algorithmIdentifier"},{name:"DigestInfo.DigestAlgorithm.parameters",tagClass:b.Class.UNIVERSAL,type:b.Type.NULL,capture:"parameters",optional:!0,constructed:!1}]},{name:"DigestInfo.digest",tagClass:b.Class.UNIVERSAL,type:b.Type.OCTETSTRING,constructed:!1,capture:"digest"}]},U2=function(t){var e;if(t.algorithm in q.oids)e=q.oids[t.algorithm];else{var r=new Error("Unknown message digest algorithm.");throw r.algorithm=t.algorithm,r}var n=b.oidToDer(e).getBytes(),i=b.create(b.Class.UNIVERSAL,b.Type.SEQUENCE,!0,[]),o=b.create(b.Class.UNIVERSAL,b.Type.SEQUENCE,!0,[]);o.value.push(b.create(b.Class.UNIVERSAL,b.Type.OID,!1,n)),o.value.push(b.create(b.Class.UNIVERSAL,b.Type.NULL,!1,""));var s=b.create(b.Class.UNIVERSAL,b.Type.OCTETSTRING,!1,t.digest().getBytes());return i.value.push(o),i.value.push(s),b.toDer(i).getBytes()},U0=function(t,e,r){if(r)return t.modPow(e.e,e.n);if(!e.p||!e.q)return t.modPow(e.d,e.n);e.dP||(e.dP=e.d.mod(e.p.subtract(X.ONE))),e.dQ||(e.dQ=e.d.mod(e.q.subtract(X.ONE))),e.qInv||(e.qInv=e.q.modInverse(e.p));var n;do n=new X(F.util.bytesToHex(F.random.getBytes(e.n.bitLength()/8)),16);while(n.compareTo(e.n)>=0||!n.gcd(e.n).equals(X.ONE));t=t.multiply(n.modPow(e.e,e.n)).mod(e.n);for(var i=t.mod(e.p).modPow(e.dP,e.p),o=t.mod(e.q).modPow(e.dQ,e.q);i.compareTo(o)<0;)i=i.add(e.p);var s=i.subtract(o).multiply(e.qInv).mod(e.p).multiply(e.q).add(o);return s=s.multiply(n.modInverse(e.n)).mod(e.n),s};q.rsa.encrypt=function(t,e,r){var n=r,i,o=Math.ceil(e.n.bitLength()/8);r!==!1&&r!==!0?(n=r===2,i=F0(t,e,r)):(i=F.util.createBuffer(),i.putBytes(t));for(var s=new X(i.toHex(),16),a=U0(s,e,n),c=a.toString(16),u=F.util.createBuffer(),l=o-Math.ceil(c.length/2);l>0;)u.putByte(0),--l;return u.putBytes(F.util.hexToBytes(c)),u.getBytes()};q.rsa.decrypt=function(t,e,r,n){var i=Math.ceil(e.n.bitLength()/8);if(t.length!==i){var o=new Error("Encrypted message length is invalid.");throw o.length=t.length,o.expected=i,o}var s=new X(F.util.createBuffer(t).toHex(),16);if(s.compareTo(e.n)>=0)throw new Error("Encrypted message is invalid.");for(var a=U0(s,e,r),c=a.toString(16),u=F.util.createBuffer(),l=i-Math.ceil(c.length/2);l>0;)u.putByte(0),--l;return u.putBytes(F.util.hexToBytes(c)),n!==!1?Es(u.getBytes(),e,r):u.getBytes()};q.rsa.createKeyPairGenerationState=function(t,e,r){typeof t=="string"&&(t=parseInt(t,10)),t=t||2048,r=r||{};var n=r.prng||F.random,i={nextBytes:function(a){for(var c=n.getBytesSync(a.length),u=0;u<a.length;++u)a[u]=c.charCodeAt(u)}},o=r.algorithm||"PRIMEINC",s;if(o==="PRIMEINC")s={algorithm:o,state:0,bits:t,rng:i,eInt:e||65537,e:new X(null),p:null,q:null,qBits:t>>1,pBits:t-(t>>1),pqState:0,num:null,keys:null},s.e.fromInt(s.eInt);else throw new Error("Invalid key generation algorithm: "+o);return s};q.rsa.stepKeyPairGenerationState=function(t,e){"algorithm"in t||(t.algorithm="PRIMEINC");var r=new X(null);r.fromInt(30);for(var n=0,i=function(f,d){return f|d},o=+new Date,s,a=0;t.keys===null&&(e<=0||a<e);){if(t.state===0){var c=t.p===null?t.pBits:t.qBits,u=c-1;t.pqState===0?(t.num=new X(c,t.rng),t.num.testBit(u)||t.num.bitwiseTo(X.ONE.shiftLeft(u),i,t.num),t.num.dAddOffset(31-t.num.mod(r).byteValue(),0),n=0,++t.pqState):t.pqState===1?t.num.bitLength()>c?t.pqState=0:t.num.isProbablePrime(K2(t.num.bitLength()))?++t.pqState:t.num.dAddOffset(P2[n++%8],0):t.pqState===2?t.pqState=t.num.subtract(X.ONE).gcd(t.e).compareTo(X.ONE)===0?3:0:t.pqState===3&&(t.pqState=0,t.p===null?t.p=t.num:t.q=t.num,t.p!==null&&t.q!==null&&++t.state,t.num=null)}else if(t.state===1)t.p.compareTo(t.q)<0&&(t.num=t.p,t.p=t.q,t.q=t.num),++t.state;else if(t.state===2)t.p1=t.p.subtract(X.ONE),t.q1=t.q.subtract(X.ONE),t.phi=t.p1.multiply(t.q1),++t.state;else if(t.state===3)t.phi.gcd(t.e).compareTo(X.ONE)===0?++t.state:(t.p=null,t.q=null,t.state=0);else if(t.state===4)t.n=t.p.multiply(t.q),t.n.bitLength()===t.bits?++t.state:(t.q=null,t.state=0);else if(t.state===5){var l=t.e.modInverse(t.phi);t.keys={privateKey:q.rsa.setPrivateKey(t.n,t.e,l,t.p,t.q,l.mod(t.p1),l.mod(t.q1),t.q.modInverse(t.p)),publicKey:q.rsa.setPublicKey(t.n,t.e)}}s=+new Date,a+=s-o,o=s}return t.keys!==null};q.rsa.generateKeyPair=function(t,e,r,n){if(arguments.length===1?typeof t=="object"?(r=t,t=void 0):typeof t=="function"&&(n=t,t=void 0):arguments.length===2?typeof t=="number"?typeof e=="function"?(n=e,e=void 0):typeof e!="number"&&(r=e,e=void 0):(r=t,n=e,t=void 0,e=void 0):arguments.length===3&&(typeof e=="number"?typeof r=="function"&&(n=r,r=void 0):(n=r,r=e,e=void 0)),r=r||{},t===void 0&&(t=r.bits||2048),e===void 0&&(e=r.e||65537),!F.options.usePureJavaScript&&!r.prng&&t>=256&&t<=16384&&(e===65537||e===3)){if(n){if(N0("generateKeyPair"))return Pc.generateKeyPair("rsa",{modulusLength:t,publicExponent:e,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(k0("generateKey")&&k0("exportKey"))return vt.globalScope.crypto.subtle.generateKey({name:"RSASSA-PKCS1-v1_5",modulusLength:t,publicExponent:M0(e),hash:{name:"SHA-256"}},!0,["sign","verify"]).then(function(a){return vt.globalScope.crypto.subtle.exportKey("pkcs8",a.privateKey)}).then(void 0,function(a){n(a)}).then(function(a){if(a){var c=q.privateKeyFromAsn1(b.fromDer(F.util.createBuffer(a)));n(null,{privateKey:c,publicKey:q.setRsaPublicKey(c.n,c.e)})}});if(O0("generateKey")&&O0("exportKey")){var i=vt.globalScope.msCrypto.subtle.generateKey({name:"RSASSA-PKCS1-v1_5",modulusLength:t,publicExponent:M0(e),hash:{name:"SHA-256"}},!0,["sign","verify"]);i.oncomplete=function(a){var c=a.target.result,u=vt.globalScope.msCrypto.subtle.exportKey("pkcs8",c.privateKey);u.oncomplete=function(l){var f=l.target.result,d=q.privateKeyFromAsn1(b.fromDer(F.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(N0("generateKeyPairSync")){var o=Pc.generateKeyPairSync("rsa",{modulusLength:t,publicExponent:e,publicKeyEncoding:{type:"spki",format:"pem"},privateKeyEncoding:{type:"pkcs8",format:"pem"}});return{privateKey:q.privateKeyFromPem(o.privateKey),publicKey:q.publicKeyFromPem(o.publicKey)}}}var s=q.rsa.createKeyPairGenerationState(t,e,r);if(!n)return q.rsa.stepKeyPairGenerationState(s,0),s.keys;F2(s,r,n)};q.setRsaPublicKey=q.rsa.setPublicKey=function(t,e){var r={n:t,e};return r.encrypt=function(n,i,o){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 F0(a,c,2).getBytes()}};else if(i==="RSA-OAEP"||i==="RSAES-OAEP")i={encode:function(a,c){return F.pkcs1.encode_rsa_oaep(c,a,o)}};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 s=i.encode(n,r,!0);return q.rsa.encrypt(s,r,!0)},r.verify=function(n,i,o,s){typeof o=="string"?o=o.toUpperCase():o===void 0&&(o="RSASSA-PKCS1-V1_5"),s===void 0&&(s={_parseAllDigestBytes:!0}),"_parseAllDigestBytes"in s||(s._parseAllDigestBytes=!0),o==="RSASSA-PKCS1-V1_5"?o={verify:function(c,u){u=Es(u,r,!0);var l=b.fromDer(u,{parseAllBytes:s._parseAllDigestBytes}),f={},d=[];if(!b.validate(l,M2,f,d)){var p=new Error("ASN.1 object does not contain a valid RSASSA-PKCS1-v1_5 DigestInfo value.");throw p.errors=d,p}var h=b.derToOid(f.algorithmIdentifier);if(!(h===F.oids.md2||h===F.oids.md5||h===F.oids.sha1||h===F.oids.sha224||h===F.oids.sha256||h===F.oids.sha384||h===F.oids.sha512||h===F.oids["sha512-224"]||h===F.oids["sha512-256"])){var p=new Error("Unknown RSASSA-PKCS1-v1_5 DigestAlgorithm identifier.");throw p.oid=h,p}if((h===F.oids.md2||h===F.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}}:(o==="NONE"||o==="NULL"||o===null)&&(o={verify:function(c,u){return u=Es(u,r,!0),c===u}});var a=q.rsa.decrypt(i,r,!0,!1);return o.verify(n,a,r.n.bitLength())},r};q.setRsaPrivateKey=q.rsa.setPrivateKey=function(t,e,r,n,i,o,s,a){var c={n:t,e,d:r,p:n,q:i,dP:o,dQ:s,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:Es};else if(l==="RSA-OAEP"||l==="RSAES-OAEP")l={decode:function(p,h){return F.pkcs1.decode_rsa_oaep(h,p,f)}};else if(["RAW","NONE","NULL",null].indexOf(l)!==-1)l={decode:function(p){return p}};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:U2},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(t){return b.create(b.Class.UNIVERSAL,b.Type.SEQUENCE,!0,[b.create(b.Class.UNIVERSAL,b.Type.INTEGER,!1,b.integerToDer(0).getBytes()),b.create(b.Class.UNIVERSAL,b.Type.SEQUENCE,!0,[b.create(b.Class.UNIVERSAL,b.Type.OID,!1,b.oidToDer(q.oids.rsaEncryption).getBytes()),b.create(b.Class.UNIVERSAL,b.Type.NULL,!1,"")]),b.create(b.Class.UNIVERSAL,b.Type.OCTETSTRING,!1,b.toDer(t).getBytes())])};q.privateKeyFromAsn1=function(t){var e={},r=[];if(b.validate(t,D2,e,r)&&(t=b.fromDer(F.util.createBuffer(e.privateKey))),e={},r=[],!b.validate(t,N2,e,r)){var n=new Error("Cannot read private key. ASN.1 object does not contain an RSAPrivateKey.");throw n.errors=r,n}var i,o,s,a,c,u,l,f;return i=F.util.createBuffer(e.privateKeyModulus).toHex(),o=F.util.createBuffer(e.privateKeyPublicExponent).toHex(),s=F.util.createBuffer(e.privateKeyPrivateExponent).toHex(),a=F.util.createBuffer(e.privateKeyPrime1).toHex(),c=F.util.createBuffer(e.privateKeyPrime2).toHex(),u=F.util.createBuffer(e.privateKeyExponent1).toHex(),l=F.util.createBuffer(e.privateKeyExponent2).toHex(),f=F.util.createBuffer(e.privateKeyCoefficient).toHex(),q.setRsaPrivateKey(new X(i,16),new X(o,16),new X(s,16),new X(a,16),new X(c,16),new X(u,16),new X(l,16),new X(f,16))};q.privateKeyToAsn1=q.privateKeyToRSAPrivateKey=function(t){return b.create(b.Class.UNIVERSAL,b.Type.SEQUENCE,!0,[b.create(b.Class.UNIVERSAL,b.Type.INTEGER,!1,b.integerToDer(0).getBytes()),b.create(b.Class.UNIVERSAL,b.Type.INTEGER,!1,Gt(t.n)),b.create(b.Class.UNIVERSAL,b.Type.INTEGER,!1,Gt(t.e)),b.create(b.Class.UNIVERSAL,b.Type.INTEGER,!1,Gt(t.d)),b.create(b.Class.UNIVERSAL,b.Type.INTEGER,!1,Gt(t.p)),b.create(b.Class.UNIVERSAL,b.Type.INTEGER,!1,Gt(t.q)),b.create(b.Class.UNIVERSAL,b.Type.INTEGER,!1,Gt(t.dP)),b.create(b.Class.UNIVERSAL,b.Type.INTEGER,!1,Gt(t.dQ)),b.create(b.Class.UNIVERSAL,b.Type.INTEGER,!1,Gt(t.qInv))])};q.publicKeyFromAsn1=function(t){var e={},r=[];if(b.validate(t,O2,e,r)){var n=b.derToOid(e.publicKeyOid);if(n!==q.oids.rsaEncryption){var i=new Error("Cannot read public key. Unknown OID.");throw i.oid=n,i}t=e.rsaPublicKey}if(r=[],!b.validate(t,k2,e,r)){var i=new Error("Cannot read public key. ASN.1 object does not contain an RSAPublicKey.");throw i.errors=r,i}var o=F.util.createBuffer(e.publicKeyModulus).toHex(),s=F.util.createBuffer(e.publicKeyExponent).toHex();return q.setRsaPublicKey(new X(o,16),new X(s,16))};q.publicKeyToAsn1=q.publicKeyToSubjectPublicKeyInfo=function(t){return b.create(b.Class.UNIVERSAL,b.Type.SEQUENCE,!0,[b.create(b.Class.UNIVERSAL,b.Type.SEQUENCE,!0,[b.create(b.Class.UNIVERSAL,b.Type.OID,!1,b.oidToDer(q.oids.rsaEncryption).getBytes()),b.create(b.Class.UNIVERSAL,b.Type.NULL,!1,"")]),b.create(b.Class.UNIVERSAL,b.Type.BITSTRING,!1,[q.publicKeyToRSAPublicKey(t)])])};q.publicKeyToRSAPublicKey=function(t){return b.create(b.Class.UNIVERSAL,b.Type.SEQUENCE,!0,[b.create(b.Class.UNIVERSAL,b.Type.INTEGER,!1,Gt(t.n)),b.create(b.Class.UNIVERSAL,b.Type.INTEGER,!1,Gt(t.e))])};function F0(t,e,r){var n=F.util.createBuffer(),i=Math.ceil(e.n.bitLength()/8);if(t.length>i-11){var o=new Error("Message is too long for PKCS#1 v1.5 padding.");throw o.length=t.length,o.max=i-11,o}n.putByte(0),n.putByte(r);var s=i-3-t.length,a;if(r===0||r===1){a=r===0?0:255;for(var c=0;c<s;++c)n.putByte(a)}else for(;s>0;){for(var u=0,l=F.random.getBytes(s),c=0;c<s;++c)a=l.charCodeAt(c),a===0?++u:n.putByte(a);s=u}return n.putByte(0),n.putBytes(t),n}function Es(t,e,r,n){var i=Math.ceil(e.n.bitLength()/8),o=F.util.createBuffer(t),s=o.getByte(),a=o.getByte();if(s!==0||r&&a!==0&&a!==1||!r&&a!=2||r&&a===0&&typeof n>"u")throw new Error("Encryption block is invalid.");var c=0;if(a===0){c=i-3-n;for(var u=0;u<c;++u)if(o.getByte()!==0)throw new Error("Encryption block is invalid.")}else if(a===1)for(c=0;o.length()>1;){if(o.getByte()!==255){--o.read;break}++c}else if(a===2)for(c=0;o.length()>1;){if(o.getByte()===0){--o.read;break}++c}var l=o.getByte();if(l!==0||c!==i-3-o.length())throw new Error("Encryption block is invalid.");return o.getBytes()}function F2(t,e,r){typeof e=="function"&&(r=e,e={}),e=e||{};var n={algorithm:{name:e.algorithm||"PRIMEINC",options:{workers:e.workers||2,workLoad:e.workLoad||100,workerScript:e.workerScript}}};"prng"in e&&(n.prng=e.prng),i();function i(){o(t.pBits,function(a,c){if(a)return r(a);if(t.p=c,t.q!==null)return s(a,t.q);o(t.qBits,s)})}function o(a,c){F.prime.generateProbablePrime(a,n,c)}function s(a,c){if(a)return r(a);if(t.q=c,t.p.compareTo(t.q)<0){var u=t.p;t.p=t.q,t.q=u}if(t.p.subtract(X.ONE).gcd(t.e).compareTo(X.ONE)!==0){t.p=null,i();return}if(t.q.subtract(X.ONE).gcd(t.e).compareTo(X.ONE)!==0){t.q=null,o(t.qBits,s);return}if(t.p1=t.p.subtract(X.ONE),t.q1=t.q.subtract(X.ONE),t.phi=t.p1.multiply(t.q1),t.phi.gcd(t.e).compareTo(X.ONE)!==0){t.p=t.q=null,i();return}if(t.n=t.p.multiply(t.q),t.n.bitLength()!==t.bits){t.q=null,o(t.qBits,s);return}var l=t.e.modInverse(t.phi);t.keys={privateKey:q.rsa.setPrivateKey(t.n,t.e,l,t.p,t.q,l.mod(t.p1),l.mod(t.q1),t.q.modInverse(t.p)),publicKey:q.rsa.setPublicKey(t.n,t.e)},r(null,t.keys)}}function Gt(t){var e=t.toString(16);e[0]>="8"&&(e="00"+e);var r=F.util.hexToBytes(e);return r.length>1&&(r.charCodeAt(0)===0&&!(r.charCodeAt(1)&128)||r.charCodeAt(0)===255&&(r.charCodeAt(1)&128)===128)?r.substr(1):r}function K2(t){return t<=100?27:t<=150?18:t<=200?15:t<=250?12:t<=300?9:t<=350?8:t<=400?7:t<=500?6:t<=600?5:t<=800?4:t<=1250?3:2}function N0(t){return F.util.isNodejs&&typeof Pc[t]=="function"}function k0(t){return typeof vt.globalScope<"u"&&typeof vt.globalScope.crypto=="object"&&typeof vt.globalScope.crypto.subtle=="object"&&typeof vt.globalScope.crypto.subtle[t]=="function"}function O0(t){return typeof vt.globalScope<"u"&&typeof vt.globalScope.msCrypto=="object"&&typeof vt.globalScope.msCrypto.subtle=="object"&&typeof vt.globalScope.msCrypto.subtle[t]=="function"}function M0(t){for(var e=F.util.hexToBytes(t.toString(16)),r=new Uint8Array(e.length),n=0;n<e.length;++n)r[n]=e.charCodeAt(n);return r}});var G0=B((_4,H0)=>{var P=ae();hs();Qi();Zh();tn();as();_c();i0();Xi();y0();_s();Le();typeof V0>"u"&&(V0=P.jsbn.BigInteger);var V0,_=P.asn1,H=P.pki=P.pki||{};H0.exports=H.pbe=P.pbe=P.pbe||{};var sn=H.oids,V2={name:"EncryptedPrivateKeyInfo",tagClass:_.Class.UNIVERSAL,type:_.Type.SEQUENCE,constructed:!0,value:[{name:"EncryptedPrivateKeyInfo.encryptionAlgorithm",tagClass:_.Class.UNIVERSAL,type:_.Type.SEQUENCE,constructed:!0,value:[{name:"AlgorithmIdentifier.algorithm",tagClass:_.Class.UNIVERSAL,type:_.Type.OID,constructed:!1,capture:"encryptionOid"},{name:"AlgorithmIdentifier.parameters",tagClass:_.Class.UNIVERSAL,type:_.Type.SEQUENCE,constructed:!0,captureAsn1:"encryptionParams"}]},{name:"EncryptedPrivateKeyInfo.encryptedData",tagClass:_.Class.UNIVERSAL,type:_.Type.OCTETSTRING,constructed:!1,capture:"encryptedData"}]},q2={name:"PBES2Algorithms",tagClass:_.Class.UNIVERSAL,type:_.Type.SEQUENCE,constructed:!0,value:[{name:"PBES2Algorithms.keyDerivationFunc",tagClass:_.Class.UNIVERSAL,type:_.Type.SEQUENCE,constructed:!0,value:[{name:"PBES2Algorithms.keyDerivationFunc.oid",tagClass:_.Class.UNIVERSAL,type:_.Type.OID,constructed:!1,capture:"kdfOid"},{name:"PBES2Algorithms.params",tagClass:_.Class.UNIVERSAL,type:_.Type.SEQUENCE,constructed:!0,value:[{name:"PBES2Algorithms.params.salt",tagClass:_.Class.UNIVERSAL,type:_.Type.OCTETSTRING,constructed:!1,capture:"kdfSalt"},{name:"PBES2Algorithms.params.iterationCount",tagClass:_.Class.UNIVERSAL,type:_.Type.INTEGER,constructed:!1,capture:"kdfIterationCount"},{name:"PBES2Algorithms.params.keyLength",tagClass:_.Class.UNIVERSAL,type:_.Type.INTEGER,constructed:!1,optional:!0,capture:"keyLength"},{name:"PBES2Algorithms.params.prf",tagClass:_.Class.UNIVERSAL,type:_.Type.SEQUENCE,constructed:!0,optional:!0,value:[{name:"PBES2Algorithms.params.prf.algorithm",tagClass:_.Class.UNIVERSAL,type:_.Type.OID,constructed:!1,capture:"prfOid"}]}]}]},{name:"PBES2Algorithms.encryptionScheme",tagClass:_.Class.UNIVERSAL,type:_.Type.SEQUENCE,constructed:!0,value:[{name:"PBES2Algorithms.encryptionScheme.oid",tagClass:_.Class.UNIVERSAL,type:_.Type.OID,constructed:!1,capture:"encOid"},{name:"PBES2Algorithms.encryptionScheme.iv",tagClass:_.Class.UNIVERSAL,type:_.Type.OCTETSTRING,constructed:!1,capture:"encIv"}]}]},z2={name:"pkcs-12PbeParams",tagClass:_.Class.UNIVERSAL,type:_.Type.SEQUENCE,constructed:!0,value:[{name:"pkcs-12PbeParams.salt",tagClass:_.Class.UNIVERSAL,type:_.Type.OCTETSTRING,constructed:!1,capture:"salt"},{name:"pkcs-12PbeParams.iterations",tagClass:_.Class.UNIVERSAL,type:_.Type.INTEGER,constructed:!1,capture:"iterations"}]};H.encryptPrivateKeyInfo=function(t,e,r){r=r||{},r.saltSize=r.saltSize||8,r.count=r.count||2048,r.algorithm=r.algorithm||"aes128",r.prfAlgorithm=r.prfAlgorithm||"sha1";var n=P.random.getBytesSync(r.saltSize),i=r.count,o=_.integerToDer(i),s,a,c;if(r.algorithm.indexOf("aes")===0||r.algorithm==="des"){var u,l,f;switch(r.algorithm){case"aes128":s=16,u=16,l=sn["aes128-CBC"],f=P.aes.createEncryptionCipher;break;case"aes192":s=24,u=16,l=sn["aes192-CBC"],f=P.aes.createEncryptionCipher;break;case"aes256":s=32,u=16,l=sn["aes256-CBC"],f=P.aes.createEncryptionCipher;break;case"des":s=8,u=8,l=sn.desCBC,f=P.des.createEncryptionCipher;break;default:var d=new Error("Cannot encrypt private key. Unknown encryption algorithm.");throw d.algorithm=r.algorithm,d}var p="hmacWith"+r.prfAlgorithm.toUpperCase(),h=$0(p),m=P.pkcs5.pbkdf2(e,n,i,s,h),y=P.random.getBytesSync(u),g=f(m);g.start(y),g.update(_.toDer(t)),g.finish(),c=g.output.getBytes();var x=$2(n,o,s,p);a=_.create(_.Class.UNIVERSAL,_.Type.SEQUENCE,!0,[_.create(_.Class.UNIVERSAL,_.Type.OID,!1,_.oidToDer(sn.pkcs5PBES2).getBytes()),_.create(_.Class.UNIVERSAL,_.Type.SEQUENCE,!0,[_.create(_.Class.UNIVERSAL,_.Type.SEQUENCE,!0,[_.create(_.Class.UNIVERSAL,_.Type.OID,!1,_.oidToDer(sn.pkcs5PBKDF2).getBytes()),x]),_.create(_.Class.UNIVERSAL,_.Type.SEQUENCE,!0,[_.create(_.Class.UNIVERSAL,_.Type.OID,!1,_.oidToDer(l).getBytes()),_.create(_.Class.UNIVERSAL,_.Type.OCTETSTRING,!1,y)])])])}else if(r.algorithm==="3des"){s=24;var E=new P.util.ByteBuffer(n),m=H.pbe.generatePkcs12Key(e,E,1,i,s),y=H.pbe.generatePkcs12Key(e,E,2,i,s),g=P.des.createEncryptionCipher(m);g.start(y),g.update(_.toDer(t)),g.finish(),c=g.output.getBytes(),a=_.create(_.Class.UNIVERSAL,_.Type.SEQUENCE,!0,[_.create(_.Class.UNIVERSAL,_.Type.OID,!1,_.oidToDer(sn["pbeWithSHAAnd3-KeyTripleDES-CBC"]).getBytes()),_.create(_.Class.UNIVERSAL,_.Type.SEQUENCE,!0,[_.create(_.Class.UNIVERSAL,_.Type.OCTETSTRING,!1,n),_.create(_.Class.UNIVERSAL,_.Type.INTEGER,!1,o.getBytes())])])}else{var d=new Error("Cannot encrypt private key. Unknown encryption algorithm.");throw d.algorithm=r.algorithm,d}var T=_.create(_.Class.UNIVERSAL,_.Type.SEQUENCE,!0,[a,_.create(_.Class.UNIVERSAL,_.Type.OCTETSTRING,!1,c)]);return T};H.decryptPrivateKeyInfo=function(t,e){var r=null,n={},i=[];if(!_.validate(t,V2,n,i)){var o=new Error("Cannot read encrypted private key. ASN.1 object is not a supported EncryptedPrivateKeyInfo.");throw o.errors=i,o}var s=_.derToOid(n.encryptionOid),a=H.pbe.getCipher(s,n.encryptionParams,e),c=P.util.createBuffer(n.encryptedData);return a.update(c),a.finish()&&(r=_.fromDer(a.output)),r};H.encryptedPrivateKeyToPem=function(t,e){var r={type:"ENCRYPTED PRIVATE KEY",body:_.toDer(t).getBytes()};return P.pem.encode(r,{maxline:e})};H.encryptedPrivateKeyFromPem=function(t){var e=P.pem.decode(t)[0];if(e.type!=="ENCRYPTED PRIVATE KEY"){var r=new Error('Could not convert encrypted private key from PEM; PEM header type is "ENCRYPTED PRIVATE KEY".');throw r.headerType=e.type,r}if(e.procType&&e.procType.type==="ENCRYPTED")throw new Error("Could not convert encrypted private key from PEM; PEM is encrypted.");return _.fromDer(e.body)};H.encryptRsaPrivateKey=function(t,e,r){if(r=r||{},!r.legacy){var n=H.wrapRsaPrivateKey(H.privateKeyToAsn1(t));return n=H.encryptPrivateKeyInfo(n,e,r),H.encryptedPrivateKeyToPem(n)}var i,o,s,a;switch(r.algorithm){case"aes128":i="AES-128-CBC",s=16,o=P.random.getBytesSync(16),a=P.aes.createEncryptionCipher;break;case"aes192":i="AES-192-CBC",s=24,o=P.random.getBytesSync(16),a=P.aes.createEncryptionCipher;break;case"aes256":i="AES-256-CBC",s=32,o=P.random.getBytesSync(16),a=P.aes.createEncryptionCipher;break;case"3des":i="DES-EDE3-CBC",s=24,o=P.random.getBytesSync(8),a=P.des.createEncryptionCipher;break;case"des":i="DES-CBC",s=8,o=P.random.getBytesSync(8),a=P.des.createEncryptionCipher;break;default:var c=new Error('Could not encrypt RSA private key; unsupported encryption algorithm "'+r.algorithm+'".');throw c.algorithm=r.algorithm,c}var u=P.pbe.opensslDeriveBytes(e,o.substr(0,8),s),l=a(u);l.start(o),l.update(_.toDer(H.privateKeyToAsn1(t))),l.finish();var f={type:"RSA PRIVATE KEY",procType:{version:"4",type:"ENCRYPTED"},dekInfo:{algorithm:i,parameters:P.util.bytesToHex(o).toUpperCase()},body:l.output.getBytes()};return P.pem.encode(f)};H.decryptRsaPrivateKey=function(t,e){var r=null,n=P.pem.decode(t)[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 o,s;switch(n.dekInfo.algorithm){case"DES-CBC":o=8,s=P.des.createDecryptionCipher;break;case"DES-EDE3-CBC":o=24,s=P.des.createDecryptionCipher;break;case"AES-128-CBC":o=16,s=P.aes.createDecryptionCipher;break;case"AES-192-CBC":o=24,s=P.aes.createDecryptionCipher;break;case"AES-256-CBC":o=32,s=P.aes.createDecryptionCipher;break;case"RC2-40-CBC":o=5,s=function(f){return P.rc2.createDecryptionCipher(f,40)};break;case"RC2-64-CBC":o=8,s=function(f){return P.rc2.createDecryptionCipher(f,64)};break;case"RC2-128-CBC":o=16,s=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(e,a.substr(0,8),o),u=s(c);if(u.start(a),u.update(P.util.createBuffer(n.body)),u.finish())r=u.output.getBytes();else return r}else r=n.body;return n.type==="ENCRYPTED PRIVATE KEY"?r=H.decryptPrivateKeyInfo(_.fromDer(r),e):r=_.fromDer(r),r!==null&&(r=H.privateKeyFromAsn1(r)),r};H.pbe.generatePkcs12Key=function(t,e,r,n,i,o){var s,a;if(typeof o>"u"||o===null){if(!("sha1"in P.md))throw new Error('"sha1" hash algorithm unavailable.');o=P.md.sha1.create()}var c=o.digestLength,u=o.blockLength,l=new P.util.ByteBuffer,f=new P.util.ByteBuffer;if(t!=null){for(a=0;a<t.length;a++)f.putInt16(t.charCodeAt(a));f.putInt16(0)}var d=f.length(),p=e.length(),h=new P.util.ByteBuffer;h.fillWithByte(r,u);var m=u*Math.ceil(p/u),y=new P.util.ByteBuffer;for(a=0;a<m;a++)y.putByte(e.at(a%p));var g=u*Math.ceil(d/u),x=new P.util.ByteBuffer;for(a=0;a<g;a++)x.putByte(f.at(a%d));var E=y;E.putBuffer(x);for(var T=Math.ceil(i/c),I=1;I<=T;I++){var C=new P.util.ByteBuffer;C.putBytes(h.bytes()),C.putBytes(E.bytes());for(var O=0;O<n;O++)o.start(),o.update(C.getBytes()),C=o.digest();var U=new P.util.ByteBuffer;for(a=0;a<u;a++)U.putByte(C.at(a%c));var se=Math.ceil(p/u)+Math.ceil(d/u),At=new P.util.ByteBuffer;for(s=0;s<se;s++){var ut=new P.util.ByteBuffer(E.getBytes(u)),Je=511;for(a=U.length()-1;a>=0;a--)Je=Je>>8,Je+=U.at(a)+ut.at(a),ut.setAt(a,Je&255);At.putBuffer(ut)}E=At,l.putBuffer(C)}return l.truncate(l.length()-i),l};H.pbe.getCipher=function(t,e,r){switch(t){case H.oids.pkcs5PBES2:return H.pbe.getCipherForPBES2(t,e,r);case H.oids["pbeWithSHAAnd3-KeyTripleDES-CBC"]:case H.oids["pbewithSHAAnd40BitRC2-CBC"]:return H.pbe.getCipherForPKCS12PBE(t,e,r);default:var n=new Error("Cannot read encrypted PBE data block. Unsupported OID.");throw n.oid=t,n.supportedOids=["pkcs5PBES2","pbeWithSHAAnd3-KeyTripleDES-CBC","pbewithSHAAnd40BitRC2-CBC"],n}};H.pbe.getCipherForPBES2=function(t,e,r){var n={},i=[];if(!_.validate(e,q2,n,i)){var o=new Error("Cannot read password-based-encryption algorithm parameters. ASN.1 object is not a supported EncryptedPrivateKeyInfo.");throw o.errors=i,o}if(t=_.derToOid(n.kdfOid),t!==H.oids.pkcs5PBKDF2){var o=new Error("Cannot read encrypted private key. Unsupported key derivation function OID.");throw o.oid=t,o.supportedOids=["pkcs5PBKDF2"],o}if(t=_.derToOid(n.encOid),t!==H.oids["aes128-CBC"]&&t!==H.oids["aes192-CBC"]&&t!==H.oids["aes256-CBC"]&&t!==H.oids["des-EDE3-CBC"]&&t!==H.oids.desCBC){var o=new Error("Cannot read encrypted private key. Unsupported encryption scheme OID.");throw o.oid=t,o.supportedOids=["aes128-CBC","aes192-CBC","aes256-CBC","des-EDE3-CBC","desCBC"],o}var s=n.kdfSalt,a=P.util.createBuffer(n.kdfIterationCount);a=a.getInt(a.length()<<3);var c,u;switch(H.oids[t]){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=z0(n.prfOid),f=P.pkcs5.pbkdf2(r,s,a,c,l),d=n.encIv,p=u(f);return p.start(d),p};H.pbe.getCipherForPKCS12PBE=function(t,e,r){var n={},i=[];if(!_.validate(e,z2,n,i)){var o=new Error("Cannot read password-based-encryption algorithm parameters. ASN.1 object is not a supported EncryptedPrivateKeyInfo.");throw o.errors=i,o}var s=P.util.createBuffer(n.salt),a=P.util.createBuffer(n.iterations);a=a.getInt(a.length()<<3);var c,u,l;switch(t){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 o=new Error("Cannot read PKCS #12 PBE data block. Unsupported OID.");throw o.oid=t,o}var f=z0(n.prfOid),d=H.pbe.generatePkcs12Key(r,s,1,a,c,f);f.start();var p=H.pbe.generatePkcs12Key(r,s,2,a,u,f);return l(d,p)};H.pbe.opensslDeriveBytes=function(t,e,r,n){if(typeof n>"u"||n===null){if(!("md5"in P.md))throw new Error('"md5" hash algorithm unavailable.');n=P.md.md5.create()}e===null&&(e="");for(var i=[q0(n,t+e)],o=16,s=1;o<r;++s,o+=16)i.push(q0(n,i[s-1]+t+e));return i.join("").substr(0,r)};function q0(t,e){return t.start().update(e).digest().getBytes()}function z0(t){var e;if(!t)e="hmacWithSHA1";else if(e=H.oids[_.derToOid(t)],!e){var r=new Error("Unsupported PRF OID.");throw r.oid=t,r.supported=["hmacWithSHA1","hmacWithSHA224","hmacWithSHA256","hmacWithSHA384","hmacWithSHA512"],r}return $0(e)}function $0(t){var e=P.md;switch(t){case"hmacWithSHA224":e=P.md.sha512;case"hmacWithSHA1":case"hmacWithSHA256":case"hmacWithSHA384":case"hmacWithSHA512":t=t.substr(8).toLowerCase();break;default:var r=new Error("Unsupported PRF algorithm.");throw r.algorithm=t,r.supported=["hmacWithSHA1","hmacWithSHA224","hmacWithSHA256","hmacWithSHA384","hmacWithSHA512"],r}if(!e||!(t in e))throw new Error("Unknown hash algorithm: "+t);return e[t].create()}function $2(t,e,r,n){var i=_.create(_.Class.UNIVERSAL,_.Type.SEQUENCE,!0,[_.create(_.Class.UNIVERSAL,_.Type.OCTETSTRING,!1,t),_.create(_.Class.UNIVERSAL,_.Type.INTEGER,!1,e.getBytes())]);return n!=="hmacWithSHA1"&&i.value.push(_.create(_.Class.UNIVERSAL,_.Type.INTEGER,!1,P.util.hexToBytes(r.toString(16))),_.create(_.Class.UNIVERSAL,_.Type.SEQUENCE,!0,[_.create(_.Class.UNIVERSAL,_.Type.OID,!1,_.oidToDer(H.oids[n]).getBytes()),_.create(_.Class.UNIVERSAL,_.Type.NULL,!1,"")])),i}});var $d=B((FC,zd)=>{"use strict";zd.exports=Yv;function Yv(t,e){for(var r=new Array(arguments.length-1),n=0,i=2,o=!0;i<arguments.length;)r[n++]=arguments[i++];return new Promise(function(a,c){r[n]=function(l){if(o)if(o=!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{t.apply(e||null,r)}catch(u){o&&(o=!1,c(u))}})}});var Wd=B(Yd=>{"use strict";var Ns=Yd;Ns.length=function(e){var r=e.length;if(!r)return 0;for(var n=0;--r%4>1&&e.charAt(r)==="=";)++n;return Math.ceil(e.length*3)/4-n};var ti=new Array(64),Gd=new Array(123);for(Tt=0;Tt<64;)Gd[ti[Tt]=Tt<26?Tt+65:Tt<52?Tt+71:Tt<62?Tt-4:Tt-59|43]=Tt++;var Tt;Ns.encode=function(e,r,n){for(var i=null,o=[],s=0,a=0,c;r<n;){var u=e[r++];switch(a){case 0:o[s++]=ti[u>>2],c=(u&3)<<4,a=1;break;case 1:o[s++]=ti[c|u>>4],c=(u&15)<<2,a=2;break;case 2:o[s++]=ti[c|u>>6],o[s++]=ti[u&63],a=0;break}s>8191&&((i||(i=[])).push(String.fromCharCode.apply(String,o)),s=0)}return a&&(o[s++]=ti[c],o[s++]=61,a===1&&(o[s++]=61)),i?(s&&i.push(String.fromCharCode.apply(String,o.slice(0,s))),i.join("")):String.fromCharCode.apply(String,o.slice(0,s))};var Hd="invalid encoding";Ns.decode=function(e,r,n){for(var i=n,o=0,s,a=0;a<e.length;){var c=e.charCodeAt(a++);if(c===61&&o>1)break;if((c=Gd[c])===void 0)throw Error(Hd);switch(o){case 0:s=c,o=1;break;case 1:r[n++]=s<<2|(c&48)>>4,s=c,o=2;break;case 2:r[n++]=(s&15)<<4|(c&60)>>2,s=c,o=3;break;case 3:r[n++]=(s&3)<<6|c,o=0;break}}if(o===1)throw Error(Hd);return n-i};Ns.test=function(e){return/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/.test(e)}});var Xd=B((VC,Qd)=>{"use strict";Qd.exports=ks;function ks(){this._listeners={}}ks.prototype.on=function(e,r,n){return(this._listeners[e]||(this._listeners[e]=[])).push({fn:r,ctx:n||this}),this};ks.prototype.off=function(e,r){if(e===void 0)this._listeners={};else if(r===void 0)this._listeners[e]=[];else for(var n=this._listeners[e],i=0;i<n.length;)n[i].fn===r?n.splice(i,1):++i;return this};ks.prototype.emit=function(e){var r=this._listeners[e];if(r){for(var n=[],i=1;i<arguments.length;)n.push(arguments[i++]);for(i=0;i<r.length;)r[i].fn.apply(r[i++].ctx,n)}return this}});var np=B((qC,rp)=>{"use strict";rp.exports=Zd(Zd);function Zd(t){return typeof Float32Array<"u"?function(){var e=new Float32Array([-0]),r=new Uint8Array(e.buffer),n=r[3]===128;function i(c,u,l){e[0]=c,u[l]=r[0],u[l+1]=r[1],u[l+2]=r[2],u[l+3]=r[3]}function o(c,u,l){e[0]=c,u[l]=r[3],u[l+1]=r[2],u[l+2]=r[1],u[l+3]=r[0]}t.writeFloatLE=n?i:o,t.writeFloatBE=n?o:i;function s(c,u){return r[0]=c[u],r[1]=c[u+1],r[2]=c[u+2],r[3]=c[u+3],e[0]}function a(c,u){return r[3]=c[u],r[2]=c[u+1],r[1]=c[u+2],r[0]=c[u+3],e[0]}t.readFloatLE=n?s:a,t.readFloatBE=n?a:s}():function(){function e(n,i,o,s){var a=i<0?1:0;if(a&&(i=-i),i===0)n(1/i>0?0:2147483648,o,s);else if(isNaN(i))n(2143289344,o,s);else if(i>34028234663852886e22)n((a<<31|2139095040)>>>0,o,s);else if(i<11754943508222875e-54)n((a<<31|Math.round(i/1401298464324817e-60))>>>0,o,s);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,o,s)}}t.writeFloatLE=e.bind(null,jd),t.writeFloatBE=e.bind(null,Jd);function r(n,i,o){var s=n(i,o),a=(s>>31)*2+1,c=s>>>23&255,u=s&8388607;return c===255?u?NaN:a*(1/0):c===0?a*1401298464324817e-60*u:a*Math.pow(2,c-150)*(u+8388608)}t.readFloatLE=r.bind(null,ep),t.readFloatBE=r.bind(null,tp)}(),typeof Float64Array<"u"?function(){var e=new Float64Array([-0]),r=new Uint8Array(e.buffer),n=r[7]===128;function i(c,u,l){e[0]=c,u[l]=r[0],u[l+1]=r[1],u[l+2]=r[2],u[l+3]=r[3],u[l+4]=r[4],u[l+5]=r[5],u[l+6]=r[6],u[l+7]=r[7]}function o(c,u,l){e[0]=c,u[l]=r[7],u[l+1]=r[6],u[l+2]=r[5],u[l+3]=r[4],u[l+4]=r[3],u[l+5]=r[2],u[l+6]=r[1],u[l+7]=r[0]}t.writeDoubleLE=n?i:o,t.writeDoubleBE=n?o:i;function s(c,u){return r[0]=c[u],r[1]=c[u+1],r[2]=c[u+2],r[3]=c[u+3],r[4]=c[u+4],r[5]=c[u+5],r[6]=c[u+6],r[7]=c[u+7],e[0]}function a(c,u){return r[7]=c[u],r[6]=c[u+1],r[5]=c[u+2],r[4]=c[u+3],r[3]=c[u+4],r[2]=c[u+5],r[1]=c[u+6],r[0]=c[u+7],e[0]}t.readDoubleLE=n?s:a,t.readDoubleBE=n?a:s}():function(){function e(n,i,o,s,a,c){var u=s<0?1:0;if(u&&(s=-s),s===0)n(0,a,c+i),n(1/s>0?0:2147483648,a,c+o);else if(isNaN(s))n(0,a,c+i),n(2146959360,a,c+o);else if(s>17976931348623157e292)n(0,a,c+i),n((u<<31|2146435072)>>>0,a,c+o);else{var l;if(s<22250738585072014e-324)l=s/5e-324,n(l>>>0,a,c+i),n((u<<31|l/4294967296)>>>0,a,c+o);else{var f=Math.floor(Math.log(s)/Math.LN2);f===1024&&(f=1023),l=s*Math.pow(2,-f),n(l*4503599627370496>>>0,a,c+i),n((u<<31|f+1023<<20|l*1048576&1048575)>>>0,a,c+o)}}}t.writeDoubleLE=e.bind(null,jd,0,4),t.writeDoubleBE=e.bind(null,Jd,4,0);function r(n,i,o,s,a){var c=n(s,a+i),u=n(s,a+o),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)}t.readDoubleLE=r.bind(null,ep,0,4),t.readDoubleBE=r.bind(null,tp,4,0)}(),t}function jd(t,e,r){e[r]=t&255,e[r+1]=t>>>8&255,e[r+2]=t>>>16&255,e[r+3]=t>>>24}function Jd(t,e,r){e[r]=t>>>24,e[r+1]=t>>>16&255,e[r+2]=t>>>8&255,e[r+3]=t&255}function ep(t,e){return(t[e]|t[e+1]<<8|t[e+2]<<16|t[e+3]<<24)>>>0}function tp(t,e){return(t[e]<<24|t[e+1]<<16|t[e+2]<<8|t[e+3])>>>0}});var ip=B((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(t){}return null}});var sp=B(op=>{"use strict";var vu=op;vu.length=function(e){for(var r=0,n=0,i=0;i<e.length;++i)n=e.charCodeAt(i),n<128?r+=1:n<2048?r+=2:(n&64512)===55296&&(e.charCodeAt(i+1)&64512)===56320?(++i,r+=4):r+=3;return r};vu.read=function(e,r,n){var i=n-r;if(i<1)return"";for(var o=null,s=[],a=0,c;r<n;)c=e[r++],c<128?s[a++]=c:c>191&&c<224?s[a++]=(c&31)<<6|e[r++]&63:c>239&&c<365?(c=((c&7)<<18|(e[r++]&63)<<12|(e[r++]&63)<<6|e[r++]&63)-65536,s[a++]=55296+(c>>10),s[a++]=56320+(c&1023)):s[a++]=(c&15)<<12|(e[r++]&63)<<6|e[r++]&63,a>8191&&((o||(o=[])).push(String.fromCharCode.apply(String,s)),a=0);return o?(a&&o.push(String.fromCharCode.apply(String,s.slice(0,a))),o.join("")):String.fromCharCode.apply(String,s.slice(0,a))};vu.write=function(e,r,n){for(var i=n,o,s,a=0;a<e.length;++a)o=e.charCodeAt(a),o<128?r[n++]=o:o<2048?(r[n++]=o>>6|192,r[n++]=o&63|128):(o&64512)===55296&&((s=e.charCodeAt(a+1))&64512)===56320?(o=65536+((o&1023)<<10)+(s&1023),++a,r[n++]=o>>18|240,r[n++]=o>>12&63|128,r[n++]=o>>6&63|128,r[n++]=o&63|128):(r[n++]=o>>12|224,r[n++]=o>>6&63|128,r[n++]=o&63|128);return n-i}});var cp=B(($C,ap)=>{"use strict";ap.exports=Wv;function Wv(t,e,r){var n=r||8192,i=n>>>1,o=null,s=n;return function(c){if(c<1||c>i)return t(c);s+c>n&&(o=t(n),s=0);var u=e.call(o,s,s+=c);return s&7&&(s=(s|7)+1),u}}});var lp=B((HC,up)=>{"use strict";up.exports=ze;var uo=hn();function ze(t,e){this.lo=t>>>0,this.hi=e>>>0}var fn=ze.zero=new ze(0,0);fn.toNumber=function(){return 0};fn.zzEncode=fn.zzDecode=function(){return this};fn.length=function(){return 1};var Qv=ze.zeroHash="\0\0\0\0\0\0\0\0";ze.fromNumber=function(e){if(e===0)return fn;var r=e<0;r&&(e=-e);var n=e>>>0,i=(e-n)/4294967296>>>0;return r&&(i=~i>>>0,n=~n>>>0,++n>4294967295&&(n=0,++i>4294967295&&(i=0))),new ze(n,i)};ze.from=function(e){if(typeof e=="number")return ze.fromNumber(e);if(uo.isString(e))if(uo.Long)e=uo.Long.fromString(e);else return ze.fromNumber(parseInt(e,10));return e.low||e.high?new ze(e.low>>>0,e.high>>>0):fn};ze.prototype.toNumber=function(e){if(!e&&this.hi>>>31){var r=~this.lo+1>>>0,n=~this.hi>>>0;return r||(n=n+1>>>0),-(r+n*4294967296)}return this.lo+this.hi*4294967296};ze.prototype.toLong=function(e){return uo.Long?new uo.Long(this.lo|0,this.hi|0,!!e):{low:this.lo|0,high:this.hi|0,unsigned:!!e}};var Mr=String.prototype.charCodeAt;ze.fromHash=function(e){return e===Qv?fn:new ze((Mr.call(e,0)|Mr.call(e,1)<<8|Mr.call(e,2)<<16|Mr.call(e,3)<<24)>>>0,(Mr.call(e,4)|Mr.call(e,5)<<8|Mr.call(e,6)<<16|Mr.call(e,7)<<24)>>>0)};ze.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)};ze.prototype.zzEncode=function(){var e=this.hi>>31;return this.hi=((this.hi<<1|this.lo>>>31)^e)>>>0,this.lo=(this.lo<<1^e)>>>0,this};ze.prototype.zzDecode=function(){var e=-(this.lo&1);return this.lo=((this.lo>>>1|this.hi<<31)^e)>>>0,this.hi=(this.hi>>>1^e)>>>0,this};ze.prototype.length=function(){var e=this.lo,r=(this.lo>>>28|this.hi<<4)>>>0,n=this.hi>>>24;return n===0?r===0?e<16384?e<128?1:2:e<2097152?3:4:r<16384?r<128?5:6:r<2097152?7:8:n<128?9:10}});var hn=B(Eu=>{"use strict";var M=Eu;M.asPromise=$d();M.base64=Wd();M.EventEmitter=Xd();M.float=np();M.inquire=ip();M.utf8=sp();M.pool=cp();M.LongBits=lp();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||Eu;M.emptyArray=Object.freeze?Object.freeze([]):[];M.emptyObject=Object.freeze?Object.freeze({}):{};M.isInteger=Number.isInteger||function(e){return typeof e=="number"&&isFinite(e)&&Math.floor(e)===e};M.isString=function(e){return typeof e=="string"||e instanceof String};M.isObject=function(e){return e&&typeof e=="object"};M.isset=M.isSet=function(e,r){var n=e[r];return n!=null&&e.hasOwnProperty(r)?typeof n!="object"||(Array.isArray(n)?n.length:Object.keys(n).length)>0:!1};M.Buffer=function(){try{var t=M.inquire("buffer").Buffer;return t.prototype.utf8Write?t:null}catch{return null}}();M._Buffer_from=null;M._Buffer_allocUnsafe=null;M.newBuffer=function(e){return typeof e=="number"?M.Buffer?M._Buffer_allocUnsafe(e):new M.Array(e):M.Buffer?M._Buffer_from(e):typeof Uint8Array>"u"?e:new Uint8Array(e)};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(e){return e?M.LongBits.from(e).toHash():M.LongBits.zeroHash};M.longFromHash=function(e,r){var n=M.LongBits.fromHash(e);return M.Long?M.Long.fromBits(n.lo,n.hi,r):n.toNumber(!!r)};function fp(t,e,r){for(var n=Object.keys(e),i=0;i<n.length;++i)(t[n[i]]===void 0||!r)&&(t[n[i]]=e[n[i]]);return t}M.merge=fp;M.lcFirst=function(e){return e.charAt(0).toLowerCase()+e.substring(1)};function hp(t){function e(r,n){if(!(this instanceof e))return new e(r,n);Object.defineProperty(this,"message",{get:function(){return r}}),Error.captureStackTrace?Error.captureStackTrace(this,e):Object.defineProperty(this,"stack",{value:new Error().stack||""}),n&&fp(this,n)}return e.prototype=Object.create(Error.prototype,{constructor:{value:e,writable:!0,enumerable:!1,configurable:!0},name:{get:function(){return t},set:void 0,enumerable:!1,configurable:!0},toString:{value:function(){return this.name+": "+this.message},writable:!0,enumerable:!1,configurable:!0}}),e}M.newError=hp;M.ProtocolError=hp("ProtocolError");M.oneOfGetter=function(e){for(var r={},n=0;n<e.length;++n)r[e[n]]=1;return function(){for(var i=Object.keys(this),o=i.length-1;o>-1;--o)if(r[i[o]]===1&&this[i[o]]!==void 0&&this[i[o]]!==null)return i[o]}};M.oneOfSetter=function(e){return function(r){for(var n=0;n<e.length;++n)e[n]!==r&&delete this[e[n]]}};M.toJSONOptions={longs:String,enums:String,bytes:String,json:!0};M._configure=function(){var t=M.Buffer;if(!t){M._Buffer_from=M._Buffer_allocUnsafe=null;return}M._Buffer_from=t.from!==Uint8Array.from&&t.from||function(r,n){return new t(r,n)},M._Buffer_allocUnsafe=t.allocUnsafe||function(r){return new t(r)}}});var Au=B((YC,gp)=>{"use strict";gp.exports=De;var Xt=hn(),Su,mp=Xt.LongBits,Xv=Xt.utf8;function Bt(t,e){return RangeError("index out of range: "+t.pos+" + "+(e||1)+" > "+t.len)}function De(t){this.buf=t,this.pos=0,this.len=t.length}var dp=typeof Uint8Array<"u"?function(e){if(e instanceof Uint8Array||Array.isArray(e))return new De(e);throw Error("illegal buffer")}:function(e){if(Array.isArray(e))return new De(e);throw Error("illegal buffer")},yp=function(){return Xt.Buffer?function(r){return(De.create=function(i){return Xt.Buffer.isBuffer(i)?new Su(i):dp(i)})(r)}:dp};De.create=yp();De.prototype._slice=Xt.Array.prototype.subarray||Xt.Array.prototype.slice;De.prototype.uint32=function(){var e=4294967295;return function(){if(e=(this.buf[this.pos]&127)>>>0,this.buf[this.pos++]<128||(e=(e|(this.buf[this.pos]&127)<<7)>>>0,this.buf[this.pos++]<128)||(e=(e|(this.buf[this.pos]&127)<<14)>>>0,this.buf[this.pos++]<128)||(e=(e|(this.buf[this.pos]&127)<<21)>>>0,this.buf[this.pos++]<128)||(e=(e|(this.buf[this.pos]&15)<<28)>>>0,this.buf[this.pos++]<128))return e;if((this.pos+=5)>this.len)throw this.pos=this.len,Bt(this,10);return e}}();De.prototype.int32=function(){return this.uint32()|0};De.prototype.sint32=function(){var e=this.uint32();return e>>>1^-(e&1)|0};function _u(){var t=new mp(0,0),e=0;if(this.len-this.pos>4){for(;e<4;++e)if(t.lo=(t.lo|(this.buf[this.pos]&127)<<e*7)>>>0,this.buf[this.pos++]<128)return t;if(t.lo=(t.lo|(this.buf[this.pos]&127)<<28)>>>0,t.hi=(t.hi|(this.buf[this.pos]&127)>>4)>>>0,this.buf[this.pos++]<128)return t;e=0}else{for(;e<3;++e){if(this.pos>=this.len)throw Bt(this);if(t.lo=(t.lo|(this.buf[this.pos]&127)<<e*7)>>>0,this.buf[this.pos++]<128)return t}return t.lo=(t.lo|(this.buf[this.pos++]&127)<<e*7)>>>0,t}if(this.len-this.pos>4){for(;e<5;++e)if(t.hi=(t.hi|(this.buf[this.pos]&127)<<e*7+3)>>>0,this.buf[this.pos++]<128)return t}else for(;e<5;++e){if(this.pos>=this.len)throw Bt(this);if(t.hi=(t.hi|(this.buf[this.pos]&127)<<e*7+3)>>>0,this.buf[this.pos++]<128)return t}throw Error("invalid varint encoding")}De.prototype.bool=function(){return this.uint32()!==0};function Os(t,e){return(t[e-4]|t[e-3]<<8|t[e-2]<<16|t[e-1]<<24)>>>0}De.prototype.fixed32=function(){if(this.pos+4>this.len)throw Bt(this,4);return Os(this.buf,this.pos+=4)};De.prototype.sfixed32=function(){if(this.pos+4>this.len)throw Bt(this,4);return Os(this.buf,this.pos+=4)|0};function pp(){if(this.pos+8>this.len)throw Bt(this,8);return new mp(Os(this.buf,this.pos+=4),Os(this.buf,this.pos+=4))}De.prototype.float=function(){if(this.pos+4>this.len)throw Bt(this,4);var e=Xt.float.readFloatLE(this.buf,this.pos);return this.pos+=4,e};De.prototype.double=function(){if(this.pos+8>this.len)throw Bt(this,4);var e=Xt.float.readDoubleLE(this.buf,this.pos);return this.pos+=8,e};De.prototype.bytes=function(){var e=this.uint32(),r=this.pos,n=this.pos+e;if(n>this.len)throw Bt(this,e);return this.pos+=e,Array.isArray(this.buf)?this.buf.slice(r,n):r===n?new this.buf.constructor(0):this._slice.call(this.buf,r,n)};De.prototype.string=function(){var e=this.bytes();return Xv.read(e,0,e.length)};De.prototype.skip=function(e){if(typeof e=="number"){if(this.pos+e>this.len)throw Bt(this,e);this.pos+=e}else do if(this.pos>=this.len)throw Bt(this);while(this.buf[this.pos++]&128);return this};De.prototype.skipType=function(t){switch(t){case 0:this.skip();break;case 1:this.skip(8);break;case 2:this.skip(this.uint32());break;case 3:for(;(t=this.uint32()&7)!==4;)this.skipType(t);break;case 5:this.skip(4);break;default:throw Error("invalid wire type "+t+" at offset "+this.pos)}return this};De._configure=function(t){Su=t,De.create=yp(),Su._configure();var e=Xt.Long?"toLong":"toNumber";Xt.merge(De.prototype,{int64:function(){return _u.call(this)[e](!1)},uint64:function(){return _u.call(this)[e](!0)},sint64:function(){return _u.call(this).zzDecode()[e](!1)},fixed64:function(){return pp.call(this)[e](!0)},sfixed64:function(){return pp.call(this)[e](!1)}})}});var vp=B((WC,bp)=>{"use strict";bp.exports=dn;var wp=Au();(dn.prototype=Object.create(wp.prototype)).constructor=dn;var xp=hn();function dn(t){wp.call(this,t)}dn._configure=function(){xp.Buffer&&(dn.prototype._slice=xp.Buffer.prototype.slice)};dn.prototype.string=function(){var e=this.uint32();return this.buf.utf8Slice?this.buf.utf8Slice(this.pos,this.pos=Math.min(this.pos+e,this.len)):this.buf.toString("utf-8",this.pos,this.pos=Math.min(this.pos+e,this.len))};dn._configure()});var Pu=B((QC,Ap)=>{"use strict";Ap.exports=te;var Et=hn(),Iu,Ms=Et.LongBits,Ep=Et.base64,_p=Et.utf8;function lo(t,e,r){this.fn=t,this.len=e,this.next=void 0,this.val=r}function Cu(){}function Zv(t){this.head=t.head,this.tail=t.tail,this.len=t.len,this.next=t.states}function te(){this.len=0,this.head=new lo(Cu,0,0),this.tail=this.head,this.states=null}var Sp=function(){return Et.Buffer?function(){return(te.create=function(){return new Iu})()}:function(){return new te}};te.create=Sp();te.alloc=function(e){return new Et.Array(e)};Et.Array!==Array&&(te.alloc=Et.pool(te.alloc,Et.Array.prototype.subarray));te.prototype._push=function(e,r,n){return this.tail=this.tail.next=new lo(e,r,n),this.len+=r,this};function Tu(t,e,r){e[r]=t&255}function jv(t,e,r){for(;t>127;)e[r++]=t&127|128,t>>>=7;e[r]=t}function Bu(t,e){this.len=t,this.next=void 0,this.val=e}Bu.prototype=Object.create(lo.prototype);Bu.prototype.fn=jv;te.prototype.uint32=function(e){return this.len+=(this.tail=this.tail.next=new Bu((e=e>>>0)<128?1:e<16384?2:e<2097152?3:e<268435456?4:5,e)).len,this};te.prototype.int32=function(e){return e<0?this._push(Lu,10,Ms.fromNumber(e)):this.uint32(e)};te.prototype.sint32=function(e){return this.uint32((e<<1^e>>31)>>>0)};function Lu(t,e,r){for(;t.hi;)e[r++]=t.lo&127|128,t.lo=(t.lo>>>7|t.hi<<25)>>>0,t.hi>>>=7;for(;t.lo>127;)e[r++]=t.lo&127|128,t.lo=t.lo>>>7;e[r++]=t.lo}te.prototype.uint64=function(e){var r=Ms.from(e);return this._push(Lu,r.length(),r)};te.prototype.int64=te.prototype.uint64;te.prototype.sint64=function(e){var r=Ms.from(e).zzEncode();return this._push(Lu,r.length(),r)};te.prototype.bool=function(e){return this._push(Tu,1,e?1:0)};function Ru(t,e,r){e[r]=t&255,e[r+1]=t>>>8&255,e[r+2]=t>>>16&255,e[r+3]=t>>>24}te.prototype.fixed32=function(e){return this._push(Ru,4,e>>>0)};te.prototype.sfixed32=te.prototype.fixed32;te.prototype.fixed64=function(e){var r=Ms.from(e);return this._push(Ru,4,r.lo)._push(Ru,4,r.hi)};te.prototype.sfixed64=te.prototype.fixed64;te.prototype.float=function(e){return this._push(Et.float.writeFloatLE,4,e)};te.prototype.double=function(e){return this._push(Et.float.writeDoubleLE,8,e)};var Jv=Et.Array.prototype.set?function(e,r,n){r.set(e,n)}:function(e,r,n){for(var i=0;i<e.length;++i)r[n+i]=e[i]};te.prototype.bytes=function(e){var r=e.length>>>0;if(!r)return this._push(Tu,1,0);if(Et.isString(e)){var n=te.alloc(r=Ep.length(e));Ep.decode(e,n,0),e=n}return this.uint32(r)._push(Jv,r,e)};te.prototype.string=function(e){var r=_p.length(e);return r?this.uint32(r)._push(_p.write,r,e):this._push(Tu,1,0)};te.prototype.fork=function(){return this.states=new Zv(this),this.head=this.tail=new lo(Cu,0,0),this.len=0,this};te.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 lo(Cu,0,0),this.len=0),this};te.prototype.ldelim=function(){var e=this.head,r=this.tail,n=this.len;return this.reset().uint32(n),n&&(this.tail.next=e.next,this.tail=r,this.len+=n),this};te.prototype.finish=function(){for(var e=this.head.next,r=this.constructor.alloc(this.len),n=0;e;)e.fn(e.val,r,n),n+=e.len,e=e.next;return r};te._configure=function(t){Iu=t,te.create=Sp(),Iu._configure()}});var Cp=B((XC,Rp)=>{"use strict";Rp.exports=Zt;var Ip=Pu();(Zt.prototype=Object.create(Ip.prototype)).constructor=Zt;var Ur=hn();function Zt(){Ip.call(this)}Zt._configure=function(){Zt.alloc=Ur._Buffer_allocUnsafe,Zt.writeBytesBuffer=Ur.Buffer&&Ur.Buffer.prototype instanceof Uint8Array&&Ur.Buffer.prototype.set.name==="set"?function(e,r,n){r.set(e,n)}:function(e,r,n){if(e.copy)e.copy(r,n,0,e.length);else for(var i=0;i<e.length;)r[n++]=e[i++]}};Zt.prototype.bytes=function(e){Ur.isString(e)&&(e=Ur._Buffer_from(e,"base64"));var r=e.length>>>0;return this.uint32(r),r&&this._push(Zt.writeBytesBuffer,r,e),this};function eE(t,e,r){t.length<40?Ur.utf8.write(t,e,r):e.utf8Write?e.utf8Write(t,r):e.write(t,r)}Zt.prototype.string=function(e){var r=Ur.Buffer.byteLength(e);return this.uint32(r),r&&this._push(eE,r,e),this};Zt._configure()});var qp=B((X8,Vp)=>{var me=ae();tn();Le();var ho=Vp.exports=me.sha512=me.sha512||{};me.md.sha512=me.md.algorithms.sha512=ho;var Fp=me.sha384=me.sha512.sha384=me.sha512.sha384||{};Fp.create=function(){return ho.create("SHA-384")};me.md.sha384=me.md.algorithms.sha384=Fp;me.sha512.sha256=me.sha512.sha256||{create:function(){return ho.create("SHA-512/256")}};me.md["sha512/256"]=me.md.algorithms["sha512/256"]=me.sha512.sha256;me.sha512.sha224=me.sha512.sha224||{create:function(){return ho.create("SHA-512/224")}};me.md["sha512/224"]=me.md.algorithms["sha512/224"]=me.sha512.sha224;ho.create=function(t){if(Kp||uE(),typeof t>"u"&&(t="SHA-512"),!(t in mn))throw new Error("Invalid SHA-512 algorithm: "+t);for(var e=mn[t],r=null,n=me.util.createBuffer(),i=new Array(80),o=0;o<80;++o)i[o]=new Array(2);var s=64;switch(t){case"SHA-384":s=48;break;case"SHA-512/256":s=32;break;case"SHA-512/224":s=28;break}var a={algorithm:t.replace("-","").toLowerCase(),blockLength:128,digestLength:s,messageLength:0,fullMessageLength:null,messageLengthSize:16};return a.start=function(){a.messageLength=0,a.fullMessageLength=a.messageLength128=[];for(var c=a.messageLengthSize/4,u=0;u<c;++u)a.fullMessageLength.push(0);n=me.util.createBuffer(),r=new Array(e.length);for(var u=0;u<e.length;++u)r[u]=e[u].slice(0);return a},a.start(),a.update=function(c,u){u==="utf8"&&(c=me.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),Up(r,i,n),(n.read>2048||n.length()===0)&&n.compact(),a},a.digest=function(){var c=me.util.createBuffer();c.putBytes(n.bytes());var u=a.fullMessageLength[a.fullMessageLength.length-1]+a.messageLengthSize,l=u&a.blockLength-1;c.putBytes(Ku.substr(0,a.blockLength-l));for(var f,d,p=a.fullMessageLength[0]*8,h=0;h<a.fullMessageLength.length-1;++h)f=a.fullMessageLength[h+1]*8,d=f/4294967296>>>0,p+=d,c.putInt32(p>>>0),p=f>>>0;c.putInt32(p);for(var m=new Array(r.length),h=0;h<r.length;++h)m[h]=r[h].slice(0);Up(m,i,c);var y=me.util.createBuffer(),g;t==="SHA-512"?g=m.length:t==="SHA-384"?g=m.length-2:g=m.length-4;for(var h=0;h<g;++h)y.putInt32(m[h][0]),(h!==g-1||t!=="SHA-512/224")&&y.putInt32(m[h][1]);return y},a};var Ku=null,Kp=!1,Vu=null,mn=null;function uE(){Ku=String.fromCharCode(128),Ku+=me.util.fillString(String.fromCharCode(0),128),Vu=[[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]],Kp=!0}function Up(t,e,r){for(var n,i,o,s,a,c,u,l,f,d,p,h,m,y,g,x,E,T,I,C,O,U,se,At,ut,Je,Mn,ns,ke,nt,K,sc,ac,cc,uc,bh=r.length();bh>=128;){for(ke=0;ke<16;++ke)e[ke][0]=r.getInt32()>>>0,e[ke][1]=r.getInt32()>>>0;for(;ke<80;++ke)sc=e[ke-2],nt=sc[0],K=sc[1],n=((nt>>>19|K<<13)^(K>>>29|nt<<3)^nt>>>6)>>>0,i=((nt<<13|K>>>19)^(K<<3|nt>>>29)^(nt<<26|K>>>6))>>>0,cc=e[ke-15],nt=cc[0],K=cc[1],o=((nt>>>1|K<<31)^(nt>>>8|K<<24)^nt>>>7)>>>0,s=((nt<<31|K>>>1)^(nt<<24|K>>>8)^(nt<<25|K>>>7))>>>0,ac=e[ke-7],uc=e[ke-16],K=i+ac[1]+s+uc[1],e[ke][0]=n+ac[0]+o+uc[0]+(K/4294967296>>>0)>>>0,e[ke][1]=K>>>0;for(m=t[0][0],y=t[0][1],g=t[1][0],x=t[1][1],E=t[2][0],T=t[2][1],I=t[3][0],C=t[3][1],O=t[4][0],U=t[4][1],se=t[5][0],At=t[5][1],ut=t[6][0],Je=t[6][1],Mn=t[7][0],ns=t[7][1],ke=0;ke<80;++ke)u=((O>>>14|U<<18)^(O>>>18|U<<14)^(U>>>9|O<<23))>>>0,l=((O<<18|U>>>14)^(O<<14|U>>>18)^(U<<23|O>>>9))>>>0,f=(ut^O&(se^ut))>>>0,d=(Je^U&(At^Je))>>>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,p=(m&g|E&(m^g))>>>0,h=(y&x|T&(y^x))>>>0,K=ns+l+d+Vu[ke][1]+e[ke][1],n=Mn+u+f+Vu[ke][0]+e[ke][0]+(K/4294967296>>>0)>>>0,i=K>>>0,K=c+h,o=a+p+(K/4294967296>>>0)>>>0,s=K>>>0,Mn=ut,ns=Je,ut=se,Je=At,se=O,At=U,K=C+i,O=I+n+(K/4294967296>>>0)>>>0,U=K>>>0,I=E,C=T,E=g,T=x,g=m,x=y,K=i+s,m=n+o+(K/4294967296>>>0)>>>0,y=K>>>0;K=t[0][1]+y,t[0][0]=t[0][0]+m+(K/4294967296>>>0)>>>0,t[0][1]=K>>>0,K=t[1][1]+x,t[1][0]=t[1][0]+g+(K/4294967296>>>0)>>>0,t[1][1]=K>>>0,K=t[2][1]+T,t[2][0]=t[2][0]+E+(K/4294967296>>>0)>>>0,t[2][1]=K>>>0,K=t[3][1]+C,t[3][0]=t[3][0]+I+(K/4294967296>>>0)>>>0,t[3][1]=K>>>0,K=t[4][1]+U,t[4][0]=t[4][0]+O+(K/4294967296>>>0)>>>0,t[4][1]=K>>>0,K=t[5][1]+At,t[5][0]=t[5][0]+se+(K/4294967296>>>0)>>>0,t[5][1]=K>>>0,K=t[6][1]+Je,t[6][0]=t[6][0]+ut+(K/4294967296>>>0)>>>0,t[6][1]=K>>>0,K=t[7][1]+ns,t[7][0]=t[7][0]+Mn+(K/4294967296>>>0)>>>0,t[7][1]=K>>>0,bh-=128}}});var sl=B((t3,Sm)=>{var hi=1e3,di=hi*60,pi=di*60,wn=pi*24,zE=wn*7,$E=wn*365.25;Sm.exports=function(t,e){e=e||{};var r=typeof t;if(r==="string"&&t.length>0)return HE(t);if(r==="number"&&isFinite(t))return e.long?YE(t):GE(t);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(t))};function HE(t){if(t=String(t),!(t.length>100)){var e=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(t);if(e){var r=parseFloat(e[1]),n=(e[2]||"ms").toLowerCase();switch(n){case"years":case"year":case"yrs":case"yr":case"y":return r*$E;case"weeks":case"week":case"w":return r*zE;case"days":case"day":case"d":return r*wn;case"hours":case"hour":case"hrs":case"hr":case"h":return r*pi;case"minutes":case"minute":case"mins":case"min":case"m":return r*di;case"seconds":case"second":case"secs":case"sec":case"s":return r*hi;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return r;default:return}}}}function GE(t){var e=Math.abs(t);return e>=wn?Math.round(t/wn)+"d":e>=pi?Math.round(t/pi)+"h":e>=di?Math.round(t/di)+"m":e>=hi?Math.round(t/hi)+"s":t+"ms"}function YE(t){var e=Math.abs(t);return e>=wn?Qs(t,e,wn,"day"):e>=pi?Qs(t,e,pi,"hour"):e>=di?Qs(t,e,di,"minute"):e>=hi?Qs(t,e,hi,"second"):t+" ms"}function Qs(t,e,r,n){var i=e>=r*1.5;return Math.round(t/r)+" "+n+(i?"s":"")}});var Im=B((r3,Am)=>{function WE(t){r.debug=r,r.default=r,r.coerce=c,r.disable=o,r.enable=i,r.enabled=s,r.humanize=sl(),r.destroy=u,Object.keys(t).forEach(l=>{r[l]=t[l]}),r.names=[],r.skips=[],r.formatters={};function e(l){let f=0;for(let d=0;d<l.length;d++)f=(f<<5)-f+l.charCodeAt(d),f|=0;return r.colors[Math.abs(f)%r.colors.length]}r.selectColor=e;function r(l){let f,d=null,p,h;function m(...y){if(!m.enabled)return;let g=m,x=Number(new Date),E=x-(f||x);g.diff=E,g.prev=f,g.curr=x,f=x,y[0]=r.coerce(y[0]),typeof y[0]!="string"&&y.unshift("%O");let T=0;y[0]=y[0].replace(/%([a-zA-Z%])/g,(C,O)=>{if(C==="%%")return"%";T++;let U=r.formatters[O];if(typeof U=="function"){let se=y[T];C=U.call(g,se),y.splice(T,1),T--}return C}),r.formatArgs.call(g,y),(g.log||r.log).apply(g,y)}return m.namespace=l,m.useColors=r.useColors(),m.color=r.selectColor(l),m.extend=n,m.destroy=r.destroy,Object.defineProperty(m,"enabled",{enumerable:!0,configurable:!1,get:()=>d!==null?d:(p!==r.namespaces&&(p=r.namespaces,h=r.enabled(l)),h),set:y=>{d=y}}),typeof r.init=="function"&&r.init(m),m}function n(l,f){let d=r(this.namespace+(typeof f>"u"?":":f)+l);return d.log=this.log,d}function i(l){r.save(l),r.namespaces=l,r.names=[],r.skips=[];let f,d=(typeof l=="string"?l:"").split(/[\s,]+/),p=d.length;for(f=0;f<p;f++)d[f]&&(l=d[f].replace(/\*/g,".*?"),l[0]==="-"?r.skips.push(new RegExp("^"+l.slice(1)+"$")):r.names.push(new RegExp("^"+l+"$")))}function o(){let l=[...r.names.map(a),...r.skips.map(a).map(f=>"-"+f)].join(",");return r.enable(""),l}function s(l){if(l[l.length-1]==="*")return!0;let f,d;for(f=0,d=r.skips.length;f<d;f++)if(r.skips[f].test(l))return!1;for(f=0,d=r.names.length;f<d;f++)if(r.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 r.enable(r.load()),r}Am.exports=WE});var al=B((ht,Xs)=>{ht.formatArgs=XE;ht.save=ZE;ht.load=jE;ht.useColors=QE;ht.storage=JE();ht.destroy=(()=>{let t=!1;return()=>{t||(t=!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`."))}})();ht.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 QE(){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 XE(t){if(t[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+t[0]+(this.useColors?"%c ":" ")+"+"+Xs.exports.humanize(this.diff),!this.useColors)return;let e="color: "+this.color;t.splice(1,0,e,"color: inherit");let r=0,n=0;t[0].replace(/%[a-zA-Z%]/g,i=>{i!=="%%"&&(r++,i==="%c"&&(n=r))}),t.splice(n,0,e)}ht.log=console.debug||console.log||(()=>{});function ZE(t){try{t?ht.storage.setItem("debug",t):ht.storage.removeItem("debug")}catch{}}function jE(){let t;try{t=ht.storage.getItem("debug")}catch{}return!t&&typeof process<"u"&&"env"in process&&(t=process.env.DEBUG),t}function JE(){try{return localStorage}catch{}}Xs.exports=Im()(ht);var{formatters:e_}=Xs.exports;e_.j=function(t){try{return JSON.stringify(t)}catch(e){return"[UnexpectedJSONParseError]: "+e.message}}});var Om=B((H3,km)=>{"use strict";km.exports=t=>{if(Object.prototype.toString.call(t)!=="[object Object]")return!1;let e=Object.getPrototypeOf(t);return e===null||e===Object.prototype}});var qm=B((Km,Vm)=>{"use strict";var ea=Om(),{hasOwnProperty:Um}=Object.prototype,{propertyIsEnumerable:k_}=Object,gi=(t,e,r)=>Object.defineProperty(t,e,{value:r,writable:!0,enumerable:!0,configurable:!0}),O_=Km,Mm={concatArrays:!1,ignoreUndefined:!1},ta=t=>{let e=[];for(let r in t)Um.call(t,r)&&e.push(r);if(Object.getOwnPropertySymbols){let r=Object.getOwnPropertySymbols(t);for(let n of r)k_.call(t,n)&&e.push(n)}return e};function xi(t){return Array.isArray(t)?M_(t):ea(t)?U_(t):t}function M_(t){let e=t.slice(0,0);return ta(t).forEach(r=>{gi(e,r,xi(t[r]))}),e}function U_(t){let e=Object.getPrototypeOf(t)===null?Object.create(null):{};return ta(t).forEach(r=>{gi(e,r,xi(t[r]))}),e}var Fm=(t,e,r,n)=>(r.forEach(i=>{typeof e[i]>"u"&&n.ignoreUndefined||(i in t&&t[i]!==Object.getPrototypeOf(t)?gi(t,i,vl(t[i],e[i],n)):gi(t,i,xi(e[i])))}),t),F_=(t,e,r)=>{let n=t.slice(0,0),i=0;return[t,e].forEach(o=>{let s=[];for(let a=0;a<o.length;a++)Um.call(o,a)&&(s.push(String(a)),o===t?gi(n,i++,o[a]):gi(n,i++,xi(o[a])));n=Fm(n,o,ta(o).filter(a=>!s.includes(a)),r)}),n};function vl(t,e,r){return r.concatArrays&&Array.isArray(t)&&Array.isArray(e)?F_(t,e,r):!ea(e)||!ea(t)?xi(e):Fm(t,e,ta(e),r)}Vm.exports=function(...t){let e=vl(xi(Mm),this!==O_&&this||{},Mm),r={_:{}};for(let n of t)if(n!==void 0){if(!ea(n))throw new TypeError("`"+n+"` is not an Option Object");r=vl(r,{_:n},e)}return r._}});var Hm=B((Y3,$m)=>{"use strict";function K_(t){return t>=55296&&t<=56319}function V_(t){return t>=56320&&t<=57343}$m.exports=function(e,r,n){if(typeof r!="string")throw new Error("Input must be string");for(var i=r.length,o=0,s,a,c=0;c<i;c+=1){if(s=r.charCodeAt(c),a=r[c],K_(s)&&V_(r.charCodeAt(c+1))&&(c+=1,a+=r[c]),o+=e(a),o===n)return r.slice(0,c+1);if(o>n)return r.slice(0,c-a.length+1)}return r}});var Ym=B((W3,Gm)=>{"use strict";function q_(t){return t>=55296&&t<=56319}function z_(t){return t>=56320&&t<=57343}Gm.exports=function(e){if(typeof e!="string")throw new Error("Input must be string");for(var r=e.length,n=0,i=null,o=null,s=0;s<r;s++)i=e.charCodeAt(s),z_(i)?o!=null&&q_(o)?n+=1:n+=3:i<=127?n+=1:i>=128&&i<=2047?n+=2:i>=2048&&i<=65535&&(n+=3),o=i;return n}});var Qm=B((Q3,Wm)=>{"use strict";var $_=Hm(),H_=Ym();Wm.exports=$_.bind(null,H_)});var jm=B((X3,Zm)=>{"use strict";var G_=Qm(),Y_=/[\/\?<>\\:\*\|"]/g,W_=/[\x00-\x1f\x80-\x9f]/g,Q_=/^\.+$/,X_=/^(con|prn|aux|nul|com[0-9]|lpt[0-9])(\..*)?$/i,Z_=/[\. ]+$/;function Xm(t,e){if(typeof t!="string")throw new Error("Input must be string");var r=t.replace(Y_,e).replace(W_,e).replace(Q_,e).replace(X_,e).replace(Z_,e);return G_(r,255)}Zm.exports=function(t,e){var r=e&&e.replacement||"",n=Xm(t,r);return r===""?n:Xm(n,"")}});var _y=B((x6,Ey)=>{Ey.exports=Pl;var vy=128,GS=127,YS=~GS,WS=Math.pow(2,31);function Pl(t,e,r){if(Number.MAX_SAFE_INTEGER&&t>Number.MAX_SAFE_INTEGER)throw Pl.bytes=0,new RangeError("Could not encode varint");e=e||[],r=r||0;for(var n=r;t>=WS;)e[r++]=t&255|vy,t/=128;for(;t&YS;)e[r++]=t&255|vy,t>>>=7;return e[r]=t|0,Pl.bytes=r-n+1,e}});var Iy=B((w6,Ay)=>{Ay.exports=Dl;var QS=128,Sy=127;function Dl(t,n){var r=0,n=n||0,i=0,o=n,s,a=t.length;do{if(o>=a||i>49)throw Dl.bytes=0,new RangeError("Could not decode varint");s=t[o++],r+=i<28?(s&Sy)<<i:(s&Sy)*Math.pow(2,i),i+=7}while(s>=QS);return Dl.bytes=o-n,r}});var Cy=B((b6,Ry)=>{var XS=Math.pow(2,7),ZS=Math.pow(2,14),jS=Math.pow(2,21),JS=Math.pow(2,28),eA=Math.pow(2,35),tA=Math.pow(2,42),rA=Math.pow(2,49),nA=Math.pow(2,56),iA=Math.pow(2,63);Ry.exports=function(t){return t<XS?1:t<ZS?2:t<jS?3:t<JS?4:t<eA?5:t<tA?6:t<rA?7:t<nA?8:t<iA?9:10}});var ca=B((v6,Ty)=>{Ty.exports={encode:_y(),decode:Iy(),encodingLength:Cy()}});var rg=B((yP,sf)=>{"use strict";var rI=Object.prototype.hasOwnProperty,rt="~";function Oo(){}Object.create&&(Oo.prototype=Object.create(null),new Oo().__proto__||(rt=!1));function nI(t,e,r){this.fn=t,this.context=e,this.once=r||!1}function tg(t,e,r,n,i){if(typeof r!="function")throw new TypeError("The listener must be a function");var o=new nI(r,n||t,i),s=rt?rt+e:e;return t._events[s]?t._events[s].fn?t._events[s]=[t._events[s],o]:t._events[s].push(o):(t._events[s]=o,t._eventsCount++),t}function pa(t,e){--t._eventsCount===0?t._events=new Oo:delete t._events[e]}function Ze(){this._events=new Oo,this._eventsCount=0}Ze.prototype.eventNames=function(){var e=[],r,n;if(this._eventsCount===0)return e;for(n in r=this._events)rI.call(r,n)&&e.push(rt?n.slice(1):n);return Object.getOwnPropertySymbols?e.concat(Object.getOwnPropertySymbols(r)):e};Ze.prototype.listeners=function(e){var r=rt?rt+e:e,n=this._events[r];if(!n)return[];if(n.fn)return[n.fn];for(var i=0,o=n.length,s=new Array(o);i<o;i++)s[i]=n[i].fn;return s};Ze.prototype.listenerCount=function(e){var r=rt?rt+e:e,n=this._events[r];return n?n.fn?1:n.length:0};Ze.prototype.emit=function(e,r,n,i,o,s){var a=rt?rt+e:e;if(!this._events[a])return!1;var c=this._events[a],u=arguments.length,l,f;if(c.fn){switch(c.once&&this.removeListener(e,c.fn,void 0,!0),u){case 1:return c.fn.call(c.context),!0;case 2:return c.fn.call(c.context,r),!0;case 3:return c.fn.call(c.context,r,n),!0;case 4:return c.fn.call(c.context,r,n,i),!0;case 5:return c.fn.call(c.context,r,n,i,o),!0;case 6:return c.fn.call(c.context,r,n,i,o,s),!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,p;for(f=0;f<d;f++)switch(c[f].once&&this.removeListener(e,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,r);break;case 3:c[f].fn.call(c[f].context,r,n);break;case 4:c[f].fn.call(c[f].context,r,n,i);break;default:if(!l)for(p=1,l=new Array(u-1);p<u;p++)l[p-1]=arguments[p];c[f].fn.apply(c[f].context,l)}}return!0};Ze.prototype.on=function(e,r,n){return tg(this,e,r,n,!1)};Ze.prototype.once=function(e,r,n){return tg(this,e,r,n,!0)};Ze.prototype.removeListener=function(e,r,n,i){var o=rt?rt+e:e;if(!this._events[o])return this;if(!r)return pa(this,o),this;var s=this._events[o];if(s.fn)s.fn===r&&(!i||s.once)&&(!n||s.context===n)&&pa(this,o);else{for(var a=0,c=[],u=s.length;a<u;a++)(s[a].fn!==r||i&&!s[a].once||n&&s[a].context!==n)&&c.push(s[a]);c.length?this._events[o]=c.length===1?c[0]:c:pa(this,o)}return this};Ze.prototype.removeAllListeners=function(e){var r;return e?(r=rt?rt+e:e,this._events[r]&&pa(this,r)):(this._events=new Oo,this._eventsCount=0),this};Ze.prototype.off=Ze.prototype.removeListener;Ze.prototype.addListener=Ze.prototype.on;Ze.prefixed=rt;Ze.EventEmitter=Ze;typeof sf<"u"&&(sf.exports=Ze)});var Cf=B((L5,Eg)=>{"use strict";function vg(t,e){for(let r in e)Object.defineProperty(t,r,{value:e[r],enumerable:!0,configurable:!0});return t}function gI(t,e,r){if(!t||typeof t=="string")throw new TypeError("Please pass an Error to err-code");r||(r={}),typeof e=="object"&&(r=e,e=""),e&&(r.code=e);try{return vg(t,r)}catch{r.message=t.message,r.stack=t.stack;let i=function(){};return i.prototype=Object.create(Object.getPrototypeOf(t)),vg(new i,r)}}Eg.exports=gI});var Cg=B($o=>{(function(){var t,e,r,n,i,o,s,a;a=function(c){var u,l,f,d;return u=(c&255<<24)>>>24,l=(c&255<<16)>>>16,f=(c&65280)>>>8,d=c&255,[u,l,f,d].join(".")},s=function(c){var u,l,f,d,p,h;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)}h=e(c),p=h[0],l=h[1],c=c.substring(l),u.push(p)}if(c.length!==0)throw new Error("Invalid IP");switch(u.length){case 1:if(u[0]>4294967295)throw new Error("Invalid IP");return u[0]>>>0;case 2:if(u[0]>255||u[1]>16777215)throw new Error("Invalid IP");return(u[0]<<24|u[1])>>>0;case 3:if(u[0]>255||u[1]>255||u[2]>65535)throw new Error("Invalid IP");return(u[0]<<24|u[1]<<16|u[2])>>>0;case 4:if(u[0]>255||u[1]>255||u[2]>255||u[3]>255)throw new Error("Invalid IP");return(u[0]<<24|u[1]<<16|u[2]<<8|u[3])>>>0;default:throw new Error("Invalid IP")}},r=function(c){return c.charCodeAt(0)},n=r("0"),o=r("a"),i=r("A"),e=function(c){var u,l,f,d,p;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")),p=f;f<c.length;){if("0"<=c[f]&&c[f]<=l)d=d*u+(r(c[f])-n)>>>0;else if(u===16)if("a"<=c[f]&&c[f]<="f")d=d*u+(10+r(c[f])-o)>>>0;else if("A"<=c[f]&&c[f]<="F")d=d*u+(10+r(c[f])-i)>>>0;else break;else break;if(d>4294967295)throw new Error("too large");f++}if(f===p)throw new Error("empty octet");return[d,f]},t=function(){function c(u,l){var f,d,p,h;if(typeof u!="string")throw new Error("Missing `net' parameter");if(l||(h=u.split("/",2),u=h[0],l=h[1]),l||(l=32),typeof l=="string"&&l.indexOf(".")>-1){try{this.maskLong=s(l)}catch(m){throw f=m,new Error("Invalid mask: "+l)}for(d=p=32;p>=0;d=--p)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=(s(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):(s(u)&this.maskLong)>>>0===(this.netLong&this.maskLong)>>>0},c.prototype.next=function(u){return u==null&&(u=1),new c(a(this.netLong+this.size*u),this.mask)},c.prototype.forEach=function(u){var l,f,d;for(d=s(this.first),f=s(this.last),l=0;d<=f;)u(a(d),d,l),l++,d++},c.prototype.toString=function(){return this.base+"/"+this.bitmask},c}(),$o.ip2long=s,$o.long2ip=a,$o.Netmask=t}).call($o)});var Pg=B((Lg,ka)=>{(function(t){"use strict";let e="(0?\\d+|0x[a-f0-9]+)",r={fourOctet:new RegExp(`^${e}\\.${e}\\.${e}\\.${e}$`,"i"),threeOctet:new RegExp(`^${e}\\.${e}\\.${e}$`,"i"),twoOctet:new RegExp(`^${e}\\.${e}$`,"i"),longValue:new RegExp(`^${e}$`,"i")},n=new RegExp("^0[0-7]+$","i"),i=new RegExp("^0x[a-f0-9]+$","i"),o="%[0-9a-z]{1,}",s="(?:[0-9a-f]+::?)+",a={zoneIndex:new RegExp(o,"i"),native:new RegExp(`^(::)?(${s})?([0-9a-f]+)?(::)?(${o})?$`,"i"),deprecatedTransitional:new RegExp(`^(?:::)(${e}\\.${e}\\.${e}\\.${e}(${o})?)$`,"i"),transitional:new RegExp(`^((?:${s})|(?:::)(?:${s})?)${e}\\.${e}\\.${e}\\.${e}(${o})?$`,"i")};function c(p,h){if(p.indexOf("::")!==p.lastIndexOf("::"))return null;let m=0,y=-1,g=(p.match(a.zoneIndex)||[])[0],x,E;for(g&&(g=g.substring(1),p=p.replace(/%.+$/,""));(y=p.indexOf(":",y+1))>=0;)m++;if(p.substr(0,2)==="::"&&m--,p.substr(-2,2)==="::"&&m--,m>h)return null;for(E=h-m,x=":";E--;)x+="0:";return p=p.replace("::",x),p[0]===":"&&(p=p.slice(1)),p[p.length-1]===":"&&(p=p.slice(0,-1)),h=function(){let T=p.split(":"),I=[];for(let C=0;C<T.length;C++)I.push(parseInt(T[C],16));return I}(),{parts:h,zoneId:g}}function u(p,h,m,y){if(p.length!==h.length)throw new Error("ipaddr: cannot match CIDR for objects with different lengths");let g=0,x;for(;y>0;){if(x=m-y,x<0&&(x=0),p[g]>>x!==h[g]>>x)return!1;y-=m,g+=1}return!0}function l(p){if(i.test(p))return parseInt(p,16);if(p[0]==="0"&&!isNaN(parseInt(p[1],10))){if(n.test(p))return parseInt(p,8);throw new Error(`ipaddr: cannot parse ${p} as octal`)}return parseInt(p,10)}function f(p,h){for(;p.length<h;)p=`0${p}`;return p}let d={};d.IPv4=function(){function p(h){if(h.length!==4)throw new Error("ipaddr: ipv4 octet count should be 4");let m,y;for(m=0;m<h.length;m++)if(y=h[m],!(0<=y&&y<=255))throw new Error("ipaddr: ipv4 octet should fit in 8 bits");this.octets=h}return p.prototype.SpecialRanges={unspecified:[[new p([0,0,0,0]),8]],broadcast:[[new p([255,255,255,255]),32]],multicast:[[new p([224,0,0,0]),4]],linkLocal:[[new p([169,254,0,0]),16]],loopback:[[new p([127,0,0,0]),8]],carrierGradeNat:[[new p([100,64,0,0]),10]],private:[[new p([10,0,0,0]),8],[new p([172,16,0,0]),12],[new p([192,168,0,0]),16]],reserved:[[new p([192,0,0,0]),24],[new p([192,0,2,0]),24],[new p([192,88,99,0]),24],[new p([198,18,0,0]),15],[new p([198,51,100,0]),24],[new p([203,0,113,0]),24],[new p([240,0,0,0]),4]]},p.prototype.kind=function(){return"ipv4"},p.prototype.match=function(h,m){let y;if(m===void 0&&(y=h,h=y[0],m=y[1]),h.kind()!=="ipv4")throw new Error("ipaddr: cannot match ipv4 address with non-ipv4 one");return u(this.octets,h.octets,8,m)},p.prototype.prefixLengthFromSubnetMask=function(){let h=0,m=!1,y={0:8,128:7,192:6,224:5,240:4,248:3,252:2,254:1,255:0},g,x,E;for(g=3;g>=0;g-=1)if(x=this.octets[g],x in y){if(E=y[x],m&&E!==0)return null;E!==8&&(m=!0),h+=E}else return null;return 32-h},p.prototype.range=function(){return d.subnetMatch(this,this.SpecialRanges)},p.prototype.toByteArray=function(){return this.octets.slice(0)},p.prototype.toIPv4MappedAddress=function(){return d.IPv6.parse(`::ffff:${this.toString()}`)},p.prototype.toNormalizedString=function(){return this.toString()},p.prototype.toString=function(){return this.octets.join(".")},p}(),d.IPv4.broadcastAddressFromCIDR=function(p){try{let h=this.parseCIDR(p),m=h[0].toByteArray(),y=this.subnetMaskFromPrefixLength(h[1]).toByteArray(),g=[],x=0;for(;x<4;)g.push(parseInt(m[x],10)|parseInt(y[x],10)^255),x++;return new this(g)}catch{throw new Error("ipaddr: the address does not have IPv4 CIDR format")}},d.IPv4.isIPv4=function(p){return this.parser(p)!==null},d.IPv4.isValid=function(p){try{return new this(this.parser(p)),!0}catch{return!1}},d.IPv4.isValidFourPartDecimal=function(p){return!!(d.IPv4.isValid(p)&&p.match(/^(0|[1-9]\d*)(\.(0|[1-9]\d*)){3}$/))},d.IPv4.networkAddressFromCIDR=function(p){let h,m,y,g,x;try{for(h=this.parseCIDR(p),y=h[0].toByteArray(),x=this.subnetMaskFromPrefixLength(h[1]).toByteArray(),g=[],m=0;m<4;)g.push(parseInt(y[m],10)&parseInt(x[m],10)),m++;return new this(g)}catch{throw new Error("ipaddr: the address does not have IPv4 CIDR format")}},d.IPv4.parse=function(p){let h=this.parser(p);if(h===null)throw new Error("ipaddr: string is not formatted like an IPv4 Address");return new this(h)},d.IPv4.parseCIDR=function(p){let h;if(h=p.match(/^(.+)\/(\d+)$/)){let m=parseInt(h[2]);if(m>=0&&m<=32){let y=[this.parse(h[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(p){let h,m,y;if(h=p.match(r.fourOctet))return function(){let g=h.slice(1,6),x=[];for(let E=0;E<g.length;E++)m=g[E],x.push(l(m));return x}();if(h=p.match(r.longValue)){if(y=l(h[1]),y>4294967295||y<0)throw new Error("ipaddr: address outside defined range");return function(){let g=[],x;for(x=0;x<=24;x+=8)g.push(y>>x&255);return g}().reverse()}else return(h=p.match(r.twoOctet))?function(){let g=h.slice(1,4),x=[];if(y=l(g[1]),y>16777215||y<0)throw new Error("ipaddr: address outside defined range");return x.push(l(g[0])),x.push(y>>16&255),x.push(y>>8&255),x.push(y&255),x}():(h=p.match(r.threeOctet))?function(){let g=h.slice(1,5),x=[];if(y=l(g[2]),y>65535||y<0)throw new Error("ipaddr: address outside defined range");return x.push(l(g[0])),x.push(l(g[1])),x.push(y>>8&255),x.push(y&255),x}():null},d.IPv4.subnetMaskFromPrefixLength=function(p){if(p=parseInt(p),p<0||p>32)throw new Error("ipaddr: invalid IPv4 prefix length");let h=[0,0,0,0],m=0,y=Math.floor(p/8);for(;m<y;)h[m]=255,m++;return y<4&&(h[y]=Math.pow(2,p%8)-1<<8-p%8),new this(h)},d.IPv6=function(){function p(h,m){let y,g;if(h.length===16)for(this.parts=[],y=0;y<=14;y+=2)this.parts.push(h[y]<<8|h[y+1]);else if(h.length===8)this.parts=h;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 p.prototype.SpecialRanges={unspecified:[new p([0,0,0,0,0,0,0,0]),128],linkLocal:[new p([65152,0,0,0,0,0,0,0]),10],multicast:[new p([65280,0,0,0,0,0,0,0]),8],loopback:[new p([0,0,0,0,0,0,0,1]),128],uniqueLocal:[new p([64512,0,0,0,0,0,0,0]),7],ipv4Mapped:[new p([0,0,0,0,0,65535,0,0]),96],rfc6145:[new p([0,0,0,0,65535,0,0,0]),96],rfc6052:[new p([100,65435,0,0,0,0,0,0]),96],"6to4":[new p([8194,0,0,0,0,0,0,0]),16],teredo:[new p([8193,0,0,0,0,0,0,0]),32],reserved:[[new p([8193,3512,0,0,0,0,0,0]),32]],benchmarking:[new p([8193,2,0,0,0,0,0,0]),48],amt:[new p([8193,3,0,0,0,0,0,0]),32],as112v6:[new p([8193,4,274,0,0,0,0,0]),48],deprecated:[new p([8193,16,0,0,0,0,0,0]),28],orchid2:[new p([8193,32,0,0,0,0,0,0]),28]},p.prototype.isIPv4MappedAddress=function(){return this.range()==="ipv4Mapped"},p.prototype.kind=function(){return"ipv6"},p.prototype.match=function(h,m){let y;if(m===void 0&&(y=h,h=y[0],m=y[1]),h.kind()!=="ipv6")throw new Error("ipaddr: cannot match ipv6 address with non-ipv6 one");return u(this.parts,h.parts,16,m)},p.prototype.prefixLengthFromSubnetMask=function(){let h=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,x;for(let E=7;E>=0;E-=1)if(g=this.parts[E],g in y){if(x=y[g],m&&x!==0)return null;x!==16&&(m=!0),h+=x}else return null;return 128-h},p.prototype.range=function(){return d.subnetMatch(this,this.SpecialRanges)},p.prototype.toByteArray=function(){let h,m=[],y=this.parts;for(let g=0;g<y.length;g++)h=y[g],m.push(h>>8),m.push(h&255);return m},p.prototype.toFixedLengthString=function(){let h=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}`),h+m},p.prototype.toIPv4Address=function(){if(!this.isIPv4MappedAddress())throw new Error("ipaddr: trying to convert a generic ipv6 address to ipv4");let h=this.parts.slice(-2),m=h[0],y=h[1];return new d.IPv4([m>>8,m&255,y>>8,y&255])},p.prototype.toNormalizedString=function(){let h=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}`),h+m},p.prototype.toRFC5952String=function(){let h=/((^|:)(0(:|$)){2,})/g,m=this.toNormalizedString(),y=0,g=-1,x;for(;x=h.exec(m);)x[0].length>g&&(y=x.index,g=x[0].length);return g<0?m:`${m.substring(0,y)}::${m.substring(y+g)}`},p.prototype.toString=function(){return this.toRFC5952String()},p}(),d.IPv6.broadcastAddressFromCIDR=function(p){try{let h=this.parseCIDR(p),m=h[0].toByteArray(),y=this.subnetMaskFromPrefixLength(h[1]).toByteArray(),g=[],x=0;for(;x<16;)g.push(parseInt(m[x],10)|parseInt(y[x],10)^255),x++;return new this(g)}catch(h){throw new Error(`ipaddr: the address does not have IPv6 CIDR format (${h})`)}},d.IPv6.isIPv6=function(p){return this.parser(p)!==null},d.IPv6.isValid=function(p){if(typeof p=="string"&&p.indexOf(":")===-1)return!1;try{let h=this.parser(p);return new this(h.parts,h.zoneId),!0}catch{return!1}},d.IPv6.networkAddressFromCIDR=function(p){let h,m,y,g,x;try{for(h=this.parseCIDR(p),y=h[0].toByteArray(),x=this.subnetMaskFromPrefixLength(h[1]).toByteArray(),g=[],m=0;m<16;)g.push(parseInt(y[m],10)&parseInt(x[m],10)),m++;return new this(g)}catch(E){throw new Error(`ipaddr: the address does not have IPv6 CIDR format (${E})`)}},d.IPv6.parse=function(p){let h=this.parser(p);if(h.parts===null)throw new Error("ipaddr: string is not formatted like an IPv6 Address");return new this(h.parts,h.zoneId)},d.IPv6.parseCIDR=function(p){let h,m,y;if((m=p.match(/^(.+)\/(\d+)$/))&&(h=parseInt(m[2]),h>=0&&h<=128))return y=[this.parse(m[1]),h],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(p){let h,m,y,g,x,E;if(y=p.match(a.deprecatedTransitional))return this.parser(`::ffff:${y[1]}`);if(a.native.test(p))return c(p,8);if((y=p.match(a.transitional))&&(E=y[6]||"",h=c(y[1].slice(0,-1)+E,6),h.parts)){for(x=[parseInt(y[2]),parseInt(y[3]),parseInt(y[4]),parseInt(y[5])],m=0;m<x.length;m++)if(g=x[m],!(0<=g&&g<=255))return null;return h.parts.push(x[0]<<8|x[1]),h.parts.push(x[2]<<8|x[3]),{parts:h.parts,zoneId:h.zoneId}}return null},d.IPv6.subnetMaskFromPrefixLength=function(p){if(p=parseInt(p),p<0||p>128)throw new Error("ipaddr: invalid IPv6 prefix length");let h=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],m=0,y=Math.floor(p/8);for(;m<y;)h[m]=255,m++;return y<16&&(h[y]=Math.pow(2,p%8)-1<<8-p%8),new this(h)},d.fromByteArray=function(p){let h=p.length;if(h===4)return new d.IPv4(p);if(h===16)return new d.IPv6(p);throw new Error("ipaddr: the binary input is neither an IPv6 nor IPv4 address")},d.isValid=function(p){return d.IPv6.isValid(p)||d.IPv4.isValid(p)},d.parse=function(p){if(d.IPv6.isValid(p))return d.IPv6.parse(p);if(d.IPv4.isValid(p))return d.IPv4.parse(p);throw new Error("ipaddr: the address has neither IPv6 nor IPv4 format")},d.parseCIDR=function(p){try{return d.IPv6.parseCIDR(p)}catch{try{return d.IPv4.parseCIDR(p)}catch{throw new Error("ipaddr: the address has neither IPv6 nor IPv4 CIDR format")}}},d.process=function(p){let h=this.parse(p);return h.kind()==="ipv6"&&h.isIPv4MappedAddress()?h.toIPv4Address():h},d.subnetMatch=function(p,h,m){let y,g,x,E;m==null&&(m="unicast");for(g in h)if(Object.prototype.hasOwnProperty.call(h,g)){for(x=h[g],x[0]&&!(x[0]instanceof Array)&&(x=[x]),y=0;y<x.length;y++)if(E=x[y],p.kind()===E[0].kind()&&p.match.apply(p,E))return g}return m},typeof ka<"u"&&ka.exports?ka.exports=d:t.ipaddr=d})(Lg)});var Kg=B((sD,Fg)=>{"use strict";Fg.exports=Ug;var LI=sl(),Zr=Ug.prototype,PI=new Date%1e9;function DI(){return(Math.random()*1e9>>>0)+PI++}function Ug(t){t=t||{},this.id=t.id||DI(),this.max=t.max||1/0,this.items=t.items||[],this._lookup={},this.size=this.items.length,this.lastModified=new Date(t.lastModified||new Date);for(var e,r,n=this.items.length;n--;)e=this.items[n],r=new Date(e.expires)-new Date,this._lookup[e.key]=e,r>0?this.expire(e.key,r):r<=0&&this.delete(e.key)}Zr.has=function(t){return t in this._lookup};Zr.get=function(t){if(!this.has(t))return null;var e=this._lookup[t];return e.refresh&&this.expire(t,e.refresh),this.items.splice(this.items.indexOf(e),1),this.items.push(e),e.value};Zr.meta=function(t){if(!this.has(t))return null;var e=this._lookup[t];return"meta"in e?e.meta:null};Zr.set=function(t,e,r){var n=this._lookup[t],i=this._lookup[t]={key:t,value:e};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++),r&&("ttl"in r&&this.expire(t,r.ttl),"meta"in r&&(i.meta=r.meta),r.refresh&&(i.refresh=r.ttl)),this};Zr.delete=function(t){var e=this._lookup[t];return e?(this.lastModified=new Date,this.items.splice(this.items.indexOf(e),1),clearTimeout(e.timeout),delete this._lookup[t],this.size--,this):!1};Zr.expire=function(t,e){var r=e||0,n=this._lookup[t];if(!n)return this;if(typeof r=="string"&&(r=LI(e)),typeof r!="number")throw new TypeError("Expiration time must be a string or number.");return clearTimeout(n.timeout),n.timeout=setTimeout(this.delete.bind(this,n.key),r),n.expires=Number(new Date)+r,this};Zr.clear=function(){for(var t=this.items.length;t--;)this.delete(this.items[t].key);return this};Zr.toJSON=function(){for(var t=new Array(this.items.length),e,r=t.length;r--;)e=this.items[r],t[r]={key:e.key,meta:e.meta,value:e.value,expires:e.expires,refresh:e.refresh};return{id:this.id,max:isFinite(this.max)?this.max:void 0,lastModified:this.lastModified,items:t}}});var Ho=B((RD,Wg)=>{Wg.exports=class{constructor(e={}){this.points=e.points,this.duration=e.duration,this.blockDuration=e.blockDuration,this.execEvenly=e.execEvenly,this.execEvenlyMinDelayMs=e.execEvenlyMinDelayMs,this.keyPrefix=e.keyPrefix}get points(){return this._points}set points(e){this._points=e>=0?e:4}get duration(){return this._duration}set duration(e){this._duration=typeof e>"u"?1:e}get msDuration(){return this.duration*1e3}get blockDuration(){return this._blockDuration}set blockDuration(e){this._blockDuration=typeof e>"u"?0:e}get msBlockDuration(){return this.blockDuration*1e3}get execEvenly(){return this._execEvenly}set execEvenly(e){this._execEvenly=typeof e>"u"?!1:!!e}get execEvenlyMinDelayMs(){return this._execEvenlyMinDelayMs}set execEvenlyMinDelayMs(e){this._execEvenlyMinDelayMs=typeof e>"u"?Math.ceil(this.msDuration/this.points):e}get keyPrefix(){return this._keyPrefix}set keyPrefix(e){if(typeof e>"u"&&(e="rlflx"),typeof e!="string")throw new Error("keyPrefix must be string");this._keyPrefix=e}_getKeySecDuration(e={}){return e&&e.customDuration>=0?e.customDuration:this.duration}getKey(e){return this.keyPrefix.length>0?`${this.keyPrefix}:${e}`:e}parseKey(e){return e.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 Xg=B((TD,Qg)=>{Qg.exports=class{constructor(){this._keys={},this._addedKeysAmount=0}collectExpired(){let e=Date.now();Object.keys(this._keys).forEach(r=>{this._keys[r]<=e&&delete this._keys[r]}),this._addedKeysAmount=Object.keys(this._keys).length}add(e,r){this.addMs(e,r*1e3)}addMs(e,r){this._keys[e]=Date.now()+r,this._addedKeysAmount++,this._addedKeysAmount>999&&this.collectExpired()}msBeforeExpire(e){let r=this._keys[e];if(r&&r>=Date.now()){this.collectExpired();let n=Date.now();return r>=n?r-n:0}return 0}delete(e){e?delete this._keys[e]:Object.keys(this._keys).forEach(r=>{delete this._keys[r]})}}});var jg=B((BD,Zg)=>{var MI=Xg();Zg.exports=MI});var gt=B((PD,Jg)=>{Jg.exports=class{constructor(e,r,n,i){this.remainingPoints=typeof e>"u"?0:e,this.msBeforeNext=typeof r>"u"?0:r,this.consumedPoints=typeof n>"u"?0:n,this.isFirstInDuration=typeof i>"u"?!1:i}get msBeforeNext(){return this._msBeforeNext}set msBeforeNext(e){return this._msBeforeNext=e,this}get remainingPoints(){return this._remainingPoints}set remainingPoints(e){return this._remainingPoints=e,this}get consumedPoints(){return this._consumedPoints}set consumedPoints(e){return this._consumedPoints=e,this}get isFirstInDuration(){return this._isFirstInDuration}set isFirstInDuration(e){this._isFirstInDuration=!!e}_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 ki=B((ND,t1)=>{var Mf=Ho(),UI=jg(),e1=gt();t1.exports=class extends Mf{constructor(e={}){super(e),this.inMemoryBlockOnConsumed=e.inMemoryBlockOnConsumed||e.inmemoryBlockOnConsumed,this.inMemoryBlockDuration=e.inMemoryBlockDuration||e.inmemoryBlockDuration,this.insuranceLimiter=e.insuranceLimiter,this._inMemoryBlockedKeys=new UI}get client(){return this._client}set client(e){if(typeof e>"u")throw new Error("storeClient is not set");this._client=e}_afterConsume(e,r,n,i,o,s={}){let a=this._getRateLimiterRes(n,i,o);if(this.inMemoryBlockOnConsumed>0&&!(this.inMemoryBlockDuration>0)&&a.consumedPoints>=this.inMemoryBlockOnConsumed)return this._inMemoryBlockedKeys.addMs(n,a.msBeforeNext),a.consumedPoints>this.points?r(a):e(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,s)),this.inMemoryBlockOnConsumed>0&&a.consumedPoints>=this.inMemoryBlockOnConsumed&&(this._inMemoryBlockedKeys.add(n,this.inMemoryBlockDuration),a.msBeforeNext=this.msInMemoryBlockDuration),c.then(()=>{r(a)}).catch(u=>{r(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(e,c,a)}else e(a)}_handleError(e,r,n,i,o,s=!1,a={}){this.insuranceLimiter instanceof Mf?this.insuranceLimiter[r](o,s,a).then(c=>{n(c)}).catch(c=>{i(c)}):i(e)}get _inmemoryBlockedKeys(){return this._inMemoryBlockedKeys}getInmemoryBlockMsBeforeExpire(e){return this.getInMemoryBlockMsBeforeExpire(e)}get inmemoryBlockOnConsumed(){return this.inMemoryBlockOnConsumed}set inmemoryBlockOnConsumed(e){this.inMemoryBlockOnConsumed=e}get inmemoryBlockDuration(){return this.inMemoryBlockDuration}set inmemoryBlockDuration(e){this.inMemoryBlockDuration=e}get msInmemoryBlockDuration(){return this.inMemoryBlockDuration*1e3}getInMemoryBlockMsBeforeExpire(e){return this.inMemoryBlockOnConsumed>0?this._inMemoryBlockedKeys.msBeforeExpire(e):0}get inMemoryBlockOnConsumed(){return this._inMemoryBlockOnConsumed}set inMemoryBlockOnConsumed(e){if(this._inMemoryBlockOnConsumed=e?parseInt(e):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(e){if(this._inMemoryBlockDuration=e?parseInt(e):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(e){if(typeof e<"u"&&!(e instanceof Mf))throw new Error("insuranceLimiter must be instance of RateLimiterAbstract");this._insuranceLimiter=e,this._insuranceLimiter&&(this._insuranceLimiter.blockDuration=this.blockDuration,this._insuranceLimiter.execEvenly=this.execEvenly)}block(e,r,n={}){let i=r*1e3;return this._block(this.getKey(e),this.points+1,i,n)}set(e,r,n,i={}){let o=(n>=0?n:this.duration)*1e3;return this._block(this.getKey(e),r,o,i)}consume(e,r=1,n={}){return new Promise((i,o)=>{let s=this.getKey(e),a=this.getInMemoryBlockMsBeforeExpire(s);if(a>0)return o(new e1(0,a));this._upsert(s,r,this._getKeySecDuration(n)*1e3,!1,n).then(c=>{this._afterConsume(i,o,s,r,c)}).catch(c=>{this._handleError(c,"consume",i,o,e,r,n)})})}penalty(e,r=1,n={}){let i=this.getKey(e);return new Promise((o,s)=>{this._upsert(i,r,this._getKeySecDuration(n)*1e3,!1,n).then(a=>{o(this._getRateLimiterRes(i,r,a))}).catch(a=>{this._handleError(a,"penalty",o,s,e,r,n)})})}reward(e,r=1,n={}){let i=this.getKey(e);return new Promise((o,s)=>{this._upsert(i,-r,this._getKeySecDuration(n)*1e3,!1,n).then(a=>{o(this._getRateLimiterRes(i,-r,a))}).catch(a=>{this._handleError(a,"reward",o,s,e,r,n)})})}get(e,r={}){let n=this.getKey(e);return new Promise((i,o)=>{this._get(n,r).then(s=>{i(s===null||typeof s>"u"?null:this._getRateLimiterRes(n,0,s))}).catch(s=>{this._handleError(s,"get",i,o,e,r)})})}delete(e,r={}){let n=this.getKey(e);return new Promise((i,o)=>{this._delete(n,r).then(s=>{this._inMemoryBlockedKeys.delete(n),i(s)}).catch(s=>{this._handleError(s,"delete",i,o,e,r)})})}deleteInMemoryBlockedAll(){this._inMemoryBlockedKeys.delete()}_getRateLimiterRes(e,r,n){throw new Error("You have to implement the method '_getRateLimiterRes'!")}_block(e,r,n,i={}){return new Promise((o,s)=>{this._upsert(e,r,n,!0,i).then(()=>{o(new e1(0,n>0?n:-1,r))}).catch(a=>{this._handleError(a,"block",o,s,this.parseKey(e),n/1e3,i)})})}_get(e,r={}){throw new Error("You have to implement the method '_get'!")}_delete(e,r={}){throw new Error("You have to implement the method '_delete'!")}_upsert(e,r,n,i=!1,o={}){throw new Error("You have to implement the method '_upsert'!")}}});var i1=B((kD,n1)=>{var FI=ki(),KI=gt(),r1="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} ",Uf=class extends FI{constructor(e){super(e),e.redis?this.client=e.redis:this.client=e.storeClient,this._rejectIfRedisNotReady=!!e.rejectIfRedisNotReady,typeof this.client.defineCommand=="function"&&this.client.defineCommand("rlflxIncr",{numberOfKeys:1,lua:r1})}_isRedisReady(){return this._rejectIfRedisNotReady?!(this.client.status&&this.client.status!=="ready"||typeof this.client.isReady=="function"&&!this.client.isReady()):!0}_getRateLimiterRes(e,r,n){let[i,o]=n;Array.isArray(i)&&([,i]=i,[,o]=o);let s=new KI;return s.consumedPoints=parseInt(i),s.isFirstInDuration=s.consumedPoints===r,s.remainingPoints=Math.max(this.points-s.consumedPoints,0),s.msBeforeNext=o,s}_upsert(e,r,n,i=!1){return new Promise((o,s)=>{if(!this._isRedisReady())return s(new Error("Redis connection is not ready"));let a=Math.floor(n/1e3),c=this.client.multi();if(i)a>0?c.set(e,r,"EX",a):c.set(e,r),c.pttl(e).exec((u,l)=>u?s(u):o(l));else if(a>0){let u=function(l,f){return l?s(l):o(f)};typeof this.client.rlflxIncr=="function"?this.client.rlflxIncr(e,r,a,u):this.client.eval(r1,1,e,r,a,u)}else c.incrby(e,r).pttl(e).exec((u,l)=>u?s(u):o(l))})}_get(e){return new Promise((r,n)=>{if(!this._isRedisReady())return n(new Error("Redis connection is not ready"));this.client.multi().get(e).pttl(e).exec((i,o)=>{if(i)n(i);else{let[s]=o;if(s===null)return r(null);r(o)}})})}_delete(e){return new Promise((r,n)=>{this.client.del(e,(i,o)=>{i?n(i):r(o>0)})})}};n1.exports=Uf});var a1=B((OD,s1)=>{var VI=ki(),qI=gt();function o1(t){try{let e=t.client?t.client:t,{version:r}=e.topology.s.options.metadata.driver,n=r.split(".").map(i=>parseInt(i));return{major:n[0],feature:n[1],patch:n[2]}}catch{return{major:0,feature:0,patch:0}}}var Go=class extends VI{constructor(e){super(e),this.dbName=e.dbName,this.tableName=e.tableName,this.indexKeyPrefix=e.indexKeyPrefix,e.mongo?this.client=e.mongo:this.client=e.storeClient,typeof this.client.then=="function"?this.client.then(r=>{this.client=r,this._initCollection(),this._driverVersion=o1(this.client)}):(this._initCollection(),this._driverVersion=o1(this.client))}get dbName(){return this._dbName}set dbName(e){this._dbName=typeof e>"u"?Go.getDbName():e}static getDbName(){return"node-rate-limiter-flexible"}get tableName(){return this._tableName}set tableName(e){this._tableName=typeof e>"u"?this.keyPrefix:e}get client(){return this._client}set client(e){if(typeof e>"u")throw new Error("mongo is not set");this._client=e}get indexKeyPrefix(){return this._indexKeyPrefix}set indexKeyPrefix(e){this._indexKeyPrefix=e||{}}_initCollection(){let r=(typeof this.client.db=="function"?this.client.db(this.dbName):this.client).collection(this.tableName);r.createIndex({expire:-1},{expireAfterSeconds:0}),r.createIndex(Object.assign({},this.indexKeyPrefix,{key:1}),{unique:!0}),this._collection=r}_getRateLimiterRes(e,r,n){let i=new qI,o;return typeof n.value>"u"?o=n:o=n.value,i.isFirstInDuration=o.points===r,i.consumedPoints=o.points,i.remainingPoints=Math.max(this.points-i.consumedPoints,0),i.msBeforeNext=o.expire!==null?Math.max(new Date(o.expire).getTime()-Date.now(),0):-1,i}_upsert(e,r,n,i=!1,o={}){if(!this._collection)return Promise.reject(Error("Mongo connection is not established"));let s=o.attrs||{},a,c;i?(a={key:e},a=Object.assign(a,s),c={$set:{key:e,points:r,expire:n>0?new Date(Date.now()+n):null}},c.$set=Object.assign(c.$set,s)):(a={$or:[{expire:{$gt:new Date}},{expire:{$eq:null}}],key:e},a=Object.assign(a,s),c={$setOnInsert:{key:e,expire:n>0?new Date(Date.now()+n):null},$inc:{points:r}},c.$setOnInsert=Object.assign(c.$setOnInsert,s));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 p=Object.assign({$or:[{expire:{$lte:new Date}},{expire:{$eq:null}}],key:e},s),h={$set:Object.assign({key:e,points:r,expire:n>0?new Date(Date.now()+n):null},s)};this._collection.findOneAndUpdate(p,h,u).then(m=>{l(m)}).catch(m=>{m&&m.code===11e3?this._upsert(e,r,n,i).then(y=>l(y)).catch(y=>f(y)):f(m)})}else f(d)})})}_get(e,r={}){if(!this._collection)return Promise.reject(Error("Mongo connection is not established"));let n=r.attrs||{},i=Object.assign({key:e,$or:[{expire:{$gt:new Date}},{expire:{$eq:null}}]},n);return this._collection.findOne(i)}_delete(e,r={}){if(!this._collection)return Promise.reject(Error("Mongo connection is not established"));let n=r.attrs||{},i=Object.assign({key:e},n);return this._collection.deleteOne(i).then(o=>o.deletedCount>0)}};s1.exports=Go});var u1=B((MD,c1)=>{var zI=ki(),$I=gt(),Ff=class extends zI{constructor(e,r=null){super(e),this.client=e.storeClient,this.clientType=e.storeType,this.dbName=e.dbName,this.tableName=e.tableName,this.clearExpiredByTimeout=e.clearExpiredByTimeout,this.tableCreated=e.tableCreated,this.tableCreated?(this.clearExpiredByTimeout&&this._clearExpiredHourAgo(),typeof r=="function"&&r()):this._createDbAndTable().then(()=>{this.tableCreated=!0,this.clearExpiredByTimeout&&this._clearExpiredHourAgo(),typeof r=="function"&&r()}).catch(n=>{if(typeof r=="function")r(n);else throw n})}clearExpired(e){return new Promise(r=>{this._getConnection().then(n=>{n.query("DELETE FROM ??.?? WHERE expire < ?",[this.dbName,this.tableName,e],()=>{this._releaseConnection(n),r()})}).catch(()=>{r()})})}_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((e,r)=>{this.client.getConnection((n,i)=>{if(n)return r(n);e(i)})});case"sequelize":return this.client.connectionManager.getConnection();case"knex":return this.client.client.acquireConnection();default:return Promise.resolve(this.client)}}_releaseConnection(e){switch(this.clientType){case"pool":return e.release();case"sequelize":return this.client.connectionManager.releaseConnection(e);case"knex":return this.client.client.releaseConnection(e);default:return!0}}_createDbAndTable(){return new Promise((e,r)=>{this._getConnection().then(n=>{n.query(`CREATE DATABASE IF NOT EXISTS \`${this.dbName}\`;`,i=>{if(i)return this._releaseConnection(n),r(i);n.query(this._getCreateTableStmt(),o=>{if(o)return this._releaseConnection(n),r(o);this._releaseConnection(n),e()})})}).catch(n=>{r(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(e){if(typeof e>"u")if(this.client.constructor.name==="Connection")e="connection";else if(this.client.constructor.name==="Pool")e="pool";else if(this.client.constructor.name==="Sequelize")e="sequelize";else throw new Error("storeType is not defined");this._clientType=e.toLowerCase()}get dbName(){return this._dbName}set dbName(e){this._dbName=typeof e>"u"?"rtlmtrflx":e}get tableName(){return this._tableName}set tableName(e){this._tableName=typeof e>"u"?this.keyPrefix:e}get tableCreated(){return this._tableCreated}set tableCreated(e){this._tableCreated=typeof e>"u"?!1:!!e}get clearExpiredByTimeout(){return this._clearExpiredByTimeout}set clearExpiredByTimeout(e){this._clearExpiredByTimeout=typeof e>"u"?!0:!!e}_getRateLimiterRes(e,r,n){let i=new $I,[o]=n;return i.isFirstInDuration=r===o.points,i.consumedPoints=i.isFirstInDuration?r:o.points,i.remainingPoints=Math.max(this.points-i.consumedPoints,0),i.msBeforeNext=o.expire?Math.max(o.expire-Date.now(),0):-1,i}_upsertTransaction(e,r,n,i,o){return new Promise((s,a)=>{e.query("BEGIN",c=>{if(c)return e.rollback(),a(c);let u=Date.now(),l=i>0?u+i:null,f,d;o?(f=`INSERT INTO ??.?? VALUES (?, ?, ?)
16
16
  ON DUPLICATE KEY UPDATE
17
17
  points = ?,
18
- expire = ?;`,h=[this.dbName,this.tableName,r,n,l,n,l]):(f=`INSERT INTO ??.?? VALUES (?, ?, ?)
18
+ expire = ?;`,d=[this.dbName,this.tableName,r,n,l,n,l]):(f=`INSERT INTO ??.?? VALUES (?, ?, ?)
19
19
  ON DUPLICATE KEY UPDATE
20
20
  points = IF(expire <= ?, ?, points + (?)),
21
- expire = IF(expire <= ?, ?, expire);`,h=[this.dbName,this.tableName,r,n,l,u,n,n,u,l]),e.query(f,h,d=>{if(d)return e.rollback(),a(d);e.query("SELECT points, expire FROM ??.?? WHERE `key` = ?;",[this.dbName,this.tableName,r],(p,m)=>{if(p)return e.rollback(),a(p);e.query("COMMIT",y=>{if(y)return e.rollback(),a(y);o(m)})})})})})}_upsert(e,r,n,i=!1){return this.tableCreated?new Promise((s,o)=>{this._getConnection().then(a=>{this._upsertTransaction(a,e,r,n,i).then(c=>{s(c),this._releaseConnection(a)}).catch(c=>{o(c),this._releaseConnection(a)})}).catch(a=>{o(a)})}):Promise.reject(Error("Table is not created yet"))}_get(e){return this.tableCreated?new Promise((r,n)=>{this._getConnection().then(i=>{i.query("SELECT points, expire FROM ??.?? WHERE `key` = ? AND (`expire` > ? OR `expire` IS NULL)",[this.dbName,this.tableName,e,Date.now()],(s,o)=>{s?n(s):o.length===0?r(null):r(o),this._releaseConnection(i)})}).catch(i=>{n(i)})}):Promise.reject(Error("Table is not created yet"))}_delete(e){return this.tableCreated?new Promise((r,n)=>{this._getConnection().then(i=>{i.query("DELETE FROM ??.?? WHERE `key` = ?",[this.dbName,this.tableName,e],(s,o)=>{s?n(s):r(o.affectedRows>0),this._releaseConnection(i)})}).catch(i=>{n(i)})}):Promise.reject(Error("Table is not created yet"))}};ty.exports=ml});var iy=R((tB,ny)=>{var Ib=fi(),Rb=mt(),yl=class extends Ib{constructor(e,r=null){super(e),this.client=e.storeClient,this.clientType=e.storeType,this.tableName=e.tableName,this.clearExpiredByTimeout=e.clearExpiredByTimeout,this.tableCreated=e.tableCreated,this.tableCreated?typeof r=="function"&&r():this._createTable().then(()=>{this.tableCreated=!0,this.clearExpiredByTimeout&&this._clearExpiredHourAgo(),typeof r=="function"&&r()}).catch(n=>{if(typeof r=="function")r(n);else throw n})}clearExpired(e){return new Promise(r=>{let n={name:"rlflx-clear-expired",text:`DELETE FROM ${this.tableName} WHERE expire < $1`,values:[e]};this._query(n).then(()=>{r()}).catch(()=>{r()})})}_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 Promise.resolve(this.client);case"sequelize":return this.client.connectionManager.getConnection();case"knex":return this.client.client.acquireConnection();case"typeorm":return Promise.resolve(this.client.driver.master);default:return Promise.resolve(this.client)}}_releaseConnection(e){switch(this.clientType){case"pool":return!0;case"sequelize":return this.client.connectionManager.releaseConnection(e);case"knex":return this.client.client.releaseConnection(e);case"typeorm":return!0;default:return!0}}_createTable(){return new Promise((e,r)=>{this._query({text:this._getCreateTableStmt()}).then(()=>{e()}).catch(n=>{n.code==="23505"?e():r(n)})})}_getCreateTableStmt(){return`CREATE TABLE IF NOT EXISTS ${this.tableName} (
21
+ expire = IF(expire <= ?, ?, expire);`,d=[this.dbName,this.tableName,r,n,l,u,n,n,u,l]),e.query(f,d,p=>{if(p)return e.rollback(),a(p);e.query("SELECT points, expire FROM ??.?? WHERE `key` = ?;",[this.dbName,this.tableName,r],(h,m)=>{if(h)return e.rollback(),a(h);e.query("COMMIT",y=>{if(y)return e.rollback(),a(y);s(m)})})})})})}_upsert(e,r,n,i=!1){return this.tableCreated?new Promise((o,s)=>{this._getConnection().then(a=>{this._upsertTransaction(a,e,r,n,i).then(c=>{o(c),this._releaseConnection(a)}).catch(c=>{s(c),this._releaseConnection(a)})}).catch(a=>{s(a)})}):Promise.reject(Error("Table is not created yet"))}_get(e){return this.tableCreated?new Promise((r,n)=>{this._getConnection().then(i=>{i.query("SELECT points, expire FROM ??.?? WHERE `key` = ? AND (`expire` > ? OR `expire` IS NULL)",[this.dbName,this.tableName,e,Date.now()],(o,s)=>{o?n(o):s.length===0?r(null):r(s),this._releaseConnection(i)})}).catch(i=>{n(i)})}):Promise.reject(Error("Table is not created yet"))}_delete(e){return this.tableCreated?new Promise((r,n)=>{this._getConnection().then(i=>{i.query("DELETE FROM ??.?? WHERE `key` = ?",[this.dbName,this.tableName,e],(o,s)=>{o?n(o):r(s.affectedRows>0),this._releaseConnection(i)})}).catch(i=>{n(i)})}):Promise.reject(Error("Table is not created yet"))}};c1.exports=Ff});var f1=B((UD,l1)=>{var HI=ki(),GI=gt(),Kf=class extends HI{constructor(e,r=null){super(e),this.client=e.storeClient,this.clientType=e.storeType,this.tableName=e.tableName,this.clearExpiredByTimeout=e.clearExpiredByTimeout,this.tableCreated=e.tableCreated,this.tableCreated?typeof r=="function"&&r():this._createTable().then(()=>{this.tableCreated=!0,this.clearExpiredByTimeout&&this._clearExpiredHourAgo(),typeof r=="function"&&r()}).catch(n=>{if(typeof r=="function")r(n);else throw n})}clearExpired(e){return new Promise(r=>{let n={name:"rlflx-clear-expired",text:`DELETE FROM ${this.tableName} WHERE expire < $1`,values:[e]};this._query(n).then(()=>{r()}).catch(()=>{r()})})}_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 Promise.resolve(this.client);case"sequelize":return this.client.connectionManager.getConnection();case"knex":return this.client.client.acquireConnection();case"typeorm":return Promise.resolve(this.client.driver.master);default:return Promise.resolve(this.client)}}_releaseConnection(e){switch(this.clientType){case"pool":return!0;case"sequelize":return this.client.connectionManager.releaseConnection(e);case"knex":return this.client.client.releaseConnection(e);case"typeorm":return!0;default:return!0}}_createTable(){return new Promise((e,r)=>{this._query({text:this._getCreateTableStmt()}).then(()=>{e()}).catch(n=>{n.code==="23505"?e():r(n)})})}_getCreateTableStmt(){return`CREATE TABLE IF NOT EXISTS ${this.tableName} (
22
22
  key varchar(255) PRIMARY KEY,
23
23
  points integer NOT NULL DEFAULT 0,
24
24
  expire bigint
25
- );`}get clientType(){return this._clientType}set clientType(e){let r=this.client.constructor.name;if(typeof e>"u")if(r==="Client")e="client";else if(r==="Pool"||r==="BoundPool")e="pool";else if(r==="Sequelize")e="sequelize";else throw new Error("storeType is not defined");this._clientType=e.toLowerCase()}get tableName(){return this._tableName}set tableName(e){this._tableName=typeof e>"u"?this.keyPrefix:e}get tableCreated(){return this._tableCreated}set tableCreated(e){this._tableCreated=typeof e>"u"?!1:!!e}get clearExpiredByTimeout(){return this._clearExpiredByTimeout}set clearExpiredByTimeout(e){this._clearExpiredByTimeout=typeof e>"u"?!0:!!e}_getRateLimiterRes(e,r,n){let i=new Rb,s=n.rows[0];return i.isFirstInDuration=r===s.points,i.consumedPoints=i.isFirstInDuration?r:s.points,i.remainingPoints=Math.max(this.points-i.consumedPoints,0),i.msBeforeNext=s.expire?Math.max(s.expire-Date.now(),0):-1,i}_query(e){let n={name:`${this.tableName.toLowerCase()}:${e.name}`,text:e.text,values:e.values};return new Promise((i,s)=>{this._getConnection().then(o=>{o.query(n).then(a=>{i(a),this._releaseConnection(o)}).catch(a=>{s(a),this._releaseConnection(o)})}).catch(o=>{s(o)})})}_upsert(e,r,n,i=!1){if(!this.tableCreated)return Promise.reject(Error("Table is not created yet"));let s=n>0?Date.now()+n:null,o=i?" $3 ":` CASE
25
+ );`}get clientType(){return this._clientType}set clientType(e){let r=this.client.constructor.name;if(typeof e>"u")if(r==="Client")e="client";else if(r==="Pool"||r==="BoundPool")e="pool";else if(r==="Sequelize")e="sequelize";else throw new Error("storeType is not defined");this._clientType=e.toLowerCase()}get tableName(){return this._tableName}set tableName(e){this._tableName=typeof e>"u"?this.keyPrefix:e}get tableCreated(){return this._tableCreated}set tableCreated(e){this._tableCreated=typeof e>"u"?!1:!!e}get clearExpiredByTimeout(){return this._clearExpiredByTimeout}set clearExpiredByTimeout(e){this._clearExpiredByTimeout=typeof e>"u"?!0:!!e}_getRateLimiterRes(e,r,n){let i=new GI,o=n.rows[0];return i.isFirstInDuration=r===o.points,i.consumedPoints=i.isFirstInDuration?r:o.points,i.remainingPoints=Math.max(this.points-i.consumedPoints,0),i.msBeforeNext=o.expire?Math.max(o.expire-Date.now(),0):-1,i}_query(e){let n={name:`${this.tableName.toLowerCase()}:${e.name}`,text:e.text,values:e.values};return new Promise((i,o)=>{this._getConnection().then(s=>{s.query(n).then(a=>{i(a),this._releaseConnection(s)}).catch(a=>{o(a),this._releaseConnection(s)})}).catch(s=>{o(s)})})}_upsert(e,r,n,i=!1){if(!this.tableCreated)return Promise.reject(Error("Table is not created yet"));let o=n>0?Date.now()+n:null,s=i?" $3 ":` CASE
26
26
  WHEN ${this.tableName}.expire <= $4 THEN $3
27
27
  ELSE ${this.tableName}.expire
28
28
  END `;return this._query({name:i?"rlflx-upsert-force":"rlflx-upsert",text:`
@@ -32,21 +32,21 @@
32
32
  WHEN (${this.tableName}.expire <= $4 OR 1=${i?1:0}) THEN $2
33
33
  ELSE ${this.tableName}.points + ($2)
34
34
  END,
35
- expire = ${o}
36
- RETURNING points, expire;`,values:[e,r,s,Date.now()]})}_get(e){return this.tableCreated?new Promise((r,n)=>{this._query({name:"rlflx-get",text:`
37
- SELECT points, expire FROM ${this.tableName} WHERE key = $1 AND (expire > $2 OR expire IS NULL);`,values:[e,Date.now()]}).then(i=>{i.rowCount===0&&(i=null),r(i)}).catch(i=>{n(i)})}):Promise.reject(Error("Table is not created yet"))}_delete(e){return this.tableCreated?this._query({name:"rlflx-delete",text:`DELETE FROM ${this.tableName} WHERE key = $1`,values:[e]}).then(r=>r.rowCount>0):Promise.reject(Error("Table is not created yet"))}};ny.exports=yl});var sy=R(()=>{});var ay=R((sB,oy)=>{oy.exports=class{constructor(e,r,n=null){this.value=e,this.expiresAt=r,this.timeoutId=n}get value(){return this._value}set value(e){this._value=parseInt(e)}get expiresAt(){return this._expiresAt}set expiresAt(e){!(e instanceof Date)&&Number.isInteger(e)&&(e=new Date(e)),this._expiresAt=e}get timeoutId(){return this._timeoutId}set timeoutId(e){this._timeoutId=e}}});var uy=R((aB,cy)=>{var Cb=ay(),gl=mt();cy.exports=class{constructor(){this._storage={}}incrby(e,r,n){if(this._storage[e]){let i=this._storage[e].expiresAt?this._storage[e].expiresAt.getTime()-new Date().getTime():-1;return i!==0?(this._storage[e].value=this._storage[e].value+r,new gl(0,i,this._storage[e].value,!1)):this.set(e,r,n)}return this.set(e,r,n)}set(e,r,n){let i=n*1e3;return this._storage[e]&&this._storage[e].timeoutId&&clearTimeout(this._storage[e].timeoutId),this._storage[e]=new Cb(r,i>0?new Date(Date.now()+i):null),i>0&&(this._storage[e].timeoutId=setTimeout(()=>{delete this._storage[e]},i),this._storage[e].timeoutId.unref&&this._storage[e].timeoutId.unref()),new gl(0,i===0?-1:i,this._storage[e].value,!0)}get(e){if(this._storage[e]){let r=this._storage[e].expiresAt?this._storage[e].expiresAt.getTime()-new Date().getTime():-1;return new gl(0,r,this._storage[e].value,!1)}return null}delete(e){return this._storage[e]?(this._storage[e].timeoutId&&clearTimeout(this._storage[e].timeoutId),delete this._storage[e],!0):!1}}});var wl=R((cB,fy)=>{var Tb=fs(),Bb=uy(),ly=mt(),xl=class extends Tb{constructor(e={}){super(e),this._memoryStorage=new Bb}consume(e,r=1,n={}){return new Promise((i,s)=>{let o=this.getKey(e),a=this._getKeySecDuration(n),c=this._memoryStorage.incrby(o,r,a);if(c.remainingPoints=Math.max(this.points-c.consumedPoints,0),c.consumedPoints>this.points)this.blockDuration>0&&c.consumedPoints<=this.points+r&&(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(e,r=1,n={}){let i=this.getKey(e);return new Promise(s=>{let o=this._getKeySecDuration(n),a=this._memoryStorage.incrby(i,r,o);a.remainingPoints=Math.max(this.points-a.consumedPoints,0),s(a)})}reward(e,r=1,n={}){let i=this.getKey(e);return new Promise(s=>{let o=this._getKeySecDuration(n),a=this._memoryStorage.incrby(i,-r,o);a.remainingPoints=Math.max(this.points-a.consumedPoints,0),s(a)})}block(e,r){let n=r*1e3,i=this.points+1;return this._memoryStorage.set(this.getKey(e),i,r),Promise.resolve(new ly(0,n===0?-1:n,i))}set(e,r,n){let i=(n>=0?n:this.duration)*1e3;return this._memoryStorage.set(this.getKey(e),r,n),Promise.resolve(new ly(0,i===0?-1:i,r))}get(e){let r=this._memoryStorage.get(this.getKey(e));return r!==null&&(r.remainingPoints=Math.max(this.points-r.consumedPoints,0)),Promise.resolve(r)}delete(e){return Promise.resolve(this._memoryStorage.delete(this.getKey(e)))}};fy.exports=xl});var xy=R((uB,gy)=>{var hy=sy(),Lb=zr(),Pb=fs(),py=wl(),Db=mt(),Et="rate_limiter_flexible",pi=null,dy=function(t,e,r,n){let i;n===null||n===!0||n===!1?i=n:i={remainingPoints:n.remainingPoints,msBeforeNext:n.msBeforeNext,consumedPoints:n.consumedPoints,isFirstInDuration:n.isFirstInDuration},t.send({channel:Et,keyPrefix:e.keyPrefix,promiseId:e.promiseId,type:r,data:i})},my=function(t){setTimeout(()=>{this._initiated?process.send(t):typeof this._promises[t.promiseId]<"u"&&my.call(this,t)},30)},hi=function(t,e,r,n,i){let s={channel:Et,keyPrefix:this.keyPrefix,func:t,promiseId:e,data:{key:r,arg:n,opts:i}};this._initiated?process.send(s):my.call(this,s)},yy=function(t,e){if(!e||e.channel!==Et||typeof this._rateLimiters[e.keyPrefix]>"u")return!1;let r;switch(e.func){case"consume":r=this._rateLimiters[e.keyPrefix].consume(e.data.key,e.data.arg,e.data.opts);break;case"penalty":r=this._rateLimiters[e.keyPrefix].penalty(e.data.key,e.data.arg,e.data.opts);break;case"reward":r=this._rateLimiters[e.keyPrefix].reward(e.data.key,e.data.arg,e.data.opts);break;case"block":r=this._rateLimiters[e.keyPrefix].block(e.data.key,e.data.arg,e.data.opts);break;case"get":r=this._rateLimiters[e.keyPrefix].get(e.data.key,e.data.opts);break;case"delete":r=this._rateLimiters[e.keyPrefix].delete(e.data.key,e.data.opts);break;default:return!1}r&&r.then(n=>{dy(t,e,"resolve",n)}).catch(n=>{dy(t,e,"reject",n)})},Nb=function(t){if(!t||t.channel!==Et||t.keyPrefix!==this.keyPrefix)return!1;if(this._promises[t.promiseId]){clearTimeout(this._promises[t.promiseId].timeoutId);let e;switch(t.data===null||t.data===!0||t.data===!1?e=t.data:e=new Db(t.data.remainingPoints,t.data.msBeforeNext,t.data.consumedPoints,t.data.isFirstInDuration),t.type){case"resolve":this._promises[t.promiseId].resolve(e);break;case"reject":this._promises[t.promiseId].reject(e);break;default:throw new Error(`RateLimiterCluster: no such message type '${t.type}'`)}delete this._promises[t.promiseId]}},kb=function(){return{points:this.points,duration:this.duration,blockDuration:this.blockDuration,execEvenly:this.execEvenly,execEvenlyMinDelayMs:this.execEvenlyMinDelayMs,keyPrefix:this.keyPrefix}},di=function(t,e){let r=process.hrtime(),n=r[0].toString()+r[1].toString();return typeof this._promises[n]<"u"&&(n+=Lb.randomBytes(12).toString("base64")),this._promises[n]={resolve:t,reject:e,timeoutId:setTimeout(()=>{delete this._promises[n],e(new Error("RateLimiterCluster timeout: no answer from master in time"))},this.timeoutMs)},n},vl=class{constructor(){if(pi)return pi;this._rateLimiters={},hy.setMaxListeners(0),hy.on("message",(e,r)=>{r&&r.channel===Et&&r.type==="init"?(typeof this._rateLimiters[r.opts.keyPrefix]>"u"&&(this._rateLimiters[r.opts.keyPrefix]=new py(r.opts)),e.send({channel:Et,type:"init",keyPrefix:r.opts.keyPrefix})):yy.call(this,e,r)}),pi=this}},El=class{constructor(e){if(pi)return pi;this._rateLimiters={},e.launchBus((r,n)=>{n.on("process:msg",i=>{let s=i.raw;if(s&&s.channel===Et&&s.type==="init")typeof this._rateLimiters[s.opts.keyPrefix]>"u"&&(this._rateLimiters[s.opts.keyPrefix]=new py(s.opts)),e.sendDataToProcessId(i.process.pm_id,{data:{},topic:Et,channel:Et,type:"init",keyPrefix:s.opts.keyPrefix},(o,a)=>{o&&console.log(o,a)});else{let o={send:a=>{let c=a;c.topic=Et,typeof c.data>"u"&&(c.data={}),e.sendDataToProcessId(i.process.pm_id,c,(u,l)=>{u&&console.log(u,l)})}};yy.call(this,o,s)}})}),pi=this}},bl=class extends Pb{get timeoutMs(){return this._timeoutMs}set timeoutMs(e){this._timeoutMs=typeof e>"u"?5e3:Math.abs(parseInt(e))}constructor(e={}){super(e),process.setMaxListeners(0),this.timeoutMs=e.timeoutMs,this._initiated=!1,process.on("message",r=>{r&&r.channel===Et&&r.type==="init"&&r.keyPrefix===this.keyPrefix?this._initiated=!0:Nb.call(this,r)}),process.send({channel:Et,type:"init",opts:kb.call(this)}),this._promises={}}consume(e,r=1,n={}){return new Promise((i,s)=>{let o=di.call(this,i,s);hi.call(this,"consume",o,e,r,n)})}penalty(e,r=1,n={}){return new Promise((i,s)=>{let o=di.call(this,i,s);hi.call(this,"penalty",o,e,r,n)})}reward(e,r=1,n={}){return new Promise((i,s)=>{let o=di.call(this,i,s);hi.call(this,"reward",o,e,r,n)})}block(e,r,n={}){return new Promise((i,s)=>{let o=di.call(this,i,s);hi.call(this,"block",o,e,r,n)})}get(e,r={}){return new Promise((n,i)=>{let s=di.call(this,n,i);hi.call(this,"get",s,e,r)})}delete(e,r={}){return new Promise((n,i)=>{let s=di.call(this,n,i);hi.call(this,"delete",s,e,r)})}};gy.exports={RateLimiterClusterMaster:vl,RateLimiterClusterMasterPM2:El,RateLimiterCluster:bl}});var vy=R((lB,wy)=>{var Ob=fi(),Mb=mt(),_l=class extends Ob{constructor(e){super(e),this.client=e.storeClient}_getRateLimiterRes(e,r,n){let i=new Mb;return i.consumedPoints=parseInt(n.consumedPoints),i.isFirstInDuration=n.consumedPoints===r,i.remainingPoints=Math.max(this.points-i.consumedPoints,0),i.msBeforeNext=n.msBeforeNext,i}_upsert(e,r,n,i=!1,s={}){return new Promise((o,a)=>{let c=Date.now(),u=Math.floor(n/1e3);i?this.client.set(e,r,u,l=>{l?a(l):this.client.set(`${e}_expire`,u>0?c+u*1e3:-1,u,()=>{let f={consumedPoints:r,msBeforeNext:u>0?u*1e3:-1};o(f)})}):this.client.incr(e,r,(l,f)=>{l||f===!1?this.client.add(e,r,u,(h,d)=>{if(h||!d)if(typeof s.attemptNumber>"u"||s.attemptNumber<3){let p=Object.assign({},s);p.attemptNumber=p.attemptNumber?p.attemptNumber+1:1,this._upsert(e,r,n,i,p).then(m=>o(m)).catch(m=>a(m))}else a(new Error("Can not add key"));else this.client.add(`${e}_expire`,u>0?c+u*1e3:-1,u,()=>{let p={consumedPoints:r,msBeforeNext:u>0?u*1e3:-1};o(p)})}):this.client.get(`${e}_expire`,(h,d)=>{if(h)a(h);else{let p=d===!1?0:d,m={consumedPoints:f,msBeforeNext:p>=0?Math.max(p-c,0):-1};o(m)}})})})}_get(e){return new Promise((r,n)=>{let i=Date.now();this.client.get(e,(s,o)=>{o?this.client.get(`${e}_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};r(l)}}):r(null)})})}_delete(e){return new Promise((r,n)=>{this.client.del(e,(i,s)=>{i?n(i):s===!1?r(s):this.client.del(`${e}_expire`,o=>{o?n(o):r(s)})})})}};wy.exports=_l});var _y=R((hB,by)=>{var Ey=mt();by.exports=class{constructor(e={}){this.limiter=e.limiter,this.blackList=e.blackList,this.whiteList=e.whiteList,this.isBlackListed=e.isBlackListed,this.isWhiteListed=e.isWhiteListed,this.runActionAnyway=e.runActionAnyway}get limiter(){return this._limiter}set limiter(e){if(typeof e>"u")throw new Error("limiter is not set");this._limiter=e}get runActionAnyway(){return this._runActionAnyway}set runActionAnyway(e){this._runActionAnyway=typeof e>"u"?!1:e}get blackList(){return this._blackList}set blackList(e){this._blackList=Array.isArray(e)?e:[]}get isBlackListed(){return this._isBlackListed}set isBlackListed(e){if(typeof e>"u"&&(e=()=>!1),typeof e!="function")throw new Error("isBlackListed must be function");this._isBlackListed=e}get whiteList(){return this._whiteList}set whiteList(e){this._whiteList=Array.isArray(e)?e:[]}get isWhiteListed(){return this._isWhiteListed}set isWhiteListed(e){if(typeof e>"u"&&(e=()=>!1),typeof e!="function")throw new Error("isWhiteListed must be function");this._isWhiteListed=e}isBlackListedSomewhere(e){return this.blackList.indexOf(e)>=0||this.isBlackListed(e)}isWhiteListedSomewhere(e){return this.whiteList.indexOf(e)>=0||this.isWhiteListed(e)}getBlackRes(){return new Ey(0,Number.MAX_SAFE_INTEGER,0,!1)}getWhiteRes(){return new Ey(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(e,r=1){let n;return this.isWhiteListedSomewhere(e)?n=this.resolveWhite():this.isBlackListedSomewhere(e)&&(n=this.rejectBlack()),typeof n>"u"?this.limiter.consume(e,r):(this.runActionAnyway&&this.limiter.consume(e,r).catch(()=>{}),n)}block(e,r){let n;return this.isWhiteListedSomewhere(e)?n=this.resolveWhite():this.isBlackListedSomewhere(e)&&(n=this.resolveBlack()),typeof n>"u"?this.limiter.block(e,r):(this.runActionAnyway&&this.limiter.block(e,r).catch(()=>{}),n)}penalty(e,r){let n;return this.isWhiteListedSomewhere(e)?n=this.resolveWhite():this.isBlackListedSomewhere(e)&&(n=this.resolveBlack()),typeof n>"u"?this.limiter.penalty(e,r):(this.runActionAnyway&&this.limiter.penalty(e,r).catch(()=>{}),n)}reward(e,r){let n;return this.isWhiteListedSomewhere(e)?n=this.resolveWhite():this.isBlackListedSomewhere(e)&&(n=this.resolveBlack()),typeof n>"u"?this.limiter.reward(e,r):(this.runActionAnyway&&this.limiter.reward(e,r).catch(()=>{}),n)}get(e){let r;return this.isWhiteListedSomewhere(e)?r=this.resolveWhite():this.isBlackListedSomewhere(e)&&(r=this.resolveBlack()),typeof r>"u"||this.runActionAnyway?this.limiter.get(e):r}delete(e){return this.limiter.delete(e)}}});var Ay=R((pB,Sy)=>{var Fb=fs();Sy.exports=class{constructor(...e){if(e.length<1)throw new Error("RateLimiterUnion: at least one limiter have to be passed");e.forEach(r=>{if(!(r instanceof Fb))throw new Error("RateLimiterUnion: all limiters have to be instance of RateLimiterAbstract")}),this._limiters=e}consume(e,r=1){return new Promise((n,i)=>{let s=[];this._limiters.forEach(o=>{s.push(o.consume(e,r).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 Ry=R((yB,Iy)=>{Iy.exports=class extends Error{constructor(e,r){super(),Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor),this.name="CustomError",this.message=e,r&&(this.extra=r)}}});var Ly=R((xB,By)=>{var Cy=Ry(),Ty=4294967295,Sl="limiter";By.exports=class{constructor(e,r={maxQueueSize:Ty}){this._queueLimiters={KEY_DEFAULT:new ta(e,r)},this._limiterFlexible=e,this._maxQueueSize=r.maxQueueSize}getTokensRemaining(e=Sl){return this._queueLimiters[e]?this._queueLimiters[e].getTokensRemaining():Promise.resolve(this._limiterFlexible.points)}removeTokens(e,r=Sl){return this._queueLimiters[r]||(this._queueLimiters[r]=new ta(this._limiterFlexible,{key:r,maxQueueSize:this._maxQueueSize})),this._queueLimiters[r].removeTokens(e)}};var ta=class{constructor(e,r={maxQueueSize:Ty,key:Sl}){this._key=r.key,this._waitTimeout=null,this._queue=[],this._limiterFlexible=e,this._maxQueueSize=r.maxQueueSize}getTokensRemaining(){return this._limiterFlexible.get(this._key).then(e=>e!==null?e.remainingPoints:this._limiterFlexible.points)}removeTokens(e){let r=this;return new Promise((n,i)=>{if(e>r._limiterFlexible.points){i(new Cy(`Requested tokens ${e} exceeds maximum ${r._limiterFlexible.points} tokens per interval`));return}r._queue.length>0?r._queueRequest.call(r,n,i,e):r._limiterFlexible.consume(r._key,e).then(s=>{n(s.remainingPoints)}).catch(s=>{s instanceof Error?i(s):(r._queueRequest.call(r,n,i,e),r._waitTimeout===null&&(r._waitTimeout=setTimeout(r._processFIFO.bind(r),s.msBeforeNext)))})})}_queueRequest(e,r,n){let i=this;i._queue.length<i._maxQueueSize?i._queue.push({resolve:e,reject:r,tokens:n}):r(new Cy(`Number of requests reached it's maximum ${i._maxQueueSize}`))}_processFIFO(){let e=this;if(e._waitTimeout!==null&&(clearTimeout(e._waitTimeout),e._waitTimeout=null),e._queue.length===0)return;let r=e._queue.shift();e._limiterFlexible.consume(e._key,r.tokens).then(n=>{r.resolve(n.remainingPoints),e._processFIFO.call(e)}).catch(n=>{n instanceof Error?(r.reject(n),e._processFIFO.call(e)):(e._queue.unshift(r),e._waitTimeout===null&&(e._waitTimeout=setTimeout(e._processFIFO.bind(e),n.msBeforeNext)))})}}});var Dy=R((vB,Py)=>{var Al=mt();Py.exports=class{constructor(e,r){this._rateLimiter=e,this._burstLimiter=r}_combineRes(e,r){return new Al(e.remainingPoints,Math.min(e.msBeforeNext,r.msBeforeNext),e.consumedPoints,e.isFirstInDuration)}consume(e,r=1,n={}){return this._rateLimiter.consume(e,r,n).catch(i=>i instanceof Al?this._burstLimiter.consume(e,r,n).then(s=>Promise.resolve(this._combineRes(i,s))).catch(s=>s instanceof Al?Promise.reject(this._combineRes(i,s)):Promise.reject(s)):Promise.reject(i))}get(e){return Promise.all([this._rateLimiter.get(e),this._burstLimiter.get(e)]).then(([r,n])=>this._combineRes(r,n))}get points(){return this._rateLimiter.points}}});var ky=R((EB,Ny)=>{var Ub=Zm(),Kb=ey(),Vb=ry(),qb=iy(),{RateLimiterClusterMaster:$b,RateLimiterClusterMasterPM2:zb,RateLimiterCluster:Hb}=xy(),Gb=wl(),Yb=vy(),Wb=_y(),Qb=Ay(),Xb=Ly(),Zb=Dy(),jb=mt();Ny.exports={RateLimiterRedis:Ub,RateLimiterMongo:Kb,RateLimiterMySQL:Vb,RateLimiterPostgres:qb,RateLimiterMemory:Gb,RateLimiterMemcache:Yb,RateLimiterClusterMaster:$b,RateLimiterClusterMasterPM2:zb,RateLimiterCluster:Hb,RLWrapperBlackAndWhite:Wb,RateLimiterUnion:Qb,RateLimiterQueue:Xb,BurstyRateLimiter:Zb,RateLimiterRes:jb}});var P_={};Ke(P_,{createLibp2p:()=>L_});var eg=V(Ei(),1);var eR=V(Ai(),1),tR=V(E0(),1);var Hs=class extends Error{code;type;constructor(e="The operation was aborted"){super(e),this.code=Hs.code,this.type=Hs.type}},xr=Hs;Ca(xr,"code","ABORT_ERR"),Ca(xr,"type","aborted");var E=class extends Error{code;props;constructor(e,r,n){super(e),this.code=r,this.name=n?.name??"CodeError",this.props=n??{}}};var po=V(se(),1);function Wr(t){return globalThis.Buffer!=null?new Uint8Array(t.buffer,t.byteOffset,t.byteLength):t}var rc={};Ke(rc,{identity:()=>zx});function Ux(t,e){if(t.length>=255)throw new TypeError("Alphabet too long");for(var r=new Uint8Array(256),n=0;n<r.length;n++)r[n]=255;for(var i=0;i<t.length;i++){var s=t.charAt(i),o=s.charCodeAt(0);if(r[o]!==255)throw new TypeError(s+" is ambiguous");r[o]=i}var a=t.length,c=t.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,w=p.length;g!==w&&p[g]===0;)g++,m++;for(var _=(w-g)*l+1>>>0,N=new Uint8Array(_);g!==w;){for(var C=p[g],T=0,H=_-1;(C!==0||T<y)&&H!==-1;H--,T++)C+=256*N[H]>>>0,N[H]=C%a>>>0,C=C/a>>>0;if(C!==0)throw new Error("Non-zero carry");y=T,g++}for(var W=_-y;W!==_&&N[W]===0;)W++;for(var De=c.repeat(m);W<_;++W)De+=t.charAt(N[W]);return De}function h(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 w=(p.length-m)*u+1>>>0,_=new Uint8Array(w);p[m];){var N=r[p.charCodeAt(m)];if(N===255)return;for(var C=0,T=w-1;(N!==0||C<g)&&T!==-1;T--,C++)N+=a*_[T]>>>0,_[T]=N%256>>>0,N=N/256>>>0;if(N!==0)throw new Error("Non-zero carry");g=C,m++}if(p[m]!==" "){for(var H=w-g;H!==w&&_[H]===0;)H++;for(var W=new Uint8Array(y+(w-H)),De=y;H!==w;)W[De++]=_[H++];return W}}}function d(p){var m=h(p);if(m)return m;throw new Error(`Non-${e} character`)}return{encode:f,decodeUnsafe:h,decode:d}}var Kx=Ux,Vx=Kx,b0=Vx;var lS=new Uint8Array(0);var _0=(t,e)=>{if(t===e)return!0;if(t.byteLength!==e.byteLength)return!1;for(let r=0;r<t.byteLength;r++)if(t[r]!==e[r])return!1;return!0},nr=t=>{if(t instanceof Uint8Array&&t.constructor.name==="Uint8Array")return t;if(t instanceof ArrayBuffer)return new Uint8Array(t);if(ArrayBuffer.isView(t))return new Uint8Array(t.buffer,t.byteOffset,t.byteLength);throw new Error("Unknown type, must be binary type")};var S0=t=>new TextEncoder().encode(t),A0=t=>new TextDecoder().decode(t);var ja=class{constructor(e,r,n){this.name=e,this.prefix=r,this.baseEncode=n}encode(e){if(e instanceof Uint8Array)return`${this.prefix}${this.baseEncode(e)}`;throw Error("Unknown type, must be binary type")}},Ja=class{constructor(e,r,n){if(this.name=e,this.prefix=r,r.codePointAt(0)===void 0)throw new Error("Invalid prefix character");this.prefixCodePoint=r.codePointAt(0),this.baseDecode=n}decode(e){if(typeof e=="string"){if(e.codePointAt(0)!==this.prefixCodePoint)throw Error(`Unable to decode multibase string ${JSON.stringify(e)}, ${this.name} decoder only supports inputs prefixed with ${this.prefix}`);return this.baseDecode(e.slice(this.prefix.length))}else throw Error("Can only multibase decode strings")}or(e){return R0(this,e)}},ec=class{constructor(e){this.decoders=e}or(e){return R0(this,e)}decode(e){let r=e[0],n=this.decoders[r];if(n)return n.decode(e);throw RangeError(`Unable to decode multibase string ${JSON.stringify(e)}, only inputs prefixed with ${Object.keys(this.decoders)} are supported`)}},R0=(t,e)=>new ec({...t.decoders||{[t.prefix]:t},...e.decoders||{[e.prefix]:e}}),tc=class{constructor(e,r,n,i){this.name=e,this.prefix=r,this.baseEncode=n,this.baseDecode=i,this.encoder=new ja(e,r,n),this.decoder=new Ja(e,r,i)}encode(e){return this.encoder.encode(e)}decode(e){return this.decoder.decode(e)}},Ln=({name:t,prefix:e,encode:r,decode:n})=>new tc(t,e,r,n),wr=({prefix:t,name:e,alphabet:r})=>{let{encode:n,decode:i}=b0(r,e);return Ln({prefix:t,name:e,encode:n,decode:s=>nr(i(s))})},qx=(t,e,r,n)=>{let i={};for(let l=0;l<e.length;++l)i[e[l]]=l;let s=t.length;for(;t[s-1]==="=";)--s;let o=new Uint8Array(s*r/8|0),a=0,c=0,u=0;for(let l=0;l<s;++l){let f=i[t[l]];if(f===void 0)throw new SyntaxError(`Non-${n} character`);c=c<<r|f,a+=r,a>=8&&(a-=8,o[u++]=255&c>>a)}if(a>=r||255&c<<8-a)throw new SyntaxError("Unexpected end of data");return o},$x=(t,e,r)=>{let n=e[e.length-1]==="=",i=(1<<r)-1,s="",o=0,a=0;for(let c=0;c<t.length;++c)for(a=a<<8|t[c],o+=8;o>r;)o-=r,s+=e[i&a>>o];if(o&&(s+=e[i&a<<r-o]),n)for(;s.length*r&7;)s+="=";return s},be=({name:t,prefix:e,bitsPerChar:r,alphabet:n})=>Ln({prefix:e,name:t,encode(i){return $x(i,n,r)},decode(i){return qx(i,n,r,t)}});var zx=Ln({prefix:"\0",name:"identity",encode:t=>A0(t),decode:t=>S0(t)});var nc={};Ke(nc,{base2:()=>Hx});var Hx=be({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var ic={};Ke(ic,{base8:()=>Gx});var Gx=be({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var sc={};Ke(sc,{base10:()=>Yx});var Yx=wr({prefix:"9",name:"base10",alphabet:"0123456789"});var oc={};Ke(oc,{base16:()=>Wx,base16upper:()=>Qx});var Wx=be({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),Qx=be({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var ac={};Ke(ac,{base32:()=>ot,base32hex:()=>Jx,base32hexpad:()=>tw,base32hexpadupper:()=>rw,base32hexupper:()=>ew,base32pad:()=>Zx,base32padupper:()=>jx,base32upper:()=>Xx,base32z:()=>nw});var ot=be({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),Xx=be({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),Zx=be({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),jx=be({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),Jx=be({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),ew=be({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),tw=be({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),rw=be({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),nw=be({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var cc={};Ke(cc,{base36:()=>iw,base36upper:()=>sw});var iw=wr({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),sw=wr({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var uc={};Ke(uc,{base58btc:()=>Re,base58flickr:()=>ow});var Re=wr({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),ow=wr({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var lc={};Ke(lc,{base64:()=>Qr,base64pad:()=>aw,base64url:()=>cw,base64urlpad:()=>uw});var Qr=be({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),aw=be({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),cw=be({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),uw=be({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});var fc={};Ke(fc,{base256emoji:()=>pw});var C0=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}"),lw=C0.reduce((t,e,r)=>(t[r]=e,t),[]),fw=C0.reduce((t,e,r)=>(t[e.codePointAt(0)]=r,t),[]);function hw(t){return t.reduce((e,r)=>(e+=lw[r],e),"")}function dw(t){let e=[];for(let r of t){let n=fw[r.codePointAt(0)];if(n===void 0)throw new Error(`Non-base256emoji character: ${r}`);e.push(n)}return new Uint8Array(e)}var pw=Ln({prefix:"\u{1F680}",name:"base256emoji",encode:hw,decode:dw});var mc={};Ke(mc,{sha256:()=>Ve,sha512:()=>Dw});var mw=L0,T0=128,yw=127,gw=~yw,xw=Math.pow(2,31);function L0(t,e,r){e=e||[],r=r||0;for(var n=r;t>=xw;)e[r++]=t&255|T0,t/=128;for(;t&gw;)e[r++]=t&255|T0,t>>>=7;return e[r]=t|0,L0.bytes=r-n+1,e}var ww=hc,vw=128,B0=127;function hc(t,n){var r=0,n=n||0,i=0,s=n,o,a=t.length;do{if(s>=a)throw hc.bytes=0,new RangeError("Could not decode varint");o=t[s++],r+=i<28?(o&B0)<<i:(o&B0)*Math.pow(2,i),i+=7}while(o>=vw);return hc.bytes=s-n,r}var Ew=Math.pow(2,7),bw=Math.pow(2,14),_w=Math.pow(2,21),Sw=Math.pow(2,28),Aw=Math.pow(2,35),Iw=Math.pow(2,42),Rw=Math.pow(2,49),Cw=Math.pow(2,56),Tw=Math.pow(2,63),Bw=function(t){return t<Ew?1:t<bw?2:t<_w?3:t<Sw?4:t<Aw?5:t<Iw?6:t<Rw?7:t<Cw?8:t<Tw?9:10},Lw={encode:mw,decode:ww,encodingLength:Bw},Pw=Lw,Ci=Pw;var Ti=(t,e=0)=>[Ci.decode(t,e),Ci.decode.bytes],Pn=(t,e,r=0)=>(Ci.encode(t,e,r),e),Dn=t=>Ci.encodingLength(t);var zt=(t,e)=>{let r=e.byteLength,n=Dn(t),i=n+Dn(r),s=new Uint8Array(i+r);return Pn(t,s,0),Pn(r,s,n),s.set(e,i),new Nn(t,r,e,s)},Xr=t=>{let e=nr(t),[r,n]=Ti(e),[i,s]=Ti(e.subarray(n)),o=e.subarray(n+s);if(o.byteLength!==i)throw new Error("Incorrect length");return new Nn(r,i,o,e)},P0=(t,e)=>{if(t===e)return!0;{let r=e;return t.code===r.code&&t.size===r.size&&r.bytes instanceof Uint8Array&&_0(t.bytes,r.bytes)}},Nn=class{constructor(e,r,n,i){this.code=e,this.size=r,this.digest=n,this.bytes=i}};var pc=({name:t,code:e,encode:r})=>new dc(t,e,r),dc=class{constructor(e,r,n){this.name=e,this.code=r,this.encode=n}digest(e){if(e instanceof Uint8Array){let r=this.encode(e);return r instanceof Uint8Array?zt(this.code,r):r.then(n=>zt(this.code,n))}else throw Error("Unknown type, must be binary type")}};var N0=t=>async e=>new Uint8Array(await crypto.subtle.digest(t,e)),Ve=pc({name:"sha2-256",code:18,encode:N0("SHA-256")}),Dw=pc({name:"sha2-512",code:19,encode:N0("SHA-512")});var yc={};Ke(yc,{identity:()=>vr});var k0=0,Nw="identity",O0=nr,kw=t=>zt(k0,O0(t)),vr={code:k0,name:Nw,encode:O0,digest:kw};var LS=new TextEncoder,PS=new TextDecoder;var M0=(t,e)=>{let{bytes:r,version:n}=t;switch(n){case 0:return Uw(r,gc(t),e||Re.encoder);default:return Kw(r,gc(t),e||ot.encoder)}};var F0=new WeakMap,gc=t=>{let e=F0.get(t);if(e==null){let r=new Map;return F0.set(t,r),r}return e},ue=class{constructor(e,r,n,i){this.code=r,this.version=e,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:e,multihash:r}=this;if(e!==Bi)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(r.code!==Vw)throw new Error("Cannot convert non sha2-256 multihash CID to CIDv0");return ue.createV0(r)}default:throw Error(`Can not convert CID version ${this.version} to version 0. This is a bug please report`)}}toV1(){switch(this.version){case 0:{let{code:e,digest:r}=this.multihash,n=zt(e,r);return ue.createV1(this.code,n)}case 1:return this;default:throw Error(`Can not convert CID version ${this.version} to version 1. This is a bug please report`)}}equals(e){return ue.equals(this,e)}static equals(e,r){let n=r;return n&&e.code===n.code&&e.version===n.version&&P0(e.multihash,n.multihash)}toString(e){return M0(this,e)}toJSON(){return{"/":M0(this)}}link(){return this}get[Symbol.toStringTag](){return"CID"}[Symbol.for("nodejs.util.inspect.custom")](){return`CID(${this.toString()})`}static asCID(e){if(e==null)return null;let r=e;if(r instanceof ue)return r;if(r["/"]!=null&&r["/"]===r.bytes||r.asCID===r){let{version:n,code:i,multihash:s,bytes:o}=r;return new ue(n,i,s,o||U0(n,i,s.bytes))}else if(r[qw]===!0){let{version:n,multihash:i,code:s}=r,o=Xr(i);return ue.create(n,s,o)}else return null}static create(e,r,n){if(typeof r!="number")throw new Error("String codecs are no longer supported");if(!(n.bytes instanceof Uint8Array))throw new Error("Invalid digest");switch(e){case 0:{if(r!==Bi)throw new Error(`Version 0 CID must use dag-pb (code: ${Bi}) block encoding`);return new ue(e,r,n,n.bytes)}case 1:{let i=U0(e,r,n.bytes);return new ue(e,r,n,i)}default:throw new Error("Invalid version")}}static createV0(e){return ue.create(0,Bi,e)}static createV1(e,r){return ue.create(1,e,r)}static decode(e){let[r,n]=ue.decodeFirst(e);if(n.length)throw new Error("Incorrect length");return r}static decodeFirst(e){let r=ue.inspectBytes(e),n=r.size-r.multihashSize,i=nr(e.subarray(n,n+r.multihashSize));if(i.byteLength!==r.multihashSize)throw new Error("Incorrect length");let s=i.subarray(r.multihashSize-r.digestSize),o=new Nn(r.multihashCode,r.digestSize,s,i);return[r.version===0?ue.createV0(o):ue.createV1(r.codec,o),e.subarray(r.size)]}static inspectBytes(e){let r=0,n=()=>{let[f,h]=Ti(e.subarray(r));return r+=h,f},i=n(),s=Bi;if(i===18?(i=0,r=0):s=n(),i!==0&&i!==1)throw new RangeError(`Invalid CID version ${i}`);let o=r,a=n(),c=n(),u=r+c,l=u-o;return{version:i,codec:s,multihashCode:a,digestSize:c,multihashSize:l,size:u}}static parse(e,r){let[n,i]=Fw(e,r),s=ue.decode(i);if(s.version===0&&e[0]!=="Q")throw Error("Version 0 CID string must not include multibase prefix");return gc(s).set(n,e),s}},Fw=(t,e)=>{switch(t[0]){case"Q":{let r=e||Re;return[Re.prefix,r.decode(`${Re.prefix}${t}`)]}case Re.prefix:{let r=e||Re;return[Re.prefix,r.decode(t)]}case ot.prefix:{let r=e||ot;return[ot.prefix,r.decode(t)]}default:{if(e==null)throw Error("To parse non base32 or base58btc encoded CID multibase decoder must be provided");return[t[0],e.decode(t)]}}},Uw=(t,e,r)=>{let{prefix:n}=r;if(n!==Re.prefix)throw Error(`Cannot string encode V0 in ${r.name} encoding`);let i=e.get(n);if(i==null){let s=r.encode(t).slice(1);return e.set(n,s),s}else return i},Kw=(t,e,r)=>{let{prefix:n}=r,i=e.get(n);if(i==null){let s=r.encode(t);return e.set(n,s),s}else return i},Bi=112,Vw=18,U0=(t,e,r)=>{let n=Dn(t),i=n+Dn(e),s=new Uint8Array(i+r.byteLength);return Pn(t,s,0),Pn(e,s,n),s.set(r,i),s},qw=Symbol.for("@ipld/js-cid/CID");var Er={...rc,...nc,...ic,...sc,...oc,...ac,...cc,...uc,...lc,...fc},qS={...mc,...yc};function ir(t=0){return globalThis.Buffer?.alloc!=null?Wr(globalThis.Buffer.alloc(t)):new Uint8Array(t)}function At(t=0){return globalThis.Buffer?.allocUnsafe!=null?Wr(globalThis.Buffer.allocUnsafe(t)):new Uint8Array(t)}function V0(t,e,r,n){return{name:t,prefix:e,encoder:{name:t,prefix:e,encode:r},decoder:{decode:n}}}var K0=V0("utf8","u",t=>"u"+new TextDecoder("utf8").decode(t),t=>new TextEncoder().encode(t.substring(1))),xc=V0("ascii","a",t=>{let e="a";for(let r=0;r<t.length;r++)e+=String.fromCharCode(t[r]);return e},t=>{t=t.substring(1);let e=At(t.length);for(let r=0;r<t.length;r++)e[r]=t.charCodeAt(r);return e}),$w={utf8:K0,"utf-8":K0,hex:Er.base16,latin1:xc,ascii:xc,binary:xc,...Er},Ys=$w;function U(t,e="utf8"){let r=Ys[e];if(r==null)throw new Error(`Unsupported encoding "${e}"`);return(e==="utf8"||e==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?Wr(globalThis.Buffer.from(t,"utf-8")):r.decoder.decode(`${r.prefix}${t}`)}var Gc={};Ke(Gc,{Ed25519PrivateKey:()=>rn,Ed25519PublicKey:()=>Mi,generateKeyPair:()=>E2,generateKeyPairFromSeed:()=>Yh,unmarshalEd25519PrivateKey:()=>w2,unmarshalEd25519PublicKey:()=>v2});function ve(t,e){if(t===e)return!0;if(t.byteLength!==e.byteLength)return!1;for(let r=0;r<t.byteLength;r++)if(t[r]!==e[r])return!1;return!0}var zw=V(zr(),1);var Fe=BigInt(0),X=BigInt(1),Sr=BigInt(2),Hw=BigInt(8),q0=BigInt("7237005577332262213973186563042994240857116359379907606001950938285454250989"),de=Object.freeze({a:BigInt(-1),d:BigInt("37095705934669439343138083508754565189542113879843219016388785533085940283555"),P:BigInt("57896044618658097711785492504343953926634992332820282019728792003956564819949"),l:q0,n:q0,h:BigInt(8),Gx:BigInt("15112221349535400772501151409588531511454012693041857206046113283949847762202"),Gy:BigInt("46316835694926478169428394003475163141307993866256225615783033603165251855960")});var Y0=BigInt("0x10000000000000000000000000000000000000000000000000000000000000000"),Li=BigInt("19681161376707505956807079304988542015446066515923890162744021073123829784752"),JS=BigInt("6853475219497561581579357271197624642482790079785650197046958215289687604742"),Gw=BigInt("25063068953384623474111414158702152701244531502492656460079210482610430750235"),Yw=BigInt("54469307008909316920995813868745141605393597292927456921205312896311721017578"),Ww=BigInt("1159843021668779879193775521855586647937357759715417654439879720876111806838"),Qw=BigInt("40440834346308536858101042469323190826248399146238708352240133220865137265952"),Y=class{constructor(e,r,n,i){this.x=e,this.y=r,this.z=n,this.t=i}static fromAffine(e){if(!(e instanceof ge))throw new TypeError("ExtendedPoint#fromAffine: expected Point");return e.equals(ge.ZERO)?Y.ZERO:new Y(e.x,e.y,X,A(e.x*e.y))}static toAffineBatch(e){let r=jw(e.map(n=>n.z));return e.map((n,i)=>n.toAffine(r[i]))}static normalizeZ(e){return this.toAffineBatch(e).map(this.fromAffine)}equals(e){z0(e);let{x:r,y:n,z:i}=this,{x:s,y:o,z:a}=e,c=A(r*a),u=A(s*i),l=A(n*a),f=A(o*i);return c===u&&l===f}negate(){return new Y(A(-this.x),this.y,this.z,A(-this.t))}double(){let{x:e,y:r,z:n}=this,{a:i}=de,s=A(e*e),o=A(r*r),a=A(Sr*A(n*n)),c=A(i*s),u=e+r,l=A(A(u*u)-s-o),f=c+o,h=f-a,d=c-o,p=A(l*h),m=A(f*d),y=A(l*d),g=A(h*f);return new Y(p,m,g,y)}add(e){z0(e);let{x:r,y:n,z:i,t:s}=this,{x:o,y:a,z:c,t:u}=e,l=A((n-r)*(a+o)),f=A((n+r)*(a-o)),h=A(f-l);if(h===Fe)return this.double();let d=A(i*Sr*u),p=A(s*Sr*c),m=p+d,y=f+l,g=p-d,w=A(m*h),_=A(y*g),N=A(m*g),C=A(h*y);return new Y(w,_,C,N)}subtract(e){return this.add(e.negate())}precomputeWindow(e){let r=1+256/e,n=[],i=this,s=i;for(let o=0;o<r;o++){s=i,n.push(s);for(let a=1;a<2**(e-1);a++)s=s.add(i),n.push(s);i=s.double()}return n}wNAF(e,r){!r&&this.equals(Y.BASE)&&(r=ge.BASE);let n=r&&r._WINDOW_SIZE||1;if(256%n)throw new Error("Point#wNAF: Invalid precomputation window, must be power of 2");let i=r&&_c.get(r);i||(i=this.precomputeWindow(n),r&&n!==1&&(i=Y.normalizeZ(i),_c.set(r,i)));let s=Y.ZERO,o=Y.BASE,a=1+256/n,c=2**(n-1),u=BigInt(2**n-1),l=2**n,f=BigInt(n);for(let h=0;h<a;h++){let d=h*c,p=Number(e&u);e>>=f,p>c&&(p-=l,e+=X);let m=d,y=d+Math.abs(p)-1,g=h%2!==0,w=p<0;p===0?o=o.add($0(g,i[m])):s=s.add($0(w,i[y]))}return Y.normalizeZ([s,o])[0]}multiply(e,r){return this.wNAF(Qs(e,de.l),r)}multiplyUnsafe(e){let r=Qs(e,de.l,!1),n=Y.BASE,i=Y.ZERO;if(r===Fe)return i;if(this.equals(i)||r===X)return this;if(this.equals(n))return this.wNAF(r);let s=i,o=this;for(;r>Fe;)r&X&&(s=s.add(o)),o=o.double(),r>>=X;return s}isSmallOrder(){return this.multiplyUnsafe(de.h).equals(Y.ZERO)}isTorsionFree(){let e=this.multiplyUnsafe(de.l/Sr).double();return de.l%Sr&&(e=e.add(this)),e.equals(Y.ZERO)}toAffine(e){let{x:r,y:n,z:i}=this,s=this.equals(Y.ZERO);e==null&&(e=s?Hw:Xs(i));let o=A(r*e),a=A(n*e),c=A(i*e);if(s)return ge.ZERO;if(c!==X)throw new Error("invZ was invalid");return new ge(o,a)}fromRistrettoBytes(){vc()}toRistrettoBytes(){vc()}fromRistrettoHash(){vc()}};Y.BASE=new Y(de.Gx,de.Gy,X,A(de.Gx*de.Gy));Y.ZERO=new Y(Fe,X,X,Fe);function $0(t,e){let r=e.negate();return t?r:e}function z0(t){if(!(t instanceof Y))throw new TypeError("ExtendedPoint expected")}function wc(t){if(!(t instanceof rt))throw new TypeError("RistrettoPoint expected")}function vc(){throw new Error("Legacy method: switch to RistrettoPoint")}var rt=class{constructor(e){this.ep=e}static calcElligatorRistrettoMap(e){let{d:r}=de,n=A(Li*e*e),i=A((n+X)*Ww),s=BigInt(-1),o=A((s-r*n)*A(n+r)),{isValid:a,value:c}=Ac(i,o),u=A(c*e);_r(u)||(u=A(-u)),a||(c=u),a||(s=n);let l=A(s*(n-X)*Qw-o),f=c*c,h=A((c+c)*o),d=A(l*Gw),p=A(X-f),m=A(X+f);return new Y(A(h*m),A(p*d),A(d*m),A(h*p))}static hashToCurve(e){e=Ar(e,64);let r=Ec(e.slice(0,32)),n=this.calcElligatorRistrettoMap(r),i=Ec(e.slice(32,64)),s=this.calcElligatorRistrettoMap(i);return new rt(n.add(s))}static fromHex(e){e=Ar(e,32);let{a:r,d:n}=de,i="RistrettoPoint.fromHex: the hex is not valid encoding of RistrettoPoint",s=Ec(e);if(!e2(Pi(s),e)||_r(s))throw new Error(i);let o=A(s*s),a=A(X+r*o),c=A(X-r*o),u=A(a*a),l=A(c*c),f=A(r*n*u-l),{isValid:h,value:d}=G0(A(f*l)),p=A(d*c),m=A(d*p*f),y=A((s+s)*p);_r(y)&&(y=A(-y));let g=A(a*m),w=A(y*g);if(!h||_r(w)||g===Fe)throw new Error(i);return new rt(new Y(y,g,X,w))}toRawBytes(){let{x:e,y:r,z:n,t:i}=this.ep,s=A(A(n+r)*A(n-r)),o=A(e*r),a=A(o*o),{value:c}=G0(A(s*a)),u=A(c*s),l=A(c*o),f=A(u*l*i),h;if(_r(i*f)){let p=A(r*Li),m=A(e*Li);e=p,r=m,h=A(u*Yw)}else h=l;_r(e*f)&&(r=A(-r));let d=A((n-r)*h);return _r(d)&&(d=A(-d)),Pi(d)}toHex(){return Di(this.toRawBytes())}toString(){return this.toHex()}equals(e){wc(e);let r=this.ep,n=e.ep,i=A(r.x*n.y)===A(r.y*n.x),s=A(r.y*n.y)===A(r.x*n.x);return i||s}add(e){return wc(e),new rt(this.ep.add(e.ep))}subtract(e){return wc(e),new rt(this.ep.subtract(e.ep))}multiply(e){return new rt(this.ep.multiply(e))}multiplyUnsafe(e){return new rt(this.ep.multiplyUnsafe(e))}};rt.BASE=new rt(Y.BASE);rt.ZERO=new rt(Y.ZERO);var _c=new WeakMap,ge=class{constructor(e,r){this.x=e,this.y=r}_setWindowSize(e){this._WINDOW_SIZE=e,_c.delete(this)}static fromHex(e,r=!0){let{d:n,P:i}=de;e=Ar(e,32);let s=e.slice();s[31]=e[31]&-129;let o=Ni(s);if(r&&o>=i)throw new Error("Expected 0 < hex < P");if(!r&&o>=Y0)throw new Error("Expected 0 < hex < 2**256");let a=A(o*o),c=A(a-X),u=A(n*a+X),{isValid:l,value:f}=Ac(c,u);if(!l)throw new Error("Point.fromHex: invalid y coordinate");let h=(f&X)===X;return(e[31]&128)!==0!==h&&(f=A(-f)),new ge(f,o)}static async fromPrivateKey(e){return(await Zs(e)).point}toRawBytes(){let e=Pi(this.y);return e[31]|=this.x&X?128:0,e}toHex(){return Di(this.toRawBytes())}toX25519(){let{y:e}=this,r=A((X+e)*Xs(X-e));return Pi(r)}isTorsionFree(){return Y.fromAffine(this).isTorsionFree()}equals(e){return this.x===e.x&&this.y===e.y}negate(){return new ge(A(-this.x),this.y)}add(e){return Y.fromAffine(this).add(Y.fromAffine(e)).toAffine()}subtract(e){return this.add(e.negate())}multiply(e){return Y.fromAffine(this).multiply(e,this).toAffine()}};ge.BASE=new ge(de.Gx,de.Gy);ge.ZERO=new ge(Fe,X);var jr=class{constructor(e,r){this.r=e,this.s=r,this.assertValidity()}static fromHex(e){let r=Ar(e,64),n=ge.fromHex(r.slice(0,32),!1),i=Ni(r.slice(32,64));return new jr(n,i)}assertValidity(){let{r:e,s:r}=this;if(!(e instanceof ge))throw new Error("Expected Point instance");return Qs(r,de.l,!1),this}toRawBytes(){let e=new Uint8Array(64);return e.set(this.r.toRawBytes()),e.set(Pi(this.s),32),e}toHex(){return Di(this.toRawBytes())}};function H0(...t){if(!t.every(n=>n instanceof Uint8Array))throw new Error("Expected Uint8Array list");if(t.length===1)return t[0];let e=t.reduce((n,i)=>n+i.length,0),r=new Uint8Array(e);for(let n=0,i=0;n<t.length;n++){let s=t[n];r.set(s,i),i+=s.length}return r}var Xw=Array.from({length:256},(t,e)=>e.toString(16).padStart(2,"0"));function Di(t){if(!(t instanceof Uint8Array))throw new Error("Uint8Array expected");let e="";for(let r=0;r<t.length;r++)e+=Xw[t[r]];return e}function Sc(t){if(typeof t!="string")throw new TypeError("hexToBytes: expected string, got "+typeof t);if(t.length%2)throw new Error("hexToBytes: received invalid unpadded hex");let e=new Uint8Array(t.length/2);for(let r=0;r<e.length;r++){let n=r*2,i=t.slice(n,n+2),s=Number.parseInt(i,16);if(Number.isNaN(s)||s<0)throw new Error("Invalid byte sequence");e[r]=s}return e}function W0(t){let r=t.toString(16).padStart(64,"0");return Sc(r)}function Pi(t){return W0(t).reverse()}function _r(t){return(A(t)&X)===X}function Ni(t){if(!(t instanceof Uint8Array))throw new Error("Expected Uint8Array");return BigInt("0x"+Di(Uint8Array.from(t).reverse()))}var Zw=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");function Ec(t){return A(Ni(t)&Zw)}function A(t,e=de.P){let r=t%e;return r>=Fe?r:e+r}function Xs(t,e=de.P){if(t===Fe||e<=Fe)throw new Error(`invert: expected positive integers, got n=${t} mod=${e}`);let r=A(t,e),n=e,i=Fe,s=X,o=X,a=Fe;for(;r!==Fe;){let u=n/r,l=n%r,f=i-o*u,h=s-a*u;n=r,r=l,i=o,s=a,o=f,a=h}if(n!==X)throw new Error("invert: does not exist");return A(i,e)}function jw(t,e=de.P){let r=new Array(t.length),n=t.reduce((s,o,a)=>o===Fe?s:(r[a]=s,A(s*o,e)),X),i=Xs(n,e);return t.reduceRight((s,o,a)=>o===Fe?s:(r[a]=A(s*r[a],e),A(s*o,e)),i),r}function Ht(t,e){let{P:r}=de,n=t;for(;e-- >Fe;)n*=n,n%=r;return n}function Jw(t){let{P:e}=de,r=BigInt(5),n=BigInt(10),i=BigInt(20),s=BigInt(40),o=BigInt(80),c=t*t%e*t%e,u=Ht(c,Sr)*c%e,l=Ht(u,X)*t%e,f=Ht(l,r)*l%e,h=Ht(f,n)*f%e,d=Ht(h,i)*h%e,p=Ht(d,s)*d%e,m=Ht(p,o)*p%e,y=Ht(m,o)*p%e,g=Ht(y,n)*f%e;return{pow_p_5_8:Ht(g,Sr)*t%e,b2:c}}function Ac(t,e){let r=A(e*e*e),n=A(r*r*e),i=Jw(t*n).pow_p_5_8,s=A(t*r*i),o=A(e*s*s),a=s,c=A(s*Li),u=o===t,l=o===A(-t),f=o===A(-t*Li);return u&&(s=a),(l||f)&&(s=c),_r(s)&&(s=A(-s)),{isValid:u||l,value:s}}function G0(t){return Ac(X,t)}function Ws(t){return A(Ni(t),de.l)}function e2(t,e){if(t.length!==e.length)return!1;for(let r=0;r<t.length;r++)if(t[r]!==e[r])return!1;return!0}function Ar(t,e){let r=t instanceof Uint8Array?Uint8Array.from(t):Sc(t);if(typeof e=="number"&&r.length!==e)throw new Error(`Expected ${e} bytes`);return r}function Qs(t,e,r=!0){if(!e)throw new TypeError("Specify max value");if(typeof t=="number"&&Number.isSafeInteger(t)&&(t=BigInt(t)),typeof t=="bigint"&&t<e){if(r){if(Fe<t)return t}else if(Fe<=t)return t}throw new TypeError("Expected valid scalar: 0 < scalar < max")}function t2(t){return t[0]&=248,t[31]&=127,t[31]|=64,t}function r2(t){if(t=typeof t=="bigint"||typeof t=="number"?W0(Qs(t,Y0)):Ar(t),t.length!==32)throw new Error("Expected 32 bytes");return t}function n2(t){let e=t2(t.slice(0,32)),r=t.slice(32,64),n=Ws(e),i=ge.BASE.multiply(n),s=i.toRawBytes();return{head:e,prefix:r,scalar:n,point:i,pointBytes:s}}var bc;async function Zs(t){return n2(await Ir.sha512(r2(t)))}async function Ic(t){return(await Zs(t)).pointBytes}async function Q0(t,e){t=Ar(t);let{prefix:r,scalar:n,pointBytes:i}=await Zs(e),s=Ws(await Ir.sha512(r,t)),o=ge.BASE.multiply(s),a=Ws(await Ir.sha512(o.toRawBytes(),i,t)),c=A(s+a*n,de.l);return new jr(o,c).toRawBytes()}function i2(t,e,r){e=Ar(e),r instanceof ge||(r=ge.fromHex(r,!1));let{r:n,s:i}=t instanceof jr?t.assertValidity():jr.fromHex(t),s=Y.BASE.multiplyUnsafe(i);return{r:n,s:i,SB:s,pub:r,msg:e}}function s2(t,e,r,n){let i=Ws(n),s=Y.fromAffine(t).multiplyUnsafe(i);return Y.fromAffine(e).add(s).subtract(r).multiplyUnsafe(de.h).equals(Y.ZERO)}async function X0(t,e,r){let{r:n,SB:i,msg:s,pub:o}=i2(t,e,r),a=await Ir.sha512(n.toRawBytes(),o.toRawBytes(),s);return s2(o,n,i,a)}ge.BASE._setWindowSize(8);var br={node:zw,web:typeof self=="object"&&"crypto"in self?self.crypto:void 0},Ir={bytesToHex:Di,hexToBytes:Sc,concatBytes:H0,getExtendedPublicKey:Zs,mod:A,invert:Xs,TORSION_SUBGROUP:["0100000000000000000000000000000000000000000000000000000000000000","c7176a703d4dd84fba3c0b760d10670f2a2053fa2c39ccc64ec7fd7792ac037a","0000000000000000000000000000000000000000000000000000000000000080","26e8958fc2b227b045c3f489f2ef98f0d5dfac05d3c63339b13802886d53fc05","ecffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f","26e8958fc2b227b045c3f489f2ef98f0d5dfac05d3c63339b13802886d53fc85","0000000000000000000000000000000000000000000000000000000000000000","c7176a703d4dd84fba3c0b760d10670f2a2053fa2c39ccc64ec7fd7792ac03fa"],hashToPrivateScalar:t=>{if(t=Ar(t),t.length<40||t.length>1024)throw new Error("Expected 40-1024 bytes of private key as per FIPS 186");return A(Ni(t),de.l-X)+X},randomBytes:(t=32)=>{if(br.web)return br.web.getRandomValues(new Uint8Array(t));if(br.node){let{randomBytes:e}=br.node;return new Uint8Array(e(t).buffer)}else throw new Error("The environment doesn't have randomBytes function")},randomPrivateKey:()=>Ir.randomBytes(32),sha512:async(...t)=>{let e=H0(...t);if(br.web){let r=await br.web.subtle.digest("SHA-512",e.buffer);return new Uint8Array(r)}else{if(br.node)return Uint8Array.from(br.node.createHash("sha512").update(e).digest());throw new Error("The environment doesn't have sha512 function")}},precompute(t=8,e=ge.BASE){let r=e.equals(ge.BASE)?e:new ge(e.x,e.y);return r._setWindowSize(t),r.multiply(Sr),r},sha512Sync:void 0};Object.defineProperties(Ir,{sha512Sync:{configurable:!1,get(){return bc},set(t){bc||(bc=t)}}});var kn=32,sr=64,js=32;async function Z0(){let t=Ir.randomPrivateKey(),e=await Ic(t);return{privateKey:th(t,e),publicKey:e}}async function j0(t){if(t.length!==js)throw new TypeError('"seed" must be 32 bytes in length.');if(!(t instanceof Uint8Array))throw new TypeError('"seed" must be a node.js Buffer, or Uint8Array.');let e=t,r=await Ic(e);return{privateKey:th(e,r),publicKey:r}}async function J0(t,e){let r=t.subarray(0,js);return Q0(e,r)}async function eh(t,e,r){return X0(e,r,t)}function th(t,e){let r=new Uint8Array(sr);for(let n=0;n<js;n++)r[n]=t[n],r[js+n]=e[n];return r}function Ce(t,e){e==null&&(e=t.reduce((i,s)=>i+s.length,0));let r=At(e),n=0;for(let i of t)r.set(i,n),n+=i.length;return Wr(r)}var nt={get(t=globalThis){let e=t.crypto;if(e==null||e.subtle==null)throw Object.assign(new Error("Missing Web Crypto API. The most likely cause of this error is that this page is being accessed from an insecure context (i.e. not HTTPS). For more information and possible resolutions see https://github.com/libp2p/js-libp2p-crypto/blob/master/README.md#web-crypto-api"),{code:"ERR_MISSING_WEB_CRYPTO"});return e}};var Rc={alg:"A128GCM",ext:!0,k:"scm9jmO_4BJAgdwWGVulLg",key_ops:["encrypt","decrypt"],kty:"oct"};function Js(t){let e=t?.algorithm??"AES-GCM",r=t?.keyLength??16,n=t?.nonceLength??12,i=t?.digest??"SHA-256",s=t?.saltLength??16,o=t?.iterations??32767,a=nt.get();r*=8;async function c(f,h){let d=a.getRandomValues(new Uint8Array(s)),p=a.getRandomValues(new Uint8Array(n)),m={name:e,iv:p};typeof h=="string"&&(h=U(h));let y;if(h.length===0){y=await a.subtle.importKey("jwk",Rc,{name:"AES-GCM"},!0,["encrypt"]);try{let w={name:"PBKDF2",salt:d,iterations:o,hash:{name:i}},_=await a.subtle.importKey("raw",h,{name:"PBKDF2"},!1,["deriveKey"]);y=await a.subtle.deriveKey(w,_,{name:e,length:r},!0,["encrypt"])}catch{y=await a.subtle.importKey("jwk",Rc,{name:"AES-GCM"},!0,["encrypt"])}}else{let w={name:"PBKDF2",salt:d,iterations:o,hash:{name:i}},_=await a.subtle.importKey("raw",h,{name:"PBKDF2"},!1,["deriveKey"]);y=await a.subtle.deriveKey(w,_,{name:e,length:r},!0,["encrypt"])}let g=await a.subtle.encrypt(m,y,f);return Ce([d,m.iv,new Uint8Array(g)])}async function u(f,h){let d=f.subarray(0,s),p=f.subarray(s,s+n),m=f.subarray(s+n),y={name:e,iv:p};typeof h=="string"&&(h=U(h));let g;if(h.length===0)try{let _={name:"PBKDF2",salt:d,iterations:o,hash:{name:i}},N=await a.subtle.importKey("raw",h,{name:"PBKDF2"},!1,["deriveKey"]);g=await a.subtle.deriveKey(_,N,{name:e,length:r},!0,["decrypt"])}catch{g=await a.subtle.importKey("jwk",Rc,{name:"AES-GCM"},!0,["decrypt"])}else{let _={name:"PBKDF2",salt:d,iterations:o,hash:{name:i}},N=await a.subtle.importKey("raw",h,{name:"PBKDF2"},!1,["deriveKey"]);g=await a.subtle.deriveKey(_,N,{name:e,length:r},!0,["decrypt"])}let w=await a.subtle.decrypt(y,g,m);return new Uint8Array(w)}return{encrypt:c,decrypt:u}}async function On(t,e){let n=await Js().encrypt(t,e);return Qr.encode(n)}var Kc=V(Pc(),1),$h=V(kh(),1),zh=V(en(),1),Vc=V(Uc(),1),Hh=V(qh(),1);function y2(){zh.default._configure(),Kc.default._configure($h.default),Vc.default._configure(Hh.default)}y2();var Gh=["uint64","int64","sint64","fixed64","sfixed64"];function g2(t){for(let e of Gh){if(t[e]==null)continue;let r=t[e];t[e]=function(){return BigInt(r.call(this).toString())}}return t}function qc(t){return g2(new Kc.default(t))}function x2(t){for(let e of Gh){if(t[e]==null)continue;let r=t[e];t[e]=function(n){return r.call(this,n.toString())}}return t}function $c(){return x2(Vc.default.create())}function qe(t,e){let r=qc(t instanceof Uint8Array?t:t.subarray());return e.decode(r)}function $e(t,e){let r=$c();return e.encode(t,r,{lengthDelimited:!1}),r.finish()}var Fn;(function(t){t[t.VARINT=0]="VARINT",t[t.BIT64=1]="BIT64",t[t.LENGTH_DELIMITED=2]="LENGTH_DELIMITED",t[t.START_GROUP=3]="START_GROUP",t[t.END_GROUP=4]="END_GROUP",t[t.BIT32=5]="BIT32"})(Fn||(Fn={}));function io(t,e,r,n){return{name:t,type:e,encode:r,decode:n}}function zc(t){function e(i){if(t[i.toString()]==null)throw new Error("Invalid enum value");return t[i]}let r=function(s,o){let a=e(s);o.int32(a)},n=function(s){let o=s.int32();return e(o)};return io("enum",Fn.VARINT,r,n)}function ze(t,e){return io("message",Fn.LENGTH_DELIMITED,t,e)}var xe;(function(t){t.RSA="RSA",t.Ed25519="Ed25519",t.Secp256k1="Secp256k1"})(xe||(xe={}));var Hc;(function(t){t[t.RSA=0]="RSA",t[t.Ed25519=1]="Ed25519",t[t.Secp256k1=2]="Secp256k1"})(Hc||(Hc={}));(function(t){t.codec=()=>zc(Hc)})(xe||(xe={}));var Wt;(function(t){let e;t.codec=()=>(e==null&&(e=ze((r,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),r.Type!=null&&(n.uint32(8),xe.codec().encode(r.Type,n)),r.Data!=null&&(n.uint32(18),n.bytes(r.Data)),i.lengthDelimited!==!1&&n.ldelim()},(r,n)=>{let i={},s=n==null?r.len:r.pos+n;for(;r.pos<s;){let o=r.uint32();switch(o>>>3){case 1:i.Type=xe.codec().decode(r);break;case 2:i.Data=r.bytes();break;default:r.skipType(o&7);break}}return i})),e),t.encode=r=>$e(r,t.codec()),t.decode=r=>qe(r,t.codec())})(Wt||(Wt={}));var Qt;(function(t){let e;t.codec=()=>(e==null&&(e=ze((r,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),r.Type!=null&&(n.uint32(8),xe.codec().encode(r.Type,n)),r.Data!=null&&(n.uint32(18),n.bytes(r.Data)),i.lengthDelimited!==!1&&n.ldelim()},(r,n)=>{let i={},s=n==null?r.len:r.pos+n;for(;r.pos<s;){let o=r.uint32();switch(o>>>3){case 1:i.Type=xe.codec().decode(r);break;case 2:i.Data=r.bytes();break;default:r.skipType(o&7);break}}return i})),e),t.encode=r=>$e(r,t.codec()),t.decode=r=>qe(r,t.codec())})(Qt||(Qt={}));var Mi=class{_key;constructor(e){this._key=Un(e,kn)}async verify(e,r){return eh(this._key,r,e)}marshal(){return this._key}get bytes(){return Wt.encode({Type:xe.Ed25519,Data:this.marshal()}).subarray()}equals(e){return ve(this.bytes,e.bytes)}async hash(){let{bytes:e}=await Ve.digest(this.bytes);return e}},rn=class{_key;_publicKey;constructor(e,r){this._key=Un(e,sr),this._publicKey=Un(r,kn)}async sign(e){return J0(this._key,e)}get public(){return new Mi(this._publicKey)}marshal(){return this._key}get bytes(){return Qt.encode({Type:xe.Ed25519,Data:this.marshal()}).subarray()}equals(e){return ve(this.bytes,e.bytes)}async hash(){let{bytes:e}=await Ve.digest(this.bytes);return e}async id(){let e=vr.digest(this.public.bytes);return Re.encode(e.bytes).substring(1)}async export(e,r="libp2p-key"){if(r==="libp2p-key")return On(this.bytes,e);throw new E(`export format '${r}' is not supported`,"ERR_INVALID_EXPORT_FORMAT")}};function w2(t){if(t.length>sr){t=Un(t,sr+kn);let n=t.subarray(0,sr),i=t.subarray(sr,t.length);return new rn(n,i)}t=Un(t,sr);let e=t.subarray(0,sr),r=t.subarray(kn);return new rn(e,r)}function v2(t){return t=Un(t,kn),new Mi(t)}async function E2(){let{privateKey:t,publicKey:e}=await Z0();return new rn(t,e)}async function Yh(t){let{privateKey:e,publicKey:r}=await j0(t);return new rn(e,r)}function Un(t,e){if(t=Uint8Array.from(t??[]),t.length!==e)throw new E(`Key must be a Uint8Array of length ${e}, got ${t.length}`,"ERR_INVALID_KEY_TYPE");return t}function $(t,e="utf8"){let r=Ys[e];if(r==null)throw new Error(`Unsupported encoding "${e}"`);return(e==="utf8"||e==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?globalThis.Buffer.from(t.buffer,t.byteOffset,t.byteLength).toString("utf8"):r.encoder.encode(t).substring(1)}var GA=V(Ie(),1),YA=V(Vs(),1),Wh=V(se(),1);function Ct(t,e){let r=Uint8Array.from(t.abs().toByteArray());if(r=r[0]===0?r.subarray(1):r,e!=null){if(r.length>e)throw new Error("byte array longer than desired length");r=Ce([new Uint8Array(e-r.length),r])}return $(r,"base64url")}function at(t){let e=Qh(t);return new Wh.default.jsbn.BigInteger($(e,"base16"),16)}function Qh(t,e){let r=U(t,"base64urlpad");if(e!=null){if(r.length>e)throw new Error("byte array longer than desired length");r=Ce([new Uint8Array(e-r.length),r])}return r}var b2={"P-256":256,"P-384":384,"P-521":521},_2=Object.keys(b2),iI=_2.join(" / ");async function Xh(t,e){let r=Qr.decode(t);return Js().decrypt(r,e)}var nu={};Ke(nu,{RsaPrivateKey:()=>Gn,RsaPublicKey:()=>zi,fromJwk:()=>W2,generateKeyPair:()=>Q2,unmarshalRsaPrivateKey:()=>G2,unmarshalRsaPublicKey:()=>Y2});var $i=V(se(),1);var qI=V(rd(),1);var A2=V(zr(),1);var Z=BigInt(0),me=BigInt(1),Br=BigInt(2),Ki=BigInt(3),nd=BigInt(8),_e=Object.freeze({a:Z,b:BigInt(7),P:BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"),n:BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),h:me,Gx:BigInt("55066263022277343669578718895168534326250603453777594175500187360389116729240"),Gy:BigInt("32670510020758816978083085130507043184471273380659243275938904335757337482424"),beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee")}),id=(t,e)=>(t+e/Br)/e,oo={beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee"),splitScalar(t){let{n:e}=_e,r=BigInt("0x3086d221a7d46bcde86c90e49284eb15"),n=-me*BigInt("0xe4437ed6010e88286f547fa90abfe4c3"),i=BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"),s=r,o=BigInt("0x100000000000000000000000000000000"),a=id(s*t,e),c=id(-n*t,e),u=P(t-a*r-c*i,e),l=P(-a*n-c*s,e),f=u>o,h=l>o;if(f&&(u=e-u),h&&(l=e-l),u>o||l>o)throw new Error("splitScalarEndo: Endomorphism failed, k="+t);return{k1neg:f,k1:u,k2neg:h,k2:l}}},Tt=32,qn=32,I2=32,sd=Tt+1,od=2*Tt+1;function ad(t){let{a:e,b:r}=_e,n=P(t*t),i=P(n*t);return P(i+e*t+r)}var ao=_e.a===Z,lo=class extends Error{constructor(e){super(e)}};function cd(t){if(!(t instanceof te))throw new TypeError("JacobianPoint expected")}var te=class{constructor(e,r,n){this.x=e,this.y=r,this.z=n}static fromAffine(e){if(!(e instanceof re))throw new TypeError("JacobianPoint#fromAffine: expected Point");return e.equals(re.ZERO)?te.ZERO:new te(e.x,e.y,me)}static toAffineBatch(e){let r=L2(e.map(n=>n.z));return e.map((n,i)=>n.toAffine(r[i]))}static normalizeZ(e){return te.toAffineBatch(e).map(te.fromAffine)}equals(e){cd(e);let{x:r,y:n,z:i}=this,{x:s,y:o,z:a}=e,c=P(i*i),u=P(a*a),l=P(r*u),f=P(s*c),h=P(P(n*a)*u),d=P(P(o*i)*c);return l===f&&h===d}negate(){return new te(this.x,P(-this.y),this.z)}double(){let{x:e,y:r,z:n}=this,i=P(e*e),s=P(r*r),o=P(s*s),a=e+s,c=P(Br*(P(a*a)-i-o)),u=P(Ki*i),l=P(u*u),f=P(l-Br*c),h=P(u*(c-f)-nd*o),d=P(Br*r*n);return new te(f,h,d)}add(e){cd(e);let{x:r,y:n,z:i}=this,{x:s,y:o,z:a}=e;if(s===Z||o===Z)return this;if(r===Z||n===Z)return e;let c=P(i*i),u=P(a*a),l=P(r*u),f=P(s*c),h=P(P(n*a)*u),d=P(P(o*i)*c),p=P(f-l),m=P(d-h);if(p===Z)return m===Z?this.double():te.ZERO;let y=P(p*p),g=P(p*y),w=P(l*y),_=P(m*m-g-Br*w),N=P(m*(w-_)-h*g),C=P(i*a*p);return new te(_,N,C)}subtract(e){return this.add(e.negate())}multiplyUnsafe(e){let r=te.ZERO;if(typeof e=="bigint"&&e===Z)return r;let n=fd(e);if(n===me)return this;if(!ao){let f=r,h=this;for(;n>Z;)n&me&&(f=f.add(h)),h=h.double(),n>>=me;return f}let{k1neg:i,k1:s,k2neg:o,k2:a}=oo.splitScalar(n),c=r,u=r,l=this;for(;s>Z||a>Z;)s&me&&(c=c.add(l)),a&me&&(u=u.add(l)),l=l.double(),s>>=me,a>>=me;return i&&(c=c.negate()),o&&(u=u.negate()),u=new te(P(u.x*oo.beta),u.y,u.z),c.add(u)}precomputeWindow(e){let r=ao?128/e+1:256/e+1,n=[],i=this,s=i;for(let o=0;o<r;o++){s=i,n.push(s);for(let a=1;a<2**(e-1);a++)s=s.add(i),n.push(s);i=s.double()}return n}wNAF(e,r){!r&&this.equals(te.BASE)&&(r=re.BASE);let n=r&&r._WINDOW_SIZE||1;if(256%n)throw new Error("Point#wNAF: Invalid precomputation window, must be power of 2");let i=r&&Xc.get(r);i||(i=this.precomputeWindow(n),r&&n!==1&&(i=te.normalizeZ(i),Xc.set(r,i)));let s=te.ZERO,o=te.BASE,a=1+(ao?128/n:256/n),c=2**(n-1),u=BigInt(2**n-1),l=2**n,f=BigInt(n);for(let h=0;h<a;h++){let d=h*c,p=Number(e&u);e>>=f,p>c&&(p-=l,e+=me);let m=d,y=d+Math.abs(p)-1,g=h%2!==0,w=p<0;p===0?o=o.add(co(g,i[m])):s=s.add(co(w,i[y]))}return{p:s,f:o}}multiply(e,r){let n=fd(e),i,s;if(ao){let{k1neg:o,k1:a,k2neg:c,k2:u}=oo.splitScalar(n),{p:l,f}=this.wNAF(a,r),{p:h,f:d}=this.wNAF(u,r);l=co(o,l),h=co(c,h),h=new te(P(h.x*oo.beta),h.y,h.z),i=l.add(h),s=f.add(d)}else{let{p:o,f:a}=this.wNAF(n,r);i=o,s=a}return te.normalizeZ([i,s])[0]}toAffine(e){let{x:r,y:n,z:i}=this,s=this.equals(te.ZERO);e==null&&(e=s?nd:Hn(i));let o=e,a=P(o*o),c=P(a*o),u=P(r*a),l=P(n*c),f=P(i*o);if(s)return re.ZERO;if(f!==me)throw new Error("invZ was invalid");return new re(u,l)}};te.BASE=new te(_e.Gx,_e.Gy,me);te.ZERO=new te(Z,me,Z);function co(t,e){let r=e.negate();return t?r:e}var Xc=new WeakMap,re=class{constructor(e,r){this.x=e,this.y=r}_setWindowSize(e){this._WINDOW_SIZE=e,Xc.delete(this)}hasEvenY(){return this.y%Br===Z}static fromCompressedHex(e){let r=e.length===32,n=Lr(r?e:e.subarray(1));if(!Qc(n))throw new Error("Point is not on curve");let i=ad(n),s=B2(i),o=(s&me)===me;r?o&&(s=P(-s)):(e[0]&1)===1!==o&&(s=P(-s));let a=new re(n,s);return a.assertValidity(),a}static fromUncompressedHex(e){let r=Lr(e.subarray(1,Tt+1)),n=Lr(e.subarray(Tt+1,Tt*2+1)),i=new re(r,n);return i.assertValidity(),i}static fromHex(e){let r=zn(e),n=r.length,i=r[0];if(n===Tt)return this.fromCompressedHex(r);if(n===sd&&(i===2||i===3))return this.fromCompressedHex(r);if(n===od&&i===4)return this.fromUncompressedHex(r);throw new Error(`Point.fromHex: received invalid point. Expected 32-${sd} compressed bytes or ${od} uncompressed bytes, not ${n}`)}static fromPrivateKey(e){return re.BASE.multiply(ho(e))}static fromSignature(e,r,n){let{r:i,s}=hd(r);if(![0,1,2,3].includes(n))throw new Error("Cannot recover: invalid recovery bit");let o=Jc(zn(e)),{n:a}=_e,c=n===2||n===3?i+a:i,u=Hn(c,a),l=P(-o*u,a),f=P(s*u,a),h=n&1?"03":"02",d=re.fromHex(h+Kn(c)),p=re.BASE.multiplyAndAddUnsafe(d,l,f);if(!p)throw new Error("Cannot recover signature: point at infinify");return p.assertValidity(),p}toRawBytes(e=!1){return sn(this.toHex(e))}toHex(e=!1){let r=Kn(this.x);return e?`${this.hasEvenY()?"02":"03"}${r}`:`04${r}${Kn(this.y)}`}toHexX(){return this.toHex(!0).slice(2)}toRawX(){return this.toRawBytes(!0).slice(1)}assertValidity(){let e="Point is not on elliptic curve",{x:r,y:n}=this;if(!Qc(r)||!Qc(n))throw new Error(e);let i=P(n*n),s=ad(r);if(P(i-s)!==Z)throw new Error(e)}equals(e){return this.x===e.x&&this.y===e.y}negate(){return new re(this.x,P(-this.y))}double(){return te.fromAffine(this).double().toAffine()}add(e){return te.fromAffine(this).add(te.fromAffine(e)).toAffine()}subtract(e){return this.add(e.negate())}multiply(e){return te.fromAffine(this).multiply(e,this).toAffine()}multiplyAndAddUnsafe(e,r,n){let i=te.fromAffine(this),s=r===Z||r===me||this!==re.BASE?i.multiplyUnsafe(r):i.multiply(r),o=te.fromAffine(e).multiplyUnsafe(n),a=s.add(o);return a.equals(te.ZERO)?void 0:a.toAffine()}};re.BASE=new re(_e.Gx,_e.Gy);re.ZERO=new re(Z,Z);function ud(t){return Number.parseInt(t[0],16)>=8?"00"+t:t}function ld(t){if(t.length<2||t[0]!==2)throw new Error(`Invalid signature integer tag: ${$n(t)}`);let e=t[1],r=t.subarray(2,e+2);if(!e||r.length!==e)throw new Error("Invalid signature integer: wrong length");if(r[0]===0&&r[1]<=127)throw new Error("Invalid signature integer: trailing length");return{data:Lr(r),left:t.subarray(e+2)}}function R2(t){if(t.length<2||t[0]!=48)throw new Error(`Invalid signature tag: ${$n(t)}`);if(t[1]!==t.length-2)throw new Error("Invalid signature: incorrect length");let{data:e,left:r}=ld(t.subarray(2)),{data:n,left:i}=ld(r);if(i.length)throw new Error(`Invalid signature: left bytes after parsing: ${$n(i)}`);return{r:e,s:n}}var Xt=class{constructor(e,r){this.r=e,this.s=r,this.assertValidity()}static fromCompact(e){let r=e instanceof Uint8Array,n="Signature.fromCompact";if(typeof e!="string"&&!r)throw new TypeError(`${n}: Expected string or Uint8Array`);let i=r?$n(e):e;if(i.length!==128)throw new Error(`${n}: Expected 64-byte hex`);return new Xt(fo(i.slice(0,64)),fo(i.slice(64,128)))}static fromDER(e){let r=e instanceof Uint8Array;if(typeof e!="string"&&!r)throw new TypeError("Signature.fromDER: Expected string or Uint8Array");let{r:n,s:i}=R2(r?e:sn(e));return new Xt(n,i)}static fromHex(e){return this.fromDER(e)}assertValidity(){let{r:e,s:r}=this;if(!qi(e))throw new Error("Invalid Signature: r must be 0 < r < n");if(!qi(r))throw new Error("Invalid Signature: s must be 0 < s < n")}hasHighS(){let e=_e.n>>me;return this.s>e}normalizeS(){return this.hasHighS()?new Xt(this.r,P(-this.s,_e.n)):this}toDERRawBytes(){return sn(this.toDERHex())}toDERHex(){let e=ud(Ui(this.s)),r=ud(Ui(this.r)),n=e.length/2,i=r.length/2,s=Ui(n),o=Ui(i);return`30${Ui(i+n+4)}02${o}${r}02${s}${e}`}toRawBytes(){return this.toDERRawBytes()}toHex(){return this.toDERHex()}toCompactRawBytes(){return sn(this.toCompactHex())}toCompactHex(){return Kn(this.r)+Kn(this.s)}};function Tr(...t){if(!t.every(n=>n instanceof Uint8Array))throw new Error("Uint8Array list expected");if(t.length===1)return t[0];let e=t.reduce((n,i)=>n+i.length,0),r=new Uint8Array(e);for(let n=0,i=0;n<t.length;n++){let s=t[n];r.set(s,i),i+=s.length}return r}var C2=Array.from({length:256},(t,e)=>e.toString(16).padStart(2,"0"));function $n(t){if(!(t instanceof Uint8Array))throw new Error("Expected Uint8Array");let e="";for(let r=0;r<t.length;r++)e+=C2[t[r]];return e}var T2=BigInt("0x10000000000000000000000000000000000000000000000000000000000000000");function Kn(t){if(typeof t!="bigint")throw new Error("Expected bigint");if(!(Z<=t&&t<T2))throw new Error("Expected number 0 <= n < 2^256");return t.toString(16).padStart(64,"0")}function Zc(t){let e=sn(Kn(t));if(e.length!==32)throw new Error("Error: expected 32 bytes");return e}function Ui(t){let e=t.toString(16);return e.length&1?`0${e}`:e}function fo(t){if(typeof t!="string")throw new TypeError("hexToNumber: expected string, got "+typeof t);return BigInt(`0x${t}`)}function sn(t){if(typeof t!="string")throw new TypeError("hexToBytes: expected string, got "+typeof t);if(t.length%2)throw new Error("hexToBytes: received invalid unpadded hex"+t.length);let e=new Uint8Array(t.length/2);for(let r=0;r<e.length;r++){let n=r*2,i=t.slice(n,n+2),s=Number.parseInt(i,16);if(Number.isNaN(s)||s<0)throw new Error("Invalid byte sequence");e[r]=s}return e}function Lr(t){return fo($n(t))}function zn(t){return t instanceof Uint8Array?Uint8Array.from(t):sn(t)}function fd(t){if(typeof t=="number"&&Number.isSafeInteger(t)&&t>0)return BigInt(t);if(typeof t=="bigint"&&qi(t))return t;throw new TypeError("Expected valid private scalar: 0 < scalar < curve.n")}function P(t,e=_e.P){let r=t%e;return r>=Z?r:e+r}function vt(t,e){let{P:r}=_e,n=t;for(;e-- >Z;)n*=n,n%=r;return n}function B2(t){let{P:e}=_e,r=BigInt(6),n=BigInt(11),i=BigInt(22),s=BigInt(23),o=BigInt(44),a=BigInt(88),c=t*t*t%e,u=c*c*t%e,l=vt(u,Ki)*u%e,f=vt(l,Ki)*u%e,h=vt(f,Br)*c%e,d=vt(h,n)*h%e,p=vt(d,i)*d%e,m=vt(p,o)*p%e,y=vt(m,a)*m%e,g=vt(y,o)*p%e,w=vt(g,Ki)*u%e,_=vt(w,s)*d%e,N=vt(_,r)*c%e,C=vt(N,Br);if(C*C%e!==t)throw new Error("Cannot find square root");return C}function Hn(t,e=_e.P){if(t===Z||e<=Z)throw new Error(`invert: expected positive integers, got n=${t} mod=${e}`);let r=P(t,e),n=e,i=Z,s=me,o=me,a=Z;for(;r!==Z;){let u=n/r,l=n%r,f=i-o*u,h=s-a*u;n=r,r=l,i=o,s=a,o=f,a=h}if(n!==me)throw new Error("invert: does not exist");return P(i,e)}function L2(t,e=_e.P){let r=new Array(t.length),n=t.reduce((s,o,a)=>o===Z?s:(r[a]=s,P(s*o,e)),me),i=Hn(n,e);return t.reduceRight((s,o,a)=>o===Z?s:(r[a]=P(s*r[a],e),P(s*o,e)),i),r}function P2(t){let e=t.length*8-qn*8,r=Lr(t);return e>0?r>>BigInt(e):r}function Jc(t,e=!1){let r=P2(t);if(e)return r;let{n}=_e;return r>=n?r-n:r}var Vn,Vi,jc=class{constructor(e,r){if(this.hashLen=e,this.qByteLen=r,typeof e!="number"||e<2)throw new Error("hashLen must be a number");if(typeof r!="number"||r<2)throw new Error("qByteLen must be a number");this.v=new Uint8Array(e).fill(1),this.k=new Uint8Array(e).fill(0),this.counter=0}hmac(...e){return Bt.hmacSha256(this.k,...e)}hmacSync(...e){return Vi(this.k,...e)}checkSync(){if(typeof Vi!="function")throw new lo("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(e=new Uint8Array){this.k=await this.hmac(this.v,Uint8Array.from([0]),e),this.v=await this.hmac(this.v),e.length!==0&&(this.k=await this.hmac(this.v,Uint8Array.from([1]),e),this.v=await this.hmac(this.v))}reseedSync(e=new Uint8Array){this.checkSync(),this.k=this.hmacSync(this.v,Uint8Array.from([0]),e),this.v=this.hmacSync(this.v),e.length!==0&&(this.k=this.hmacSync(this.v,Uint8Array.from([1]),e),this.v=this.hmacSync(this.v))}async generate(){this.incr();let e=0,r=[];for(;e<this.qByteLen;){this.v=await this.hmac(this.v);let n=this.v.slice();r.push(n),e+=this.v.length}return Tr(...r)}generateSync(){this.checkSync(),this.incr();let e=0,r=[];for(;e<this.qByteLen;){this.v=this.hmacSync(this.v);let n=this.v.slice();r.push(n),e+=this.v.length}return Tr(...r)}};function qi(t){return Z<t&&t<_e.n}function Qc(t){return Z<t&&t<_e.P}function D2(t,e,r,n=!0){let{n:i}=_e,s=Jc(t,!0);if(!qi(s))return;let o=Hn(s,i),a=re.BASE.multiply(s),c=P(a.x,i);if(c===Z)return;let u=P(o*P(e+r*c,i),i);if(u===Z)return;let l=new Xt(c,u),f=(a.x===l.r?0:2)|Number(a.y&me);return n&&l.hasHighS()&&(l=l.normalizeS(),f^=1),{sig:l,recovery:f}}function ho(t){let e;if(typeof t=="bigint")e=t;else if(typeof t=="number"&&Number.isSafeInteger(t)&&t>0)e=BigInt(t);else if(typeof t=="string"){if(t.length!==2*qn)throw new Error("Expected 32 bytes of private key");e=fo(t)}else if(t instanceof Uint8Array){if(t.length!==qn)throw new Error("Expected 32 bytes of private key");e=Lr(t)}else throw new TypeError("Expected valid private key");if(!qi(e))throw new Error("Expected private key: 0 < key < n");return e}function N2(t){return t instanceof re?(t.assertValidity(),t):re.fromHex(t)}function hd(t){if(t instanceof Xt)return t.assertValidity(),t;try{return Xt.fromDER(t)}catch{return Xt.fromCompact(t)}}function eu(t,e=!1){return re.fromPrivateKey(t).toRawBytes(e)}function dd(t){let e=t.length>Tt?t.slice(0,Tt):t;return Lr(e)}function k2(t){let e=dd(t),r=P(e,_e.n);return pd(r<Z?e:r)}function pd(t){return Zc(t)}function O2(t,e,r){if(t==null)throw new Error(`sign: expected valid message hash, not "${t}"`);let n=zn(t),i=ho(e),s=[pd(i),k2(n)];if(r!=null){r===!0&&(r=Bt.randomBytes(Tt));let c=zn(r);if(c.length!==Tt)throw new Error(`sign: Expected ${Tt} bytes of extra data`);s.push(c)}let o=Tr(...s),a=dd(n);return{seed:o,m:a,d:i}}function M2(t,e){let{sig:r,recovery:n}=t,{der:i,recovered:s}=Object.assign({canonical:!0,der:!0},e),o=i?r.toDERRawBytes():r.toCompactRawBytes();return s?[o,n]:o}async function md(t,e,r={}){let{seed:n,m:i,d:s}=O2(t,e,r.extraEntropy),o=new jc(I2,qn);await o.reseed(n);let a;for(;!(a=D2(await o.generate(),i,s,r.canonical));)await o.reseed();return M2(a,r)}var F2={strict:!0};function yd(t,e,r,n=F2){let i;try{i=hd(t),e=zn(e)}catch{return!1}let{r:s,s:o}=i;if(n.strict&&i.hasHighS())return!1;let a=Jc(e),c;try{c=N2(r)}catch{return!1}let{n:u}=_e,l=Hn(o,u),f=P(a*l,u),h=P(s*l,u),d=re.BASE.multiplyAndAddUnsafe(c,f,h);return d?P(d.x,u)===s:!1}re.BASE._setWindowSize(8);var ct={node:A2,web:typeof self=="object"&&"crypto"in self?self.crypto:void 0};var uo={},Bt={bytesToHex:$n,hexToBytes:sn,concatBytes:Tr,mod:P,invert:Hn,isValidPrivateKey(t){try{return ho(t),!0}catch{return!1}},_bigintTo32Bytes:Zc,_normalizePrivateKey:ho,hashToPrivateKey:t=>{t=zn(t);let e=qn+8;if(t.length<e||t.length>1024)throw new Error("Expected valid bytes of private key as per FIPS 186");let r=P(Lr(t),_e.n-me)+me;return Zc(r)},randomBytes:(t=32)=>{if(ct.web)return ct.web.getRandomValues(new Uint8Array(t));if(ct.node){let{randomBytes:e}=ct.node;return Uint8Array.from(e(t))}else throw new Error("The environment doesn't have randomBytes function")},randomPrivateKey:()=>Bt.hashToPrivateKey(Bt.randomBytes(qn+8)),precompute(t=8,e=re.BASE){let r=e===re.BASE?e:new re(e.x,e.y);return r._setWindowSize(t),r.multiply(Ki),r},sha256:async(...t)=>{if(ct.web){let e=await ct.web.subtle.digest("SHA-256",Tr(...t));return new Uint8Array(e)}else if(ct.node){let{createHash:e}=ct.node,r=e("sha256");return t.forEach(n=>r.update(n)),Uint8Array.from(r.digest())}else throw new Error("The environment doesn't have sha256 function")},hmacSha256:async(t,...e)=>{if(ct.web){let r=await ct.web.subtle.importKey("raw",t,{name:"HMAC",hash:{name:"SHA-256"}},!1,["sign"]),n=Tr(...e),i=await ct.web.subtle.sign("HMAC",r,n);return new Uint8Array(i)}else if(ct.node){let{createHmac:r}=ct.node,n=r("sha256",t);return e.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(t,...e)=>{let r=uo[t];if(r===void 0){let n=await Bt.sha256(Uint8Array.from(t,i=>i.charCodeAt(0)));r=Tr(n,n),uo[t]=r}return Bt.sha256(r,...e)},taggedHashSync:(t,...e)=>{if(typeof Vn!="function")throw new lo("sha256Sync is undefined, you need to set it");let r=uo[t];if(r===void 0){let n=Vn(Uint8Array.from(t,i=>i.charCodeAt(0)));r=Tr(n,n),uo[t]=r}return Vn(r,...e)},_JacobianPoint:te};Object.defineProperties(Bt,{sha256Sync:{configurable:!1,get(){return Vn},set(t){Vn||(Vn=t)}},hmacSha256Sync:{configurable:!1,get(){return Vi},set(t){Vi||(Vi=t)}}});function on(t){if(isNaN(t)||t<=0)throw new E("random bytes length must be a Number bigger than 0","ERR_INVALID_LENGTH");return Bt.randomBytes(t)}var SI=V(zs(),1),tu=V(se(),1);function gd(t,e){return e.map(r=>at(t[r]))}function xd(t){return tu.default.pki.setRsaPrivateKey(...gd(t,["n","e","d","p","q","dp","dq","qi"]))}function wd(t){return tu.default.pki.setRsaPublicKey(...gd(t,["n","e"]))}var an={};Ke(an,{jwkToPkcs1:()=>V2,jwkToPkix:()=>$2,pkcs1ToJwk:()=>K2,pkixToJwk:()=>q2});var RI=V(Ai(),1),CI=V(zs(),1);var or=V(se(),1);function K2(t){let e=or.default.asn1.fromDer($(t,"ascii")),r=or.default.pki.privateKeyFromAsn1(e);return{kty:"RSA",n:Ct(r.n),e:Ct(r.e),d:Ct(r.d),p:Ct(r.p),q:Ct(r.q),dp:Ct(r.dP),dq:Ct(r.dQ),qi:Ct(r.qInv),alg:"RS256"}}function V2(t){if(t.n==null||t.e==null||t.d==null||t.p==null||t.q==null||t.dp==null||t.dq==null||t.qi==null)throw new E("JWK was missing components","ERR_INVALID_PARAMETERS");let e=or.default.pki.privateKeyToAsn1({n:at(t.n),e:at(t.e),d:at(t.d),p:at(t.p),q:at(t.q),dP:at(t.dp),dQ:at(t.dq),qInv:at(t.qi)});return U(or.default.asn1.toDer(e).getBytes(),"ascii")}function q2(t){let e=or.default.asn1.fromDer($(t,"ascii")),r=or.default.pki.publicKeyFromAsn1(e);return{kty:"RSA",n:Ct(r.n),e:Ct(r.e)}}function $2(t){if(t.n==null||t.e==null)throw new E("JWK was missing components","ERR_INVALID_PARAMETERS");let e=or.default.pki.publicKeyToAsn1({n:at(t.n),e:at(t.e)});return U(or.default.asn1.toDer(e).getBytes(),"ascii")}async function vd(t){let e=await nt.get().subtle.generateKey({name:"RSASSA-PKCS1-v1_5",modulusLength:t,publicExponent:new Uint8Array([1,0,1]),hash:{name:"SHA-256"}},!0,["sign","verify"]),r=await _d(e);return{privateKey:r[0],publicKey:r[1]}}async function ru(t){let r=[await nt.get().subtle.importKey("jwk",t,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!0,["sign"]),await z2(t)],n=await _d({privateKey:r[0],publicKey:r[1]});return{privateKey:n[0],publicKey:n[1]}}async function Ed(t,e){let r=await nt.get().subtle.importKey("jwk",t,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!1,["sign"]),n=await nt.get().subtle.sign({name:"RSASSA-PKCS1-v1_5"},r,Uint8Array.from(e));return new Uint8Array(n,0,n.byteLength)}async function bd(t,e,r){let n=await nt.get().subtle.importKey("jwk",t,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!1,["verify"]);return nt.get().subtle.verify({name:"RSASSA-PKCS1-v1_5"},n,e,r)}async function _d(t){if(t.privateKey==null||t.publicKey==null)throw new E("Private and public key are required","ERR_INVALID_PARAMETERS");return Promise.all([nt.get().subtle.exportKey("jwk",t.privateKey),nt.get().subtle.exportKey("jwk",t.publicKey)])}async function z2(t){return nt.get().subtle.importKey("jwk",{kty:t.kty,n:t.n,e:t.e},{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!0,["verify"])}function Sd(t,e,r,n){let i=e?wd(t):xd(t),s=$(Uint8Array.from(r),"ascii"),o=n(s,i);return U(o,"ascii")}function Ad(t,e){return Sd(t,!0,e,(r,n)=>n.encrypt(r))}function Id(t,e){return Sd(t,!1,e,(r,n)=>n.decrypt(r))}var zi=class{_key;constructor(e){this._key=e}async verify(e,r){return bd(this._key,r,e)}marshal(){return an.jwkToPkix(this._key)}get bytes(){return Wt.encode({Type:xe.RSA,Data:this.marshal()}).subarray()}encrypt(e){return Ad(this._key,e)}equals(e){return ve(this.bytes,e.bytes)}async hash(){let{bytes:e}=await Ve.digest(this.bytes);return e}},Gn=class{_key;_publicKey;constructor(e,r){this._key=e,this._publicKey=r}genSecret(){return on(16)}async sign(e){return Ed(this._key,e)}get public(){if(this._publicKey==null)throw new E("public key not provided","ERR_PUBKEY_NOT_PROVIDED");return new zi(this._publicKey)}decrypt(e){return Id(this._key,e)}marshal(){return an.jwkToPkcs1(this._key)}get bytes(){return Qt.encode({Type:xe.RSA,Data:this.marshal()}).subarray()}equals(e){return ve(this.bytes,e.bytes)}async hash(){let{bytes:e}=await Ve.digest(this.bytes);return e}async id(){let e=await this.public.hash();return $(e,"base58btc")}async export(e,r="pkcs-8"){if(r==="pkcs-8"){let n=new $i.default.util.ByteBuffer(this.marshal()),i=$i.default.asn1.fromDer(n),s=$i.default.pki.privateKeyFromAsn1(i),o={algorithm:"aes256",count:1e4,saltSize:128/8,prfAlgorithm:"sha512"};return $i.default.pki.encryptRsaPrivateKey(s,e,o)}else{if(r==="libp2p-key")return On(this.bytes,e);throw new E(`export format '${r}' is not supported`,"ERR_INVALID_EXPORT_FORMAT")}}};async function G2(t){let e=an.pkcs1ToJwk(t),r=await ru(e);return new Gn(r.privateKey,r.publicKey)}function Y2(t){let e=an.pkixToJwk(t);return new zi(e)}async function W2(t){let e=await ru(t);return new Gn(e.privateKey,e.publicKey)}async function Q2(t){let e=await vd(t);return new Gn(e.privateKey,e.publicKey)}var su={};Ke(su,{Secp256k1PrivateKey:()=>Gi,Secp256k1PublicKey:()=>Hi,generateKeyPair:()=>J2,unmarshalSecp256k1PrivateKey:()=>Z2,unmarshalSecp256k1PublicKey:()=>j2});function Rd(){return Bt.randomPrivateKey()}async function Cd(t,e){let{digest:r}=await Ve.digest(e);try{return await md(r,t)}catch(n){throw new E(String(n),"ERR_INVALID_INPUT")}}async function Td(t,e,r){try{let{digest:n}=await Ve.digest(r);return yd(e,n,t)}catch(n){throw new E(String(n),"ERR_INVALID_INPUT")}}function Bd(t){return re.fromHex(t).toRawBytes(!0)}function Ld(t){try{eu(t,!0)}catch(e){throw new E(String(e),"ERR_INVALID_PRIVATE_KEY")}}function iu(t){try{re.fromHex(t)}catch(e){throw new E(String(e),"ERR_INVALID_PUBLIC_KEY")}}function Pd(t){try{return eu(t,!0)}catch(e){throw new E(String(e),"ERR_INVALID_PRIVATE_KEY")}}var Hi=class{_key;constructor(e){iu(e),this._key=e}async verify(e,r){return Td(this._key,r,e)}marshal(){return Bd(this._key)}get bytes(){return Wt.encode({Type:xe.Secp256k1,Data:this.marshal()}).subarray()}equals(e){return ve(this.bytes,e.bytes)}async hash(){let{bytes:e}=await Ve.digest(this.bytes);return e}},Gi=class{_key;_publicKey;constructor(e,r){this._key=e,this._publicKey=r??Pd(e),Ld(this._key),iu(this._publicKey)}async sign(e){return Cd(this._key,e)}get public(){return new Hi(this._publicKey)}marshal(){return this._key}get bytes(){return Qt.encode({Type:xe.Secp256k1,Data:this.marshal()}).subarray()}equals(e){return ve(this.bytes,e.bytes)}async hash(){let{bytes:e}=await Ve.digest(this.bytes);return e}async id(){let e=await this.public.hash();return $(e,"base58btc")}async export(e,r="libp2p-key"){if(r==="libp2p-key")return On(this.bytes,e);throw new E(`export format '${r}' is not supported`,"ERR_INVALID_EXPORT_FORMAT")}};function Z2(t){return new Gi(t)}function j2(t){return new Hi(t)}async function J2(){let t=Rd();return new Gi(t)}var ar={rsa:nu,ed25519:Gc,secp256k1:su};function ou(t){let e=Object.keys(ar).join(" / ");return new E(`invalid or unsupported key type ${t}. Must be ${e}`,"ERR_UNSUPPORTED_KEY_TYPE")}function au(t){if(t=t.toLowerCase(),t==="rsa"||t==="ed25519"||t==="secp256k1")return ar[t];throw ou(t)}async function mo(t,e){return au(t).generateKeyPair(e??2048)}function Yi(t){let e=Wt.decode(t),r=e.Data??new Uint8Array;switch(e.Type){case xe.RSA:return ar.rsa.unmarshalRsaPublicKey(r);case xe.Ed25519:return ar.ed25519.unmarshalEd25519PublicKey(r);case xe.Secp256k1:return ar.secp256k1.unmarshalSecp256k1PublicKey(r);default:throw ou(e.Type??"RSA")}}function Dd(t,e){return e=(e??"rsa").toLowerCase(),au(e),t.bytes}async function Yn(t){let e=Qt.decode(t),r=e.Data??new Uint8Array;switch(e.Type){case xe.RSA:return ar.rsa.unmarshalRsaPrivateKey(r);case xe.Ed25519:return ar.ed25519.unmarshalEd25519PrivateKey(r);case xe.Secp256k1:return ar.secp256k1.unmarshalSecp256k1PrivateKey(r);default:throw ou(e.Type??"RSA")}}function Nd(t,e){return e=(e??"rsa").toLowerCase(),au(e),t.bytes}async function Wi(t,e){try{let i=await Xh(t,e);return await Yn(i)}catch{}let r=po.default.pki.decryptRsaPrivateKey(t,e);if(r===null)throw new E("Cannot read the key, most likely the password is wrong or not a RSA key","ERR_CANNOT_DECRYPT_PEM");let n=po.default.asn1.toDer(po.default.pki.privateKeyToAsn1(r));return n=U(n.getBytes(),"ascii"),ar.rsa.unmarshalRsaPrivateKey(n)}var cu=Symbol.for("@libp2p/content-routing");var uu=Symbol.for("@libp2p/peer-discovery");var lu=Symbol.for("@libp2p/peer-routing");var Qi=class extends EventTarget{#e=new Map;listenerCount(e){let r=this.#e.get(e);return r==null?0:r.length}addEventListener(e,r,n){super.addEventListener(e,r,n);let i=this.#e.get(e);i==null&&(i=[],this.#e.set(e,i)),i.push({callback:r,once:(n!==!0&&n!==!1&&n?.once)??!1})}removeEventListener(e,r,n){super.removeEventListener(e.toString(),r??null,n);let i=this.#e.get(e);i!=null&&(i=i.filter(({callback:s})=>s!==r),this.#e.set(e,i))}dispatchEvent(e){let r=super.dispatchEvent(e),n=this.#e.get(e.type);return n==null||(n=n.filter(({once:i})=>!i),this.#e.set(e.type,n)),r}safeDispatchEvent(e,r){return this.dispatchEvent(new hu(e,r))}},fu=class extends Event{detail;constructor(e,r){super(e,r),this.detail=r?.detail}},hu=globalThis.CustomEvent??fu;var lt=V(pu(),1);lt.default.formatters.b=t=>t==null?"undefined":Re.baseEncode(t);lt.default.formatters.t=t=>t==null?"undefined":ot.baseEncode(t);lt.default.formatters.m=t=>t==null?"undefined":Qr.baseEncode(t);lt.default.formatters.p=t=>t==null?"undefined":t.toString();lt.default.formatters.c=t=>t==null?"undefined":t.toString();lt.default.formatters.k=t=>t==null?"undefined":t.toString();lt.default.formatters.a=t=>t==null?"undefined":t.toString();function dv(t){let e=()=>{};return e.enabled=!1,e.color="",e.diff=0,e.log=()=>{},e.namespace=t,e.destroy=()=>!0,e.extend=()=>e,e}function G(t){let e=dv(`${t}:trace`);return lt.default.enabled(`${t}:trace`)&&lt.default.names.map(r=>r.toString()).find(r=>r.includes(":trace"))!=null&&(e=(0,lt.default)(`${t}:trace`)),Object.assign((0,lt.default)(t),{error:(0,lt.default)(`${t}:error`),trace:e})}var lp=V(Gd(),1);var tp=V(ep(),1),Pr=tp.default;var rp=(t=21)=>crypto.getRandomValues(new Uint8Array(t)).reduce((e,r)=>(r&=63,r<36?e+=r.toString(36):r<62?e+=(r-26).toString(36).toUpperCase():r>62?e+="-":e+="_",e),"");var cr="/",np=new TextEncoder().encode(cr),vo=np[0],Se=class{_buf;constructor(e,r){if(typeof e=="string")this._buf=U(e);else if(e instanceof Uint8Array)this._buf=e;else throw new Error("Invalid key, should be String of Uint8Array");if(r==null&&(r=!0),r&&this.clean(),this._buf.byteLength===0||this._buf[0]!==vo)throw new Error("Invalid key")}toString(e="utf8"){return $(this._buf,e)}uint8Array(){return this._buf}get[Symbol.toStringTag](){return`Key(${this.toString()})`}static withNamespaces(e){return new Se(e.join(cr))}static random(){return new Se(rp().replace(/-/g,""))}static asKey(e){return e instanceof Uint8Array||typeof e=="string"?new Se(e):typeof e.uint8Array=="function"?new Se(e.uint8Array()):null}clean(){if((this._buf==null||this._buf.byteLength===0)&&(this._buf=np),this._buf[0]!==vo){let e=new Uint8Array(this._buf.byteLength+1);e.fill(vo,0,1),e.set(this._buf,1),this._buf=e}for(;this._buf.byteLength>1&&this._buf[this._buf.byteLength-1]===vo;)this._buf=this._buf.subarray(0,-1)}less(e){let r=this.list(),n=e.list();for(let i=0;i<r.length;i++){if(n.length<i+1)return!1;let s=r[i],o=n[i];if(s<o)return!0;if(s>o)return!1}return r.length<n.length}reverse(){return Se.withNamespaces(this.list().slice().reverse())}namespaces(){return this.list()}baseNamespace(){let e=this.namespaces();return e[e.length-1]}list(){return this.toString().split(cr).slice(1)}type(){return Lv(this.baseNamespace())}name(){return Pv(this.baseNamespace())}instance(e){return new Se(this.toString()+":"+e)}path(){let e=this.parent().toString();return e.endsWith(cr)||(e+=cr),e+=this.type(),new Se(e)}parent(){let e=this.list();return e.length===1?new Se(cr):new Se(e.slice(0,-1).join(cr))}child(e){return this.toString()===cr?e:e.toString()===cr?this:new Se(this.toString()+e.toString(),!1)}isAncestorOf(e){return e.toString()===this.toString()?!1:e.toString().startsWith(this.toString())}isDecendantOf(e){return e.toString()===this.toString()?!1:this.toString().startsWith(e.toString())}isTopLevel(){return this.list().length===1}concat(...e){return Se.withNamespaces([...this.namespaces(),...Dv(e.map(r=>r.namespaces()))])}};function Lv(t){let e=t.split(":");return e.length<2?"":e.slice(0,-1).join(":")}function Pv(t){let e=t.split(":");return e[e.length-1]}function Dv(t){return[].concat(...t)}var j;(function(t){t.ERR_INVALID_PARAMETERS="ERR_INVALID_PARAMETERS",t.ERR_INVALID_KEY_NAME="ERR_INVALID_KEY_NAME",t.ERR_INVALID_KEY_TYPE="ERR_INVALID_KEY_TYPE",t.ERR_KEY_ALREADY_EXISTS="ERR_KEY_ALREADY_EXISTS",t.ERR_INVALID_KEY_SIZE="ERR_INVALID_KEY_SIZE",t.ERR_KEY_NOT_FOUND="ERR_KEY_NOT_FOUND",t.ERR_OLD_KEY_NAME_INVALID="ERR_OLD_KEY_NAME_INVALID",t.ERR_NEW_KEY_NAME_INVALID="ERR_NEW_KEY_NAME_INVALID",t.ERR_PASSWORD_REQUIRED="ERR_PASSWORD_REQUIRED",t.ERR_PEM_REQUIRED="ERR_PEM_REQUIRED",t.ERR_CANNOT_READ_KEY="ERR_CANNOT_READ_KEY",t.ERR_MISSING_PRIVATE_KEY="ERR_MISSING_PRIVATE_KEY",t.ERR_INVALID_OLD_PASS_TYPE="ERR_INVALID_OLD_PASS_TYPE",t.ERR_INVALID_NEW_PASS_TYPE="ERR_INVALID_NEW_PASS_TYPE",t.ERR_INVALID_PASS_LENGTH="ERR_INVALID_PASS_LENGTH"})(j||(j={}));var LR=V(Ds(),1),Nv=V(se(),1);var sp=V(qa(),1),op=V(Ie(),1),ip={sha1:"sha1","sha2-256":"sha256","sha2-512":"sha512"};function Xi(t,e,r,n,i){if(i!=="sha1"&&i!=="sha2-256"&&i!=="sha2-512"){let a=Object.keys(ip).join(" / ");throw new E(`Hash '${i}' is unknown or not supported. Must be ${a}`,"ERR_UNSUPPORTED_HASH_TYPE")}let s=ip[i],o=(0,sp.default)(t,e,r,n,s);return op.default.encode64(o,null)}var yu=Symbol.for("@libp2p/peer-id");function Eo(t){return t!=null&&!!t[yu]}var Mv=Symbol.for("nodejs.util.inspect.custom"),ap=Object.values(Er).map(t=>t.decoder).reduce((t,e)=>t.or(e),Er.identity.decoder),cp=114,gu=36,xu=37,Zi=class{constructor(e){this.type=e.type,this.multihash=e.multihash,this.privateKey=e.privateKey,Object.defineProperty(this,"string",{enumerable:!1,writable:!0})}get[Symbol.toStringTag](){return`PeerId(${this.toString()})`}get[yu](){return!0}toString(){return this.string==null&&(this.string=Re.encode(this.multihash.bytes).slice(1)),this.string}toCID(){return ue.createV1(cp,this.multihash)}toBytes(){return this.multihash.bytes}toJSON(){return this.toString()}equals(e){if(e instanceof Uint8Array)return ve(this.multihash.bytes,e);if(typeof e=="string")return ie(e).equals(this);if(e?.multihash?.bytes!=null)return ve(this.multihash.bytes,e.multihash.bytes);throw new Error("not valid Id")}[Mv](){return`PeerId(${this.toString()})`}},un=class extends Zi{constructor(e){super({...e,type:"RSA"}),this.type="RSA",this.publicKey=e.publicKey}},ln=class extends Zi{constructor(e){super({...e,type:"Ed25519"}),this.type="Ed25519",this.publicKey=e.multihash.digest}},fn=class extends Zi{constructor(e){super({...e,type:"secp256k1"}),this.type="secp256k1",this.publicKey=e.multihash.digest}};function up(t){if(t.type==="RSA")return new un(t);if(t.type==="Ed25519")return new ln(t);if(t.type==="secp256k1")return new fn(t);throw new E("Not a PeerId","ERR_INVALID_PARAMETERS")}function ie(t,e){if(e=e??ap,t.charAt(0)==="1"||t.charAt(0)==="Q"){let r=Xr(Re.decode(`z${t}`));return t.startsWith("12D")?new ln({multihash:r}):t.startsWith("16U")?new fn({multihash:r}):new un({multihash:r})}return Jn(ap.decode(t))}function Jn(t){try{let e=Xr(t);if(e.code===vr.code){if(e.digest.length===gu)return new ln({multihash:e});if(e.digest.length===xu)return new fn({multihash:e})}if(e.code===Ve.code)return new un({multihash:e})}catch{return Fv(ue.decode(t))}throw new Error("Supplied PeerID CID is invalid")}function Fv(t){if(t==null||t.multihash==null||t.version==null||t.version===1&&t.code!==cp)throw new Error("Supplied PeerID CID is invalid");let e=t.multihash;if(e.code===Ve.code)return new un({multihash:t.multihash});if(e.code===vr.code){if(e.digest.length===gu)return new ln({multihash:t.multihash});if(e.digest.length===xu)return new fn({multihash:t.multihash})}throw new Error("Supplied PeerID CID is invalid")}async function ei(t,e){return t.length===gu?new ln({multihash:zt(vr.code,t),privateKey:e}):t.length===xu?new fn({multihash:zt(vr.code,t),privateKey:e}):new un({multihash:await Ve.digest(t),publicKey:t,privateKey:e})}var bo=G("libp2p:keychain"),Uv="/pkcs8/",fp="/info/",hn=new WeakMap,dn={minKeyLength:112/8,minSaltLength:128/8,minIterationCount:1e3},wu={dek:{keyLength:512/8,iterationCount:1e4,salt:"you should override this value with a crypto secure random number",hash:"sha2-512"}};function ur(t){return t==null||typeof t!="string"?!1:t===(0,lp.default)(t.trim())&&t.length>0}async function ae(){let r=Math.random()*800+200;await new Promise(n=>setTimeout(n,r))}function Zt(t){return new Se(Uv+t)}function Dr(t){return new Se(fp+t)}var pn=class{constructor(e,r){if(this.components=e,this.init=Pr(wu,r),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<dn.minKeyLength)throw new Error(`dek.keyLength must be least ${dn.minKeyLength} bytes`);if(this.init.dek?.salt?.length!=null&&this.init.dek.salt.length<dn.minSaltLength)throw new Error(`dek.saltLength must be least ${dn.minSaltLength} bytes`);if(this.init.dek?.iterationCount!=null&&this.init.dek.iterationCount<dn.minIterationCount)throw new Error(`dek.iterationCount must be least ${dn.minIterationCount}`);let n=this.init.pass!=null&&this.init.dek?.salt!=null?Xi(this.init.pass,this.init.dek?.salt,this.init.dek?.iterationCount,this.init.dek?.keyLength,this.init.dek?.hash):"";hn.set(this,{dek:n})}static generateOptions(){let e=Object.assign({},wu),r=Math.ceil(dn.minSaltLength/3)*3;return e.dek.salt=$(on(r),"base64"),e}static get options(){return wu}async createKey(e,r,n=2048){if(!ur(e)||e==="self")throw await ae(),new E("Invalid key name",j.ERR_INVALID_KEY_NAME);if(typeof r!="string")throw await ae(),new E("Invalid key type",j.ERR_INVALID_KEY_TYPE);let i=Zt(e);if(await this.components.datastore.has(i))throw await ae(),new E("Key name already exists",j.ERR_KEY_ALREADY_EXISTS);switch(r.toLowerCase()){case"rsa":if(!Number.isSafeInteger(n)||n<2048)throw await ae(),new E("Invalid RSA key size",j.ERR_INVALID_KEY_SIZE);break;default:break}let o;try{let a=await mo(r,n),c=await a.id(),u=hn.get(this);if(u==null)throw new E("dek missing",j.ERR_INVALID_PARAMETERS);let l=u.dek,f=await a.export(l);o={name:e,id:c};let h=this.components.datastore.batch();h.put(i,U(f)),h.put(Dr(e),U(JSON.stringify(o))),await h.commit()}catch(a){throw await ae(),a}return o}async listKeys(){let e={prefix:fp},r=[];for await(let n of this.components.datastore.query(e))r.push(JSON.parse($(n.value)));return r}async findKeyById(e){try{let n=(await this.listKeys()).find(i=>i.id===e);if(n==null)throw new E(`Key with id '${e}' does not exist.`,j.ERR_KEY_NOT_FOUND);return n}catch(r){throw await ae(),r}}async findKeyByName(e){if(!ur(e))throw await ae(),new E(`Invalid key name '${e}'`,j.ERR_INVALID_KEY_NAME);let r=Dr(e);try{let n=await this.components.datastore.get(r);return JSON.parse($(n))}catch(n){throw await ae(),bo.error(n),new E(`Key '${e}' does not exist.`,j.ERR_KEY_NOT_FOUND)}}async removeKey(e){if(!ur(e)||e==="self")throw await ae(),new E(`Invalid key name '${e}'`,j.ERR_INVALID_KEY_NAME);let r=Zt(e),n=await this.findKeyByName(e),i=this.components.datastore.batch();return i.delete(r),i.delete(Dr(e)),await i.commit(),n}async renameKey(e,r){if(!ur(e)||e==="self")throw await ae(),new E(`Invalid old key name '${e}'`,j.ERR_OLD_KEY_NAME_INVALID);if(!ur(r)||r==="self")throw await ae(),new E(`Invalid new key name '${r}'`,j.ERR_NEW_KEY_NAME_INVALID);let n=Zt(e),i=Zt(r),s=Dr(e),o=Dr(r);if(await this.components.datastore.has(i))throw await ae(),new E(`Key '${r}' 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($(u));l.name=r;let f=this.components.datastore.batch();return f.put(i,c),f.put(o,U(JSON.stringify(l))),f.delete(n),f.delete(s),await f.commit(),l}catch(c){throw await ae(),c}}async exportKey(e,r){if(!ur(e))throw await ae(),new E(`Invalid key name '${e}'`,j.ERR_INVALID_KEY_NAME);if(r==null)throw await ae(),new E("Password is required",j.ERR_PASSWORD_REQUIRED);let n=Zt(e);try{let i=await this.components.datastore.get(n),s=$(i),o=hn.get(this);if(o==null)throw new E("dek missing",j.ERR_INVALID_PARAMETERS);let a=o.dek;return await(await Wi(s,a)).export(r)}catch(i){throw await ae(),i}}async exportPeerId(e){let r="temporary-password",n=await this.exportKey(e,r),i=await Wi(n,r);return await ei(i.public.bytes,i.bytes)}async importKey(e,r,n){if(!ur(e)||e==="self")throw await ae(),new E(`Invalid key name '${e}'`,j.ERR_INVALID_KEY_NAME);if(r==null)throw await ae(),new E("PEM encoded key is required",j.ERR_PEM_REQUIRED);let i=Zt(e);if(await this.components.datastore.has(i))throw await ae(),new E(`Key '${e}' already exists`,j.ERR_KEY_ALREADY_EXISTS);let o;try{o=await Wi(r,n)}catch{throw await ae(),new E("Cannot read the key, most likely the password is wrong",j.ERR_CANNOT_READ_KEY)}let a;try{a=await o.id();let l=hn.get(this);if(l==null)throw new E("dek missing",j.ERR_INVALID_PARAMETERS);let f=l.dek;r=await o.export(f)}catch(l){throw await ae(),l}let c={name:e,id:a},u=this.components.datastore.batch();return u.put(i,U(r)),u.put(Dr(e),U(JSON.stringify(c))),await u.commit(),c}async importPeer(e,r){try{if(!ur(e))throw new E(`Invalid key name '${e}'`,j.ERR_INVALID_KEY_NAME);if(r==null)throw new E("PeerId is required",j.ERR_MISSING_PRIVATE_KEY);if(r.privateKey==null)throw new E("PeerId.privKey is required",j.ERR_MISSING_PRIVATE_KEY);let n=await Yn(r.privateKey),i=Zt(e);if(await this.components.datastore.has(i))throw await ae(),new E(`Key '${e}' already exists`,j.ERR_KEY_ALREADY_EXISTS);let o=hn.get(this);if(o==null)throw new E("dek missing",j.ERR_INVALID_PARAMETERS);let a=o.dek,c=await n.export(a),u={name:e,id:r.toString()},l=this.components.datastore.batch();return l.put(i,U(c)),l.put(Dr(e),U(JSON.stringify(u))),await l.commit(),u}catch(n){throw await ae(),n}}async getPrivateKey(e){if(!ur(e))throw await ae(),new E(`Invalid key name '${e}'`,j.ERR_INVALID_KEY_NAME);try{let r=Zt(e),n=await this.components.datastore.get(r);return $(n)}catch(r){throw await ae(),bo.error(r),new E(`Key '${e}' does not exist.`,j.ERR_KEY_NOT_FOUND)}}async rotateKeychainPass(e,r){if(typeof e!="string")throw await ae(),new E(`Invalid old pass type '${typeof e}'`,j.ERR_INVALID_OLD_PASS_TYPE);if(typeof r!="string")throw await ae(),new E(`Invalid new pass type '${typeof r}'`,j.ERR_INVALID_NEW_PASS_TYPE);if(r.length<20)throw await ae(),new E(`Invalid pass length ${r.length}`,j.ERR_INVALID_PASS_LENGTH);bo("recreating keychain");let n=hn.get(this);if(n==null)throw new E("dek missing",j.ERR_INVALID_PARAMETERS);let i=n.dek;this.init.pass=r;let s=r!=null&&this.init.dek?.salt!=null?Xi(r,this.init.dek.salt,this.init.dek?.iterationCount,this.init.dek?.keyLength,this.init.dek?.hash):"";hn.set(this,{dek:s});let o=await this.listKeys();for(let a of o){let c=await this.components.datastore.get(Zt(a.name)),u=$(c),l=await Wi(u,i),f=s.toString(),h=await l.export(f),d=this.components.datastore.batch(),p={name:a.name,id:a.id};d.put(Zt(a.name),U(h)),d.put(Dr(a.name),U(JSON.stringify(p))),await d.commit()}bo("keychain reconstructed")}};function lr(t,e){let r={[Symbol.iterator]:()=>r,next:()=>{let n=t.next(),i=n.value;return n.done===!0||i==null?{done:!0,value:void 0}:{done:!1,value:e(i)}}};return r}var Lt=class{constructor(e){if(this.map=new Map,e!=null)for(let[r,n]of e.entries())this.map.set(r.toString(),n)}[Symbol.iterator](){return this.entries()}clear(){this.map.clear()}delete(e){this.map.delete(e.toString())}entries(){return lr(this.map.entries(),e=>[ie(e[0]),e[1]])}forEach(e){this.map.forEach((r,n)=>{e(r,ie(n),this)})}get(e){return this.map.get(e.toString())}has(e){return this.map.has(e.toString())}set(e,r){this.map.set(e.toString(),r)}keys(){return lr(this.map.keys(),e=>ie(e))}values(){return this.map.values()}get size(){return this.map.size}};var Pt=class{constructor(e){if(this.set=new Set,e!=null)for(let r of e)this.set.add(r.toString())}get size(){return this.set.size}[Symbol.iterator](){return this.values()}add(e){this.set.add(e.toString())}clear(){this.set.clear()}delete(e){this.set.delete(e.toString())}entries(){return lr(this.set.entries(),e=>{let r=ie(e[0]);return[r,r]})}forEach(e){this.set.forEach(r=>{let n=ie(r);e(n,n,this)})}has(e){return this.set.has(e.toString())}values(){return lr(this.set.values(),e=>ie(e))}intersection(e){let r=new Pt;for(let n of e)this.has(n)&&r.add(n);return r}difference(e){let r=new Pt;for(let n of this)e.has(n)||r.add(n);return r}union(e){let r=new Pt;for(let n of e)r.add(n);for(let n of this)r.add(n);return r}};var ti=class{constructor(e){if(this.list=[],e!=null)for(let r of e)this.list.push(r.toString())}[Symbol.iterator](){return lr(this.list.entries(),e=>ie(e[1]))}concat(e){let r=new ti(this);for(let n of e)r.push(n);return r}entries(){return lr(this.list.entries(),e=>[e[0],ie(e[1])])}every(e){return this.list.every((r,n)=>e(ie(r),n,this))}filter(e){let r=new ti;return this.list.forEach((n,i)=>{let s=ie(n);e(s,i,this)&&r.push(s)}),r}find(e){let r=this.list.find((n,i)=>e(ie(n),i,this));if(r!=null)return ie(r)}findIndex(e){return this.list.findIndex((r,n)=>e(ie(r),n,this))}forEach(e){this.list.forEach((r,n)=>{e(ie(r),n,this)})}includes(e){return this.list.includes(e.toString())}indexOf(e){return this.list.indexOf(e.toString())}pop(){let e=this.list.pop();if(e!=null)return ie(e)}push(...e){for(let r of e)this.list.push(r.toString())}shift(){let e=this.list.shift();if(e!=null)return ie(e)}unshift(...e){let r=this.list.length;for(let n=e.length-1;n>-1;n--)r=this.list.unshift(e[n].toString());return r}get length(){return this.list.length}};var vu;(function(t){let e;t.codec=()=>(e==null&&(e=ze((r,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),r.id!=null&&(n.uint32(10),n.bytes(r.id)),r.pubKey!=null&&(n.uint32(18),n.bytes(r.pubKey)),r.privKey!=null&&(n.uint32(26),n.bytes(r.privKey)),i.lengthDelimited!==!1&&n.ldelim()},(r,n)=>{let i={},s=n==null?r.len:r.pos+n;for(;r.pos<s;){let o=r.uint32();switch(o>>>3){case 1:i.id=r.bytes();break;case 2:i.pubKey=r.bytes();break;case 3:i.privKey=r.bytes();break;default:r.skipType(o&7);break}}return i})),e),t.encode=r=>$e(r,t.codec()),t.decode=r=>qe(r,t.codec())})(vu||(vu={}));var hp=async()=>{let t=await mo("Ed25519"),e=await Kv(t);if(e.type==="Ed25519")return e;throw new Error(`Generated unexpected PeerId type "${e.type}"`)};async function Kv(t){return await ei(Dd(t.public),Nd(t))}var dp={ERR_SIGNATURE_NOT_VALID:"ERR_SIGNATURE_NOT_VALID"};var ji;(function(t){let e;t.codec=()=>(e==null&&(e=ze((r,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),r.publicKey!=null&&r.publicKey.byteLength>0&&(n.uint32(10),n.bytes(r.publicKey)),r.payloadType!=null&&r.payloadType.byteLength>0&&(n.uint32(18),n.bytes(r.payloadType)),r.payload!=null&&r.payload.byteLength>0&&(n.uint32(26),n.bytes(r.payload)),r.signature!=null&&r.signature.byteLength>0&&(n.uint32(42),n.bytes(r.signature)),i.lengthDelimited!==!1&&n.ldelim()},(r,n)=>{let i={publicKey:new Uint8Array(0),payloadType:new Uint8Array(0),payload:new Uint8Array(0),signature:new Uint8Array(0)},s=n==null?r.len:r.pos+n;for(;r.pos<s;){let o=r.uint32();switch(o>>>3){case 1:i.publicKey=r.bytes();break;case 2:i.payloadType=r.bytes();break;case 3:i.payload=r.bytes();break;case 5:i.signature=r.bytes();break;default:r.skipType(o&7);break}}return i})),e),t.encode=r=>$e(r,t.codec()),t.decode=r=>qe(r,t.codec())})(ji||(ji={}));var mp=Symbol.for("@achingbrain/uint8arraylist");function pp(t,e){if(e==null||e<0)throw new RangeError("index is out of bounds");let r=0;for(let n of t){let i=r+n.byteLength;if(e<i)return{buf:n,index:e-r};r=i}throw new RangeError("index is out of bounds")}function _o(t){return!!t?.[mp]}var Ae=class{constructor(...e){Object.defineProperty(this,mp,{value:!0}),this.bufs=[],this.length=0,e.length>0&&this.appendAll(e)}*[Symbol.iterator](){yield*this.bufs}get byteLength(){return this.length}append(...e){this.appendAll(e)}appendAll(e){let r=0;for(let n of e)if(n instanceof Uint8Array)r+=n.byteLength,this.bufs.push(n);else if(_o(n))r+=n.byteLength,this.bufs.push(...n.bufs);else throw new Error("Could not append value, must be an Uint8Array or a Uint8ArrayList");this.length+=r}prepend(...e){this.prependAll(e)}prependAll(e){let r=0;for(let n of e.reverse())if(n instanceof Uint8Array)r+=n.byteLength,this.bufs.unshift(n);else if(_o(n))r+=n.byteLength,this.bufs.unshift(...n.bufs);else throw new Error("Could not prepend value, must be an Uint8Array or a Uint8ArrayList");this.length+=r}get(e){let r=pp(this.bufs,e);return r.buf[r.index]}set(e,r){let n=pp(this.bufs,e);n.buf[n.index]=r}write(e,r=0){if(e instanceof Uint8Array)for(let n=0;n<e.length;n++)this.set(r+n,e[n]);else if(_o(e))for(let n=0;n<e.length;n++)this.set(r+n,e.get(n));else throw new Error("Could not write value, must be an Uint8Array or a Uint8ArrayList")}consume(e){if(e=Math.trunc(e),!(Number.isNaN(e)||e<=0)){if(e===this.byteLength){this.bufs=[],this.length=0;return}for(;this.bufs.length>0;)if(e>=this.bufs[0].byteLength)e-=this.bufs[0].byteLength,this.length-=this.bufs[0].byteLength,this.bufs.shift();else{this.bufs[0]=this.bufs[0].subarray(e),this.length-=e;break}}}slice(e,r){let{bufs:n,length:i}=this._subList(e,r);return Ce(n,i)}subarray(e,r){let{bufs:n,length:i}=this._subList(e,r);return n.length===1?n[0]:Ce(n,i)}sublist(e,r){let{bufs:n,length:i}=this._subList(e,r),s=new Ae;return s.length=i,s.bufs=n,s}_subList(e,r){if(e=e??0,r=r??this.length,e<0&&(e=this.length+e),r<0&&(r=this.length+r),e<0||r>this.length)throw new RangeError("index is out of bounds");if(e===r)return{bufs:[],length:0};if(e===0&&r===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,e>=c)continue;let u=e>=a&&e<c,l=r>a&&r<=c;if(u&&l){if(e===a&&r===c){n.push(o);break}let f=e-a;n.push(o.subarray(f,f+(r-e)));break}if(u){if(e===0){n.push(o);continue}n.push(o.subarray(e-a));continue}if(l){if(r===c){n.push(o);break}n.push(o.subarray(0,r-a));break}n.push(o)}return{bufs:n,length:r-e}}indexOf(e,r=0){if(!_o(e)&&!(e instanceof Uint8Array))throw new TypeError('The "value" argument must be a Uint8ArrayList or Uint8Array');let n=e instanceof Uint8Array?e:e.subarray();if(r=Number(r??0),isNaN(r)&&(r=0),r<0&&(r=this.length+r),r<0&&(r=0),e.length===0)return r>this.length?this.length:r;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=r;f<=c;f+=l){l=0;for(let h=u;h>=0;h--){let d=this.get(f+h);if(n[h]!==d){l=Math.max(1,h-a[d]);break}}if(l===0)return f}return-1}getInt8(e){let r=this.subarray(e,e+1);return new DataView(r.buffer,r.byteOffset,r.byteLength).getInt8(0)}setInt8(e,r){let n=At(1);new DataView(n.buffer,n.byteOffset,n.byteLength).setInt8(0,r),this.write(n,e)}getInt16(e,r){let n=this.subarray(e,e+2);return new DataView(n.buffer,n.byteOffset,n.byteLength).getInt16(0,r)}setInt16(e,r,n){let i=ir(2);new DataView(i.buffer,i.byteOffset,i.byteLength).setInt16(0,r,n),this.write(i,e)}getInt32(e,r){let n=this.subarray(e,e+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getInt32(0,r)}setInt32(e,r,n){let i=ir(4);new DataView(i.buffer,i.byteOffset,i.byteLength).setInt32(0,r,n),this.write(i,e)}getBigInt64(e,r){let n=this.subarray(e,e+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getBigInt64(0,r)}setBigInt64(e,r,n){let i=ir(8);new DataView(i.buffer,i.byteOffset,i.byteLength).setBigInt64(0,r,n),this.write(i,e)}getUint8(e){let r=this.subarray(e,e+1);return new DataView(r.buffer,r.byteOffset,r.byteLength).getUint8(0)}setUint8(e,r){let n=At(1);new DataView(n.buffer,n.byteOffset,n.byteLength).setUint8(0,r),this.write(n,e)}getUint16(e,r){let n=this.subarray(e,e+2);return new DataView(n.buffer,n.byteOffset,n.byteLength).getUint16(0,r)}setUint16(e,r,n){let i=ir(2);new DataView(i.buffer,i.byteOffset,i.byteLength).setUint16(0,r,n),this.write(i,e)}getUint32(e,r){let n=this.subarray(e,e+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getUint32(0,r)}setUint32(e,r,n){let i=ir(4);new DataView(i.buffer,i.byteOffset,i.byteLength).setUint32(0,r,n),this.write(i,e)}getBigUint64(e,r){let n=this.subarray(e,e+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getBigUint64(0,r)}setBigUint64(e,r,n){let i=ir(8);new DataView(i.buffer,i.byteOffset,i.byteLength).setBigUint64(0,r,n),this.write(i,e)}getFloat32(e,r){let n=this.subarray(e,e+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getFloat32(0,r)}setFloat32(e,r,n){let i=ir(4);new DataView(i.buffer,i.byteOffset,i.byteLength).setFloat32(0,r,n),this.write(i,e)}getFloat64(e,r){let n=this.subarray(e,e+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getFloat64(0,r)}setFloat64(e,r,n){let i=ir(8);new DataView(i.buffer,i.byteOffset,i.byteLength).setFloat64(0,r,n),this.write(i,e)}equals(e){if(e==null||!(e instanceof Ae)||e.bufs.length!==this.bufs.length)return!1;for(let r=0;r<this.bufs.length;r++)if(!ve(this.bufs[r],e.bufs[r]))return!1;return!0}static fromUint8Arrays(e,r){let n=new Ae;return n.bufs=e,r==null&&(r=e.reduce((i,s)=>i+s.byteLength,0)),n.length=r,n}};function So(t){return t instanceof Uint8Array?{get(e){return t[e]},set(e,r){t[e]=r}}:{get(e){return t.get(e)},set(e,r){t.set(e,r)}}}var yp=4294967296,ft=class{constructor(e=0,r=0){this.hi=e,this.lo=r}toBigInt(e){if(e===!0)return BigInt(this.lo>>>0)+(BigInt(this.hi>>>0)<<32n);if(this.hi>>>31){let r=~this.lo+1>>>0,n=~this.hi>>>0;return r===0&&(n=n+1>>>0),-(BigInt(r)+(BigInt(n)<<32n))}return BigInt(this.lo>>>0)+(BigInt(this.hi>>>0)<<32n)}toNumber(e){return Number(this.toBigInt(e))}zzDecode(){let e=-(this.lo&1),r=((this.lo>>>1|this.hi<<31)^e)>>>0,n=(this.hi>>>1^e)>>>0;return new ft(n,r)}zzEncode(){let e=this.hi>>31,r=((this.hi<<1|this.lo>>>31)^e)>>>0,n=(this.lo<<1^e)>>>0;return new ft(r,n)}toBytes(e,r=0){let n=So(e);for(;this.hi>0;)n.set(r++,this.lo&127|128),this.lo=(this.lo>>>7|this.hi<<25)>>>0,this.hi>>>=7;for(;this.lo>127;)n.set(r++,this.lo&127|128),this.lo=this.lo>>>7;n.set(r++,this.lo)}static fromBigInt(e){if(e===0n)return new ft;let r=e<0;r&&(e=-e);let n=Number(e>>32n)|0,i=Number(e-(BigInt(n)<<32n))|0;return r&&(n=~n>>>0,i=~i>>>0,++i>yp&&(i=0,++n>yp&&(n=0))),new ft(n,i)}static fromNumber(e){if(e===0)return new ft;let r=e<0;r&&(e=-e);let n=e>>>0,i=(e-n)/4294967296>>>0;return r&&(i=~i>>>0,n=~n>>>0,++n>4294967295&&(n=0,++i>4294967295&&(i=0))),new ft(i,n)}static fromBytes(e,r=0){let n=So(e),i=new ft,s=0;if(e.length-r>4){for(;s<4;++s)if(i.lo=(i.lo|(n.get(r)&127)<<s*7)>>>0,n.get(r++)<128)return i;if(i.lo=(i.lo|(n.get(r)&127)<<28)>>>0,i.hi=(i.hi|(n.get(r)&127)>>4)>>>0,n.get(r++)<128)return i;s=0}else for(;s<4;++s){if(r>=e.length)throw RangeError(`index out of range: ${r} > ${e.length}`);if(i.lo=(i.lo|(n.get(r)&127)<<s*7)>>>0,n.get(r++)<128)return i}if(e.length-r>4){for(;s<5;++s)if(i.hi=(i.hi|(n.get(r)&127)<<s*7+3)>>>0,n.get(r++)<128)return i}else if(r<e.byteLength)for(;s<5;++s){if(r>=e.length)throw RangeError(`index out of range: ${r} > ${e.length}`);if(i.hi=(i.hi|(n.get(r)&127)<<s*7+3)>>>0,n.get(r++)<128)return i}throw RangeError("invalid varint encoding")}};var Vv=Math.pow(2,7),qv=Math.pow(2,14),$v=Math.pow(2,21),zv=Math.pow(2,28),Hv=Math.pow(2,35),Gv=Math.pow(2,42),Yv=Math.pow(2,49),Wv=Math.pow(2,56),Qv=Math.pow(2,63),Dt={encodingLength(t){return t<Vv?1:t<qv?2:t<$v?3:t<zv?4:t<Hv?5:t<Gv?6:t<Yv?7:t<Wv?8:t<Qv?9:10},encode(t,e,r=0){if(Number.MAX_SAFE_INTEGER!=null&&t>Number.MAX_SAFE_INTEGER)throw new RangeError("Could not encode varint");return e==null&&(e=At(Dt.encodingLength(t))),ft.fromNumber(t).toBytes(e,r),e},decode(t,e=0){return ft.fromBytes(t,e).toNumber(!0)}};var Xv,ht=class{constructor(e){let{peerId:r,payloadType:n,payload:i,signature:s}=e;this.peerId=r,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=ji.encode({publicKey:this.peerId.publicKey,payloadType:this.payloadType,payload:this.payload.subarray(),signature:this.signature})),this.marshaled}equals(e){return ve(this.marshal(),e.marshal())}async validate(e){let r=gp(e,this.payloadType,this.payload);if(this.peerId.publicKey==null)throw new Error("Missing public key");return await Yi(this.peerId.publicKey).verify(r.subarray(),this.signature)}};Xv=ht;ht.createFromProtobuf=async t=>{let e=ji.decode(t),r=await ei(e.publicKey);return new ht({peerId:r,payloadType:e.payloadType,payload:e.payload,signature:e.signature})};ht.seal=async(t,e)=>{if(e.privateKey==null)throw new Error("Missing private key");let r=t.domain,n=t.codec,i=t.marshal(),s=gp(r,n,i),a=await(await Yn(e.privateKey)).sign(s.subarray());return new ht({peerId:e,payloadType:n,payload:i,signature:a})};ht.openAndCertify=async(t,e)=>{let r=await ht.createFromProtobuf(t);if(!await r.validate(e))throw new E("envelope signature is not valid for the given domain",dp.ERR_SIGNATURE_NOT_VALID);return r};var gp=(t,e,r)=>{let n=U(t),i=Dt.encode(n.byteLength),s=Dt.encode(e.length),o=Dt.encode(r.length);return new Ae(i,n,s,e,o,r)};var Nu=V(Ao(),1);var ii=V(Ao(),1);var Io=class{index=0;input="";new(e){return this.index=0,this.input=e,this}readAtomically(e){let r=this.index,n=e();return n===void 0&&(this.index=r),n}parseWith(e){let r=e();if(this.index===this.input.length)return r}peekChar(){if(!(this.index>=this.input.length))return this.input[this.index]}readChar(){if(!(this.index>=this.input.length))return this.input[this.index++]}readGivenChar(e){return this.readAtomically(()=>{let r=this.readChar();if(r===e)return r})}readSeparator(e,r,n){return this.readAtomically(()=>{if(!(r>0&&this.readGivenChar(e)===void 0))return n()})}readNumber(e,r,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 h=Number.parseInt(f,e);if(!Number.isNaN(h))return h});if(l===void 0)break;if(s*=e,s+=l,s>u||(o+=1,r!==void 0&&o>r))return}if(o!==0)return!n&&c&&o>1?void 0:s})}readIPv4Addr(){return this.readAtomically(()=>{let e=new Uint8Array(4);for(let r=0;r<e.length;r++){let n=this.readSeparator(".",r,()=>this.readNumber(10,3,!1,1));if(n===void 0)return;e[r]=n}return e})}readIPv6Addr(){let e=r=>{for(let n=0;n<r.length/2;n++){let i=n*2;if(n<r.length-3){let o=this.readSeparator(":",n,()=>this.readIPv4Addr());if(o!==void 0)return r[i]=o[0],r[i+1]=o[1],r[i+2]=o[2],r[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];r[i]=s>>8,r[i+1]=s&255}return[r.length,!1]};return this.readAtomically(()=>{let r=new Uint8Array(16),[n,i]=e(r);if(n===16)return r;if(i||this.readGivenChar(":")===void 0||this.readGivenChar(":")===void 0)return;let s=new Uint8Array(14),o=16-(n+2),[a]=e(s.subarray(0,o));return r.set(s.subarray(0,a),16-a),r})}readIPAddr(){return this.readIPv4Addr()??this.readIPv6Addr()}};var Rp=45,lE=15,ri=new Io;function _u(t){if(!(t.length>lE))return ri.new(t).parseWith(()=>ri.readIPv4Addr())}function Su(t){if(!(t.length>Rp))return ri.new(t).parseWith(()=>ri.readIPv6Addr())}function Ro(t){if(!(t.length>Rp))return ri.new(t).parseWith(()=>ri.readIPAddr())}var d4=parseInt("0xFFFF",16),p4=new Uint8Array([0,0,0,0,0,0,0,0,0,0,255,255]);var jt=V(Ao(),1);function Bp(t){return!!_u(t)}function Lp(t){return!!Su(t)}function ni(t){return!!Ro(t)}var Pp=Bp,mE=Lp,Au=function(t){let e=0;if(t=t.toString().trim(),Pp(t)){let r=new Uint8Array(e+4);return t.split(/\./g).forEach(n=>{r[e++]=parseInt(n,10)&255}),r}if(mE(t)){let r=t.split(":",8),n;for(n=0;n<r.length;n++){let s=Pp(r[n]),o;s&&(o=Au(r[n]),r[n]=$(o.slice(0,2),"base16")),o!=null&&++n<8&&r.splice(n,0,$(o.slice(2,4),"base16"))}if(r[0]==="")for(;r.length<8;)r.unshift("0");else if(r[r.length-1]==="")for(;r.length<8;)r.push("0");else if(r.length<8){for(n=0;n<r.length&&r[n]!=="";n++);let s=[n,1];for(n=9-r.length;n>0;n--)s.push("0");r.splice.apply(r,s)}let i=new Uint8Array(e+16);for(n=0;n<r.length;n++){let s=parseInt(r[n],16);i[e++]=s>>8&255,i[e++]=s&255}return i}throw new Error("invalid ip address")},Dp=function(t,e=0,r){e=~~e,r=r??t.length-e;let n=new DataView(t.buffer);if(r===4){let i=[];for(let s=0;s<r;s++)i.push(t[e+s]);return i.join(".")}if(r===16){let i=[];for(let s=0;s<r;s+=2)i.push(n.getUint16(e+s).toString(16));return i.join(":").replace(/(^|:)0(:0)*:0(:|$)/,"$1::$3").replace(/:{3,4}/,"::")}return""};var Ji={},Iu={},gE=[[4,32,"ip4"],[6,16,"tcp"],[33,16,"dccp"],[41,128,"ip6"],[42,-1,"ip6zone"],[43,8,"ipcidr"],[53,-1,"dns",!0],[54,-1,"dns4",!0],[55,-1,"dns6",!0],[56,-1,"dnsaddr",!0],[132,16,"sctp"],[273,16,"udp"],[275,0,"p2p-webrtc-star"],[276,0,"p2p-webrtc-direct"],[277,0,"p2p-stardust"],[280,0,"webrtc-direct"],[281,0,"webrtc"],[290,0,"p2p-circuit"],[301,0,"udt"],[302,0,"utp"],[400,-1,"unix",!1,!0],[421,-1,"ipfs"],[421,-1,"p2p"],[443,0,"https"],[444,96,"onion"],[445,296,"onion3"],[446,-1,"garlic64"],[448,0,"tls"],[449,-1,"sni"],[460,0,"quic"],[461,0,"quic-v1"],[465,0,"webtransport"],[466,-1,"certhash"],[477,0,"ws"],[478,0,"wss"],[479,0,"p2p-websocket-star"],[480,0,"http"],[777,-1,"memory"]];gE.forEach(t=>{let e=xE(...t);Iu[e.code]=e,Ji[e.name]=e});function xE(t,e,r,n,i){return{code:t,size:e,name:r,resolvable:!!n,path:!!i}}function ce(t){if(typeof t=="number"){if(Iu[t]!=null)return Iu[t];throw new Error(`no protocol with code: ${t}`)}else if(typeof t=="string"){if(Ji[t]!=null)return Ji[t];throw new Error(`no protocol with name: ${t}`)}throw new Error(`invalid protocol id type: ${typeof t}`)}var Z4=ce("ip4"),j4=ce("ip6"),J4=ce("ipcidr");function Fp(t,e){switch(ce(t).code){case 4:case 41:return vE(e);case 42:return Op(e);case 6:case 273:case 33:case 132:return Kp(e).toString();case 53:case 54:case 55:case 56:case 400:case 449:case 777:return Op(e);case 421:return SE(e);case 444:return Mp(e);case 445:return Mp(e);case 466:return _E(e);default:return $(e,"base16")}}function Up(t,e){switch(ce(t).code){case 4:return Np(e);case 41:return Np(e);case 42:return kp(e);case 6:case 273:case 33:case 132:return Cu(parseInt(e,10));case 53:case 54:case 55:case 56:case 400:case 449:case 777:return kp(e);case 421:return EE(e);case 444:return AE(e);case 445:return IE(e);case 466:return bE(e);default:return U(e,"base16")}}var Ru=Object.values(Er).map(t=>t.decoder),wE=function(){let t=Ru[0].or(Ru[1]);return Ru.slice(2).forEach(e=>t=t.or(e)),t}();function Np(t){if(!ni(t))throw new Error("invalid ip address");return Au(t)}function vE(t){let e=Dp(t,0,t.length);if(e==null)throw new Error("ipBuff is required");if(!ni(e))throw new Error("invalid ip address");return e}function Cu(t){let e=new ArrayBuffer(2);return new DataView(e).setUint16(0,t),new Uint8Array(e)}function Kp(t){return new DataView(t.buffer).getUint16(t.byteOffset)}function kp(t){let e=U(t),r=Uint8Array.from(jt.default.encode(e.length));return Ce([r,e],r.length+e.length)}function Op(t){let e=jt.default.decode(t);if(t=t.slice(jt.default.decode.bytes),t.length!==e)throw new Error("inconsistent lengths");return $(t)}function EE(t){let e;t[0]==="Q"||t[0]==="1"?e=Xr(Re.decode(`z${t}`)).bytes:e=ue.parse(t).multihash.bytes;let r=Uint8Array.from(jt.default.encode(e.length));return Ce([r,e],r.length+e.length)}function bE(t){let e=wE.decode(t),r=Uint8Array.from(jt.default.encode(e.length));return Ce([r,e],r.length+e.length)}function _E(t){let e=jt.default.decode(t),r=t.slice(jt.default.decode.bytes);if(r.length!==e)throw new Error("inconsistent lengths");return"u"+$(r,"base64url")}function SE(t){let e=jt.default.decode(t),r=t.slice(jt.default.decode.bytes);if(r.length!==e)throw new Error("inconsistent lengths");return $(r,"base58btc")}function AE(t){let e=t.split(":");if(e.length!==2)throw new Error(`failed to parse onion addr: ["'${e.join('", "')}'"]' does not contain a port number`);if(e[0].length!==16)throw new Error(`failed to parse onion addr: ${e[0]} not a Tor onion address.`);let r=ot.decode("b"+e[0]),n=parseInt(e[1],10);if(n<1||n>65536)throw new Error("Port number is not in range(1, 65536)");let i=Cu(n);return Ce([r,i],r.length+i.length)}function IE(t){let e=t.split(":");if(e.length!==2)throw new Error(`failed to parse onion addr: ["'${e.join('", "')}'"]' does not contain a port number`);if(e[0].length!==56)throw new Error(`failed to parse onion addr: ${e[0]} not a Tor onion3 address.`);let r=ot.decode(`b${e[0]}`),n=parseInt(e[1],10);if(n<1||n>65536)throw new Error("Port number is not in range(1, 65536)");let i=Cu(n);return Ce([r,i],r.length+i.length)}function Mp(t){let e=t.slice(0,t.length-2),r=t.slice(t.length-2),n=$(e,"base32"),i=Kp(r);return`${n}:${i}`}function RE(t){let e=[],r=t.split("/").slice(1);if(r.length===1&&r[0]==="")return[];for(let n=0;n<r.length;n++){let i=r[n],s=ce(i);if(s.size===0){e.push([i]);continue}if(n++,n>=r.length)throw qp("invalid address: "+t);if(s.path===!0){e.push([i,Du(r.slice(n).join("/"))]);break}e.push([i,r[n]])}return e}function CE(t){let e=[];return t.map(r=>{let n=Bo(r);return e.push(n.name),r.length>1&&r[1]!=null&&e.push(r[1]),null}),Du(e.join("/"))}function TE(t){return t.map(e=>{Array.isArray(e)||(e=[e]);let r=Bo(e);return e.length>1?[r.code,Up(r.code,e[1])]:[r.code]})}function Tu(t){return t.map(e=>{let r=Bo(e);return e[1]!=null?[r.code,Fp(r.code,e[1])]:[r.code]})}function Bu(t){return To(Ce(t.map(e=>{let r=Bo(e),n=Uint8Array.from(ii.default.encode(r.code));return e.length>1&&e[1]!=null&&(n=Ce([n,e[1]])),n})))}function Lu(t,e){return t.size>0?t.size/8:t.size===0?0:ii.default.decode(e)+(ii.default.decode.bytes??0)}function Co(t){let e=[],r=0;for(;r<t.length;){let n=ii.default.decode(t,r),i=ii.default.decode.bytes??0,s=ce(n),o=Lu(s,t.slice(r+i));if(o===0){e.push([n]),r+=i;continue}let a=t.slice(r+i,r+i+o);if(r+=o+i,r>t.length)throw qp("Invalid address Uint8Array: "+$(t,"base16"));e.push([n,a])}return e}function Pu(t){let e=Co(t),r=Tu(e);return CE(r)}function BE(t){t=Du(t);let e=RE(t),r=TE(e);return Bu(r)}function Vp(t){return BE(t)}function To(t){let e=LE(t);if(e!=null)throw e;return Uint8Array.from(t)}function LE(t){try{Co(t)}catch(e){return e}}function Du(t){return"/"+t.trim().split("/").filter(e=>e).join("/")}function qp(t){return new Error("Error parsing address: "+t)}function Bo(t){return ce(t[0])}var DE=Symbol.for("nodejs.util.inspect.custom"),NE=[ce("dns").code,ce("dns4").code,ce("dns6").code,ce("dnsaddr").code],ku=new Map,$p=Symbol.for("@multiformats/js-multiaddr/multiaddr");function mn(t){return!!t?.[$p]}var fr=class{bytes;#e;#t;#n;#r;[$p]=!0;constructor(e){if(e==null&&(e=""),e instanceof Uint8Array)this.bytes=To(e);else if(typeof e=="string"){if(e.length>0&&e.charAt(0)!=="/")throw new Error(`multiaddr "${e}" must start with a "/"`);this.bytes=Vp(e)}else if(mn(e))this.bytes=To(e.bytes);else throw new Error("addr must be a string, Buffer, or another Multiaddr")}toString(){return this.#e==null&&(this.#e=Pu(this.bytes)),this.#e}toJSON(){return this.toString()}toOptions(){let e,r,n,i,s="",o=ce("tcp"),a=ce("udp"),c=ce("ip4"),u=ce("ip6"),l=ce("dns6"),f=ce("ip6zone");for(let[d,p]of this.stringTuples())d===f.code&&(s=`%${p??""}`),NE.includes(d)&&(r=o.name,i=443,n=`${p??""}${s}`,e=d===l.code?6:4),(d===o.code||d===a.code)&&(r=ce(d).name,i=parseInt(p??"")),(d===c.code||d===u.code)&&(r=ce(d).name,n=`${p??""}${s}`,e=d===u.code?6:4);if(e==null||r==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:e,host:n,transport:r,port:i}}protos(){return this.protoCodes().map(e=>Object.assign({},ce(e)))}protoCodes(){let e=[],r=this.bytes,n=0;for(;n<r.length;){let i=Nu.default.decode(r,n),s=Nu.default.decode.bytes??0,o=ce(i),a=Lu(o,r.slice(n+s));n+=a+s,e.push(i)}return e}protoNames(){return this.protos().map(e=>e.name)}tuples(){return this.#t==null&&(this.#t=Co(this.bytes)),this.#t}stringTuples(){return this.#n==null&&(this.#n=Tu(this.tuples())),this.#n}encapsulate(e){return e=new fr(e),new fr(this.toString()+e.toString())}decapsulate(e){let r=e.toString(),n=this.toString(),i=n.lastIndexOf(r);if(i<0)throw new Error(`Address ${this.toString()} does not contain subaddress: ${e.toString()}`);return new fr(n.slice(0,i))}decapsulateCode(e){let r=this.tuples();for(let n=r.length-1;n>=0;n--)if(r[n][0]===e)return new fr(Bu(r.slice(0,n)));return this}getPeerId(){try{let r=this.stringTuples().filter(n=>n[0]===Ji.ipfs.code).pop();if(r?.[1]!=null){let n=r[1];return n[0]==="Q"||n[0]==="1"?$(Re.decode(`z${n}`),"base58btc"):$(ue.parse(n).multihash.bytes,"base58btc")}return null}catch{return null}}getPath(){if(this.#r===void 0)try{this.#r=this.stringTuples().filter(e=>ce(e[0]).path===!0)[0][1],this.#r==null&&(this.#r=null)}catch{this.#r=null}return this.#r}equals(e){return ve(this.bytes,e.bytes)}async resolve(e){let r=this.protos().find(s=>s.resolvable);if(r==null)return[this];let n=ku.get(r.name);if(n==null)throw new E(`no available resolver for ${r.name}`,"ERR_NO_AVAILABLE_RESOLVER");return(await n(this,e)).map(s=>new fr(s))}nodeAddress(){let e=this.toOptions();if(e.transport!=="tcp"&&e.transport!=="udp")throw new Error(`multiaddr must have a valid format - no protocol with name: "${e.transport}". Must have a valid transport protocol: "{tcp, udp}"`);return{family:e.family,address:e.host,port:e.port}}isThinWaistAddress(e){let r=(e??this).protos();return!(r.length!==2||r[0].code!==4&&r[0].code!==41||r[1].code!==6&&r[1].code!==273)}[DE](){return`Multiaddr(${Pu(this.bytes)})`}};function Ne(t){return new fr(t)}function zp(t,e){let r=(n,i)=>n.toString().localeCompare(i.toString());return t.length!==e.length?!1:(e.sort(r),t.sort(r).every((n,i)=>e[i].equals(n)))}var es;(function(t){let e;(function(n){let i;n.codec=()=>(i==null&&(i=ze((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=>$e(s,n.codec()),n.decode=s=>qe(s,n.codec())})(e=t.AddressInfo||(t.AddressInfo={}));let r;t.codec=()=>(r==null&&(r=ze((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),t.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(t.AddressInfo.codec().decode(n,n.uint32()));break;default:n.skipType(a&7);break}}return s})),r),t.encode=n=>$e(n,t.codec()),t.decode=n=>qe(n,t.codec())})(es||(es={}));var Hp="libp2p-peer-record",Gp=Uint8Array.from([3,1]);var je=class{constructor(e){this.domain=je.DOMAIN,this.codec=je.CODEC;let{peerId:r,multiaddrs:n,seqNumber:i}=e;this.peerId=r,this.multiaddrs=n??[],this.seqNumber=i??BigInt(Date.now())}marshal(){return this.marshaled==null&&(this.marshaled=es.encode({peerId:this.peerId.toBytes(),seq:BigInt(this.seqNumber),addresses:this.multiaddrs.map(e=>({multiaddr:e.bytes}))})),this.marshaled}equals(e){return!(!(e instanceof je)||!this.peerId.equals(e.peerId)||this.seqNumber!==e.seqNumber||!zp(this.multiaddrs,e.multiaddrs))}};je.createFromProtobuf=t=>{let e=es.decode(t),r=Jn(e.peerId),n=(e.addresses??[]).map(s=>Ne(s.multiaddr)),i=e.seq;return new je({peerId:r,multiaddrs:n,seqNumber:i})};je.DOMAIN=Hp;je.CODEC=Gp;function kE(t){return t[Symbol.asyncIterator]!=null}function OE(t){if(kE(t))return(async()=>{let r=[];for await(let n of t)r.push(n);return r})();let e=[];for(let r of t)e.push(r);return e}var ts=OE;var nm=V(Wp(),1);var ns=class extends Error{constructor(e){super(e),this.name="TimeoutError"}},Mu=class extends Error{constructor(e){super(),this.name="AbortError",this.message=e}},Qp=t=>globalThis.DOMException===void 0?new Mu(t):new DOMException(t),Xp=t=>{let e=t.reason===void 0?Qp("This operation was aborted."):t.reason;return e instanceof Error?e:Qp(e)};function Fu(t,e,r,n){let i,s=new Promise((o,a)=>{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){o(t);return}if(n={customTimers:{setTimeout,clearTimeout},...n},n.signal){let{signal:c}=n;c.aborted&&a(Xp(c)),c.addEventListener("abort",()=>{a(Xp(c))})}i=n.customTimers.setTimeout.call(void 0,()=>{if(typeof r=="function"){try{o(r())}catch(l){a(l)}return}let c=typeof r=="string"?r:`Promise timed out after ${e} milliseconds`,u=r instanceof Error?r:new ns(c);typeof t.cancel=="function"&&t.cancel(),a(u)},e),(async()=>{try{o(await t)}catch(c){a(c)}finally{n.customTimers.clearTimeout.call(void 0,i)}})()});return s.clear=()=>{clearTimeout(i),i=void 0},s}function Uu(t,e,r){let n=0,i=t.length;for(;i>0;){let s=Math.trunc(i/2),o=n+s;r(t[o],e)<=0?(n=++o,i-=s+1):i=s}return n}var yn=function(t,e,r,n){if(r==="a"&&!n)throw new TypeError("Private accessor was defined without a getter");if(typeof e=="function"?t!==e||!n:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return r==="m"?n:r==="a"?n.call(t):n?n.value:e.get(t)},hr,is=class{constructor(){hr.set(this,[])}enqueue(e,r){r={priority:0,...r};let n={priority:r.priority,run:e};if(this.size&&yn(this,hr,"f")[this.size-1].priority>=r.priority){yn(this,hr,"f").push(n);return}let i=Uu(yn(this,hr,"f"),n,(s,o)=>o.priority-s.priority);yn(this,hr,"f").splice(i,0,n)}dequeue(){let e=yn(this,hr,"f").shift();return e?.run}filter(e){return yn(this,hr,"f").filter(r=>r.priority===e.priority).map(r=>r.run)}get size(){return yn(this,hr,"f").length}};hr=new WeakMap;var Ee=function(t,e,r,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 e=="function"?t!==e||!i:!e.has(t))throw new TypeError("Cannot write private member to an object whose class did not declare it");return n==="a"?i.call(t,r):i?i.value=r:e.set(t,r),r},k=function(t,e,r,n){if(r==="a"&&!n)throw new TypeError("Private accessor was defined without a getter");if(typeof e=="function"?t!==e||!n:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return r==="m"?n:r==="a"?n.call(t):n?n.value:e.get(t)},Be,os,as,kr,Mo,cs,Po,Nt,ss,dt,Do,pt,us,Nr,No,Zp,jp,tm,Jp,em,ko,Ku,Vu,Fo,rm,Oo,Uo=class extends Error{},kt=class extends nm.default{constructor(e){var r,n,i,s;if(super(),Be.add(this),os.set(this,void 0),as.set(this,void 0),kr.set(this,0),Mo.set(this,void 0),cs.set(this,void 0),Po.set(this,0),Nt.set(this,void 0),ss.set(this,void 0),dt.set(this,void 0),Do.set(this,void 0),pt.set(this,0),us.set(this,void 0),Nr.set(this,void 0),No.set(this,void 0),Object.defineProperty(this,"timeout",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),e={carryoverConcurrencyCount:!1,intervalCap:Number.POSITIVE_INFINITY,interval:0,concurrency:Number.POSITIVE_INFINITY,autoStart:!0,queueClass:is,...e},!(typeof e.intervalCap=="number"&&e.intervalCap>=1))throw new TypeError(`Expected \`intervalCap\` to be a number from 1 and up, got \`${(n=(r=e.intervalCap)===null||r===void 0?void 0:r.toString())!==null&&n!==void 0?n:""}\` (${typeof e.intervalCap})`);if(e.interval===void 0||!(Number.isFinite(e.interval)&&e.interval>=0))throw new TypeError(`Expected \`interval\` to be a finite number >= 0, got \`${(s=(i=e.interval)===null||i===void 0?void 0:i.toString())!==null&&s!==void 0?s:""}\` (${typeof e.interval})`);Ee(this,os,e.carryoverConcurrencyCount,"f"),Ee(this,as,e.intervalCap===Number.POSITIVE_INFINITY||e.interval===0,"f"),Ee(this,Mo,e.intervalCap,"f"),Ee(this,cs,e.interval,"f"),Ee(this,dt,new e.queueClass,"f"),Ee(this,Do,e.queueClass,"f"),this.concurrency=e.concurrency,this.timeout=e.timeout,Ee(this,No,e.throwOnTimeout===!0,"f"),Ee(this,Nr,e.autoStart===!1,"f")}get concurrency(){return k(this,us,"f")}set concurrency(e){if(!(typeof e=="number"&&e>=1))throw new TypeError(`Expected \`concurrency\` to be a number from 1 and up, got \`${e}\` (${typeof e})`);Ee(this,us,e,"f"),k(this,Be,"m",Fo).call(this)}async add(e,r={}){return r={timeout:this.timeout,throwOnTimeout:k(this,No,"f"),...r},new Promise((n,i)=>{k(this,dt,"f").enqueue(async()=>{var s,o,a;Ee(this,pt,(o=k(this,pt,"f"),o++,o),"f"),Ee(this,kr,(a=k(this,kr,"f"),a++,a),"f");try{if(!((s=r.signal)===null||s===void 0)&&s.aborted)throw new Uo("The task was aborted.");let c=e({signal:r.signal});r.timeout&&(c=Fu(Promise.resolve(c),r.timeout)),r.signal&&(c=Promise.race([c,k(this,Be,"m",rm).call(this,r.signal)]));let u=await c;n(u),this.emit("completed",u)}catch(c){if(c instanceof ns&&!r.throwOnTimeout){n();return}i(c),this.emit("error",c)}finally{k(this,Be,"m",tm).call(this)}},r),this.emit("add"),k(this,Be,"m",ko).call(this)})}async addAll(e,r){return Promise.all(e.map(async n=>this.add(n,r)))}start(){return k(this,Nr,"f")?(Ee(this,Nr,!1,"f"),k(this,Be,"m",Fo).call(this),this):this}pause(){Ee(this,Nr,!0,"f")}clear(){Ee(this,dt,new(k(this,Do,"f")),"f")}async onEmpty(){k(this,dt,"f").size!==0&&await k(this,Be,"m",Oo).call(this,"empty")}async onSizeLessThan(e){k(this,dt,"f").size<e||await k(this,Be,"m",Oo).call(this,"next",()=>k(this,dt,"f").size<e)}async onIdle(){k(this,pt,"f")===0&&k(this,dt,"f").size===0||await k(this,Be,"m",Oo).call(this,"idle")}get size(){return k(this,dt,"f").size}sizeBy(e){return k(this,dt,"f").filter(e).length}get pending(){return k(this,pt,"f")}get isPaused(){return k(this,Nr,"f")}};os=new WeakMap,as=new WeakMap,kr=new WeakMap,Mo=new WeakMap,cs=new WeakMap,Po=new WeakMap,Nt=new WeakMap,ss=new WeakMap,dt=new WeakMap,Do=new WeakMap,pt=new WeakMap,us=new WeakMap,Nr=new WeakMap,No=new WeakMap,Be=new WeakSet,Zp=function(){return k(this,as,"f")||k(this,kr,"f")<k(this,Mo,"f")},jp=function(){return k(this,pt,"f")<k(this,us,"f")},tm=function(){var e;Ee(this,pt,(e=k(this,pt,"f"),e--,e),"f"),k(this,Be,"m",ko).call(this),this.emit("next")},Jp=function(){k(this,Be,"m",Vu).call(this),k(this,Be,"m",Ku).call(this),Ee(this,ss,void 0,"f")},em=function(){let e=Date.now();if(k(this,Nt,"f")===void 0){let r=k(this,Po,"f")-e;if(r<0)Ee(this,kr,k(this,os,"f")?k(this,pt,"f"):0,"f");else return k(this,ss,"f")===void 0&&Ee(this,ss,setTimeout(()=>{k(this,Be,"m",Jp).call(this)},r),"f"),!0}return!1},ko=function(){if(k(this,dt,"f").size===0)return k(this,Nt,"f")&&clearInterval(k(this,Nt,"f")),Ee(this,Nt,void 0,"f"),this.emit("empty"),k(this,pt,"f")===0&&this.emit("idle"),!1;if(!k(this,Nr,"f")){let e=!k(this,Be,"a",em);if(k(this,Be,"a",Zp)&&k(this,Be,"a",jp)){let r=k(this,dt,"f").dequeue();return r?(this.emit("active"),r(),e&&k(this,Be,"m",Ku).call(this),!0):!1}}return!1},Ku=function(){k(this,as,"f")||k(this,Nt,"f")!==void 0||(Ee(this,Nt,setInterval(()=>{k(this,Be,"m",Vu).call(this)},k(this,cs,"f")),"f"),Ee(this,Po,Date.now()+k(this,cs,"f"),"f"))},Vu=function(){k(this,kr,"f")===0&&k(this,pt,"f")===0&&k(this,Nt,"f")&&(clearInterval(k(this,Nt,"f")),Ee(this,Nt,void 0,"f")),Ee(this,kr,k(this,os,"f")?k(this,pt,"f"):0,"f"),k(this,Be,"m",Fo).call(this)},Fo=function(){for(;k(this,Be,"m",ko).call(this););},rm=async function(e){return new Promise((r,n)=>{e.addEventListener("abort",()=>{n(new Uo("The task was aborted."))},{once:!0})})},Oo=async function(e,r){return new Promise(n=>{let i=()=>{r&&!r()||(this.off(e,i),n())};this.on(e,i)})};var qu=class extends Error{constructor(e){super(e),this.name="TimeoutError"}},$u=class extends Error{constructor(e){super(),this.name="AbortError",this.message=e}},im=t=>globalThis.DOMException===void 0?new $u(t):new DOMException(t),sm=t=>{let e=t.reason===void 0?im("This operation was aborted."):t.reason;return e instanceof Error?e:im(e)};function zu(t,e){let{milliseconds:r,fallback:n,message:i,customTimers:s={setTimeout,clearTimeout}}=e,o,c=new Promise((u,l)=>{if(typeof r!="number"||Math.sign(r)!==1)throw new TypeError(`Expected \`milliseconds\` to be a positive number, got \`${r}\``);if(e.signal){let{signal:h}=e;h.aborted&&l(sm(h)),h.addEventListener("abort",()=>{l(sm(h))})}if(r===Number.POSITIVE_INFINITY){t.then(u,l);return}let f=new qu;o=s.setTimeout.call(void 0,()=>{if(n){try{u(n())}catch(h){l(h)}return}typeof t.cancel=="function"&&t.cancel(),i===!1?u():i instanceof Error?l(i):(f.message=i??`Promise timed out after ${r} milliseconds`,l(f))},r),(async()=>{try{u(await t)}catch(h){l(h)}})()}).finally(()=>{c.clear()});return c.clear=()=>{s.clearTimeout.call(void 0,o),o=void 0},c}var om=(t=21)=>crypto.getRandomValues(new Uint8Array(t)).reduce((e,r)=>(r&=63,r<36?e+=r.toString(36):r<62?e+=(r-26).toString(36).toUpperCase():r>62?e+="-":e+="_",e),"");var Hu="lock:worker:request-read",Gu="lock:worker:release-read",Yu="lock:master:grant-read",Wu="lock:worker:request-write",Qu="lock:worker:release-write",Xu="lock:master:grant-write";var Or={},si=t=>{t.addEventListener("message",e=>{si.dispatchEvent("message",t,e)}),t.port!=null&&t.port.addEventListener("message",e=>{si.dispatchEvent("message",t,e)})};si.addEventListener=(t,e)=>{Or[t]==null&&(Or[t]=[]),Or[t].push(e)};si.removeEventListener=(t,e)=>{Or[t]!=null&&(Or[t]=Or[t].filter(r=>r===e))};si.dispatchEvent=function(t,e,r){Or[t]!=null&&Or[t].forEach(n=>n(e,r))};var Zu=si;var am=(t,e,r,n,i)=>(s,o)=>{if(o.data.type!==r)return;let a={type:o.data.type,name:o.data.name,identifier:o.data.identifier};t.dispatchEvent(new MessageEvent(e,{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)}))}}))},cm=(t,e,r,n)=>async()=>{let i=om();return globalThis.postMessage({type:e,identifier:i,name:t}),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===r&&c.identifier===i&&(globalThis.removeEventListener("message",o),s(()=>{globalThis.postMessage({type:n,identifier:i,name:t})}))};globalThis.addEventListener("message",o)})},UE={singleProcess:!1},um=t=>{if(t=Object.assign({},UE,t),!!globalThis.document||t.singleProcess){let r=new EventTarget;return Zu.addEventListener("message",am(r,"requestReadLock",Hu,Gu,Yu)),Zu.addEventListener("message",am(r,"requestWriteLock",Wu,Qu,Xu)),r}return{isWorker:!0,readLock:r=>cm(r,Hu,Yu,Gu),writeLock:r=>cm(r,Wu,Xu,Qu)}};var gn={},Mr;async function ju(t,e){let r,n=new Promise(i=>{r=i});return t.add(async()=>await zu((async()=>await new Promise(i=>{r(()=>{i()})}))(),{milliseconds:e.timeout})),await n}var KE=(t,e)=>{if(Mr.isWorker===!0)return{readLock:Mr.readLock(t,e),writeLock:Mr.writeLock(t,e)};let r=new kt({concurrency:1}),n;return{async readLock(){if(n!=null)return await ju(n,e);n=new kt({concurrency:e.concurrency,autoStart:!1});let i=n,s=ju(n,e);return r.add(async()=>(i.start(),await i.onIdle().then(()=>{n===i&&(n=null)}))),await s},async writeLock(){return n=null,await ju(r,e)}}},VE={name:"lock",concurrency:1/0,timeout:846e5,singleProcess:!1};function Ju(t){let e=Object.assign({},VE,t);return Mr==null&&(Mr=um(e),Mr.isWorker!==!0&&(Mr.addEventListener("requestReadLock",r=>{gn[r.data.name]!=null&&gn[r.data.name].readLock().then(async n=>await r.data.handler().finally(()=>n()))}),Mr.addEventListener("requestWriteLock",async r=>{gn[r.data.name]!=null&&gn[r.data.name].writeLock().then(async n=>await r.data.handler().finally(()=>n()))}))),gn[e.name]==null&&(gn[e.name]=KE(e.name,e)),gn[e.name]}var He={ERR_INVALID_PARAMETERS:"ERR_INVALID_PARAMETERS"};var oi;(function(t){let e;(function(i){let s;i.codec=()=>(s==null&&(s=ze((o,a,c={})=>{c.lengthDelimited!==!1&&a.fork(),o.key!=null&&o.key!==""&&(a.uint32(10),a.string(o.key)),o.value!=null&&o.value.byteLength>0&&(a.uint32(18),a.bytes(o.value)),c.lengthDelimited!==!1&&a.ldelim()},(o,a)=>{let c={key:"",value:new Uint8Array(0)},u=a==null?o.len:o.pos+a;for(;o.pos<u;){let l=o.uint32();switch(l>>>3){case 1:c.key=o.string();break;case 2:c.value=o.bytes();break;default:o.skipType(l&7);break}}return c})),s),i.encode=o=>$e(o,i.codec()),i.decode=o=>qe(o,i.codec())})(e=t.Peer$metadataEntry||(t.Peer$metadataEntry={}));let r;(function(i){let s;i.codec=()=>(s==null&&(s=ze((o,a,c={})=>{c.lengthDelimited!==!1&&a.fork(),o.key!=null&&o.key!==""&&(a.uint32(10),a.string(o.key)),o.value!=null&&(a.uint32(18),Vo.codec().encode(o.value,a)),c.lengthDelimited!==!1&&a.ldelim()},(o,a)=>{let c={key:""},u=a==null?o.len:o.pos+a;for(;o.pos<u;){let l=o.uint32();switch(l>>>3){case 1:c.key=o.string();break;case 2:c.value=Vo.codec().decode(o,o.uint32());break;default:o.skipType(l&7);break}}return c})),s),i.encode=o=>$e(o,i.codec()),i.decode=o=>qe(o,i.codec())})(r=t.Peer$tagsEntry||(t.Peer$tagsEntry={}));let n;t.codec=()=>(n==null&&(n=ze((i,s,o={})=>{if(o.lengthDelimited!==!1&&s.fork(),i.addresses!=null)for(let a of i.addresses)s.uint32(10),Ko.codec().encode(a,s);if(i.protocols!=null)for(let a of i.protocols)s.uint32(18),s.string(a);if(i.publicKey!=null&&(s.uint32(34),s.bytes(i.publicKey)),i.peerRecordEnvelope!=null&&(s.uint32(42),s.bytes(i.peerRecordEnvelope)),i.metadata!=null&&i.metadata.size!==0)for(let[a,c]of i.metadata.entries())s.uint32(50),t.Peer$metadataEntry.codec().encode({key:a,value:c},s);if(i.tags!=null&&i.tags.size!==0)for(let[a,c]of i.tags.entries())s.uint32(58),t.Peer$tagsEntry.codec().encode({key:a,value:c},s);o.lengthDelimited!==!1&&s.ldelim()},(i,s)=>{let o={addresses:[],protocols:[],metadata:new Map,tags:new Map},a=s==null?i.len:i.pos+s;for(;i.pos<a;){let c=i.uint32();switch(c>>>3){case 1:o.addresses.push(Ko.codec().decode(i,i.uint32()));break;case 2:o.protocols.push(i.string());break;case 4:o.publicKey=i.bytes();break;case 5:o.peerRecordEnvelope=i.bytes();break;case 6:{let u=t.Peer$metadataEntry.codec().decode(i,i.uint32());o.metadata.set(u.key,u.value);break}case 7:{let u=t.Peer$tagsEntry.codec().decode(i,i.uint32());o.tags.set(u.key,u.value);break}default:i.skipType(c&7);break}}return o})),n),t.encode=i=>$e(i,t.codec()),t.decode=i=>qe(i,t.codec())})(oi||(oi={}));var Ko;(function(t){let e;t.codec=()=>(e==null&&(e=ze((r,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),r.multiaddr!=null&&r.multiaddr.byteLength>0&&(n.uint32(10),n.bytes(r.multiaddr)),r.isCertified!=null&&(n.uint32(16),n.bool(r.isCertified)),i.lengthDelimited!==!1&&n.ldelim()},(r,n)=>{let i={multiaddr:new Uint8Array(0)},s=n==null?r.len:r.pos+n;for(;r.pos<s;){let o=r.uint32();switch(o>>>3){case 1:i.multiaddr=r.bytes();break;case 2:i.isCertified=r.bool();break;default:r.skipType(o&7);break}}return i})),e),t.encode=r=>$e(r,t.codec()),t.decode=r=>qe(r,t.codec())})(Ko||(Ko={}));var Vo;(function(t){let e;t.codec=()=>(e==null&&(e=ze((r,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),r.value!=null&&r.value!==0&&(n.uint32(8),n.uint32(r.value)),r.expiry!=null&&(n.uint32(16),n.uint64(r.expiry)),i.lengthDelimited!==!1&&n.ldelim()},(r,n)=>{let i={value:0},s=n==null?r.len:r.pos+n;for(;r.pos<s;){let o=r.uint32();switch(o>>>3){case 1:i.value=r.uint32();break;case 2:i.expiry=r.uint64();break;default:r.skipType(o&7);break}}return i})),e),t.encode=r=>$e(r,t.codec()),t.decode=r=>qe(r,t.codec())})(Vo||(Vo={}));function ai(t,e){let r=oi.decode(e);r.publicKey!=null&&t.publicKey==null&&(t=up({...t,publicKey:t.publicKey}));let n=new Map,i=BigInt(Date.now());for(let[s,o]of r.tags.entries())o.expiry!=null&&o.expiry<i||n.set(s,o);return{...r,id:t,addresses:r.addresses.map(({multiaddr:s,isCertified:o})=>({multiaddr:Ne(s),isCertified:o??!1})),metadata:r.metadata,peerRecordEnvelope:r.peerRecordEnvelope??void 0,tags:n}}var el="/peers/";function ci(t){if(!Eo(t)||t.type==null)throw new E("Invalid PeerId",He.ERR_INVALID_PARAMETERS);let e=t.toCID().toString();return new Se(`${el}${e}`)}async function lm(t,e,r){let n=new Map;for(let i of r){if(i==null)continue;if(i.multiaddr instanceof Uint8Array&&(i.multiaddr=Ne(i.multiaddr)),!mn(i.multiaddr))throw new E("Multiaddr was invalid",He.ERR_INVALID_PARAMETERS);if(!await e(t,i.multiaddr))continue;let s=i.isCertified??!1,o=i.multiaddr.toString(),a=n.get(o);a!=null?i.isCertified=a.isCertified||s:n.set(o,{multiaddr:i.multiaddr,isCertified:s})}return[...n.values()].sort((i,s)=>i.multiaddr.toString().localeCompare(s.multiaddr.toString())).map(({isCertified:i,multiaddr:s})=>({isCertified:i,multiaddr:s.bytes}))}async function $o(t,e,r,n){if(e==null)throw new E("Invalid PeerData",He.ERR_INVALID_PARAMETERS);if(e.publicKey!=null&&t.publicKey!=null&&!ve(e.publicKey,t.publicKey))throw new E("publicKey bytes do not match peer id publicKey bytes",He.ERR_INVALID_PARAMETERS);let i=n.existingPeer;if(i!=null&&!t.equals(i.id))throw new E("peer id did not match existing peer id",He.ERR_INVALID_PARAMETERS);let s=i?.addresses??[],o=new Set(i?.protocols??[]),a=i?.metadata??new Map,c=i?.tags??new Map,u=i?.peerRecordEnvelope;if(r==="patch"){if((e.multiaddrs!=null||e.addresses!=null)&&(s=[],e.multiaddrs!=null&&s.push(...e.multiaddrs.map(f=>({isCertified:!1,multiaddr:f}))),e.addresses!=null&&s.push(...e.addresses)),e.protocols!=null&&(o=new Set(e.protocols)),e.metadata!=null){let f=e.metadata instanceof Map?[...e.metadata.entries()]:Object.entries(e.metadata);a=qo(f,{validate:fm})}if(e.tags!=null){let f=e.tags instanceof Map?[...e.tags.entries()]:Object.entries(e.tags);c=qo(f,{validate:hm,map:dm})}e.peerRecordEnvelope!=null&&(u=e.peerRecordEnvelope)}if(r==="merge"){if(e.multiaddrs!=null&&s.push(...e.multiaddrs.map(f=>({isCertified:!1,multiaddr:f}))),e.addresses!=null&&s.push(...e.addresses),e.protocols!=null&&(o=new Set([...o,...e.protocols])),e.metadata!=null){let f=e.metadata instanceof Map?[...e.metadata.entries()]:Object.entries(e.metadata);for(let[h,d]of f)d==null?a.delete(h):a.set(h,d);a=qo([...a.entries()],{validate:fm})}if(e.tags!=null){let f=e.tags instanceof Map?[...e.tags.entries()]:Object.entries(e.tags),h=new Map(c);for(let[d,p]of f)p==null?h.delete(d):h.set(d,p);c=qo([...h.entries()],{validate:hm,map:dm})}e.peerRecordEnvelope!=null&&(u=e.peerRecordEnvelope)}let l={addresses:await lm(t,n.addressFilter??(async()=>!0),s),protocols:[...o.values()].sort((f,h)=>f.localeCompare(h)),metadata:a,tags:c,publicKey:i?.id.publicKey??e.publicKey??t.publicKey,peerRecordEnvelope:u};return t.type!=="RSA"&&delete l.publicKey,l}function qo(t,e){let r=new Map;for(let[n,i]of t)i!=null&&e.validate(n,i);for(let[n,i]of t.sort(([s],[o])=>s.localeCompare(o)))i!=null&&r.set(n,e.map?.(n,i)??i);return r}function fm(t,e){if(typeof t!="string")throw new E("Metadata key must be a string",He.ERR_INVALID_PARAMETERS);if(!(e instanceof Uint8Array))throw new E("Metadata value must be a Uint8Array",He.ERR_INVALID_PARAMETERS)}function hm(t,e){if(typeof t!="string")throw new E("Tag name must be a string",He.ERR_INVALID_PARAMETERS);if(e.value!=null){if(parseInt(`${e.value}`,10)!==e.value)throw new E("Tag value must be an integer",He.ERR_INVALID_PARAMETERS);if(e.value<0||e.value>100)throw new E("Tag value must be between 0-100",He.ERR_INVALID_PARAMETERS)}if(e.ttl!=null){if(parseInt(`${e.ttl}`,10)!==e.ttl)throw new E("Tag ttl must be an integer",He.ERR_INVALID_PARAMETERS);if(e.ttl<0)throw new E("Tag ttl must be between greater than 0",He.ERR_INVALID_PARAMETERS)}}function dm(t,e){let r;return e.expiry!=null&&(r=e.expiry),e.ttl!=null&&(r=BigInt(Date.now()+Number(e.ttl))),{value:e.value??0,expiry:r}}function zo(t,e,r){let n=t.toString().split("/")[2],i=ot.decode(n),s=Jn(i),o=r.get(s);if(o!=null)return o;let a=ai(s,e);return r.set(s,a),a}function qE(t,e){return t==null?{}:{prefix:el,filters:(t.filters??[]).map(r=>({key:n,value:i})=>r(zo(n,i,e))),orders:(t.orders??[]).map(r=>(n,i)=>r(zo(n.key,n.value,e),zo(i.key,i.value,e)))}}var Ho=class{peerId;datastore;lock;addressFilter;constructor(e,r={}){this.peerId=e.peerId,this.datastore=e.datastore,this.addressFilter=r.addressFilter,this.lock=Ju({name:"peer-store",singleProcess:!0})}async has(e){return this.datastore.has(ci(e))}async delete(e){if(this.peerId.equals(e))throw new E("Cannot delete self peer",He.ERR_INVALID_PARAMETERS);await this.datastore.delete(ci(e))}async load(e){let r=await this.datastore.get(ci(e));return ai(e,r)}async save(e,r){let{existingBuf:n,existingPeer:i}=await this.#e(e),s=await $o(e,r,"patch",{addressFilter:this.addressFilter});return this.#t(e,s,n,i)}async patch(e,r){let{existingBuf:n,existingPeer:i}=await this.#e(e),s=await $o(e,r,"patch",{addressFilter:this.addressFilter,existingPeer:i});return this.#t(e,s,n,i)}async merge(e,r){let{existingBuf:n,existingPeer:i}=await this.#e(e),s=await $o(e,r,"merge",{addressFilter:this.addressFilter,existingPeer:i});return this.#t(e,s,n,i)}async*all(e){let r=new Lt;for await(let{key:n,value:i}of this.datastore.query(qE(e??{},r))){let s=zo(n,i,r);s.id.equals(this.peerId)||(yield s)}}async#e(e){try{let r=await this.datastore.get(ci(e)),n=ai(e,r);return{existingBuf:r,existingPeer:n}}catch(r){if(r.code!=="ERR_NOT_FOUND")throw r}return{}}async#t(e,r,n,i){let s=oi.encode(r);return n!=null&&ve(s,n)?{peer:ai(e,s),previous:i,updated:!1}:(await this.datastore.put(ci(e),s),{peer:ai(e,s),previous:i,updated:!0})}};var fe=G("libp2p:peer-store"),Go=class{store;events;peerId;constructor(e,r={}){this.events=e.events,this.peerId=e.peerId,this.store=new Ho(e,r)}async forEach(e,r){fe.trace("forEach await read lock");let n=await this.store.lock.readLock();fe.trace("forEach got read lock");try{for await(let i of this.store.all(r))e(i)}finally{fe.trace("forEach release read lock"),n()}}async all(e){fe.trace("all await read lock");let r=await this.store.lock.readLock();fe.trace("all got read lock");try{return await ts(this.store.all(e))}finally{fe.trace("all release read lock"),r()}}async delete(e){fe.trace("delete await write lock");let r=await this.store.lock.writeLock();fe.trace("delete got write lock");try{await this.store.delete(e)}finally{fe.trace("delete release write lock"),r()}}async has(e){fe.trace("has await read lock");let r=await this.store.lock.readLock();fe.trace("has got read lock");try{return await this.store.has(e)}finally{fe.trace("has release read lock"),r()}}async get(e){fe.trace("get await read lock");let r=await this.store.lock.readLock();fe.trace("get got read lock");try{return await this.store.load(e)}finally{fe.trace("get release read lock"),r()}}async save(e,r){fe.trace("save await write lock");let n=await this.store.lock.writeLock();fe.trace("save got write lock");try{let i=await this.store.save(e,r);return this.#e(e,i),i.peer}finally{fe.trace("save release write lock"),n()}}async patch(e,r){fe.trace("patch await write lock");let n=await this.store.lock.writeLock();fe.trace("patch got write lock");try{let i=await this.store.patch(e,r);return this.#e(e,i),i.peer}finally{fe.trace("patch release write lock"),n()}}async merge(e,r){fe.trace("merge await write lock");let n=await this.store.lock.writeLock();fe.trace("merge got write lock");try{let i=await this.store.merge(e,r);return this.#e(e,i),i.peer}finally{fe.trace("merge release write lock"),n()}}async consumePeerRecord(e,r){let n=await ht.openAndCertify(e,je.DOMAIN);if(r?.equals(n.peerId)===!1)return fe("envelope peer id was not the expected peer id - expected: %p received: %p",r,n.peerId),!1;let i=je.createFromProtobuf(n.payload),s;try{s=await this.get(n.peerId)}catch(o){if(o.code!=="ERR_NOT_FOUND")throw o}if(s?.peerRecordEnvelope!=null){let o=await ht.createFromProtobuf(s.peerRecordEnvelope),a=je.createFromProtobuf(o.payload);if(a.seqNumber>=i.seqNumber)return fe("sequence number was lower or equal to existing sequence number - stored: %d received: %d",a.seqNumber,i.seqNumber),!1}return await this.patch(i.peerId,{peerRecordEnvelope:e,addresses:i.multiaddrs.map(o=>({isCertified:!0,multiaddr:o}))}),!0}#e(e,r){r.updated&&(this.peerId.equals(e)?this.events.safeDispatchEvent("self:peer:update",{detail:r}):this.events.safeDispatchEvent("peer:update",{detail:r}))}};function $E(t){return t[Symbol.asyncIterator]!=null}function zE(t){if($E(t))return(async()=>{for await(let e of t);})();for(let e of t);}var tl=zE;function HE(t){let[e,r]=t[Symbol.asyncIterator]!=null?[t[Symbol.asyncIterator](),Symbol.asyncIterator]:[t[Symbol.iterator](),Symbol.iterator],n=[];return{peek:()=>e.next(),push:i=>{n.push(i)},next:()=>n.length>0?{done:!1,value:n.shift()}:e.next(),[r](){return this}}}var Yo=HE;function GE(t){return t[Symbol.asyncIterator]!=null}function YE(t,e){if(GE(t))return async function*(){for await(let a of t)await e(a)&&(yield a)}();let r=Yo(t),{value:n,done:i}=r.next();if(i===!0)return function*(){}();let s=e(n);if(typeof s.then=="function")return async function*(){await s&&(yield n);for await(let a of r)await e(a)&&(yield a)}();let o=e;return function*(){s===!0&&(yield n);for(let a of r)o(a)&&(yield a)}()}var Ot=YE;function WE(t){return t[Symbol.asyncIterator]!=null}function QE(t,e){return WE(t)?async function*(){yield*(await ts(t)).sort(e)}():function*(){yield*ts(t).sort(e)}()}var rl=QE;function XE(t){return t[Symbol.asyncIterator]!=null}function ZE(t,e){return XE(t)?async function*(){let r=0;if(!(e<1)){for await(let n of t)if(yield n,r++,r===e)return}}():function*(){let r=0;if(!(e<1)){for(let n of t)if(yield n,r++,r===e)return}}()}var nl=ZE;var Wo=class{put(e,r,n){return Promise.reject(new Error(".put is not implemented"))}get(e,r){return Promise.reject(new Error(".get is not implemented"))}has(e,r){return Promise.reject(new Error(".has is not implemented"))}delete(e,r){return Promise.reject(new Error(".delete is not implemented"))}async*putMany(e,r={}){for await(let{key:n,value:i}of e)await this.put(n,i,r),yield n}async*getMany(e,r={}){for await(let n of e)yield{key:n,value:await this.get(n,r)}}async*deleteMany(e,r={}){for await(let n of e)await this.delete(n,r),yield n}batch(){let e=[],r=[];return{put(n,i){e.push({key:n,value:i})},delete(n){r.push(n)},commit:async n=>{await tl(this.putMany(e,n)),e=[],await tl(this.deleteMany(r,n)),r=[]}}}async*_all(e,r){throw new Error("._all is not implemented")}async*_allKeys(e,r){throw new Error("._allKeys is not implemented")}query(e,r){let n=this._all(e,r);if(e.prefix!=null){let i=e.prefix;n=Ot(n,s=>s.key.toString().startsWith(i))}if(Array.isArray(e.filters)&&(n=e.filters.reduce((i,s)=>Ot(i,s),n)),Array.isArray(e.orders)&&(n=e.orders.reduce((i,s)=>rl(i,s),n)),e.offset!=null){let i=0,s=e.offset;n=Ot(n,()=>i++>=s)}return e.limit!=null&&(n=nl(n,e.limit)),n}queryKeys(e,r){let n=this._allKeys(e,r);if(e.prefix!=null){let i=e.prefix;n=Ot(n,s=>s.toString().startsWith(i))}if(Array.isArray(e.filters)&&(n=e.filters.reduce((i,s)=>Ot(i,s),n)),Array.isArray(e.orders)&&(n=e.orders.reduce((i,s)=>rl(i,s),n)),e.offset!=null){let i=e.offset,s=0;n=Ot(n,()=>s++>=i)}return e.limit!=null&&(n=nl(n,e.limit)),n}};var ym=V(il(),1);function gm(t){return t=t??new Error("Not Found"),(0,ym.default)(t,"ERR_NOT_FOUND")}var Qo=class extends Wo{data;constructor(){super(),this.data=new Map}put(e,r){return this.data.set(e.toString(),r),e}get(e){let r=this.data.get(e.toString());if(r==null)throw gm();return r}has(e){return this.data.has(e.toString())}delete(e){this.data.delete(e.toString())}*_all(){for(let[e,r]of this.data.entries())yield{key:new Se(e),value:r}}*_allKeys(){for(let e of this.data.keys())yield new Se(e)}};function xm(t,e){let r;return function(){let n=function(){r=void 0,t()};clearTimeout(r),r=setTimeout(n,e)}}var eb=G("libp2p:address-manager"),tb=t=>t;function sl(t,e){let r=t.getPeerId();return r!=null&&ie(r).equals(e)&&(t=t.decapsulate(Ne(`/p2p/${e.toString()}`))),t}var Xo=class{components;listen;announce;observed;announceFilter;constructor(e,r={}){let{listen:n=[],announce:i=[]}=r;this.components=e,this.listen=n.map(s=>s.toString()),this.announce=new Set(i.map(s=>s.toString())),this.observed=new Map,this.announceFilter=r.announceFilter??tb,this._updatePeerStoreAddresses=xm(this._updatePeerStoreAddresses.bind(this),1e3),e.events.addEventListener("transport:listening",()=>{this._updatePeerStoreAddresses()}),e.events.addEventListener("transport:close",()=>{this._updatePeerStoreAddresses()})}_updatePeerStoreAddresses(){let e=this.getAnnounceAddrs().concat(this.components.transportManager.getAddrs()).concat([...this.observed.entries()].filter(([r,n])=>n.confident).map(([r])=>Ne(r))).map(r=>r.getPeerId()===this.components.peerId.toString()?r.decapsulate(`/p2p/${this.components.peerId.toString()}`):r);this.components.peerStore.patch(this.components.peerId,{multiaddrs:e}).catch(r=>{eb.error("error updating addresses",r)})}getListenAddrs(){return Array.from(this.listen).map(e=>Ne(e))}getAnnounceAddrs(){return Array.from(this.announce).map(e=>Ne(e))}getObservedAddrs(){return Array.from(this.observed).map(([e])=>Ne(e))}addObservedAddr(e){e=sl(e,this.components.peerId);let r=e.toString();this.observed.has(r)||this.observed.set(r,{confident:!1})}confirmObservedAddr(e){e=sl(e,this.components.peerId);let r=e.toString(),i=(this.observed.get(r)??{confident:!1}).confident;this.observed.set(r,{confident:!0}),i||this._updatePeerStoreAddresses()}removeObservedAddr(e){e=sl(e,this.components.peerId);let r=e.toString();this.observed.delete(r)}getAddresses(){let e=this.getAnnounceAddrs().map(n=>n.toString());e.length===0&&(e=this.components.transportManager.getAddrs().map(n=>n.toString())),e=e.concat(Array.from(this.observed).filter(([n,i])=>i.confident).map(([n])=>n));let r=new Set(e);return this.announceFilter(Array.from(r).map(n=>Ne(n))).map(n=>n.protos().pop()?.path===!0||n.getPeerId()===this.components.peerId.toString()?n:n.encapsulate(`/p2p/${this.components.peerId.toString()}`))}};function wm(t){return t!=null&&typeof t.start=="function"&&typeof t.stop=="function"}var ol=class{components={};_started=!1;constructor(e={}){this.components={};for(let[r,n]of Object.entries(e))this.components[r]=n}isStarted(){return this._started}async _invokeStartableMethod(e){await Promise.all(Object.values(this.components).filter(r=>wm(r)).map(async r=>{await r[e]?.()}))}async beforeStart(){await this._invokeStartableMethod("beforeStart")}async start(){await this._invokeStartableMethod("start"),this._started=!0}async afterStart(){await this._invokeStartableMethod("afterStart")}async beforeStop(){await this._invokeStartableMethod("beforeStop")}async stop(){await this._invokeStartableMethod("stop"),this._started=!1}async afterStop(){await this._invokeStartableMethod("afterStop")}},rb=["metrics","connectionProtector"],nb=["components","isStarted","beforeStart","start","afterStart","beforeStop","stop","afterStop","then","_invokeStartableMethod"];function vm(t={}){let e=new ol(t);return new Proxy(e,{get(n,i,s){if(typeof i=="string"&&!nb.includes(i)){let o=e.components[i];if(o==null&&!rb.includes(i))throw new E(`${i} not set`,"ERR_SERVICE_MISSING");return o}return Reflect.get(n,i,s)},set(n,i,s){return typeof i=="string"?e.components[i]=s:Reflect.set(n,i,s),!0}})}var Rm=V(Em(),1);var bm="[a-fA-F\\d:]",Fr=t=>t&&t.includeBoundaries?`(?:(?<=\\s|^)(?=${bm})|(?<=${bm})(?=\\s|$))`:"",Mt="(?: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}",Pe="[a-fA-F\\d]{1,4}",Zo=`
35
+ expire = ${s}
36
+ RETURNING points, expire;`,values:[e,r,o,Date.now()]})}_get(e){return this.tableCreated?new Promise((r,n)=>{this._query({name:"rlflx-get",text:`
37
+ SELECT points, expire FROM ${this.tableName} WHERE key = $1 AND (expire > $2 OR expire IS NULL);`,values:[e,Date.now()]}).then(i=>{i.rowCount===0&&(i=null),r(i)}).catch(i=>{n(i)})}):Promise.reject(Error("Table is not created yet"))}_delete(e){return this.tableCreated?this._query({name:"rlflx-delete",text:`DELETE FROM ${this.tableName} WHERE key = $1`,values:[e]}).then(r=>r.rowCount>0):Promise.reject(Error("Table is not created yet"))}};l1.exports=Kf});var h1=B(()=>{});var p1=B((qD,d1)=>{d1.exports=class{constructor(e,r,n=null){this.value=e,this.expiresAt=r,this.timeoutId=n}get value(){return this._value}set value(e){this._value=parseInt(e)}get expiresAt(){return this._expiresAt}set expiresAt(e){!(e instanceof Date)&&Number.isInteger(e)&&(e=new Date(e)),this._expiresAt=e}get timeoutId(){return this._timeoutId}set timeoutId(e){this._timeoutId=e}}});var y1=B(($D,m1)=>{var YI=p1(),Vf=gt();m1.exports=class{constructor(){this._storage={}}incrby(e,r,n){if(this._storage[e]){let i=this._storage[e].expiresAt?this._storage[e].expiresAt.getTime()-new Date().getTime():-1;return i!==0?(this._storage[e].value=this._storage[e].value+r,new Vf(0,i,this._storage[e].value,!1)):this.set(e,r,n)}return this.set(e,r,n)}set(e,r,n){let i=n*1e3;return this._storage[e]&&this._storage[e].timeoutId&&clearTimeout(this._storage[e].timeoutId),this._storage[e]=new YI(r,i>0?new Date(Date.now()+i):null),i>0&&(this._storage[e].timeoutId=setTimeout(()=>{delete this._storage[e]},i),this._storage[e].timeoutId.unref&&this._storage[e].timeoutId.unref()),new Vf(0,i===0?-1:i,this._storage[e].value,!0)}get(e){if(this._storage[e]){let r=this._storage[e].expiresAt?this._storage[e].expiresAt.getTime()-new Date().getTime():-1;return new Vf(0,r,this._storage[e].value,!1)}return null}delete(e){return this._storage[e]?(this._storage[e].timeoutId&&clearTimeout(this._storage[e].timeoutId),delete this._storage[e],!0):!1}}});var zf=B((HD,x1)=>{var WI=Ho(),QI=y1(),g1=gt(),qf=class extends WI{constructor(e={}){super(e),this._memoryStorage=new QI}consume(e,r=1,n={}){return new Promise((i,o)=>{let s=this.getKey(e),a=this._getKeySecDuration(n),c=this._memoryStorage.incrby(s,r,a);if(c.remainingPoints=Math.max(this.points-c.consumedPoints,0),c.consumedPoints>this.points)this.blockDuration>0&&c.consumedPoints<=this.points+r&&(c=this._memoryStorage.set(s,c.consumedPoints,this.blockDuration)),o(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(e,r=1,n={}){let i=this.getKey(e);return new Promise(o=>{let s=this._getKeySecDuration(n),a=this._memoryStorage.incrby(i,r,s);a.remainingPoints=Math.max(this.points-a.consumedPoints,0),o(a)})}reward(e,r=1,n={}){let i=this.getKey(e);return new Promise(o=>{let s=this._getKeySecDuration(n),a=this._memoryStorage.incrby(i,-r,s);a.remainingPoints=Math.max(this.points-a.consumedPoints,0),o(a)})}block(e,r){let n=r*1e3,i=this.points+1;return this._memoryStorage.set(this.getKey(e),i,r),Promise.resolve(new g1(0,n===0?-1:n,i))}set(e,r,n){let i=(n>=0?n:this.duration)*1e3;return this._memoryStorage.set(this.getKey(e),r,n),Promise.resolve(new g1(0,i===0?-1:i,r))}get(e){let r=this._memoryStorage.get(this.getKey(e));return r!==null&&(r.remainingPoints=Math.max(this.points-r.consumedPoints,0)),Promise.resolve(r)}delete(e){return Promise.resolve(this._memoryStorage.delete(this.getKey(e)))}};x1.exports=qf});var A1=B((GD,S1)=>{var w1=h1(),XI=rn(),ZI=Ho(),v1=zf(),jI=gt(),St="rate_limiter_flexible",Ui=null,b1=function(t,e,r,n){let i;n===null||n===!0||n===!1?i=n:i={remainingPoints:n.remainingPoints,msBeforeNext:n.msBeforeNext,consumedPoints:n.consumedPoints,isFirstInDuration:n.isFirstInDuration},t.send({channel:St,keyPrefix:e.keyPrefix,promiseId:e.promiseId,type:r,data:i})},E1=function(t){setTimeout(()=>{this._initiated?process.send(t):typeof this._promises[t.promiseId]<"u"&&E1.call(this,t)},30)},Oi=function(t,e,r,n,i){let o={channel:St,keyPrefix:this.keyPrefix,func:t,promiseId:e,data:{key:r,arg:n,opts:i}};this._initiated?process.send(o):E1.call(this,o)},_1=function(t,e){if(!e||e.channel!==St||typeof this._rateLimiters[e.keyPrefix]>"u")return!1;let r;switch(e.func){case"consume":r=this._rateLimiters[e.keyPrefix].consume(e.data.key,e.data.arg,e.data.opts);break;case"penalty":r=this._rateLimiters[e.keyPrefix].penalty(e.data.key,e.data.arg,e.data.opts);break;case"reward":r=this._rateLimiters[e.keyPrefix].reward(e.data.key,e.data.arg,e.data.opts);break;case"block":r=this._rateLimiters[e.keyPrefix].block(e.data.key,e.data.arg,e.data.opts);break;case"get":r=this._rateLimiters[e.keyPrefix].get(e.data.key,e.data.opts);break;case"delete":r=this._rateLimiters[e.keyPrefix].delete(e.data.key,e.data.opts);break;default:return!1}r&&r.then(n=>{b1(t,e,"resolve",n)}).catch(n=>{b1(t,e,"reject",n)})},JI=function(t){if(!t||t.channel!==St||t.keyPrefix!==this.keyPrefix)return!1;if(this._promises[t.promiseId]){clearTimeout(this._promises[t.promiseId].timeoutId);let e;switch(t.data===null||t.data===!0||t.data===!1?e=t.data:e=new jI(t.data.remainingPoints,t.data.msBeforeNext,t.data.consumedPoints,t.data.isFirstInDuration),t.type){case"resolve":this._promises[t.promiseId].resolve(e);break;case"reject":this._promises[t.promiseId].reject(e);break;default:throw new Error(`RateLimiterCluster: no such message type '${t.type}'`)}delete this._promises[t.promiseId]}},eR=function(){return{points:this.points,duration:this.duration,blockDuration:this.blockDuration,execEvenly:this.execEvenly,execEvenlyMinDelayMs:this.execEvenlyMinDelayMs,keyPrefix:this.keyPrefix}},Mi=function(t,e){let r=process.hrtime(),n=r[0].toString()+r[1].toString();return typeof this._promises[n]<"u"&&(n+=XI.randomBytes(12).toString("base64")),this._promises[n]={resolve:t,reject:e,timeoutId:setTimeout(()=>{delete this._promises[n],e(new Error("RateLimiterCluster timeout: no answer from master in time"))},this.timeoutMs)},n},$f=class{constructor(){if(Ui)return Ui;this._rateLimiters={},w1.setMaxListeners(0),w1.on("message",(e,r)=>{r&&r.channel===St&&r.type==="init"?(typeof this._rateLimiters[r.opts.keyPrefix]>"u"&&(this._rateLimiters[r.opts.keyPrefix]=new v1(r.opts)),e.send({channel:St,type:"init",keyPrefix:r.opts.keyPrefix})):_1.call(this,e,r)}),Ui=this}},Hf=class{constructor(e){if(Ui)return Ui;this._rateLimiters={},e.launchBus((r,n)=>{n.on("process:msg",i=>{let o=i.raw;if(o&&o.channel===St&&o.type==="init")typeof this._rateLimiters[o.opts.keyPrefix]>"u"&&(this._rateLimiters[o.opts.keyPrefix]=new v1(o.opts)),e.sendDataToProcessId(i.process.pm_id,{data:{},topic:St,channel:St,type:"init",keyPrefix:o.opts.keyPrefix},(s,a)=>{s&&console.log(s,a)});else{let s={send:a=>{let c=a;c.topic=St,typeof c.data>"u"&&(c.data={}),e.sendDataToProcessId(i.process.pm_id,c,(u,l)=>{u&&console.log(u,l)})}};_1.call(this,s,o)}})}),Ui=this}},Gf=class extends ZI{get timeoutMs(){return this._timeoutMs}set timeoutMs(e){this._timeoutMs=typeof e>"u"?5e3:Math.abs(parseInt(e))}constructor(e={}){super(e),process.setMaxListeners(0),this.timeoutMs=e.timeoutMs,this._initiated=!1,process.on("message",r=>{r&&r.channel===St&&r.type==="init"&&r.keyPrefix===this.keyPrefix?this._initiated=!0:JI.call(this,r)}),process.send({channel:St,type:"init",opts:eR.call(this)}),this._promises={}}consume(e,r=1,n={}){return new Promise((i,o)=>{let s=Mi.call(this,i,o);Oi.call(this,"consume",s,e,r,n)})}penalty(e,r=1,n={}){return new Promise((i,o)=>{let s=Mi.call(this,i,o);Oi.call(this,"penalty",s,e,r,n)})}reward(e,r=1,n={}){return new Promise((i,o)=>{let s=Mi.call(this,i,o);Oi.call(this,"reward",s,e,r,n)})}block(e,r,n={}){return new Promise((i,o)=>{let s=Mi.call(this,i,o);Oi.call(this,"block",s,e,r,n)})}get(e,r={}){return new Promise((n,i)=>{let o=Mi.call(this,n,i);Oi.call(this,"get",o,e,r)})}delete(e,r={}){return new Promise((n,i)=>{let o=Mi.call(this,n,i);Oi.call(this,"delete",o,e,r)})}};S1.exports={RateLimiterClusterMaster:$f,RateLimiterClusterMasterPM2:Hf,RateLimiterCluster:Gf}});var R1=B((YD,I1)=>{var tR=ki(),rR=gt(),Yf=class extends tR{constructor(e){super(e),this.client=e.storeClient}_getRateLimiterRes(e,r,n){let i=new rR;return i.consumedPoints=parseInt(n.consumedPoints),i.isFirstInDuration=n.consumedPoints===r,i.remainingPoints=Math.max(this.points-i.consumedPoints,0),i.msBeforeNext=n.msBeforeNext,i}_upsert(e,r,n,i=!1,o={}){return new Promise((s,a)=>{let c=Date.now(),u=Math.floor(n/1e3);i?this.client.set(e,r,u,l=>{l?a(l):this.client.set(`${e}_expire`,u>0?c+u*1e3:-1,u,()=>{let f={consumedPoints:r,msBeforeNext:u>0?u*1e3:-1};s(f)})}):this.client.incr(e,r,(l,f)=>{l||f===!1?this.client.add(e,r,u,(d,p)=>{if(d||!p)if(typeof o.attemptNumber>"u"||o.attemptNumber<3){let h=Object.assign({},o);h.attemptNumber=h.attemptNumber?h.attemptNumber+1:1,this._upsert(e,r,n,i,h).then(m=>s(m)).catch(m=>a(m))}else a(new Error("Can not add key"));else this.client.add(`${e}_expire`,u>0?c+u*1e3:-1,u,()=>{let h={consumedPoints:r,msBeforeNext:u>0?u*1e3:-1};s(h)})}):this.client.get(`${e}_expire`,(d,p)=>{if(d)a(d);else{let h=p===!1?0:p,m={consumedPoints:f,msBeforeNext:h>=0?Math.max(h-c,0):-1};s(m)}})})})}_get(e){return new Promise((r,n)=>{let i=Date.now();this.client.get(e,(o,s)=>{s?this.client.get(`${e}_expire`,(a,c)=>{if(a)n(a);else{let u=c===!1?0:c,l={consumedPoints:s,msBeforeNext:u>=0?Math.max(u-i,0):-1};r(l)}}):r(null)})})}_delete(e){return new Promise((r,n)=>{this.client.del(e,(i,o)=>{i?n(i):o===!1?r(o):this.client.del(`${e}_expire`,s=>{s?n(s):r(o)})})})}};I1.exports=Yf});var B1=B((QD,T1)=>{var C1=gt();T1.exports=class{constructor(e={}){this.limiter=e.limiter,this.blackList=e.blackList,this.whiteList=e.whiteList,this.isBlackListed=e.isBlackListed,this.isWhiteListed=e.isWhiteListed,this.runActionAnyway=e.runActionAnyway}get limiter(){return this._limiter}set limiter(e){if(typeof e>"u")throw new Error("limiter is not set");this._limiter=e}get runActionAnyway(){return this._runActionAnyway}set runActionAnyway(e){this._runActionAnyway=typeof e>"u"?!1:e}get blackList(){return this._blackList}set blackList(e){this._blackList=Array.isArray(e)?e:[]}get isBlackListed(){return this._isBlackListed}set isBlackListed(e){if(typeof e>"u"&&(e=()=>!1),typeof e!="function")throw new Error("isBlackListed must be function");this._isBlackListed=e}get whiteList(){return this._whiteList}set whiteList(e){this._whiteList=Array.isArray(e)?e:[]}get isWhiteListed(){return this._isWhiteListed}set isWhiteListed(e){if(typeof e>"u"&&(e=()=>!1),typeof e!="function")throw new Error("isWhiteListed must be function");this._isWhiteListed=e}isBlackListedSomewhere(e){return this.blackList.indexOf(e)>=0||this.isBlackListed(e)}isWhiteListedSomewhere(e){return this.whiteList.indexOf(e)>=0||this.isWhiteListed(e)}getBlackRes(){return new C1(0,Number.MAX_SAFE_INTEGER,0,!1)}getWhiteRes(){return new C1(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(e,r=1){let n;return this.isWhiteListedSomewhere(e)?n=this.resolveWhite():this.isBlackListedSomewhere(e)&&(n=this.rejectBlack()),typeof n>"u"?this.limiter.consume(e,r):(this.runActionAnyway&&this.limiter.consume(e,r).catch(()=>{}),n)}block(e,r){let n;return this.isWhiteListedSomewhere(e)?n=this.resolveWhite():this.isBlackListedSomewhere(e)&&(n=this.resolveBlack()),typeof n>"u"?this.limiter.block(e,r):(this.runActionAnyway&&this.limiter.block(e,r).catch(()=>{}),n)}penalty(e,r){let n;return this.isWhiteListedSomewhere(e)?n=this.resolveWhite():this.isBlackListedSomewhere(e)&&(n=this.resolveBlack()),typeof n>"u"?this.limiter.penalty(e,r):(this.runActionAnyway&&this.limiter.penalty(e,r).catch(()=>{}),n)}reward(e,r){let n;return this.isWhiteListedSomewhere(e)?n=this.resolveWhite():this.isBlackListedSomewhere(e)&&(n=this.resolveBlack()),typeof n>"u"?this.limiter.reward(e,r):(this.runActionAnyway&&this.limiter.reward(e,r).catch(()=>{}),n)}get(e){let r;return this.isWhiteListedSomewhere(e)?r=this.resolveWhite():this.isBlackListedSomewhere(e)&&(r=this.resolveBlack()),typeof r>"u"||this.runActionAnyway?this.limiter.get(e):r}delete(e){return this.limiter.delete(e)}}});var P1=B((ZD,L1)=>{var nR=Ho();L1.exports=class{constructor(...e){if(e.length<1)throw new Error("RateLimiterUnion: at least one limiter have to be passed");e.forEach(r=>{if(!(r instanceof nR))throw new Error("RateLimiterUnion: all limiters have to be instance of RateLimiterAbstract")}),this._limiters=e}consume(e,r=1){return new Promise((n,i)=>{let o=[];this._limiters.forEach(s=>{o.push(s.consume(e,r).catch(a=>({rejected:!0,rej:a})))}),Promise.all(o).then(s=>{let a={},c=!1;s.forEach(u=>{u.rejected===!0&&(c=!0)});for(let u=0;u<s.length;u++)c&&s[u].rejected===!0?a[this._limiters[u].keyPrefix]=s[u].rej:c||(a[this._limiters[u].keyPrefix]=s[u]);c?i(a):n(a)})})}}});var N1=B((JD,D1)=>{D1.exports=class extends Error{constructor(e,r){super(),Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor),this.name="CustomError",this.message=e,r&&(this.extra=r)}}});var U1=B((tN,M1)=>{var k1=N1(),O1=4294967295,Wf="limiter";M1.exports=class{constructor(e,r={maxQueueSize:O1}){this._queueLimiters={KEY_DEFAULT:new Ua(e,r)},this._limiterFlexible=e,this._maxQueueSize=r.maxQueueSize}getTokensRemaining(e=Wf){return this._queueLimiters[e]?this._queueLimiters[e].getTokensRemaining():Promise.resolve(this._limiterFlexible.points)}removeTokens(e,r=Wf){return this._queueLimiters[r]||(this._queueLimiters[r]=new Ua(this._limiterFlexible,{key:r,maxQueueSize:this._maxQueueSize})),this._queueLimiters[r].removeTokens(e)}};var Ua=class{constructor(e,r={maxQueueSize:O1,key:Wf}){this._key=r.key,this._waitTimeout=null,this._queue=[],this._limiterFlexible=e,this._maxQueueSize=r.maxQueueSize}getTokensRemaining(){return this._limiterFlexible.get(this._key).then(e=>e!==null?e.remainingPoints:this._limiterFlexible.points)}removeTokens(e){let r=this;return new Promise((n,i)=>{if(e>r._limiterFlexible.points){i(new k1(`Requested tokens ${e} exceeds maximum ${r._limiterFlexible.points} tokens per interval`));return}r._queue.length>0?r._queueRequest.call(r,n,i,e):r._limiterFlexible.consume(r._key,e).then(o=>{n(o.remainingPoints)}).catch(o=>{o instanceof Error?i(o):(r._queueRequest.call(r,n,i,e),r._waitTimeout===null&&(r._waitTimeout=setTimeout(r._processFIFO.bind(r),o.msBeforeNext)))})})}_queueRequest(e,r,n){let i=this;i._queue.length<i._maxQueueSize?i._queue.push({resolve:e,reject:r,tokens:n}):r(new k1(`Number of requests reached it's maximum ${i._maxQueueSize}`))}_processFIFO(){let e=this;if(e._waitTimeout!==null&&(clearTimeout(e._waitTimeout),e._waitTimeout=null),e._queue.length===0)return;let r=e._queue.shift();e._limiterFlexible.consume(e._key,r.tokens).then(n=>{r.resolve(n.remainingPoints),e._processFIFO.call(e)}).catch(n=>{n instanceof Error?(r.reject(n),e._processFIFO.call(e)):(e._queue.unshift(r),e._waitTimeout===null&&(e._waitTimeout=setTimeout(e._processFIFO.bind(e),n.msBeforeNext)))})}}});var K1=B((nN,F1)=>{var Qf=gt();F1.exports=class{constructor(e,r){this._rateLimiter=e,this._burstLimiter=r}_combineRes(e,r){return new Qf(e.remainingPoints,Math.min(e.msBeforeNext,r.msBeforeNext),e.consumedPoints,e.isFirstInDuration)}consume(e,r=1,n={}){return this._rateLimiter.consume(e,r,n).catch(i=>i instanceof Qf?this._burstLimiter.consume(e,r,n).then(o=>Promise.resolve(this._combineRes(i,o))).catch(o=>o instanceof Qf?Promise.reject(this._combineRes(i,o)):Promise.reject(o)):Promise.reject(i))}get(e){return Promise.all([this._rateLimiter.get(e),this._burstLimiter.get(e)]).then(([r,n])=>this._combineRes(r,n))}get points(){return this._rateLimiter.points}}});var q1=B((iN,V1)=>{var iR=i1(),oR=a1(),sR=u1(),aR=f1(),{RateLimiterClusterMaster:cR,RateLimiterClusterMasterPM2:uR,RateLimiterCluster:lR}=A1(),fR=zf(),hR=R1(),dR=B1(),pR=P1(),mR=U1(),yR=K1(),gR=gt();V1.exports={RateLimiterRedis:iR,RateLimiterMongo:oR,RateLimiterMySQL:sR,RateLimiterPostgres:aR,RateLimiterMemory:fR,RateLimiterMemcache:hR,RateLimiterClusterMaster:cR,RateLimiterClusterMasterPM2:uR,RateLimiterCluster:lR,RLWrapperBlackAndWhite:dR,RateLimiterUnion:pR,RateLimiterQueue:mR,BurstyRateLimiter:yR,RateLimiterRes:gR}});var XR={};$(XR,{createLibp2p:()=>QR});var sx=z(Hi(),1);var BT=z(Qi(),1),LT=z(G0(),1);var Ss=class extends Error{code;type;constructor(e="The operation was aborted"){super(e),this.code=Ss.code,this.type=Ss.type}},Cr=Ss;wt(Cr,"code","ABORT_ERR"),wt(Cr,"type","aborted");var v=class extends Error{code;props;constructor(e,r,n){super(e),this.code=r,this.name=n?.name??"CodeError",this.props=n??{}}};var Ys=z(ae(),1);function an(t){return globalThis.Buffer!=null?new Uint8Array(t.buffer,t.byteOffset,t.byteLength):t}var Mc={};$(Mc,{identity:()=>X2});function H2(t,e){if(t.length>=255)throw new TypeError("Alphabet too long");for(var r=new Uint8Array(256),n=0;n<r.length;n++)r[n]=255;for(var i=0;i<t.length;i++){var o=t.charAt(i),s=o.charCodeAt(0);if(r[s]!==255)throw new TypeError(o+" is ambiguous");r[s]=i}var a=t.length,c=t.charAt(0),u=Math.log(a)/Math.log(256),l=Math.log(256)/Math.log(a);function f(h){if(h instanceof Uint8Array||(ArrayBuffer.isView(h)?h=new Uint8Array(h.buffer,h.byteOffset,h.byteLength):Array.isArray(h)&&(h=Uint8Array.from(h))),!(h instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(h.length===0)return"";for(var m=0,y=0,g=0,x=h.length;g!==x&&h[g]===0;)g++,m++;for(var E=(x-g)*l+1>>>0,T=new Uint8Array(E);g!==x;){for(var I=h[g],C=0,O=E-1;(I!==0||C<y)&&O!==-1;O--,C++)I+=256*T[O]>>>0,T[O]=I%a>>>0,I=I/a>>>0;if(I!==0)throw new Error("Non-zero carry");y=C,g++}for(var U=E-y;U!==E&&T[U]===0;)U++;for(var se=c.repeat(m);U<E;++U)se+=t.charAt(T[U]);return se}function d(h){if(typeof h!="string")throw new TypeError("Expected String");if(h.length===0)return new Uint8Array;var m=0;if(h[m]!==" "){for(var y=0,g=0;h[m]===c;)y++,m++;for(var x=(h.length-m)*u+1>>>0,E=new Uint8Array(x);h[m];){var T=r[h.charCodeAt(m)];if(T===255)return;for(var I=0,C=x-1;(T!==0||I<g)&&C!==-1;C--,I++)T+=a*E[C]>>>0,E[C]=T%256>>>0,T=T/256>>>0;if(T!==0)throw new Error("Non-zero carry");g=I,m++}if(h[m]!==" "){for(var O=x-g;O!==x&&E[O]===0;)O++;for(var U=new Uint8Array(y+(x-O)),se=y;O!==x;)U[se++]=E[O++];return U}}}function p(h){var m=d(h);if(m)return m;throw new Error(`Non-${e} character`)}return{encode:f,decodeUnsafe:d,decode:p}}var G2=H2,Y2=G2,Y0=Y2;var C4=new Uint8Array(0);var W0=(t,e)=>{if(t===e)return!0;if(t.byteLength!==e.byteLength)return!1;for(let r=0;r<t.byteLength;r++)if(t[r]!==e[r])return!1;return!0},ur=t=>{if(t instanceof Uint8Array&&t.constructor.name==="Uint8Array")return t;if(t instanceof ArrayBuffer)return new Uint8Array(t);if(ArrayBuffer.isView(t))return new Uint8Array(t.buffer,t.byteOffset,t.byteLength);throw new Error("Unknown type, must be binary type")};var Q0=t=>new TextEncoder().encode(t),X0=t=>new TextDecoder().decode(t);var Dc=class{constructor(e,r,n){this.name=e,this.prefix=r,this.baseEncode=n}encode(e){if(e instanceof Uint8Array)return`${this.prefix}${this.baseEncode(e)}`;throw Error("Unknown type, must be binary type")}},Nc=class{constructor(e,r,n){if(this.name=e,this.prefix=r,r.codePointAt(0)===void 0)throw new Error("Invalid prefix character");this.prefixCodePoint=r.codePointAt(0),this.baseDecode=n}decode(e){if(typeof e=="string"){if(e.codePointAt(0)!==this.prefixCodePoint)throw Error(`Unable to decode multibase string ${JSON.stringify(e)}, ${this.name} decoder only supports inputs prefixed with ${this.prefix}`);return this.baseDecode(e.slice(this.prefix.length))}else throw Error("Can only multibase decode strings")}or(e){return j0(this,e)}},kc=class{constructor(e){this.decoders=e}or(e){return j0(this,e)}decode(e){let r=e[0],n=this.decoders[r];if(n)return n.decode(e);throw RangeError(`Unable to decode multibase string ${JSON.stringify(e)}, only inputs prefixed with ${Object.keys(this.decoders)} are supported`)}},j0=(t,e)=>new kc({...t.decoders||{[t.prefix]:t},...e.decoders||{[e.prefix]:e}}),Oc=class{constructor(e,r,n,i){this.name=e,this.prefix=r,this.baseEncode=n,this.baseDecode=i,this.encoder=new Dc(e,r,n),this.decoder=new Nc(e,r,i)}encode(e){return this.encoder.encode(e)}decode(e){return this.decoder.decode(e)}},zn=({name:t,prefix:e,encode:r,decode:n})=>new Oc(t,e,r,n),Tr=({prefix:t,name:e,alphabet:r})=>{let{encode:n,decode:i}=Y0(r,e);return zn({prefix:t,name:e,encode:n,decode:o=>ur(i(o))})},W2=(t,e,r,n)=>{let i={};for(let l=0;l<e.length;++l)i[e[l]]=l;let o=t.length;for(;t[o-1]==="=";)--o;let s=new Uint8Array(o*r/8|0),a=0,c=0,u=0;for(let l=0;l<o;++l){let f=i[t[l]];if(f===void 0)throw new SyntaxError(`Non-${n} character`);c=c<<r|f,a+=r,a>=8&&(a-=8,s[u++]=255&c>>a)}if(a>=r||255&c<<8-a)throw new SyntaxError("Unexpected end of data");return s},Q2=(t,e,r)=>{let n=e[e.length-1]==="=",i=(1<<r)-1,o="",s=0,a=0;for(let c=0;c<t.length;++c)for(a=a<<8|t[c],s+=8;s>r;)s-=r,o+=e[i&a>>s];if(s&&(o+=e[i&a<<r-s]),n)for(;o.length*r&7;)o+="=";return o},Ae=({name:t,prefix:e,bitsPerChar:r,alphabet:n})=>zn({prefix:e,name:t,encode(i){return Q2(i,n,r)},decode(i){return W2(i,n,r,t)}});var X2=zn({prefix:"\0",name:"identity",encode:t=>X0(t),decode:t=>Q0(t)});var Uc={};$(Uc,{base2:()=>Z2});var Z2=Ae({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var Fc={};$(Fc,{base8:()=>j2});var j2=Ae({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var Kc={};$(Kc,{base10:()=>J2});var J2=Tr({prefix:"9",name:"base10",alphabet:"0123456789"});var Vc={};$(Vc,{base16:()=>eb,base16upper:()=>tb});var eb=Ae({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),tb=Ae({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var qc={};$(qc,{base32:()=>$n,base32hex:()=>ob,base32hexpad:()=>ab,base32hexpadupper:()=>cb,base32hexupper:()=>sb,base32pad:()=>nb,base32padupper:()=>ib,base32upper:()=>rb,base32z:()=>ub});var $n=Ae({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),rb=Ae({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),nb=Ae({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),ib=Ae({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),ob=Ae({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),sb=Ae({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),ab=Ae({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),cb=Ae({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),ub=Ae({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var zc={};$(zc,{base36:()=>lb,base36upper:()=>fb});var lb=Tr({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),fb=Tr({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var $c={};$($c,{base58btc:()=>Yt,base58flickr:()=>hb});var Yt=Tr({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),hb=Tr({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var Hc={};$(Hc,{base64:()=>db,base64pad:()=>pb,base64url:()=>mb,base64urlpad:()=>yb});var db=Ae({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),pb=Ae({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),mb=Ae({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),yb=Ae({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});var Gc={};$(Gc,{base256emoji:()=>vb});var J0=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}"),gb=J0.reduce((t,e,r)=>(t[r]=e,t),[]),xb=J0.reduce((t,e,r)=>(t[e.codePointAt(0)]=r,t),[]);function wb(t){return t.reduce((e,r)=>(e+=gb[r],e),"")}function bb(t){let e=[];for(let r of t){let n=xb[r.codePointAt(0)];if(n===void 0)throw new Error(`Non-base256emoji character: ${r}`);e.push(n)}return new Uint8Array(e)}var vb=zn({prefix:"\u{1F680}",name:"base256emoji",encode:wb,decode:bb});var Xc={};$(Xc,{sha256:()=>Kb,sha512:()=>Vb});var Eb=rd,ed=128,_b=127,Sb=~_b,Ab=Math.pow(2,31);function rd(t,e,r){e=e||[],r=r||0;for(var n=r;t>=Ab;)e[r++]=t&255|ed,t/=128;for(;t&Sb;)e[r++]=t&255|ed,t>>>=7;return e[r]=t|0,rd.bytes=r-n+1,e}var Ib=Yc,Rb=128,td=127;function Yc(t,n){var r=0,n=n||0,i=0,o=n,s,a=t.length;do{if(o>=a)throw Yc.bytes=0,new RangeError("Could not decode varint");s=t[o++],r+=i<28?(s&td)<<i:(s&td)*Math.pow(2,i),i+=7}while(s>=Rb);return Yc.bytes=o-n,r}var Cb=Math.pow(2,7),Tb=Math.pow(2,14),Bb=Math.pow(2,21),Lb=Math.pow(2,28),Pb=Math.pow(2,35),Db=Math.pow(2,42),Nb=Math.pow(2,49),kb=Math.pow(2,56),Ob=Math.pow(2,63),Mb=function(t){return t<Cb?1:t<Tb?2:t<Bb?3:t<Lb?4:t<Pb?5:t<Db?6:t<Nb?7:t<kb?8:t<Ob?9:10},Ub={encode:Eb,decode:Ib,encodingLength:Mb},Fb=Ub,ji=Fb;var Ji=(t,e=0)=>[ji.decode(t,e),ji.decode.bytes],Hn=(t,e,r=0)=>(ji.encode(t,e,r),e),Gn=t=>ji.encodingLength(t);var cn=(t,e)=>{let r=e.byteLength,n=Gn(t),i=n+Gn(r),o=new Uint8Array(i+r);return Hn(t,o,0),Hn(r,o,n),o.set(e,i),new Yn(t,r,e,o)},nd=t=>{let e=ur(t),[r,n]=Ji(e),[i,o]=Ji(e.subarray(n)),s=e.subarray(n+o);if(s.byteLength!==i)throw new Error("Incorrect length");return new Yn(r,i,s,e)},id=(t,e)=>{if(t===e)return!0;{let r=e;return t.code===r.code&&t.size===r.size&&r.bytes instanceof Uint8Array&&W0(t.bytes,r.bytes)}},Yn=class{constructor(e,r,n,i){this.code=e,this.size=r,this.digest=n,this.bytes=i}};var Qc=({name:t,code:e,encode:r})=>new Wc(t,e,r),Wc=class{constructor(e,r,n){this.name=e,this.code=r,this.encode=n}digest(e){if(e instanceof Uint8Array){let r=this.encode(e);return r instanceof Uint8Array?cn(this.code,r):r.then(n=>cn(this.code,n))}else throw Error("Unknown type, must be binary type")}};var sd=t=>async e=>new Uint8Array(await crypto.subtle.digest(t,e)),Kb=Qc({name:"sha2-256",code:18,encode:sd("SHA-256")}),Vb=Qc({name:"sha2-512",code:19,encode:sd("SHA-512")});var Zc={};$(Zc,{identity:()=>$b});var ad=0,qb="identity",cd=ur,zb=t=>cn(ad,cd(t)),$b={code:ad,name:qb,encode:cd,digest:zb};var Q4=new TextEncoder,X4=new TextDecoder;var ud=(t,e)=>{let{bytes:r,version:n}=t;switch(n){case 0:return Wb(r,jc(t),e||Yt.encoder);default:return Qb(r,jc(t),e||$n.encoder)}};var ld=new WeakMap,jc=t=>{let e=ld.get(t);if(e==null){let r=new Map;return ld.set(t,r),r}return e},Oe=class{constructor(e,r,n,i){this.code=r,this.version=e,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:e,multihash:r}=this;if(e!==to)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(r.code!==Xb)throw new Error("Cannot convert non sha2-256 multihash CID to CIDv0");return Oe.createV0(r)}default:throw Error(`Can not convert CID version ${this.version} to version 0. This is a bug please report`)}}toV1(){switch(this.version){case 0:{let{code:e,digest:r}=this.multihash,n=cn(e,r);return Oe.createV1(this.code,n)}case 1:return this;default:throw Error(`Can not convert CID version ${this.version} to version 1. This is a bug please report`)}}equals(e){return Oe.equals(this,e)}static equals(e,r){let n=r;return n&&e.code===n.code&&e.version===n.version&&id(e.multihash,n.multihash)}toString(e){return ud(this,e)}toJSON(){return{"/":ud(this)}}link(){return this}get[Symbol.toStringTag](){return"CID"}[Symbol.for("nodejs.util.inspect.custom")](){return`CID(${this.toString()})`}static asCID(e){if(e==null)return null;let r=e;if(r instanceof Oe)return r;if(r["/"]!=null&&r["/"]===r.bytes||r.asCID===r){let{version:n,code:i,multihash:o,bytes:s}=r;return new Oe(n,i,o,s||fd(n,i,o.bytes))}else if(r[Zb]===!0){let{version:n,multihash:i,code:o}=r,s=nd(i);return Oe.create(n,o,s)}else return null}static create(e,r,n){if(typeof r!="number")throw new Error("String codecs are no longer supported");if(!(n.bytes instanceof Uint8Array))throw new Error("Invalid digest");switch(e){case 0:{if(r!==to)throw new Error(`Version 0 CID must use dag-pb (code: ${to}) block encoding`);return new Oe(e,r,n,n.bytes)}case 1:{let i=fd(e,r,n.bytes);return new Oe(e,r,n,i)}default:throw new Error("Invalid version")}}static createV0(e){return Oe.create(0,to,e)}static createV1(e,r){return Oe.create(1,e,r)}static decode(e){let[r,n]=Oe.decodeFirst(e);if(n.length)throw new Error("Incorrect length");return r}static decodeFirst(e){let r=Oe.inspectBytes(e),n=r.size-r.multihashSize,i=ur(e.subarray(n,n+r.multihashSize));if(i.byteLength!==r.multihashSize)throw new Error("Incorrect length");let o=i.subarray(r.multihashSize-r.digestSize),s=new Yn(r.multihashCode,r.digestSize,o,i);return[r.version===0?Oe.createV0(s):Oe.createV1(r.codec,s),e.subarray(r.size)]}static inspectBytes(e){let r=0,n=()=>{let[f,d]=Ji(e.subarray(r));return r+=d,f},i=n(),o=to;if(i===18?(i=0,r=0):o=n(),i!==0&&i!==1)throw new RangeError(`Invalid CID version ${i}`);let s=r,a=n(),c=n(),u=r+c,l=u-s;return{version:i,codec:o,multihashCode:a,digestSize:c,multihashSize:l,size:u}}static parse(e,r){let[n,i]=Yb(e,r),o=Oe.decode(i);if(o.version===0&&e[0]!=="Q")throw Error("Version 0 CID string must not include multibase prefix");return jc(o).set(n,e),o}},Yb=(t,e)=>{switch(t[0]){case"Q":{let r=e||Yt;return[Yt.prefix,r.decode(`${Yt.prefix}${t}`)]}case Yt.prefix:{let r=e||Yt;return[Yt.prefix,r.decode(t)]}case $n.prefix:{let r=e||$n;return[$n.prefix,r.decode(t)]}default:{if(e==null)throw Error("To parse non base32 or base58btc encoded CID multibase decoder must be provided");return[t[0],e.decode(t)]}}},Wb=(t,e,r)=>{let{prefix:n}=r;if(n!==Yt.prefix)throw Error(`Cannot string encode V0 in ${r.name} encoding`);let i=e.get(n);if(i==null){let o=r.encode(t).slice(1);return e.set(n,o),o}else return i},Qb=(t,e,r)=>{let{prefix:n}=r,i=e.get(n);if(i==null){let o=r.encode(t);return e.set(n,o),o}else return i},to=112,Xb=18,fd=(t,e,r)=>{let n=Gn(t),i=n+Gn(e),o=new Uint8Array(i+r.byteLength);return Hn(t,o,0),Hn(e,o,n),o.set(r,i),o},Zb=Symbol.for("@ipld/js-cid/CID");var Jc={...Mc,...Uc,...Fc,...Kc,...Vc,...qc,...zc,...$c,...Hc,...Gc},sC={...Xc,...Zc};function lr(t=0){return globalThis.Buffer?.alloc!=null?an(globalThis.Buffer.alloc(t)):new Uint8Array(t)}function Ct(t=0){return globalThis.Buffer?.allocUnsafe!=null?an(globalThis.Buffer.allocUnsafe(t)):new Uint8Array(t)}function dd(t,e,r,n){return{name:t,prefix:e,encoder:{name:t,prefix:e,encode:r},decoder:{decode:n}}}var hd=dd("utf8","u",t=>"u"+new TextDecoder("utf8").decode(t),t=>new TextEncoder().encode(t.substring(1))),eu=dd("ascii","a",t=>{let e="a";for(let r=0;r<t.length;r++)e+=String.fromCharCode(t[r]);return e},t=>{t=t.substring(1);let e=Ct(t.length);for(let r=0;r<t.length;r++)e[r]=t.charCodeAt(r);return e}),jb={utf8:hd,"utf-8":hd,hex:Jc.base16,latin1:eu,ascii:eu,binary:eu,...Jc},Is=jb;function V(t,e="utf8"){let r=Is[e];if(r==null)throw new Error(`Unsupported encoding "${e}"`);return(e==="utf8"||e==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?an(globalThis.Buffer.from(t,"utf-8")):r.decoder.decode(`${r.prefix}${t}`)}var Fu={};$(Fu,{Ed25519PrivateKey:()=>pn,Ed25519PublicKey:()=>fo,generateKeyPair:()=>sE,generateKeyPairFromSeed:()=>Dp,unmarshalEd25519PrivateKey:()=>iE,unmarshalEd25519PublicKey:()=>oE});var ou={};$(ou,{base58btc:()=>$e,base58flickr:()=>iv});function Jb(t,e){if(t.length>=255)throw new TypeError("Alphabet too long");for(var r=new Uint8Array(256),n=0;n<r.length;n++)r[n]=255;for(var i=0;i<t.length;i++){var o=t.charAt(i),s=o.charCodeAt(0);if(r[s]!==255)throw new TypeError(o+" is ambiguous");r[s]=i}var a=t.length,c=t.charAt(0),u=Math.log(a)/Math.log(256),l=Math.log(256)/Math.log(a);function f(h){if(h instanceof Uint8Array||(ArrayBuffer.isView(h)?h=new Uint8Array(h.buffer,h.byteOffset,h.byteLength):Array.isArray(h)&&(h=Uint8Array.from(h))),!(h instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(h.length===0)return"";for(var m=0,y=0,g=0,x=h.length;g!==x&&h[g]===0;)g++,m++;for(var E=(x-g)*l+1>>>0,T=new Uint8Array(E);g!==x;){for(var I=h[g],C=0,O=E-1;(I!==0||C<y)&&O!==-1;O--,C++)I+=256*T[O]>>>0,T[O]=I%a>>>0,I=I/a>>>0;if(I!==0)throw new Error("Non-zero carry");y=C,g++}for(var U=E-y;U!==E&&T[U]===0;)U++;for(var se=c.repeat(m);U<E;++U)se+=t.charAt(T[U]);return se}function d(h){if(typeof h!="string")throw new TypeError("Expected String");if(h.length===0)return new Uint8Array;var m=0;if(h[m]!==" "){for(var y=0,g=0;h[m]===c;)y++,m++;for(var x=(h.length-m)*u+1>>>0,E=new Uint8Array(x);h[m];){var T=r[h.charCodeAt(m)];if(T===255)return;for(var I=0,C=x-1;(T!==0||I<g)&&C!==-1;C--,I++)T+=a*E[C]>>>0,E[C]=T%256>>>0,T=T/256>>>0;if(T!==0)throw new Error("Non-zero carry");g=I,m++}if(h[m]!==" "){for(var O=x-g;O!==x&&E[O]===0;)O++;for(var U=new Uint8Array(y+(x-O)),se=y;O!==x;)U[se++]=E[O++];return U}}}function p(h){var m=d(h);if(m)return m;throw new Error(`Non-${e} character`)}return{encode:f,decodeUnsafe:d,decode:p}}var ev=Jb,tv=ev,pd=tv;var gC=new Uint8Array(0);var md=(t,e)=>{if(t===e)return!0;if(t.byteLength!==e.byteLength)return!1;for(let r=0;r<t.byteLength;r++)if(t[r]!==e[r])return!1;return!0},fr=t=>{if(t instanceof Uint8Array&&t.constructor.name==="Uint8Array")return t;if(t instanceof ArrayBuffer)return new Uint8Array(t);if(ArrayBuffer.isView(t))return new Uint8Array(t.buffer,t.byteOffset,t.byteLength);throw new Error("Unknown type, must be binary type")};var yd=t=>new TextEncoder().encode(t),gd=t=>new TextDecoder().decode(t);var tu=class{constructor(e,r,n){this.name=e,this.prefix=r,this.baseEncode=n}encode(e){if(e instanceof Uint8Array)return`${this.prefix}${this.baseEncode(e)}`;throw Error("Unknown type, must be binary type")}},ru=class{constructor(e,r,n){if(this.name=e,this.prefix=r,r.codePointAt(0)===void 0)throw new Error("Invalid prefix character");this.prefixCodePoint=r.codePointAt(0),this.baseDecode=n}decode(e){if(typeof e=="string"){if(e.codePointAt(0)!==this.prefixCodePoint)throw Error(`Unable to decode multibase string ${JSON.stringify(e)}, ${this.name} decoder only supports inputs prefixed with ${this.prefix}`);return this.baseDecode(e.slice(this.prefix.length))}else throw Error("Can only multibase decode strings")}or(e){return wd(this,e)}},nu=class{constructor(e){this.decoders=e}or(e){return wd(this,e)}decode(e){let r=e[0],n=this.decoders[r];if(n)return n.decode(e);throw RangeError(`Unable to decode multibase string ${JSON.stringify(e)}, only inputs prefixed with ${Object.keys(this.decoders)} are supported`)}},wd=(t,e)=>new nu({...t.decoders||{[t.prefix]:t},...e.decoders||{[e.prefix]:e}}),iu=class{constructor(e,r,n,i){this.name=e,this.prefix=r,this.baseEncode=n,this.baseDecode=i,this.encoder=new tu(e,r,n),this.decoder=new ru(e,r,i)}encode(e){return this.encoder.encode(e)}decode(e){return this.decoder.decode(e)}},Wn=({name:t,prefix:e,encode:r,decode:n})=>new iu(t,e,r,n),Br=({prefix:t,name:e,alphabet:r})=>{let{encode:n,decode:i}=pd(r,e);return Wn({prefix:t,name:e,encode:n,decode:o=>fr(i(o))})},rv=(t,e,r,n)=>{let i={};for(let l=0;l<e.length;++l)i[e[l]]=l;let o=t.length;for(;t[o-1]==="=";)--o;let s=new Uint8Array(o*r/8|0),a=0,c=0,u=0;for(let l=0;l<o;++l){let f=i[t[l]];if(f===void 0)throw new SyntaxError(`Non-${n} character`);c=c<<r|f,a+=r,a>=8&&(a-=8,s[u++]=255&c>>a)}if(a>=r||255&c<<8-a)throw new SyntaxError("Unexpected end of data");return s},nv=(t,e,r)=>{let n=e[e.length-1]==="=",i=(1<<r)-1,o="",s=0,a=0;for(let c=0;c<t.length;++c)for(a=a<<8|t[c],s+=8;s>r;)s-=r,o+=e[i&a>>s];if(s&&(o+=e[i&a<<r-s]),n)for(;o.length*r&7;)o+="=";return o},Ie=({name:t,prefix:e,bitsPerChar:r,alphabet:n})=>Wn({prefix:e,name:t,encode(i){return nv(i,n,r)},decode(i){return rv(i,n,r,t)}});var $e=Br({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),iv=Br({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var au={};$(au,{identity:()=>Lr});var ov=Ed,bd=128,sv=127,av=~sv,cv=Math.pow(2,31);function Ed(t,e,r){e=e||[],r=r||0;for(var n=r;t>=cv;)e[r++]=t&255|bd,t/=128;for(;t&av;)e[r++]=t&255|bd,t>>>=7;return e[r]=t|0,Ed.bytes=r-n+1,e}var uv=su,lv=128,vd=127;function su(t,n){var r=0,n=n||0,i=0,o=n,s,a=t.length;do{if(o>=a)throw su.bytes=0,new RangeError("Could not decode varint");s=t[o++],r+=i<28?(s&vd)<<i:(s&vd)*Math.pow(2,i),i+=7}while(s>=lv);return su.bytes=o-n,r}var fv=Math.pow(2,7),hv=Math.pow(2,14),dv=Math.pow(2,21),pv=Math.pow(2,28),mv=Math.pow(2,35),yv=Math.pow(2,42),gv=Math.pow(2,49),xv=Math.pow(2,56),wv=Math.pow(2,63),bv=function(t){return t<fv?1:t<hv?2:t<dv?3:t<pv?4:t<mv?5:t<yv?6:t<gv?7:t<xv?8:t<wv?9:10},vv={encode:ov,decode:uv,encodingLength:bv},Ev=vv,ro=Ev;var no=(t,e=0)=>[ro.decode(t,e),ro.decode.bytes],Qn=(t,e,r=0)=>(ro.encode(t,e,r),e),Xn=t=>ro.encodingLength(t);var Wt=(t,e)=>{let r=e.byteLength,n=Xn(t),i=n+Xn(r),o=new Uint8Array(i+r);return Qn(t,o,0),Qn(r,o,n),o.set(e,i),new Zn(t,r,e,o)},io=t=>{let e=fr(t),[r,n]=no(e),[i,o]=no(e.subarray(n)),s=e.subarray(n+o);if(s.byteLength!==i)throw new Error("Incorrect length");return new Zn(r,i,s,e)},_d=(t,e)=>{if(t===e)return!0;{let r=e;return t.code===r.code&&t.size===r.size&&r.bytes instanceof Uint8Array&&md(t.bytes,r.bytes)}},Zn=class{constructor(e,r,n,i){this.code=e,this.size=r,this.digest=n,this.bytes=i}};var Sd=0,_v="identity",Ad=fr,Sv=t=>Wt(Sd,Ad(t)),Lr={code:Sd,name:_v,encode:Ad,digest:Sv};var lu={};$(lu,{sha256:()=>He,sha512:()=>Av});var uu=({name:t,code:e,encode:r})=>new cu(t,e,r),cu=class{constructor(e,r,n){this.name=e,this.code=r,this.encode=n}digest(e){if(e instanceof Uint8Array){let r=this.encode(e);return r instanceof Uint8Array?Wt(this.code,r):r.then(n=>Wt(this.code,n))}else throw Error("Unknown type, must be binary type")}};var Rd=t=>async e=>new Uint8Array(await crypto.subtle.digest(t,e)),He=uu({name:"sha2-256",code:18,encode:Rd("SHA-256")}),Av=uu({name:"sha2-512",code:19,encode:Rd("SHA-512")});function Ee(t,e){if(t===e)return!0;if(t.byteLength!==e.byteLength)return!1;for(let r=0;r<t.byteLength;r++)if(t[r]!==e[r])return!1;return!0}var Iv=z(rn(),1);var qe=BigInt(0),Z=BigInt(1),Nr=BigInt(2),Rv=BigInt(8),Cd=BigInt("7237005577332262213973186563042994240857116359379907606001950938285454250989"),pe=Object.freeze({a:BigInt(-1),d:BigInt("37095705934669439343138083508754565189542113879843219016388785533085940283555"),P:BigInt("57896044618658097711785492504343953926634992332820282019728792003956564819949"),l:Cd,n:Cd,h:BigInt(8),Gx:BigInt("15112221349535400772501151409588531511454012693041857206046113283949847762202"),Gy:BigInt("46316835694926478169428394003475163141307993866256225615783033603165251855960")});var Dd=BigInt("0x10000000000000000000000000000000000000000000000000000000000000000"),oo=BigInt("19681161376707505956807079304988542015446066515923890162744021073123829784752"),CC=BigInt("6853475219497561581579357271197624642482790079785650197046958215289687604742"),Cv=BigInt("25063068953384623474111414158702152701244531502492656460079210482610430750235"),Tv=BigInt("54469307008909316920995813868745141605393597292927456921205312896311721017578"),Bv=BigInt("1159843021668779879193775521855586647937357759715417654439879720876111806838"),Lv=BigInt("40440834346308536858101042469323190826248399146238708352240133220865137265952"),Q=class{constructor(e,r,n,i){this.x=e,this.y=r,this.z=n,this.t=i}static fromAffine(e){if(!(e instanceof xe))throw new TypeError("ExtendedPoint#fromAffine: expected Point");return e.equals(xe.ZERO)?Q.ZERO:new Q(e.x,e.y,Z,A(e.x*e.y))}static toAffineBatch(e){let r=Nv(e.map(n=>n.z));return e.map((n,i)=>n.toAffine(r[i]))}static normalizeZ(e){return this.toAffineBatch(e).map(this.fromAffine)}equals(e){Bd(e);let{x:r,y:n,z:i}=this,{x:o,y:s,z:a}=e,c=A(r*a),u=A(o*i),l=A(n*a),f=A(s*i);return c===u&&l===f}negate(){return new Q(A(-this.x),this.y,this.z,A(-this.t))}double(){let{x:e,y:r,z:n}=this,{a:i}=pe,o=A(e*e),s=A(r*r),a=A(Nr*A(n*n)),c=A(i*o),u=e+r,l=A(A(u*u)-o-s),f=c+s,d=f-a,p=c-s,h=A(l*d),m=A(f*p),y=A(l*p),g=A(d*f);return new Q(h,m,g,y)}add(e){Bd(e);let{x:r,y:n,z:i,t:o}=this,{x:s,y:a,z:c,t:u}=e,l=A((n-r)*(a+s)),f=A((n+r)*(a-s)),d=A(f-l);if(d===qe)return this.double();let p=A(i*Nr*u),h=A(o*Nr*c),m=h+p,y=f+l,g=h-p,x=A(m*d),E=A(y*g),T=A(m*g),I=A(d*y);return new Q(x,E,I,T)}subtract(e){return this.add(e.negate())}precomputeWindow(e){let r=1+256/e,n=[],i=this,o=i;for(let s=0;s<r;s++){o=i,n.push(o);for(let a=1;a<2**(e-1);a++)o=o.add(i),n.push(o);i=o.double()}return n}wNAF(e,r){!r&&this.equals(Q.BASE)&&(r=xe.BASE);let n=r&&r._WINDOW_SIZE||1;if(256%n)throw new Error("Point#wNAF: Invalid precomputation window, must be power of 2");let i=r&&mu.get(r);i||(i=this.precomputeWindow(n),r&&n!==1&&(i=Q.normalizeZ(i),mu.set(r,i)));let o=Q.ZERO,s=Q.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 p=d*c,h=Number(e&u);e>>=f,h>c&&(h-=l,e+=Z);let m=p,y=p+Math.abs(h)-1,g=d%2!==0,x=h<0;h===0?s=s.add(Td(g,i[m])):o=o.add(Td(x,i[y]))}return Q.normalizeZ([o,s])[0]}multiply(e,r){return this.wNAF(Ts(e,pe.l),r)}multiplyUnsafe(e){let r=Ts(e,pe.l,!1),n=Q.BASE,i=Q.ZERO;if(r===qe)return i;if(this.equals(i)||r===Z)return this;if(this.equals(n))return this.wNAF(r);let o=i,s=this;for(;r>qe;)r&Z&&(o=o.add(s)),s=s.double(),r>>=Z;return o}isSmallOrder(){return this.multiplyUnsafe(pe.h).equals(Q.ZERO)}isTorsionFree(){let e=this.multiplyUnsafe(pe.l/Nr).double();return pe.l%Nr&&(e=e.add(this)),e.equals(Q.ZERO)}toAffine(e){let{x:r,y:n,z:i}=this,o=this.equals(Q.ZERO);e==null&&(e=o?Rv:Bs(i));let s=A(r*e),a=A(n*e),c=A(i*e);if(o)return xe.ZERO;if(c!==Z)throw new Error("invZ was invalid");return new xe(s,a)}fromRistrettoBytes(){hu()}toRistrettoBytes(){hu()}fromRistrettoHash(){hu()}};Q.BASE=new Q(pe.Gx,pe.Gy,Z,A(pe.Gx*pe.Gy));Q.ZERO=new Q(qe,Z,Z,qe);function Td(t,e){let r=e.negate();return t?r:e}function Bd(t){if(!(t instanceof Q))throw new TypeError("ExtendedPoint expected")}function fu(t){if(!(t instanceof ot))throw new TypeError("RistrettoPoint expected")}function hu(){throw new Error("Legacy method: switch to RistrettoPoint")}var ot=class{constructor(e){this.ep=e}static calcElligatorRistrettoMap(e){let{d:r}=pe,n=A(oo*e*e),i=A((n+Z)*Bv),o=BigInt(-1),s=A((o-r*n)*A(n+r)),{isValid:a,value:c}=gu(i,s),u=A(c*e);Dr(u)||(u=A(-u)),a||(c=u),a||(o=n);let l=A(o*(n-Z)*Lv-s),f=c*c,d=A((c+c)*s),p=A(l*Cv),h=A(Z-f),m=A(Z+f);return new Q(A(d*m),A(h*p),A(p*m),A(d*h))}static hashToCurve(e){e=kr(e,64);let r=du(e.slice(0,32)),n=this.calcElligatorRistrettoMap(r),i=du(e.slice(32,64)),o=this.calcElligatorRistrettoMap(i);return new ot(n.add(o))}static fromHex(e){e=kr(e,32);let{a:r,d:n}=pe,i="RistrettoPoint.fromHex: the hex is not valid encoding of RistrettoPoint",o=du(e);if(!Ov(so(o),e)||Dr(o))throw new Error(i);let s=A(o*o),a=A(Z+r*s),c=A(Z-r*s),u=A(a*a),l=A(c*c),f=A(r*n*u-l),{isValid:d,value:p}=Pd(A(f*l)),h=A(p*c),m=A(p*h*f),y=A((o+o)*h);Dr(y)&&(y=A(-y));let g=A(a*m),x=A(y*g);if(!d||Dr(x)||g===qe)throw new Error(i);return new ot(new Q(y,g,Z,x))}toRawBytes(){let{x:e,y:r,z:n,t:i}=this.ep,o=A(A(n+r)*A(n-r)),s=A(e*r),a=A(s*s),{value:c}=Pd(A(o*a)),u=A(c*o),l=A(c*s),f=A(u*l*i),d;if(Dr(i*f)){let h=A(r*oo),m=A(e*oo);e=h,r=m,d=A(u*Tv)}else d=l;Dr(e*f)&&(r=A(-r));let p=A((n-r)*d);return Dr(p)&&(p=A(-p)),so(p)}toHex(){return ao(this.toRawBytes())}toString(){return this.toHex()}equals(e){fu(e);let r=this.ep,n=e.ep,i=A(r.x*n.y)===A(r.y*n.x),o=A(r.y*n.y)===A(r.x*n.x);return i||o}add(e){return fu(e),new ot(this.ep.add(e.ep))}subtract(e){return fu(e),new ot(this.ep.subtract(e.ep))}multiply(e){return new ot(this.ep.multiply(e))}multiplyUnsafe(e){return new ot(this.ep.multiplyUnsafe(e))}};ot.BASE=new ot(Q.BASE);ot.ZERO=new ot(Q.ZERO);var mu=new WeakMap,xe=class{constructor(e,r){this.x=e,this.y=r}_setWindowSize(e){this._WINDOW_SIZE=e,mu.delete(this)}static fromHex(e,r=!0){let{d:n,P:i}=pe;e=kr(e,32);let o=e.slice();o[31]=e[31]&-129;let s=co(o);if(r&&s>=i)throw new Error("Expected 0 < hex < P");if(!r&&s>=Dd)throw new Error("Expected 0 < hex < 2**256");let a=A(s*s),c=A(a-Z),u=A(n*a+Z),{isValid:l,value:f}=gu(c,u);if(!l)throw new Error("Point.fromHex: invalid y coordinate");let d=(f&Z)===Z;return(e[31]&128)!==0!==d&&(f=A(-f)),new xe(f,s)}static async fromPrivateKey(e){return(await Ls(e)).point}toRawBytes(){let e=so(this.y);return e[31]|=this.x&Z?128:0,e}toHex(){return ao(this.toRawBytes())}toX25519(){let{y:e}=this,r=A((Z+e)*Bs(Z-e));return so(r)}isTorsionFree(){return Q.fromAffine(this).isTorsionFree()}equals(e){return this.x===e.x&&this.y===e.y}negate(){return new xe(A(-this.x),this.y)}add(e){return Q.fromAffine(this).add(Q.fromAffine(e)).toAffine()}subtract(e){return this.add(e.negate())}multiply(e){return Q.fromAffine(this).multiply(e,this).toAffine()}};xe.BASE=new xe(pe.Gx,pe.Gy);xe.ZERO=new xe(qe,Z);var un=class{constructor(e,r){this.r=e,this.s=r,this.assertValidity()}static fromHex(e){let r=kr(e,64),n=xe.fromHex(r.slice(0,32),!1),i=co(r.slice(32,64));return new un(n,i)}assertValidity(){let{r:e,s:r}=this;if(!(e instanceof xe))throw new Error("Expected Point instance");return Ts(r,pe.l,!1),this}toRawBytes(){let e=new Uint8Array(64);return e.set(this.r.toRawBytes()),e.set(so(this.s),32),e}toHex(){return ao(this.toRawBytes())}};function Ld(...t){if(!t.every(n=>n instanceof Uint8Array))throw new Error("Expected Uint8Array list");if(t.length===1)return t[0];let e=t.reduce((n,i)=>n+i.length,0),r=new Uint8Array(e);for(let n=0,i=0;n<t.length;n++){let o=t[n];r.set(o,i),i+=o.length}return r}var Pv=Array.from({length:256},(t,e)=>e.toString(16).padStart(2,"0"));function ao(t){if(!(t instanceof Uint8Array))throw new Error("Uint8Array expected");let e="";for(let r=0;r<t.length;r++)e+=Pv[t[r]];return e}function yu(t){if(typeof t!="string")throw new TypeError("hexToBytes: expected string, got "+typeof t);if(t.length%2)throw new Error("hexToBytes: received invalid unpadded hex");let e=new Uint8Array(t.length/2);for(let r=0;r<e.length;r++){let n=r*2,i=t.slice(n,n+2),o=Number.parseInt(i,16);if(Number.isNaN(o)||o<0)throw new Error("Invalid byte sequence");e[r]=o}return e}function Nd(t){let r=t.toString(16).padStart(64,"0");return yu(r)}function so(t){return Nd(t).reverse()}function Dr(t){return(A(t)&Z)===Z}function co(t){if(!(t instanceof Uint8Array))throw new Error("Expected Uint8Array");return BigInt("0x"+ao(Uint8Array.from(t).reverse()))}var Dv=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");function du(t){return A(co(t)&Dv)}function A(t,e=pe.P){let r=t%e;return r>=qe?r:e+r}function Bs(t,e=pe.P){if(t===qe||e<=qe)throw new Error(`invert: expected positive integers, got n=${t} mod=${e}`);let r=A(t,e),n=e,i=qe,o=Z,s=Z,a=qe;for(;r!==qe;){let u=n/r,l=n%r,f=i-s*u,d=o-a*u;n=r,r=l,i=s,o=a,s=f,a=d}if(n!==Z)throw new Error("invert: does not exist");return A(i,e)}function Nv(t,e=pe.P){let r=new Array(t.length),n=t.reduce((o,s,a)=>s===qe?o:(r[a]=o,A(o*s,e)),Z),i=Bs(n,e);return t.reduceRight((o,s,a)=>s===qe?o:(r[a]=A(o*r[a],e),A(o*s,e)),i),r}function Qt(t,e){let{P:r}=pe,n=t;for(;e-- >qe;)n*=n,n%=r;return n}function kv(t){let{P:e}=pe,r=BigInt(5),n=BigInt(10),i=BigInt(20),o=BigInt(40),s=BigInt(80),c=t*t%e*t%e,u=Qt(c,Nr)*c%e,l=Qt(u,Z)*t%e,f=Qt(l,r)*l%e,d=Qt(f,n)*f%e,p=Qt(d,i)*d%e,h=Qt(p,o)*p%e,m=Qt(h,s)*h%e,y=Qt(m,s)*h%e,g=Qt(y,n)*f%e;return{pow_p_5_8:Qt(g,Nr)*t%e,b2:c}}function gu(t,e){let r=A(e*e*e),n=A(r*r*e),i=kv(t*n).pow_p_5_8,o=A(t*r*i),s=A(e*o*o),a=o,c=A(o*oo),u=s===t,l=s===A(-t),f=s===A(-t*oo);return u&&(o=a),(l||f)&&(o=c),Dr(o)&&(o=A(-o)),{isValid:u||l,value:o}}function Pd(t){return gu(Z,t)}function Cs(t){return A(co(t),pe.l)}function Ov(t,e){if(t.length!==e.length)return!1;for(let r=0;r<t.length;r++)if(t[r]!==e[r])return!1;return!0}function kr(t,e){let r=t instanceof Uint8Array?Uint8Array.from(t):yu(t);if(typeof e=="number"&&r.length!==e)throw new Error(`Expected ${e} bytes`);return r}function Ts(t,e,r=!0){if(!e)throw new TypeError("Specify max value");if(typeof t=="number"&&Number.isSafeInteger(t)&&(t=BigInt(t)),typeof t=="bigint"&&t<e){if(r){if(qe<t)return t}else if(qe<=t)return t}throw new TypeError("Expected valid scalar: 0 < scalar < max")}function Mv(t){return t[0]&=248,t[31]&=127,t[31]|=64,t}function Uv(t){if(t=typeof t=="bigint"||typeof t=="number"?Nd(Ts(t,Dd)):kr(t),t.length!==32)throw new Error("Expected 32 bytes");return t}function Fv(t){let e=Mv(t.slice(0,32)),r=t.slice(32,64),n=Cs(e),i=xe.BASE.multiply(n),o=i.toRawBytes();return{head:e,prefix:r,scalar:n,point:i,pointBytes:o}}var pu;async function Ls(t){return Fv(await Or.sha512(Uv(t)))}async function xu(t){return(await Ls(t)).pointBytes}async function kd(t,e){t=kr(t);let{prefix:r,scalar:n,pointBytes:i}=await Ls(e),o=Cs(await Or.sha512(r,t)),s=xe.BASE.multiply(o),a=Cs(await Or.sha512(s.toRawBytes(),i,t)),c=A(o+a*n,pe.l);return new un(s,c).toRawBytes()}function Kv(t,e,r){e=kr(e),r instanceof xe||(r=xe.fromHex(r,!1));let{r:n,s:i}=t instanceof un?t.assertValidity():un.fromHex(t),o=Q.BASE.multiplyUnsafe(i);return{r:n,s:i,SB:o,pub:r,msg:e}}function Vv(t,e,r,n){let i=Cs(n),o=Q.fromAffine(t).multiplyUnsafe(i);return Q.fromAffine(e).add(o).subtract(r).multiplyUnsafe(pe.h).equals(Q.ZERO)}async function Od(t,e,r){let{r:n,SB:i,msg:o,pub:s}=Kv(t,e,r),a=await Or.sha512(n.toRawBytes(),s.toRawBytes(),o);return Vv(s,n,i,a)}xe.BASE._setWindowSize(8);var Pr={node:Iv,web:typeof self=="object"&&"crypto"in self?self.crypto:void 0},Or={bytesToHex:ao,hexToBytes:yu,concatBytes:Ld,getExtendedPublicKey:Ls,mod:A,invert:Bs,TORSION_SUBGROUP:["0100000000000000000000000000000000000000000000000000000000000000","c7176a703d4dd84fba3c0b760d10670f2a2053fa2c39ccc64ec7fd7792ac037a","0000000000000000000000000000000000000000000000000000000000000080","26e8958fc2b227b045c3f489f2ef98f0d5dfac05d3c63339b13802886d53fc05","ecffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f","26e8958fc2b227b045c3f489f2ef98f0d5dfac05d3c63339b13802886d53fc85","0000000000000000000000000000000000000000000000000000000000000000","c7176a703d4dd84fba3c0b760d10670f2a2053fa2c39ccc64ec7fd7792ac03fa"],hashToPrivateScalar:t=>{if(t=kr(t),t.length<40||t.length>1024)throw new Error("Expected 40-1024 bytes of private key as per FIPS 186");return A(co(t),pe.l-Z)+Z},randomBytes:(t=32)=>{if(Pr.web)return Pr.web.getRandomValues(new Uint8Array(t));if(Pr.node){let{randomBytes:e}=Pr.node;return new Uint8Array(e(t).buffer)}else throw new Error("The environment doesn't have randomBytes function")},randomPrivateKey:()=>Or.randomBytes(32),sha512:async(...t)=>{let e=Ld(...t);if(Pr.web){let r=await Pr.web.subtle.digest("SHA-512",e.buffer);return new Uint8Array(r)}else{if(Pr.node)return Uint8Array.from(Pr.node.createHash("sha512").update(e).digest());throw new Error("The environment doesn't have sha512 function")}},precompute(t=8,e=xe.BASE){let r=e.equals(xe.BASE)?e:new xe(e.x,e.y);return r._setWindowSize(t),r.multiply(Nr),r},sha512Sync:void 0};Object.defineProperties(Or,{sha512Sync:{configurable:!1,get(){return pu},set(t){pu||(pu=t)}}});var Jn=32,hr=64,Ps=32;async function Md(){let t=Or.randomPrivateKey(),e=await xu(t);return{privateKey:Vd(t,e),publicKey:e}}async function Ud(t){if(t.length!==Ps)throw new TypeError('"seed" must be 32 bytes in length.');if(!(t instanceof Uint8Array))throw new TypeError('"seed" must be a node.js Buffer, or Uint8Array.');let e=t,r=await xu(e);return{privateKey:Vd(e,r),publicKey:r}}async function Fd(t,e){let r=t.subarray(0,Ps);return kd(e,r)}async function Kd(t,e,r){return Od(e,r,t)}function Vd(t,e){let r=new Uint8Array(hr);for(let n=0;n<Ps;n++)r[n]=t[n],r[Ps+n]=e[n];return r}var wu={};$(wu,{base64:()=>ln,base64pad:()=>$v,base64url:()=>Hv,base64urlpad:()=>Gv});var ln=Ie({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),$v=Ie({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),Hv=Ie({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),Gv=Ie({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});function Pe(t,e){e==null&&(e=t.reduce((i,o)=>i+o.length,0));let r=Ct(e),n=0;for(let i of t)r.set(i,n),n+=i.length;return an(r)}var st={get(t=globalThis){let e=t.crypto;if(e==null||e.subtle==null)throw Object.assign(new Error("Missing Web Crypto API. The most likely cause of this error is that this page is being accessed from an insecure context (i.e. not HTTPS). For more information and possible resolutions see https://github.com/libp2p/js-libp2p-crypto/blob/master/README.md#web-crypto-api"),{code:"ERR_MISSING_WEB_CRYPTO"});return e}};var bu={alg:"A128GCM",ext:!0,k:"scm9jmO_4BJAgdwWGVulLg",key_ops:["encrypt","decrypt"],kty:"oct"};function Ds(t){let e=t?.algorithm??"AES-GCM",r=t?.keyLength??16,n=t?.nonceLength??12,i=t?.digest??"SHA-256",o=t?.saltLength??16,s=t?.iterations??32767,a=st.get();r*=8;async function c(f,d){let p=a.getRandomValues(new Uint8Array(o)),h=a.getRandomValues(new Uint8Array(n)),m={name:e,iv:h};typeof d=="string"&&(d=V(d));let y;if(d.length===0){y=await a.subtle.importKey("jwk",bu,{name:"AES-GCM"},!0,["encrypt"]);try{let x={name:"PBKDF2",salt:p,iterations:s,hash:{name:i}},E=await a.subtle.importKey("raw",d,{name:"PBKDF2"},!1,["deriveKey"]);y=await a.subtle.deriveKey(x,E,{name:e,length:r},!0,["encrypt"])}catch{y=await a.subtle.importKey("jwk",bu,{name:"AES-GCM"},!0,["encrypt"])}}else{let x={name:"PBKDF2",salt:p,iterations:s,hash:{name:i}},E=await a.subtle.importKey("raw",d,{name:"PBKDF2"},!1,["deriveKey"]);y=await a.subtle.deriveKey(x,E,{name:e,length:r},!0,["encrypt"])}let g=await a.subtle.encrypt(m,y,f);return Pe([p,m.iv,new Uint8Array(g)])}async function u(f,d){let p=f.subarray(0,o),h=f.subarray(o,o+n),m=f.subarray(o+n),y={name:e,iv:h};typeof d=="string"&&(d=V(d));let g;if(d.length===0)try{let E={name:"PBKDF2",salt:p,iterations:s,hash:{name:i}},T=await a.subtle.importKey("raw",d,{name:"PBKDF2"},!1,["deriveKey"]);g=await a.subtle.deriveKey(E,T,{name:e,length:r},!0,["decrypt"])}catch{g=await a.subtle.importKey("jwk",bu,{name:"AES-GCM"},!0,["decrypt"])}else{let E={name:"PBKDF2",salt:p,iterations:s,hash:{name:i}},T=await a.subtle.importKey("raw",d,{name:"PBKDF2"},!1,["deriveKey"]);g=await a.subtle.deriveKey(E,T,{name:e,length:r},!0,["decrypt"])}let x=await a.subtle.decrypt(y,g,m);return new Uint8Array(x)}return{encrypt:c,decrypt:u}}async function ei(t,e){let n=await Ds().encrypt(t,e);return ln.encode(n)}var Du=z(Au(),1),Tp=z(vp(),1),Bp=z(hn(),1),Nu=z(Pu(),1),Lp=z(Cp(),1);function tE(){Bp.default._configure(),Du.default._configure(Tp.default),Nu.default._configure(Lp.default)}tE();var Pp=["uint64","int64","sint64","fixed64","sfixed64"];function rE(t){for(let e of Pp){if(t[e]==null)continue;let r=t[e];t[e]=function(){return BigInt(r.call(this).toString())}}return t}function ku(t){return rE(new Du.default(t))}function nE(t){for(let e of Pp){if(t[e]==null)continue;let r=t[e];t[e]=function(n){return r.call(this,n.toString())}}return t}function Ou(){return nE(Nu.default.create())}function Ge(t,e){let r=ku(t instanceof Uint8Array?t:t.subarray());return e.decode(r)}function Ye(t,e){let r=Ou();return e.encode(t,r,{lengthDelimited:!1}),r.finish()}var ri;(function(t){t[t.VARINT=0]="VARINT",t[t.BIT64=1]="BIT64",t[t.LENGTH_DELIMITED=2]="LENGTH_DELIMITED",t[t.START_GROUP=3]="START_GROUP",t[t.END_GROUP=4]="END_GROUP",t[t.BIT32=5]="BIT32"})(ri||(ri={}));function Us(t,e,r,n){return{name:t,type:e,encode:r,decode:n}}function Mu(t){function e(i){if(t[i.toString()]==null)throw new Error("Invalid enum value");return t[i]}let r=function(o,s){let a=e(o);s.int32(a)},n=function(o){let s=o.int32();return e(s)};return Us("enum",ri.VARINT,r,n)}function We(t,e){return Us("message",ri.LENGTH_DELIMITED,t,e)}var we;(function(t){t.RSA="RSA",t.Ed25519="Ed25519",t.Secp256k1="Secp256k1"})(we||(we={}));var Uu;(function(t){t[t.RSA=0]="RSA",t[t.Ed25519=1]="Ed25519",t[t.Secp256k1=2]="Secp256k1"})(Uu||(Uu={}));(function(t){t.codec=()=>Mu(Uu)})(we||(we={}));var jt;(function(t){let e;t.codec=()=>(e==null&&(e=We((r,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),r.Type!=null&&(n.uint32(8),we.codec().encode(r.Type,n)),r.Data!=null&&(n.uint32(18),n.bytes(r.Data)),i.lengthDelimited!==!1&&n.ldelim()},(r,n)=>{let i={},o=n==null?r.len:r.pos+n;for(;r.pos<o;){let s=r.uint32();switch(s>>>3){case 1:i.Type=we.codec().decode(r);break;case 2:i.Data=r.bytes();break;default:r.skipType(s&7);break}}return i})),e),t.encode=r=>Ye(r,t.codec()),t.decode=r=>Ge(r,t.codec())})(jt||(jt={}));var Jt;(function(t){let e;t.codec=()=>(e==null&&(e=We((r,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),r.Type!=null&&(n.uint32(8),we.codec().encode(r.Type,n)),r.Data!=null&&(n.uint32(18),n.bytes(r.Data)),i.lengthDelimited!==!1&&n.ldelim()},(r,n)=>{let i={},o=n==null?r.len:r.pos+n;for(;r.pos<o;){let s=r.uint32();switch(s>>>3){case 1:i.Type=we.codec().decode(r);break;case 2:i.Data=r.bytes();break;default:r.skipType(s&7);break}}return i})),e),t.encode=r=>Ye(r,t.codec()),t.decode=r=>Ge(r,t.codec())})(Jt||(Jt={}));var fo=class{_key;constructor(e){this._key=ni(e,Jn)}async verify(e,r){return Kd(this._key,r,e)}marshal(){return this._key}get bytes(){return jt.encode({Type:we.Ed25519,Data:this.marshal()}).subarray()}equals(e){return Ee(this.bytes,e.bytes)}async hash(){let{bytes:e}=await He.digest(this.bytes);return e}},pn=class{_key;_publicKey;constructor(e,r){this._key=ni(e,hr),this._publicKey=ni(r,Jn)}async sign(e){return Fd(this._key,e)}get public(){return new fo(this._publicKey)}marshal(){return this._key}get bytes(){return Jt.encode({Type:we.Ed25519,Data:this.marshal()}).subarray()}equals(e){return Ee(this.bytes,e.bytes)}async hash(){let{bytes:e}=await He.digest(this.bytes);return e}async id(){let e=Lr.digest(this.public.bytes);return $e.encode(e.bytes).substring(1)}async export(e,r="libp2p-key"){if(r==="libp2p-key")return ei(this.bytes,e);throw new v(`export format '${r}' is not supported`,"ERR_INVALID_EXPORT_FORMAT")}};function iE(t){if(t.length>hr){t=ni(t,hr+Jn);let n=t.subarray(0,hr),i=t.subarray(hr,t.length);return new pn(n,i)}t=ni(t,hr);let e=t.subarray(0,hr),r=t.subarray(Jn);return new pn(e,r)}function oE(t){return t=ni(t,Jn),new fo(t)}async function sE(){let{privateKey:t,publicKey:e}=await Md();return new pn(t,e)}async function Dp(t){let{privateKey:e,publicKey:r}=await Ud(t);return new pn(e,r)}function ni(t,e){if(t=Uint8Array.from(t??[]),t.length!==e)throw new v(`Key must be a Uint8Array of length ${e}, got ${t.length}`,"ERR_INVALID_KEY_TYPE");return t}function G(t,e="utf8"){let r=Is[e];if(r==null)throw new Error(`Unsupported encoding "${e}"`);return(e==="utf8"||e==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?globalThis.Buffer.from(t.buffer,t.byteOffset,t.byteLength).toString("utf8"):r.encoder.encode(t).substring(1)}var E8=z(Le(),1),_8=z(bs(),1),Np=z(ae(),1);function Lt(t,e){let r=Uint8Array.from(t.abs().toByteArray());if(r=r[0]===0?r.subarray(1):r,e!=null){if(r.length>e)throw new Error("byte array longer than desired length");r=Pe([new Uint8Array(e-r.length),r])}return G(r,"base64url")}function lt(t){let e=kp(t);return new Np.default.jsbn.BigInteger(G(e,"base16"),16)}function kp(t,e){let r=V(t,"base64urlpad");if(e!=null){if(r.length>e)throw new Error("byte array longer than desired length");r=Pe([new Uint8Array(e-r.length),r])}return r}var aE={"P-256":256,"P-384":384,"P-521":521},cE=Object.keys(aE),N8=cE.join(" / ");async function Op(t,e){let r=ln.decode(t);return Ds().decrypt(r,e)}var Xu={};$(Xu,{RsaPrivateKey:()=>li,RsaPublicKey:()=>wo,fromJwk:()=>DE,generateKeyPair:()=>NE,unmarshalRsaPrivateKey:()=>LE,unmarshalRsaPublicKey:()=>PE});var xo=z(ae(),1);var xT=z(qp(),1);var lE=z(rn(),1);var j=BigInt(0),ye=BigInt(1),Kr=BigInt(2),mo=BigInt(3),zp=BigInt(8),Re=Object.freeze({a:j,b:BigInt(7),P:BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"),n:BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),h:ye,Gx:BigInt("55066263022277343669578718895168534326250603453777594175500187360389116729240"),Gy:BigInt("32670510020758816978083085130507043184471273380659243275938904335757337482424"),beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee")}),$p=(t,e)=>(t+e/Kr)/e,Ks={beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee"),splitScalar(t){let{n:e}=Re,r=BigInt("0x3086d221a7d46bcde86c90e49284eb15"),n=-ye*BigInt("0xe4437ed6010e88286f547fa90abfe4c3"),i=BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"),o=r,s=BigInt("0x100000000000000000000000000000000"),a=$p(o*t,e),c=$p(-n*t,e),u=D(t-a*r-c*i,e),l=D(-a*n-c*o,e),f=u>s,d=l>s;if(f&&(u=e-u),d&&(l=e-l),u>s||l>s)throw new Error("splitScalarEndo: Endomorphism failed, k="+t);return{k1neg:f,k1:u,k2neg:d,k2:l}}},Pt=32,si=32,fE=32,Hp=Pt+1,Gp=2*Pt+1;function Yp(t){let{a:e,b:r}=Re,n=D(t*t),i=D(n*t);return D(i+e*t+r)}var Vs=Re.a===j,$s=class extends Error{constructor(e){super(e)}};function Wp(t){if(!(t instanceof re))throw new TypeError("JacobianPoint expected")}var re=class{constructor(e,r,n){this.x=e,this.y=r,this.z=n}static fromAffine(e){if(!(e instanceof ne))throw new TypeError("JacobianPoint#fromAffine: expected Point");return e.equals(ne.ZERO)?re.ZERO:new re(e.x,e.y,ye)}static toAffineBatch(e){let r=yE(e.map(n=>n.z));return e.map((n,i)=>n.toAffine(r[i]))}static normalizeZ(e){return re.toAffineBatch(e).map(re.fromAffine)}equals(e){Wp(e);let{x:r,y:n,z:i}=this,{x:o,y:s,z:a}=e,c=D(i*i),u=D(a*a),l=D(r*u),f=D(o*c),d=D(D(n*a)*u),p=D(D(s*i)*c);return l===f&&d===p}negate(){return new re(this.x,D(-this.y),this.z)}double(){let{x:e,y:r,z:n}=this,i=D(e*e),o=D(r*r),s=D(o*o),a=e+o,c=D(Kr*(D(a*a)-i-s)),u=D(mo*i),l=D(u*u),f=D(l-Kr*c),d=D(u*(c-f)-zp*s),p=D(Kr*r*n);return new re(f,d,p)}add(e){Wp(e);let{x:r,y:n,z:i}=this,{x:o,y:s,z:a}=e;if(o===j||s===j)return this;if(r===j||n===j)return e;let c=D(i*i),u=D(a*a),l=D(r*u),f=D(o*c),d=D(D(n*a)*u),p=D(D(s*i)*c),h=D(f-l),m=D(p-d);if(h===j)return m===j?this.double():re.ZERO;let y=D(h*h),g=D(h*y),x=D(l*y),E=D(m*m-g-Kr*x),T=D(m*(x-E)-d*g),I=D(i*a*h);return new re(E,T,I)}subtract(e){return this.add(e.negate())}multiplyUnsafe(e){let r=re.ZERO;if(typeof e=="bigint"&&e===j)return r;let n=Zp(e);if(n===ye)return this;if(!Vs){let f=r,d=this;for(;n>j;)n&ye&&(f=f.add(d)),d=d.double(),n>>=ye;return f}let{k1neg:i,k1:o,k2neg:s,k2:a}=Ks.splitScalar(n),c=r,u=r,l=this;for(;o>j||a>j;)o&ye&&(c=c.add(l)),a&ye&&(u=u.add(l)),l=l.double(),o>>=ye,a>>=ye;return i&&(c=c.negate()),s&&(u=u.negate()),u=new re(D(u.x*Ks.beta),u.y,u.z),c.add(u)}precomputeWindow(e){let r=Vs?128/e+1:256/e+1,n=[],i=this,o=i;for(let s=0;s<r;s++){o=i,n.push(o);for(let a=1;a<2**(e-1);a++)o=o.add(i),n.push(o);i=o.double()}return n}wNAF(e,r){!r&&this.equals(re.BASE)&&(r=ne.BASE);let n=r&&r._WINDOW_SIZE||1;if(256%n)throw new Error("Point#wNAF: Invalid precomputation window, must be power of 2");let i=r&&zu.get(r);i||(i=this.precomputeWindow(n),r&&n!==1&&(i=re.normalizeZ(i),zu.set(r,i)));let o=re.ZERO,s=re.BASE,a=1+(Vs?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 p=d*c,h=Number(e&u);e>>=f,h>c&&(h-=l,e+=ye);let m=p,y=p+Math.abs(h)-1,g=d%2!==0,x=h<0;h===0?s=s.add(qs(g,i[m])):o=o.add(qs(x,i[y]))}return{p:o,f:s}}multiply(e,r){let n=Zp(e),i,o;if(Vs){let{k1neg:s,k1:a,k2neg:c,k2:u}=Ks.splitScalar(n),{p:l,f}=this.wNAF(a,r),{p:d,f:p}=this.wNAF(u,r);l=qs(s,l),d=qs(c,d),d=new re(D(d.x*Ks.beta),d.y,d.z),i=l.add(d),o=f.add(p)}else{let{p:s,f:a}=this.wNAF(n,r);i=s,o=a}return re.normalizeZ([i,o])[0]}toAffine(e){let{x:r,y:n,z:i}=this,o=this.equals(re.ZERO);e==null&&(e=o?zp:ui(i));let s=e,a=D(s*s),c=D(a*s),u=D(r*a),l=D(n*c),f=D(i*s);if(o)return ne.ZERO;if(f!==ye)throw new Error("invZ was invalid");return new ne(u,l)}};re.BASE=new re(Re.Gx,Re.Gy,ye);re.ZERO=new re(j,ye,j);function qs(t,e){let r=e.negate();return t?r:e}var zu=new WeakMap,ne=class{constructor(e,r){this.x=e,this.y=r}_setWindowSize(e){this._WINDOW_SIZE=e,zu.delete(this)}hasEvenY(){return this.y%Kr===j}static fromCompressedHex(e){let r=e.length===32,n=Vr(r?e:e.subarray(1));if(!qu(n))throw new Error("Point is not on curve");let i=Yp(n),o=mE(i),s=(o&ye)===ye;r?s&&(o=D(-o)):(e[0]&1)===1!==s&&(o=D(-o));let a=new ne(n,o);return a.assertValidity(),a}static fromUncompressedHex(e){let r=Vr(e.subarray(1,Pt+1)),n=Vr(e.subarray(Pt+1,Pt*2+1)),i=new ne(r,n);return i.assertValidity(),i}static fromHex(e){let r=ci(e),n=r.length,i=r[0];if(n===Pt)return this.fromCompressedHex(r);if(n===Hp&&(i===2||i===3))return this.fromCompressedHex(r);if(n===Gp&&i===4)return this.fromUncompressedHex(r);throw new Error(`Point.fromHex: received invalid point. Expected 32-${Hp} compressed bytes or ${Gp} uncompressed bytes, not ${n}`)}static fromPrivateKey(e){return ne.BASE.multiply(Gs(e))}static fromSignature(e,r,n){let{r:i,s:o}=jp(r);if(![0,1,2,3].includes(n))throw new Error("Cannot recover: invalid recovery bit");let s=Gu(ci(e)),{n:a}=Re,c=n===2||n===3?i+a:i,u=ui(c,a),l=D(-s*u,a),f=D(o*u,a),d=n&1?"03":"02",p=ne.fromHex(d+ii(c)),h=ne.BASE.multiplyAndAddUnsafe(p,l,f);if(!h)throw new Error("Cannot recover signature: point at infinify");return h.assertValidity(),h}toRawBytes(e=!1){return yn(this.toHex(e))}toHex(e=!1){let r=ii(this.x);return e?`${this.hasEvenY()?"02":"03"}${r}`:`04${r}${ii(this.y)}`}toHexX(){return this.toHex(!0).slice(2)}toRawX(){return this.toRawBytes(!0).slice(1)}assertValidity(){let e="Point is not on elliptic curve",{x:r,y:n}=this;if(!qu(r)||!qu(n))throw new Error(e);let i=D(n*n),o=Yp(r);if(D(i-o)!==j)throw new Error(e)}equals(e){return this.x===e.x&&this.y===e.y}negate(){return new ne(this.x,D(-this.y))}double(){return re.fromAffine(this).double().toAffine()}add(e){return re.fromAffine(this).add(re.fromAffine(e)).toAffine()}subtract(e){return this.add(e.negate())}multiply(e){return re.fromAffine(this).multiply(e,this).toAffine()}multiplyAndAddUnsafe(e,r,n){let i=re.fromAffine(this),o=r===j||r===ye||this!==ne.BASE?i.multiplyUnsafe(r):i.multiply(r),s=re.fromAffine(e).multiplyUnsafe(n),a=o.add(s);return a.equals(re.ZERO)?void 0:a.toAffine()}};ne.BASE=new ne(Re.Gx,Re.Gy);ne.ZERO=new ne(j,j);function Qp(t){return Number.parseInt(t[0],16)>=8?"00"+t:t}function Xp(t){if(t.length<2||t[0]!==2)throw new Error(`Invalid signature integer tag: ${ai(t)}`);let e=t[1],r=t.subarray(2,e+2);if(!e||r.length!==e)throw new Error("Invalid signature integer: wrong length");if(r[0]===0&&r[1]<=127)throw new Error("Invalid signature integer: trailing length");return{data:Vr(r),left:t.subarray(e+2)}}function hE(t){if(t.length<2||t[0]!=48)throw new Error(`Invalid signature tag: ${ai(t)}`);if(t[1]!==t.length-2)throw new Error("Invalid signature: incorrect length");let{data:e,left:r}=Xp(t.subarray(2)),{data:n,left:i}=Xp(r);if(i.length)throw new Error(`Invalid signature: left bytes after parsing: ${ai(i)}`);return{r:e,s:n}}var er=class{constructor(e,r){this.r=e,this.s=r,this.assertValidity()}static fromCompact(e){let r=e instanceof Uint8Array,n="Signature.fromCompact";if(typeof e!="string"&&!r)throw new TypeError(`${n}: Expected string or Uint8Array`);let i=r?ai(e):e;if(i.length!==128)throw new Error(`${n}: Expected 64-byte hex`);return new er(Hs(i.slice(0,64)),Hs(i.slice(64,128)))}static fromDER(e){let r=e instanceof Uint8Array;if(typeof e!="string"&&!r)throw new TypeError("Signature.fromDER: Expected string or Uint8Array");let{r:n,s:i}=hE(r?e:yn(e));return new er(n,i)}static fromHex(e){return this.fromDER(e)}assertValidity(){let{r:e,s:r}=this;if(!go(e))throw new Error("Invalid Signature: r must be 0 < r < n");if(!go(r))throw new Error("Invalid Signature: s must be 0 < s < n")}hasHighS(){let e=Re.n>>ye;return this.s>e}normalizeS(){return this.hasHighS()?new er(this.r,D(-this.s,Re.n)):this}toDERRawBytes(){return yn(this.toDERHex())}toDERHex(){let e=Qp(po(this.s)),r=Qp(po(this.r)),n=e.length/2,i=r.length/2,o=po(n),s=po(i);return`30${po(i+n+4)}02${s}${r}02${o}${e}`}toRawBytes(){return this.toDERRawBytes()}toHex(){return this.toDERHex()}toCompactRawBytes(){return yn(this.toCompactHex())}toCompactHex(){return ii(this.r)+ii(this.s)}};function Fr(...t){if(!t.every(n=>n instanceof Uint8Array))throw new Error("Uint8Array list expected");if(t.length===1)return t[0];let e=t.reduce((n,i)=>n+i.length,0),r=new Uint8Array(e);for(let n=0,i=0;n<t.length;n++){let o=t[n];r.set(o,i),i+=o.length}return r}var dE=Array.from({length:256},(t,e)=>e.toString(16).padStart(2,"0"));function ai(t){if(!(t instanceof Uint8Array))throw new Error("Expected Uint8Array");let e="";for(let r=0;r<t.length;r++)e+=dE[t[r]];return e}var pE=BigInt("0x10000000000000000000000000000000000000000000000000000000000000000");function ii(t){if(typeof t!="bigint")throw new Error("Expected bigint");if(!(j<=t&&t<pE))throw new Error("Expected number 0 <= n < 2^256");return t.toString(16).padStart(64,"0")}function $u(t){let e=yn(ii(t));if(e.length!==32)throw new Error("Error: expected 32 bytes");return e}function po(t){let e=t.toString(16);return e.length&1?`0${e}`:e}function Hs(t){if(typeof t!="string")throw new TypeError("hexToNumber: expected string, got "+typeof t);return BigInt(`0x${t}`)}function yn(t){if(typeof t!="string")throw new TypeError("hexToBytes: expected string, got "+typeof t);if(t.length%2)throw new Error("hexToBytes: received invalid unpadded hex"+t.length);let e=new Uint8Array(t.length/2);for(let r=0;r<e.length;r++){let n=r*2,i=t.slice(n,n+2),o=Number.parseInt(i,16);if(Number.isNaN(o)||o<0)throw new Error("Invalid byte sequence");e[r]=o}return e}function Vr(t){return Hs(ai(t))}function ci(t){return t instanceof Uint8Array?Uint8Array.from(t):yn(t)}function Zp(t){if(typeof t=="number"&&Number.isSafeInteger(t)&&t>0)return BigInt(t);if(typeof t=="bigint"&&go(t))return t;throw new TypeError("Expected valid private scalar: 0 < scalar < curve.n")}function D(t,e=Re.P){let r=t%e;return r>=j?r:e+r}function _t(t,e){let{P:r}=Re,n=t;for(;e-- >j;)n*=n,n%=r;return n}function mE(t){let{P:e}=Re,r=BigInt(6),n=BigInt(11),i=BigInt(22),o=BigInt(23),s=BigInt(44),a=BigInt(88),c=t*t*t%e,u=c*c*t%e,l=_t(u,mo)*u%e,f=_t(l,mo)*u%e,d=_t(f,Kr)*c%e,p=_t(d,n)*d%e,h=_t(p,i)*p%e,m=_t(h,s)*h%e,y=_t(m,a)*m%e,g=_t(y,s)*h%e,x=_t(g,mo)*u%e,E=_t(x,o)*p%e,T=_t(E,r)*c%e,I=_t(T,Kr);if(I*I%e!==t)throw new Error("Cannot find square root");return I}function ui(t,e=Re.P){if(t===j||e<=j)throw new Error(`invert: expected positive integers, got n=${t} mod=${e}`);let r=D(t,e),n=e,i=j,o=ye,s=ye,a=j;for(;r!==j;){let u=n/r,l=n%r,f=i-s*u,d=o-a*u;n=r,r=l,i=s,o=a,s=f,a=d}if(n!==ye)throw new Error("invert: does not exist");return D(i,e)}function yE(t,e=Re.P){let r=new Array(t.length),n=t.reduce((o,s,a)=>s===j?o:(r[a]=o,D(o*s,e)),ye),i=ui(n,e);return t.reduceRight((o,s,a)=>s===j?o:(r[a]=D(o*r[a],e),D(o*s,e)),i),r}function gE(t){let e=t.length*8-si*8,r=Vr(t);return e>0?r>>BigInt(e):r}function Gu(t,e=!1){let r=gE(t);if(e)return r;let{n}=Re;return r>=n?r-n:r}var oi,yo,Hu=class{constructor(e,r){if(this.hashLen=e,this.qByteLen=r,typeof e!="number"||e<2)throw new Error("hashLen must be a number");if(typeof r!="number"||r<2)throw new Error("qByteLen must be a number");this.v=new Uint8Array(e).fill(1),this.k=new Uint8Array(e).fill(0),this.counter=0}hmac(...e){return Dt.hmacSha256(this.k,...e)}hmacSync(...e){return yo(this.k,...e)}checkSync(){if(typeof yo!="function")throw new $s("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(e=new Uint8Array){this.k=await this.hmac(this.v,Uint8Array.from([0]),e),this.v=await this.hmac(this.v),e.length!==0&&(this.k=await this.hmac(this.v,Uint8Array.from([1]),e),this.v=await this.hmac(this.v))}reseedSync(e=new Uint8Array){this.checkSync(),this.k=this.hmacSync(this.v,Uint8Array.from([0]),e),this.v=this.hmacSync(this.v),e.length!==0&&(this.k=this.hmacSync(this.v,Uint8Array.from([1]),e),this.v=this.hmacSync(this.v))}async generate(){this.incr();let e=0,r=[];for(;e<this.qByteLen;){this.v=await this.hmac(this.v);let n=this.v.slice();r.push(n),e+=this.v.length}return Fr(...r)}generateSync(){this.checkSync(),this.incr();let e=0,r=[];for(;e<this.qByteLen;){this.v=this.hmacSync(this.v);let n=this.v.slice();r.push(n),e+=this.v.length}return Fr(...r)}};function go(t){return j<t&&t<Re.n}function qu(t){return j<t&&t<Re.P}function xE(t,e,r,n=!0){let{n:i}=Re,o=Gu(t,!0);if(!go(o))return;let s=ui(o,i),a=ne.BASE.multiply(o),c=D(a.x,i);if(c===j)return;let u=D(s*D(e+r*c,i),i);if(u===j)return;let l=new er(c,u),f=(a.x===l.r?0:2)|Number(a.y&ye);return n&&l.hasHighS()&&(l=l.normalizeS(),f^=1),{sig:l,recovery:f}}function Gs(t){let e;if(typeof t=="bigint")e=t;else if(typeof t=="number"&&Number.isSafeInteger(t)&&t>0)e=BigInt(t);else if(typeof t=="string"){if(t.length!==2*si)throw new Error("Expected 32 bytes of private key");e=Hs(t)}else if(t instanceof Uint8Array){if(t.length!==si)throw new Error("Expected 32 bytes of private key");e=Vr(t)}else throw new TypeError("Expected valid private key");if(!go(e))throw new Error("Expected private key: 0 < key < n");return e}function wE(t){return t instanceof ne?(t.assertValidity(),t):ne.fromHex(t)}function jp(t){if(t instanceof er)return t.assertValidity(),t;try{return er.fromDER(t)}catch{return er.fromCompact(t)}}function Yu(t,e=!1){return ne.fromPrivateKey(t).toRawBytes(e)}function Jp(t){let e=t.length>Pt?t.slice(0,Pt):t;return Vr(e)}function bE(t){let e=Jp(t),r=D(e,Re.n);return em(r<j?e:r)}function em(t){return $u(t)}function vE(t,e,r){if(t==null)throw new Error(`sign: expected valid message hash, not "${t}"`);let n=ci(t),i=Gs(e),o=[em(i),bE(n)];if(r!=null){r===!0&&(r=Dt.randomBytes(Pt));let c=ci(r);if(c.length!==Pt)throw new Error(`sign: Expected ${Pt} bytes of extra data`);o.push(c)}let s=Fr(...o),a=Jp(n);return{seed:s,m:a,d:i}}function EE(t,e){let{sig:r,recovery:n}=t,{der:i,recovered:o}=Object.assign({canonical:!0,der:!0},e),s=i?r.toDERRawBytes():r.toCompactRawBytes();return o?[s,n]:s}async function tm(t,e,r={}){let{seed:n,m:i,d:o}=vE(t,e,r.extraEntropy),s=new Hu(fE,si);await s.reseed(n);let a;for(;!(a=xE(await s.generate(),i,o,r.canonical));)await s.reseed();return EE(a,r)}var _E={strict:!0};function rm(t,e,r,n=_E){let i;try{i=jp(t),e=ci(e)}catch{return!1}let{r:o,s}=i;if(n.strict&&i.hasHighS())return!1;let a=Gu(e),c;try{c=wE(r)}catch{return!1}let{n:u}=Re,l=ui(s,u),f=D(a*l,u),d=D(o*l,u),p=ne.BASE.multiplyAndAddUnsafe(c,f,d);return p?D(p.x,u)===o:!1}ne.BASE._setWindowSize(8);var ft={node:lE,web:typeof self=="object"&&"crypto"in self?self.crypto:void 0};var zs={},Dt={bytesToHex:ai,hexToBytes:yn,concatBytes:Fr,mod:D,invert:ui,isValidPrivateKey(t){try{return Gs(t),!0}catch{return!1}},_bigintTo32Bytes:$u,_normalizePrivateKey:Gs,hashToPrivateKey:t=>{t=ci(t);let e=si+8;if(t.length<e||t.length>1024)throw new Error("Expected valid bytes of private key as per FIPS 186");let r=D(Vr(t),Re.n-ye)+ye;return $u(r)},randomBytes:(t=32)=>{if(ft.web)return ft.web.getRandomValues(new Uint8Array(t));if(ft.node){let{randomBytes:e}=ft.node;return Uint8Array.from(e(t))}else throw new Error("The environment doesn't have randomBytes function")},randomPrivateKey:()=>Dt.hashToPrivateKey(Dt.randomBytes(si+8)),precompute(t=8,e=ne.BASE){let r=e===ne.BASE?e:new ne(e.x,e.y);return r._setWindowSize(t),r.multiply(mo),r},sha256:async(...t)=>{if(ft.web){let e=await ft.web.subtle.digest("SHA-256",Fr(...t));return new Uint8Array(e)}else if(ft.node){let{createHash:e}=ft.node,r=e("sha256");return t.forEach(n=>r.update(n)),Uint8Array.from(r.digest())}else throw new Error("The environment doesn't have sha256 function")},hmacSha256:async(t,...e)=>{if(ft.web){let r=await ft.web.subtle.importKey("raw",t,{name:"HMAC",hash:{name:"SHA-256"}},!1,["sign"]),n=Fr(...e),i=await ft.web.subtle.sign("HMAC",r,n);return new Uint8Array(i)}else if(ft.node){let{createHmac:r}=ft.node,n=r("sha256",t);return e.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(t,...e)=>{let r=zs[t];if(r===void 0){let n=await Dt.sha256(Uint8Array.from(t,i=>i.charCodeAt(0)));r=Fr(n,n),zs[t]=r}return Dt.sha256(r,...e)},taggedHashSync:(t,...e)=>{if(typeof oi!="function")throw new $s("sha256Sync is undefined, you need to set it");let r=zs[t];if(r===void 0){let n=oi(Uint8Array.from(t,i=>i.charCodeAt(0)));r=Fr(n,n),zs[t]=r}return oi(r,...e)},_JacobianPoint:re};Object.defineProperties(Dt,{sha256Sync:{configurable:!1,get(){return oi},set(t){oi||(oi=t)}},hmacSha256Sync:{configurable:!1,get(){return yo},set(t){yo||(yo=t)}}});function gn(t){if(isNaN(t)||t<=0)throw new v("random bytes length must be a Number bigger than 0","ERR_INVALID_LENGTH");return Dt.randomBytes(t)}var eT=z(_s(),1),Wu=z(ae(),1);function nm(t,e){return e.map(r=>lt(t[r]))}function im(t){return Wu.default.pki.setRsaPrivateKey(...nm(t,["n","e","d","p","q","dp","dq","qi"]))}function om(t){return Wu.default.pki.setRsaPublicKey(...nm(t,["n","e"]))}var xn={};$(xn,{jwkToPkcs1:()=>IE,jwkToPkix:()=>CE,pkcs1ToJwk:()=>AE,pkixToJwk:()=>RE});var nT=z(Qi(),1),iT=z(_s(),1);var dr=z(ae(),1);function AE(t){let e=dr.default.asn1.fromDer(G(t,"ascii")),r=dr.default.pki.privateKeyFromAsn1(e);return{kty:"RSA",n:Lt(r.n),e:Lt(r.e),d:Lt(r.d),p:Lt(r.p),q:Lt(r.q),dp:Lt(r.dP),dq:Lt(r.dQ),qi:Lt(r.qInv),alg:"RS256"}}function IE(t){if(t.n==null||t.e==null||t.d==null||t.p==null||t.q==null||t.dp==null||t.dq==null||t.qi==null)throw new v("JWK was missing components","ERR_INVALID_PARAMETERS");let e=dr.default.pki.privateKeyToAsn1({n:lt(t.n),e:lt(t.e),d:lt(t.d),p:lt(t.p),q:lt(t.q),dP:lt(t.dp),dQ:lt(t.dq),qInv:lt(t.qi)});return V(dr.default.asn1.toDer(e).getBytes(),"ascii")}function RE(t){let e=dr.default.asn1.fromDer(G(t,"ascii")),r=dr.default.pki.publicKeyFromAsn1(e);return{kty:"RSA",n:Lt(r.n),e:Lt(r.e)}}function CE(t){if(t.n==null||t.e==null)throw new v("JWK was missing components","ERR_INVALID_PARAMETERS");let e=dr.default.pki.publicKeyToAsn1({n:lt(t.n),e:lt(t.e)});return V(dr.default.asn1.toDer(e).getBytes(),"ascii")}async function sm(t){let e=await st.get().subtle.generateKey({name:"RSASSA-PKCS1-v1_5",modulusLength:t,publicExponent:new Uint8Array([1,0,1]),hash:{name:"SHA-256"}},!0,["sign","verify"]),r=await um(e);return{privateKey:r[0],publicKey:r[1]}}async function Qu(t){let r=[await st.get().subtle.importKey("jwk",t,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!0,["sign"]),await TE(t)],n=await um({privateKey:r[0],publicKey:r[1]});return{privateKey:n[0],publicKey:n[1]}}async function am(t,e){let r=await st.get().subtle.importKey("jwk",t,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!1,["sign"]),n=await st.get().subtle.sign({name:"RSASSA-PKCS1-v1_5"},r,Uint8Array.from(e));return new Uint8Array(n,0,n.byteLength)}async function cm(t,e,r){let n=await st.get().subtle.importKey("jwk",t,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!1,["verify"]);return st.get().subtle.verify({name:"RSASSA-PKCS1-v1_5"},n,e,r)}async function um(t){if(t.privateKey==null||t.publicKey==null)throw new v("Private and public key are required","ERR_INVALID_PARAMETERS");return Promise.all([st.get().subtle.exportKey("jwk",t.privateKey),st.get().subtle.exportKey("jwk",t.publicKey)])}async function TE(t){return st.get().subtle.importKey("jwk",{kty:t.kty,n:t.n,e:t.e},{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!0,["verify"])}function lm(t,e,r,n){let i=e?om(t):im(t),o=G(Uint8Array.from(r),"ascii"),s=n(o,i);return V(s,"ascii")}function fm(t,e){return lm(t,!0,e,(r,n)=>n.encrypt(r))}function hm(t,e){return lm(t,!1,e,(r,n)=>n.decrypt(r))}var wo=class{_key;constructor(e){this._key=e}async verify(e,r){return cm(this._key,r,e)}marshal(){return xn.jwkToPkix(this._key)}get bytes(){return jt.encode({Type:we.RSA,Data:this.marshal()}).subarray()}encrypt(e){return fm(this._key,e)}equals(e){return Ee(this.bytes,e.bytes)}async hash(){let{bytes:e}=await He.digest(this.bytes);return e}},li=class{_key;_publicKey;constructor(e,r){this._key=e,this._publicKey=r}genSecret(){return gn(16)}async sign(e){return am(this._key,e)}get public(){if(this._publicKey==null)throw new v("public key not provided","ERR_PUBKEY_NOT_PROVIDED");return new wo(this._publicKey)}decrypt(e){return hm(this._key,e)}marshal(){return xn.jwkToPkcs1(this._key)}get bytes(){return Jt.encode({Type:we.RSA,Data:this.marshal()}).subarray()}equals(e){return Ee(this.bytes,e.bytes)}async hash(){let{bytes:e}=await He.digest(this.bytes);return e}async id(){let e=await this.public.hash();return G(e,"base58btc")}async export(e,r="pkcs-8"){if(r==="pkcs-8"){let n=new xo.default.util.ByteBuffer(this.marshal()),i=xo.default.asn1.fromDer(n),o=xo.default.pki.privateKeyFromAsn1(i),s={algorithm:"aes256",count:1e4,saltSize:128/8,prfAlgorithm:"sha512"};return xo.default.pki.encryptRsaPrivateKey(o,e,s)}else{if(r==="libp2p-key")return ei(this.bytes,e);throw new v(`export format '${r}' is not supported`,"ERR_INVALID_EXPORT_FORMAT")}}};async function LE(t){let e=xn.pkcs1ToJwk(t),r=await Qu(e);return new li(r.privateKey,r.publicKey)}function PE(t){let e=xn.pkixToJwk(t);return new wo(e)}async function DE(t){let e=await Qu(t);return new li(e.privateKey,e.publicKey)}async function NE(t){let e=await sm(t);return new li(e.privateKey,e.publicKey)}var ju={};$(ju,{Secp256k1PrivateKey:()=>vo,Secp256k1PublicKey:()=>bo,generateKeyPair:()=>UE,unmarshalSecp256k1PrivateKey:()=>OE,unmarshalSecp256k1PublicKey:()=>ME});function dm(){return Dt.randomPrivateKey()}async function pm(t,e){let{digest:r}=await He.digest(e);try{return await tm(r,t)}catch(n){throw new v(String(n),"ERR_INVALID_INPUT")}}async function mm(t,e,r){try{let{digest:n}=await He.digest(r);return rm(e,n,t)}catch(n){throw new v(String(n),"ERR_INVALID_INPUT")}}function ym(t){return ne.fromHex(t).toRawBytes(!0)}function gm(t){try{Yu(t,!0)}catch(e){throw new v(String(e),"ERR_INVALID_PRIVATE_KEY")}}function Zu(t){try{ne.fromHex(t)}catch(e){throw new v(String(e),"ERR_INVALID_PUBLIC_KEY")}}function xm(t){try{return Yu(t,!0)}catch(e){throw new v(String(e),"ERR_INVALID_PRIVATE_KEY")}}var bo=class{_key;constructor(e){Zu(e),this._key=e}async verify(e,r){return mm(this._key,r,e)}marshal(){return ym(this._key)}get bytes(){return jt.encode({Type:we.Secp256k1,Data:this.marshal()}).subarray()}equals(e){return Ee(this.bytes,e.bytes)}async hash(){let{bytes:e}=await He.digest(this.bytes);return e}},vo=class{_key;_publicKey;constructor(e,r){this._key=e,this._publicKey=r??xm(e),gm(this._key),Zu(this._publicKey)}async sign(e){return pm(this._key,e)}get public(){return new bo(this._publicKey)}marshal(){return this._key}get bytes(){return Jt.encode({Type:we.Secp256k1,Data:this.marshal()}).subarray()}equals(e){return Ee(this.bytes,e.bytes)}async hash(){let{bytes:e}=await He.digest(this.bytes);return e}async id(){let e=await this.public.hash();return G(e,"base58btc")}async export(e,r="libp2p-key"){if(r==="libp2p-key")return ei(this.bytes,e);throw new v(`export format '${r}' is not supported`,"ERR_INVALID_EXPORT_FORMAT")}};function OE(t){return new vo(t)}function ME(t){return new bo(t)}async function UE(){let t=dm();return new vo(t)}var pr={rsa:Xu,ed25519:Fu,secp256k1:ju};function Ju(t){let e=Object.keys(pr).join(" / ");return new v(`invalid or unsupported key type ${t}. Must be ${e}`,"ERR_UNSUPPORTED_KEY_TYPE")}function el(t){if(t=t.toLowerCase(),t==="rsa"||t==="ed25519"||t==="secp256k1")return pr[t];throw Ju(t)}async function Ws(t,e){return el(t).generateKeyPair(e??2048)}function Eo(t){let e=jt.decode(t),r=e.Data??new Uint8Array;switch(e.Type){case we.RSA:return pr.rsa.unmarshalRsaPublicKey(r);case we.Ed25519:return pr.ed25519.unmarshalEd25519PublicKey(r);case we.Secp256k1:return pr.secp256k1.unmarshalSecp256k1PublicKey(r);default:throw Ju(e.Type??"RSA")}}function wm(t,e){return e=(e??"rsa").toLowerCase(),el(e),t.bytes}async function fi(t){let e=Jt.decode(t),r=e.Data??new Uint8Array;switch(e.Type){case we.RSA:return pr.rsa.unmarshalRsaPrivateKey(r);case we.Ed25519:return pr.ed25519.unmarshalEd25519PrivateKey(r);case we.Secp256k1:return pr.secp256k1.unmarshalSecp256k1PrivateKey(r);default:throw Ju(e.Type??"RSA")}}function bm(t,e){return e=(e??"rsa").toLowerCase(),el(e),t.bytes}async function _o(t,e){try{let i=await Op(t,e);return await fi(i)}catch{}let r=Ys.default.pki.decryptRsaPrivateKey(t,e);if(r===null)throw new v("Cannot read the key, most likely the password is wrong or not a RSA key","ERR_CANNOT_DECRYPT_PEM");let n=Ys.default.asn1.toDer(Ys.default.pki.privateKeyToAsn1(r));return n=V(n.getBytes(),"ascii"),pr.rsa.unmarshalRsaPrivateKey(n)}var tl=Symbol.for("@libp2p/content-routing");var So=class extends EventTarget{#e=new Map;listenerCount(e){let r=this.#e.get(e);return r==null?0:r.length}addEventListener(e,r,n){super.addEventListener(e,r,n);let i=this.#e.get(e);i==null&&(i=[],this.#e.set(e,i)),i.push({callback:r,once:(n!==!0&&n!==!1&&n?.once)??!1})}removeEventListener(e,r,n){super.removeEventListener(e.toString(),r??null,n);let i=this.#e.get(e);i!=null&&(i=i.filter(({callback:o})=>o!==r),this.#e.set(e,i))}dispatchEvent(e){let r=super.dispatchEvent(e),n=this.#e.get(e.type);return n==null||(n=n.filter(({once:i})=>!i),this.#e.set(e.type,n)),r}safeDispatchEvent(e,r){return this.dispatchEvent(new nl(e,r))}},rl=class extends Event{detail;constructor(e,r){super(e,r),this.detail=r?.detail}},nl=globalThis.CustomEvent??rl;var il=Symbol.for("@libp2p/peer-discovery");var ol=Symbol.for("@libp2p/peer-routing");var zT=z(hs(),1),KE=z(ae(),1);var Em=z(_c(),1),_m=z(Le(),1),vm={sha1:"sha1","sha2-256":"sha256","sha2-512":"sha512"};function Ao(t,e,r,n,i){if(i!=="sha1"&&i!=="sha2-256"&&i!=="sha2-512"){let a=Object.keys(vm).join(" / ");throw new v(`Hash '${i}' is unknown or not supported. Must be ${a}`,"ERR_UNSUPPORTED_HASH_TYPE")}let o=vm[i],s=(0,Em.default)(t,e,r,n,o);return _m.default.encode64(s,null)}var dt=z(al(),1);var cl={};$(cl,{base32:()=>tr,base32hex:()=>i_,base32hexpad:()=>s_,base32hexpadupper:()=>a_,base32hexupper:()=>o_,base32pad:()=>r_,base32padupper:()=>n_,base32upper:()=>t_,base32z:()=>c_});var tr=Ie({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),t_=Ie({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),r_=Ie({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),n_=Ie({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),i_=Ie({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),o_=Ie({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),s_=Ie({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),a_=Ie({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),c_=Ie({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});dt.default.formatters.b=t=>t==null?"undefined":$e.baseEncode(t);dt.default.formatters.t=t=>t==null?"undefined":tr.baseEncode(t);dt.default.formatters.m=t=>t==null?"undefined":ln.baseEncode(t);dt.default.formatters.p=t=>t==null?"undefined":t.toString();dt.default.formatters.c=t=>t==null?"undefined":t.toString();dt.default.formatters.k=t=>t==null?"undefined":t.toString();dt.default.formatters.a=t=>t==null?"undefined":t.toString();function u_(t){let e=()=>{};return e.enabled=!1,e.color="",e.diff=0,e.log=()=>{},e.namespace=t,e.destroy=()=>!0,e.extend=()=>e,e}function W(t){let e=u_(`${t}:trace`);return dt.default.enabled(`${t}:trace`)&&dt.default.names.map(r=>r.toString()).find(r=>r.includes(":trace"))!=null&&(e=(0,dt.default)(`${t}:trace`)),Object.assign((0,dt.default)(t),{error:(0,dt.default)(`${t}:error`),trace:e})}var ul=Symbol.for("@libp2p/peer-id");function Zs(t){return t!=null&&!!t[ul]}var ll={};$(ll,{identity:()=>l_});var l_=Wn({prefix:"\0",name:"identity",encode:t=>gd(t),decode:t=>yd(t)});var fl={};$(fl,{base2:()=>f_});var f_=Ie({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var hl={};$(hl,{base8:()=>h_});var h_=Ie({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var dl={};$(dl,{base10:()=>d_});var d_=Br({prefix:"9",name:"base10",alphabet:"0123456789"});var pl={};$(pl,{base16:()=>p_,base16upper:()=>m_});var p_=Ie({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),m_=Ie({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var ml={};$(ml,{base36:()=>y_,base36upper:()=>g_});var y_=Br({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),g_=Br({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var yl={};$(yl,{base256emoji:()=>E_});var Rm=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}"),x_=Rm.reduce((t,e,r)=>(t[r]=e,t),[]),w_=Rm.reduce((t,e,r)=>(t[e.codePointAt(0)]=r,t),[]);function b_(t){return t.reduce((e,r)=>(e+=x_[r],e),"")}function v_(t){let e=[];for(let r of t){let n=w_[r.codePointAt(0)];if(n===void 0)throw new Error(`Non-base256emoji character: ${r}`);e.push(n)}return new Uint8Array(e)}var E_=Wn({prefix:"\u{1F680}",name:"base256emoji",encode:b_,decode:v_});var x3=new TextEncoder,w3=new TextDecoder;var Cm=(t,e)=>{let{bytes:r,version:n}=t;switch(n){case 0:return I_(r,gl(t),e||$e.encoder);default:return R_(r,gl(t),e||tr.encoder)}};var Tm=new WeakMap,gl=t=>{let e=Tm.get(t);if(e==null){let r=new Map;return Tm.set(t,r),r}return e},_e=class{constructor(e,r,n,i){this.code=r,this.version=e,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:e,multihash:r}=this;if(e!==Io)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(r.code!==C_)throw new Error("Cannot convert non sha2-256 multihash CID to CIDv0");return _e.createV0(r)}default:throw Error(`Can not convert CID version ${this.version} to version 0. This is a bug please report`)}}toV1(){switch(this.version){case 0:{let{code:e,digest:r}=this.multihash,n=Wt(e,r);return _e.createV1(this.code,n)}case 1:return this;default:throw Error(`Can not convert CID version ${this.version} to version 1. This is a bug please report`)}}equals(e){return _e.equals(this,e)}static equals(e,r){let n=r;return n&&e.code===n.code&&e.version===n.version&&_d(e.multihash,n.multihash)}toString(e){return Cm(this,e)}toJSON(){return{"/":Cm(this)}}link(){return this}get[Symbol.toStringTag](){return"CID"}[Symbol.for("nodejs.util.inspect.custom")](){return`CID(${this.toString()})`}static asCID(e){if(e==null)return null;let r=e;if(r instanceof _e)return r;if(r["/"]!=null&&r["/"]===r.bytes||r.asCID===r){let{version:n,code:i,multihash:o,bytes:s}=r;return new _e(n,i,o,s||Bm(n,i,o.bytes))}else if(r[T_]===!0){let{version:n,multihash:i,code:o}=r,s=io(i);return _e.create(n,o,s)}else return null}static create(e,r,n){if(typeof r!="number")throw new Error("String codecs are no longer supported");if(!(n.bytes instanceof Uint8Array))throw new Error("Invalid digest");switch(e){case 0:{if(r!==Io)throw new Error(`Version 0 CID must use dag-pb (code: ${Io}) block encoding`);return new _e(e,r,n,n.bytes)}case 1:{let i=Bm(e,r,n.bytes);return new _e(e,r,n,i)}default:throw new Error("Invalid version")}}static createV0(e){return _e.create(0,Io,e)}static createV1(e,r){return _e.create(1,e,r)}static decode(e){let[r,n]=_e.decodeFirst(e);if(n.length)throw new Error("Incorrect length");return r}static decodeFirst(e){let r=_e.inspectBytes(e),n=r.size-r.multihashSize,i=fr(e.subarray(n,n+r.multihashSize));if(i.byteLength!==r.multihashSize)throw new Error("Incorrect length");let o=i.subarray(r.multihashSize-r.digestSize),s=new Zn(r.multihashCode,r.digestSize,o,i);return[r.version===0?_e.createV0(s):_e.createV1(r.codec,s),e.subarray(r.size)]}static inspectBytes(e){let r=0,n=()=>{let[f,d]=no(e.subarray(r));return r+=d,f},i=n(),o=Io;if(i===18?(i=0,r=0):o=n(),i!==0&&i!==1)throw new RangeError(`Invalid CID version ${i}`);let s=r,a=n(),c=n(),u=r+c,l=u-s;return{version:i,codec:o,multihashCode:a,digestSize:c,multihashSize:l,size:u}}static parse(e,r){let[n,i]=A_(e,r),o=_e.decode(i);if(o.version===0&&e[0]!=="Q")throw Error("Version 0 CID string must not include multibase prefix");return gl(o).set(n,e),o}},A_=(t,e)=>{switch(t[0]){case"Q":{let r=e||$e;return[$e.prefix,r.decode(`${$e.prefix}${t}`)]}case $e.prefix:{let r=e||$e;return[$e.prefix,r.decode(t)]}case tr.prefix:{let r=e||tr;return[tr.prefix,r.decode(t)]}default:{if(e==null)throw Error("To parse non base32 or base58btc encoded CID multibase decoder must be provided");return[t[0],e.decode(t)]}}},I_=(t,e,r)=>{let{prefix:n}=r;if(n!==$e.prefix)throw Error(`Cannot string encode V0 in ${r.name} encoding`);let i=e.get(n);if(i==null){let o=r.encode(t).slice(1);return e.set(n,o),o}else return i},R_=(t,e,r)=>{let{prefix:n}=r,i=e.get(n);if(i==null){let o=r.encode(t);return e.set(n,o),o}else return i},Io=112,C_=18,Bm=(t,e,r)=>{let n=Xn(t),i=n+Xn(e),o=new Uint8Array(i+r.byteLength);return Qn(t,o,0),Qn(e,o,n),o.set(r,i),o},T_=Symbol.for("@ipld/js-cid/CID");var xl={...ll,...fl,...hl,...dl,...pl,...cl,...ml,...ou,...wu,...yl},T3={...lu,...au};var B_=Symbol.for("nodejs.util.inspect.custom"),Lm=Object.values(xl).map(t=>t.decoder).reduce((t,e)=>t.or(e),xl.identity.decoder),Pm=114,wl=36,bl=37,Ro=class{type;multihash;privateKey;publicKey;string;constructor(e){this.type=e.type,this.multihash=e.multihash,this.privateKey=e.privateKey,Object.defineProperty(this,"string",{enumerable:!1,writable:!0})}get[Symbol.toStringTag](){return`PeerId(${this.toString()})`}[ul]=!0;toString(){return this.string==null&&(this.string=$e.encode(this.multihash.bytes).slice(1)),this.string}toCID(){return _e.createV1(Pm,this.multihash)}toBytes(){return this.multihash.bytes}toJSON(){return this.toString()}equals(e){if(e instanceof Uint8Array)return Ee(this.multihash.bytes,e);if(typeof e=="string")return oe(e).equals(this);if(e?.multihash?.bytes!=null)return Ee(this.multihash.bytes,e.multihash.bytes);throw new Error("not valid Id")}[B_](){return`PeerId(${this.toString()})`}},bn=class extends Ro{type="RSA";publicKey;constructor(e){super({...e,type:"RSA"}),this.publicKey=e.publicKey}},vn=class extends Ro{type="Ed25519";publicKey;constructor(e){super({...e,type:"Ed25519"}),this.publicKey=e.multihash.digest}},En=class extends Ro{type="secp256k1";publicKey;constructor(e){super({...e,type:"secp256k1"}),this.publicKey=e.multihash.digest}};function Dm(t){if(t.type==="RSA")return new bn(t);if(t.type==="Ed25519")return new vn(t);if(t.type==="secp256k1")return new En(t);throw new v("Not a PeerId","ERR_INVALID_PARAMETERS")}function oe(t,e){if(e=e??Lm,t.charAt(0)==="1"||t.charAt(0)==="Q"){let r=io($e.decode(`z${t}`));return t.startsWith("12D")?new vn({multihash:r}):t.startsWith("16U")?new En({multihash:r}):new bn({multihash:r})}return mi(Lm.decode(t))}function mi(t){try{let e=io(t);if(e.code===Lr.code){if(e.digest.length===wl)return new vn({multihash:e});if(e.digest.length===bl)return new En({multihash:e})}if(e.code===He.code)return new bn({multihash:e})}catch{return L_(_e.decode(t))}throw new Error("Supplied PeerID CID is invalid")}function L_(t){if(t==null||t.multihash==null||t.version==null||t.version===1&&t.code!==Pm)throw new Error("Supplied PeerID CID is invalid");let e=t.multihash;if(e.code===He.code)return new bn({multihash:t.multihash});if(e.code===Lr.code){if(e.digest.length===wl)return new vn({multihash:t.multihash});if(e.digest.length===bl)return new En({multihash:t.multihash})}throw new Error("Supplied PeerID CID is invalid")}async function yi(t,e){return t.length===wl?new vn({multihash:Wt(Lr.code,t),privateKey:e}):t.length===bl?new En({multihash:Wt(Lr.code,t),privateKey:e}):new bn({multihash:await He.digest(t),publicKey:t,privateKey:e})}var js=(t=21)=>crypto.getRandomValues(new Uint8Array(t)).reduce((e,r)=>(r&=63,r<36?e+=r.toString(36):r<62?e+=(r-26).toString(36).toUpperCase():r>62?e+="-":e+="_",e),"");var mr="/",Nm=new TextEncoder().encode(mr),Js=Nm[0],Ce=class{_buf;constructor(e,r){if(typeof e=="string")this._buf=V(e);else if(e instanceof Uint8Array)this._buf=e;else throw new Error("Invalid key, should be String of Uint8Array");if(r==null&&(r=!0),r&&this.clean(),this._buf.byteLength===0||this._buf[0]!==Js)throw new Error("Invalid key")}toString(e="utf8"){return G(this._buf,e)}uint8Array(){return this._buf}get[Symbol.toStringTag](){return`Key(${this.toString()})`}static withNamespaces(e){return new Ce(e.join(mr))}static random(){return new Ce(js().replace(/-/g,""))}static asKey(e){return e instanceof Uint8Array||typeof e=="string"?new Ce(e):typeof e.uint8Array=="function"?new Ce(e.uint8Array()):null}clean(){if((this._buf==null||this._buf.byteLength===0)&&(this._buf=Nm),this._buf[0]!==Js){let e=new Uint8Array(this._buf.byteLength+1);e.fill(Js,0,1),e.set(this._buf,1),this._buf=e}for(;this._buf.byteLength>1&&this._buf[this._buf.byteLength-1]===Js;)this._buf=this._buf.subarray(0,-1)}less(e){let r=this.list(),n=e.list();for(let i=0;i<r.length;i++){if(n.length<i+1)return!1;let o=r[i],s=n[i];if(o<s)return!0;if(o>s)return!1}return r.length<n.length}reverse(){return Ce.withNamespaces(this.list().slice().reverse())}namespaces(){return this.list()}baseNamespace(){let e=this.namespaces();return e[e.length-1]}list(){return this.toString().split(mr).slice(1)}type(){return P_(this.baseNamespace())}name(){return D_(this.baseNamespace())}instance(e){return new Ce(this.toString()+":"+e)}path(){let e=this.parent().toString();return e.endsWith(mr)||(e+=mr),e+=this.type(),new Ce(e)}parent(){let e=this.list();return e.length===1?new Ce(mr):new Ce(e.slice(0,-1).join(mr))}child(e){return this.toString()===mr?e:e.toString()===mr?this:new Ce(this.toString()+e.toString(),!1)}isAncestorOf(e){return e.toString()===this.toString()?!1:e.toString().startsWith(this.toString())}isDecendantOf(e){return e.toString()===this.toString()?!1:this.toString().startsWith(e.toString())}isTopLevel(){return this.list().length===1}concat(...e){return Ce.withNamespaces([...this.namespaces(),...N_(e.map(r=>r.namespaces()))])}};function P_(t){let e=t.split(":");return e.length<2?"":e.slice(0,-1).join(":")}function D_(t){let e=t.split(":");return e[e.length-1]}function N_(t){return[].concat(...t)}var zm=z(qm(),1),qr=zm.default;var Jm=z(jm(),1);var J;(function(t){t.ERR_INVALID_PARAMETERS="ERR_INVALID_PARAMETERS",t.ERR_INVALID_KEY_NAME="ERR_INVALID_KEY_NAME",t.ERR_INVALID_KEY_TYPE="ERR_INVALID_KEY_TYPE",t.ERR_KEY_ALREADY_EXISTS="ERR_KEY_ALREADY_EXISTS",t.ERR_INVALID_KEY_SIZE="ERR_INVALID_KEY_SIZE",t.ERR_KEY_NOT_FOUND="ERR_KEY_NOT_FOUND",t.ERR_OLD_KEY_NAME_INVALID="ERR_OLD_KEY_NAME_INVALID",t.ERR_NEW_KEY_NAME_INVALID="ERR_NEW_KEY_NAME_INVALID",t.ERR_PASSWORD_REQUIRED="ERR_PASSWORD_REQUIRED",t.ERR_PEM_REQUIRED="ERR_PEM_REQUIRED",t.ERR_CANNOT_READ_KEY="ERR_CANNOT_READ_KEY",t.ERR_MISSING_PRIVATE_KEY="ERR_MISSING_PRIVATE_KEY",t.ERR_INVALID_OLD_PASS_TYPE="ERR_INVALID_OLD_PASS_TYPE",t.ERR_INVALID_NEW_PASS_TYPE="ERR_INVALID_NEW_PASS_TYPE",t.ERR_INVALID_PASS_LENGTH="ERR_INVALID_PASS_LENGTH"})(J||(J={}));var ra=W("libp2p:keychain"),j_="/pkcs8/",ey="/info/",_n=new WeakMap,Sn={minKeyLength:112/8,minSaltLength:128/8,minIterationCount:1e3},El={dek:{keyLength:512/8,iterationCount:1e4,salt:"you should override this value with a crypto secure random number",hash:"sha2-512"}};function yr(t){return t==null||typeof t!="string"?!1:t===(0,Jm.default)(t.trim())&&t.length>0}async function ue(){let r=Math.random()*800+200;await new Promise(n=>setTimeout(n,r))}function rr(t){return new Ce(j_+t)}function zr(t){return new Ce(ey+t)}var An=class{components;init;constructor(e,r){if(this.components=e,this.init=qr(El,r),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<Sn.minKeyLength)throw new Error(`dek.keyLength must be least ${Sn.minKeyLength} bytes`);if(this.init.dek?.salt?.length!=null&&this.init.dek.salt.length<Sn.minSaltLength)throw new Error(`dek.saltLength must be least ${Sn.minSaltLength} bytes`);if(this.init.dek?.iterationCount!=null&&this.init.dek.iterationCount<Sn.minIterationCount)throw new Error(`dek.iterationCount must be least ${Sn.minIterationCount}`);let n=this.init.pass!=null&&this.init.dek?.salt!=null?Ao(this.init.pass,this.init.dek?.salt,this.init.dek?.iterationCount,this.init.dek?.keyLength,this.init.dek?.hash):"";_n.set(this,{dek:n})}static generateOptions(){let e=Object.assign({},El),r=Math.ceil(Sn.minSaltLength/3)*3;return e.dek.salt=G(gn(r),"base64"),e}static get options(){return El}async createKey(e,r,n=2048){if(!yr(e)||e==="self")throw await ue(),new v("Invalid key name",J.ERR_INVALID_KEY_NAME);if(typeof r!="string")throw await ue(),new v("Invalid key type",J.ERR_INVALID_KEY_TYPE);let i=rr(e);if(await this.components.datastore.has(i))throw await ue(),new v("Key name already exists",J.ERR_KEY_ALREADY_EXISTS);switch(r.toLowerCase()){case"rsa":if(!Number.isSafeInteger(n)||n<2048)throw await ue(),new v("Invalid RSA key size",J.ERR_INVALID_KEY_SIZE);break;default:break}let s;try{let a=await Ws(r,n),c=await a.id(),u=_n.get(this);if(u==null)throw new v("dek missing",J.ERR_INVALID_PARAMETERS);let l=u.dek,f=await a.export(l);s={name:e,id:c};let d=this.components.datastore.batch();d.put(i,V(f)),d.put(zr(e),V(JSON.stringify(s))),await d.commit()}catch(a){throw await ue(),a}return s}async listKeys(){let e={prefix:ey},r=[];for await(let n of this.components.datastore.query(e))r.push(JSON.parse(G(n.value)));return r}async findKeyById(e){try{let n=(await this.listKeys()).find(i=>i.id===e);if(n==null)throw new v(`Key with id '${e}' does not exist.`,J.ERR_KEY_NOT_FOUND);return n}catch(r){throw await ue(),r}}async findKeyByName(e){if(!yr(e))throw await ue(),new v(`Invalid key name '${e}'`,J.ERR_INVALID_KEY_NAME);let r=zr(e);try{let n=await this.components.datastore.get(r);return JSON.parse(G(n))}catch(n){throw await ue(),ra.error(n),new v(`Key '${e}' does not exist.`,J.ERR_KEY_NOT_FOUND)}}async removeKey(e){if(!yr(e)||e==="self")throw await ue(),new v(`Invalid key name '${e}'`,J.ERR_INVALID_KEY_NAME);let r=rr(e),n=await this.findKeyByName(e),i=this.components.datastore.batch();return i.delete(r),i.delete(zr(e)),await i.commit(),n}async renameKey(e,r){if(!yr(e)||e==="self")throw await ue(),new v(`Invalid old key name '${e}'`,J.ERR_OLD_KEY_NAME_INVALID);if(!yr(r)||r==="self")throw await ue(),new v(`Invalid new key name '${r}'`,J.ERR_NEW_KEY_NAME_INVALID);let n=rr(e),i=rr(r),o=zr(e),s=zr(r);if(await this.components.datastore.has(i))throw await ue(),new v(`Key '${r}' already exists`,J.ERR_KEY_ALREADY_EXISTS);try{let c=await this.components.datastore.get(n),u=await this.components.datastore.get(o),l=JSON.parse(G(u));l.name=r;let f=this.components.datastore.batch();return f.put(i,c),f.put(s,V(JSON.stringify(l))),f.delete(n),f.delete(o),await f.commit(),l}catch(c){throw await ue(),c}}async exportKey(e,r){if(!yr(e))throw await ue(),new v(`Invalid key name '${e}'`,J.ERR_INVALID_KEY_NAME);if(r==null)throw await ue(),new v("Password is required",J.ERR_PASSWORD_REQUIRED);let n=rr(e);try{let i=await this.components.datastore.get(n),o=G(i),s=_n.get(this);if(s==null)throw new v("dek missing",J.ERR_INVALID_PARAMETERS);let a=s.dek;return await(await _o(o,a)).export(r)}catch(i){throw await ue(),i}}async exportPeerId(e){let r="temporary-password",n=await this.exportKey(e,r),i=await _o(n,r);return yi(i.public.bytes,i.bytes)}async importKey(e,r,n){if(!yr(e)||e==="self")throw await ue(),new v(`Invalid key name '${e}'`,J.ERR_INVALID_KEY_NAME);if(r==null)throw await ue(),new v("PEM encoded key is required",J.ERR_PEM_REQUIRED);let i=rr(e);if(await this.components.datastore.has(i))throw await ue(),new v(`Key '${e}' already exists`,J.ERR_KEY_ALREADY_EXISTS);let s;try{s=await _o(r,n)}catch{throw await ue(),new v("Cannot read the key, most likely the password is wrong",J.ERR_CANNOT_READ_KEY)}let a;try{a=await s.id();let l=_n.get(this);if(l==null)throw new v("dek missing",J.ERR_INVALID_PARAMETERS);let f=l.dek;r=await s.export(f)}catch(l){throw await ue(),l}let c={name:e,id:a},u=this.components.datastore.batch();return u.put(i,V(r)),u.put(zr(e),V(JSON.stringify(c))),await u.commit(),c}async importPeer(e,r){try{if(!yr(e))throw new v(`Invalid key name '${e}'`,J.ERR_INVALID_KEY_NAME);if(r==null)throw new v("PeerId is required",J.ERR_MISSING_PRIVATE_KEY);if(r.privateKey==null)throw new v("PeerId.privKey is required",J.ERR_MISSING_PRIVATE_KEY);let n=await fi(r.privateKey),i=rr(e);if(await this.components.datastore.has(i))throw await ue(),new v(`Key '${e}' already exists`,J.ERR_KEY_ALREADY_EXISTS);let s=_n.get(this);if(s==null)throw new v("dek missing",J.ERR_INVALID_PARAMETERS);let a=s.dek,c=await n.export(a),u={name:e,id:r.toString()},l=this.components.datastore.batch();return l.put(i,V(c)),l.put(zr(e),V(JSON.stringify(u))),await l.commit(),u}catch(n){throw await ue(),n}}async getPrivateKey(e){if(!yr(e))throw await ue(),new v(`Invalid key name '${e}'`,J.ERR_INVALID_KEY_NAME);try{let r=rr(e),n=await this.components.datastore.get(r);return G(n)}catch(r){throw await ue(),ra.error(r),new v(`Key '${e}' does not exist.`,J.ERR_KEY_NOT_FOUND)}}async rotateKeychainPass(e,r){if(typeof e!="string")throw await ue(),new v(`Invalid old pass type '${typeof e}'`,J.ERR_INVALID_OLD_PASS_TYPE);if(typeof r!="string")throw await ue(),new v(`Invalid new pass type '${typeof r}'`,J.ERR_INVALID_NEW_PASS_TYPE);if(r.length<20)throw await ue(),new v(`Invalid pass length ${r.length}`,J.ERR_INVALID_PASS_LENGTH);ra("recreating keychain");let n=_n.get(this);if(n==null)throw new v("dek missing",J.ERR_INVALID_PARAMETERS);let i=n.dek;this.init.pass=r;let o=r!=null&&this.init.dek?.salt!=null?Ao(r,this.init.dek.salt,this.init.dek?.iterationCount,this.init.dek?.keyLength,this.init.dek?.hash):"";_n.set(this,{dek:o});let s=await this.listKeys();for(let a of s){let c=await this.components.datastore.get(rr(a.name)),u=G(c),l=await _o(u,i),f=o.toString(),d=await l.export(f),p=this.components.datastore.batch(),h={name:a.name,id:a.id};p.put(rr(a.name),V(d)),p.put(zr(a.name),V(JSON.stringify(h))),await p.commit()}ra("keychain reconstructed")}};function gr(t,e){let r={[Symbol.iterator]:()=>r,next:()=>{let n=t.next(),i=n.value;return n.done===!0||i==null?{done:!0,value:void 0}:{done:!1,value:e(i)}}};return r}var Nt=class{map;constructor(e){if(this.map=new Map,e!=null)for(let[r,n]of e.entries())this.map.set(r.toString(),n)}[Symbol.iterator](){return this.entries()}clear(){this.map.clear()}delete(e){this.map.delete(e.toString())}entries(){return gr(this.map.entries(),e=>[oe(e[0]),e[1]])}forEach(e){this.map.forEach((r,n)=>{e(r,oe(n),this)})}get(e){return this.map.get(e.toString())}has(e){return this.map.has(e.toString())}set(e,r){this.map.set(e.toString(),r)}keys(){return gr(this.map.keys(),e=>oe(e))}values(){return this.map.values()}get size(){return this.map.size}};var kt=class{set;constructor(e){if(this.set=new Set,e!=null)for(let r of e)this.set.add(r.toString())}get size(){return this.set.size}[Symbol.iterator](){return this.values()}add(e){this.set.add(e.toString())}clear(){this.set.clear()}delete(e){this.set.delete(e.toString())}entries(){return gr(this.set.entries(),e=>{let r=oe(e[0]);return[r,r]})}forEach(e){this.set.forEach(r=>{let n=oe(r);e(n,n,this)})}has(e){return this.set.has(e.toString())}values(){return gr(this.set.values(),e=>oe(e))}intersection(e){let r=new kt;for(let n of e)this.has(n)&&r.add(n);return r}difference(e){let r=new kt;for(let n of this)e.has(n)||r.add(n);return r}union(e){let r=new kt;for(let n of e)r.add(n);for(let n of this)r.add(n);return r}};var wi=class{list;constructor(e){if(this.list=[],e!=null)for(let r of e)this.list.push(r.toString())}[Symbol.iterator](){return gr(this.list.entries(),e=>oe(e[1]))}concat(e){let r=new wi(this);for(let n of e)r.push(n);return r}entries(){return gr(this.list.entries(),e=>[e[0],oe(e[1])])}every(e){return this.list.every((r,n)=>e(oe(r),n,this))}filter(e){let r=new wi;return this.list.forEach((n,i)=>{let o=oe(n);e(o,i,this)&&r.push(o)}),r}find(e){let r=this.list.find((n,i)=>e(oe(n),i,this));if(r!=null)return oe(r)}findIndex(e){return this.list.findIndex((r,n)=>e(oe(r),n,this))}forEach(e){this.list.forEach((r,n)=>{e(oe(r),n,this)})}includes(e){return this.list.includes(e.toString())}indexOf(e){return this.list.indexOf(e.toString())}pop(){let e=this.list.pop();if(e!=null)return oe(e)}push(...e){for(let r of e)this.list.push(r.toString())}shift(){let e=this.list.shift();if(e!=null)return oe(e)}unshift(...e){let r=this.list.length;for(let n=e.length-1;n>-1;n--)r=this.list.unshift(e[n].toString());return r}get length(){return this.list.length}};var _l;(function(t){let e;t.codec=()=>(e==null&&(e=We((r,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),r.id!=null&&(n.uint32(10),n.bytes(r.id)),r.pubKey!=null&&(n.uint32(18),n.bytes(r.pubKey)),r.privKey!=null&&(n.uint32(26),n.bytes(r.privKey)),i.lengthDelimited!==!1&&n.ldelim()},(r,n)=>{let i={},o=n==null?r.len:r.pos+n;for(;r.pos<o;){let s=r.uint32();switch(s>>>3){case 1:i.id=r.bytes();break;case 2:i.pubKey=r.bytes();break;case 3:i.privKey=r.bytes();break;default:r.skipType(s&7);break}}return i})),e),t.encode=r=>Ye(r,t.codec()),t.decode=r=>Ge(r,t.codec())})(_l||(_l={}));var ty=async()=>{let t=await Ws("Ed25519"),e=await J_(t);if(e.type==="Ed25519")return e;throw new Error(`Generated unexpected PeerId type "${e.type}"`)};async function J_(t){return yi(wm(t.public),bm(t))}function na(t){return t instanceof Uint8Array?{get(e){return t[e]},set(e,r){t[e]=r}}:{get(e){return t.get(e)},set(e,r){t.set(e,r)}}}var ry=4294967296,pt=class{constructor(e=0,r=0){this.hi=e,this.lo=r}toBigInt(e){if(e===!0)return BigInt(this.lo>>>0)+(BigInt(this.hi>>>0)<<32n);if(this.hi>>>31){let r=~this.lo+1>>>0,n=~this.hi>>>0;return r===0&&(n=n+1>>>0),-(BigInt(r)+(BigInt(n)<<32n))}return BigInt(this.lo>>>0)+(BigInt(this.hi>>>0)<<32n)}toNumber(e){return Number(this.toBigInt(e))}zzDecode(){let e=-(this.lo&1),r=((this.lo>>>1|this.hi<<31)^e)>>>0,n=(this.hi>>>1^e)>>>0;return new pt(n,r)}zzEncode(){let e=this.hi>>31,r=((this.hi<<1|this.lo>>>31)^e)>>>0,n=(this.lo<<1^e)>>>0;return new pt(r,n)}toBytes(e,r=0){let n=na(e);for(;this.hi>0;)n.set(r++,this.lo&127|128),this.lo=(this.lo>>>7|this.hi<<25)>>>0,this.hi>>>=7;for(;this.lo>127;)n.set(r++,this.lo&127|128),this.lo=this.lo>>>7;n.set(r++,this.lo)}static fromBigInt(e){if(e===0n)return new pt;let r=e<0;r&&(e=-e);let n=Number(e>>32n)|0,i=Number(e-(BigInt(n)<<32n))|0;return r&&(n=~n>>>0,i=~i>>>0,++i>ry&&(i=0,++n>ry&&(n=0))),new pt(n,i)}static fromNumber(e){if(e===0)return new pt;let r=e<0;r&&(e=-e);let n=e>>>0,i=(e-n)/4294967296>>>0;return r&&(i=~i>>>0,n=~n>>>0,++n>4294967295&&(n=0,++i>4294967295&&(i=0))),new pt(i,n)}static fromBytes(e,r=0){let n=na(e),i=new pt,o=0;if(e.length-r>4){for(;o<4;++o)if(i.lo=(i.lo|(n.get(r)&127)<<o*7)>>>0,n.get(r++)<128)return i;if(i.lo=(i.lo|(n.get(r)&127)<<28)>>>0,i.hi=(i.hi|(n.get(r)&127)>>4)>>>0,n.get(r++)<128)return i;o=0}else for(;o<4;++o){if(r>=e.length)throw RangeError(`index out of range: ${r} > ${e.length}`);if(i.lo=(i.lo|(n.get(r)&127)<<o*7)>>>0,n.get(r++)<128)return i}if(e.length-r>4){for(;o<5;++o)if(i.hi=(i.hi|(n.get(r)&127)<<o*7+3)>>>0,n.get(r++)<128)return i}else if(r<e.byteLength)for(;o<5;++o){if(r>=e.length)throw RangeError(`index out of range: ${r} > ${e.length}`);if(i.hi=(i.hi|(n.get(r)&127)<<o*7+3)>>>0,n.get(r++)<128)return i}throw RangeError("invalid varint encoding")}};var eS=Math.pow(2,7),tS=Math.pow(2,14),rS=Math.pow(2,21),nS=Math.pow(2,28),iS=Math.pow(2,35),oS=Math.pow(2,42),sS=Math.pow(2,49),aS=Math.pow(2,56),cS=Math.pow(2,63),Ot={encodingLength(t){return t<eS?1:t<tS?2:t<rS?3:t<nS?4:t<iS?5:t<oS?6:t<sS?7:t<aS?8:t<cS?9:10},encode(t,e,r=0){if(Number.MAX_SAFE_INTEGER!=null&&t>Number.MAX_SAFE_INTEGER)throw new RangeError("Could not encode varint");return e==null&&(e=Ct(Ot.encodingLength(t))),pt.fromNumber(t).toBytes(e,r),e},decode(t,e=0){return pt.fromBytes(t,e).toNumber(!0)}};var iy=Symbol.for("@achingbrain/uint8arraylist");function ny(t,e){if(e==null||e<0)throw new RangeError("index is out of bounds");let r=0;for(let n of t){let i=r+n.byteLength;if(e<i)return{buf:n,index:e-r};r=i}throw new RangeError("index is out of bounds")}function ia(t){return!!t?.[iy]}var Te=class{constructor(...e){Object.defineProperty(this,iy,{value:!0}),this.bufs=[],this.length=0,e.length>0&&this.appendAll(e)}*[Symbol.iterator](){yield*this.bufs}get byteLength(){return this.length}append(...e){this.appendAll(e)}appendAll(e){let r=0;for(let n of e)if(n instanceof Uint8Array)r+=n.byteLength,this.bufs.push(n);else if(ia(n))r+=n.byteLength,this.bufs.push(...n.bufs);else throw new Error("Could not append value, must be an Uint8Array or a Uint8ArrayList");this.length+=r}prepend(...e){this.prependAll(e)}prependAll(e){let r=0;for(let n of e.reverse())if(n instanceof Uint8Array)r+=n.byteLength,this.bufs.unshift(n);else if(ia(n))r+=n.byteLength,this.bufs.unshift(...n.bufs);else throw new Error("Could not prepend value, must be an Uint8Array or a Uint8ArrayList");this.length+=r}get(e){let r=ny(this.bufs,e);return r.buf[r.index]}set(e,r){let n=ny(this.bufs,e);n.buf[n.index]=r}write(e,r=0){if(e instanceof Uint8Array)for(let n=0;n<e.length;n++)this.set(r+n,e[n]);else if(ia(e))for(let n=0;n<e.length;n++)this.set(r+n,e.get(n));else throw new Error("Could not write value, must be an Uint8Array or a Uint8ArrayList")}consume(e){if(e=Math.trunc(e),!(Number.isNaN(e)||e<=0)){if(e===this.byteLength){this.bufs=[],this.length=0;return}for(;this.bufs.length>0;)if(e>=this.bufs[0].byteLength)e-=this.bufs[0].byteLength,this.length-=this.bufs[0].byteLength,this.bufs.shift();else{this.bufs[0]=this.bufs[0].subarray(e),this.length-=e;break}}}slice(e,r){let{bufs:n,length:i}=this._subList(e,r);return Pe(n,i)}subarray(e,r){let{bufs:n,length:i}=this._subList(e,r);return n.length===1?n[0]:Pe(n,i)}sublist(e,r){let{bufs:n,length:i}=this._subList(e,r),o=new Te;return o.length=i,o.bufs=n,o}_subList(e,r){if(e=e??0,r=r??this.length,e<0&&(e=this.length+e),r<0&&(r=this.length+r),e<0||r>this.length)throw new RangeError("index is out of bounds");if(e===r)return{bufs:[],length:0};if(e===0&&r===this.length)return{bufs:[...this.bufs],length:this.length};let n=[],i=0;for(let o=0;o<this.bufs.length;o++){let s=this.bufs[o],a=i,c=a+s.byteLength;if(i=c,e>=c)continue;let u=e>=a&&e<c,l=r>a&&r<=c;if(u&&l){if(e===a&&r===c){n.push(s);break}let f=e-a;n.push(s.subarray(f,f+(r-e)));break}if(u){if(e===0){n.push(s);continue}n.push(s.subarray(e-a));continue}if(l){if(r===c){n.push(s);break}n.push(s.subarray(0,r-a));break}n.push(s)}return{bufs:n,length:r-e}}indexOf(e,r=0){if(!ia(e)&&!(e instanceof Uint8Array))throw new TypeError('The "value" argument must be a Uint8ArrayList or Uint8Array');let n=e instanceof Uint8Array?e:e.subarray();if(r=Number(r??0),isNaN(r)&&(r=0),r<0&&(r=this.length+r),r<0&&(r=0),e.length===0)return r>this.length?this.length:r;let i=n.byteLength;if(i===0)throw new TypeError("search must be at least 1 byte long");let o=256,s=new Int32Array(o);for(let f=0;f<o;f++)s[f]=-1;for(let f=0;f<i;f++)s[n[f]]=f;let a=s,c=this.byteLength-n.byteLength,u=n.byteLength-1,l;for(let f=r;f<=c;f+=l){l=0;for(let d=u;d>=0;d--){let p=this.get(f+d);if(n[d]!==p){l=Math.max(1,d-a[p]);break}}if(l===0)return f}return-1}getInt8(e){let r=this.subarray(e,e+1);return new DataView(r.buffer,r.byteOffset,r.byteLength).getInt8(0)}setInt8(e,r){let n=Ct(1);new DataView(n.buffer,n.byteOffset,n.byteLength).setInt8(0,r),this.write(n,e)}getInt16(e,r){let n=this.subarray(e,e+2);return new DataView(n.buffer,n.byteOffset,n.byteLength).getInt16(0,r)}setInt16(e,r,n){let i=lr(2);new DataView(i.buffer,i.byteOffset,i.byteLength).setInt16(0,r,n),this.write(i,e)}getInt32(e,r){let n=this.subarray(e,e+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getInt32(0,r)}setInt32(e,r,n){let i=lr(4);new DataView(i.buffer,i.byteOffset,i.byteLength).setInt32(0,r,n),this.write(i,e)}getBigInt64(e,r){let n=this.subarray(e,e+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getBigInt64(0,r)}setBigInt64(e,r,n){let i=lr(8);new DataView(i.buffer,i.byteOffset,i.byteLength).setBigInt64(0,r,n),this.write(i,e)}getUint8(e){let r=this.subarray(e,e+1);return new DataView(r.buffer,r.byteOffset,r.byteLength).getUint8(0)}setUint8(e,r){let n=Ct(1);new DataView(n.buffer,n.byteOffset,n.byteLength).setUint8(0,r),this.write(n,e)}getUint16(e,r){let n=this.subarray(e,e+2);return new DataView(n.buffer,n.byteOffset,n.byteLength).getUint16(0,r)}setUint16(e,r,n){let i=lr(2);new DataView(i.buffer,i.byteOffset,i.byteLength).setUint16(0,r,n),this.write(i,e)}getUint32(e,r){let n=this.subarray(e,e+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getUint32(0,r)}setUint32(e,r,n){let i=lr(4);new DataView(i.buffer,i.byteOffset,i.byteLength).setUint32(0,r,n),this.write(i,e)}getBigUint64(e,r){let n=this.subarray(e,e+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getBigUint64(0,r)}setBigUint64(e,r,n){let i=lr(8);new DataView(i.buffer,i.byteOffset,i.byteLength).setBigUint64(0,r,n),this.write(i,e)}getFloat32(e,r){let n=this.subarray(e,e+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getFloat32(0,r)}setFloat32(e,r,n){let i=lr(4);new DataView(i.buffer,i.byteOffset,i.byteLength).setFloat32(0,r,n),this.write(i,e)}getFloat64(e,r){let n=this.subarray(e,e+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getFloat64(0,r)}setFloat64(e,r,n){let i=lr(8);new DataView(i.buffer,i.byteOffset,i.byteLength).setFloat64(0,r,n),this.write(i,e)}equals(e){if(e==null||!(e instanceof Te)||e.bufs.length!==this.bufs.length)return!1;for(let r=0;r<this.bufs.length;r++)if(!Ee(this.bufs[r],e.bufs[r]))return!1;return!0}static fromUint8Arrays(e,r){let n=new Te;return n.bufs=e,r==null&&(r=e.reduce((i,o)=>i+o.byteLength,0)),n.length=r,n}};var oy={ERR_SIGNATURE_NOT_VALID:"ERR_SIGNATURE_NOT_VALID"};var Co;(function(t){let e;t.codec=()=>(e==null&&(e=We((r,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),r.publicKey!=null&&r.publicKey.byteLength>0&&(n.uint32(10),n.bytes(r.publicKey)),r.payloadType!=null&&r.payloadType.byteLength>0&&(n.uint32(18),n.bytes(r.payloadType)),r.payload!=null&&r.payload.byteLength>0&&(n.uint32(26),n.bytes(r.payload)),r.signature!=null&&r.signature.byteLength>0&&(n.uint32(42),n.bytes(r.signature)),i.lengthDelimited!==!1&&n.ldelim()},(r,n)=>{let i={publicKey:new Uint8Array(0),payloadType:new Uint8Array(0),payload:new Uint8Array(0),signature:new Uint8Array(0)},o=n==null?r.len:r.pos+n;for(;r.pos<o;){let s=r.uint32();switch(s>>>3){case 1:i.publicKey=r.bytes();break;case 2:i.payloadType=r.bytes();break;case 3:i.payload=r.bytes();break;case 5:i.signature=r.bytes();break;default:r.skipType(s&7);break}}return i})),e),t.encode=r=>Ye(r,t.codec()),t.decode=r=>Ge(r,t.codec())})(Co||(Co={}));var To=class{peerId;payloadType;payload;signature;marshaled;constructor(e){let{peerId:r,payloadType:n,payload:i,signature:o}=e;this.peerId=r,this.payloadType=n,this.payload=i,this.signature=o}marshal(){if(this.peerId.publicKey==null)throw new Error("Missing public key");return this.marshaled==null&&(this.marshaled=Co.encode({publicKey:this.peerId.publicKey,payloadType:this.payloadType,payload:this.payload.subarray(),signature:this.signature})),this.marshaled}equals(e){return Ee(this.marshal(),e.marshal())}async validate(e){let r=sy(e,this.payloadType,this.payload);if(this.peerId.publicKey==null)throw new Error("Missing public key");return Eo(this.peerId.publicKey).verify(r.subarray(),this.signature)}},xr=To;wt(xr,"createFromProtobuf",async e=>{let r=Co.decode(e),n=await yi(r.publicKey);return new To({peerId:n,payloadType:r.payloadType,payload:r.payload,signature:r.signature})}),wt(xr,"seal",async(e,r)=>{if(r.privateKey==null)throw new Error("Missing private key");let n=e.domain,i=e.codec,o=e.marshal(),s=sy(n,i,o),c=await(await fi(r.privateKey)).sign(s.subarray());return new To({peerId:r,payloadType:i,payload:o,signature:c})}),wt(xr,"openAndCertify",async(e,r)=>{let n=await To.createFromProtobuf(e);if(!await n.validate(r))throw new v("envelope signature is not valid for the given domain",oy.ERR_SIGNATURE_NOT_VALID);return n});var sy=(t,e,r)=>{let n=V(t),i=Ot.encode(n.byteLength),o=Ot.encode(e.length),s=Ot.encode(r.length);return new Te(i,n,o,e,s,r)};function ay(t,e){let r=(n,i)=>n.toString().localeCompare(i.toString());return t.length!==e.length?!1:(e.sort(r),t.sort(r).every((n,i)=>e[i].equals(n)))}var oa=class extends Error{code;props;constructor(e,r,n){super(e),this.code=r,this.name=n?.name??"CodeError",this.props=n??{}}};var Cl={};$(Cl,{base58btc:()=>at,base58flickr:()=>pS});function uS(t,e){if(t.length>=255)throw new TypeError("Alphabet too long");for(var r=new Uint8Array(256),n=0;n<r.length;n++)r[n]=255;for(var i=0;i<t.length;i++){var o=t.charAt(i),s=o.charCodeAt(0);if(r[s]!==255)throw new TypeError(o+" is ambiguous");r[s]=i}var a=t.length,c=t.charAt(0),u=Math.log(a)/Math.log(256),l=Math.log(256)/Math.log(a);function f(h){if(h instanceof Uint8Array||(ArrayBuffer.isView(h)?h=new Uint8Array(h.buffer,h.byteOffset,h.byteLength):Array.isArray(h)&&(h=Uint8Array.from(h))),!(h instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(h.length===0)return"";for(var m=0,y=0,g=0,x=h.length;g!==x&&h[g]===0;)g++,m++;for(var E=(x-g)*l+1>>>0,T=new Uint8Array(E);g!==x;){for(var I=h[g],C=0,O=E-1;(I!==0||C<y)&&O!==-1;O--,C++)I+=256*T[O]>>>0,T[O]=I%a>>>0,I=I/a>>>0;if(I!==0)throw new Error("Non-zero carry");y=C,g++}for(var U=E-y;U!==E&&T[U]===0;)U++;for(var se=c.repeat(m);U<E;++U)se+=t.charAt(T[U]);return se}function d(h){if(typeof h!="string")throw new TypeError("Expected String");if(h.length===0)return new Uint8Array;var m=0;if(h[m]!==" "){for(var y=0,g=0;h[m]===c;)y++,m++;for(var x=(h.length-m)*u+1>>>0,E=new Uint8Array(x);h[m];){var T=r[h.charCodeAt(m)];if(T===255)return;for(var I=0,C=x-1;(T!==0||I<g)&&C!==-1;C--,I++)T+=a*E[C]>>>0,E[C]=T%256>>>0,T=T/256>>>0;if(T!==0)throw new Error("Non-zero carry");g=I,m++}if(h[m]!==" "){for(var O=x-g;O!==x&&E[O]===0;)O++;for(var U=new Uint8Array(y+(x-O)),se=y;O!==x;)U[se++]=E[O++];return U}}}function p(h){var m=d(h);if(m)return m;throw new Error(`Non-${e} character`)}return{encode:f,decodeUnsafe:d,decode:p}}var lS=uS,fS=lS,cy=fS;var i6=new Uint8Array(0);var uy=(t,e)=>{if(t===e)return!0;if(t.byteLength!==e.byteLength)return!1;for(let r=0;r<t.byteLength;r++)if(t[r]!==e[r])return!1;return!0},wr=t=>{if(t instanceof Uint8Array&&t.constructor.name==="Uint8Array")return t;if(t instanceof ArrayBuffer)return new Uint8Array(t);if(ArrayBuffer.isView(t))return new Uint8Array(t.buffer,t.byteOffset,t.byteLength);throw new Error("Unknown type, must be binary type")};var ly=t=>new TextEncoder().encode(t),fy=t=>new TextDecoder().decode(t);var Sl=class{constructor(e,r,n){this.name=e,this.prefix=r,this.baseEncode=n}encode(e){if(e instanceof Uint8Array)return`${this.prefix}${this.baseEncode(e)}`;throw Error("Unknown type, must be binary type")}},Al=class{constructor(e,r,n){if(this.name=e,this.prefix=r,r.codePointAt(0)===void 0)throw new Error("Invalid prefix character");this.prefixCodePoint=r.codePointAt(0),this.baseDecode=n}decode(e){if(typeof e=="string"){if(e.codePointAt(0)!==this.prefixCodePoint)throw Error(`Unable to decode multibase string ${JSON.stringify(e)}, ${this.name} decoder only supports inputs prefixed with ${this.prefix}`);return this.baseDecode(e.slice(this.prefix.length))}else throw Error("Can only multibase decode strings")}or(e){return dy(this,e)}},Il=class{constructor(e){this.decoders=e}or(e){return dy(this,e)}decode(e){let r=e[0],n=this.decoders[r];if(n)return n.decode(e);throw RangeError(`Unable to decode multibase string ${JSON.stringify(e)}, only inputs prefixed with ${Object.keys(this.decoders)} are supported`)}},dy=(t,e)=>new Il({...t.decoders||{[t.prefix]:t},...e.decoders||{[e.prefix]:e}}),Rl=class{constructor(e,r,n,i){this.name=e,this.prefix=r,this.baseEncode=n,this.baseDecode=i,this.encoder=new Sl(e,r,n),this.decoder=new Al(e,r,i)}encode(e){return this.encoder.encode(e)}decode(e){return this.decoder.decode(e)}},bi=({name:t,prefix:e,encode:r,decode:n})=>new Rl(t,e,r,n),$r=({prefix:t,name:e,alphabet:r})=>{let{encode:n,decode:i}=cy(r,e);return bi({prefix:t,name:e,encode:n,decode:o=>wr(i(o))})},hS=(t,e,r,n)=>{let i={};for(let l=0;l<e.length;++l)i[e[l]]=l;let o=t.length;for(;t[o-1]==="=";)--o;let s=new Uint8Array(o*r/8|0),a=0,c=0,u=0;for(let l=0;l<o;++l){let f=i[t[l]];if(f===void 0)throw new SyntaxError(`Non-${n} character`);c=c<<r|f,a+=r,a>=8&&(a-=8,s[u++]=255&c>>a)}if(a>=r||255&c<<8-a)throw new SyntaxError("Unexpected end of data");return s},dS=(t,e,r)=>{let n=e[e.length-1]==="=",i=(1<<r)-1,o="",s=0,a=0;for(let c=0;c<t.length;++c)for(a=a<<8|t[c],s+=8;s>r;)s-=r,o+=e[i&a>>s];if(s&&(o+=e[i&a<<r-s]),n)for(;o.length*r&7;)o+="=";return o},Be=({name:t,prefix:e,bitsPerChar:r,alphabet:n})=>bi({prefix:e,name:t,encode(i){return dS(i,n,r)},decode(i){return hS(i,n,r,t)}});var at=$r({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),pS=$r({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var mS=yy,py=128,yS=127,gS=~yS,xS=Math.pow(2,31);function yy(t,e,r){e=e||[],r=r||0;for(var n=r;t>=xS;)e[r++]=t&255|py,t/=128;for(;t&gS;)e[r++]=t&255|py,t>>>=7;return e[r]=t|0,yy.bytes=r-n+1,e}var wS=Tl,bS=128,my=127;function Tl(t,n){var r=0,n=n||0,i=0,o=n,s,a=t.length;do{if(o>=a)throw Tl.bytes=0,new RangeError("Could not decode varint");s=t[o++],r+=i<28?(s&my)<<i:(s&my)*Math.pow(2,i),i+=7}while(s>=bS);return Tl.bytes=o-n,r}var vS=Math.pow(2,7),ES=Math.pow(2,14),_S=Math.pow(2,21),SS=Math.pow(2,28),AS=Math.pow(2,35),IS=Math.pow(2,42),RS=Math.pow(2,49),CS=Math.pow(2,56),TS=Math.pow(2,63),BS=function(t){return t<vS?1:t<ES?2:t<_S?3:t<SS?4:t<AS?5:t<IS?6:t<RS?7:t<CS?8:t<TS?9:10},LS={encode:mS,decode:wS,encodingLength:BS},PS=LS,Bo=PS;var Lo=(t,e=0)=>[Bo.decode(t,e),Bo.decode.bytes],vi=(t,e,r=0)=>(Bo.encode(t,e,r),e),Ei=t=>Bo.encodingLength(t);var In=(t,e)=>{let r=e.byteLength,n=Ei(t),i=n+Ei(r),o=new Uint8Array(i+r);return vi(t,o,0),vi(r,o,n),o.set(e,i),new _i(t,r,e,o)},aa=t=>{let e=wr(t),[r,n]=Lo(e),[i,o]=Lo(e.subarray(n)),s=e.subarray(n+o);if(s.byteLength!==i)throw new Error("Incorrect length");return new _i(r,i,s,e)},gy=(t,e)=>{if(t===e)return!0;{let r=e;return t.code===r.code&&t.size===r.size&&r.bytes instanceof Uint8Array&&uy(t.bytes,r.bytes)}},_i=class{constructor(e,r,n,i){this.code=e,this.size=r,this.digest=n,this.bytes=i}};var Bl={};$(Bl,{base32:()=>br,base32hex:()=>OS,base32hexpad:()=>US,base32hexpadupper:()=>FS,base32hexupper:()=>MS,base32pad:()=>NS,base32padupper:()=>kS,base32upper:()=>DS,base32z:()=>KS});var br=Be({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),DS=Be({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),NS=Be({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),kS=Be({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),OS=Be({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),MS=Be({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),US=Be({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),FS=Be({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),KS=Be({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var xy=(t,e)=>{let{bytes:r,version:n}=t;switch(n){case 0:return qS(r,Ll(t),e||at.encoder);default:return zS(r,Ll(t),e||br.encoder)}};var wy=new WeakMap,Ll=t=>{let e=wy.get(t);if(e==null){let r=new Map;return wy.set(t,r),r}return e},be=class{constructor(e,r,n,i){this.code=r,this.version=e,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:e,multihash:r}=this;if(e!==Po)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(r.code!==$S)throw new Error("Cannot convert non sha2-256 multihash CID to CIDv0");return be.createV0(r)}default:throw Error(`Can not convert CID version ${this.version} to version 0. This is a bug please report`)}}toV1(){switch(this.version){case 0:{let{code:e,digest:r}=this.multihash,n=In(e,r);return be.createV1(this.code,n)}case 1:return this;default:throw Error(`Can not convert CID version ${this.version} to version 1. This is a bug please report`)}}equals(e){return be.equals(this,e)}static equals(e,r){let n=r;return n&&e.code===n.code&&e.version===n.version&&gy(e.multihash,n.multihash)}toString(e){return xy(this,e)}toJSON(){return{"/":xy(this)}}link(){return this}get[Symbol.toStringTag](){return"CID"}[Symbol.for("nodejs.util.inspect.custom")](){return`CID(${this.toString()})`}static asCID(e){if(e==null)return null;let r=e;if(r instanceof be)return r;if(r["/"]!=null&&r["/"]===r.bytes||r.asCID===r){let{version:n,code:i,multihash:o,bytes:s}=r;return new be(n,i,o,s||by(n,i,o.bytes))}else if(r[HS]===!0){let{version:n,multihash:i,code:o}=r,s=aa(i);return be.create(n,o,s)}else return null}static create(e,r,n){if(typeof r!="number")throw new Error("String codecs are no longer supported");if(!(n.bytes instanceof Uint8Array))throw new Error("Invalid digest");switch(e){case 0:{if(r!==Po)throw new Error(`Version 0 CID must use dag-pb (code: ${Po}) block encoding`);return new be(e,r,n,n.bytes)}case 1:{let i=by(e,r,n.bytes);return new be(e,r,n,i)}default:throw new Error("Invalid version")}}static createV0(e){return be.create(0,Po,e)}static createV1(e,r){return be.create(1,e,r)}static decode(e){let[r,n]=be.decodeFirst(e);if(n.length)throw new Error("Incorrect length");return r}static decodeFirst(e){let r=be.inspectBytes(e),n=r.size-r.multihashSize,i=wr(e.subarray(n,n+r.multihashSize));if(i.byteLength!==r.multihashSize)throw new Error("Incorrect length");let o=i.subarray(r.multihashSize-r.digestSize),s=new _i(r.multihashCode,r.digestSize,o,i);return[r.version===0?be.createV0(s):be.createV1(r.codec,s),e.subarray(r.size)]}static inspectBytes(e){let r=0,n=()=>{let[f,d]=Lo(e.subarray(r));return r+=d,f},i=n(),o=Po;if(i===18?(i=0,r=0):o=n(),i!==0&&i!==1)throw new RangeError(`Invalid CID version ${i}`);let s=r,a=n(),c=n(),u=r+c,l=u-s;return{version:i,codec:o,multihashCode:a,digestSize:c,multihashSize:l,size:u}}static parse(e,r){let[n,i]=VS(e,r),o=be.decode(i);if(o.version===0&&e[0]!=="Q")throw Error("Version 0 CID string must not include multibase prefix");return Ll(o).set(n,e),o}},VS=(t,e)=>{switch(t[0]){case"Q":{let r=e||at;return[at.prefix,r.decode(`${at.prefix}${t}`)]}case at.prefix:{let r=e||at;return[at.prefix,r.decode(t)]}case br.prefix:{let r=e||br;return[br.prefix,r.decode(t)]}default:{if(e==null)throw Error("To parse non base32 or base58btc encoded CID multibase decoder must be provided");return[t[0],e.decode(t)]}}},qS=(t,e,r)=>{let{prefix:n}=r;if(n!==at.prefix)throw Error(`Cannot string encode V0 in ${r.name} encoding`);let i=e.get(n);if(i==null){let o=r.encode(t).slice(1);return e.set(n,o),o}else return i},zS=(t,e,r)=>{let{prefix:n}=r,i=e.get(n);if(i==null){let o=r.encode(t);return e.set(n,o),o}else return i},Po=112,$S=18,by=(t,e,r)=>{let n=Ei(t),i=n+Ei(e),o=new Uint8Array(i+r.byteLength);return vi(t,o,0),vi(e,o,n),o.set(r,i),o},HS=Symbol.for("@ipld/js-cid/CID");var nf=z(ca(),1);var Ri=z(ca(),1);var ua=class{index=0;input="";new(e){return this.index=0,this.input=e,this}readAtomically(e){let r=this.index,n=e();return n===void 0&&(this.index=r),n}parseWith(e){let r=e();if(this.index===this.input.length)return r}peekChar(){if(!(this.index>=this.input.length))return this.input[this.index]}readChar(){if(!(this.index>=this.input.length))return this.input[this.index++]}readGivenChar(e){return this.readAtomically(()=>{let r=this.readChar();if(r===e)return r})}readSeparator(e,r,n){return this.readAtomically(()=>{if(!(r>0&&this.readGivenChar(e)===void 0))return n()})}readNumber(e,r,n,i){return this.readAtomically(()=>{let o=0,s=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,e);if(!Number.isNaN(d))return d});if(l===void 0)break;if(o*=e,o+=l,o>u||(s+=1,r!==void 0&&s>r))return}if(s!==0)return!n&&c&&s>1?void 0:o})}readIPv4Addr(){return this.readAtomically(()=>{let e=new Uint8Array(4);for(let r=0;r<e.length;r++){let n=this.readSeparator(".",r,()=>this.readNumber(10,3,!1,1));if(n===void 0)return;e[r]=n}return e})}readIPv6Addr(){let e=r=>{for(let n=0;n<r.length/2;n++){let i=n*2;if(n<r.length-3){let s=this.readSeparator(":",n,()=>this.readIPv4Addr());if(s!==void 0)return r[i]=s[0],r[i+1]=s[1],r[i+2]=s[2],r[i+3]=s[3],[i+4,!0]}let o=this.readSeparator(":",n,()=>this.readNumber(16,4,!0,2));if(o===void 0)return[i,!1];r[i]=o>>8,r[i+1]=o&255}return[r.length,!1]};return this.readAtomically(()=>{let r=new Uint8Array(16),[n,i]=e(r);if(n===16)return r;if(i||this.readGivenChar(":")===void 0||this.readGivenChar(":")===void 0)return;let o=new Uint8Array(14),s=16-(n+2),[a]=e(o.subarray(0,s));return r.set(o.subarray(0,a),16-a),r})}readIPAddr(){return this.readIPv4Addr()??this.readIPv6Addr()}};var By=45,oA=15,Ai=new ua;function Nl(t){if(!(t.length>oA))return Ai.new(t).parseWith(()=>Ai.readIPv4Addr())}function kl(t){if(!(t.length>By))return Ai.new(t).parseWith(()=>Ai.readIPv6Addr())}function la(t){if(!(t.length>By))return Ai.new(t).parseWith(()=>Ai.readIPAddr())}var L6=parseInt("0xFFFF",16),P6=new Uint8Array([0,0,0,0,0,0,0,0,0,0,255,255]);var Ol={};$(Ol,{identity:()=>lA});var lA=bi({prefix:"\0",name:"identity",encode:t=>fy(t),decode:t=>ly(t)});var Ml={};$(Ml,{base2:()=>fA});var fA=Be({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var Ul={};$(Ul,{base8:()=>hA});var hA=Be({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var Fl={};$(Fl,{base10:()=>dA});var dA=$r({prefix:"9",name:"base10",alphabet:"0123456789"});var Kl={};$(Kl,{base16:()=>pA,base16upper:()=>mA});var pA=Be({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),mA=Be({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var Vl={};$(Vl,{base36:()=>yA,base36upper:()=>gA});var yA=$r({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),gA=$r({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var ql={};$(ql,{base64:()=>xA,base64pad:()=>wA,base64url:()=>bA,base64urlpad:()=>vA});var xA=Be({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),wA=Be({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),bA=Be({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),vA=Be({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});var zl={};$(zl,{base256emoji:()=>IA});var Dy=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}"),EA=Dy.reduce((t,e,r)=>(t[r]=e,t),[]),_A=Dy.reduce((t,e,r)=>(t[e.codePointAt(0)]=r,t),[]);function SA(t){return t.reduce((e,r)=>(e+=EA[r],e),"")}function AA(t){let e=[];for(let r of t){let n=_A[r.codePointAt(0)];if(n===void 0)throw new Error(`Non-base256emoji character: ${r}`);e.push(n)}return new Uint8Array(e)}var IA=bi({prefix:"\u{1F680}",name:"base256emoji",encode:SA,decode:AA});var Gl={};$(Gl,{sha256:()=>RA,sha512:()=>CA});var Hl=({name:t,code:e,encode:r})=>new $l(t,e,r),$l=class{constructor(e,r,n){this.name=e,this.code=r,this.encode=n}digest(e){if(e instanceof Uint8Array){let r=this.encode(e);return r instanceof Uint8Array?In(this.code,r):r.then(n=>In(this.code,n))}else throw Error("Unknown type, must be binary type")}};var ky=t=>async e=>new Uint8Array(await crypto.subtle.digest(t,e)),RA=Hl({name:"sha2-256",code:18,encode:ky("SHA-256")}),CA=Hl({name:"sha2-512",code:19,encode:ky("SHA-512")});var Yl={};$(Yl,{identity:()=>LA});var Oy=0,TA="identity",My=wr,BA=t=>In(Oy,My(t)),LA={code:Oy,name:TA,encode:My,digest:BA};var hL=new TextEncoder,dL=new TextDecoder;var Uy={...Ol,...Ml,...Ul,...Fl,...Kl,...Bl,...Vl,...Cl,...ql,...zl},xL={...Gl,...Yl};var nr=z(ca(),1);function Fy(t){return!!Nl(t)}function Ky(t){return!!kl(t)}function Ii(t){return!!la(t)}var Vy=Fy,NA=Ky,Wl=function(t){let e=0;if(t=t.toString().trim(),Vy(t)){let r=new Uint8Array(e+4);return t.split(/\./g).forEach(n=>{r[e++]=parseInt(n,10)&255}),r}if(NA(t)){let r=t.split(":",8),n;for(n=0;n<r.length;n++){let o=Vy(r[n]),s;o&&(s=Wl(r[n]),r[n]=G(s.slice(0,2),"base16")),s!=null&&++n<8&&r.splice(n,0,G(s.slice(2,4),"base16"))}if(r[0]==="")for(;r.length<8;)r.unshift("0");else if(r[r.length-1]==="")for(;r.length<8;)r.push("0");else if(r.length<8){for(n=0;n<r.length&&r[n]!=="";n++);let o=[n,1];for(n=9-r.length;n>0;n--)o.push("0");r.splice.apply(r,o)}let i=new Uint8Array(e+16);for(n=0;n<r.length;n++){let o=parseInt(r[n],16);i[e++]=o>>8&255,i[e++]=o&255}return i}throw new Error("invalid ip address")},qy=function(t,e=0,r){e=~~e,r=r??t.length-e;let n=new DataView(t.buffer);if(r===4){let i=[];for(let o=0;o<r;o++)i.push(t[e+o]);return i.join(".")}if(r===16){let i=[];for(let o=0;o<r;o+=2)i.push(n.getUint16(e+o).toString(16));return i.join(":").replace(/(^|:)0(:0)*:0(:|$)/,"$1::$3").replace(/:{3,4}/,"::")}return""};var Do={},Ql={},OA=[[4,32,"ip4"],[6,16,"tcp"],[33,16,"dccp"],[41,128,"ip6"],[42,-1,"ip6zone"],[43,8,"ipcidr"],[53,-1,"dns",!0],[54,-1,"dns4",!0],[55,-1,"dns6",!0],[56,-1,"dnsaddr",!0],[132,16,"sctp"],[273,16,"udp"],[275,0,"p2p-webrtc-star"],[276,0,"p2p-webrtc-direct"],[277,0,"p2p-stardust"],[280,0,"webrtc-direct"],[281,0,"webrtc"],[290,0,"p2p-circuit"],[301,0,"udt"],[302,0,"utp"],[400,-1,"unix",!1,!0],[421,-1,"ipfs"],[421,-1,"p2p"],[443,0,"https"],[444,96,"onion"],[445,296,"onion3"],[446,-1,"garlic64"],[448,0,"tls"],[449,-1,"sni"],[460,0,"quic"],[461,0,"quic-v1"],[465,0,"webtransport"],[466,-1,"certhash"],[477,0,"ws"],[478,0,"wss"],[479,0,"p2p-websocket-star"],[480,0,"http"],[777,-1,"memory"]];OA.forEach(t=>{let e=MA(...t);Ql[e.code]=e,Do[e.name]=e});function MA(t,e,r,n,i){return{code:t,size:e,name:r,resolvable:!!n,path:!!i}}function le(t){if(typeof t=="number"){if(Ql[t]!=null)return Ql[t];throw new Error(`no protocol with code: ${t}`)}else if(typeof t=="string"){if(Do[t]!=null)return Do[t];throw new Error(`no protocol with name: ${t}`)}throw new Error(`invalid protocol id type: ${typeof t}`)}var kL=le("ip4"),OL=le("ip6"),ML=le("ipcidr");function Yy(t,e){switch(le(t).code){case 4:case 41:return FA(e);case 42:return Hy(e);case 6:case 273:case 33:case 132:return Qy(e).toString();case 53:case 54:case 55:case 56:case 400:case 449:case 777:return Hy(e);case 421:return zA(e);case 444:return Gy(e);case 445:return Gy(e);case 466:return qA(e);default:return G(e,"base16")}}function Wy(t,e){switch(le(t).code){case 4:return zy(e);case 41:return zy(e);case 42:return $y(e);case 6:case 273:case 33:case 132:return Zl(parseInt(e,10));case 53:case 54:case 55:case 56:case 400:case 449:case 777:return $y(e);case 421:return KA(e);case 444:return $A(e);case 445:return HA(e);case 466:return VA(e);default:return V(e,"base16")}}var Xl=Object.values(Uy).map(t=>t.decoder),UA=function(){let t=Xl[0].or(Xl[1]);return Xl.slice(2).forEach(e=>t=t.or(e)),t}();function zy(t){if(!Ii(t))throw new Error("invalid ip address");return Wl(t)}function FA(t){let e=qy(t,0,t.length);if(e==null)throw new Error("ipBuff is required");if(!Ii(e))throw new Error("invalid ip address");return e}function Zl(t){let e=new ArrayBuffer(2);return new DataView(e).setUint16(0,t),new Uint8Array(e)}function Qy(t){return new DataView(t.buffer).getUint16(t.byteOffset)}function $y(t){let e=V(t),r=Uint8Array.from(nr.default.encode(e.length));return Pe([r,e],r.length+e.length)}function Hy(t){let e=nr.default.decode(t);if(t=t.slice(nr.default.decode.bytes),t.length!==e)throw new Error("inconsistent lengths");return G(t)}function KA(t){let e;t[0]==="Q"||t[0]==="1"?e=aa(at.decode(`z${t}`)).bytes:e=be.parse(t).multihash.bytes;let r=Uint8Array.from(nr.default.encode(e.length));return Pe([r,e],r.length+e.length)}function VA(t){let e=UA.decode(t),r=Uint8Array.from(nr.default.encode(e.length));return Pe([r,e],r.length+e.length)}function qA(t){let e=nr.default.decode(t),r=t.slice(nr.default.decode.bytes);if(r.length!==e)throw new Error("inconsistent lengths");return"u"+G(r,"base64url")}function zA(t){let e=nr.default.decode(t),r=t.slice(nr.default.decode.bytes);if(r.length!==e)throw new Error("inconsistent lengths");return G(r,"base58btc")}function $A(t){let e=t.split(":");if(e.length!==2)throw new Error(`failed to parse onion addr: ["'${e.join('", "')}'"]' does not contain a port number`);if(e[0].length!==16)throw new Error(`failed to parse onion addr: ${e[0]} not a Tor onion address.`);let r=br.decode("b"+e[0]),n=parseInt(e[1],10);if(n<1||n>65536)throw new Error("Port number is not in range(1, 65536)");let i=Zl(n);return Pe([r,i],r.length+i.length)}function HA(t){let e=t.split(":");if(e.length!==2)throw new Error(`failed to parse onion addr: ["'${e.join('", "')}'"]' does not contain a port number`);if(e[0].length!==56)throw new Error(`failed to parse onion addr: ${e[0]} not a Tor onion3 address.`);let r=br.decode(`b${e[0]}`),n=parseInt(e[1],10);if(n<1||n>65536)throw new Error("Port number is not in range(1, 65536)");let i=Zl(n);return Pe([r,i],r.length+i.length)}function Gy(t){let e=t.slice(0,t.length-2),r=t.slice(t.length-2),n=G(e,"base32"),i=Qy(r);return`${n}:${i}`}function GA(t){let e=[],r=t.split("/").slice(1);if(r.length===1&&r[0]==="")return[];for(let n=0;n<r.length;n++){let i=r[n],o=le(i);if(o.size===0){e.push([i]);continue}if(n++,n>=r.length)throw Zy("invalid address: "+t);if(o.path===!0){e.push([i,rf(r.slice(n).join("/"))]);break}e.push([i,r[n]])}return e}function YA(t){let e=[];return t.map(r=>{let n=da(r);return e.push(n.name),r.length>1&&r[1]!=null&&e.push(r[1]),null}),rf(e.join("/"))}function WA(t){return t.map(e=>{Array.isArray(e)||(e=[e]);let r=da(e);return e.length>1?[r.code,Wy(r.code,e[1])]:[r.code]})}function jl(t){return t.map(e=>{let r=da(e);return e[1]!=null?[r.code,Yy(r.code,e[1])]:[r.code]})}function Jl(t){return ha(Pe(t.map(e=>{let r=da(e),n=Uint8Array.from(Ri.default.encode(r.code));return e.length>1&&e[1]!=null&&(n=Pe([n,e[1]])),n})))}function ef(t,e){return t.size>0?t.size/8:t.size===0?0:Ri.default.decode(e)+(Ri.default.decode.bytes??0)}function fa(t){let e=[],r=0;for(;r<t.length;){let n=Ri.default.decode(t,r),i=Ri.default.decode.bytes??0,o=le(n),s=ef(o,t.slice(r+i));if(s===0){e.push([n]),r+=i;continue}let a=t.slice(r+i,r+i+s);if(r+=s+i,r>t.length)throw Zy("Invalid address Uint8Array: "+G(t,"base16"));e.push([n,a])}return e}function tf(t){let e=fa(t),r=jl(e);return YA(r)}function QA(t){t=rf(t);let e=GA(t),r=WA(e);return Jl(r)}function Xy(t){return QA(t)}function ha(t){let e=XA(t);if(e!=null)throw e;return Uint8Array.from(t)}function XA(t){try{fa(t)}catch(e){return e}}function rf(t){return"/"+t.trim().split("/").filter(e=>e).join("/")}function Zy(t){return new Error("Error parsing address: "+t)}function da(t){return le(t[0])}var jA=Symbol.for("nodejs.util.inspect.custom"),JA=[le("dns").code,le("dns4").code,le("dns6").code,le("dnsaddr").code],of=new Map,jy=Symbol.for("@multiformats/js-multiaddr/multiaddr");function Rn(t){return!!t?.[jy]}var vr=class{bytes;#e;#t;#n;#r;[jy]=!0;constructor(e){if(e==null&&(e=""),e instanceof Uint8Array)this.bytes=ha(e);else if(typeof e=="string"){if(e.length>0&&e.charAt(0)!=="/")throw new Error(`multiaddr "${e}" must start with a "/"`);this.bytes=Xy(e)}else if(Rn(e))this.bytes=ha(e.bytes);else throw new Error("addr must be a string, Buffer, or another Multiaddr")}toString(){return this.#e==null&&(this.#e=tf(this.bytes)),this.#e}toJSON(){return this.toString()}toOptions(){let e,r,n,i,o="",s=le("tcp"),a=le("udp"),c=le("ip4"),u=le("ip6"),l=le("dns6"),f=le("ip6zone");for(let[p,h]of this.stringTuples())p===f.code&&(o=`%${h??""}`),JA.includes(p)&&(r=s.name,i=443,n=`${h??""}${o}`,e=p===l.code?6:4),(p===s.code||p===a.code)&&(r=le(p).name,i=parseInt(h??"")),(p===c.code||p===u.code)&&(r=le(p).name,n=`${h??""}${o}`,e=p===u.code?6:4);if(e==null||r==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:e,host:n,transport:r,port:i}}protos(){return this.protoCodes().map(e=>Object.assign({},le(e)))}protoCodes(){let e=[],r=this.bytes,n=0;for(;n<r.length;){let i=nf.default.decode(r,n),o=nf.default.decode.bytes??0,s=le(i),a=ef(s,r.slice(n+o));n+=a+o,e.push(i)}return e}protoNames(){return this.protos().map(e=>e.name)}tuples(){return this.#t==null&&(this.#t=fa(this.bytes)),this.#t}stringTuples(){return this.#n==null&&(this.#n=jl(this.tuples())),this.#n}encapsulate(e){return e=new vr(e),new vr(this.toString()+e.toString())}decapsulate(e){let r=e.toString(),n=this.toString(),i=n.lastIndexOf(r);if(i<0)throw new Error(`Address ${this.toString()} does not contain subaddress: ${e.toString()}`);return new vr(n.slice(0,i))}decapsulateCode(e){let r=this.tuples();for(let n=r.length-1;n>=0;n--)if(r[n][0]===e)return new vr(Jl(r.slice(0,n)));return this}getPeerId(){try{let r=this.stringTuples().filter(n=>n[0]===Do.ipfs.code).pop();if(r?.[1]!=null){let n=r[1];return n[0]==="Q"||n[0]==="1"?G(at.decode(`z${n}`),"base58btc"):G(be.parse(n).multihash.bytes,"base58btc")}return null}catch{return null}}getPath(){if(this.#r===void 0)try{this.#r=this.stringTuples().filter(e=>le(e[0]).path===!0)[0][1],this.#r==null&&(this.#r=null)}catch{this.#r=null}return this.#r}equals(e){return Ee(this.bytes,e.bytes)}async resolve(e){let r=this.protos().find(o=>o.resolvable);if(r==null)return[this];let n=of.get(r.name);if(n==null)throw new oa(`no available resolver for ${r.name}`,"ERR_NO_AVAILABLE_RESOLVER");return(await n(this,e)).map(o=>new vr(o))}nodeAddress(){let e=this.toOptions();if(e.transport!=="tcp"&&e.transport!=="udp")throw new Error(`multiaddr must have a valid format - no protocol with name: "${e.transport}". Must have a valid transport protocol: "{tcp, udp}"`);return{family:e.family,address:e.host,port:e.port}}isThinWaistAddress(e){let r=(e??this).protos();return!(r.length!==2||r[0].code!==4&&r[0].code!==41||r[1].code!==6&&r[1].code!==273)}[jA](){return`Multiaddr(${tf(this.bytes)})`}};function Ue(t){return new vr(t)}var Jy="libp2p-peer-record",eg=Uint8Array.from([3,1]);var No;(function(t){let e;(function(n){let i;n.codec=()=>(i==null&&(i=We((o,s,a={})=>{a.lengthDelimited!==!1&&s.fork(),o.multiaddr!=null&&o.multiaddr.byteLength>0&&(s.uint32(10),s.bytes(o.multiaddr)),a.lengthDelimited!==!1&&s.ldelim()},(o,s)=>{let a={multiaddr:new Uint8Array(0)},c=s==null?o.len:o.pos+s;for(;o.pos<c;){let u=o.uint32();switch(u>>>3){case 1:a.multiaddr=o.bytes();break;default:o.skipType(u&7);break}}return a})),i),n.encode=o=>Ye(o,n.codec()),n.decode=o=>Ge(o,n.codec())})(e=t.AddressInfo||(t.AddressInfo={}));let r;t.codec=()=>(r==null&&(r=We((n,i,o={})=>{if(o.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 s of n.addresses)i.uint32(26),t.AddressInfo.codec().encode(s,i);o.lengthDelimited!==!1&&i.ldelim()},(n,i)=>{let o={peerId:new Uint8Array(0),seq:0n,addresses:[]},s=i==null?n.len:n.pos+i;for(;n.pos<s;){let a=n.uint32();switch(a>>>3){case 1:o.peerId=n.bytes();break;case 2:o.seq=n.uint64();break;case 3:o.addresses.push(t.AddressInfo.codec().decode(n,n.uint32()));break;default:n.skipType(a&7);break}}return o})),r),t.encode=n=>Ye(n,t.codec()),t.decode=n=>Ge(n,t.codec())})(No||(No={}));var Ci=class{peerId;multiaddrs;seqNumber;domain=Ci.DOMAIN;codec=Ci.CODEC;marshaled;constructor(e){let{peerId:r,multiaddrs:n,seqNumber:i}=e;this.peerId=r,this.multiaddrs=n??[],this.seqNumber=i??BigInt(Date.now())}marshal(){return this.marshaled==null&&(this.marshaled=No.encode({peerId:this.peerId.toBytes(),seq:BigInt(this.seqNumber),addresses:this.multiaddrs.map(e=>({multiaddr:e.bytes}))})),this.marshaled}equals(e){return!(!(e instanceof Ci)||!this.peerId.equals(e.peerId)||this.seqNumber!==e.seqNumber||!ay(this.multiaddrs,e.multiaddrs))}},ir=Ci;wt(ir,"createFromProtobuf",e=>{let r=No.decode(e),n=mi(r.peerId),i=(r.addresses??[]).map(s=>Ue(s.multiaddr)),o=r.seq;return new Ci({peerId:n,multiaddrs:i,seqNumber:o})}),wt(ir,"DOMAIN",Jy),wt(ir,"CODEC",eg);function eI(t){return t[Symbol.asyncIterator]!=null}function tI(t){if(eI(t))return(async()=>{let r=[];for await(let n of t)r.push(n);return r})();let e=[];for(let r of t)e.push(r);return e}var ko=tI;var fg=z(rg(),1);var Mo=class extends Error{constructor(e){super(e),this.name="TimeoutError"}},af=class extends Error{constructor(e){super(),this.name="AbortError",this.message=e}},ng=t=>globalThis.DOMException===void 0?new af(t):new DOMException(t),ig=t=>{let e=t.reason===void 0?ng("This operation was aborted."):t.reason;return e instanceof Error?e:ng(e)};function cf(t,e,r,n){let i,o=new Promise((s,a)=>{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){s(t);return}if(n={customTimers:{setTimeout,clearTimeout},...n},n.signal){let{signal:c}=n;c.aborted&&a(ig(c)),c.addEventListener("abort",()=>{a(ig(c))})}i=n.customTimers.setTimeout.call(void 0,()=>{if(typeof r=="function"){try{s(r())}catch(l){a(l)}return}let c=typeof r=="string"?r:`Promise timed out after ${e} milliseconds`,u=r instanceof Error?r:new Mo(c);typeof t.cancel=="function"&&t.cancel(),a(u)},e),(async()=>{try{s(await t)}catch(c){a(c)}finally{n.customTimers.clearTimeout.call(void 0,i)}})()});return o.clear=()=>{clearTimeout(i),i=void 0},o}function uf(t,e,r){let n=0,i=t.length;for(;i>0;){let o=Math.trunc(i/2),s=n+o;r(t[s],e)<=0?(n=++s,i-=o+1):i=o}return n}var Cn=function(t,e,r,n){if(r==="a"&&!n)throw new TypeError("Private accessor was defined without a getter");if(typeof e=="function"?t!==e||!n:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return r==="m"?n:r==="a"?n.call(t):n?n.value:e.get(t)},Er,Uo=class{constructor(){Er.set(this,[])}enqueue(e,r){r={priority:0,...r};let n={priority:r.priority,run:e};if(this.size&&Cn(this,Er,"f")[this.size-1].priority>=r.priority){Cn(this,Er,"f").push(n);return}let i=uf(Cn(this,Er,"f"),n,(o,s)=>s.priority-o.priority);Cn(this,Er,"f").splice(i,0,n)}dequeue(){let e=Cn(this,Er,"f").shift();return e?.run}filter(e){return Cn(this,Er,"f").filter(r=>r.priority===e.priority).map(r=>r.run)}get size(){return Cn(this,Er,"f").length}};Er=new WeakMap;var Se=function(t,e,r,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 e=="function"?t!==e||!i:!e.has(t))throw new TypeError("Cannot write private member to an object whose class did not declare it");return n==="a"?i.call(t,r):i?i.value=r:e.set(t,r),r},k=function(t,e,r,n){if(r==="a"&&!n)throw new TypeError("Private accessor was defined without a getter");if(typeof e=="function"?t!==e||!n:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return r==="m"?n:r==="a"?n.call(t):n?n.value:e.get(t)},Ne,Ko,Vo,Gr,ba,qo,ma,Mt,Fo,mt,ya,yt,zo,Hr,ga,og,sg,ug,ag,cg,xa,lf,ff,va,lg,wa,Ea=class extends Error{},Ut=class extends fg.default{constructor(e){var r,n,i,o;if(super(),Ne.add(this),Ko.set(this,void 0),Vo.set(this,void 0),Gr.set(this,0),ba.set(this,void 0),qo.set(this,void 0),ma.set(this,0),Mt.set(this,void 0),Fo.set(this,void 0),mt.set(this,void 0),ya.set(this,void 0),yt.set(this,0),zo.set(this,void 0),Hr.set(this,void 0),ga.set(this,void 0),Object.defineProperty(this,"timeout",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),e={carryoverConcurrencyCount:!1,intervalCap:Number.POSITIVE_INFINITY,interval:0,concurrency:Number.POSITIVE_INFINITY,autoStart:!0,queueClass:Uo,...e},!(typeof e.intervalCap=="number"&&e.intervalCap>=1))throw new TypeError(`Expected \`intervalCap\` to be a number from 1 and up, got \`${(n=(r=e.intervalCap)===null||r===void 0?void 0:r.toString())!==null&&n!==void 0?n:""}\` (${typeof e.intervalCap})`);if(e.interval===void 0||!(Number.isFinite(e.interval)&&e.interval>=0))throw new TypeError(`Expected \`interval\` to be a finite number >= 0, got \`${(o=(i=e.interval)===null||i===void 0?void 0:i.toString())!==null&&o!==void 0?o:""}\` (${typeof e.interval})`);Se(this,Ko,e.carryoverConcurrencyCount,"f"),Se(this,Vo,e.intervalCap===Number.POSITIVE_INFINITY||e.interval===0,"f"),Se(this,ba,e.intervalCap,"f"),Se(this,qo,e.interval,"f"),Se(this,mt,new e.queueClass,"f"),Se(this,ya,e.queueClass,"f"),this.concurrency=e.concurrency,this.timeout=e.timeout,Se(this,ga,e.throwOnTimeout===!0,"f"),Se(this,Hr,e.autoStart===!1,"f")}get concurrency(){return k(this,zo,"f")}set concurrency(e){if(!(typeof e=="number"&&e>=1))throw new TypeError(`Expected \`concurrency\` to be a number from 1 and up, got \`${e}\` (${typeof e})`);Se(this,zo,e,"f"),k(this,Ne,"m",va).call(this)}async add(e,r={}){return r={timeout:this.timeout,throwOnTimeout:k(this,ga,"f"),...r},new Promise((n,i)=>{k(this,mt,"f").enqueue(async()=>{var o,s,a;Se(this,yt,(s=k(this,yt,"f"),s++,s),"f"),Se(this,Gr,(a=k(this,Gr,"f"),a++,a),"f");try{if(!((o=r.signal)===null||o===void 0)&&o.aborted)throw new Ea("The task was aborted.");let c=e({signal:r.signal});r.timeout&&(c=cf(Promise.resolve(c),r.timeout)),r.signal&&(c=Promise.race([c,k(this,Ne,"m",lg).call(this,r.signal)]));let u=await c;n(u),this.emit("completed",u)}catch(c){if(c instanceof Mo&&!r.throwOnTimeout){n();return}i(c),this.emit("error",c)}finally{k(this,Ne,"m",ug).call(this)}},r),this.emit("add"),k(this,Ne,"m",xa).call(this)})}async addAll(e,r){return Promise.all(e.map(async n=>this.add(n,r)))}start(){return k(this,Hr,"f")?(Se(this,Hr,!1,"f"),k(this,Ne,"m",va).call(this),this):this}pause(){Se(this,Hr,!0,"f")}clear(){Se(this,mt,new(k(this,ya,"f")),"f")}async onEmpty(){k(this,mt,"f").size!==0&&await k(this,Ne,"m",wa).call(this,"empty")}async onSizeLessThan(e){k(this,mt,"f").size<e||await k(this,Ne,"m",wa).call(this,"next",()=>k(this,mt,"f").size<e)}async onIdle(){k(this,yt,"f")===0&&k(this,mt,"f").size===0||await k(this,Ne,"m",wa).call(this,"idle")}get size(){return k(this,mt,"f").size}sizeBy(e){return k(this,mt,"f").filter(e).length}get pending(){return k(this,yt,"f")}get isPaused(){return k(this,Hr,"f")}};Ko=new WeakMap,Vo=new WeakMap,Gr=new WeakMap,ba=new WeakMap,qo=new WeakMap,ma=new WeakMap,Mt=new WeakMap,Fo=new WeakMap,mt=new WeakMap,ya=new WeakMap,yt=new WeakMap,zo=new WeakMap,Hr=new WeakMap,ga=new WeakMap,Ne=new WeakSet,og=function(){return k(this,Vo,"f")||k(this,Gr,"f")<k(this,ba,"f")},sg=function(){return k(this,yt,"f")<k(this,zo,"f")},ug=function(){var e;Se(this,yt,(e=k(this,yt,"f"),e--,e),"f"),k(this,Ne,"m",xa).call(this),this.emit("next")},ag=function(){k(this,Ne,"m",ff).call(this),k(this,Ne,"m",lf).call(this),Se(this,Fo,void 0,"f")},cg=function(){let e=Date.now();if(k(this,Mt,"f")===void 0){let r=k(this,ma,"f")-e;if(r<0)Se(this,Gr,k(this,Ko,"f")?k(this,yt,"f"):0,"f");else return k(this,Fo,"f")===void 0&&Se(this,Fo,setTimeout(()=>{k(this,Ne,"m",ag).call(this)},r),"f"),!0}return!1},xa=function(){if(k(this,mt,"f").size===0)return k(this,Mt,"f")&&clearInterval(k(this,Mt,"f")),Se(this,Mt,void 0,"f"),this.emit("empty"),k(this,yt,"f")===0&&this.emit("idle"),!1;if(!k(this,Hr,"f")){let e=!k(this,Ne,"a",cg);if(k(this,Ne,"a",og)&&k(this,Ne,"a",sg)){let r=k(this,mt,"f").dequeue();return r?(this.emit("active"),r(),e&&k(this,Ne,"m",lf).call(this),!0):!1}}return!1},lf=function(){k(this,Vo,"f")||k(this,Mt,"f")!==void 0||(Se(this,Mt,setInterval(()=>{k(this,Ne,"m",ff).call(this)},k(this,qo,"f")),"f"),Se(this,ma,Date.now()+k(this,qo,"f"),"f"))},ff=function(){k(this,Gr,"f")===0&&k(this,yt,"f")===0&&k(this,Mt,"f")&&(clearInterval(k(this,Mt,"f")),Se(this,Mt,void 0,"f")),Se(this,Gr,k(this,Ko,"f")?k(this,yt,"f"):0,"f"),k(this,Ne,"m",va).call(this)},va=function(){for(;k(this,Ne,"m",xa).call(this););},lg=async function(e){return new Promise((r,n)=>{e.addEventListener("abort",()=>{n(new Ea("The task was aborted."))},{once:!0})})},wa=async function(e,r){return new Promise(n=>{let i=()=>{r&&!r()||(this.off(e,i),n())};this.on(e,i)})};var hf=class extends Error{constructor(e){super(e),this.name="TimeoutError"}},df=class extends Error{constructor(e){super(),this.name="AbortError",this.message=e}},hg=t=>globalThis.DOMException===void 0?new df(t):new DOMException(t),dg=t=>{let e=t.reason===void 0?hg("This operation was aborted."):t.reason;return e instanceof Error?e:hg(e)};function pf(t,e){let{milliseconds:r,fallback:n,message:i,customTimers:o={setTimeout,clearTimeout}}=e,s,c=new Promise((u,l)=>{if(typeof r!="number"||Math.sign(r)!==1)throw new TypeError(`Expected \`milliseconds\` to be a positive number, got \`${r}\``);if(e.signal){let{signal:d}=e;d.aborted&&l(dg(d)),d.addEventListener("abort",()=>{l(dg(d))})}if(r===Number.POSITIVE_INFINITY){t.then(u,l);return}let f=new hf;s=o.setTimeout.call(void 0,()=>{if(n){try{u(n())}catch(d){l(d)}return}typeof t.cancel=="function"&&t.cancel(),i===!1?u():i instanceof Error?l(i):(f.message=i??`Promise timed out after ${r} milliseconds`,l(f))},r),(async()=>{try{u(await t)}catch(d){l(d)}})()}).finally(()=>{c.clear()});return c.clear=()=>{o.clearTimeout.call(void 0,s),s=void 0},c}var mf="lock:worker:request-read",yf="lock:worker:release-read",gf="lock:master:grant-read",xf="lock:worker:request-write",wf="lock:worker:release-write",bf="lock:master:grant-write";var Yr={},Ti=t=>{t.addEventListener("message",e=>{Ti.dispatchEvent("message",t,e)}),t.port!=null&&t.port.addEventListener("message",e=>{Ti.dispatchEvent("message",t,e)})};Ti.addEventListener=(t,e)=>{Yr[t]==null&&(Yr[t]=[]),Yr[t].push(e)};Ti.removeEventListener=(t,e)=>{Yr[t]!=null&&(Yr[t]=Yr[t].filter(r=>r===e))};Ti.dispatchEvent=function(t,e,r){Yr[t]!=null&&Yr[t].forEach(n=>n(e,r))};var vf=Ti;var pg=(t,e,r,n,i)=>(o,s)=>{if(s.data.type!==r)return;let a={type:s.data.type,name:s.data.name,identifier:s.data.identifier};t.dispatchEvent(new MessageEvent(e,{data:{name:a.name,handler:async()=>(o.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&&(o.removeEventListener("message",u),c())};o.addEventListener("message",u)}))}}))},mg=(t,e,r,n)=>async()=>{let i=js();return globalThis.postMessage({type:e,identifier:i,name:t}),await new Promise(o=>{let s=a=>{if(a==null||a.data==null)return;let c={type:a.data.type,identifier:a.data.identifier};c.type===r&&c.identifier===i&&(globalThis.removeEventListener("message",s),o(()=>{globalThis.postMessage({type:n,identifier:i,name:t})}))};globalThis.addEventListener("message",s)})},iI={singleProcess:!1},yg=t=>{if(t=Object.assign({},iI,t),!!globalThis.document||t.singleProcess){let r=new EventTarget;return vf.addEventListener("message",pg(r,"requestReadLock",mf,yf,gf)),vf.addEventListener("message",pg(r,"requestWriteLock",xf,wf,bf)),r}return{isWorker:!0,readLock:r=>mg(r,mf,gf,yf),writeLock:r=>mg(r,xf,bf,wf)}};var Tn={},Wr;async function Ef(t,e){let r,n=new Promise(i=>{r=i});return t.add(async()=>await pf((async()=>await new Promise(i=>{r(()=>{i()})}))(),{milliseconds:e.timeout})),await n}var oI=(t,e)=>{if(Wr.isWorker===!0)return{readLock:Wr.readLock(t,e),writeLock:Wr.writeLock(t,e)};let r=new Ut({concurrency:1}),n;return{async readLock(){if(n!=null)return await Ef(n,e);n=new Ut({concurrency:e.concurrency,autoStart:!1});let i=n,o=Ef(n,e);return r.add(async()=>(i.start(),await i.onIdle().then(()=>{n===i&&(n=null)}))),await o},async writeLock(){return n=null,await Ef(r,e)}}},sI={name:"lock",concurrency:1/0,timeout:846e5,singleProcess:!1};function _f(t){let e=Object.assign({},sI,t);return Wr==null&&(Wr=yg(e),Wr.isWorker!==!0&&(Wr.addEventListener("requestReadLock",r=>{Tn[r.data.name]!=null&&Tn[r.data.name].readLock().then(async n=>await r.data.handler().finally(()=>n()))}),Wr.addEventListener("requestWriteLock",async r=>{Tn[r.data.name]!=null&&Tn[r.data.name].writeLock().then(async n=>await r.data.handler().finally(()=>n()))}))),Tn[e.name]==null&&(Tn[e.name]=oI(e.name,e)),Tn[e.name]}var Qe={ERR_INVALID_PARAMETERS:"ERR_INVALID_PARAMETERS"};var Bi;(function(t){let e;(function(i){let o;i.codec=()=>(o==null&&(o=We((s,a,c={})=>{c.lengthDelimited!==!1&&a.fork(),s.key!=null&&s.key!==""&&(a.uint32(10),a.string(s.key)),s.value!=null&&s.value.byteLength>0&&(a.uint32(18),a.bytes(s.value)),c.lengthDelimited!==!1&&a.ldelim()},(s,a)=>{let c={key:"",value:new Uint8Array(0)},u=a==null?s.len:s.pos+a;for(;s.pos<u;){let l=s.uint32();switch(l>>>3){case 1:c.key=s.string();break;case 2:c.value=s.bytes();break;default:s.skipType(l&7);break}}return c})),o),i.encode=s=>Ye(s,i.codec()),i.decode=s=>Ge(s,i.codec())})(e=t.Peer$metadataEntry||(t.Peer$metadataEntry={}));let r;(function(i){let o;i.codec=()=>(o==null&&(o=We((s,a,c={})=>{c.lengthDelimited!==!1&&a.fork(),s.key!=null&&s.key!==""&&(a.uint32(10),a.string(s.key)),s.value!=null&&(a.uint32(18),Sa.codec().encode(s.value,a)),c.lengthDelimited!==!1&&a.ldelim()},(s,a)=>{let c={key:""},u=a==null?s.len:s.pos+a;for(;s.pos<u;){let l=s.uint32();switch(l>>>3){case 1:c.key=s.string();break;case 2:c.value=Sa.codec().decode(s,s.uint32());break;default:s.skipType(l&7);break}}return c})),o),i.encode=s=>Ye(s,i.codec()),i.decode=s=>Ge(s,i.codec())})(r=t.Peer$tagsEntry||(t.Peer$tagsEntry={}));let n;t.codec=()=>(n==null&&(n=We((i,o,s={})=>{if(s.lengthDelimited!==!1&&o.fork(),i.addresses!=null)for(let a of i.addresses)o.uint32(10),_a.codec().encode(a,o);if(i.protocols!=null)for(let a of i.protocols)o.uint32(18),o.string(a);if(i.publicKey!=null&&(o.uint32(34),o.bytes(i.publicKey)),i.peerRecordEnvelope!=null&&(o.uint32(42),o.bytes(i.peerRecordEnvelope)),i.metadata!=null&&i.metadata.size!==0)for(let[a,c]of i.metadata.entries())o.uint32(50),t.Peer$metadataEntry.codec().encode({key:a,value:c},o);if(i.tags!=null&&i.tags.size!==0)for(let[a,c]of i.tags.entries())o.uint32(58),t.Peer$tagsEntry.codec().encode({key:a,value:c},o);s.lengthDelimited!==!1&&o.ldelim()},(i,o)=>{let s={addresses:[],protocols:[],metadata:new Map,tags:new Map},a=o==null?i.len:i.pos+o;for(;i.pos<a;){let c=i.uint32();switch(c>>>3){case 1:s.addresses.push(_a.codec().decode(i,i.uint32()));break;case 2:s.protocols.push(i.string());break;case 4:s.publicKey=i.bytes();break;case 5:s.peerRecordEnvelope=i.bytes();break;case 6:{let u=t.Peer$metadataEntry.codec().decode(i,i.uint32());s.metadata.set(u.key,u.value);break}case 7:{let u=t.Peer$tagsEntry.codec().decode(i,i.uint32());s.tags.set(u.key,u.value);break}default:i.skipType(c&7);break}}return s})),n),t.encode=i=>Ye(i,t.codec()),t.decode=i=>Ge(i,t.codec())})(Bi||(Bi={}));var _a;(function(t){let e;t.codec=()=>(e==null&&(e=We((r,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),r.multiaddr!=null&&r.multiaddr.byteLength>0&&(n.uint32(10),n.bytes(r.multiaddr)),r.isCertified!=null&&(n.uint32(16),n.bool(r.isCertified)),i.lengthDelimited!==!1&&n.ldelim()},(r,n)=>{let i={multiaddr:new Uint8Array(0)},o=n==null?r.len:r.pos+n;for(;r.pos<o;){let s=r.uint32();switch(s>>>3){case 1:i.multiaddr=r.bytes();break;case 2:i.isCertified=r.bool();break;default:r.skipType(s&7);break}}return i})),e),t.encode=r=>Ye(r,t.codec()),t.decode=r=>Ge(r,t.codec())})(_a||(_a={}));var Sa;(function(t){let e;t.codec=()=>(e==null&&(e=We((r,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),r.value!=null&&r.value!==0&&(n.uint32(8),n.uint32(r.value)),r.expiry!=null&&(n.uint32(16),n.uint64(r.expiry)),i.lengthDelimited!==!1&&n.ldelim()},(r,n)=>{let i={value:0},o=n==null?r.len:r.pos+n;for(;r.pos<o;){let s=r.uint32();switch(s>>>3){case 1:i.value=r.uint32();break;case 2:i.expiry=r.uint64();break;default:r.skipType(s&7);break}}return i})),e),t.encode=r=>Ye(r,t.codec()),t.decode=r=>Ge(r,t.codec())})(Sa||(Sa={}));function Li(t,e){let r=Bi.decode(e);r.publicKey!=null&&t.publicKey==null&&(t=Dm({...t,publicKey:t.publicKey}));let n=new Map,i=BigInt(Date.now());for(let[o,s]of r.tags.entries())s.expiry!=null&&s.expiry<i||n.set(o,s);return{...r,id:t,addresses:r.addresses.map(({multiaddr:o,isCertified:s})=>({multiaddr:Ue(o),isCertified:s??!1})),metadata:r.metadata,peerRecordEnvelope:r.peerRecordEnvelope??void 0,tags:n}}var Sf="/peers/";function Pi(t){if(!Zs(t)||t.type==null)throw new v("Invalid PeerId",Qe.ERR_INVALID_PARAMETERS);let e=t.toCID().toString();return new Ce(`${Sf}${e}`)}async function gg(t,e,r){let n=new Map;for(let i of r){if(i==null)continue;if(i.multiaddr instanceof Uint8Array&&(i.multiaddr=Ue(i.multiaddr)),!Rn(i.multiaddr))throw new v("Multiaddr was invalid",Qe.ERR_INVALID_PARAMETERS);if(!await e(t,i.multiaddr))continue;let o=i.isCertified??!1,s=i.multiaddr.toString(),a=n.get(s);a!=null?i.isCertified=a.isCertified||o:n.set(s,{multiaddr:i.multiaddr,isCertified:o})}return[...n.values()].sort((i,o)=>i.multiaddr.toString().localeCompare(o.multiaddr.toString())).map(({isCertified:i,multiaddr:o})=>({isCertified:i,multiaddr:o.bytes}))}async function Ia(t,e,r,n){if(e==null)throw new v("Invalid PeerData",Qe.ERR_INVALID_PARAMETERS);if(e.publicKey!=null&&t.publicKey!=null&&!Ee(e.publicKey,t.publicKey))throw new v("publicKey bytes do not match peer id publicKey bytes",Qe.ERR_INVALID_PARAMETERS);let i=n.existingPeer;if(i!=null&&!t.equals(i.id))throw new v("peer id did not match existing peer id",Qe.ERR_INVALID_PARAMETERS);let o=i?.addresses??[],s=new Set(i?.protocols??[]),a=i?.metadata??new Map,c=i?.tags??new Map,u=i?.peerRecordEnvelope;if(r==="patch"){if((e.multiaddrs!=null||e.addresses!=null)&&(o=[],e.multiaddrs!=null&&o.push(...e.multiaddrs.map(f=>({isCertified:!1,multiaddr:f}))),e.addresses!=null&&o.push(...e.addresses)),e.protocols!=null&&(s=new Set(e.protocols)),e.metadata!=null){let f=e.metadata instanceof Map?[...e.metadata.entries()]:Object.entries(e.metadata);a=Aa(f,{validate:xg})}if(e.tags!=null){let f=e.tags instanceof Map?[...e.tags.entries()]:Object.entries(e.tags);c=Aa(f,{validate:wg,map:bg})}e.peerRecordEnvelope!=null&&(u=e.peerRecordEnvelope)}if(r==="merge"){if(e.multiaddrs!=null&&o.push(...e.multiaddrs.map(f=>({isCertified:!1,multiaddr:f}))),e.addresses!=null&&o.push(...e.addresses),e.protocols!=null&&(s=new Set([...s,...e.protocols])),e.metadata!=null){let f=e.metadata instanceof Map?[...e.metadata.entries()]:Object.entries(e.metadata);for(let[d,p]of f)p==null?a.delete(d):a.set(d,p);a=Aa([...a.entries()],{validate:xg})}if(e.tags!=null){let f=e.tags instanceof Map?[...e.tags.entries()]:Object.entries(e.tags),d=new Map(c);for(let[p,h]of f)h==null?d.delete(p):d.set(p,h);c=Aa([...d.entries()],{validate:wg,map:bg})}e.peerRecordEnvelope!=null&&(u=e.peerRecordEnvelope)}let l={addresses:await gg(t,n.addressFilter??(async()=>!0),o),protocols:[...s.values()].sort((f,d)=>f.localeCompare(d)),metadata:a,tags:c,publicKey:i?.id.publicKey??e.publicKey??t.publicKey,peerRecordEnvelope:u};return t.type!=="RSA"&&delete l.publicKey,l}function Aa(t,e){let r=new Map;for(let[n,i]of t)i!=null&&e.validate(n,i);for(let[n,i]of t.sort(([o],[s])=>o.localeCompare(s)))i!=null&&r.set(n,e.map?.(n,i)??i);return r}function xg(t,e){if(typeof t!="string")throw new v("Metadata key must be a string",Qe.ERR_INVALID_PARAMETERS);if(!(e instanceof Uint8Array))throw new v("Metadata value must be a Uint8Array",Qe.ERR_INVALID_PARAMETERS)}function wg(t,e){if(typeof t!="string")throw new v("Tag name must be a string",Qe.ERR_INVALID_PARAMETERS);if(e.value!=null){if(parseInt(`${e.value}`,10)!==e.value)throw new v("Tag value must be an integer",Qe.ERR_INVALID_PARAMETERS);if(e.value<0||e.value>100)throw new v("Tag value must be between 0-100",Qe.ERR_INVALID_PARAMETERS)}if(e.ttl!=null){if(parseInt(`${e.ttl}`,10)!==e.ttl)throw new v("Tag ttl must be an integer",Qe.ERR_INVALID_PARAMETERS);if(e.ttl<0)throw new v("Tag ttl must be between greater than 0",Qe.ERR_INVALID_PARAMETERS)}}function bg(t,e){let r;return e.expiry!=null&&(r=e.expiry),e.ttl!=null&&(r=BigInt(Date.now()+Number(e.ttl))),{value:e.value??0,expiry:r}}function Ra(t,e,r){let n=t.toString().split("/")[2],i=tr.decode(n),o=mi(i),s=r.get(o);if(s!=null)return s;let a=Li(o,e);return r.set(o,a),a}function aI(t,e){return t==null?{}:{prefix:Sf,filters:(t.filters??[]).map(r=>({key:n,value:i})=>r(Ra(n,i,e))),orders:(t.orders??[]).map(r=>(n,i)=>r(Ra(n.key,n.value,e),Ra(i.key,i.value,e)))}}var Ca=class{peerId;datastore;lock;addressFilter;constructor(e,r={}){this.peerId=e.peerId,this.datastore=e.datastore,this.addressFilter=r.addressFilter,this.lock=_f({name:"peer-store",singleProcess:!0})}async has(e){return this.datastore.has(Pi(e))}async delete(e){if(this.peerId.equals(e))throw new v("Cannot delete self peer",Qe.ERR_INVALID_PARAMETERS);await this.datastore.delete(Pi(e))}async load(e){let r=await this.datastore.get(Pi(e));return Li(e,r)}async save(e,r){let{existingBuf:n,existingPeer:i}=await this.#e(e),o=await Ia(e,r,"patch",{addressFilter:this.addressFilter});return this.#t(e,o,n,i)}async patch(e,r){let{existingBuf:n,existingPeer:i}=await this.#e(e),o=await Ia(e,r,"patch",{addressFilter:this.addressFilter,existingPeer:i});return this.#t(e,o,n,i)}async merge(e,r){let{existingBuf:n,existingPeer:i}=await this.#e(e),o=await Ia(e,r,"merge",{addressFilter:this.addressFilter,existingPeer:i});return this.#t(e,o,n,i)}async*all(e){let r=new Nt;for await(let{key:n,value:i}of this.datastore.query(aI(e??{},r))){let o=Ra(n,i,r);o.id.equals(this.peerId)||(yield o)}}async#e(e){try{let r=await this.datastore.get(Pi(e)),n=Li(e,r);return{existingBuf:r,existingPeer:n}}catch(r){if(r.code!=="ERR_NOT_FOUND")throw r}return{}}async#t(e,r,n,i){let o=Bi.encode(r);return n!=null&&Ee(o,n)?{peer:Li(e,o),previous:i,updated:!1}:(await this.datastore.put(Pi(e),o),{peer:Li(e,o),previous:i,updated:!0})}};var he=W("libp2p:peer-store"),Ta=class{store;events;peerId;constructor(e,r={}){this.events=e.events,this.peerId=e.peerId,this.store=new Ca(e,r)}async forEach(e,r){he.trace("forEach await read lock");let n=await this.store.lock.readLock();he.trace("forEach got read lock");try{for await(let i of this.store.all(r))e(i)}finally{he.trace("forEach release read lock"),n()}}async all(e){he.trace("all await read lock");let r=await this.store.lock.readLock();he.trace("all got read lock");try{return await ko(this.store.all(e))}finally{he.trace("all release read lock"),r()}}async delete(e){he.trace("delete await write lock");let r=await this.store.lock.writeLock();he.trace("delete got write lock");try{await this.store.delete(e)}finally{he.trace("delete release write lock"),r()}}async has(e){he.trace("has await read lock");let r=await this.store.lock.readLock();he.trace("has got read lock");try{return await this.store.has(e)}finally{he.trace("has release read lock"),r()}}async get(e){he.trace("get await read lock");let r=await this.store.lock.readLock();he.trace("get got read lock");try{return await this.store.load(e)}finally{he.trace("get release read lock"),r()}}async save(e,r){he.trace("save await write lock");let n=await this.store.lock.writeLock();he.trace("save got write lock");try{let i=await this.store.save(e,r);return this.#e(e,i),i.peer}finally{he.trace("save release write lock"),n()}}async patch(e,r){he.trace("patch await write lock");let n=await this.store.lock.writeLock();he.trace("patch got write lock");try{let i=await this.store.patch(e,r);return this.#e(e,i),i.peer}finally{he.trace("patch release write lock"),n()}}async merge(e,r){he.trace("merge await write lock");let n=await this.store.lock.writeLock();he.trace("merge got write lock");try{let i=await this.store.merge(e,r);return this.#e(e,i),i.peer}finally{he.trace("merge release write lock"),n()}}async consumePeerRecord(e,r){let n=await xr.openAndCertify(e,ir.DOMAIN);if(r?.equals(n.peerId)===!1)return he("envelope peer id was not the expected peer id - expected: %p received: %p",r,n.peerId),!1;let i=ir.createFromProtobuf(n.payload),o;try{o=await this.get(n.peerId)}catch(s){if(s.code!=="ERR_NOT_FOUND")throw s}if(o?.peerRecordEnvelope!=null){let s=await xr.createFromProtobuf(o.peerRecordEnvelope),a=ir.createFromProtobuf(s.payload);if(a.seqNumber>=i.seqNumber)return he("sequence number was lower or equal to existing sequence number - stored: %d received: %d",a.seqNumber,i.seqNumber),!1}return await this.patch(i.peerId,{peerRecordEnvelope:e,addresses:i.multiaddrs.map(s=>({isCertified:!0,multiaddr:s}))}),!0}#e(e,r){r.updated&&(this.peerId.equals(e)?this.events.safeDispatchEvent("self:peer:update",{detail:r}):this.events.safeDispatchEvent("peer:update",{detail:r}))}};function cI(t){return t[Symbol.asyncIterator]!=null}function uI(t){if(cI(t))return(async()=>{for await(let e of t);})();for(let e of t);}var Af=uI;function lI(t){let[e,r]=t[Symbol.asyncIterator]!=null?[t[Symbol.asyncIterator](),Symbol.asyncIterator]:[t[Symbol.iterator](),Symbol.iterator],n=[];return{peek:()=>e.next(),push:i=>{n.push(i)},next:()=>n.length>0?{done:!1,value:n.shift()}:e.next(),[r](){return this}}}var Ba=lI;function fI(t){return t[Symbol.asyncIterator]!=null}function hI(t,e){if(fI(t))return async function*(){for await(let a of t)await e(a)&&(yield a)}();let r=Ba(t),{value:n,done:i}=r.next();if(i===!0)return function*(){}();let o=e(n);if(typeof o.then=="function")return async function*(){await o&&(yield n);for await(let a of r)await e(a)&&(yield a)}();let s=e;return function*(){o===!0&&(yield n);for(let a of r)s(a)&&(yield a)}()}var Ft=hI;function dI(t){return t[Symbol.asyncIterator]!=null}function pI(t,e){return dI(t)?async function*(){yield*(await ko(t)).sort(e)}():function*(){yield*ko(t).sort(e)}()}var If=pI;function mI(t){return t[Symbol.asyncIterator]!=null}function yI(t,e){return mI(t)?async function*(){let r=0;if(!(e<1)){for await(let n of t)if(yield n,r++,r===e)return}}():function*(){let r=0;if(!(e<1)){for(let n of t)if(yield n,r++,r===e)return}}()}var Rf=yI;var La=class{put(e,r,n){return Promise.reject(new Error(".put is not implemented"))}get(e,r){return Promise.reject(new Error(".get is not implemented"))}has(e,r){return Promise.reject(new Error(".has is not implemented"))}delete(e,r){return Promise.reject(new Error(".delete is not implemented"))}async*putMany(e,r={}){for await(let{key:n,value:i}of e)await this.put(n,i,r),yield n}async*getMany(e,r={}){for await(let n of e)yield{key:n,value:await this.get(n,r)}}async*deleteMany(e,r={}){for await(let n of e)await this.delete(n,r),yield n}batch(){let e=[],r=[];return{put(n,i){e.push({key:n,value:i})},delete(n){r.push(n)},commit:async n=>{await Af(this.putMany(e,n)),e=[],await Af(this.deleteMany(r,n)),r=[]}}}async*_all(e,r){throw new Error("._all is not implemented")}async*_allKeys(e,r){throw new Error("._allKeys is not implemented")}query(e,r){let n=this._all(e,r);if(e.prefix!=null){let i=e.prefix;n=Ft(n,o=>o.key.toString().startsWith(i))}if(Array.isArray(e.filters)&&(n=e.filters.reduce((i,o)=>Ft(i,o),n)),Array.isArray(e.orders)&&(n=e.orders.reduce((i,o)=>If(i,o),n)),e.offset!=null){let i=0,o=e.offset;n=Ft(n,()=>i++>=o)}return e.limit!=null&&(n=Rf(n,e.limit)),n}queryKeys(e,r){let n=this._allKeys(e,r);if(e.prefix!=null){let i=e.prefix;n=Ft(n,o=>o.toString().startsWith(i))}if(Array.isArray(e.filters)&&(n=e.filters.reduce((i,o)=>Ft(i,o),n)),Array.isArray(e.orders)&&(n=e.orders.reduce((i,o)=>If(i,o),n)),e.offset!=null){let i=e.offset,o=0;n=Ft(n,()=>o++>=i)}return e.limit!=null&&(n=Rf(n,e.limit)),n}};var _g=z(Cf(),1);function Sg(t){return t=t??new Error("Not Found"),(0,_g.default)(t,"ERR_NOT_FOUND")}var Pa=class extends La{data;constructor(){super(),this.data=new Map}put(e,r){return this.data.set(e.toString(),r),e}get(e){let r=this.data.get(e.toString());if(r==null)throw Sg();return r}has(e){return this.data.has(e.toString())}delete(e){this.data.delete(e.toString())}*_all(){for(let[e,r]of this.data.entries())yield{key:new Ce(e),value:r}}*_allKeys(){for(let e of this.data.keys())yield new Ce(e)}};function Ag(t,e){let r;return function(){let n=function(){r=void 0,t()};clearTimeout(r),r=setTimeout(n,e)}}var wI=W("libp2p:address-manager"),bI=t=>t;function Tf(t,e){let r=t.getPeerId();return r!=null&&oe(r).equals(e)&&(t=t.decapsulate(Ue(`/p2p/${e.toString()}`))),t}var Da=class{components;listen;announce;observed;announceFilter;constructor(e,r={}){let{listen:n=[],announce:i=[]}=r;this.components=e,this.listen=n.map(o=>o.toString()),this.announce=new Set(i.map(o=>o.toString())),this.observed=new Map,this.announceFilter=r.announceFilter??bI,this._updatePeerStoreAddresses=Ag(this._updatePeerStoreAddresses.bind(this),1e3),e.events.addEventListener("transport:listening",()=>{this._updatePeerStoreAddresses()}),e.events.addEventListener("transport:close",()=>{this._updatePeerStoreAddresses()})}_updatePeerStoreAddresses(){let e=this.getAnnounceAddrs().concat(this.components.transportManager.getAddrs()).concat([...this.observed.entries()].filter(([r,n])=>n.confident).map(([r])=>Ue(r))).map(r=>r.getPeerId()===this.components.peerId.toString()?r.decapsulate(`/p2p/${this.components.peerId.toString()}`):r);this.components.peerStore.patch(this.components.peerId,{multiaddrs:e}).catch(r=>{wI.error("error updating addresses",r)})}getListenAddrs(){return Array.from(this.listen).map(e=>Ue(e))}getAnnounceAddrs(){return Array.from(this.announce).map(e=>Ue(e))}getObservedAddrs(){return Array.from(this.observed).map(([e])=>Ue(e))}addObservedAddr(e){e=Tf(e,this.components.peerId);let r=e.toString();this.observed.has(r)||this.observed.set(r,{confident:!1})}confirmObservedAddr(e){e=Tf(e,this.components.peerId);let r=e.toString(),i=(this.observed.get(r)??{confident:!1}).confident;this.observed.set(r,{confident:!0}),i||this._updatePeerStoreAddresses()}removeObservedAddr(e){e=Tf(e,this.components.peerId);let r=e.toString();this.observed.delete(r)}getAddresses(){let e=this.getAnnounceAddrs().map(n=>n.toString());e.length===0&&(e=this.components.transportManager.getAddrs().map(n=>n.toString())),e=e.concat(Array.from(this.observed).filter(([n,i])=>i.confident).map(([n])=>n));let r=new Set(e);return this.announceFilter(Array.from(r).map(n=>Ue(n))).map(n=>n.protos().pop()?.path===!0||n.getPeerId()===this.components.peerId.toString()?n:n.encapsulate(`/p2p/${this.components.peerId.toString()}`))}};function Ig(t){return t!=null&&typeof t.start=="function"&&typeof t.stop=="function"}var Bf=class{components={};_started=!1;constructor(e={}){this.components={};for(let[r,n]of Object.entries(e))this.components[r]=n}isStarted(){return this._started}async _invokeStartableMethod(e){await Promise.all(Object.values(this.components).filter(r=>Ig(r)).map(async r=>{await r[e]?.()}))}async beforeStart(){await this._invokeStartableMethod("beforeStart")}async start(){await this._invokeStartableMethod("start"),this._started=!0}async afterStart(){await this._invokeStartableMethod("afterStart")}async beforeStop(){await this._invokeStartableMethod("beforeStop")}async stop(){await this._invokeStartableMethod("stop"),this._started=!1}async afterStop(){await this._invokeStartableMethod("afterStop")}},vI=["metrics","connectionProtector"],EI=["components","isStarted","beforeStart","start","afterStart","beforeStop","stop","afterStop","then","_invokeStartableMethod"];function Rg(t={}){let e=new Bf(t);return new Proxy(e,{get(n,i,o){if(typeof i=="string"&&!EI.includes(i)){let s=e.components[i];if(s==null&&!vI.includes(i))throw new v(`${i} not set`,"ERR_SERVICE_MISSING");return s}return Reflect.get(n,i,o)},set(n,i,o){return typeof i=="string"?e.components[i]=o:Reflect.set(n,i,o),!0}})}var Ng=z(Cg(),1);var Tg="[a-fA-F\\d:]",Qr=t=>t&&t.includeBoundaries?`(?:(?<=\\s|^)(?=${Tg})|(?<=${Tg})(?=\\s|$))`:"",Kt="(?: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}",Me="[a-fA-F\\d]{1,4}",Na=`
38
38
  (?:
39
- (?:${Pe}:){7}(?:${Pe}|:)| // 1:2:3:4:5:6:7:: 1:2:3:4:5:6:7:8
40
- (?:${Pe}:){6}(?:${Mt}|:${Pe}|:)| // 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
41
- (?:${Pe}:){5}(?::${Mt}|(?::${Pe}){1,2}|:)| // 1:2:3:4:5:: 1:2:3:4:5::7:8 1:2:3:4:5::8 1:2:3:4:5::7:1.2.3.4
42
- (?:${Pe}:){4}(?:(?::${Pe}){0,1}:${Mt}|(?::${Pe}){1,3}|:)| // 1:2:3:4:: 1:2:3:4::6:7:8 1:2:3:4::8 1:2:3:4::6:7:1.2.3.4
43
- (?:${Pe}:){3}(?:(?::${Pe}){0,2}:${Mt}|(?::${Pe}){1,4}|:)| // 1:2:3:: 1:2:3::5:6:7:8 1:2:3::8 1:2:3::5:6:7:1.2.3.4
44
- (?:${Pe}:){2}(?:(?::${Pe}){0,3}:${Mt}|(?::${Pe}){1,5}|:)| // 1:2:: 1:2::4:5:6:7:8 1:2::8 1:2::4:5:6:7:1.2.3.4
45
- (?:${Pe}:){1}(?:(?::${Pe}){0,4}:${Mt}|(?::${Pe}){1,6}|:)| // 1:: 1::3:4:5:6:7:8 1::8 1::3:4:5:6:7:1.2.3.4
46
- (?::(?:(?::${Pe}){0,5}:${Mt}|(?::${Pe}){1,7}|:)) // ::2:3:4:5:6:7:8 ::2:3:4:5:6:7:8 ::8 ::1.2.3.4
39
+ (?:${Me}:){7}(?:${Me}|:)| // 1:2:3:4:5:6:7:: 1:2:3:4:5:6:7:8
40
+ (?:${Me}:){6}(?:${Kt}|:${Me}|:)| // 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
41
+ (?:${Me}:){5}(?::${Kt}|(?::${Me}){1,2}|:)| // 1:2:3:4:5:: 1:2:3:4:5::7:8 1:2:3:4:5::8 1:2:3:4:5::7:1.2.3.4
42
+ (?:${Me}:){4}(?:(?::${Me}){0,1}:${Kt}|(?::${Me}){1,3}|:)| // 1:2:3:4:: 1:2:3:4::6:7:8 1:2:3:4::8 1:2:3:4::6:7:1.2.3.4
43
+ (?:${Me}:){3}(?:(?::${Me}){0,2}:${Kt}|(?::${Me}){1,4}|:)| // 1:2:3:: 1:2:3::5:6:7:8 1:2:3::8 1:2:3::5:6:7:1.2.3.4
44
+ (?:${Me}:){2}(?:(?::${Me}){0,3}:${Kt}|(?::${Me}){1,5}|:)| // 1:2:: 1:2::4:5:6:7:8 1:2::8 1:2::4:5:6:7:1.2.3.4
45
+ (?:${Me}:){1}(?:(?::${Me}){0,4}:${Kt}|(?::${Me}){1,6}|:)| // 1:: 1::3:4:5:6:7:8 1::8 1::3:4:5:6:7:1.2.3.4
46
+ (?::(?:(?::${Me}){0,5}:${Kt}|(?::${Me}){1,7}|:)) // ::2:3:4:5:6:7:8 ::2:3:4:5:6:7:8 ::8 ::1.2.3.4
47
47
  )(?:%[0-9a-zA-Z]{1,})? // %eth0 %1
48
- `.replace(/\s*\/\/.*$/gm,"").replace(/\n/g,"").trim(),ib=new RegExp(`(?:^${Mt}$)|(?:^${Zo}$)`),sb=new RegExp(`^${Mt}$`),ob=new RegExp(`^${Zo}$`),al=t=>t&&t.exact?ib:new RegExp(`(?:${Fr(t)}${Mt}${Fr(t)})|(?:${Fr(t)}${Zo}${Fr(t)})`,"g");al.v4=t=>t&&t.exact?sb:new RegExp(`${Fr(t)}${Mt}${Fr(t)}`,"g");al.v6=t=>t&&t.exact?ob:new RegExp(`${Fr(t)}${Zo}${Fr(t)}`,"g");var _m=al;var Cm=V(Am(),1),{isValid:ab,parse:cb}=Cm.default,ub=["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"],lb=ub.map(t=>new Rm.Netmask(t));function fb(t){for(let e of lb)if(e.contains(t))return!0;return!1}function Im(t){return/^::$/.test(t)||/^::1$/.test(t)||/^::f{4}:([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})$/.test(t)||/^::f{4}:0.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})$/.test(t)||/^64:ff9b::([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})$/.test(t)||/^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(t)||/^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(t)||/^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(t)||/^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(t)||/^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(t)||/^f[c-d]([0-9a-fA-F]{2,2}):/i.test(t)||/^fe[8-9a-bA-B][0-9a-fA-F]:/i.test(t)||/^ff([0-9a-fA-F]{2,2}):/i.test(t)}var Tm=t=>{if(ab(t)){let e=cb(t);if(e.kind()==="ipv4")return fb(e.toNormalizedString());if(e.kind()==="ipv6")return Im(t)}else if(ni(t)&&_m.v6().test(t))return Im(t)};var Jo=Tm;function Bm(t={}){return{denyDialPeer:async()=>!1,denyDialMultiaddr:async e=>{let r=e.stringTuples();return r[0][0]===4||r[0][0]===41?!!Jo(`${r[0][1]}`):!1},denyInboundConnection:async()=>!1,denyOutboundConnection:async()=>!1,denyInboundEncryptedConnection:async()=>!1,denyOutboundEncryptedConnection:async()=>!1,denyInboundUpgradedConnection:async()=>!1,denyOutboundUpgradedConnection:async()=>!1,filterMultiaddrForPeer:async()=>!0,...t}}var g3=Symbol.for("@libp2p/transport");var Ur;(function(t){t[t.FATAL_ALL=0]="FATAL_ALL",t[t.NO_FATAL=1]="NO_FATAL"})(Ur||(Ur={}));function cl(t){try{let{address:e}=t.nodeAddress();return!!Jo(e)}catch{return!0}}function ui(t,e){let r=cl(t.multiaddr),n=cl(e.multiaddr);return r&&!n?1:!r&&n||t.isCertified&&!e.isCertified?-1:!t.isCertified&&e.isCertified?1:0}var ll=V(pu(),1),fl=V(Dm(),1);var Nm=globalThis.fetch,km=globalThis.Headers,S3=globalThis.Request,A3=globalThis.Response;function ea(t,e,r){return`${t}?name=${e}&type=${r}`}async function Om(t,e){return await(await Nm(t,{headers:new km({accept:"application/dns-json"}),signal:e})).json()}function xn(t,e){return`${e}_${t}`}var ul=Object.assign((0,ll.default)("dns-over-http-resolver"),{error:(0,ll.default)("dns-over-http-resolver:error")}),hl=class{constructor(e={}){this._cache=new fl.default({max:e?.maxCache??100}),this._TXTcache=new fl.default({max:e?.maxCache??100}),this._servers=["https://cloudflare-dns.com/dns-query","https://dns.google/resolve"],this._request=e.request??Om,this._abortControllers=[]}cancel(){this._abortControllers.forEach(e=>e.abort())}getServers(){return this._servers}_getShuffledServers(){let e=[...this._servers];for(let r=e.length-1;r>0;r--){let n=Math.floor(Math.random()*r),i=e[r];e[r]=e[n],e[n]=i}return e}setServers(e){this._servers=e}async resolve(e,r="A"){switch(r){case"A":return await this.resolve4(e);case"AAAA":return await this.resolve6(e);case"TXT":return await this.resolveTxt(e);default:throw new Error(`${r} is not supported`)}}async resolve4(e){let r="A",n=this._cache.get(xn(e,r));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(ea(s,e,r),o.signal),c=a.Answer.map(l=>l.data),u=Math.min(...a.Answer.map(l=>l.TTL));return this._cache.set(xn(e,r),c,{ttl:u}),c}catch{o.signal.aborted&&(i=!0),ul.error(`${s} could not resolve ${e} record ${r}`)}finally{this._abortControllers=this._abortControllers.filter(a=>a!==o)}}throw i?Object.assign(new Error("queryA ECANCELLED"),{code:"ECANCELLED"}):new Error(`Could not resolve ${e} record ${r}`)}async resolve6(e){let r="AAAA",n=this._cache.get(xn(e,r));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(ea(s,e,r),o.signal),c=a.Answer.map(l=>l.data),u=Math.min(...a.Answer.map(l=>l.TTL));return this._cache.set(xn(e,r),c,{ttl:u}),c}catch{o.signal.aborted&&(i=!0),ul.error(`${s} could not resolve ${e} record ${r}`)}finally{this._abortControllers=this._abortControllers.filter(a=>a!==o)}}throw i?Object.assign(new Error("queryAaaa ECANCELLED"),{code:"ECANCELLED"}):new Error(`Could not resolve ${e} record ${r}`)}async resolveTxt(e){let r="TXT",n=this._TXTcache.get(xn(e,r));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(ea(s,e,r),o.signal),c=a.Answer.map(l=>[l.data.replace(/['"]+/g,"")]),u=Math.min(...a.Answer.map(l=>l.TTL));return this._TXTcache.set(xn(e,r),c,{ttl:u}),c}catch{o.signal.aborted&&(i=!0),ul.error(`${s} could not resolve ${e} record ${r}`)}finally{this._abortControllers=this._abortControllers.filter(a=>a!==o)}}throw i?Object.assign(new Error("queryTxt ECANCELLED"),{code:"ECANCELLED"}):new Error(`Could not resolve ${e} record ${r}`)}clearCache(){this._cache.clear(),this._TXTcache.clear()}},Mm=hl;var Fm=Mm;var{code:yb}=ce("dnsaddr");async function li(t,e={}){let r=new Fm;e.signal!=null&&e.signal.addEventListener("abort",()=>{r.cancel()});let n=t.getPeerId(),[,i]=t.stringTuples().find(([a])=>a===yb)??[];if(i==null)throw new Error("No hostname found in multiaddr");let o=(await r.resolveTxt(`_dnsaddr.${i}`)).flat().map(a=>a.split("=")[1]).filter(Boolean);return n!=null&&(o=o.filter(a=>a.includes(n))),o}var Jt;(function(t){t.NOT_STARTED_YET="The libp2p node is not started yet",t.DHT_DISABLED="DHT is not available",t.PUBSUB_DISABLED="PubSub is not available",t.CONN_ENCRYPTION_REQUIRED="At least one connection encryption module is required",t.ERR_TRANSPORTS_REQUIRED="At least one transport module is required",t.ERR_PROTECTOR_REQUIRED="Private network is enforced, but no protector was provided",t.NOT_FOUND="Not found"})(Jt||(Jt={}));var D;(function(t){t.DHT_DISABLED="ERR_DHT_DISABLED",t.ERR_PUBSUB_DISABLED="ERR_PUBSUB_DISABLED",t.PUBSUB_NOT_STARTED="ERR_PUBSUB_NOT_STARTED",t.DHT_NOT_STARTED="ERR_DHT_NOT_STARTED",t.CONN_ENCRYPTION_REQUIRED="ERR_CONN_ENCRYPTION_REQUIRED",t.ERR_TRANSPORTS_REQUIRED="ERR_TRANSPORTS_REQUIRED",t.ERR_PROTECTOR_REQUIRED="ERR_PROTECTOR_REQUIRED",t.ERR_PEER_DIAL_INTERCEPTED="ERR_PEER_DIAL_INTERCEPTED",t.ERR_CONNECTION_INTERCEPTED="ERR_CONNECTION_INTERCEPTED",t.ERR_INVALID_PROTOCOLS_FOR_STREAM="ERR_INVALID_PROTOCOLS_FOR_STREAM",t.ERR_CONNECTION_ENDED="ERR_CONNECTION_ENDED",t.ERR_CONNECTION_FAILED="ERR_CONNECTION_FAILED",t.ERR_NODE_NOT_STARTED="ERR_NODE_NOT_STARTED",t.ERR_ALREADY_ABORTED="ERR_ALREADY_ABORTED",t.ERR_TOO_MANY_ADDRESSES="ERR_TOO_MANY_ADDRESSES",t.ERR_NO_VALID_ADDRESSES="ERR_NO_VALID_ADDRESSES",t.ERR_RELAYED_DIAL="ERR_RELAYED_DIAL",t.ERR_DIALED_SELF="ERR_DIALED_SELF",t.ERR_DISCOVERED_SELF="ERR_DISCOVERED_SELF",t.ERR_DUPLICATE_TRANSPORT="ERR_DUPLICATE_TRANSPORT",t.ERR_ENCRYPTION_FAILED="ERR_ENCRYPTION_FAILED",t.ERR_HOP_REQUEST_FAILED="ERR_HOP_REQUEST_FAILED",t.ERR_INVALID_KEY="ERR_INVALID_KEY",t.ERR_INVALID_MESSAGE="ERR_INVALID_MESSAGE",t.ERR_INVALID_PARAMETERS="ERR_INVALID_PARAMETERS",t.ERR_INVALID_PEER="ERR_INVALID_PEER",t.ERR_MUXER_UNAVAILABLE="ERR_MUXER_UNAVAILABLE",t.ERR_NOT_FOUND="ERR_NOT_FOUND",t.ERR_TIMEOUT="ERR_TIMEOUT",t.ERR_TRANSPORT_UNAVAILABLE="ERR_TRANSPORT_UNAVAILABLE",t.ERR_TRANSPORT_DIAL_FAILED="ERR_TRANSPORT_DIAL_FAILED",t.ERR_UNSUPPORTED_PROTOCOL="ERR_UNSUPPORTED_PROTOCOL",t.ERR_PROTOCOL_HANDLER_ALREADY_REGISTERED="ERR_PROTOCOL_HANDLER_ALREADY_REGISTERED",t.ERR_INVALID_MULTIADDR="ERR_INVALID_MULTIADDR",t.ERR_SIGNATURE_NOT_VALID="ERR_SIGNATURE_NOT_VALID",t.ERR_FIND_SELF="ERR_FIND_SELF",t.ERR_NO_ROUTERS_AVAILABLE="ERR_NO_ROUTERS_AVAILABLE",t.ERR_CONNECTION_NOT_MULTIPLEXED="ERR_CONNECTION_NOT_MULTIPLEXED",t.ERR_NO_DIAL_TOKENS="ERR_NO_DIAL_TOKENS",t.ERR_KEYCHAIN_REQUIRED="ERR_KEYCHAIN_REQUIRED",t.ERR_INVALID_CMS="ERR_INVALID_CMS",t.ERR_MISSING_KEYS="ERR_MISSING_KEYS",t.ERR_NO_KEY="ERR_NO_KEY",t.ERR_INVALID_KEY_NAME="ERR_INVALID_KEY_NAME",t.ERR_INVALID_KEY_TYPE="ERR_INVALID_KEY_TYPE",t.ERR_KEY_ALREADY_EXISTS="ERR_KEY_ALREADY_EXISTS",t.ERR_INVALID_KEY_SIZE="ERR_INVALID_KEY_SIZE",t.ERR_KEY_NOT_FOUND="ERR_KEY_NOT_FOUND",t.ERR_OLD_KEY_NAME_INVALID="ERR_OLD_KEY_NAME_INVALID",t.ERR_NEW_KEY_NAME_INVALID="ERR_NEW_KEY_NAME_INVALID",t.ERR_PASSWORD_REQUIRED="ERR_PASSWORD_REQUIRED",t.ERR_PEM_REQUIRED="ERR_PEM_REQUIRED",t.ERR_CANNOT_READ_KEY="ERR_CANNOT_READ_KEY",t.ERR_MISSING_PRIVATE_KEY="ERR_MISSING_PRIVATE_KEY",t.ERR_MISSING_PUBLIC_KEY="ERR_MISSING_PUBLIC_KEY",t.ERR_INVALID_OLD_PASS_TYPE="ERR_INVALID_OLD_PASS_TYPE",t.ERR_INVALID_NEW_PASS_TYPE="ERR_INVALID_NEW_PASS_TYPE",t.ERR_INVALID_PASS_LENGTH="ERR_INVALID_PASS_LENGTH",t.ERR_NOT_IMPLEMENTED="ERR_NOT_IMPLEMENTED",t.ERR_WRONG_PING_ACK="ERR_WRONG_PING_ACK",t.ERR_INVALID_RECORD="ERR_INVALID_RECORD",t.ERR_ALREADY_SUCCEEDED="ERR_ALREADY_SUCCEEDED",t.ERR_NO_HANDLER_FOR_PROTOCOL="ERR_NO_HANDLER_FOR_PROTOCOL",t.ERR_TOO_MANY_OUTBOUND_PROTOCOL_STREAMS="ERR_TOO_MANY_OUTBOUND_PROTOCOL_STREAMS",t.ERR_TOO_MANY_INBOUND_PROTOCOL_STREAMS="ERR_TOO_MANY_INBOUND_PROTOCOL_STREAMS",t.ERR_CONNECTION_DENIED="ERR_CONNECTION_DENIED",t.ERR_TRANSFER_LIMIT_EXCEEDED="ERR_TRANSFER_LIMIT_EXCEEDED"})(D||(D={}));var gb={addresses:{listen:[],announce:[],noAnnounce:[],announceFilter:t=>t},connectionManager:{resolvers:{dnsaddr:li},addressSorter:ui},transportManager:{faultTolerance:Ur.FATAL_ALL}};function Um(t){let e=Pr(gb,t);if(e.transports==null||e.transports.length<1)throw new E(Jt.ERR_TRANSPORTS_REQUIRED,D.ERR_TRANSPORTS_REQUIRED);if(e.connectionProtector===null&&globalThis.process?.env?.LIBP2P_FORCE_PNET!=null)throw new E(Jt.ERR_PROTECTOR_REQUIRED,D.ERR_PROTECTOR_REQUIRED);return e}var Km="keep-alive";var Uy=V(ky(),1);var Jb=G("libp2p:get-peer");function ra(t){if(Eo(t))return{peerId:t,multiaddrs:[]};Array.isArray(t)||(t=[t]);let e;if(t.length>0){let r=t[0].getPeerId();e=r==null?void 0:ie(r),t.forEach(n=>{if(!mn(n))throw Jb.error("multiaddr %s was invalid",n),new E("Invalid Multiaddr",D.ERR_INVALID_MULTIADDR);let i=n.getPeerId();if(i==null){if(e!=null)throw new E("Multiaddrs must all have the same peer id or have no peer id",D.ERR_INVALID_PARAMETERS)}else{let s=ie(i);if(e==null||!e.equals(s))throw new E("Multiaddrs must all have the same peer id or have no peer id",D.ERR_INVALID_PARAMETERS)}})}return{peerId:e,multiaddrs:t}}function e_(t,e,r){let n=0,i=t.length;for(;i>0;){let s=Math.trunc(i/2),o=n+s;r(t[o],e)<=0?(n=++o,i-=s+1):i=s}return n}var Il=class{#e=[];enqueue(e,r){let n=r?.peerId,i=r?.priority??0;if(n==null)throw new E("missing peer id",D.ERR_INVALID_PARAMETERS);let s={priority:i,peerId:n,run:e};if(this.size>0&&this.#e[this.size-1].priority>=i){this.#e.push(s);return}let o=e_(this.#e,s,(a,c)=>c.priority-a.priority);this.#e.splice(o,0,s)}dequeue(){return this.#e.shift()?.run}filter(e){if(e.peerId!=null){let r=e.peerId;return this.#e.filter(n=>r.equals(n.peerId)).map(n=>n.run)}return this.#e.filter(r=>r.priority===e.priority).map(r=>r.run)}get size(){return this.#e.length}},na=class extends kt{constructor(e={}){super({...e,queueClass:Il})}hasJob(e){return this.sizeBy({peerId:e})>0}};var Ge=G("libp2p:connection-manager:auto-dial"),ds={minConnections:50,maxQueueLength:100,autoDialConcurrency:25,autoDialPriority:0,autoDialInterval:5e3},ia=class{connectionManager;peerStore;queue;minConnections;autoDialPriority;autoDialIntervalMs;autoDialMaxQueueLength;autoDialInterval;started;running;constructor(e,r){this.connectionManager=e.connectionManager,this.peerStore=e.peerStore,this.minConnections=r.minConnections??ds.minConnections,this.autoDialPriority=r.autoDialPriority??ds.autoDialPriority,this.autoDialIntervalMs=r.autoDialInterval??ds.autoDialInterval,this.autoDialMaxQueueLength=r.maxQueueLength??ds.maxQueueLength,this.started=!1,this.running=!1,this.queue=new na({concurrency:r.autoDialConcurrency??ds.autoDialConcurrency}),this.queue.addListener("error",n=>{Ge.error("error during auto-dial",n)}),e.events.addEventListener("connection:close",()=>{this.autoDial().catch(n=>{Ge.error(n)})})}isStarted(){return this.started}start(){this.autoDialInterval=setTimeout(()=>{this.autoDial().catch(e=>{Ge.error("error while autodialing",e)})},this.autoDialIntervalMs),this.started=!0}afterStart(){this.autoDial().catch(e=>{Ge.error("error while autodialing",e)})}stop(){this.queue.clear(),clearTimeout(this.autoDialInterval),this.started=!1,this.running=!1}async autoDial(){if(!this.started)return;let e=this.connectionManager.getConnectionsMap(),r=e.size;if(r>=this.minConnections){Ge.trace("have enough connections %d/%d",r,this.minConnections);return}if(this.queue.size>this.autoDialMaxQueueLength){Ge("not enough connections %d/%d but auto dial queue is full",r,this.minConnections);return}if(this.running){Ge("not enough connections %d/%d - but skipping autodial as it is already running",r,this.minConnections);return}this.running=!0,Ge("not enough connections %d/%d - will dial peers to increase the number of connections",r,this.minConnections);let n=new Pt(this.connectionManager.getDialQueue().map(c=>c.peerId).filter(Boolean)),i=await this.peerStore.all({filters:[c=>c.addresses.length===0?(Ge.trace("not autodialing %p because they have no addresses"),!1):e.has(c.id)?(Ge.trace("not autodialing %p because they are already connected"),!1):n.has(c.id)?(Ge.trace("not autodialing %p because they are already being dialed"),!1):this.queue.hasJob(c.id)?(Ge.trace("not autodialing %p because they are already being autodialed"),!1):!0]}),s=i.sort(()=>Math.random()>.5?1:-1),o=new Lt;for(let c of s)o.has(c.id)||o.set(c.id,[...c.tags.values()].reduce((u,l)=>u+l.value,0));let a=s.sort((c,u)=>{let l=o.get(c.id)??0,f=o.get(u.id)??0;return l>f?-1:l<f?1:0});Ge("selected %d/%d peers to dial",a.length,i.length);for(let c of a)this.queue.add(async()=>{let u=this.connectionManager.getConnectionsMap().size;if(u>=this.minConnections){Ge("got enough connections now %d/%d",u,this.minConnections),this.queue.clear();return}Ge("connecting to a peerStore stored peer %p",c.id),await this.connectionManager.openConnection(c.id,{priority:this.autoDialPriority})},{peerId:c.id}).catch(u=>{Ge.error("could not connect to peerStore stored peer",u)});this.running=!1,this.started&&(this.autoDialInterval=setTimeout(()=>{this.autoDial().catch(c=>{Ge.error("error while autodialing",c)})},this.autoDialIntervalMs))}};var mi=G("libp2p:connection-manager:connection-pruner"),Oy={maxConnections:300,allow:[]},sa=class{maxConnections;connectionManager;peerStore;allow;events;constructor(e,r={}){this.maxConnections=r.maxConnections??Oy.maxConnections,this.allow=r.allow??Oy.allow,this.connectionManager=e.connectionManager,this.peerStore=e.peerStore,this.events=e.events,e.events.addEventListener("connection:open",()=>{this.maybePruneConnections().catch(n=>{mi.error(n)})})}async maybePruneConnections(){let e=this.connectionManager.getConnections(),r=e.length,n=Math.max(r-this.maxConnections,0);if(mi("checking max connections limit %d/%d",r,this.maxConnections),r<=this.maxConnections)return;mi("max connections limit exceeded %d/%d, pruning %d connection(s)",r,this.maxConnections,n);let i=new Lt;for(let a of e){let c=a.remotePeer;if(!i.has(c)){i.set(c,0);try{let u=await this.peerStore.get(c);i.set(c,[...u.tags.values()].reduce((l,f)=>l+f.value,0))}catch(u){u.code!=="ERR_NOT_FOUND"&&mi.error("error loading peer tags",u)}}}let s=e.sort((a,c)=>{let u=i.get(a.remotePeer)??0,l=i.get(c.remotePeer)??0;if(u>l)return 1;if(u<l)return-1;let f=a.stat.timeline.open,h=c.stat.timeline.open;return f<h?1:f>h?-1:0}),o=[];for(let a of s)if(mi("too many connections open - closing a connection to %p",a.remotePeer),this.allow.some(u=>a.remoteAddr.toString().startsWith(u.toString()))||o.push(a),o.length===n)break;await Promise.all(o.map(async a=>{try{await a.close()}catch(c){mi.error(c)}})),this.events.safeDispatchEvent("connection:prune",{detail:o})}};var Nl=V(Ei(),1);function yi(t){let e=new globalThis.AbortController;function r(){e.abort();for(let s of t)s?.removeEventListener!=null&&s.removeEventListener("abort",r)}for(let s of t){if(s?.aborted===!0){r();break}s?.addEventListener!=null&&s.addEventListener("abort",r)}function n(){for(let s of t)s?.removeEventListener!=null&&s.removeEventListener("abort",r)}let i=e.signal;return i.clear=n,i}function ps(){let t={};return t.promise=new Promise((e,r)=>{t.resolve=e,t.reject=r}),t}var Pl=V(Ei(),1);var My=G("libp2p:connection-manager:utils");async function Dl(t,e){if(!t.protoNames().includes("dnsaddr"))return[t];let n=await r_(t,e),o=(await Promise.all(n.map(async a=>Dl(a,e)))).flat().reduce((a,c)=>(a.find(u=>u.equals(c))==null&&a.push(c),a),[]);return My("resolved %s to",t,o.map(a=>a.toString())),o}async function r_(t,e){try{return t=Ne(t.toString()),await t.resolve(e)}catch(r){return My.error(`multiaddr ${t.toString()} could not be resolved`,r),[]}}function Fy(...t){let e=[];for(let n of t)if(n!=null){try{(0,Pl.setMaxListeners)?.(1/0,n)}catch{}e.push(n)}let r=yi(e);try{(0,Pl.setMaxListeners)?.(1/0,r)}catch{}return r}var We=G("libp2p:connection-manager:dial-queue"),ms={addressSorter:ui,maxParallelDials:100,maxPeerAddrsToDial:25,maxParallelDialsPerPeer:10,dialTimeout:3e4,resolvers:{dnsaddr:li}},oa=class{pendingDials;queue;peerId;peerStore;connectionGater;transportManager;addressSorter;maxPeerAddrsToDial;maxParallelDialsPerPeer;dialTimeout;inProgressDialCount;pendingDialCount;shutDownController;constructor(e,r={}){this.addressSorter=r.addressSorter??ms.addressSorter,this.maxPeerAddrsToDial=r.maxPeerAddrsToDial??ms.maxPeerAddrsToDial,this.maxParallelDialsPerPeer=r.maxParallelDialsPerPeer??ms.maxParallelDialsPerPeer,this.dialTimeout=r.dialTimeout??ms.dialTimeout,this.peerId=e.peerId,this.peerStore=e.peerStore,this.connectionGater=e.connectionGater,this.transportManager=e.transportManager,this.shutDownController=new AbortController;try{(0,Nl.setMaxListeners)?.(1/0,this.shutDownController.signal)}catch{}this.pendingDialCount=e.metrics?.registerMetric("libp2p_dialler_pending_dials"),this.inProgressDialCount=e.metrics?.registerMetric("libp2p_dialler_in_progress_dials"),this.pendingDials=[];for(let[n,i]of Object.entries(r.resolvers??{}))ku.set(n,i);this.queue=new kt({concurrency:r.maxParallelDials??ms.maxParallelDials}),this.queue.on("add",()=>{this.pendingDialCount?.update(this.queue.size),this.inProgressDialCount?.update(this.queue.pending)}),this.queue.on("active",()=>{this.pendingDialCount?.update(this.queue.size),this.inProgressDialCount?.update(this.queue.pending)}),this.queue.on("completed",()=>{this.pendingDialCount?.update(this.queue.size),this.inProgressDialCount?.update(this.queue.pending)}),this.queue.on("error",n=>{We.error("error in dial queue",n),this.pendingDialCount?.update(this.queue.size),this.inProgressDialCount?.update(this.queue.pending)}),this.queue.on("empty",()=>{this.pendingDialCount?.update(this.queue.size),this.inProgressDialCount?.update(this.queue.pending)}),this.queue.on("idle",()=>{this.pendingDialCount?.update(this.queue.size),this.inProgressDialCount?.update(this.queue.pending)})}stop(){this.shutDownController.abort()}async dial(e,r={}){let{peerId:n,multiaddrs:i}=ra(e),s=i.map(l=>({multiaddr:l,isCertified:!1})),o=this.createDialAbortControllers(r.signal),a;try{a=await this.calculateMultiaddrs(n,s,{...r,signal:o})}catch(l){throw o.clear(),l}let c=this.pendingDials.find(l=>!!(l.peerId!=null&&n!=null&&l.peerId.equals(n)||a.map(({multiaddr:f})=>f.toString()).join()===l.multiaddrs.map(f=>f.toString()).join()));if(c!=null)return We("joining existing dial target for %p",n),o.clear(),c.promise;We("creating dial target for",a.map(({multiaddr:l})=>l.toString()));let u={id:i_(),status:"queued",peerId:n,multiaddrs:a.map(({multiaddr:l})=>l)};return u.promise=this.performDial(u,{...r,signal:o}).finally(()=>{this.pendingDials=this.pendingDials.filter(l=>l.id!==u.id),o.clear()}).catch(l=>{throw We.error("dial failed to %s",u.multiaddrs.map(f=>f.toString()).join(", "),l),o.aborted?new E(l.message,D.ERR_TIMEOUT):l}),this.pendingDials.push(u),u.promise}createDialAbortControllers(e){let r=yi([AbortSignal.timeout(this.dialTimeout),this.shutDownController.signal,e]);try{(0,Nl.setMaxListeners)?.(1/0,r)}catch{}return r}async calculateMultiaddrs(e,r=[],n={}){if(e!=null){if(this.peerId.equals(e))throw new E("Tried to dial self",D.ERR_DIALED_SELF);if(await this.connectionGater.denyDialPeer?.(e)===!0)throw new E("The dial request is blocked by gater.allowDialPeer",D.ERR_PEER_DIAL_INTERCEPTED);if(r.length===0){We("loading multiaddrs for %p",e);try{let l=await this.peerStore.get(e);r.push(...l.addresses),We("loaded multiaddrs for %p",e,r.map(({multiaddr:f})=>f.toString()))}catch(l){if(l.code!==D.ERR_NOT_FOUND)throw l}}}let i=(await Promise.all(r.map(async l=>{let f=await Dl(l.multiaddr,n);return f.length===1&&f[0].equals(l.multiaddr)?l:f.map(h=>({multiaddr:h,isCertified:!1}))}))).flat(),s=i.filter(l=>!!this.transportManager.transportForMultiaddr(l.multiaddr)),o=new Map;for(let l of s){let f=l.multiaddr.toString(),h=o.get(f);if(h!=null){h.isCertified=h.isCertified||l.isCertified||!1;continue}o.set(f,l)}let a=[...o.values()];if((a.length===0||a.length>this.maxPeerAddrsToDial)&&(We("addresses for %p before filtering",e??"unknown peer",i.map(({multiaddr:l})=>l.toString())),We("addresses for %p after filtering",e??"unknown peer",a.map(({multiaddr:l})=>l.toString()))),a.length===0)throw new E("The dial request has no valid addresses",D.ERR_NO_VALID_ADDRESSES);if(a.length>this.maxPeerAddrsToDial)throw new E("dial with more addresses than allowed",D.ERR_TOO_MANY_ADDRESSES);if(e!=null){let l=`/p2p/${e.toString()}`;a=a.map(f=>{let h=f.multiaddr.getPeerId();return f.multiaddr.protos().pop()?.path===!0?f:h!==e.toString()?{multiaddr:f.multiaddr.encapsulate(l),isCertified:f.isCertified}:f})}let c=[];for(let l of a)this.connectionGater.denyDialMultiaddr!=null&&await this.connectionGater.denyDialMultiaddr(l.multiaddr)||c.push(l);let u=c.sort(this.addressSorter);if(u.length===0)throw new E("The connection gater denied all addresses in the dial request",D.ERR_NO_VALID_ADDRESSES);return u}async performDial(e,r={}){let n=e.multiaddrs.map(()=>new AbortController);try{let i=new kt({concurrency:this.maxParallelDialsPerPeer});i.on("error",o=>{We.error("error dialling",o)});let s=await Promise.any(e.multiaddrs.map(async(o,a)=>{let c=n[a];if(c==null)throw new E("dialAction did not come with an AbortController",D.ERR_INVALID_PARAMETERS);let u=Fy(c.signal,r.signal);u.addEventListener("abort",()=>{We("dial to %s aborted",o)});let l=ps();return await i.add(async()=>{if(u.aborted){We("dial to %s was aborted before reaching the head of the peer dial queue",o),l.reject(new xr);return}await this.queue.add(async()=>{try{if(u.aborted){We("dial to %s was aborted before reaching the head of the dial queue",o),l.reject(new xr);return}e.status="active";let f=await this.transportManager.dial(o,{...r,signal:u});if(c.signal.aborted){We("multiple dials succeeded, closing superfluous connection"),f.close().catch(h=>{We.error("error closing superfluous connection",h)}),l.reject(new xr);return}n[a]=void 0,n.forEach(h=>{h!==void 0&&h.abort()}),We("dial to %s succeeded",o),l.resolve(f)}catch(f){We.error("error during dial of %s",o,f),l.reject(f)}},{...r,signal:u}).catch(f=>{l.reject(f)})},{signal:u}).catch(f=>{l.reject(f)}).finally(()=>{u.clear()}),l.promise}));if(s==null)throw new E("successful dial led to empty object returned from peer dial queue",D.ERR_TRANSPORT_DIAL_FAILED);return e.status="success",s}catch(i){throw e.status="error",e.multiaddrs.length===1&&i.name==="AggregateError"?i.errors[0]:i}}};function i_(){return`${parseInt(String(Math.random()*1e9),10).toString()}${Date.now()}`}var yt=G("libp2p:connection-manager"),a_=50,wn={minConnections:50,maxConnections:300,inboundConnectionThreshold:5,maxIncomingPendingConnections:10,autoDialConcurrency:25,autoDialPriority:0,autoDialMaxQueueLength:100},aa=class{started;connections;allow;deny;maxIncomingPendingConnections;incomingPendingConnections;maxConnections;dialQueue;autoDial;connectionPruner;inboundConnectionRateLimiter;peerStore;metrics;events;constructor(e,r={}){this.maxConnections=r.maxConnections??wn.maxConnections;let n=r.minConnections??wn.minConnections;if(this.maxConnections<n)throw new E("Connection Manager maxConnections must be greater than minConnections",D.ERR_INVALID_PARAMETERS);this.connections=new Lt,this.started=!1,this.peerStore=e.peerStore,this.metrics=e.metrics,this.events=e.events,this.onConnect=this.onConnect.bind(this),this.onDisconnect=this.onDisconnect.bind(this),this.events.addEventListener("connection:open",this.onConnect),this.events.addEventListener("connection:close",this.onDisconnect),this.allow=(r.allow??[]).map(i=>Ne(i)),this.deny=(r.deny??[]).map(i=>Ne(i)),this.incomingPendingConnections=0,this.maxIncomingPendingConnections=r.maxIncomingPendingConnections??wn.maxIncomingPendingConnections,this.inboundConnectionRateLimiter=new Uy.RateLimiterMemory({points:r.inboundConnectionThreshold??wn.inboundConnectionThreshold,duration:1}),this.autoDial=new ia({connectionManager:this,peerStore:e.peerStore,events:e.events},{minConnections:n,autoDialConcurrency:r.autoDialConcurrency??wn.autoDialConcurrency,autoDialPriority:r.autoDialPriority??wn.autoDialPriority,maxQueueLength:r.autoDialMaxQueueLength??wn.autoDialMaxQueueLength}),this.connectionPruner=new sa({connectionManager:this,peerStore:e.peerStore,events:e.events},{maxConnections:this.maxConnections,allow:this.allow}),this.dialQueue=new oa({peerId:e.peerId,metrics:e.metrics,peerStore:e.peerStore,transportManager:e.transportManager,connectionGater:e.connectionGater},{addressSorter:r.addressSorter??ui,maxParallelDials:r.maxParallelDials??100,maxPeerAddrsToDial:r.maxPeerAddrsToDial??25,dialTimeout:r.dialTimeout??3e4,resolvers:r.resolvers??{dnsaddr:li}})}isStarted(){return this.started}async start(){this.metrics?.registerMetricGroup("libp2p_connection_manager_connections",{calculate:()=>{let e={inbound:0,outbound:0};for(let r of this.connections.values())for(let n of r)n.stat.direction==="inbound"?e.inbound++:e.outbound++;return e}}),this.metrics?.registerMetricGroup("libp2p_protocol_streams_total",{label:"protocol",calculate:()=>{let e={};for(let r of this.connections.values())for(let n of r)for(let i of n.streams){let s=`${i.stat.direction} ${i.stat.protocol??"unnegotiated"}`;e[s]=(e[s]??0)+1}return e}}),this.metrics?.registerMetricGroup("libp2p_connection_manager_protocol_streams_per_connection_90th_percentile",{label:"protocol",calculate:()=>{let e={};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))e[o]=e[o]??[],e[o].push(a)}let r={};for(let[n,i]of Object.entries(e)){i=i.sort((o,a)=>o-a);let s=Math.floor(i.length*.9);r[n]=i[s]}return r}}),this.autoDial.start(),this.started=!0,yt("started")}async afterStart(){Promise.resolve().then(async()=>{let e=await this.peerStore.all({filters:[r=>r.tags.has(Km)]});await Promise.all(e.map(async r=>{await this.openConnection(r.id).catch(n=>{yt.error(n)})}))}).catch(e=>{yt.error(e)}),this.autoDial.afterStart()}async stop(){this.dialQueue.stop(),this.autoDial.stop();let e=[];for(let r of this.connections.values())for(let n of r)e.push((async()=>{try{await n.close()}catch(i){yt.error(i)}})());yt("closing %d connections",e.length),await Promise.all(e),this.connections.clear(),yt("stopped")}onConnect(e){this._onConnect(e).catch(r=>{yt.error(r)})}async _onConnect(e){let{detail:r}=e;if(!this.started){await r.close();return}let n=r.remotePeer,i=this.connections.get(n),s=!1;i!=null?i.push(r):(s=!0,this.connections.set(n,[r])),n.publicKey!=null&&n.type==="RSA"&&await this.peerStore.patch(n,{publicKey:n.publicKey}),s&&this.events.safeDispatchEvent("peer:connect",{detail:r.remotePeer})}onDisconnect(e){let{detail:r}=e;if(!this.started)return;let n=r.remotePeer,i=this.connections.get(n);i!=null&&i.length>1?(i=i.filter(s=>s.id!==r.id),this.connections.set(n,i)):i!=null&&(this.connections.delete(n),this.events.safeDispatchEvent("peer:disconnect",{detail:r.remotePeer}))}getConnections(e){if(e!=null)return this.connections.get(e)??[];let r=[];for(let n of this.connections.values())r=r.concat(n);return r}getConnectionsMap(){return this.connections}async openConnection(e,r={}){if(!this.isStarted())throw new E("Not started",D.ERR_NODE_NOT_STARTED);let{peerId:n}=ra(e);if(n!=null){yt("dial %p",n);let a=this.getConnections(n);if(a.length>0)return yt("had an existing connection to %p",n),a[0]}let i=await this.dialQueue.dial(e,{...r,priority:r.priority??a_}),s=this.connections.get(i.remotePeer);s==null&&(s=[],this.connections.set(i.remotePeer,s));let o=!1;for(let a of s)a.id===i.id&&(o=!0);return o||s.push(i),i}async closeConnections(e){let r=this.connections.get(e)??[];await Promise.all(r.map(async n=>{await n.close()}))}async acceptIncomingConnection(e){if(this.deny.some(i=>e.remoteAddr.toString().startsWith(i.toString())))return yt("connection from %s refused - connection remote address was in deny list",e.remoteAddr),!1;if(this.allow.some(i=>e.remoteAddr.toString().startsWith(i.toString())))return this.incomingPendingConnections++,!0;if(this.incomingPendingConnections===this.maxIncomingPendingConnections)return yt("connection from %s refused - incomingPendingConnections exceeded by peer %s",e.remoteAddr),!1;if(e.remoteAddr.isThinWaistAddress()){let i=e.remoteAddr.nodeAddress().address;try{await this.inboundConnectionRateLimiter.consume(i,1)}catch{return yt("connection from %s refused - inboundConnectionThreshold exceeded by host %s",i,e.remoteAddr),!1}}return this.getConnections().length<this.maxConnections?(this.incomingPendingConnections++,!0):(yt("connection from %s refused - maxConnections exceeded",e.remoteAddr),!1)}afterUpgradeInbound(){this.incomingPendingConnections--}getDialQueue(){return this.dialQueue.pendingDials}};var ca=class{constructor(e){if(!(e>0)||e-1&e)throw new Error("Max size for a FixedFIFO should be a power of two");this.buffer=new Array(e),this.mask=e-1,this.top=0,this.btm=0,this.next=null}push(e){return this.buffer[this.top]!==void 0?!1:(this.buffer[this.top]=e,this.top=this.top+1&this.mask,!0)}shift(){let e=this.buffer[this.btm];if(e!==void 0)return this.buffer[this.btm]=void 0,this.btm=this.btm+1&this.mask,e}isEmpty(){return this.buffer[this.btm]===void 0}},gi=class{constructor(e={}){this.hwm=e.splitLimit??16,this.head=new ca(this.hwm),this.tail=this.head,this.size=0}calculateSize(e){return e?.byteLength!=null?e.byteLength:1}push(e){if(e?.value!=null&&(this.size+=this.calculateSize(e.value)),!this.head.push(e)){let r=this.head;this.head=r.next=new ca(2*this.head.buffer.length),this.head.push(e)}}shift(){let e=this.tail.shift();if(e===void 0&&this.tail.next!=null){let r=this.tail.next;this.tail.next=null,this.tail=r,e=this.tail.shift()}return e?.value!=null&&(this.size-=this.calculateSize(e.value)),e}isEmpty(){return this.head.isEmpty()}};function vn(t={}){return c_(r=>{let n=r.shift();if(n==null)return{done:!0};if(n.error!=null)throw n.error;return{done:n.done===!0,value:n.value}},t)}function c_(t,e){e=e??{};let r=e.onEnd,n=new gi,i,s,o,a=async()=>n.isEmpty()?o?{done:!0}:await new Promise((m,y)=>{s=g=>{s=null,n.push(g);try{m(t(n))}catch(w){y(w)}return i}}):t(n),c=m=>s!=null?s(m):(n.push(m),i),u=m=>(n=new gi,s!=null?s({error:m}):(n.push({error:m}),i)),l=m=>{if(o)return i;if(e?.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})),h=()=>(n=new gi,f(),{done:!0}),d=m=>(f(m),{done:!0});if(i={[Symbol.asyncIterator](){return this},next:a,return:h,throw:d,push:l,end:f,get readableLength(){return n.size}},r==null)return i;let p=i;return i={[Symbol.asyncIterator](){return this},next(){return p.next()},throw(m){return p.throw(m),r!=null&&(r(m),r=void 0),{done:!0}},return(){return p.return(),r!=null&&(r(),r=void 0),{done:!0}},push:l,end(m){return p.end(m),r!=null&&(r(m),r=void 0),i},get readableLength(){return p.readableLength}},i}function u_(t){return t[Symbol.asyncIterator]!=null}function l_(...t){let e=[];for(let r of t)u_(r)||e.push(r);return e.length===t.length?function*(){for(let r of e)yield*r}():async function*(){let r=vn({objectMode:!0});Promise.resolve().then(async()=>{try{await Promise.all(t.map(async n=>{for await(let i of n)r.push(i)})),r.end()}catch(n){r.end(n)}}),yield*r}()}var Vr=l_;function En(t,...e){if(t==null)throw new Error("Empty pipeline");if(Fl(t)){let n=t;t=()=>n.source}else if(Vy(t)||Ky(t)){let n=t;t=()=>n}let r=[t,...e];if(r.length>1&&Fl(r[r.length-1])&&(r[r.length-1]=r[r.length-1].sink),r.length>2)for(let n=1;n<r.length-1;n++)Fl(r[n])&&(r[n]=h_(r[n]));return f_(...r)}var f_=(...t)=>{let e;for(;t.length>0;)e=t.shift()(e);return e},Ky=t=>t?.[Symbol.asyncIterator]!=null,Vy=t=>t?.[Symbol.iterator]!=null,Fl=t=>t==null?!1:t.sink!=null&&t.source!=null,h_=t=>e=>{let r=t.sink(e);if(r?.then!=null){let n=vn({objectMode:!0});r.then(()=>{n.end()},o=>{n.end(o)});let i,s=t.source;if(Ky(s))i=async function*(){yield*s,n.end()};else if(Vy(s))i=function*(){yield*s,n.end()};else throw new Error("Unknown duplex source type - must be Iterable or AsyncIterable");return Vr(n,i())}return t.source};function d_(t){return t[Symbol.asyncIterator]!=null}function p_(t,e){if(d_(t))return async function*(){for await(let a of t)yield e(a)}();let r=Yo(t),{value:n,done:i}=r.next();if(i===!0)return function*(){}();let s=e(n);if(typeof s.then=="function")return async function*(){yield await s;for await(let a of r)yield e(a)}();let o=e;return function*(){yield s;for(let a of r)yield o(a)}()}var qy=p_;async function*ys(t,e){yield*qy(t,async r=>(await e.merge(r.id,{multiaddrs:r.multiaddrs}),r))}function ua(t){let e=new Set;return Ot(t,r=>e.has(r.id.toString())?!1:(e.add(r.id.toString()),!0))}async function*la(t,e=1){let r=0;for await(let n of t)r++,yield n;if(r<e)throw new E(`more peers required, seen: ${r} min: ${e}`,"NOT_FOUND")}var fa=class{routers;started;components;constructor(e,r){this.routers=r.routers??[],this.started=!1,this.components=e}isStarted(){return this.started}async start(){this.started=!0}async stop(){this.started=!1}async*findProviders(e,r={}){if(this.routers.length===0)throw new E("No content routers available",D.ERR_NO_ROUTERS_AVAILABLE);yield*En(Vr(...this.routers.map(n=>n.findProviders(e,r))),n=>ys(n,this.components.peerStore),n=>ua(n),n=>la(n))}async provide(e,r={}){if(this.routers.length===0)throw new E("No content routers available",D.ERR_NO_ROUTERS_AVAILABLE);await Promise.all(this.routers.map(async n=>{await n.provide(e,r)}))}async put(e,r,n){if(!this.isStarted())throw new E(Jt.NOT_STARTED_YET,D.DHT_NOT_STARTED);await Promise.all(this.routers.map(async i=>{await i.put(e,r,n)}))}async get(e,r){if(!this.isStarted())throw new E(Jt.NOT_STARTED_YET,D.DHT_NOT_STARTED);return Promise.any(this.routers.map(async n=>n.get(e,r)))}};function m_(t){return t[Symbol.asyncIterator]!=null}function y_(t){if(m_(t))return(async()=>{for await(let e of t)return e})();for(let e of t)return e}var ha=y_;var g_=G("libp2p:peer-routing"),da=class{components;routers;constructor(e,r){this.components=e,this.routers=r.routers??[]}async findPeer(e,r){if(this.routers.length===0)throw new E("No peer routers available",D.ERR_NO_ROUTERS_AVAILABLE);if(e.toString()===this.components.peerId.toString())throw new E("Should not try to find self",D.ERR_FIND_SELF);let n=await En(Vr(...this.routers.map(i=>async function*(){try{yield await i.findPeer(e,r)}catch(s){g_.error(s)}}())),i=>Ot(i,Boolean),i=>ys(i,this.components.peerStore),async i=>ha(i));if(n!=null)return n;throw new E(Jt.NOT_FOUND,D.ERR_NOT_FOUND)}async*getClosestPeers(e,r){if(this.routers.length===0)throw new E("No peer routers available",D.ERR_NO_ROUTERS_AVAILABLE);yield*En(Vr(...this.routers.map(n=>n.getClosestPeers(e,r))),n=>ys(n,this.components.peerStore),n=>ua(n),n=>la(n))}};var x_=Symbol.for("@libp2p/topology");function $y(t){return t!=null&&!!t[x_]}var pa=G("libp2p:registrar"),Ul=32,Kl=64,ma=class{topologies;handlers;components;constructor(e){this.topologies=new Map,this.handlers=new Map,this.components=e,this._onDisconnect=this._onDisconnect.bind(this),this._onPeerUpdate=this._onPeerUpdate.bind(this),this._onConnect=this._onConnect.bind(this),this.components.events.addEventListener("peer:disconnect",this._onDisconnect),this.components.events.addEventListener("peer:connect",this._onConnect),this.components.events.addEventListener("peer:update",this._onPeerUpdate)}getProtocols(){return Array.from(new Set([...this.handlers.keys()])).sort()}getHandler(e){let r=this.handlers.get(e);if(r==null)throw new E(`No handler registered for protocol ${e}`,D.ERR_NO_HANDLER_FOR_PROTOCOL);return r}getTopologies(e){let r=this.topologies.get(e);return r==null?[]:[...r.values()]}async handle(e,r,n){if(this.handlers.has(e))throw new E(`Handler already registered for protocol ${e}`,D.ERR_PROTOCOL_HANDLER_ALREADY_REGISTERED);let i=Pr.bind({ignoreUndefined:!0})({maxInboundStreams:Ul,maxOutboundStreams:Kl},n);this.handlers.set(e,{handler:r,options:i}),await this.components.peerStore.merge(this.components.peerId,{protocols:[e]})}async unhandle(e){let r=Array.isArray(e)?e:[e];r.forEach(n=>{this.handlers.delete(n)}),await this.components.peerStore.patch(this.components.peerId,{protocols:r})}async register(e,r){if(!$y(r))throw pa.error("topology must be an instance of interfaces/topology"),new E("topology must be an instance of interfaces/topology",D.ERR_INVALID_PARAMETERS);let n=`${(Math.random()*1e9).toString(36)}${Date.now()}`,i=this.topologies.get(e);return i==null&&(i=new Map,this.topologies.set(e,i)),i.set(n,r),await r.setRegistrar(this),n}unregister(e){for(let[r,n]of this.topologies.entries())n.has(e)&&(n.delete(e),n.size===0&&this.topologies.delete(r))}_onDisconnect(e){let r=e.detail;this.components.peerStore.get(r).then(n=>{for(let i of n.protocols){let s=this.topologies.get(i);if(s!=null)for(let o of s.values())o.onDisconnect(r)}}).catch(n=>{n.code!==D.ERR_NOT_FOUND&&pa.error("could not inform topologies of disconnecting peer %p",r,n)})}_onConnect(e){let r=e.detail;this.components.peerStore.get(r).then(n=>{let i=this.components.connectionManager.getConnections(n.id)[0];if(i==null){pa("peer %p connected but the connection manager did not have a connection",n);return}for(let s of n.protocols){let o=this.topologies.get(s);if(o!=null)for(let a of o.values())a.onConnect(r,i)}}).catch(n=>{n.code!==D.ERR_NOT_FOUND&&pa.error("could not inform topologies of connecting peer %p",r,n)})}_onPeerUpdate(e){let{peer:r,previous:n}=e.detail,i=(n?.protocols??[]).filter(o=>!r.protocols.includes(o)),s=r.protocols.filter(o=>!(n?.protocols??[]).includes(o));for(let o of i){let a=this.topologies.get(o);if(a!=null)for(let c of a.values())c.onDisconnect(r.id)}for(let o of s){let a=this.topologies.get(o);if(a!=null)for(let c of a.values()){let u=this.components.connectionManager.getConnections(r.id)[0];u!=null&&c.onConnect(r.id,u)}}}};var Vl=class extends Map{constructor(e){super();let{name:r,metrics:n}=e;this.metric=n.registerMetric(r),this.updateComponentMetric()}set(e,r){return super.set(e,r),this.updateComponentMetric(),this}delete(e){let r=super.delete(e);return this.updateComponentMetric(),r}clear(){super.clear(),this.updateComponentMetric()}updateComponentMetric(){this.metric.update(this.size)}};function zy(t){let{name:e,metrics:r}=t,n;return r!=null?n=new Vl({name:e,metrics:r}):n=new Map,n}var bn=G("libp2p:transports"),ya=class{components;transports;listeners;faultTolerance;started;constructor(e,r={}){this.components=e,this.started=!1,this.transports=new Map,this.listeners=zy({name:"libp2p_transport_manager_listeners",metrics:this.components.metrics}),this.faultTolerance=r.faultTolerance??Ur.FATAL_ALL}add(e){let r=e[Symbol.toStringTag];if(r==null)throw new E("Transport must have a valid tag",D.ERR_INVALID_KEY);if(this.transports.has(r))throw new E(`There is already a transport with the tag ${r}`,D.ERR_DUPLICATE_TRANSPORT);bn("adding transport %s",r),this.transports.set(r,e),this.listeners.has(r)||this.listeners.set(r,[])}isStarted(){return this.started}start(){this.started=!0}async afterStart(){let e=this.components.addressManager.getListenAddrs();await this.listen(e)}async stop(){let e=[];for(let[r,n]of this.listeners)for(bn("closing listeners for %s",r);n.length>0;){let i=n.pop();i!=null&&e.push(i.close())}await Promise.all(e),bn("all listeners closed");for(let r of this.listeners.keys())this.listeners.set(r,[]);this.started=!1}async dial(e,r){let n=this.transportForMultiaddr(e);if(n==null)throw new E(`No transport available for address ${String(e)}`,D.ERR_TRANSPORT_UNAVAILABLE);try{return await n.dial(e,{...r,upgrader:this.components.upgrader})}catch(i){throw i.code==null&&(i.code=D.ERR_TRANSPORT_DIAL_FAILED),i}}getAddrs(){let e=[];for(let r of this.listeners.values())for(let n of r)e=[...e,...n.getAddrs()];return e}getTransports(){return Array.of(...this.transports.values())}getListeners(){return Array.of(...this.listeners.values()).flat()}transportForMultiaddr(e){for(let r of this.transports.values())if(r.filter([e]).length>0)return r}async listen(e){if(e==null||e.length===0){bn("no addresses were provided for listening, this node is dial only");return}let r=[];for(let[n,i]of this.transports.entries()){let s=i.filter(e),o=[];for(let u of s){bn("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.components.events.safeDispatchEvent("transport:listening",{detail:l})}),l.addEventListener("close",()=>{let h=f.findIndex(d=>d===l);f.splice(h,1),this.components.events.safeDispatchEvent("transport:close",{detail:l})}),o.push(l.listen(u))}if(o.length===0){r.push(n);continue}if((await Promise.allSettled(o)).find(u=>u.status==="fulfilled")==null&&this.faultTolerance!==Ur.NO_FATAL)throw new E(`Transport (${n}) could not listen on any available address`,D.ERR_NO_VALID_ADDRESSES)}if(r.length===this.transports.size){let n=`no valid addresses were provided for transports [${r.join(", ")}]`;if(this.faultTolerance===Ur.FATAL_ALL)throw new E(n,D.ERR_NO_VALID_ADDRESSES);bn(`libp2p in dial mode only: ${n}`)}}async remove(e){bn("removing %s",e);for(let r of this.listeners.get(e)??[])await r.close();this.transports.delete(e),this.listeners.delete(e)}async removeAll(){let e=[];for(let r of this.transports.keys())e.push(this.remove(r));await Promise.all(e)}};var Gl=V(Ei(),1);var dr="/multistream/1.0.0";function ga(t){return t[Symbol.asyncIterator]!=null}var xa=t=>{let e=Dt.encodingLength(t),r=At(e);return Dt.encode(t,r),xa.bytes=e,r};xa.bytes=0;function wa(t,e){e=e??{};let r=e.lengthEncoder??xa;function*n(i){let s=r(i.byteLength);s instanceof Uint8Array?yield s:yield*s,i instanceof Uint8Array?yield i:yield*i}return ga(t)?async function*(){for await(let i of t)yield*n(i)}():function*(){for(let i of t)yield*n(i)}()}wa.single=(t,e)=>{e=e??{};let r=e.lengthEncoder??xa;return new Ae(r(t.byteLength),t)};var xi=V(il(),1);var w_=8,v_=1024*1024*4,_n;(function(t){t[t.LENGTH=0]="LENGTH",t[t.DATA=1]="DATA"})(_n||(_n={}));var ql=t=>{let e=Dt.decode(t);return ql.bytes=Dt.encodingLength(e),e};ql.bytes=0;function gs(t,e){let r=new Ae,n=_n.LENGTH,i=-1,s=e?.lengthDecoder??ql,o=e?.maxLengthLength??w_,a=e?.maxDataLength??v_;function*c(){for(;r.byteLength>0;){if(n===_n.LENGTH)try{if(i=s(r),i<0)throw(0,xi.default)(new Error("invalid message length"),"ERR_INVALID_MSG_LENGTH");if(i>a)throw(0,xi.default)(new Error("message length too long"),"ERR_MSG_DATA_TOO_LONG");let u=s.bytes;r.consume(u),e?.onLength!=null&&e.onLength(i),n=_n.DATA}catch(u){if(u instanceof RangeError){if(r.byteLength>o)throw(0,xi.default)(new Error("message length length too long"),"ERR_MSG_LENGTH_TOO_LONG");break}throw u}if(n===_n.DATA){if(r.byteLength<i)break;let u=r.sublist(0,i);r.consume(i),e?.onData!=null&&e.onData(u),yield u,n=_n.LENGTH}}}return ga(t)?async function*(){for await(let u of t)r.append(u),yield*c();if(r.byteLength>0)throw(0,xi.default)(new Error("unexpected end of input"),"ERR_UNEXPECTED_EOF")}():function*(){for(let u of t)r.append(u),yield*c();if(r.byteLength>0)throw(0,xi.default)(new Error("unexpected end of input"),"ERR_UNEXPECTED_EOF")}()}gs.fromReader=(t,e)=>{let r=1,n=async function*(){for(;;)try{let{done:s,value:o}=await t.next(r);if(s===!0)return;o!=null&&(yield o)}catch(s){if(s.code==="ERR_UNDER_READ")return{done:!0,value:null};throw s}finally{r=1}}();return gs(n,{...e??{},onLength:s=>{r=s}})};var xs=class extends Error{constructor(e,r){super(e??"The operation was aborted"),this.type="aborted",this.code=r??"ABORT_ERR"}};function Hy(t){if(t!=null){if(typeof t[Symbol.iterator]=="function")return t[Symbol.iterator]();if(typeof t[Symbol.asyncIterator]=="function")return t[Symbol.asyncIterator]();if(typeof t.next=="function")return t}throw new Error("argument is not an iterator or iterable")}function va(t,e,r){let n=r??{},i=Hy(t);async function*s(){let o,a=()=>{o?.()};for(e.addEventListener("abort",a);;){let c;try{if(e.aborted){let{abortMessage:l,abortCode:f}=n;throw new xs(l,f)}let u=new Promise((l,f)=>{o=()=>{let{abortMessage:h,abortCode:d}=n;f(new xs(h,d))}});c=await Promise.race([u,i.next()]),o=null}catch(u){e.removeEventListener("abort",a);let l=u.type==="aborted"&&e.aborted;if(l&&n.onAbort!=null&&n.onAbort(t),typeof i.return=="function")try{let f=i.return();f instanceof Promise&&f.catch(h=>{n.onReturnError!=null&&n.onReturnError(h)})}catch(f){n.onReturnError!=null&&n.onReturnError(f)}if(l&&n.returnOnAbort===!0)return;throw u}if(c.done===!0)break;yield c.value}e.removeEventListener("abort",a)}return s()}function b_(t,e,r){return n=>t(va(n,e,r))}function Gy(t,e,r){return{sink:b_(t.sink,e,{...r,onAbort:void 0}),source:va(t.source,e,r)}}var S_=G("libp2p:mss"),Yy=U(`
49
- `);function ws(t){let e=new Ae(t,Yy);return wa.single(e)}function Sn(t,e,r={}){let n=ws(e);r.writeBytes===!0?t.push(n.subarray()):t.push(n)}function Wy(t,e,r={}){let n=new Ae;for(let i of e)n.append(ws(i));r.writeBytes===!0?t.push(n.subarray()):t.push(n)}async function A_(t,e){let r=1,n={[Symbol.asyncIterator]:()=>n,next:async()=>await t.next(r)},i=n;e?.signal!=null&&(i=va(n,e.signal));let s=a=>{r=a},o=await En(i,a=>gs(a,{onLength:s,maxDataLength:1024}),async a=>await ha(a));if(o==null||o.length===0)throw new E("no buffer returned","ERR_INVALID_MULTISTREAM_SELECT_MESSAGE");if(o.get(o.byteLength-1)!==Yy[0])throw S_.error("Invalid mss message - missing newline - %s",o.subarray()),new E("missing newline","ERR_INVALID_MULTISTREAM_SELECT_MESSAGE");return o.sublist(0,-1)}async function wi(t,e){let r=await A_(t,e);return $(r.subarray())}function $l(t){let e=async function*(){let r=yield,n=new Ae;for await(let i of t){if(r==null){n.append(i),r=yield n,n=new Ae;continue}for(n.append(i);n.length>=r;){let s=n.sublist(0,r);if(n.consume(r),r=yield s,r==null){n.length>0&&(r=yield n,n=new Ae);break}}}if(r!=null)throw Object.assign(new Error(`stream ended before ${r} bytes became available`),{code:"ERR_UNDER_READ",buffer:n})}();return e.next(),e}function Ea(t){let e=vn(),r=$l(t.source),n=ps(),i,s=t.sink(async function*(){yield*e,yield*await n.promise}());return s.catch(a=>{i=a}),{reader:r,writer:e,stream:{sink:async a=>{if(i!=null){await Promise.reject(i);return}n.resolve(a),await s},source:r},rest:()=>e.end(),write:e.push,read:async()=>{let a=await r.next();if(a.value!=null)return a.value}}}var vs=G("libp2p:mss:select");async function Es(t,e,r={}){e=Array.isArray(e)?[...e]:[e];let{reader:n,writer:i,rest:s,stream:o}=Ea(t),a=e.shift();if(a==null)throw new Error("At least one protocol must be specified");vs.trace('select: write ["%s", "%s"]',dr,a);let c=U(dr),u=U(a);Wy(i,[c,u],r);let l=await wi(n,r);if(vs.trace('select: read "%s"',l),l===dr&&(l=await wi(n,r),vs.trace('select: read "%s"',l)),l===a)return s(),{stream:o,protocol:a};for(let f of e){vs.trace('select: write "%s"',f),Sn(i,U(f),r);let h=await wi(n,r);if(vs.trace('select: read "%s" for "%s"',h,f),h===f)return s(),{stream:o,protocol:f}}throw s(),new E("protocol selection failed","ERR_UNSUPPORTED_PROTOCOL")}var bs=G("libp2p:mss:handle");async function _s(t,e,r){e=Array.isArray(e)?e:[e];let{writer:n,reader:i,rest:s,stream:o}=Ea(t);for(;;){let a=await wi(i,r);if(bs.trace('read "%s"',a),a===dr){bs.trace('respond with "%s" for "%s"',dr,a),Sn(n,U(dr),r);continue}if(e.includes(a))return Sn(n,U(a),r),bs.trace('respond with "%s" for "%s"',a,a),s(),{stream:o,protocol:a};if(a==="ls"){Sn(n,new Ae(...e.map(c=>ws(U(c)))),r),bs.trace('respond with "%s" for %s',e,a);continue}Sn(n,U("na"),r),bs('respond with "na" for "%s"',a)}}var Xy=Symbol.for("@libp2p/connection");var Zy="OPEN",zl="CLOSING",ba="CLOSED";var R_=G("libp2p:connection"),Hl=class{id;remoteAddr;remotePeer;stat;tags;_newStream;_close;_getStreams;_closing;constructor(e){let{remoteAddr:r,remotePeer:n,newStream:i,close:s,getStreams:o,stat:a}=e;this.id=`${parseInt(String(Math.random()*1e9)).toString(36)}${Date.now()}`,this.remoteAddr=r,this.remotePeer=n,this.stat={...a,status:Zy},this._newStream=i,this._close=s,this._getStreams=o,this.tags=[],this._closing=!1}[Symbol.toStringTag]="Connection";[Xy]=!0;get streams(){return this._getStreams()}async newStream(e,r){if(this.stat.status===zl)throw new E("the connection is being closed","ERR_CONNECTION_BEING_CLOSED");if(this.stat.status===ba)throw new E("the connection is closed","ERR_CONNECTION_CLOSED");Array.isArray(e)||(e=[e]);let n=await this._newStream(e,r);return n.stat.direction="outbound",n}addStream(e){e.stat.direction="inbound"}removeStream(e){}async close(){if(!(this.stat.status===ba||this._closing)){this.stat.status=zl;try{this.streams.forEach(e=>{e.close()})}catch(e){R_.error(e)}this._closing=!0,await this._close(),this._closing=!1,this.stat.timeline.close=Date.now(),this.stat.status=ba}}};function jy(t){return new Hl(t)}var we=G("libp2p:upgrader");function T_(t,e){try{let{options:r}=e.getHandler(t);return r.maxInboundStreams}catch(r){if(r.code!==D.ERR_NO_HANDLER_FOR_PROTOCOL)throw r}return Ul}function B_(t,e){try{let{options:r}=e.getHandler(t);return r.maxOutboundStreams}catch(r){if(r.code!==D.ERR_NO_HANDLER_FOR_PROTOCOL)throw r}return Kl}function Jy(t,e,r){let n=0;return r.streams.forEach(i=>{i.stat.direction===e&&i.stat.protocol===t&&n++}),n}var _a=class{components;connectionEncryption;muxers;inboundUpgradeTimeout;events;constructor(e,r){this.components=e,this.connectionEncryption=new Map,r.connectionEncryption.forEach(n=>{this.connectionEncryption.set(n.protocol,n)}),this.muxers=new Map,r.muxers.forEach(n=>{this.muxers.set(n.protocol,n)}),this.inboundUpgradeTimeout=r.inboundUpgradeTimeout??3e4,this.events=e.events}async shouldBlockConnection(e,r,n){let i=this.components.connectionGater[n];if(i!==void 0&&await i(e,r))throw new E(`The multiaddr connection is blocked by gater.${n}`,D.ERR_CONNECTION_INTERCEPTED)}async upgradeInbound(e,r){if(!await this.components.connectionManager.acceptIncomingConnection(e))throw new E("connection denied",D.ERR_CONNECTION_DENIED);let i,s,o,a,c,u=yi([AbortSignal.timeout(this.inboundUpgradeTimeout)]);try{(0,Gl.setMaxListeners)?.(1/0,u)}catch{}try{let l=Gy(e,u);if(e.source=l.source,e.sink=l.sink,await this.components.connectionGater.denyInboundConnection?.(e)===!0)throw new E("The multiaddr connection is blocked by gater.acceptConnection",D.ERR_CONNECTION_INTERCEPTED);this.components.metrics?.trackMultiaddrConnection(e),we("starting the inbound connection upgrade");let f=e;if(r?.skipProtection!==!0){let h=this.components.connectionProtector;h!=null&&(we("protecting the inbound connection"),f=await h.protect(e))}try{if(i=f,r?.skipEncryption!==!0){({conn:i,remotePeer:s,protocol:c}=await this._encryptInbound(f));let h={...f,...i};await this.shouldBlockConnection(s,h,"denyInboundEncryptedConnection")}else{let h=e.remoteAddr.getPeerId();if(h==null)throw new E("inbound connection that skipped encryption must have a peer id",D.ERR_INVALID_MULTIADDR);let d=ie(h);c="native",s=d}if(o=i,r?.muxerFactory!=null)a=r.muxerFactory;else if(this.muxers.size>0){let h=await this._multiplexInbound({...f,...i},this.muxers);a=h.muxerFactory,o=h.stream}}catch(h){throw we.error("Failed to upgrade inbound connection",h),h}return await this.shouldBlockConnection(s,e,"denyInboundUpgradedConnection"),we("Successfully upgraded inbound connection"),this._createConnection({cryptoProtocol:c,direction:"inbound",maConn:e,upgradedConn:o,muxerFactory:a,remotePeer:s})}finally{this.components.connectionManager.afterUpgradeInbound(),u.clear()}}async upgradeOutbound(e,r){let n=e.remoteAddr.getPeerId(),i;n!=null&&(i=ie(n),await this.shouldBlockConnection(i,e,"denyOutboundConnection"));let s,o,a,c,u;this.components.metrics?.trackMultiaddrConnection(e),we("Starting the outbound connection upgrade");let l=e;if(r?.skipProtection!==!0){let f=this.components.connectionProtector;f!=null&&(l=await f.protect(e))}try{if(s=l,r?.skipEncryption!==!0){({conn:s,remotePeer:o,protocol:c}=await this._encryptOutbound(l,i));let f={...l,...s};await this.shouldBlockConnection(o,f,"denyOutboundEncryptedConnection")}else{if(i==null)throw new E("Encryption was skipped but no peer id was passed",D.ERR_INVALID_PEER);c="native",o=i}if(a=s,r?.muxerFactory!=null)u=r.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 we.error("Failed to upgrade outbound connection",f),await e.close(f),f}return await this.shouldBlockConnection(o,e,"denyOutboundUpgradedConnection"),we("Successfully upgraded outbound connection"),this._createConnection({cryptoProtocol:c,direction:"outbound",maConn:e,upgradedConn:a,muxerFactory:u,remotePeer:o})}_createConnection(e){let{cryptoProtocol:r,direction:n,maConn:i,upgradedConn:s,remotePeer:o,muxerFactory:a}=e,c,u,l;a!=null&&(c=a.createStreamMuxer({direction:n,onIncomingStream:d=>{l!=null&&Promise.resolve().then(async()=>{let p=this.components.registrar.getProtocols(),{stream:m,protocol:y}=await _s(d,p);if(we("%s: incoming stream opened on %s",n,y),l==null)return;let g=T_(y,this.components.registrar);if(Jy(y,"inbound",l)===g){let _=new E(`Too many inbound protocol streams for protocol "${y}" - limit ${g}`,D.ERR_TOO_MANY_INBOUND_PROTOCOL_STREAMS);throw d.abort(_),_}d.source=m.source,d.sink=m.sink,d.stat.protocol=y,await this.components.peerStore.merge(o,{protocols:[y]}),l.addStream(d),this.components.metrics?.trackProtocolStream(d,l),this._onStream({connection:l,stream:d,protocol:y})}).catch(p=>{we.error(p),d.stat.timeline.close==null&&d.close()})},onStreamEnd:d=>{l?.removeStream(d.id)}}),u=async(d,p={})=>{if(c==null)throw new E("Stream is not multiplexed",D.ERR_MUXER_UNAVAILABLE);we("%s: starting new stream on %s",n,d);let m=await c.newStream();try{if(p.signal==null){we("No abort signal was passed while trying to negotiate protocols %s falling back to default timeout",d),p.signal=AbortSignal.timeout(3e4);try{(0,Gl.setMaxListeners)?.(1/0,p.signal)}catch{}}let{stream:y,protocol:g}=await Es(m,d,p),w=B_(g,this.components.registrar);if(Jy(g,"outbound",l)===w){let N=new E(`Too many outbound protocol streams for protocol "${g}" - limit ${w}`,D.ERR_TOO_MANY_OUTBOUND_PROTOCOL_STREAMS);throw m.abort(N),N}return await this.components.peerStore.merge(o,{protocols:[g]}),m.source=y.source,m.sink=y.sink,m.stat.protocol=g,this.components.metrics?.trackProtocolStream(m,l),m}catch(y){throw we.error("could not create new stream",y),m.stat.timeline.close==null&&m.close(),y.code!=null?y:new E(String(y),D.ERR_UNSUPPORTED_PROTOCOL)}},Promise.all([c.sink(s.source),s.sink(c.source)]).catch(d=>{we.error(d)}));let f=i.timeline;i.timeline=new Proxy(f,{set:(...d)=>(l!=null&&d[1]==="close"&&d[2]!=null&&f.close==null&&(async()=>{try{l.stat.status==="OPEN"&&await l.close()}catch(p){we.error(p)}finally{this.events.safeDispatchEvent("connection:close",{detail:l})}})().catch(p=>{we.error(p)}),Reflect.set(...d))}),i.timeline.upgraded=Date.now();let h=()=>{throw new E("connection is not multiplexed",D.ERR_CONNECTION_NOT_MULTIPLEXED)};return l=jy({remoteAddr:i.remoteAddr,remotePeer:o,stat:{status:"OPEN",direction:n,timeline:i.timeline,multiplexer:c?.protocol,encryption:r},newStream:u??h,getStreams:()=>c!=null?c.streams:h(),close:async()=>{await i.close(),c?.close()}}),this.events.safeDispatchEvent("connection:open",{detail:l}),l}_onStream(e){let{connection:r,stream:n,protocol:i}=e,{handler:s}=this.components.registrar.getHandler(i);s({connection:r,stream:n})}async _encryptInbound(e){let r=Array.from(this.connectionEncryption.keys());we("handling inbound crypto protocol selection",r);try{let{stream:n,protocol:i}=await _s(e,r,{writeBytes:!0}),s=this.connectionEncryption.get(i);if(s==null)throw new Error(`no crypto module found for ${i}`);return we("encrypting inbound connection..."),{...await s.secureInbound(this.components.peerId,n),protocol:i}}catch(n){throw new E(String(n),D.ERR_ENCRYPTION_FAILED)}}async _encryptOutbound(e,r){let n=Array.from(this.connectionEncryption.keys());we("selecting outbound crypto protocol",n);try{let{stream:i,protocol:s}=await Es(e,n,{writeBytes:!0}),o=this.connectionEncryption.get(s);if(o==null)throw new Error(`no crypto module found for ${s}`);return we("encrypting outbound connection to %p",r),{...await o.secureOutbound(this.components.peerId,i,r),protocol:s}}catch(i){throw new E(String(i),D.ERR_ENCRYPTION_FAILED)}}async _multiplexOutbound(e,r){let n=Array.from(r.keys());we("outbound selecting muxer %s",n);try{let{stream:i,protocol:s}=await Es(e,n,{writeBytes:!0});we("%s selected as muxer protocol",s);let o=r.get(s);return{stream:i,muxerFactory:o}}catch(i){throw we.error("error multiplexing outbound stream",i),new E(String(i),D.ERR_MUXER_UNAVAILABLE)}}async _multiplexInbound(e,r){let n=Array.from(r.keys());we("inbound handling muxers %s",n);try{let{stream:i,protocol:s}=await _s(e,n,{writeBytes:!0}),o=r.get(s);return{stream:i,muxerFactory:o}}catch(i){throw we.error("error multiplexing inbound stream",i),new E(String(i),D.ERR_MUXER_UNAVAILABLE)}}};var it=G("libp2p"),Yl=class extends Qi{peerId;peerStore;contentRouting;peerRouting;keychain;metrics;services;components;#e;constructor(e){super();let r=new Qi,n=r.dispatchEvent.bind(r);r.dispatchEvent=c=>{let u=n(c),l=this.dispatchEvent(new hu(c.type,{detail:c.detail}));return u||l};try{(0,eg.setMaxListeners)?.(1/0,r)}catch{}this.#e=!1,this.peerId=e.peerId,this.services={};let i=this.components=vm({peerId:e.peerId,events:r,datastore:e.datastore??new Qo,connectionGater:Bm(e.connectionGater)});this.peerStore=this.configureComponent("peerStore",new Go(i,{addressFilter:this.components.connectionGater.filterMultiaddrForPeer,...e.peerStore})),e.metrics!=null&&(this.metrics=this.configureComponent("metrics",e.metrics(this.components))),i.events.addEventListener("peer:update",c=>{c.detail.previous==null&&this.safeDispatchEvent("peer:discovery",{detail:c.detail.peer})}),e.connectionProtector!=null&&this.configureComponent("connectionProtector",e.connectionProtector(i)),this.components.upgrader=new _a(this.components,{connectionEncryption:(e.connectionEncryption??[]).map((c,u)=>this.configureComponent(`connection-encryption-${u}`,c(this.components))),muxers:(e.streamMuxers??[]).map((c,u)=>this.configureComponent(`stream-muxers-${u}`,c(this.components))),inboundUpgradeTimeout:e.connectionManager.inboundUpgradeTimeout}),this.configureComponent("transportManager",new ya(this.components,e.transportManager)),this.configureComponent("connectionManager",new aa(this.components,e.connectionManager)),this.configureComponent("registrar",new ma(this.components)),this.configureComponent("addressManager",new Xo(this.components,e.addresses));let s=pn.generateOptions();this.keychain=this.configureComponent("keyChain",new pn(this.components,{...s,...e.keychain}));let o=(e.peerRouters??[]).map((c,u)=>this.configureComponent(`peer-router-${u}`,c(this.components)));this.peerRouting=this.components.peerRouting=this.configureComponent("peerRouting",new da(this.components,{routers:o}));let a=(e.contentRouters??[]).map((c,u)=>this.configureComponent(`content-router-${u}`,c(this.components)));if(this.contentRouting=this.components.contentRouting=this.configureComponent("contentRouting",new fa(this.components,{routers:a})),(e.peerDiscovery??[]).forEach((c,u)=>{this.configureComponent(`peer-discovery-${u}`,c(this.components)).addEventListener("peer",f=>{this.#t(f)})}),e.transports.forEach((c,u)=>{this.components.transportManager.add(this.configureComponent(`transport-${u}`,c(this.components)))}),e.services!=null)for(let c of Object.keys(e.services)){let u=e.services[c],l=u(this.components);if(l==null){it.error("service factory %s returned null or undefined instance",c);continue}this.services[c]=l,this.configureComponent(c,l),l[cu]!=null&&(it("registering service %s for content routing",c),a.push(l[cu])),l[lu]!=null&&(it("registering service %s for peer routing",c),o.push(l[lu])),l[uu]!=null&&(it("registering service %s for peer discovery",c),l[uu].addEventListener("peer",f=>{this.#t(f)}))}}configureComponent(e,r){return r==null&&it.error("component %s was null or undefined",e),this.components[e]=r,r}async start(){if(this.#e)return;this.#e=!0,it("libp2p is starting"),(await this.keychain.listKeys()).find(r=>r.name==="self")==null&&(it("importing self key into keychain"),await this.keychain.importPeer("self",this.components.peerId));try{await this.components.beforeStart?.(),await this.components.start(),await this.components.afterStart?.(),this.safeDispatchEvent("start",{detail:this}),it("libp2p has started")}catch(r){throw it.error("An error occurred starting libp2p",r),await this.stop(),r}}async stop(){this.#e&&(it("libp2p is stopping"),this.#e=!1,await this.components.beforeStop?.(),await this.components.stop(),await this.components.afterStop?.(),this.safeDispatchEvent("stop",{detail:this}),it("libp2p has stopped"))}isStarted(){return this.#e}getConnections(e){return this.components.connectionManager.getConnections(e)}getDialQueue(){return this.components.connectionManager.getDialQueue()}getPeers(){let e=new Pt;for(let r of this.components.connectionManager.getConnections())e.add(r.remotePeer);return Array.from(e)}async dial(e,r={}){return this.components.connectionManager.openConnection(e,r)}async dialProtocol(e,r,n={}){if(r==null)throw new E("no protocols were provided to open a stream",D.ERR_INVALID_PROTOCOLS_FOR_STREAM);if(r=Array.isArray(r)?r:[r],r.length===0)throw new E("no protocols were provided to open a stream",D.ERR_INVALID_PROTOCOLS_FOR_STREAM);return(await this.dial(e,n)).newStream(r,n)}getMultiaddrs(){return this.components.addressManager.getAddresses()}getProtocols(){return this.components.registrar.getProtocols()}async hangUp(e){mn(e)&&(e=ie(e.getPeerId()??"")),await this.components.connectionManager.closeConnections(e)}async getPublicKey(e,r={}){if(it("getPublicKey %p",e),e.publicKey!=null)return e.publicKey;let n=await this.peerStore.get(e);if(n.id.publicKey!=null)return n.id.publicKey;let i=Ce([U("/pk/"),e.multihash.digest]),s=await this.contentRouting.get(i,r);return Yi(s),await this.peerStore.patch(e,{publicKey:s}),s}async handle(e,r,n){Array.isArray(e)||(e=[e]),await Promise.all(e.map(async i=>{await this.components.registrar.handle(i,r,n)}))}async unhandle(e){Array.isArray(e)||(e=[e]),await Promise.all(e.map(async r=>{await this.components.registrar.unhandle(r)}))}async register(e,r){return this.components.registrar.register(e,r)}unregister(e){this.components.registrar.unregister(e)}#t(e){let{detail:r}=e;if(r.id.toString()===this.peerId.toString()){it.error(new Error(D.ERR_DISCOVERED_SELF));return}this.components.peerStore.merge(r.id,{multiaddrs:r.multiaddrs,protocols:r.protocols}).catch(n=>{it.error(n)})}};async function tg(t){if(t.peerId==null){let e=t.datastore;if(e!=null)try{let r=new pn({datastore:e},Pr(pn.generateOptions(),t.keychain));t.peerId=await r.exportPeerId("self")}catch(r){if(r.code!=="ERR_NOT_FOUND")throw r}}return t.peerId==null&&(t.peerId=await hp()),new Yl(Um(t))}async function L_(t){let e=await tg(t);return t.start!==!1&&await e.start(),e}return cg(P_);})();
48
+ `.replace(/\s*\/\/.*$/gm,"").replace(/\n/g,"").trim(),_I=new RegExp(`(?:^${Kt}$)|(?:^${Na}$)`),SI=new RegExp(`^${Kt}$`),AI=new RegExp(`^${Na}$`),Lf=t=>t&&t.exact?_I:new RegExp(`(?:${Qr(t)}${Kt}${Qr(t)})|(?:${Qr(t)}${Na}${Qr(t)})`,"g");Lf.v4=t=>t&&t.exact?SI:new RegExp(`${Qr(t)}${Kt}${Qr(t)}`,"g");Lf.v6=t=>t&&t.exact?AI:new RegExp(`${Qr(t)}${Na}${Qr(t)}`,"g");var Bg=Lf;var kg=z(Pg(),1),{isValid:II,parse:RI}=kg.default,CI=["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"],TI=CI.map(t=>new Ng.Netmask(t));function BI(t){for(let e of TI)if(e.contains(t))return!0;return!1}function Dg(t){return/^::$/.test(t)||/^::1$/.test(t)||/^::f{4}:([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})$/.test(t)||/^::f{4}:0.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})$/.test(t)||/^64:ff9b::([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})$/.test(t)||/^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(t)||/^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(t)||/^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(t)||/^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(t)||/^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(t)||/^f[c-d]([0-9a-fA-F]{2,2}):/i.test(t)||/^fe[8-9a-bA-B][0-9a-fA-F]:/i.test(t)||/^ff([0-9a-fA-F]{2,2}):/i.test(t)}var Og=t=>{if(II(t)){let e=RI(t);if(e.kind()==="ipv4")return BI(e.toNormalizedString());if(e.kind()==="ipv6")return Dg(t)}else if(Ii(t)&&Bg.v6().test(t))return Dg(t)};var Oa=Og;function Mg(t={}){return{denyDialPeer:async()=>!1,denyDialMultiaddr:async e=>{let r=e.stringTuples();return r[0][0]===4||r[0][0]===41?!!Oa(`${r[0][1]}`):!1},denyInboundConnection:async()=>!1,denyOutboundConnection:async()=>!1,denyInboundEncryptedConnection:async()=>!1,denyOutboundEncryptedConnection:async()=>!1,denyInboundUpgradedConnection:async()=>!1,denyOutboundUpgradedConnection:async()=>!1,filterMultiaddrForPeer:async()=>!0,...t}}var eD=Symbol.for("@libp2p/transport");var Xr;(function(t){t[t.FATAL_ALL=0]="FATAL_ALL",t[t.NO_FATAL=1]="NO_FATAL"})(Xr||(Xr={}));function Pf(t){try{let{address:e}=t.nodeAddress();return!!Oa(e)}catch{return!0}}function Di(t,e){let r=Pf(t.multiaddr),n=Pf(e.multiaddr);return r&&!n?1:!r&&n||t.isCertified&&!e.isCertified?-1:!t.isCertified&&e.isCertified?1:0}var Nf=z(al(),1),kf=z(Kg(),1);var Vg=globalThis.fetch,qg=globalThis.Headers,aD=globalThis.Request,cD=globalThis.Response;function Ma(t,e,r){return`${t}?name=${e}&type=${r}`}async function zg(t,e){return await(await Vg(t,{headers:new qg({accept:"application/dns-json"}),signal:e})).json()}function Bn(t,e){return`${e}_${t}`}var Df=Object.assign((0,Nf.default)("dns-over-http-resolver"),{error:(0,Nf.default)("dns-over-http-resolver:error")}),Of=class{constructor(e={}){this._cache=new kf.default({max:e?.maxCache??100}),this._TXTcache=new kf.default({max:e?.maxCache??100}),this._servers=["https://cloudflare-dns.com/dns-query","https://dns.google/resolve"],this._request=e.request??zg,this._abortControllers=[]}cancel(){this._abortControllers.forEach(e=>e.abort())}getServers(){return this._servers}_getShuffledServers(){let e=[...this._servers];for(let r=e.length-1;r>0;r--){let n=Math.floor(Math.random()*r),i=e[r];e[r]=e[n],e[n]=i}return e}setServers(e){this._servers=e}async resolve(e,r="A"){switch(r){case"A":return await this.resolve4(e);case"AAAA":return await this.resolve6(e);case"TXT":return await this.resolveTxt(e);default:throw new Error(`${r} is not supported`)}}async resolve4(e){let r="A",n=this._cache.get(Bn(e,r));if(n!=null)return n;let i=!1;for(let o of this._getShuffledServers()){let s=new AbortController;this._abortControllers.push(s);try{let a=await this._request(Ma(o,e,r),s.signal),c=a.Answer.map(l=>l.data),u=Math.min(...a.Answer.map(l=>l.TTL));return this._cache.set(Bn(e,r),c,{ttl:u}),c}catch{s.signal.aborted&&(i=!0),Df.error(`${o} could not resolve ${e} record ${r}`)}finally{this._abortControllers=this._abortControllers.filter(a=>a!==s)}}throw i?Object.assign(new Error("queryA ECANCELLED"),{code:"ECANCELLED"}):new Error(`Could not resolve ${e} record ${r}`)}async resolve6(e){let r="AAAA",n=this._cache.get(Bn(e,r));if(n!=null)return n;let i=!1;for(let o of this._getShuffledServers()){let s=new AbortController;this._abortControllers.push(s);try{let a=await this._request(Ma(o,e,r),s.signal),c=a.Answer.map(l=>l.data),u=Math.min(...a.Answer.map(l=>l.TTL));return this._cache.set(Bn(e,r),c,{ttl:u}),c}catch{s.signal.aborted&&(i=!0),Df.error(`${o} could not resolve ${e} record ${r}`)}finally{this._abortControllers=this._abortControllers.filter(a=>a!==s)}}throw i?Object.assign(new Error("queryAaaa ECANCELLED"),{code:"ECANCELLED"}):new Error(`Could not resolve ${e} record ${r}`)}async resolveTxt(e){let r="TXT",n=this._TXTcache.get(Bn(e,r));if(n!=null)return n;let i=!1;for(let o of this._getShuffledServers()){let s=new AbortController;this._abortControllers.push(s);try{let a=await this._request(Ma(o,e,r),s.signal),c=a.Answer.map(l=>[l.data.replace(/['"]+/g,"")]),u=Math.min(...a.Answer.map(l=>l.TTL));return this._TXTcache.set(Bn(e,r),c,{ttl:u}),c}catch{s.signal.aborted&&(i=!0),Df.error(`${o} could not resolve ${e} record ${r}`)}finally{this._abortControllers=this._abortControllers.filter(a=>a!==s)}}throw i?Object.assign(new Error("queryTxt ECANCELLED"),{code:"ECANCELLED"}):new Error(`Could not resolve ${e} record ${r}`)}clearCache(){this._cache.clear(),this._TXTcache.clear()}},$g=Of;var Hg=$g;var{code:kI}=le("dnsaddr");async function Ni(t,e={}){let r=new Hg;e.signal!=null&&e.signal.addEventListener("abort",()=>{r.cancel()});let n=t.getPeerId(),[,i]=t.stringTuples().find(([a])=>a===kI)??[];if(i==null)throw new Error("No hostname found in multiaddr");let s=(await r.resolveTxt(`_dnsaddr.${i}`)).flat().map(a=>a.split("=")[1]).filter(Boolean);return n!=null&&(s=s.filter(a=>a.includes(n))),s}var or;(function(t){t.NOT_STARTED_YET="The libp2p node is not started yet",t.DHT_DISABLED="DHT is not available",t.PUBSUB_DISABLED="PubSub is not available",t.CONN_ENCRYPTION_REQUIRED="At least one connection encryption module is required",t.ERR_TRANSPORTS_REQUIRED="At least one transport module is required",t.ERR_PROTECTOR_REQUIRED="Private network is enforced, but no protector was provided",t.NOT_FOUND="Not found"})(or||(or={}));var N;(function(t){t.DHT_DISABLED="ERR_DHT_DISABLED",t.ERR_PUBSUB_DISABLED="ERR_PUBSUB_DISABLED",t.PUBSUB_NOT_STARTED="ERR_PUBSUB_NOT_STARTED",t.DHT_NOT_STARTED="ERR_DHT_NOT_STARTED",t.CONN_ENCRYPTION_REQUIRED="ERR_CONN_ENCRYPTION_REQUIRED",t.ERR_TRANSPORTS_REQUIRED="ERR_TRANSPORTS_REQUIRED",t.ERR_PROTECTOR_REQUIRED="ERR_PROTECTOR_REQUIRED",t.ERR_PEER_DIAL_INTERCEPTED="ERR_PEER_DIAL_INTERCEPTED",t.ERR_CONNECTION_INTERCEPTED="ERR_CONNECTION_INTERCEPTED",t.ERR_INVALID_PROTOCOLS_FOR_STREAM="ERR_INVALID_PROTOCOLS_FOR_STREAM",t.ERR_CONNECTION_ENDED="ERR_CONNECTION_ENDED",t.ERR_CONNECTION_FAILED="ERR_CONNECTION_FAILED",t.ERR_NODE_NOT_STARTED="ERR_NODE_NOT_STARTED",t.ERR_ALREADY_ABORTED="ERR_ALREADY_ABORTED",t.ERR_TOO_MANY_ADDRESSES="ERR_TOO_MANY_ADDRESSES",t.ERR_NO_VALID_ADDRESSES="ERR_NO_VALID_ADDRESSES",t.ERR_RELAYED_DIAL="ERR_RELAYED_DIAL",t.ERR_DIALED_SELF="ERR_DIALED_SELF",t.ERR_DISCOVERED_SELF="ERR_DISCOVERED_SELF",t.ERR_DUPLICATE_TRANSPORT="ERR_DUPLICATE_TRANSPORT",t.ERR_ENCRYPTION_FAILED="ERR_ENCRYPTION_FAILED",t.ERR_HOP_REQUEST_FAILED="ERR_HOP_REQUEST_FAILED",t.ERR_INVALID_KEY="ERR_INVALID_KEY",t.ERR_INVALID_MESSAGE="ERR_INVALID_MESSAGE",t.ERR_INVALID_PARAMETERS="ERR_INVALID_PARAMETERS",t.ERR_INVALID_PEER="ERR_INVALID_PEER",t.ERR_MUXER_UNAVAILABLE="ERR_MUXER_UNAVAILABLE",t.ERR_NOT_FOUND="ERR_NOT_FOUND",t.ERR_TIMEOUT="ERR_TIMEOUT",t.ERR_TRANSPORT_UNAVAILABLE="ERR_TRANSPORT_UNAVAILABLE",t.ERR_TRANSPORT_DIAL_FAILED="ERR_TRANSPORT_DIAL_FAILED",t.ERR_UNSUPPORTED_PROTOCOL="ERR_UNSUPPORTED_PROTOCOL",t.ERR_PROTOCOL_HANDLER_ALREADY_REGISTERED="ERR_PROTOCOL_HANDLER_ALREADY_REGISTERED",t.ERR_INVALID_MULTIADDR="ERR_INVALID_MULTIADDR",t.ERR_SIGNATURE_NOT_VALID="ERR_SIGNATURE_NOT_VALID",t.ERR_FIND_SELF="ERR_FIND_SELF",t.ERR_NO_ROUTERS_AVAILABLE="ERR_NO_ROUTERS_AVAILABLE",t.ERR_CONNECTION_NOT_MULTIPLEXED="ERR_CONNECTION_NOT_MULTIPLEXED",t.ERR_NO_DIAL_TOKENS="ERR_NO_DIAL_TOKENS",t.ERR_KEYCHAIN_REQUIRED="ERR_KEYCHAIN_REQUIRED",t.ERR_INVALID_CMS="ERR_INVALID_CMS",t.ERR_MISSING_KEYS="ERR_MISSING_KEYS",t.ERR_NO_KEY="ERR_NO_KEY",t.ERR_INVALID_KEY_NAME="ERR_INVALID_KEY_NAME",t.ERR_INVALID_KEY_TYPE="ERR_INVALID_KEY_TYPE",t.ERR_KEY_ALREADY_EXISTS="ERR_KEY_ALREADY_EXISTS",t.ERR_INVALID_KEY_SIZE="ERR_INVALID_KEY_SIZE",t.ERR_KEY_NOT_FOUND="ERR_KEY_NOT_FOUND",t.ERR_OLD_KEY_NAME_INVALID="ERR_OLD_KEY_NAME_INVALID",t.ERR_NEW_KEY_NAME_INVALID="ERR_NEW_KEY_NAME_INVALID",t.ERR_PASSWORD_REQUIRED="ERR_PASSWORD_REQUIRED",t.ERR_PEM_REQUIRED="ERR_PEM_REQUIRED",t.ERR_CANNOT_READ_KEY="ERR_CANNOT_READ_KEY",t.ERR_MISSING_PRIVATE_KEY="ERR_MISSING_PRIVATE_KEY",t.ERR_MISSING_PUBLIC_KEY="ERR_MISSING_PUBLIC_KEY",t.ERR_INVALID_OLD_PASS_TYPE="ERR_INVALID_OLD_PASS_TYPE",t.ERR_INVALID_NEW_PASS_TYPE="ERR_INVALID_NEW_PASS_TYPE",t.ERR_INVALID_PASS_LENGTH="ERR_INVALID_PASS_LENGTH",t.ERR_NOT_IMPLEMENTED="ERR_NOT_IMPLEMENTED",t.ERR_WRONG_PING_ACK="ERR_WRONG_PING_ACK",t.ERR_INVALID_RECORD="ERR_INVALID_RECORD",t.ERR_ALREADY_SUCCEEDED="ERR_ALREADY_SUCCEEDED",t.ERR_NO_HANDLER_FOR_PROTOCOL="ERR_NO_HANDLER_FOR_PROTOCOL",t.ERR_TOO_MANY_OUTBOUND_PROTOCOL_STREAMS="ERR_TOO_MANY_OUTBOUND_PROTOCOL_STREAMS",t.ERR_TOO_MANY_INBOUND_PROTOCOL_STREAMS="ERR_TOO_MANY_INBOUND_PROTOCOL_STREAMS",t.ERR_CONNECTION_DENIED="ERR_CONNECTION_DENIED",t.ERR_TRANSFER_LIMIT_EXCEEDED="ERR_TRANSFER_LIMIT_EXCEEDED"})(N||(N={}));var OI={addresses:{listen:[],announce:[],noAnnounce:[],announceFilter:t=>t},connectionManager:{resolvers:{dnsaddr:Ni},addressSorter:Di},transportManager:{faultTolerance:Xr.FATAL_ALL}};function Gg(t){let e=qr(OI,t);if(e.transports==null||e.transports.length<1)throw new v(or.ERR_TRANSPORTS_REQUIRED,N.ERR_TRANSPORTS_REQUIRED);if(e.connectionProtector===null&&globalThis.process?.env?.LIBP2P_FORCE_PNET!=null)throw new v(or.ERR_PROTECTOR_REQUIRED,N.ERR_PROTECTOR_REQUIRED);return e}var Yg="keep-alive";var G1=z(q1(),1);var xR=W("libp2p:get-peer");function Fa(t){if(Zs(t))return{peerId:t,multiaddrs:[]};Array.isArray(t)||(t=[t]);let e;if(t.length>0){let r=t[0].getPeerId();e=r==null?void 0:oe(r),t.forEach(n=>{if(!Rn(n))throw xR.error("multiaddr %s was invalid",n),new v("Invalid Multiaddr",N.ERR_INVALID_MULTIADDR);let i=n.getPeerId();if(i==null){if(e!=null)throw new v("Multiaddrs must all have the same peer id or have no peer id",N.ERR_INVALID_PARAMETERS)}else{let o=oe(i);if(e==null||!e.equals(o))throw new v("Multiaddrs must all have the same peer id or have no peer id",N.ERR_INVALID_PARAMETERS)}})}return{peerId:e,multiaddrs:t}}function wR(t,e,r){let n=0,i=t.length;for(;i>0;){let o=Math.trunc(i/2),s=n+o;r(t[s],e)<=0?(n=++s,i-=o+1):i=o}return n}var Xf=class{#e=[];enqueue(e,r){let n=r?.peerId,i=r?.priority??0;if(n==null)throw new v("missing peer id",N.ERR_INVALID_PARAMETERS);let o={priority:i,peerId:n,run:e};if(this.size>0&&this.#e[this.size-1].priority>=i){this.#e.push(o);return}let s=wR(this.#e,o,(a,c)=>c.priority-a.priority);this.#e.splice(s,0,o)}dequeue(){return this.#e.shift()?.run}filter(e){if(e.peerId!=null){let r=e.peerId;return this.#e.filter(n=>r.equals(n.peerId)).map(n=>n.run)}return this.#e.filter(r=>r.priority===e.priority).map(r=>r.run)}get size(){return this.#e.length}},Ka=class extends Ut{constructor(e={}){super({...e,queueClass:Xf})}hasJob(e){return this.sizeBy({peerId:e})>0}};var Xe=W("libp2p:connection-manager:auto-dial"),Yo={minConnections:50,maxQueueLength:100,autoDialConcurrency:25,autoDialPriority:0,autoDialInterval:5e3},Va=class{connectionManager;peerStore;queue;minConnections;autoDialPriority;autoDialIntervalMs;autoDialMaxQueueLength;autoDialInterval;started;running;constructor(e,r){this.connectionManager=e.connectionManager,this.peerStore=e.peerStore,this.minConnections=r.minConnections??Yo.minConnections,this.autoDialPriority=r.autoDialPriority??Yo.autoDialPriority,this.autoDialIntervalMs=r.autoDialInterval??Yo.autoDialInterval,this.autoDialMaxQueueLength=r.maxQueueLength??Yo.maxQueueLength,this.started=!1,this.running=!1,this.queue=new Ka({concurrency:r.autoDialConcurrency??Yo.autoDialConcurrency}),this.queue.addListener("error",n=>{Xe.error("error during auto-dial",n)}),e.events.addEventListener("connection:close",()=>{this.autoDial().catch(n=>{Xe.error(n)})})}isStarted(){return this.started}start(){this.autoDialInterval=setTimeout(()=>{this.autoDial().catch(e=>{Xe.error("error while autodialing",e)})},this.autoDialIntervalMs),this.started=!0}afterStart(){this.autoDial().catch(e=>{Xe.error("error while autodialing",e)})}stop(){this.queue.clear(),clearTimeout(this.autoDialInterval),this.started=!1,this.running=!1}async autoDial(){if(!this.started)return;let e=this.connectionManager.getConnectionsMap(),r=e.size;if(r>=this.minConnections){Xe.trace("have enough connections %d/%d",r,this.minConnections);return}if(this.queue.size>this.autoDialMaxQueueLength){Xe("not enough connections %d/%d but auto dial queue is full",r,this.minConnections);return}if(this.running){Xe("not enough connections %d/%d - but skipping autodial as it is already running",r,this.minConnections);return}this.running=!0,Xe("not enough connections %d/%d - will dial peers to increase the number of connections",r,this.minConnections);let n=new kt(this.connectionManager.getDialQueue().map(c=>c.peerId).filter(Boolean)),i=await this.peerStore.all({filters:[c=>c.addresses.length===0?(Xe.trace("not autodialing %p because they have no addresses"),!1):e.has(c.id)?(Xe.trace("not autodialing %p because they are already connected"),!1):n.has(c.id)?(Xe.trace("not autodialing %p because they are already being dialed"),!1):this.queue.hasJob(c.id)?(Xe.trace("not autodialing %p because they are already being autodialed"),!1):!0]}),o=i.sort(()=>Math.random()>.5?1:-1),s=new Nt;for(let c of o)s.has(c.id)||s.set(c.id,[...c.tags.values()].reduce((u,l)=>u+l.value,0));let a=o.sort((c,u)=>{let l=s.get(c.id)??0,f=s.get(u.id)??0;return l>f?-1:l<f?1:0});Xe("selected %d/%d peers to dial",a.length,i.length);for(let c of a)this.queue.add(async()=>{let u=this.connectionManager.getConnectionsMap().size;if(u>=this.minConnections){Xe("got enough connections now %d/%d",u,this.minConnections),this.queue.clear();return}Xe("connecting to a peerStore stored peer %p",c.id),await this.connectionManager.openConnection(c.id,{priority:this.autoDialPriority})},{peerId:c.id}).catch(u=>{Xe.error("could not connect to peerStore stored peer",u)});this.running=!1,this.started&&(this.autoDialInterval=setTimeout(()=>{this.autoDial().catch(c=>{Xe.error("error while autodialing",c)})},this.autoDialIntervalMs))}};var Fi=W("libp2p:connection-manager:connection-pruner"),z1={maxConnections:300,allow:[]},qa=class{maxConnections;connectionManager;peerStore;allow;events;constructor(e,r={}){this.maxConnections=r.maxConnections??z1.maxConnections,this.allow=r.allow??z1.allow,this.connectionManager=e.connectionManager,this.peerStore=e.peerStore,this.events=e.events,e.events.addEventListener("connection:open",()=>{this.maybePruneConnections().catch(n=>{Fi.error(n)})})}async maybePruneConnections(){let e=this.connectionManager.getConnections(),r=e.length,n=Math.max(r-this.maxConnections,0);if(Fi("checking max connections limit %d/%d",r,this.maxConnections),r<=this.maxConnections)return;Fi("max connections limit exceeded %d/%d, pruning %d connection(s)",r,this.maxConnections,n);let i=new Nt;for(let a of e){let c=a.remotePeer;if(!i.has(c)){i.set(c,0);try{let u=await this.peerStore.get(c);i.set(c,[...u.tags.values()].reduce((l,f)=>l+f.value,0))}catch(u){u.code!=="ERR_NOT_FOUND"&&Fi.error("error loading peer tags",u)}}}let o=e.sort((a,c)=>{let u=i.get(a.remotePeer)??0,l=i.get(c.remotePeer)??0;if(u>l)return 1;if(u<l)return-1;let f=a.stat.timeline.open,d=c.stat.timeline.open;return f<d?1:f>d?-1:0}),s=[];for(let a of o)if(Fi("too many connections open - closing a connection to %p",a.remotePeer),this.allow.some(u=>a.remoteAddr.toString().startsWith(u.toString()))||s.push(a),s.length===n)break;await Promise.all(s.map(async a=>{try{await a.close()}catch(c){Fi.error(c)}})),this.events.safeDispatchEvent("connection:prune",{detail:s})}};var ih=z(Hi(),1);function Ki(t){let e=new globalThis.AbortController;function r(){e.abort();for(let o of t)o?.removeEventListener!=null&&o.removeEventListener("abort",r)}for(let o of t){if(o?.aborted===!0){r();break}o?.addEventListener!=null&&o.addEventListener("abort",r)}function n(){for(let o of t)o?.removeEventListener!=null&&o.removeEventListener("abort",r)}let i=e.signal;return i.clear=n,i}function jr(){let t={};return t.promise=new Promise((e,r)=>{t.resolve=e,t.reject=r}),t}var rh=z(Hi(),1);var $1=W("libp2p:connection-manager:utils");async function nh(t,e){if(!t.protoNames().includes("dnsaddr"))return[t];let n=await vR(t,e),s=(await Promise.all(n.map(async a=>nh(a,e)))).flat().reduce((a,c)=>(a.find(u=>u.equals(c))==null&&a.push(c),a),[]);return $1("resolved %s to",t,s.map(a=>a.toString())),s}async function vR(t,e){try{return t=Ue(t.toString()),await t.resolve(e)}catch(r){return $1.error(`multiaddr ${t.toString()} could not be resolved`,r),[]}}function H1(...t){let e=[];for(let n of t)if(n!=null){try{(0,rh.setMaxListeners)?.(1/0,n)}catch{}e.push(n)}let r=Ki(e);try{(0,rh.setMaxListeners)?.(1/0,r)}catch{}return r}var je=W("libp2p:connection-manager:dial-queue"),Wo={addressSorter:Di,maxParallelDials:100,maxPeerAddrsToDial:25,maxParallelDialsPerPeer:10,dialTimeout:3e4,resolvers:{dnsaddr:Ni}},za=class{pendingDials;queue;peerId;peerStore;connectionGater;transportManager;addressSorter;maxPeerAddrsToDial;maxParallelDialsPerPeer;dialTimeout;inProgressDialCount;pendingDialCount;shutDownController;constructor(e,r={}){this.addressSorter=r.addressSorter??Wo.addressSorter,this.maxPeerAddrsToDial=r.maxPeerAddrsToDial??Wo.maxPeerAddrsToDial,this.maxParallelDialsPerPeer=r.maxParallelDialsPerPeer??Wo.maxParallelDialsPerPeer,this.dialTimeout=r.dialTimeout??Wo.dialTimeout,this.peerId=e.peerId,this.peerStore=e.peerStore,this.connectionGater=e.connectionGater,this.transportManager=e.transportManager,this.shutDownController=new AbortController;try{(0,ih.setMaxListeners)?.(1/0,this.shutDownController.signal)}catch{}this.pendingDialCount=e.metrics?.registerMetric("libp2p_dialler_pending_dials"),this.inProgressDialCount=e.metrics?.registerMetric("libp2p_dialler_in_progress_dials"),this.pendingDials=[];for(let[n,i]of Object.entries(r.resolvers??{}))of.set(n,i);this.queue=new Ut({concurrency:r.maxParallelDials??Wo.maxParallelDials}),this.queue.on("add",()=>{this.pendingDialCount?.update(this.queue.size),this.inProgressDialCount?.update(this.queue.pending)}),this.queue.on("active",()=>{this.pendingDialCount?.update(this.queue.size),this.inProgressDialCount?.update(this.queue.pending)}),this.queue.on("completed",()=>{this.pendingDialCount?.update(this.queue.size),this.inProgressDialCount?.update(this.queue.pending)}),this.queue.on("error",n=>{je.error("error in dial queue",n),this.pendingDialCount?.update(this.queue.size),this.inProgressDialCount?.update(this.queue.pending)}),this.queue.on("empty",()=>{this.pendingDialCount?.update(this.queue.size),this.inProgressDialCount?.update(this.queue.pending)}),this.queue.on("idle",()=>{this.pendingDialCount?.update(this.queue.size),this.inProgressDialCount?.update(this.queue.pending)})}stop(){this.shutDownController.abort()}async dial(e,r={}){let{peerId:n,multiaddrs:i}=Fa(e),o=i.map(l=>({multiaddr:l,isCertified:!1})),s=this.createDialAbortControllers(r.signal),a;try{a=await this.calculateMultiaddrs(n,o,{...r,signal:s})}catch(l){throw s.clear(),l}let c=this.pendingDials.find(l=>!!(l.peerId!=null&&n!=null&&l.peerId.equals(n)||a.map(({multiaddr:f})=>f.toString()).join()===l.multiaddrs.map(f=>f.toString()).join()));if(c!=null)return je("joining existing dial target for %p",n),s.clear(),c.promise;je("creating dial target for",a.map(({multiaddr:l})=>l.toString()));let u={id:_R(),status:"queued",peerId:n,multiaddrs:a.map(({multiaddr:l})=>l)};return u.promise=this.performDial(u,{...r,signal:s}).finally(()=>{this.pendingDials=this.pendingDials.filter(l=>l.id!==u.id),s.clear()}).catch(l=>{throw je.error("dial failed to %s",u.multiaddrs.map(f=>f.toString()).join(", "),l),s.aborted?new v(l.message,N.ERR_TIMEOUT):l}),this.pendingDials.push(u),u.promise}createDialAbortControllers(e){let r=Ki([AbortSignal.timeout(this.dialTimeout),this.shutDownController.signal,e]);try{(0,ih.setMaxListeners)?.(1/0,r)}catch{}return r}async calculateMultiaddrs(e,r=[],n={}){if(e!=null){if(this.peerId.equals(e))throw new v("Tried to dial self",N.ERR_DIALED_SELF);if(await this.connectionGater.denyDialPeer?.(e)===!0)throw new v("The dial request is blocked by gater.allowDialPeer",N.ERR_PEER_DIAL_INTERCEPTED);if(r.length===0){je("loading multiaddrs for %p",e);try{let l=await this.peerStore.get(e);r.push(...l.addresses),je("loaded multiaddrs for %p",e,r.map(({multiaddr:f})=>f.toString()))}catch(l){if(l.code!==N.ERR_NOT_FOUND)throw l}}}let i=(await Promise.all(r.map(async l=>{let f=await nh(l.multiaddr,n);return f.length===1&&f[0].equals(l.multiaddr)?l:f.map(d=>({multiaddr:d,isCertified:!1}))}))).flat(),o=i.filter(l=>!!this.transportManager.transportForMultiaddr(l.multiaddr)),s=new Map;for(let l of o){let f=l.multiaddr.toString(),d=s.get(f);if(d!=null){d.isCertified=d.isCertified||l.isCertified||!1;continue}s.set(f,l)}let a=[...s.values()];if((a.length===0||a.length>this.maxPeerAddrsToDial)&&(je("addresses for %p before filtering",e??"unknown peer",i.map(({multiaddr:l})=>l.toString())),je("addresses for %p after filtering",e??"unknown peer",a.map(({multiaddr:l})=>l.toString()))),a.length===0)throw new v("The dial request has no valid addresses",N.ERR_NO_VALID_ADDRESSES);if(a.length>this.maxPeerAddrsToDial)throw new v("dial with more addresses than allowed",N.ERR_TOO_MANY_ADDRESSES);if(e!=null){let l=`/p2p/${e.toString()}`;a=a.map(f=>{let d=f.multiaddr.getPeerId();return f.multiaddr.protos().pop()?.path===!0?f:d!==e.toString()?{multiaddr:f.multiaddr.encapsulate(l),isCertified:f.isCertified}:f})}let c=[];for(let l of a)this.connectionGater.denyDialMultiaddr!=null&&await this.connectionGater.denyDialMultiaddr(l.multiaddr)||c.push(l);let u=c.sort(this.addressSorter);if(u.length===0)throw new v("The connection gater denied all addresses in the dial request",N.ERR_NO_VALID_ADDRESSES);return u}async performDial(e,r={}){let n=e.multiaddrs.map(()=>new AbortController);try{let i=new Ut({concurrency:this.maxParallelDialsPerPeer});i.on("error",s=>{je.error("error dialling",s)});let o=await Promise.any(e.multiaddrs.map(async(s,a)=>{let c=n[a];if(c==null)throw new v("dialAction did not come with an AbortController",N.ERR_INVALID_PARAMETERS);let u=H1(c.signal,r.signal);u.addEventListener("abort",()=>{je("dial to %a aborted",s)});let l=jr();return await i.add(async()=>{if(u.aborted){je("dial to %a was aborted before reaching the head of the peer dial queue",s),l.reject(new Cr);return}await this.queue.add(async()=>{try{if(u.aborted){je("dial to %a was aborted before reaching the head of the dial queue",s),l.reject(new Cr);return}e.status="active";let f=await this.transportManager.dial(s,{...r,signal:u});if(c.signal.aborted){je("multiple dials succeeded, closing superfluous connection"),f.close().catch(d=>{je.error("error closing superfluous connection",d)}),l.reject(new Cr);return}n[a]=void 0,n.forEach(d=>{d!==void 0&&d.abort()}),je("dial to %a succeeded",s),l.resolve(f)}catch(f){je.error("error during dial of %a",s,f),l.reject(f)}},{...r,signal:u}).catch(f=>{l.reject(f)})},{signal:u}).catch(f=>{l.reject(f)}).finally(()=>{u.clear()}),l.promise}));if(o==null)throw new v("successful dial led to empty object returned from peer dial queue",N.ERR_TRANSPORT_DIAL_FAILED);return e.status="success",o}catch(i){throw e.status="error",e.multiaddrs.length===1&&i.name==="AggregateError"?i.errors[0]:i}}};function _R(){return`${parseInt(String(Math.random()*1e9),10).toString()}${Date.now()}`}var xt=W("libp2p:connection-manager"),IR=50,Ln={minConnections:50,maxConnections:300,inboundConnectionThreshold:5,maxIncomingPendingConnections:10,autoDialConcurrency:25,autoDialPriority:0,autoDialMaxQueueLength:100},$a=class{started;connections;allow;deny;maxIncomingPendingConnections;incomingPendingConnections;maxConnections;dialQueue;autoDial;connectionPruner;inboundConnectionRateLimiter;peerStore;metrics;events;constructor(e,r={}){this.maxConnections=r.maxConnections??Ln.maxConnections;let n=r.minConnections??Ln.minConnections;if(this.maxConnections<n)throw new v("Connection Manager maxConnections must be greater than minConnections",N.ERR_INVALID_PARAMETERS);this.connections=new Nt,this.started=!1,this.peerStore=e.peerStore,this.metrics=e.metrics,this.events=e.events,this.onConnect=this.onConnect.bind(this),this.onDisconnect=this.onDisconnect.bind(this),this.events.addEventListener("connection:open",this.onConnect),this.events.addEventListener("connection:close",this.onDisconnect),this.allow=(r.allow??[]).map(i=>Ue(i)),this.deny=(r.deny??[]).map(i=>Ue(i)),this.incomingPendingConnections=0,this.maxIncomingPendingConnections=r.maxIncomingPendingConnections??Ln.maxIncomingPendingConnections,this.inboundConnectionRateLimiter=new G1.RateLimiterMemory({points:r.inboundConnectionThreshold??Ln.inboundConnectionThreshold,duration:1}),this.autoDial=new Va({connectionManager:this,peerStore:e.peerStore,events:e.events},{minConnections:n,autoDialConcurrency:r.autoDialConcurrency??Ln.autoDialConcurrency,autoDialPriority:r.autoDialPriority??Ln.autoDialPriority,maxQueueLength:r.autoDialMaxQueueLength??Ln.autoDialMaxQueueLength}),this.connectionPruner=new qa({connectionManager:this,peerStore:e.peerStore,events:e.events},{maxConnections:this.maxConnections,allow:this.allow}),this.dialQueue=new za({peerId:e.peerId,metrics:e.metrics,peerStore:e.peerStore,transportManager:e.transportManager,connectionGater:e.connectionGater},{addressSorter:r.addressSorter??Di,maxParallelDials:r.maxParallelDials??100,maxPeerAddrsToDial:r.maxPeerAddrsToDial??25,dialTimeout:r.dialTimeout??3e4,resolvers:r.resolvers??{dnsaddr:Ni}})}isStarted(){return this.started}async start(){this.metrics?.registerMetricGroup("libp2p_connection_manager_connections",{calculate:()=>{let e={inbound:0,outbound:0};for(let r of this.connections.values())for(let n of r)n.stat.direction==="inbound"?e.inbound++:e.outbound++;return e}}),this.metrics?.registerMetricGroup("libp2p_protocol_streams_total",{label:"protocol",calculate:()=>{let e={};for(let r of this.connections.values())for(let n of r)for(let i of n.streams){let o=`${i.stat.direction} ${i.stat.protocol??"unnegotiated"}`;e[o]=(e[o]??0)+1}return e}}),this.metrics?.registerMetricGroup("libp2p_connection_manager_protocol_streams_per_connection_90th_percentile",{label:"protocol",calculate:()=>{let e={};for(let n of this.connections.values())for(let i of n){let o={};for(let s of i.streams){let a=`${s.stat.direction} ${s.stat.protocol??"unnegotiated"}`;o[a]=(o[a]??0)+1}for(let[s,a]of Object.entries(o))e[s]=e[s]??[],e[s].push(a)}let r={};for(let[n,i]of Object.entries(e)){i=i.sort((s,a)=>s-a);let o=Math.floor(i.length*.9);r[n]=i[o]}return r}}),this.autoDial.start(),this.started=!0,xt("started")}async afterStart(){Promise.resolve().then(async()=>{let e=await this.peerStore.all({filters:[r=>r.tags.has(Yg)]});await Promise.all(e.map(async r=>{await this.openConnection(r.id).catch(n=>{xt.error(n)})}))}).catch(e=>{xt.error(e)}),this.autoDial.afterStart()}async stop(){this.dialQueue.stop(),this.autoDial.stop();let e=[];for(let r of this.connections.values())for(let n of r)e.push((async()=>{try{await n.close()}catch(i){xt.error(i)}})());xt("closing %d connections",e.length),await Promise.all(e),this.connections.clear(),xt("stopped")}onConnect(e){this._onConnect(e).catch(r=>{xt.error(r)})}async _onConnect(e){let{detail:r}=e;if(!this.started){await r.close();return}let n=r.remotePeer,i=this.connections.get(n),o=!1;i!=null?i.push(r):(o=!0,this.connections.set(n,[r])),n.publicKey!=null&&n.type==="RSA"&&await this.peerStore.patch(n,{publicKey:n.publicKey}),o&&this.events.safeDispatchEvent("peer:connect",{detail:r.remotePeer})}onDisconnect(e){let{detail:r}=e;if(!this.started)return;let n=r.remotePeer,i=this.connections.get(n);i!=null&&i.length>1?(i=i.filter(o=>o.id!==r.id),this.connections.set(n,i)):i!=null&&(this.connections.delete(n),this.events.safeDispatchEvent("peer:disconnect",{detail:r.remotePeer}))}getConnections(e){if(e!=null)return this.connections.get(e)??[];let r=[];for(let n of this.connections.values())r=r.concat(n);return r}getConnectionsMap(){return this.connections}async openConnection(e,r={}){if(!this.isStarted())throw new v("Not started",N.ERR_NODE_NOT_STARTED);let{peerId:n}=Fa(e);if(n!=null){xt("dial %p",n);let a=this.getConnections(n);if(a.length>0)return xt("had an existing connection to %p",n),a[0]}let i=await this.dialQueue.dial(e,{...r,priority:r.priority??IR}),o=this.connections.get(i.remotePeer);o==null&&(o=[],this.connections.set(i.remotePeer,o));let s=!1;for(let a of o)a.id===i.id&&(s=!0);return s||o.push(i),i}async closeConnections(e){let r=this.connections.get(e)??[];await Promise.all(r.map(async n=>{await n.close()}))}async acceptIncomingConnection(e){if(this.deny.some(i=>e.remoteAddr.toString().startsWith(i.toString())))return xt("connection from %a refused - connection remote address was in deny list",e.remoteAddr),!1;if(this.allow.some(i=>e.remoteAddr.toString().startsWith(i.toString())))return this.incomingPendingConnections++,!0;if(this.incomingPendingConnections===this.maxIncomingPendingConnections)return xt("connection from %a refused - incomingPendingConnections exceeded by host",e.remoteAddr),!1;if(e.remoteAddr.isThinWaistAddress()){let i=e.remoteAddr.nodeAddress().address;try{await this.inboundConnectionRateLimiter.consume(i,1)}catch{return xt("connection from %a refused - inboundConnectionThreshold exceeded by host %s",e.remoteAddr,i),!1}}return this.getConnections().length<this.maxConnections?(this.incomingPendingConnections++,!0):(xt("connection from %a refused - maxConnections exceeded",e.remoteAddr),!1)}afterUpgradeInbound(){this.incomingPendingConnections--}getDialQueue(){return this.dialQueue.pendingDials}};var Ha=class{buffer;mask;top;btm;next;constructor(e){if(!(e>0)||e-1&e)throw new Error("Max size for a FixedFIFO should be a power of two");this.buffer=new Array(e),this.mask=e-1,this.top=0,this.btm=0,this.next=null}push(e){return this.buffer[this.top]!==void 0?!1:(this.buffer[this.top]=e,this.top=this.top+1&this.mask,!0)}shift(){let e=this.buffer[this.btm];if(e!==void 0)return this.buffer[this.btm]=void 0,this.btm=this.btm+1&this.mask,e}isEmpty(){return this.buffer[this.btm]===void 0}},Vi=class{size;hwm;head;tail;constructor(e={}){this.hwm=e.splitLimit??16,this.head=new Ha(this.hwm),this.tail=this.head,this.size=0}calculateSize(e){return e?.byteLength!=null?e.byteLength:1}push(e){if(e?.value!=null&&(this.size+=this.calculateSize(e.value)),!this.head.push(e)){let r=this.head;this.head=r.next=new Ha(2*this.head.buffer.length),this.head.push(e)}}shift(){let e=this.tail.shift();if(e===void 0&&this.tail.next!=null){let r=this.tail.next;this.tail.next=null,this.tail=r,e=this.tail.shift()}return e?.value!=null&&(this.size-=this.calculateSize(e.value)),e}isEmpty(){return this.head.isEmpty()}};var ch=class extends Error{type;code;constructor(e,r){super(e??"The operation was aborted"),this.type="aborted",this.code=r??"ABORT_ERR"}};function Pn(t={}){return RR(r=>{let n=r.shift();if(n==null)return{done:!0};if(n.error!=null)throw n.error;return{done:n.done===!0,value:n.value}},t)}function RR(t,e){e=e??{};let r=e.onEnd,n=new Vi,i,o,s,a=jr(),c=async()=>{try{return n.isEmpty()?s?{done:!0}:await new Promise((y,g)=>{o=x=>{o=null,n.push(x);try{y(t(n))}catch(E){g(E)}return i}}):t(n)}finally{n.isEmpty()&&queueMicrotask(()=>{a.resolve(),a=jr()})}},u=y=>o!=null?o(y):(n.push(y),i),l=y=>(n=new Vi,o!=null?o({error:y}):(n.push({error:y}),i)),f=y=>{if(s)return i;if(e?.objectMode!==!0&&y?.byteLength==null)throw new Error("objectMode was not true but tried to push non-Uint8Array value");return u({done:!1,value:y})},d=y=>s?i:(s=!0,y!=null?l(y):u({done:!0})),p=()=>(n=new Vi,d(),{done:!0}),h=y=>(d(y),{done:!0});if(i={[Symbol.asyncIterator](){return this},next:c,return:p,throw:h,push:f,end:d,get readableLength(){return n.size},onEmpty:async y=>{let g=y?.signal;if(g?.throwIfAborted(),n.isEmpty())return;let x,E;g!=null&&(x=new Promise((T,I)=>{E=()=>{I(new ch)},g.addEventListener("abort",E)}));try{await Promise.race([a.promise,x])}finally{E!=null&&g!=null&&g?.removeEventListener("abort",E)}}},r==null)return i;let m=i;return i={[Symbol.asyncIterator](){return this},next(){return m.next()},throw(y){return m.throw(y),r!=null&&(r(y),r=void 0),{done:!0}},return(){return m.return(),r!=null&&(r(),r=void 0),{done:!0}},push:f,end(y){return m.end(y),r!=null&&(r(y),r=void 0),i},get readableLength(){return m.readableLength}},i}function CR(t){return t[Symbol.asyncIterator]!=null}function TR(...t){let e=[];for(let r of t)CR(r)||e.push(r);return e.length===t.length?function*(){for(let r of e)yield*r}():async function*(){let r=Pn({objectMode:!0});Promise.resolve().then(async()=>{try{await Promise.all(t.map(async n=>{for await(let i of n)r.push(i)})),r.end()}catch(n){r.end(n)}}),yield*r}()}var Jr=TR;function Dn(t,...e){if(t==null)throw new Error("Empty pipeline");if(uh(t)){let n=t;t=()=>n.source}else if(W1(t)||Y1(t)){let n=t;t=()=>n}let r=[t,...e];if(r.length>1&&uh(r[r.length-1])&&(r[r.length-1]=r[r.length-1].sink),r.length>2)for(let n=1;n<r.length-1;n++)uh(r[n])&&(r[n]=LR(r[n]));return BR(...r)}var BR=(...t)=>{let e;for(;t.length>0;)e=t.shift()(e);return e},Y1=t=>t?.[Symbol.asyncIterator]!=null,W1=t=>t?.[Symbol.iterator]!=null,uh=t=>t==null?!1:t.sink!=null&&t.source!=null,LR=t=>e=>{let r=t.sink(e);if(r?.then!=null){let n=Pn({objectMode:!0});r.then(()=>{n.end()},s=>{n.end(s)});let i,o=t.source;if(Y1(o))i=async function*(){yield*o,n.end()};else if(W1(o))i=function*(){yield*o,n.end()};else throw new Error("Unknown duplex source type - must be Iterable or AsyncIterable");return Jr(n,i())}return t.source};function PR(t){return t[Symbol.asyncIterator]!=null}function DR(t,e){if(PR(t))return async function*(){for await(let a of t)yield e(a)}();let r=Ba(t),{value:n,done:i}=r.next();if(i===!0)return function*(){}();let o=e(n);if(typeof o.then=="function")return async function*(){yield await o;for await(let a of r)yield e(a)}();let s=e;return function*(){yield o;for(let a of r)yield s(a)}()}var Q1=DR;async function*Qo(t,e){yield*Q1(t,async r=>(await e.merge(r.id,{multiaddrs:r.multiaddrs}),r))}function Ga(t){let e=new Set;return Ft(t,r=>e.has(r.id.toString())?!1:(e.add(r.id.toString()),!0))}async function*Ya(t,e=1){let r=0;for await(let n of t)r++,yield n;if(r<e)throw new v(`more peers required, seen: ${r} min: ${e}`,"NOT_FOUND")}var Wa=class{routers;started;components;constructor(e,r){this.routers=r.routers??[],this.started=!1,this.components=e}isStarted(){return this.started}async start(){this.started=!0}async stop(){this.started=!1}async*findProviders(e,r={}){if(this.routers.length===0)throw new v("No content routers available",N.ERR_NO_ROUTERS_AVAILABLE);yield*Dn(Jr(...this.routers.map(n=>n.findProviders(e,r))),n=>Qo(n,this.components.peerStore),n=>Ga(n),n=>Ya(n))}async provide(e,r={}){if(this.routers.length===0)throw new v("No content routers available",N.ERR_NO_ROUTERS_AVAILABLE);await Promise.all(this.routers.map(async n=>{await n.provide(e,r)}))}async put(e,r,n){if(!this.isStarted())throw new v(or.NOT_STARTED_YET,N.DHT_NOT_STARTED);await Promise.all(this.routers.map(async i=>{await i.put(e,r,n)}))}async get(e,r){if(!this.isStarted())throw new v(or.NOT_STARTED_YET,N.DHT_NOT_STARTED);return Promise.any(this.routers.map(async n=>n.get(e,r)))}};function NR(t){return t[Symbol.asyncIterator]!=null}function kR(t){if(NR(t))return(async()=>{for await(let e of t)return e})();for(let e of t)return e}var Qa=kR;var OR=W("libp2p:peer-routing"),Xa=class{components;routers;constructor(e,r){this.components=e,this.routers=r.routers??[]}async findPeer(e,r){if(this.routers.length===0)throw new v("No peer routers available",N.ERR_NO_ROUTERS_AVAILABLE);if(e.toString()===this.components.peerId.toString())throw new v("Should not try to find self",N.ERR_FIND_SELF);let n=await Dn(Jr(...this.routers.map(i=>async function*(){try{yield await i.findPeer(e,r)}catch(o){OR.error(o)}}())),i=>Ft(i,Boolean),i=>Qo(i,this.components.peerStore),async i=>Qa(i));if(n!=null)return n;throw new v(or.NOT_FOUND,N.ERR_NOT_FOUND)}async*getClosestPeers(e,r){if(this.routers.length===0)throw new v("No peer routers available",N.ERR_NO_ROUTERS_AVAILABLE);yield*Dn(Jr(...this.routers.map(n=>n.getClosestPeers(e,r))),n=>Qo(n,this.components.peerStore),n=>Ga(n),n=>Ya(n))}};var lh=W("libp2p:registrar"),fh=32,hh=64,Za=class{topologies;handlers;components;constructor(e){this.topologies=new Map,this.handlers=new Map,this.components=e,this._onDisconnect=this._onDisconnect.bind(this),this._onPeerUpdate=this._onPeerUpdate.bind(this),this._onConnect=this._onConnect.bind(this),this.components.events.addEventListener("peer:disconnect",this._onDisconnect),this.components.events.addEventListener("peer:connect",this._onConnect),this.components.events.addEventListener("peer:update",this._onPeerUpdate)}getProtocols(){return Array.from(new Set([...this.handlers.keys()])).sort()}getHandler(e){let r=this.handlers.get(e);if(r==null)throw new v(`No handler registered for protocol ${e}`,N.ERR_NO_HANDLER_FOR_PROTOCOL);return r}getTopologies(e){let r=this.topologies.get(e);return r==null?[]:[...r.values()]}async handle(e,r,n){if(this.handlers.has(e))throw new v(`Handler already registered for protocol ${e}`,N.ERR_PROTOCOL_HANDLER_ALREADY_REGISTERED);let i=qr.bind({ignoreUndefined:!0})({maxInboundStreams:fh,maxOutboundStreams:hh},n);this.handlers.set(e,{handler:r,options:i}),await this.components.peerStore.merge(this.components.peerId,{protocols:[e]})}async unhandle(e){let r=Array.isArray(e)?e:[e];r.forEach(n=>{this.handlers.delete(n)}),await this.components.peerStore.patch(this.components.peerId,{protocols:r})}async register(e,r){if(r==null)throw new v("invalid topology",N.ERR_INVALID_PARAMETERS);let n=`${(Math.random()*1e9).toString(36)}${Date.now()}`,i=this.topologies.get(e);return i==null&&(i=new Map,this.topologies.set(e,i)),i.set(n,r),n}unregister(e){for(let[r,n]of this.topologies.entries())n.has(e)&&(n.delete(e),n.size===0&&this.topologies.delete(r))}_onDisconnect(e){let r=e.detail;this.components.peerStore.get(r).then(n=>{for(let i of n.protocols){let o=this.topologies.get(i);if(o!=null)for(let s of o.values())s.onDisconnect?.(r)}}).catch(n=>{n.code!==N.ERR_NOT_FOUND&&lh.error("could not inform topologies of disconnecting peer %p",r,n)})}_onConnect(e){let r=e.detail;this.components.peerStore.get(r).then(n=>{let i=this.components.connectionManager.getConnections(n.id)[0];if(i==null){lh("peer %p connected but the connection manager did not have a connection",n);return}for(let o of n.protocols){let s=this.topologies.get(o);if(s!=null)for(let a of s.values())a.onConnect?.(r,i)}}).catch(n=>{n.code!==N.ERR_NOT_FOUND&&lh.error("could not inform topologies of connecting peer %p",r,n)})}_onPeerUpdate(e){let{peer:r,previous:n}=e.detail,i=(n?.protocols??[]).filter(s=>!r.protocols.includes(s)),o=r.protocols.filter(s=>!(n?.protocols??[]).includes(s));for(let s of i){let a=this.topologies.get(s);if(a!=null)for(let c of a.values())c.onDisconnect?.(r.id)}for(let s of o){let a=this.topologies.get(s);if(a!=null)for(let c of a.values()){let u=this.components.connectionManager.getConnections(r.id)[0];u!=null&&c.onConnect?.(r.id,u)}}}};var dh=class extends Map{metric;constructor(e){super();let{name:r,metrics:n}=e;this.metric=n.registerMetric(r),this.updateComponentMetric()}set(e,r){return super.set(e,r),this.updateComponentMetric(),this}delete(e){let r=super.delete(e);return this.updateComponentMetric(),r}clear(){super.clear(),this.updateComponentMetric()}updateComponentMetric(){this.metric.update(this.size)}};function X1(t){let{name:e,metrics:r}=t,n;return r!=null?n=new dh({name:e,metrics:r}):n=new Map,n}var Nn=W("libp2p:transports"),ja=class{components;transports;listeners;faultTolerance;started;constructor(e,r={}){this.components=e,this.started=!1,this.transports=new Map,this.listeners=X1({name:"libp2p_transport_manager_listeners",metrics:this.components.metrics}),this.faultTolerance=r.faultTolerance??Xr.FATAL_ALL}add(e){let r=e[Symbol.toStringTag];if(r==null)throw new v("Transport must have a valid tag",N.ERR_INVALID_KEY);if(this.transports.has(r))throw new v(`There is already a transport with the tag ${r}`,N.ERR_DUPLICATE_TRANSPORT);Nn("adding transport %s",r),this.transports.set(r,e),this.listeners.has(r)||this.listeners.set(r,[])}isStarted(){return this.started}start(){this.started=!0}async afterStart(){let e=this.components.addressManager.getListenAddrs();await this.listen(e)}async stop(){let e=[];for(let[r,n]of this.listeners)for(Nn("closing listeners for %s",r);n.length>0;){let i=n.pop();i!=null&&e.push(i.close())}await Promise.all(e),Nn("all listeners closed");for(let r of this.listeners.keys())this.listeners.set(r,[]);this.started=!1}async dial(e,r){let n=this.transportForMultiaddr(e);if(n==null)throw new v(`No transport available for address ${String(e)}`,N.ERR_TRANSPORT_UNAVAILABLE);try{return await n.dial(e,{...r,upgrader:this.components.upgrader})}catch(i){throw i.code==null&&(i.code=N.ERR_TRANSPORT_DIAL_FAILED),i}}getAddrs(){let e=[];for(let r of this.listeners.values())for(let n of r)e=[...e,...n.getAddrs()];return e}getTransports(){return Array.of(...this.transports.values())}getListeners(){return Array.of(...this.listeners.values()).flat()}transportForMultiaddr(e){for(let r of this.transports.values())if(r.filter([e]).length>0)return r}async listen(e){if(e==null||e.length===0){Nn("no addresses were provided for listening, this node is dial only");return}let r=[];for(let[n,i]of this.transports.entries()){let o=i.filter(e),s=[];for(let u of o){Nn("creating listener for %s on %a",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.components.events.safeDispatchEvent("transport:listening",{detail:l})}),l.addEventListener("close",()=>{let d=f.findIndex(p=>p===l);f.splice(d,1),this.components.events.safeDispatchEvent("transport:close",{detail:l})}),s.push(l.listen(u))}if(s.length===0){r.push(n);continue}if((await Promise.allSettled(s)).find(u=>u.status==="fulfilled")==null&&this.faultTolerance!==Xr.NO_FATAL)throw new v(`Transport (${n}) could not listen on any available address`,N.ERR_NO_VALID_ADDRESSES)}if(r.length===this.transports.size){let n=`no valid addresses were provided for transports [${r.join(", ")}]`;if(this.faultTolerance===Xr.FATAL_ALL)throw new v(n,N.ERR_NO_VALID_ADDRESSES);Nn(`libp2p in dial mode only: ${n}`)}}async remove(e){Nn("removing %s",e);for(let r of this.listeners.get(e)??[])await r.close();this.transports.delete(e),this.listeners.delete(e)}async removeAll(){let e=[];for(let r of this.transports.keys())e.push(this.remove(r));await Promise.all(e)}};var xh=z(Hi(),1);var _r="/multistream/1.0.0";function ph(t){let e=async function*(){let r=yield,n=new Te;for await(let i of t){if(r==null){n.append(i),r=yield n,n=new Te;continue}for(n.append(i);n.length>=r;){let o=n.sublist(0,r);if(n.consume(r),r=yield o,r==null){n.length>0&&(r=yield n,n=new Te);break}}}if(r!=null)throw Object.assign(new Error(`stream ended before ${r} bytes became available`),{code:"ERR_UNDER_READ",buffer:n})}();return e.next(),e}function Ja(t){let e=Pn(),r=ph(t.source),n=jr(),i,o=t.sink(async function*(){yield*e,yield*await n.promise}());return o.catch(a=>{i=a}),{reader:r,writer:e,stream:{sink:async a=>{if(i!=null){await Promise.reject(i);return}n.resolve(a),await o},source:r},rest:()=>e.end(),write:e.push,read:async()=>{let a=await r.next();if(a.value!=null)return a.value}}}var Xo=class extends Error{constructor(e,r){super(e??"The operation was aborted"),this.type="aborted",this.code=r??"ABORT_ERR"}};function Z1(t){if(t!=null){if(typeof t[Symbol.iterator]=="function")return t[Symbol.iterator]();if(typeof t[Symbol.asyncIterator]=="function")return t[Symbol.asyncIterator]();if(typeof t.next=="function")return t}throw new Error("argument is not an iterator or iterable")}function ec(t,e,r){let n=r??{},i=Z1(t);async function*o(){let s,a=()=>{s?.()};for(e.addEventListener("abort",a);;){let c;try{if(e.aborted){let{abortMessage:l,abortCode:f}=n;throw new Xo(l,f)}let u=new Promise((l,f)=>{s=()=>{let{abortMessage:d,abortCode:p}=n;f(new Xo(d,p))}});c=await Promise.race([u,i.next()]),s=null}catch(u){e.removeEventListener("abort",a);let l=u.type==="aborted"&&e.aborted;if(l&&n.onAbort!=null&&n.onAbort(t),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}e.removeEventListener("abort",a)}return o()}function MR(t,e,r){return n=>t(ec(n,e,r))}function j1(t,e,r){return{sink:MR(t.sink,e,{...r,onAbort:void 0}),source:ec(t.source,e,r)}}function tc(t){return t[Symbol.asyncIterator]!=null}var rc=t=>{let e=Ot.encodingLength(t),r=Ct(e);return Ot.encode(t,r),rc.bytes=e,r};rc.bytes=0;function nc(t,e){e=e??{};let r=e.lengthEncoder??rc;function*n(i){let o=r(i.byteLength);o instanceof Uint8Array?yield o:yield*o,i instanceof Uint8Array?yield i:yield*i}return tc(t)?async function*(){for await(let i of t)yield*n(i)}():function*(){for(let i of t)yield*n(i)}()}nc.single=(t,e)=>{e=e??{};let r=e.lengthEncoder??rc;return new Te(r(t.byteLength),t)};var qi=z(Cf(),1);var UR=8,FR=1024*1024*4,kn;(function(t){t[t.LENGTH=0]="LENGTH",t[t.DATA=1]="DATA"})(kn||(kn={}));var mh=t=>{let e=Ot.decode(t);return mh.bytes=Ot.encodingLength(e),e};mh.bytes=0;function Zo(t,e){let r=new Te,n=kn.LENGTH,i=-1,o=e?.lengthDecoder??mh,s=e?.maxLengthLength??UR,a=e?.maxDataLength??FR;function*c(){for(;r.byteLength>0;){if(n===kn.LENGTH)try{if(i=o(r),i<0)throw(0,qi.default)(new Error("invalid message length"),"ERR_INVALID_MSG_LENGTH");if(i>a)throw(0,qi.default)(new Error("message length too long"),"ERR_MSG_DATA_TOO_LONG");let u=o.bytes;r.consume(u),e?.onLength!=null&&e.onLength(i),n=kn.DATA}catch(u){if(u instanceof RangeError){if(r.byteLength>s)throw(0,qi.default)(new Error("message length length too long"),"ERR_MSG_LENGTH_TOO_LONG");break}throw u}if(n===kn.DATA){if(r.byteLength<i)break;let u=r.sublist(0,i);r.consume(i),e?.onData!=null&&e.onData(u),yield u,n=kn.LENGTH}}}return tc(t)?async function*(){for await(let u of t)r.append(u),yield*c();if(r.byteLength>0)throw(0,qi.default)(new Error("unexpected end of input"),"ERR_UNEXPECTED_EOF")}():function*(){for(let u of t)r.append(u),yield*c();if(r.byteLength>0)throw(0,qi.default)(new Error("unexpected end of input"),"ERR_UNEXPECTED_EOF")}()}Zo.fromReader=(t,e)=>{let r=1,n=async function*(){for(;;)try{let{done:o,value:s}=await t.next(r);if(o===!0)return;s!=null&&(yield s)}catch(o){if(o.code==="ERR_UNDER_READ")return{done:!0,value:null};throw o}finally{r=1}}();return Zo(n,{...e??{},onLength:o=>{r=o}})};var qR=W("libp2p:mss"),J1=V(`
49
+ `);function jo(t){let e=new Te(t,J1);return nc.single(e)}function On(t,e,r={}){let n=jo(e);r.writeBytes===!0?t.push(n.subarray()):t.push(n)}function ex(t,e,r={}){let n=new Te;for(let i of e)n.append(jo(i));r.writeBytes===!0?t.push(n.subarray()):t.push(n)}async function zR(t,e){let r=1,n={[Symbol.asyncIterator]:()=>n,next:async()=>t.next(r)},i=n;e?.signal!=null&&(i=ec(n,e.signal));let o=a=>{r=a},s=await Dn(i,a=>Zo(a,{onLength:o,maxDataLength:1024}),async a=>Qa(a));if(s==null||s.length===0)throw new v("no buffer returned","ERR_INVALID_MULTISTREAM_SELECT_MESSAGE");if(s.get(s.byteLength-1)!==J1[0])throw qR.error("Invalid mss message - missing newline - %s",s.subarray()),new v("missing newline","ERR_INVALID_MULTISTREAM_SELECT_MESSAGE");return s.sublist(0,-1)}async function zi(t,e){let r=await zR(t,e);return G(r.subarray())}var Jo=W("libp2p:mss:select");async function es(t,e,r={}){e=Array.isArray(e)?[...e]:[e];let{reader:n,writer:i,rest:o,stream:s}=Ja(t),a=e.shift();if(a==null)throw new Error("At least one protocol must be specified");Jo.trace('select: write ["%s", "%s"]',_r,a);let c=V(_r),u=V(a);ex(i,[c,u],r);let l=await zi(n,r);if(Jo.trace('select: read "%s"',l),l===_r&&(l=await zi(n,r),Jo.trace('select: read "%s"',l)),l===a)return o(),{stream:s,protocol:a};for(let f of e){Jo.trace('select: write "%s"',f),On(i,V(f),r);let d=await zi(n,r);if(Jo.trace('select: read "%s" for "%s"',d,f),d===f)return o(),{stream:s,protocol:f}}throw o(),new v("protocol selection failed","ERR_UNSUPPORTED_PROTOCOL")}var ts=W("libp2p:mss:handle");async function rs(t,e,r){e=Array.isArray(e)?e:[e];let{writer:n,reader:i,rest:o,stream:s}=Ja(t);for(;;){let a=await zi(i,r);if(ts.trace('read "%s"',a),a===_r){ts.trace('respond with "%s" for "%s"',_r,a),On(n,V(_r),r);continue}if(e.includes(a))return On(n,V(a),r),ts.trace('respond with "%s" for "%s"',a,a),o(),{stream:s,protocol:a};if(a==="ls"){On(n,new Te(...e.map(c=>jo(V(c)))),r),ts.trace('respond with "%s" for %s',e,a);continue}On(n,V("na"),r),ts('respond with "na" for "%s"',a)}}var rx=Symbol.for("@libp2p/connection");var nx="OPEN",yh="CLOSING",ic="CLOSED";var HR=W("libp2p:connection"),gh=class{id;remoteAddr;remotePeer;stat;tags;_newStream;_close;_getStreams;_closing;constructor(e){let{remoteAddr:r,remotePeer:n,newStream:i,close:o,getStreams:s,stat:a}=e;this.id=`${parseInt(String(Math.random()*1e9)).toString(36)}${Date.now()}`,this.remoteAddr=r,this.remotePeer=n,this.stat={...a,status:nx},this._newStream=i,this._close=o,this._getStreams=s,this.tags=[],this._closing=!1}[Symbol.toStringTag]="Connection";[rx]=!0;get streams(){return this._getStreams()}async newStream(e,r){if(this.stat.status===yh)throw new v("the connection is being closed","ERR_CONNECTION_BEING_CLOSED");if(this.stat.status===ic)throw new v("the connection is closed","ERR_CONNECTION_CLOSED");Array.isArray(e)||(e=[e]);let n=await this._newStream(e,r);return n.stat.direction="outbound",n}addStream(e){e.stat.direction="inbound"}removeStream(e){}async close(){if(!(this.stat.status===ic||this._closing)){this.stat.status=yh;try{this.streams.forEach(e=>{e.close()})}catch(e){HR.error(e)}this._closing=!0,await this._close(),this._closing=!1,this.stat.timeline.close=Date.now(),this.stat.status=ic}}};function ix(t){return new gh(t)}var ve=W("libp2p:upgrader");function YR(t,e){try{let{options:r}=e.getHandler(t);return r.maxInboundStreams}catch(r){if(r.code!==N.ERR_NO_HANDLER_FOR_PROTOCOL)throw r}return fh}function WR(t,e,r={}){try{let{options:n}=e.getHandler(t);if(n.maxOutboundStreams!=null)return n.maxOutboundStreams}catch(n){if(n.code!==N.ERR_NO_HANDLER_FOR_PROTOCOL)throw n}return r.maxOutboundStreams??hh}function ox(t,e,r){let n=0;return r.streams.forEach(i=>{i.stat.direction===e&&i.stat.protocol===t&&n++}),n}var oc=class{components;connectionEncryption;muxers;inboundUpgradeTimeout;events;constructor(e,r){this.components=e,this.connectionEncryption=new Map,r.connectionEncryption.forEach(n=>{this.connectionEncryption.set(n.protocol,n)}),this.muxers=new Map,r.muxers.forEach(n=>{this.muxers.set(n.protocol,n)}),this.inboundUpgradeTimeout=r.inboundUpgradeTimeout??3e4,this.events=e.events}async shouldBlockConnection(e,r,n){let i=this.components.connectionGater[n];if(i!==void 0&&await i(e,r))throw new v(`The multiaddr connection is blocked by gater.${n}`,N.ERR_CONNECTION_INTERCEPTED)}async upgradeInbound(e,r){if(!await this.components.connectionManager.acceptIncomingConnection(e))throw new v("connection denied",N.ERR_CONNECTION_DENIED);let i,o,s,a,c,u=Ki([AbortSignal.timeout(this.inboundUpgradeTimeout)]);try{(0,xh.setMaxListeners)?.(1/0,u)}catch{}try{let l=j1(e,u);if(e.source=l.source,e.sink=l.sink,await this.components.connectionGater.denyInboundConnection?.(e)===!0)throw new v("The multiaddr connection is blocked by gater.acceptConnection",N.ERR_CONNECTION_INTERCEPTED);this.components.metrics?.trackMultiaddrConnection(e),ve("starting the inbound connection upgrade");let f=e;if(r?.skipProtection!==!0){let d=this.components.connectionProtector;d!=null&&(ve("protecting the inbound connection"),f=await d.protect(e))}try{if(i=f,r?.skipEncryption!==!0){({conn:i,remotePeer:o,protocol:c}=await this._encryptInbound(f));let d={...f,...i};await this.shouldBlockConnection(o,d,"denyInboundEncryptedConnection")}else{let d=e.remoteAddr.getPeerId();if(d==null)throw new v("inbound connection that skipped encryption must have a peer id",N.ERR_INVALID_MULTIADDR);let p=oe(d);c="native",o=p}if(s=i,r?.muxerFactory!=null)a=r.muxerFactory;else if(this.muxers.size>0){let d=await this._multiplexInbound({...f,...i},this.muxers);a=d.muxerFactory,s=d.stream}}catch(d){throw ve.error("Failed to upgrade inbound connection",d),d}return await this.shouldBlockConnection(o,e,"denyInboundUpgradedConnection"),ve("Successfully upgraded inbound connection"),this._createConnection({cryptoProtocol:c,direction:"inbound",maConn:e,upgradedConn:s,muxerFactory:a,remotePeer:o})}finally{this.components.connectionManager.afterUpgradeInbound(),u.clear()}}async upgradeOutbound(e,r){let n=e.remoteAddr.getPeerId(),i;n!=null&&(i=oe(n),await this.shouldBlockConnection(i,e,"denyOutboundConnection"));let o,s,a,c,u;this.components.metrics?.trackMultiaddrConnection(e),ve("Starting the outbound connection upgrade");let l=e;if(r?.skipProtection!==!0){let f=this.components.connectionProtector;f!=null&&(l=await f.protect(e))}try{if(o=l,r?.skipEncryption!==!0){({conn:o,remotePeer:s,protocol:c}=await this._encryptOutbound(l,i));let f={...l,...o};await this.shouldBlockConnection(s,f,"denyOutboundEncryptedConnection")}else{if(i==null)throw new v("Encryption was skipped but no peer id was passed",N.ERR_INVALID_PEER);c="native",s=i}if(a=o,r?.muxerFactory!=null)u=r.muxerFactory;else if(this.muxers.size>0){let f=await this._multiplexOutbound({...l,...o},this.muxers);u=f.muxerFactory,a=f.stream}}catch(f){throw ve.error("Failed to upgrade outbound connection",f),await e.close(f),f}return await this.shouldBlockConnection(s,e,"denyOutboundUpgradedConnection"),ve("Successfully upgraded outbound connection"),this._createConnection({cryptoProtocol:c,direction:"outbound",maConn:e,upgradedConn:a,muxerFactory:u,remotePeer:s})}_createConnection(e){let{cryptoProtocol:r,direction:n,maConn:i,upgradedConn:o,remotePeer:s,muxerFactory:a}=e,c,u,l;a!=null&&(c=a.createStreamMuxer({direction:n,onIncomingStream:p=>{l!=null&&Promise.resolve().then(async()=>{let h=this.components.registrar.getProtocols(),{stream:m,protocol:y}=await rs(p,h);if(ve("%s: incoming stream opened on %s",n,y),l==null)return;let g=YR(y,this.components.registrar);if(ox(y,"inbound",l)===g){let E=new v(`Too many inbound protocol streams for protocol "${y}" - limit ${g}`,N.ERR_TOO_MANY_INBOUND_PROTOCOL_STREAMS);throw p.abort(E),E}p.source=m.source,p.sink=m.sink,p.stat.protocol=y,await this.components.peerStore.merge(s,{protocols:[y]}),l.addStream(p),this.components.metrics?.trackProtocolStream(p,l),this._onStream({connection:l,stream:p,protocol:y})}).catch(h=>{ve.error(h),p.stat.timeline.close==null&&p.close()})},onStreamEnd:p=>{l?.removeStream(p.id)}}),u=async(p,h={})=>{if(c==null)throw new v("Stream is not multiplexed",N.ERR_MUXER_UNAVAILABLE);ve("%s: starting new stream on %s",n,p);let m=await c.newStream();try{if(h.signal==null){ve("No abort signal was passed while trying to negotiate protocols %s falling back to default timeout",p),h.signal=AbortSignal.timeout(3e4);try{(0,xh.setMaxListeners)?.(1/0,h.signal)}catch{}}let{stream:y,protocol:g}=await es(m,p,h),x=WR(g,this.components.registrar,h);if(ox(g,"outbound",l)>=x){let T=new v(`Too many outbound protocol streams for protocol "${g}" - limit ${x}`,N.ERR_TOO_MANY_OUTBOUND_PROTOCOL_STREAMS);throw m.abort(T),T}return await this.components.peerStore.merge(s,{protocols:[g]}),m.source=y.source,m.sink=y.sink,m.stat.protocol=g,this.components.metrics?.trackProtocolStream(m,l),m}catch(y){throw ve.error("could not create new stream",y),m.stat.timeline.close==null&&m.close(),y.code!=null?y:new v(String(y),N.ERR_UNSUPPORTED_PROTOCOL)}},Promise.all([c.sink(o.source),o.sink(c.source)]).catch(p=>{ve.error(p)}));let f=i.timeline;i.timeline=new Proxy(f,{set:(...p)=>(l!=null&&p[1]==="close"&&p[2]!=null&&f.close==null&&(async()=>{try{l.stat.status==="OPEN"&&await l.close()}catch(h){ve.error(h)}finally{this.events.safeDispatchEvent("connection:close",{detail:l})}})().catch(h=>{ve.error(h)}),Reflect.set(...p))}),i.timeline.upgraded=Date.now();let d=()=>{throw new v("connection is not multiplexed",N.ERR_CONNECTION_NOT_MULTIPLEXED)};return l=ix({remoteAddr:i.remoteAddr,remotePeer:s,stat:{status:"OPEN",direction:n,timeline:i.timeline,multiplexer:c?.protocol,encryption:r},newStream:u??d,getStreams:()=>c!=null?c.streams:d(),close:async()=>{await i.close(),c?.close()}}),this.events.safeDispatchEvent("connection:open",{detail:l}),l}_onStream(e){let{connection:r,stream:n,protocol:i}=e,{handler:o}=this.components.registrar.getHandler(i);o({connection:r,stream:n})}async _encryptInbound(e){let r=Array.from(this.connectionEncryption.keys());ve("handling inbound crypto protocol selection",r);try{let{stream:n,protocol:i}=await rs(e,r,{writeBytes:!0}),o=this.connectionEncryption.get(i);if(o==null)throw new Error(`no crypto module found for ${i}`);return ve("encrypting inbound connection..."),{...await o.secureInbound(this.components.peerId,n),protocol:i}}catch(n){throw new v(String(n),N.ERR_ENCRYPTION_FAILED)}}async _encryptOutbound(e,r){let n=Array.from(this.connectionEncryption.keys());ve("selecting outbound crypto protocol",n);try{let{stream:i,protocol:o}=await es(e,n,{writeBytes:!0}),s=this.connectionEncryption.get(o);if(s==null)throw new Error(`no crypto module found for ${o}`);return ve("encrypting outbound connection to %p",r),{...await s.secureOutbound(this.components.peerId,i,r),protocol:o}}catch(i){throw new v(String(i),N.ERR_ENCRYPTION_FAILED)}}async _multiplexOutbound(e,r){let n=Array.from(r.keys());ve("outbound selecting muxer %s",n);try{let{stream:i,protocol:o}=await es(e,n,{writeBytes:!0});ve("%s selected as muxer protocol",o);let s=r.get(o);return{stream:i,muxerFactory:s}}catch(i){throw ve.error("error multiplexing outbound stream",i),new v(String(i),N.ERR_MUXER_UNAVAILABLE)}}async _multiplexInbound(e,r){let n=Array.from(r.keys());ve("inbound handling muxers %s",n);try{let{stream:i,protocol:o}=await rs(e,n,{writeBytes:!0}),s=r.get(o);return{stream:i,muxerFactory:s}}catch(i){throw ve.error("error multiplexing inbound stream",i),new v(String(i),N.ERR_MUXER_UNAVAILABLE)}}};var ct=W("libp2p"),wh=class extends So{peerId;peerStore;contentRouting;peerRouting;keychain;metrics;services;components;#e;constructor(e){super();let r=new So,n=r.dispatchEvent.bind(r);r.dispatchEvent=c=>{let u=n(c),l=this.dispatchEvent(new nl(c.type,{detail:c.detail}));return u||l};try{(0,sx.setMaxListeners)?.(1/0,r)}catch{}this.#e=!1,this.peerId=e.peerId,this.services={};let i=this.components=Rg({peerId:e.peerId,events:r,datastore:e.datastore??new Pa,connectionGater:Mg(e.connectionGater)});this.peerStore=this.configureComponent("peerStore",new Ta(i,{addressFilter:this.components.connectionGater.filterMultiaddrForPeer,...e.peerStore})),e.metrics!=null&&(this.metrics=this.configureComponent("metrics",e.metrics(this.components))),i.events.addEventListener("peer:update",c=>{c.detail.previous==null&&this.safeDispatchEvent("peer:discovery",{detail:c.detail.peer})}),e.connectionProtector!=null&&this.configureComponent("connectionProtector",e.connectionProtector(i)),this.components.upgrader=new oc(this.components,{connectionEncryption:(e.connectionEncryption??[]).map((c,u)=>this.configureComponent(`connection-encryption-${u}`,c(this.components))),muxers:(e.streamMuxers??[]).map((c,u)=>this.configureComponent(`stream-muxers-${u}`,c(this.components))),inboundUpgradeTimeout:e.connectionManager.inboundUpgradeTimeout}),this.configureComponent("transportManager",new ja(this.components,e.transportManager)),this.configureComponent("connectionManager",new $a(this.components,e.connectionManager)),this.configureComponent("registrar",new Za(this.components)),this.configureComponent("addressManager",new Da(this.components,e.addresses));let o=An.generateOptions();this.keychain=this.configureComponent("keyChain",new An(this.components,{...o,...e.keychain}));let s=(e.peerRouters??[]).map((c,u)=>this.configureComponent(`peer-router-${u}`,c(this.components)));this.peerRouting=this.components.peerRouting=this.configureComponent("peerRouting",new Xa(this.components,{routers:s}));let a=(e.contentRouters??[]).map((c,u)=>this.configureComponent(`content-router-${u}`,c(this.components)));if(this.contentRouting=this.components.contentRouting=this.configureComponent("contentRouting",new Wa(this.components,{routers:a})),(e.peerDiscovery??[]).forEach((c,u)=>{this.configureComponent(`peer-discovery-${u}`,c(this.components)).addEventListener("peer",f=>{this.#t(f)})}),e.transports.forEach((c,u)=>{this.components.transportManager.add(this.configureComponent(`transport-${u}`,c(this.components)))}),e.services!=null)for(let c of Object.keys(e.services)){let u=e.services[c],l=u(this.components);if(l==null){ct.error("service factory %s returned null or undefined instance",c);continue}this.services[c]=l,this.configureComponent(c,l),l[tl]!=null&&(ct("registering service %s for content routing",c),a.push(l[tl])),l[ol]!=null&&(ct("registering service %s for peer routing",c),s.push(l[ol])),l[il]!=null&&(ct("registering service %s for peer discovery",c),l[il].addEventListener("peer",f=>{this.#t(f)}))}}configureComponent(e,r){return r==null&&ct.error("component %s was null or undefined",e),this.components[e]=r,r}async start(){if(this.#e)return;this.#e=!0,ct("libp2p is starting"),(await this.keychain.listKeys()).find(r=>r.name==="self")==null&&(ct("importing self key into keychain"),await this.keychain.importPeer("self",this.components.peerId));try{await this.components.beforeStart?.(),await this.components.start(),await this.components.afterStart?.(),this.safeDispatchEvent("start",{detail:this}),ct("libp2p has started")}catch(r){throw ct.error("An error occurred starting libp2p",r),await this.stop(),r}}async stop(){this.#e&&(ct("libp2p is stopping"),this.#e=!1,await this.components.beforeStop?.(),await this.components.stop(),await this.components.afterStop?.(),this.safeDispatchEvent("stop",{detail:this}),ct("libp2p has stopped"))}isStarted(){return this.#e}getConnections(e){return this.components.connectionManager.getConnections(e)}getDialQueue(){return this.components.connectionManager.getDialQueue()}getPeers(){let e=new kt;for(let r of this.components.connectionManager.getConnections())e.add(r.remotePeer);return Array.from(e)}async dial(e,r={}){return this.components.connectionManager.openConnection(e,r)}async dialProtocol(e,r,n={}){if(r==null)throw new v("no protocols were provided to open a stream",N.ERR_INVALID_PROTOCOLS_FOR_STREAM);if(r=Array.isArray(r)?r:[r],r.length===0)throw new v("no protocols were provided to open a stream",N.ERR_INVALID_PROTOCOLS_FOR_STREAM);return(await this.dial(e,n)).newStream(r,n)}getMultiaddrs(){return this.components.addressManager.getAddresses()}getProtocols(){return this.components.registrar.getProtocols()}async hangUp(e){Rn(e)&&(e=oe(e.getPeerId()??"")),await this.components.connectionManager.closeConnections(e)}async getPublicKey(e,r={}){if(ct("getPublicKey %p",e),e.publicKey!=null)return e.publicKey;let n=await this.peerStore.get(e);if(n.id.publicKey!=null)return n.id.publicKey;let i=Pe([V("/pk/"),e.multihash.digest]),o=await this.contentRouting.get(i,r);return Eo(o),await this.peerStore.patch(e,{publicKey:o}),o}async handle(e,r,n){Array.isArray(e)||(e=[e]),await Promise.all(e.map(async i=>{await this.components.registrar.handle(i,r,n)}))}async unhandle(e){Array.isArray(e)||(e=[e]),await Promise.all(e.map(async r=>{await this.components.registrar.unhandle(r)}))}async register(e,r){return this.components.registrar.register(e,r)}unregister(e){this.components.registrar.unregister(e)}#t(e){let{detail:r}=e;if(r.id.toString()===this.peerId.toString()){ct.error(new Error(N.ERR_DISCOVERED_SELF));return}this.components.peerStore.merge(r.id,{multiaddrs:r.multiaddrs,protocols:r.protocols}).catch(n=>{ct.error(n)})}};async function ax(t){if(t.peerId==null){let e=t.datastore;if(e!=null)try{let r=new An({datastore:e},qr(An.generateOptions(),t.keychain));t.peerId=await r.exportPeerId("self")}catch(r){if(r.code!=="ERR_NOT_FOUND")throw r}}return t.peerId==null&&(t.peerId=await ty()),new wh(Gg(t))}async function QR(t){let e=await ax(t);return t.start!==!1&&await e.start(),e}return px(XR);})();
50
50
  /*! Bundled license information:
51
51
 
52
52
  @noble/ed25519/lib/esm/index.js: